{"id":18341,"name":"pgvector","ecosystem":"pip","repository_url":"https://github.com/pgvector/pgvector-python","issues_count":66,"created_at":"2025-06-07T01:16:54.120Z","updated_at":"2025-06-07T01:16:54.120Z","purl":"pkg:pypi/pgvector","metadata":{"id":2850478,"name":"pgvector","ecosystem":"pypi","description":"pgvector support for Python","homepage":"https://github.com/pgvector/pgvector-python","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/pgvector/pgvector-python","keywords_array":[],"namespace":null,"versions_count":24,"first_release_published_at":"2021-06-12T04:48:46.000Z","latest_release_published_at":"2025-04-26T18:56:35.000Z","latest_release_number":"0.4.1","last_synced_at":"2025-05-07T19:49:06.487Z","created_at":"2022-04-10T12:02:15.671Z","updated_at":"2025-05-07T19:49:06.487Z","registry_url":"https://pypi.org/project/pgvector/","install_command":"pip install pgvector --index-url https://pypi.org/simple","documentation_url":"https://pgvector.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":[],"normalized_name":"pgvector"},"repo_metadata":{"id":39898001,"uuid":"376300726","full_name":"pgvector/pgvector-python","owner":"pgvector","description":"pgvector support for Python","archived":false,"fork":false,"pushed_at":"2024-08-28T20:35:49.000Z","size":271,"stargazers_count":873,"open_issues_count":2,"forks_count":61,"subscribers_count":14,"default_branch":"master","last_synced_at":"2024-08-28T22:03:44.320Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pgvector.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","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}},"created_at":"2021-06-12T13:48:05.000Z","updated_at":"2024-08-28T20:35:52.000Z","dependencies_parsed_at":"2024-01-26T03:29:09.002Z","dependency_job_id":"df25e90e-f137-4188-a979-62ec5fcfa8f5","html_url":"https://github.com/pgvector/pgvector-python","commit_stats":{"total_commits":85,"total_committers":2,"mean_commits":42.5,"dds":0.0117647058823529,"last_synced_commit":"e7ff1468a1f0651e7b8ec8319e0b1405bc280f47"},"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pgvector","download_url":"https://codeload.github.com/pgvector/pgvector-python/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":217419218,"owners_count":16174173,"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":"pgvector","name":"pgvector","uuid":"98363230","kind":"organization","description":"Open-source vector similarity search for Postgres ","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/98363230?v=4","repositories_count":10,"last_synced_at":"2023-03-04T16:43:54.691Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/pgvector","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-14T21:08:26.040Z","updated_at":"2023-03-04T16:43:54.730Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pgvector","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pgvector/repositories"},"tags":[{"name":"v0.3.2","sha":"4f721eb96c4c26b85479536c3c6df1076ffd9dbe","kind":"commit","published_at":"2024-07-17T20:52:12.000Z","download_url":"https://codeload.github.com/pgvector/pgvector-python/tar.gz/v0.3.2","html_url":"https://github.com/pgvector/pgvector-python/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"13450b05a741d3258ce60cfd352e95dbe55892b8","kind":"commit","published_at":"2024-07-11T03:33:25.000Z","download_url":"https://codeload.github.com/pgvector/pgvector-python/tar.gz/v0.3.1","html_url":"https://github.com/pgvector/pgvector-python/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"3eadd987c169247a61dbc3a025552e81cd02c61e","kind":"commit","published_at":"2024-06-26T01:01:38.000Z","download_url":"https://codeload.github.com/pgvector/pgvector-python/tar.gz/v0.3.0","html_url":"https://github.com/pgvector/pgvector-python/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.3.0/manifests"},{"name":"v0.2.5","sha":"d5f764f1798fe4b4708c05224f2eb2bd14ae5a6a","kind":"commit","published_at":"2024-02-07T19:34:21.000Z","download_url":"https://codeload.github.com/pgvector/pgvector-python/tar.gz/v0.2.5","html_url":"https://github.com/pgvector/pgvector-python/releases/tag/v0.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.2.5/manifests"},{"name":"v0.2.4","sha":"d86ea90da3817a015cdac18264de8e79275b3071","kind":"commit","published_at":"2023-11-24T17:26:23.000Z","download_url":"https://codeload.github.com/pgvector/pgvector-python/tar.gz/v0.2.4","html_url":"https://github.com/pgvector/pgvector-python/releases/tag/v0.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.2.4/manifests"},{"name":"v0.2.3","sha":"8ff7d3ffe5e81f02acb3128cd822dc64d494f2e0","kind":"commit","published_at":"2023-09-26T01:28:57.000Z","download_url":"https://codeload.github.com/pgvector/pgvector-python/tar.gz/v0.2.3","html_url":"https://github.com/pgvector/pgvector-python/releases/tag/v0.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.2.3/manifests"},{"name":"v0.2.2","sha":"e63c63561ef0b319348c107724e875b42891bf25","kind":"commit","published_at":"2023-09-08T20:37:36.000Z","download_url":"https://codeload.github.com/pgvector/pgvector-python/tar.gz/v0.2.2","html_url":"https://github.com/pgvector/pgvector-python/releases/tag/v0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.2.2/manifests"},{"name":"v0.2.1","sha":"e6ca2c27c6a6fa8c183eea675fb8c8593403bad6","kind":"commit","published_at":"2023-08-01T04:20:19.000Z","download_url":"https://codeload.github.com/pgvector/pgvector-python/tar.gz/v0.2.1","html_url":"https://github.com/pgvector/pgvector-python/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"305621e5dfd27a98f3ee855d437924a6782383ff","kind":"commit","published_at":"2023-07-24T03:06:36.000Z","download_url":"https://codeload.github.com/pgvector/pgvector-python/tar.gz/v0.2.0","html_url":"https://github.com/pgvector/pgvector-python/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.2.0/manifests"},{"name":"v0.1.8","sha":"60fc9c66ca27a7b870558ad1a850c601e016b0fc","kind":"commit","published_at":"2023-05-21T00:31:44.000Z","download_url":"https://codeload.github.com/pgvector/pgvector-python/tar.gz/v0.1.8","html_url":"https://github.com/pgvector/pgvector-python/releases/tag/v0.1.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.1.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.1.8/manifests"},{"name":"v0.1.7","sha":"7a2f45cbeba69bed9b6895da676136559e6f245e","kind":"commit","published_at":"2023-05-11T21:55:35.000Z","download_url":"https://codeload.github.com/pgvector/pgvector-python/tar.gz/v0.1.7","html_url":"https://github.com/pgvector/pgvector-python/releases/tag/v0.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.1.7/manifests"},{"name":"v0.1.6","sha":"b8da873e4a489cb6591aebaa7d6904ee5e120762","kind":"commit","published_at":"2022-05-23T01:16:29.000Z","download_url":"https://codeload.github.com/pgvector/pgvector-python/tar.gz/v0.1.6","html_url":"https://github.com/pgvector/pgvector-python/releases/tag/v0.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.1.6/manifests"},{"name":"v0.1.5","sha":"992399c2f23b7af774e6d9361f7d70b7182feabf","kind":"commit","published_at":"2022-01-14T19:21:03.000Z","download_url":"https://codeload.github.com/pgvector/pgvector-python/tar.gz/v0.1.5","html_url":"https://github.com/pgvector/pgvector-python/releases/tag/v0.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.1.5/manifests"},{"name":"v0.1.4","sha":"b1df01b57401c9b0414dc6c74092658f27b8b7d9","kind":"commit","published_at":"2021-10-13T03:11:11.000Z","download_url":"https://codeload.github.com/pgvector/pgvector-python/tar.gz/v0.1.4","html_url":"https://github.com/pgvector/pgvector-python/releases/tag/v0.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.1.4/manifests"},{"name":"v0.1.3","sha":"4b9ec948f75e0290212e47af9565cc8dbe4d8657","kind":"commit","published_at":"2021-06-23T05:21:40.000Z","download_url":"https://codeload.github.com/pgvector/pgvector-python/tar.gz/v0.1.3","html_url":"https://github.com/pgvector/pgvector-python/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"914fcf8a520afb338d4d73490b2db6c0a89b8608","kind":"commit","published_at":"2021-06-13T19:41:19.000Z","download_url":"https://codeload.github.com/pgvector/pgvector-python/tar.gz/v0.1.2","html_url":"https://github.com/pgvector/pgvector-python/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.1.2/manifests"},{"name":"v0.1.1","sha":"2ce0160da640692f188c3305b75f16cd2c77b31d","kind":"commit","published_at":"2021-06-12T13:59:11.000Z","download_url":"https://codeload.github.com/pgvector/pgvector-python/tar.gz/v0.1.1","html_url":"https://github.com/pgvector/pgvector-python/releases/tag/v0.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.1.1/manifests"},{"name":"v0.1.0","sha":"749e8d98ac7b0995c3502ffdf27ef8eab86988df","kind":"commit","published_at":"2021-06-12T04:46:35.000Z","download_url":"https://codeload.github.com/pgvector/pgvector-python/tar.gz/v0.1.0","html_url":"https://github.com/pgvector/pgvector-python/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgvector%2Fpgvector-python/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2024-08-28T22:12:16.127Z","dependent_packages_count":84,"downloads":7747120,"downloads_period":"last-month","dependent_repos_count":986,"rankings":{"downloads":0.5727765371218646,"dependent_repos_count":0.36736964855986526,"dependent_packages_count":0.31982190608519306,"stargazers_count":3.458190742589727,"forks_count":7.790848626607724,"docker_downloads_count":3.424291982601204,"average":2.6555499072609297},"purl":"pkg:pypi/pgvector","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/pgvector","docker_dependents_count":25,"docker_downloads_count":37068,"usage_url":"https://repos.ecosyste.ms/usage/pypi/pgvector","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/pgvector/dependencies","status":null,"funding_links":[],"critical":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pgvector/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pgvector/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pgvector/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pgvector/related_packages","maintainers":[{"uuid":"ankane","login":"ankane","name":null,"email":null,"url":null,"packages_count":11,"html_url":"https://pypi.org/user/ankane/","role":null,"created_at":"2023-02-25T00:26:36.926Z","updated_at":"2023-02-25T00:26:36.926Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/ankane/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":690499,"maintainers_count":292846,"namespaces_count":0,"keywords_count":228675,"github":"pypi","metadata":{"funded_packages_count":48967},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-06-07T05:28:50.775Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}},"unique_repositories_count":42,"unique_repositories_count_past_30_days":4,"recent_issues":[{"uuid":"4559752254","node_id":"PR_kwDOQYfDts7hMRZl","number":89,"state":"open","title":"chore(deps): bump the python-dependencies group across 1 directory with 6 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-01T01:47:58.000Z","updated_at":"2026-06-01T05:09:59.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-dependencies","update_count":6,"packages":[{"name":"uvicorn","old_version":"0.46.0","new_version":"0.48.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"asyncpg","old_version":"0.29.0","new_version":"0.31.0","repository_url":"https://github.com/MagicStack/asyncpg"},{"name":"pgvector","old_version":"0.2.5","new_version":"0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"},{"name":"python-multipart","old_version":"0.0.27","new_version":"0.0.30","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"pytest-asyncio","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/pytest-dev/pytest-asyncio"},{"name":"torch","old_version":"2.2.2","new_version":"2.12.0+cpu"}],"path":null,"ecosystem":"pip"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nBumps the python-dependencies group with 6 updates in the /backend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.46.0` | `0.48.0` |\n| [asyncpg](https://github.com/MagicStack/asyncpg) | `0.29.0` | `0.31.0` |\n| [pgvector](https://github.com/pgvector/pgvector-python) | `0.2.5` | `0.4.2` |\n| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.27` | `0.0.30` |\n| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `1.3.0` | `1.4.0` |\n| torch | `2.2.2` | `2.12.0+cpu` |\n\n\nUpdates `uvicorn` from 0.46.0 to 0.48.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/releases\"\u003euvicorn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.48.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault \u003ccode\u003essl_ciphers\u003c/code\u003e to \u003ccode\u003eNone\u003c/code\u003e and use OpenSSL defaults by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2940\"\u003eKludex/uvicorn#2940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore duplicate forwarding headers in \u003ccode\u003eProxyHeadersMiddleware\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2944\"\u003eKludex/uvicorn#2944\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.47.0...0.48.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.47.0...0.48.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.47.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEagerly import the ASGI app in the parent process by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2919\"\u003eKludex/uvicorn#2919\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003essl_context_factory\u003c/code\u003e for custom \u003ccode\u003eSSLContext\u003c/code\u003e configuration by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2920\"\u003eKludex/uvicorn#2920\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003efd=0\u003c/code\u003e as a valid file descriptor with reload/workers by \u003ca href=\"https://github.com/eltoder\"\u003e\u003ccode\u003e@​eltoder\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2927\"\u003eKludex/uvicorn#2927\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.46.0...0.47.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.46.0...0.47.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md\"\u003euvicorn's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.48.0 (May 24, 2026)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDefault \u003ccode\u003essl_ciphers\u003c/code\u003e to \u003ccode\u003eNone\u003c/code\u003e and use OpenSSL defaults (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore duplicate forwarding headers in \u003ccode\u003eProxyHeadersMiddleware\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2944\"\u003e#2944\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.47.0 (May 14, 2026)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003essl_context_factory\u003c/code\u003e for custom \u003ccode\u003eSSLContext\u003c/code\u003e configuration (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2920\"\u003e#2920\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEagerly import the ASGI app in the parent process (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2919\"\u003e#2919\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTreat \u003ccode\u003efd=0\u003c/code\u003e as a valid file descriptor with reload/workers (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/73e84e58d7f6b8b3dfd8a9e3e42d716862250f33\"\u003e\u003ccode\u003e73e84e5\u003c/code\u003e\u003c/a\u003e Version 0.48.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2951\"\u003e#2951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/45ea11690b4a62fa6df339d2b6ee3b8545a418e0\"\u003e\u003ccode\u003e45ea116\u003c/code\u003e\u003c/a\u003e Ignore duplicate forwarding headers in \u003ccode\u003eProxyHeadersMiddleware\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2944\"\u003e#2944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/dd4394c3cbfd9f27a696a7b08047149690058158\"\u003e\u003ccode\u003edd4394c\u003c/code\u003e\u003c/a\u003e chore(deps): bump idna from 3.11 to 3.15 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2941\"\u003e#2941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/abe07818a191cd036dc3824d802d052207e01c7e\"\u003e\u003ccode\u003eabe0781\u003c/code\u003e\u003c/a\u003e Default \u003ccode\u003essl_ciphers\u003c/code\u003e to \u003ccode\u003eNone\u003c/code\u003e and use OpenSSL defaults (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/479a2c0c89186714f1aac52aecdebebf271395ac\"\u003e\u003ccode\u003e479a2c0\u003c/code\u003e\u003c/a\u003e Version 0.47.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2937\"\u003e#2937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/89347fd166ebedf98fb3f806ce8ea44e93b1c2b5\"\u003e\u003ccode\u003e89347fd\u003c/code\u003e\u003c/a\u003e Add 7-day cooldown for dependency resolution via uv exclude-newer (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2936\"\u003e#2936\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/767315b38ae509cee9fe8ee9d09f6da920536096\"\u003e\u003ccode\u003e767315b\u003c/code\u003e\u003c/a\u003e Drop unused contents/actions permissions from zizmor workflow (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2935\"\u003e#2935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/f25ee43e68a9678453cbca99ad96f1a447ff34af\"\u003e\u003ccode\u003ef25ee43\u003c/code\u003e\u003c/a\u003e chore(deps): bump urllib3 from 2.6.3 to 2.7.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2933\"\u003e#2933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/8782666189a3d36c978de5698620db705659bf44\"\u003e\u003ccode\u003e8782666\u003c/code\u003e\u003c/a\u003e Fix typo in \u003ccode\u003edocs/deployment/index.md\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2932\"\u003e#2932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/ad5ff87c869e8a34e9b04fcd5ca38d65c526893c\"\u003e\u003ccode\u003ead5ff87\u003c/code\u003e\u003c/a\u003e Treat \u003ccode\u003efd=0\u003c/code\u003e as a valid file descriptor with reload/workers (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.46.0...0.48.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `asyncpg` from 0.29.0 to 0.31.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/MagicStack/asyncpg/releases\"\u003easyncpg's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.31.0\u003c/h2\u003e\n\u003cp\u003eEnable Python 3.14 with experimental subinterpreter/freethreading\nsupport.\u003c/p\u003e\n\u003ch1\u003eImprovements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Python 3.14 support, experimental subinterpreter/freethreading support (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1279\"\u003e#1279\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/elprans\"\u003e\u003ccode\u003e@​elprans\u003c/code\u003e\u003c/a\u003e in 9e42642b)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid performing type introspection on known types (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1243\"\u003e#1243\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/elprans\"\u003e\u003ccode\u003e@​elprans\u003c/code\u003e\u003c/a\u003e in 5c9986c4)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003eprepare()\u003c/code\u003e not use named statements by default when cache is disabled (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1245\"\u003e#1245\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/elprans\"\u003e\u003ccode\u003e@​elprans\u003c/code\u003e\u003c/a\u003e in 5b14653e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement connection service file functionality (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1223\"\u003e#1223\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/AndrewJackson2020\"\u003e\u003ccode\u003e@​AndrewJackson2020\u003c/code\u003e\u003c/a\u003e in 1d63bb15)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eFixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix multi port connection string issue (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1222\"\u003e#1222\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/AndrewJackson2020\"\u003e\u003ccode\u003e@​AndrewJackson2020\u003c/code\u003e\u003c/a\u003e in 01c0db7b)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid leaking connections if _can_use_connection fails (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1269\"\u003e#1269\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/yuliy-openai\"\u003e\u003ccode\u003e@​yuliy-openai\u003c/code\u003e\u003c/a\u003e in e94302d2)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eOther\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for EOL Python 3.8 (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1281\"\u003e#1281\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/elprans\"\u003e\u003ccode\u003e@​elprans\u003c/code\u003e\u003c/a\u003e in 6c2c4904)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.30.0\u003c/h2\u003e\n\u003cp\u003eSupport Python 3.13 and PostgreSQL 17.\u003c/p\u003e\n\u003ch1\u003eImprovements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eImplement GSSAPI authentication\n(by \u003ca href=\"https://github.com/eltoder\"\u003e\u003ccode\u003e@​eltoder\u003c/code\u003e\u003c/a\u003e in 1d4e5680 for \u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1122\"\u003e#1122\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement SSPI authentication\n(by \u003ca href=\"https://github.com/eltoder\"\u003e\u003ccode\u003e@​eltoder\u003c/code\u003e\u003c/a\u003e in 1aab2094 for \u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1128\"\u003e#1128\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd initial typings\n(by \u003ca href=\"https://github.com/bryanforbes\"\u003e\u003ccode\u003e@​bryanforbes\u003c/code\u003e\u003c/a\u003e in d42432bf for \u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1127\"\u003e#1127\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow building with Cython 3\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/71775a67277fc0aa5bd2b9f15e848826d7078c4d\"\u003e\u003ccode\u003e71775a6\u003c/code\u003e\u003c/a\u003e asyncpg v0.31.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/508cae6441968ef7613a623fece7083cce66c2b3\"\u003e\u003ccode\u003e508cae6\u003c/code\u003e\u003c/a\u003e Test on PostgreSQL 18 (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/e534e5f15c73525a6509143b3828335517360f1b\"\u003e\u003ccode\u003ee534e5f\u003c/code\u003e\u003c/a\u003e Bump cibuildwheel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/07fe5122a680f5768e39fc28d68c94b185037a52\"\u003e\u003ccode\u003e07fe512\u003c/code\u003e\u003c/a\u003e Bump pgproto\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/648b35f18199ebf2a30009376a6e9060cf7ad789\"\u003e\u003ccode\u003e648b35f\u003c/code\u003e\u003c/a\u003e Bump Cython to 3.2.1 (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1288\"\u003e#1288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/9e42642b9110d206706697921b6e697a0972649d\"\u003e\u003ccode\u003e9e42642\u003c/code\u003e\u003c/a\u003e Add Python 3.14 support, experimental subinterpreter/freethreading support (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/6fe1c494ef5c3069fa9149c48bf9f8f2cd69f95e\"\u003e\u003ccode\u003e6fe1c49\u003c/code\u003e\u003c/a\u003e Move development deps away from extras and into dependency groups (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1280\"\u003e#1280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/7a548166c2b23561915c481bd332013e3a415cfb\"\u003e\u003ccode\u003e7a54816\u003c/code\u003e\u003c/a\u003e Fix a couple of missed Python version guards\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/6c2c4904e61b2cd2f502540730a24e246cff2ebd\"\u003e\u003ccode\u003e6c2c490\u003c/code\u003e\u003c/a\u003e Drop support for EOL Python 3.8 (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1281\"\u003e#1281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/4c60ae890d1f3800f889679657357f91a6923568\"\u003e\u003ccode\u003e4c60ae8\u003c/code\u003e\u003c/a\u003e Bump version to 0.31.0.dev0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/MagicStack/asyncpg/compare/v0.29.0...v0.31.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pgvector` from 0.2.5 to 0.4.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md\"\u003epgvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2 (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 6\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estr\u003c/code\u003e objects for \u003ccode\u003ebit\u003c/code\u003e type with SQLAlchemy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 (2025-04-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eSparseVector\u003c/code\u003e constructor for SciPy sparse matrices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 (2025-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded top-level \u003ccode\u003epgvector\u003c/code\u003e package\u003c/li\u003e\n\u003cli\u003eAdded support for pg8000\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ebytes\u003c/code\u003e to \u003ccode\u003eBit\u003c/code\u003e constructor\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eglobally\u003c/code\u003e option to default to \u003ccode\u003eFalse\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003earrays\u003c/code\u003e option to default to \u003ccode\u003eTrue\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eFixed equality for \u003ccode\u003eVector\u003c/code\u003e, \u003ccode\u003eHalfVector\u003c/code\u003e, \u003ccode\u003eBit\u003c/code\u003e, and \u003ccode\u003eSparseVector\u003c/code\u003e classes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eindices\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods of \u003ccode\u003eSparseVector\u003c/code\u003e returning tuple instead of list in some cases\u003c/li\u003e\n\u003cli\u003eDropped support for Python \u0026lt; 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 (2024-10-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003earrays\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 (2024-10-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eavg\u003c/code\u003e function with type casting to SQLAlchemy\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eglobally\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.4 (2024-09-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eschema\u003c/code\u003e option for asyncpg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.3 (2024-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved support for cursor factories with Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.2 (2024-07-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error with asyncpg and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.1 (2024-07-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error parsing zero sparse vectors\u003c/li\u003e\n\u003cli\u003eFixed error with Psycopg 2 and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003cli\u003eFixed error message when \u003ccode\u003evector\u003c/code\u003e type not found with Psycopg 3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.0 (2024-06-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ehalfvec\u003c/code\u003e, \u003ccode\u003ebit\u003c/code\u003e, and \u003ccode\u003esparsevec\u003c/code\u003e types to Django\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/2968f258f9486531bd1340cbda4ff8fcaf06cdc1\"\u003e\u003ccode\u003e2968f25\u003c/code\u003e\u003c/a\u003e Version bump to 0.4.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/674f5ba3410c873d49f50fa9725b95d9db50c674\"\u003e\u003ccode\u003e674f5ba\u003c/code\u003e\u003c/a\u003e Updated checkout action [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e2986daf2b1533cc2c849f7e39350e31d57ac325\"\u003e\u003ccode\u003ee2986da\u003c/code\u003e\u003c/a\u003e Added support for Django 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e211ba4029f204734f0c001fbb90f6a594d561ae\"\u003e\u003ccode\u003ee211ba4\u003c/code\u003e\u003c/a\u003e Test with Python 3.14 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/1a72b7571adf3325174b383aca85bfb3a5b925fa\"\u003e\u003ccode\u003e1a72b75\u003c/code\u003e\u003c/a\u003e Updated pgvector on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/c820a53bfb46196551de3c3f59f81b192d890574\"\u003e\u003ccode\u003ec820a53\u003c/code\u003e\u003c/a\u003e Simplified examples [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/caf1a2e0dd7a1ba2ad0ca9f09b50516dcfffcdeb\"\u003e\u003ccode\u003ecaf1a2e\u003c/code\u003e\u003c/a\u003e Added docs for binary quantization with SQLAlchemy [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/dc9a8f959995f009649fd230139ca41193e0a801\"\u003e\u003ccode\u003edc9a8f9\u003c/code\u003e\u003c/a\u003e Added test for binary quantization with re-ranking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/33dee606229489c9ffb0cb5a1cd72bd4705ac618\"\u003e\u003ccode\u003e33dee60\u003c/code\u003e\u003c/a\u003e Added support for str objects for bit type with SQLAlchemy - \u003ca href=\"https://redirect.github.com/pgvector/pgvector-python/issues/137\"\u003e#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/ee3e71ca2c07a12a8332a3877c0ce14adc9a5da8\"\u003e\u003ccode\u003eee3e71c\u003c/code\u003e\u003c/a\u003e Updated format for license identifier\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgvector/pgvector-python/compare/v0.2.5...v0.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-multipart` from 0.0.27 to 0.0.30\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/python-multipart/releases\"\u003epython-multipart's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.0.30\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTreat only \u003ccode\u003e\u0026amp;\u003c/code\u003e as the urlencoded field separator by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/290\"\u003eKludex/python-multipart#290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore RFC 2231 extended parameters in \u003ccode\u003eparse_options_header\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/291\"\u003eKludex/python-multipart#291\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.29...0.0.30\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.29...0.0.30\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.29\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle malformed RFC 2231 continuations in \u003ccode\u003eparse_options_header\u003c/code\u003e by \u003ca href=\"https://github.com/manunio\"\u003e\u003ccode\u003e@​manunio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/270\"\u003eKludex/python-multipart#270\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.28...0.0.29\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.28...0.0.29\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.28\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up partial-boundary tail scan via \u003ccode\u003ebytes.find\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/281\"\u003eKludex/python-multipart#281\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCap multipart boundary length at 256 bytes by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/282\"\u003eKludex/python-multipart#282\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.27...0.0.28\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.27...0.0.28\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/python-multipart/blob/main/CHANGELOG.md\"\u003epython-multipart's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.30 (2026-05-31)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eParse \u003ccode\u003eapplication/x-www-form-urlencoded\u003c/code\u003e bodies per the WHATWG URL standard, treating only \u003ccode\u003e\u0026amp;\u003c/code\u003e as a field separator \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/290\"\u003e#290\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eIgnore RFC 2231/5987 extended parameters (\u003ccode\u003ename*\u003c/code\u003e, \u003ccode\u003efilename*\u003c/code\u003e) in \u003ccode\u003eparse_options_header\u003c/code\u003e, keeping the plain parameter authoritative per \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc7578#section-4.2\"\u003eRFC 7578 §4.2\u003c/a\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/291\"\u003e#291\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.29 (2026-05-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle malformed RFC 2231 continuations in \u003ccode\u003eparse_options_header\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/270\"\u003e#270\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.28 (2026-05-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up partial-boundary tail scan via \u003ccode\u003ebytes.find\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/281\"\u003e#281\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eCap multipart boundary length at 256 bytes \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/282\"\u003e#282\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/9d3ead568a259f222cff6425262ff63e88d930d4\"\u003e\u003ccode\u003e9d3ead5\u003c/code\u003e\u003c/a\u003e Version 0.0.30 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/292\"\u003e#292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/3506c15ce99cb62faf2d5ceb3c4c1e5800cb843d\"\u003e\u003ccode\u003e3506c15\u003c/code\u003e\u003c/a\u003e Ignore RFC 2231 extended parameters in \u003ccode\u003eparse_options_header\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/291\"\u003e#291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/d69df35cd2cad9c72794c2c340db646afae957d8\"\u003e\u003ccode\u003ed69df35\u003c/code\u003e\u003c/a\u003e Treat only \u003ccode\u003e\u0026amp;\u003c/code\u003e as the urlencoded field separator (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/290\"\u003e#290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/1e6ff9740b09fb439755f30e2b0e2ada1d297325\"\u003e\u003ccode\u003e1e6ff97\u003c/code\u003e\u003c/a\u003e Bump idna from 3.11 to 3.15 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/289\"\u003e#289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/e3d6853978b91b77e9739d47389124d633894c39\"\u003e\u003ccode\u003ee3d6853\u003c/code\u003e\u003c/a\u003e Version 0.0.29 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/288\"\u003e#288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/a60dcdcb34d55b396ced6f5bdb1d1e6df84832ae\"\u003e\u003ccode\u003ea60dcdc\u003c/code\u003e\u003c/a\u003e Handle malformed RFC 2231 continuations in \u003ccode\u003eparse_options_header\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/270\"\u003e#270\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/75c33b24d91f1e3c65b597832984d6c46d1a38df\"\u003e\u003ccode\u003e75c33b2\u003c/code\u003e\u003c/a\u003e Add 7-day cooldown for dependency resolution via uv exclude-newer (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/286\"\u003e#286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/a078b8ef00474c3f3a6cf750cd092cf880354a11\"\u003e\u003ccode\u003ea078b8e\u003c/code\u003e\u003c/a\u003e Bump urllib3 from 2.6.3 to 2.7.0 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/285\"\u003e#285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/7d8d28b210ac6cb055399562b0dc0e5cf9aef14a\"\u003e\u003ccode\u003e7d8d28b\u003c/code\u003e\u003c/a\u003e Version 0.0.28 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/284\"\u003e#284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/b0dd125457d0f98de23bf2f894aedb1a54639d4e\"\u003e\u003ccode\u003eb0dd125\u003c/code\u003e\u003c/a\u003e Cap multipart boundary length at 256 bytes (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/282\"\u003e#282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.27...0.0.30\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-asyncio` from 1.3.0 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/pytest-dev/pytest-asyncio/releases\"\u003epytest-asyncio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epytest-asyncio v1.4.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.4.0\"\u003e1.4.0\u003c/a\u003e - 2026-05-26\u003c/h1\u003e\n\u003ch2\u003eDeprecated\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOverriding the \u003cem\u003eevent_loop_policy\u003c/em\u003e fixture is deprecated. Use the \u003ccode\u003epytest_asyncio_loop_factories\u003c/code\u003e hook instead. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1419\"\u003e#1419\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded the \u003ccode\u003epytest_asyncio_loop_factories\u003c/code\u003e hook to parametrize asyncio tests with custom event loop factories.\u003c/p\u003e\n\u003cp\u003eThe hook returns a mapping of factory names to loop factories, and \u003ccode\u003epytest.mark.asyncio(loop_factories=[...])\u003c/code\u003e selects a subset of configured factories per test. When a single factory is configured, test names are unchanged.\u003c/p\u003e\n\u003cp\u003eSynchronous \u003ccode\u003e@pytest_asyncio.fixture\u003c/code\u003e functions now see the correct event loop when custom loop factories are configured, even when test code disrupts the current event loop (e.g., via \u003ccode\u003easyncio.run()\u003c/code\u003e or \u003ccode\u003easyncio.set_event_loop(None)\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1164\"\u003e#1164\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved the readability of the warning message that is displayed when \u003ccode\u003easyncio_default_fixture_loop_scope\u003c/code\u003e is unset (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1298\"\u003e#1298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly import \u003ccode\u003easyncio.AbstractEventLoopPolicy\u003c/code\u003e for type checking to avoid raising\na DeprecationWarning. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1394\"\u003e#1394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdated minimum supported pytest version to v8.4.0. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1397\"\u003e#1397\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a \u003ccode\u003eResourceWarning: unclosed event loop\u003c/code\u003e warning that could occur when a synchronous test called \u003ccode\u003easyncio.run()\u003c/code\u003e or otherwise unset the current event loop after pytest-asyncio had run an async test or fixture. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/724\"\u003e#724\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded dependency on \u003ccode\u003esphinx-tabs \u0026gt;= 3.5\u003c/code\u003e to organize documentation examples into tabs. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1395\"\u003e#1395\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epytest-asyncio v1.4.0a2\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.4.0a2\"\u003e1.4.0a2\u003c/a\u003e - 2026-05-02\u003c/h1\u003e\n\u003ch2\u003eDeprecated\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOverriding the \u003cem\u003eevent_loop_policy\u003c/em\u003e fixture is deprecated. Use the \u003ccode\u003epytest_asyncio_loop_factories\u003c/code\u003e hook instead. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1419\"\u003e#1419\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded the \u003ccode\u003epytest_asyncio_loop_factories\u003c/code\u003e hook to parametrize asyncio tests with custom event loop factories.\u003c/p\u003e\n\u003cp\u003eThe hook returns a mapping of factory names to loop factories, and \u003ccode\u003epytest.mark.asyncio(loop_factories=[...])\u003c/code\u003e selects a subset of configured factories per test. When a single factory is configured, test names are unchanged on pytest 8.4+.\u003c/p\u003e\n\u003cp\u003eSynchronous \u003ccode\u003e@pytest_asyncio.fixture\u003c/code\u003e functions now see the correct event loop when custom loop factories are configured, even when test code disrupts the current event loop (e.g., via \u003ccode\u003easyncio.run()\u003c/code\u003e or \u003ccode\u003easyncio.set_event_loop(None)\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1164\"\u003e#1164\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved the readability of the warning message that is displayed when \u003ccode\u003easyncio_default_fixture_loop_scope\u003c/code\u003e is unset (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1298\"\u003e#1298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly import \u003ccode\u003easyncio.AbstractEventLoopPolicy\u003c/code\u003e for type checking to avoid raising\na DeprecationWarning. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1394\"\u003e#1394\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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-asyncio/commit/6e14cd2af9292dca1fa2b027a06bbc40b0e0e425\"\u003e\u003ccode\u003e6e14cd2\u003c/code\u003e\u003c/a\u003e chore: Prepare release of v1.4.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/4b900fb5d0c30949c574e55dd904ee179f858a5e\"\u003e\u003ccode\u003e4b900fb\u003c/code\u003e\u003c/a\u003e Build(deps): Bump codecov/codecov-action from 6.0.0 to 6.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/ab9f63245094865c42c940a34af724b0dec1debf\"\u003e\u003ccode\u003eab9f632\u003c/code\u003e\u003c/a\u003e Build(deps): Bump zipp from 3.23.1 to 4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/a56fc77ecd59f781d8471b0f6a82bf58e08c95fa\"\u003e\u003ccode\u003ea56fc77\u003c/code\u003e\u003c/a\u003e Build(deps): Bump hypothesis from 6.152.6 to 6.152.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/e8bae9bc1f197731fc1a210c0da557af7b698e6d\"\u003e\u003ccode\u003ee8bae9b\u003c/code\u003e\u003c/a\u003e Build(deps): Bump requests from 2.34.0 to 2.34.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/fc433402c570fd36a7a227ef4bc3abd4579299de\"\u003e\u003ccode\u003efc43340\u003c/code\u003e\u003c/a\u003e Build(deps): Bump idna from 3.14 to 3.15\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/762eaf5033b798b965c92afdbb2cebefa8fc3a8b\"\u003e\u003ccode\u003e762eaf5\u003c/code\u003e\u003c/a\u003e Build(deps): Bump jaraco-functools from 4.4.0 to 4.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/b62e2228c80070977baf6b77ba89d5c148af920f\"\u003e\u003ccode\u003eb62e222\u003c/code\u003e\u003c/a\u003e Build(deps): Bump click from 8.3.3 to 8.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/919044700627889d25ca63b6e7a3bc785f3137eb\"\u003e\u003ccode\u003e9190447\u003c/code\u003e\u003c/a\u003e Build(deps): Bump pydantic from 2.13.3 to 2.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/82a393c5e31b6ebbbd8ec2a8dafc5f35b9cf1236\"\u003e\u003ccode\u003e82a393c\u003c/code\u003e\u003c/a\u003e ci: Remove unnecessary debug output.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/compare/v1.3.0...v1.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `torch` from 2.2.2 to 2.12.0+cpu\n","html_url":"https://github.com/madfam-org/bloom-scroll/pull/89","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/madfam-org%2Fbloom-scroll/issues/89","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/89/packages"},{"uuid":"4520522281","node_id":"PR_kwDOQkYl-s7fOJBz","number":290,"state":"closed","title":"chore(deps): Bump the python-minor group across 1 directory with 21 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-06-03T05:24:22.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-26T01:14:57.000Z","updated_at":"2026-06-03T05:24:24.000Z","time_to_close":706165,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","group_name":"python-minor","update_count":21,"packages":[{"name":"fastapi","old_version":"0.136.1","new_version":"0.136.3","repository_url":"https://github.com/fastapi/fastapi"},{"name":"uvicorn","old_version":"0.46.0","new_version":"0.48.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"python-multipart","old_version":"0.0.27","new_version":"0.0.29","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"starlette","old_version":"1.0.0","new_version":"1.1.0","repository_url":"https://github.com/Kludex/starlette"},{"name":"sse-starlette","old_version":"3.4.1","new_version":"3.4.4","repository_url":"https://github.com/sysid/sse-starlette"},{"name":"sqlalchemy","old_version":"2.0.49","new_version":"2.0.50","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"greenlet","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/python-greenlet/greenlet"},{"name":"pyjwt","old_version":"2.12.1","new_version":"2.13.0","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"pydantic","old_version":"2.13.3","new_version":"2.13.4","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pydantic-settings","old_version":"2.14.0","new_version":"2.14.1","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"pandas","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"google-cloud-aiplatform","old_version":"1.150.0","new_version":"1.153.1","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"google-auth","old_version":"2.50.0","new_version":"2.53.0","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"anthropic","old_version":"0.45.2","new_version":"0.104.1","repository_url":"https://github.com/anthropics/anthropic-sdk-python"},{"name":"pgvector","old_version":"0.3.6","new_version":"0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"},{"name":"lxml","old_version":"6.1.0","new_version":"6.1.1","repository_url":"https://github.com/lxml/lxml"},{"name":"orjson","old_version":"3.11.8","new_version":"3.11.9","repository_url":"https://github.com/ijl/orjson"},{"name":"sentry-sdk","old_version":"2.59.0","new_version":"2.60.0","repository_url":"https://github.com/getsentry/sentry-python"},{"name":"faker","old_version":"40.15.0","new_version":"40.19.1","repository_url":"https://github.com/joke2k/faker"},{"name":"black","old_version":"26.3.1","new_version":"26.5.1","repository_url":"https://github.com/psf/black"},{"name":"ruff","old_version":"0.15.12","new_version":"0.15.14","repository_url":"https://github.com/astral-sh/ruff"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor group with 21 updates in the /backend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.136.1` | `0.136.3` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.46.0` | `0.48.0` |\n| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.27` | `0.0.29` |\n| [starlette](https://github.com/Kludex/starlette) | `1.0.0` | `1.1.0` |\n| [sse-starlette](https://github.com/sysid/sse-starlette) | `3.4.1` | `3.4.4` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.49` | `2.0.50` |\n| [greenlet](https://github.com/python-greenlet/greenlet) | `3.5.0` | `3.5.1` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.12.1` | `2.13.0` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.13.3` | `2.13.4` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.14.0` | `2.14.1` |\n| [pandas](https://github.com/pandas-dev/pandas) | `3.0.2` | `3.0.3` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.150.0` | `1.153.1` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.50.0` | `2.53.0` |\n| [anthropic](https://github.com/anthropics/anthropic-sdk-python) | `0.45.2` | `0.104.1` |\n| [pgvector](https://github.com/pgvector/pgvector-python) | `0.3.6` | `0.4.2` |\n| [lxml](https://github.com/lxml/lxml) | `6.1.0` | `6.1.1` |\n| [orjson](https://github.com/ijl/orjson) | `3.11.8` | `3.11.9` |\n| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.59.0` | `2.60.0` |\n| [faker](https://github.com/joke2k/faker) | `40.15.0` | `40.19.1` |\n| [black](https://github.com/psf/black) | `26.3.1` | `26.5.1` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.12` | `0.15.14` |\n\n\nUpdates `fastapi` from 0.136.1 to 0.136.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.136.3\u003c/h2\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Do not accept underscore headers when using \u003ccode\u003econvert_underscores=True\u003c/code\u003e (the default). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15589\"\u003e#15589\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.136.2\u003c/h2\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Validate Server Sent Event fields to avoid applications from sending broken data. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15588\"\u003e#15588\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Document \u003ccode\u003e--entrypoint\u003c/code\u003e CLI option. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15464\"\u003e#15464\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update and simplify docs about help and management. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15583\"\u003e#15583\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Add docs references to central contributing docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15580\"\u003e#15580\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update security policy. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15577\"\u003e#15577\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🍱 Update sponsors: TalorData image. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15562\"\u003e#15562\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update docs, simplify usage of admonitions, only default ones. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15553\"\u003e#15553\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Fix image URLs in \u003ccode\u003eindex.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15534\"\u003e#15534\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✏️ Fix Azkaban spelling typo in \u003ccode\u003evirtual-environments.md‎\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15463\"\u003e#15463\u003c/a\u003e by \u003ca href=\"https://github.com/isaacbernat\"\u003e\u003ccode\u003e@​isaacbernat\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e💄 Improve layout and styling. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15462\"\u003e#15462\u003c/a\u003e by \u003ca href=\"https://github.com/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e💄 Refactor opinions section with interactive tabs and new logos. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15458\"\u003e#15458\u003c/a\u003e by \u003ca href=\"https://github.com/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Add FastAPI Conf '26 announcement to docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15457\"\u003e#15457\u003c/a\u003e by \u003ca href=\"https://github.com/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🌐 Improve translation consistency in \u003ccode\u003e‎docs/pt/docs/advanced/generate-clients.md‎\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15456\"\u003e#15456\u003c/a\u003e by \u003ca href=\"https://github.com/Will-thom\"\u003e\u003ccode\u003e@​Will-thom\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ja (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15530\"\u003e#15530\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for uk (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15529\"\u003e#15529\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for pt (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15528\"\u003e#15528\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for de (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15527\"\u003e#15527\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for tr (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15526\"\u003e#15526\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ko (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15525\"\u003e#15525\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh-hant (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15524\"\u003e#15524\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for fr (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15522\"\u003e#15522\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for es (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15523\"\u003e#15523\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15520\"\u003e#15520\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ru (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15521\"\u003e#15521\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Fix typos in Spanish LLM-prompt. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15472\"\u003e#15472\u003c/a\u003e by \u003ca href=\"https://github.com/crr004\"\u003e\u003ccode\u003e@​crr004\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Update tests, don't double dispose the engine. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15587\"\u003e#15587\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⚡️ Speed up test suite via caching and fixture scopes to make it ~24% faster. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13583\"\u003e#13583\u003c/a\u003e by \u003ca href=\"https://github.com/dikos1337\"\u003e\u003ccode\u003e@​dikos1337\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔥 Remove config files now in central GitHub repo. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15585\"\u003e#15585\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump urllib3 from 2.6.3 to 2.7.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15502\"\u003e#15502\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump idna from 3.11 to 3.15. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15565\"\u003e#15565\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump cloudflare/wrangler-action from 3.15.0 to 4.0.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15571\"\u003e#15571\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔧 Migrate docs from MkDocs to Zensical. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15563\"\u003e#15563\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔒️ Only allow team members to modify dependencies. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15548\"\u003e#15548\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/82064857539e6286522c347b4b11331b48dd2378\"\u003e\u003ccode\u003e8206485\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.136.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c910e0139f983d0e04e2d1d235cd71803afeae34\"\u003e\u003ccode\u003ec910e01\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/063b5bf582d31fb155cc6bc6f88cf512329d0fd5\"\u003e\u003ccode\u003e063b5bf\u003c/code\u003e\u003c/a\u003e ♻️ Do not accept underscore headers when using \u003ccode\u003econvert_underscores=True\u003c/code\u003e (th...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/22b02e26f9e8c7e32bd8266e2b0ebe8bb3a0db2b\"\u003e\u003ccode\u003e22b02e2\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.136.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/3b252a2a22ba27a8ab83d6bde7d9cddbc5bf738e\"\u003e\u003ccode\u003e3b252a2\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c7fb7851b3389f24c51701d705458989be53ccbb\"\u003e\u003ccode\u003ec7fb785\u003c/code\u003e\u003c/a\u003e ♻️ Validate Server Sent Event fields to avoid applications from sending broke...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cb83b83dcf78eab4ea17d504db5abcda705fbdc4\"\u003e\u003ccode\u003ecb83b83\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/00f805cec94c0bf48c1f9a563535a3ab2e6f90ab\"\u003e\u003ccode\u003e00f805c\u003c/code\u003e\u003c/a\u003e ✅ Update tests, don't double dispose the engine (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15587\"\u003e#15587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/3675137523dc167981aa3a3c44599b4f3079ccd8\"\u003e\u003ccode\u003e3675137\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/7b57e42986bb4d40c9eb6580537d13fb8e76097e\"\u003e\u003ccode\u003e7b57e42\u003c/code\u003e\u003c/a\u003e 📝 Document \u003ccode\u003e--entrypoint\u003c/code\u003e CLI option (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15464\"\u003e#15464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.136.1...0.136.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.46.0 to 0.48.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/releases\"\u003euvicorn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.48.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault \u003ccode\u003essl_ciphers\u003c/code\u003e to \u003ccode\u003eNone\u003c/code\u003e and use OpenSSL defaults by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2940\"\u003eKludex/uvicorn#2940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore duplicate forwarding headers in \u003ccode\u003eProxyHeadersMiddleware\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2944\"\u003eKludex/uvicorn#2944\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.47.0...0.48.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.47.0...0.48.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.47.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEagerly import the ASGI app in the parent process by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2919\"\u003eKludex/uvicorn#2919\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003essl_context_factory\u003c/code\u003e for custom \u003ccode\u003eSSLContext\u003c/code\u003e configuration by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2920\"\u003eKludex/uvicorn#2920\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003efd=0\u003c/code\u003e as a valid file descriptor with reload/workers by \u003ca href=\"https://github.com/eltoder\"\u003e\u003ccode\u003e@​eltoder\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2927\"\u003eKludex/uvicorn#2927\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.46.0...0.47.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.46.0...0.47.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md\"\u003euvicorn's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.48.0 (May 24, 2026)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDefault \u003ccode\u003essl_ciphers\u003c/code\u003e to \u003ccode\u003eNone\u003c/code\u003e and use OpenSSL defaults (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore duplicate forwarding headers in \u003ccode\u003eProxyHeadersMiddleware\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2944\"\u003e#2944\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.47.0 (May 14, 2026)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003essl_context_factory\u003c/code\u003e for custom \u003ccode\u003eSSLContext\u003c/code\u003e configuration (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2920\"\u003e#2920\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEagerly import the ASGI app in the parent process (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2919\"\u003e#2919\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTreat \u003ccode\u003efd=0\u003c/code\u003e as a valid file descriptor with reload/workers (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/73e84e58d7f6b8b3dfd8a9e3e42d716862250f33\"\u003e\u003ccode\u003e73e84e5\u003c/code\u003e\u003c/a\u003e Version 0.48.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2951\"\u003e#2951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/45ea11690b4a62fa6df339d2b6ee3b8545a418e0\"\u003e\u003ccode\u003e45ea116\u003c/code\u003e\u003c/a\u003e Ignore duplicate forwarding headers in \u003ccode\u003eProxyHeadersMiddleware\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2944\"\u003e#2944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/dd4394c3cbfd9f27a696a7b08047149690058158\"\u003e\u003ccode\u003edd4394c\u003c/code\u003e\u003c/a\u003e chore(deps): bump idna from 3.11 to 3.15 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2941\"\u003e#2941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/abe07818a191cd036dc3824d802d052207e01c7e\"\u003e\u003ccode\u003eabe0781\u003c/code\u003e\u003c/a\u003e Default \u003ccode\u003essl_ciphers\u003c/code\u003e to \u003ccode\u003eNone\u003c/code\u003e and use OpenSSL defaults (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/479a2c0c89186714f1aac52aecdebebf271395ac\"\u003e\u003ccode\u003e479a2c0\u003c/code\u003e\u003c/a\u003e Version 0.47.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2937\"\u003e#2937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/89347fd166ebedf98fb3f806ce8ea44e93b1c2b5\"\u003e\u003ccode\u003e89347fd\u003c/code\u003e\u003c/a\u003e Add 7-day cooldown for dependency resolution via uv exclude-newer (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2936\"\u003e#2936\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/767315b38ae509cee9fe8ee9d09f6da920536096\"\u003e\u003ccode\u003e767315b\u003c/code\u003e\u003c/a\u003e Drop unused contents/actions permissions from zizmor workflow (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2935\"\u003e#2935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/f25ee43e68a9678453cbca99ad96f1a447ff34af\"\u003e\u003ccode\u003ef25ee43\u003c/code\u003e\u003c/a\u003e chore(deps): bump urllib3 from 2.6.3 to 2.7.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2933\"\u003e#2933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/8782666189a3d36c978de5698620db705659bf44\"\u003e\u003ccode\u003e8782666\u003c/code\u003e\u003c/a\u003e Fix typo in \u003ccode\u003edocs/deployment/index.md\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2932\"\u003e#2932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/ad5ff87c869e8a34e9b04fcd5ca38d65c526893c\"\u003e\u003ccode\u003ead5ff87\u003c/code\u003e\u003c/a\u003e Treat \u003ccode\u003efd=0\u003c/code\u003e as a valid file descriptor with reload/workers (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.46.0...0.48.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-multipart` from 0.0.27 to 0.0.29\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/python-multipart/releases\"\u003epython-multipart's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.0.29\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle malformed RFC 2231 continuations in \u003ccode\u003eparse_options_header\u003c/code\u003e by \u003ca href=\"https://github.com/manunio\"\u003e\u003ccode\u003e@​manunio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/270\"\u003eKludex/python-multipart#270\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.28...0.0.29\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.28...0.0.29\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.28\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up partial-boundary tail scan via \u003ccode\u003ebytes.find\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/281\"\u003eKludex/python-multipart#281\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCap multipart boundary length at 256 bytes by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/282\"\u003eKludex/python-multipart#282\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.27...0.0.28\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.27...0.0.28\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/python-multipart/blob/main/CHANGELOG.md\"\u003epython-multipart's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.29 (2026-05-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle malformed RFC 2231 continuations in \u003ccode\u003eparse_options_header\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/270\"\u003e#270\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.28 (2026-05-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up partial-boundary tail scan via \u003ccode\u003ebytes.find\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/281\"\u003e#281\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eCap multipart boundary length at 256 bytes \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/282\"\u003e#282\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/e3d6853978b91b77e9739d47389124d633894c39\"\u003e\u003ccode\u003ee3d6853\u003c/code\u003e\u003c/a\u003e Version 0.0.29 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/288\"\u003e#288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/a60dcdcb34d55b396ced6f5bdb1d1e6df84832ae\"\u003e\u003ccode\u003ea60dcdc\u003c/code\u003e\u003c/a\u003e Handle malformed RFC 2231 continuations in \u003ccode\u003eparse_options_header\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/270\"\u003e#270\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/75c33b24d91f1e3c65b597832984d6c46d1a38df\"\u003e\u003ccode\u003e75c33b2\u003c/code\u003e\u003c/a\u003e Add 7-day cooldown for dependency resolution via uv exclude-newer (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/286\"\u003e#286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/a078b8ef00474c3f3a6cf750cd092cf880354a11\"\u003e\u003ccode\u003ea078b8e\u003c/code\u003e\u003c/a\u003e Bump urllib3 from 2.6.3 to 2.7.0 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/285\"\u003e#285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/7d8d28b210ac6cb055399562b0dc0e5cf9aef14a\"\u003e\u003ccode\u003e7d8d28b\u003c/code\u003e\u003c/a\u003e Version 0.0.28 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/284\"\u003e#284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/b0dd125457d0f98de23bf2f894aedb1a54639d4e\"\u003e\u003ccode\u003eb0dd125\u003c/code\u003e\u003c/a\u003e Cap multipart boundary length at 256 bytes (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/282\"\u003e#282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/d1b57392cf7d0c19235ba454eb5686fd27dc2384\"\u003e\u003ccode\u003ed1b5739\u003c/code\u003e\u003c/a\u003e Speed up partial-boundary tail scan via \u003ccode\u003ebytes.find\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/281\"\u003e#281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/09cb8c3da7638d45ecdf7c154832303214bba829\"\u003e\u003ccode\u003e09cb8c3\u003c/code\u003e\u003c/a\u003e Make the long_boundary benchmark dominated by the patched code path (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/280\"\u003e#280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/a6467c93c14aa4b09ef65450ead8011c45e5c7a0\"\u003e\u003ccode\u003ea6467c9\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Switch CodSpeed benchmarks to walltime mode\u0026quot; (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/279\"\u003e#279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/9a9690035a956fbdcca06f98461244cf790375a7\"\u003e\u003ccode\u003e9a96900\u003c/code\u003e\u003c/a\u003e Switch CodSpeed benchmarks to walltime mode (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/278\"\u003e#278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.27...0.0.29\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `starlette` from 1.0.0 to 1.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/starlette/releases\"\u003estarlette's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003e\u0026quot;application/octet-stream\u0026quot;\u003c/code\u003e as the \u003ccode\u003eFileResponse\u003c/code\u003e media type fallback by \u003ca href=\"https://github.com/ATOM00blue\"\u003e\u003ccode\u003e@​ATOM00blue\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/3283\"\u003eKludex/starlette#3283\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly dispatch standard HTTP verbs in \u003ccode\u003eHTTPEndpoint\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/3286\"\u003eKludex/starlette#3286\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject absolute paths in \u003ccode\u003eStaticFiles.lookup_path\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/3287\"\u003eKludex/starlette#3287\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/ATOM00blue\"\u003e\u003ccode\u003e@​ATOM00blue\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/3283\"\u003eKludex/starlette#3283\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/starlette/compare/1.0.1...1.1.0\"\u003ehttps://github.com/Kludex/starlette/compare/1.0.1...1.1.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 1.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore malformed \u003ccode\u003eHost\u003c/code\u003e header when constructing \u003ccode\u003erequest.url\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/3279\"\u003eKludex/starlette#3279\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/starlette/compare/1.0.0...1.0.1\"\u003ehttps://github.com/Kludex/starlette/compare/1.0.0...1.0.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/starlette/blob/main/docs/release-notes.md\"\u003estarlette's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.1.0 (May 23, 2026)\u003c/h2\u003e\n\u003ch4\u003eAdded\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003e\u0026quot;application/octet-stream\u0026quot;\u003c/code\u003e as the \u003ccode\u003eFileResponse\u003c/code\u003e media type fallback \u003ca href=\"https://redirect.github.com/encode/starlette/pull/3283\"\u003e#3283\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixed\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eOnly dispatch standard HTTP verbs in \u003ccode\u003eHTTPEndpoint\u003c/code\u003e \u003ca href=\"https://redirect.github.com/encode/starlette/pull/3286\"\u003e#3286\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eReject absolute paths in \u003ccode\u003eStaticFiles.lookup_path\u003c/code\u003e \u003ca href=\"https://redirect.github.com/encode/starlette/pull/3287\"\u003e#3287\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.0.1 (May 21, 2026)\u003c/h2\u003e\n\u003ch4\u003eFixed\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore malformed \u003ccode\u003eHost\u003c/code\u003e header when constructing \u003ccode\u003erequest.url\u003c/code\u003e \u003ca href=\"https://redirect.github.com/encode/starlette/pull/3279\"\u003e#3279\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/starlette/commit/a4ff83b1aacaf8955e241dd00444c27823be163a\"\u003e\u003ccode\u003ea4ff83b\u003c/code\u003e\u003c/a\u003e Version 1.1.0 (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/3289\"\u003e#3289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/fd53168a7767b6b55ba5af787fd88f49e33cabc5\"\u003e\u003ccode\u003efd53168\u003c/code\u003e\u003c/a\u003e Reject absolute paths in \u003ccode\u003eStaticFiles.lookup_path\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/3287\"\u003e#3287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/e3f972225adb1d84b80dba132f520cc24cb84229\"\u003e\u003ccode\u003ee3f9722\u003c/code\u003e\u003c/a\u003e Only dispatch standard HTTP verbs in \u003ccode\u003eHTTPEndpoint\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/3286\"\u003e#3286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/348f86dc92fed6e3c0314154e38deec90a6bcabd\"\u003e\u003ccode\u003e348f86d\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003e\u0026quot;application/octet-stream\u0026quot;\u003c/code\u003e as the \u003ccode\u003eFileResponse\u003c/code\u003e media type fallback (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/48f8e331b23ca692f4713ac1f370bff1b5cd034c\"\u003e\u003ccode\u003e48f8e33\u003c/code\u003e\u003c/a\u003e Version 1.0.1 (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/3281\"\u003e#3281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/f078832be1aa27ab0e7ec3153479a347749e967a\"\u003e\u003ccode\u003ef078832\u003c/code\u003e\u003c/a\u003e Remove Hugging Face sponsor block from docs (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/3280\"\u003e#3280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/472951eba8f6e35be845fd1b91625a1b5488294b\"\u003e\u003ccode\u003e472951e\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/3277\"\u003e#3277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/764dab0dcfb9033d75442d7a359645c9f94648c6\"\u003e\u003ccode\u003e764dab0\u003c/code\u003e\u003c/a\u003e Ignore malformed \u003ccode\u003eHost\u003c/code\u003e header when constructing \u003ccode\u003erequest.url\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/3279\"\u003e#3279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/19d08115ce56da8d4da2838ecdd9c5882cb2b365\"\u003e\u003ccode\u003e19d0811\u003c/code\u003e\u003c/a\u003e Harden GitHub Actions workflows and Dependabot config (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/3276\"\u003e#3276\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/01f46378120fe2c6312074ed7e997e3b5f7d8c20\"\u003e\u003ccode\u003e01f4637\u003c/code\u003e\u003c/a\u003e chore(deps): bump idna from 3.10 to 3.15 (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/3274\"\u003e#3274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/starlette/compare/1.0.0...1.1.0\"\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.4.1 to 3.4.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.4.4\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/sysid/sse-starlette/compare/v3.4.3...v3.4.4\"\u003ehttps://github.com/sysid/sse-starlette/compare/v3.4.3...v3.4.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.4.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump granian from 2.6.0 to 2.7.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/sysid/sse-starlette/pull/185\"\u003esysid/sse-starlette#185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump urllib3 from 2.6.3 to 2.7.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/186\"\u003esysid/sse-starlette#186\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.4.2...v3.4.3\"\u003ehttps://github.com/sysid/sse-starlette/compare/v3.4.2...v3.4.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.4.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/sysid/sse-starlette/compare/v3.4.1...v3.4.2\"\u003ehttps://github.com/sysid/sse-starlette/compare/v3.4.1...v3.4.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/e0933950b83ab99575b34b3641cd7f88b62e11c2\"\u003e\u003ccode\u003ee093395\u003c/code\u003e\u003c/a\u003e Bump version to 3.4.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/a6799e1063bd2c102336b8963a288736b0588972\"\u003e\u003ccode\u003ea6799e1\u003c/code\u003e\u003c/a\u003e new release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/d033a9755865b1521baf5d7f4b9ce6c5b4b2c843\"\u003e\u003ccode\u003ed033a97\u003c/code\u003e\u003c/a\u003e Bump version to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/6a34c6aa05037b4b63864384bc61f7e855d18008\"\u003e\u003ccode\u003e6a34c6a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/sysid/sse-starlette/issues/186\"\u003e#186\u003c/a\u003e from sysid/dependabot/uv/urllib3-2.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/e0be426235833f4d5084669bbba947193a2720e0\"\u003e\u003ccode\u003ee0be426\u003c/code\u003e\u003c/a\u003e chore(deps): bump urllib3 from 2.6.3 to 2.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/d8d43ab64b1090644ae42c4c2a4d361947296a26\"\u003e\u003ccode\u003ed8d43ab\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/sysid/sse-starlette/issues/185\"\u003e#185\u003c/a\u003e from sysid/dependabot/uv/granian-2.7.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/5854ac05f8f0170d7e4ccfd9b28a681f96038913\"\u003e\u003ccode\u003e5854ac0\u003c/code\u003e\u003c/a\u003e chore(deps): bump granian from 2.6.0 to 2.7.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/1d56ff3c33cd2544908890ecb3ff4ca2d55c2ee3\"\u003e\u003ccode\u003e1d56ff3\u003c/code\u003e\u003c/a\u003e Bump version to 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/8387e1155ae38552dc8064d85cf1d75c8700827f\"\u003e\u003ccode\u003e8387e11\u003c/code\u003e\u003c/a\u003e update pyproject.toml\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sysid/sse-starlette/compare/v3.4.1...v3.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.49 to 2.0.50\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.50\u003c/h1\u003e\n\u003cp\u003eReleased: May 24, 2026\u003c/p\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where using \u003ccode\u003e_orm.joinedload()\u003c/code\u003e with\n\u003ccode\u003ePropComparator.of_type()\u003c/code\u003e targeting a joined-table subclass combined\nwith \u003ccode\u003ePropComparator.and_()\u003c/code\u003e referencing a column on that subclass\nwould generate invalid SQL, where the subclass column was not adapted to\nthe subquery alias.  Pull request courtesy Joaquin Hui Gomez.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13203\"\u003e#13203\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 the presence of a \u003ccode\u003eSessionEvents.do_orm_execute()\u003c/code\u003e\nevent hook would cause internal execution options such as \u003ccode\u003eyield_per\u003c/code\u003e and\nloader-specific state from the first \u003ccode\u003eorm_pre_session_exec\u003c/code\u003e pass to leak\ninto the second pass, leading to errors when using relationship loaders\nsuch as \u003ccode\u003eselectinload()\u003c/code\u003e and \u003ccode\u003eimmediateload()\u003c/code\u003e.  The execution\noptions passed to the second compilation pass are now based on the original\noptions plus only the explicit updates made via\n\u003ccode\u003eORMExecuteState.update_execution_options()\u003c/code\u003e within the event hook.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13301\"\u003e#13301\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 using \u003ccode\u003e_orm.with_polymorphic()\u003c/code\u003e on a leaf class (a\nsubclass with no further descendants) or a non-inherited class would fail\nwith an \u003ccode\u003eAttributeError\u003c/code\u003e when used in an ORM statement, due to\n\u003ccode\u003e_orm.configure_mappers()\u003c/code\u003e not being triggered implicitly. The fix\nensures that \u003ccode\u003eAliasedInsp\u003c/code\u003e participates in the \u003ccode\u003e_post_inspect\u003c/code\u003e\nhook, triggering mapper configuration during ORM statement compilation.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13319\"\u003e#13319\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003esql\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[sql] [bug]\u003c/strong\u003e Fixed issue where floor division (\u003ccode\u003e//\u003c/code\u003e) between a \u003ccode\u003eFloat\u003c/code\u003e or\n\u003ccode\u003eNumeric\u003c/code\u003e numerator and an \u003ccode\u003eInteger\u003c/code\u003e denominator would omit\nthe \u003ccode\u003eFLOOR()\u003c/code\u003e SQL wrapper on dialects where\n\u003ccode\u003eDialect.div_is_floordiv\u003c/code\u003e is \u003ccode\u003eTrue\u003c/code\u003e (the default, including\nPostgreSQL and SQLite).  \u003ccode\u003eFLOOR()\u003c/code\u003e is now applied if either the\ndenominator or the numerator is a non-integer, so that expressions such as\n\u003ccode\u003efloat_col // int_col\u003c/code\u003e render as \u003ccode\u003eFLOOR(float_col / int_col)\u003c/code\u003e instead\nof the incorrect \u003ccode\u003efloat_col / int_col\u003c/code\u003e.  Pull request courtesy r266-tech.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/10528\"\u003e#10528\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epostgresql\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `greenlet` from 3.5.0 to 3.5.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-greenlet/greenlet/blob/master/CHANGES.rst\"\u003egreenlet's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.1 (2026-05-20)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd preliminary support for Python 3.15b1. This has not been\nreviewed by CPython core developers, but all tests pass. Binary\nwheels of this version won't work on earlier Python 3.15 builds and\nmay not work on later 3.15 builds.\u003c/li\u003e\n\u003cli\u003eFix the discrepancy in the way the two \u003ccode\u003egetcurrent\u003c/code\u003e APIs behave\nduring greenlet teardown. One API (the C API used by, e.g.,  gevent) raised a\n\u003ccode\u003eRuntimeError\u003c/code\u003e; the other (the Python \u003ccode\u003egreenlet.getcurrent\u003c/code\u003e API)\nreturned \u003ccode\u003eNone\u003c/code\u003e. This second way is incompatible with greenlet's type\nannotations, so \u003ccode\u003egreenlet.getcurrent\u003c/code\u003e now raises a\n\u003ccode\u003eRuntimeError\u003c/code\u003e as well.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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-greenlet/greenlet/commit/b5e5fc43a51c27ecffa1b1c7107c91464a6b26e2\"\u003e\u003ccode\u003eb5e5fc4\u003c/code\u003e\u003c/a\u003e Preparing release 3.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/c8e177413d34bc36ed56d2c185c232ab0538be90\"\u003e\u003ccode\u003ec8e1774\u003c/code\u003e\u003c/a\u003e Tweak wording in CHANGES about greenlet.getcurrent.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/7fb10c570f37b3eb4c8909c6164fdfac3269ddb6\"\u003e\u003ccode\u003e7fb10c5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/510\"\u003e#510\u003c/a\u003e from python-greenlet/315\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/9718ce5a23ea3360232b78a806a837d6c3d6183d\"\u003e\u003ccode\u003e9718ce5\u003c/code\u003e\u003c/a\u003e Add Py 3.15; make both API versions of getcurrent() consistent in raising Run...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/276e08afc4ddba87e4366390e3eeaecd61ccb3b8\"\u003e\u003ccode\u003e276e08a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/509\"\u003e#509\u003c/a\u003e from python-greenlet/dependabot/github_actions/github...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/32b0ad69828eb69d879c70dbee948e685268901b\"\u003e\u003ccode\u003e32b0ad6\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/173b692dc84288ef41572612ac744754f98eaa90\"\u003e\u003ccode\u003e173b692\u003c/code\u003e\u003c/a\u003e Back to development: 3.5.1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/python-greenlet/greenlet/compare/3.5.0...3.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyjwt` from 2.12.1 to 2.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jpadilla/pyjwt/releases\"\u003epyjwt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.13.0\u003c/h2\u003e\n\u003ch1\u003ePyJWT 2.13.0 — Security Release\u003c/h1\u003e\n\u003cp\u003eThis release bundles five security fixes plus three additional hardening / spec-compliance changes. We recommend all users upgrade.\u003c/p\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/security/advisories/GHSA-xgmm-8j9v-c9wx\"\u003e\u003ccode\u003eGHSA-xgmm-8j9v-c9wx\u003c/code\u003e\u003c/a\u003e — JWK JSON accepted as HMAC secret (algorithm confusion).\u003c/strong\u003e \u003ccode\u003eHMACAlgorithm.prepare_key\u003c/code\u003e previously rejected PEM- and SSH-formatted asymmetric keys but did not catch a JWK passed as a raw JSON string. In a verifier configured with both symmetric and asymmetric algorithms in \u003ccode\u003ealgorithms=[…]\u003c/code\u003e and a raw-JSON JWK as the key, an attacker could forge HS256 tokens using the JWK text as the HMAC secret. The guard has been extended to reject any JWK-shaped JSON. \u003cem\u003eReported by \u003ca href=\"https://github.com/aradona91\"\u003e\u003ccode\u003e@​aradona91\u003c/code\u003e\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/security/advisories/GHSA-jq35-7prp-9v3f\"\u003e\u003ccode\u003eGHSA-jq35-7prp-9v3f\u003c/code\u003e\u003c/a\u003e — Algorithm allow-list bypass with \u003ccode\u003ePyJWK\u003c/code\u003e / \u003ccode\u003ePyJWKClient\u003c/code\u003e.\u003c/strong\u003e When verifying with a \u003ccode\u003ePyJWK\u003c/code\u003e, the caller's \u003ccode\u003ealgorithms=[…]\u003c/code\u003e allow-list was checked against the token header \u003ccode\u003ealg\u003c/code\u003e as a string only; actual verification used the algorithm bound to the \u003ccode\u003ePyJWK\u003c/code\u003e. An attacker who controlled a registered JWKS key could sign with one algorithm and advertise another on the header. PyJWT now requires the token header \u003ccode\u003ealg\u003c/code\u003e to match the \u003ccode\u003ePyJWK\u003c/code\u003e's algorithm before verification. \u003cem\u003eReported by \u003ca href=\"https://github.com/sushi-gif\"\u003e\u003ccode\u003e@​sushi-gif\u003c/code\u003e\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/security/advisories/GHSA-w7vc-732c-9m39\"\u003e\u003ccode\u003eGHSA-w7vc-732c-9m39\u003c/code\u003e\u003c/a\u003e — DoS via base64 decode of unused payload segment when \u003ccode\u003eb64=false\u003c/code\u003e.\u003c/strong\u003e For detached-payload JWS (\u003ccode\u003eb64=false\u003c/code\u003e), the compact-form payload segment was base64-decoded before being discarded in favor of the caller-supplied \u003ccode\u003edetached_payload\u003c/code\u003e. An attacker could inflate the unused segment to force CPU + memory cost without holding a valid signature. The segment is now required to be empty per RFC 7515 Appendix F, and is no longer decoded. \u003cem\u003eReported by \u003ca href=\"https://github.com/thesmartshadow\"\u003e\u003ccode\u003e@​thesmartshadow\u003c/code\u003e\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/security/advisories/GHSA-993g-76c3-p5m4\"\u003e\u003ccode\u003eGHSA-993g-76c3-p5m4\u003c/code\u003e\u003c/a\u003e — \u003ccode\u003ePyJWKClient\u003c/code\u003e accepts non-HTTP(S) URIs.\u003c/strong\u003e \u003ccode\u003ePyJWKClient.fetch_data\u003c/code\u003e passed its URI to \u003ccode\u003eurllib.request.urlopen\u003c/code\u003e, which by default also handles \u003ccode\u003efile://\u003c/code\u003e, \u003ccode\u003eftp://\u003c/code\u003e, and \u003ccode\u003edata:\u003c/code\u003e schemes. An application that fed an attacker-influenced URI into \u003ccode\u003ePyJWKClient\u003c/code\u003e could be coerced into reading local files or reaching other unintended schemes. \u003ccode\u003ePyJWKClient\u003c/code\u003e now rejects any URI whose scheme isn't \u003ccode\u003ehttp\u003c/code\u003e or \u003ccode\u003ehttps\u003c/code\u003e. \u003cem\u003eReported by \u003ca href=\"https://github.com/KEIJOT\"\u003e\u003ccode\u003e@​KEIJOT\u003c/code\u003e\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/security/advisories/GHSA-fhv5-28vv-h8m8\"\u003e\u003ccode\u003eGHSA-fhv5-28vv-h8m8\u003c/code\u003e\u003c/a\u003e — \u003ccode\u003ePyJWKClient\u003c/code\u003e cache wiped on fetch error.\u003c/strong\u003e A \u003ccode\u003efinally\u003c/code\u003e-block \u003ccode\u003eput(jwk_set=None)\u003c/code\u003e cleared the JWK Set cache whenever a fetch raised, turning a transient JWKS-endpoint outage into application-wide auth failure. The cache write was moved into the success path; transient errors no longer evict valid cached keys. \u003cem\u003eReported by \u003ca href=\"https://github.com/eddieran\"\u003e\u003ccode\u003e@​eddieran\u003c/code\u003e\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReject empty HMAC keys outright in \u003ccode\u003eHMACAlgorithm.prepare_key\u003c/code\u003e with \u003ccode\u003eInvalidKeyError\u003c/code\u003e instead of accepting them with only a warning. Defends against the \u003ccode\u003eos.getenv(\u0026quot;JWT_SECRET\u0026quot;, \u0026quot;\u0026quot;)\u003c/code\u003e footgun. \u003cem\u003eThanks to \u003ca href=\"https://github.com/SnailSploit\"\u003e\u003ccode\u003e@​SnailSploit\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/spartan8806\"\u003e\u003ccode\u003e@​spartan8806\u003c/code\u003e\u003c/a\u003e for the reports.\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003eForward per-call \u003ccode\u003eoptions\u003c/code\u003e (including \u003ccode\u003eenforce_minimum_key_length\u003c/code\u003e) from \u003ccode\u003ePyJWT.decode\u003c/code\u003e through to \u003ccode\u003ePyJWS._verify_signature\u003c/code\u003e. The option was previously silently dropped between the two layers, so it only took effect when set on the \u003ccode\u003ePyJWT\u003c/code\u003e instance. \u003cem\u003eThanks to \u003ca href=\"https://github.com/WLUB\"\u003e\u003ccode\u003e@​WLUB\u003c/code\u003e\u003c/a\u003e for the report.\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRFC 7797 §3 compliance for \u003ccode\u003eb64=false\u003c/code\u003e:\u003c/strong\u003e the encoder now auto-adds \u003ccode\u003e\u0026quot;b64\u0026quot;\u003c/code\u003e to \u003ccode\u003ecrit\u003c/code\u003e, and the decoder rejects tokens that set \u003ccode\u003eb64=false\u003c/code\u003e without listing it in \u003ccode\u003ecrit\u003c/code\u003e. \u003cem\u003eThanks to \u003ca href=\"https://github.com/MachineLearning-Nerd\"\u003e\u003ccode\u003e@​MachineLearning-Nerd\u003c/code\u003e\u003c/a\u003e for the report.\u003c/em\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrate the \u003ccode\u003edev\u003c/code\u003e, \u003ccode\u003edocs\u003c/code\u003e, and \u003ccode\u003etests\u003c/code\u003e package extras to dependency groups, by \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1152\"\u003e#1152\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eUpgrade notes\u003c/h2\u003e\n\u003cp\u003eMost fixes are invisible to correctly-configured callers. A few behavioral changes you may encounter:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eEmpty HMAC keys now raise.\u003c/strong\u003e If your app passed \u003ccode\u003e\u0026quot;\u0026quot;\u003c/code\u003e or \u003ccode\u003eb\u0026quot;\u0026quot;\u003c/code\u003e as a secret (often via a missing env var, e.g. \u003ccode\u003eos.getenv(\u0026quot;JWT_SECRET\u0026quot;, \u0026quot;\u0026quot;)\u003c/code\u003e), \u003ccode\u003eencode\u003c/code\u003e/\u003ccode\u003edecode\u003c/code\u003e will now raise \u003ccode\u003eInvalidKeyError\u003c/code\u003e. This is the intended behavior — fix the configuration.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ePyJWK\u003c/code\u003e decoding now requires the token's \u003ccode\u003ealg\u003c/code\u003e to match the JWK's algorithm.\u003c/strong\u003e Previously a mismatch was silently honored if the header \u003ccode\u003ealg\u003c/code\u003e appeared in the allow-list. Tokens that relied on this mismatch will now fail with \u003ccode\u003eInvalidAlgorithmError\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ePyJWKClient\u003c/code\u003e now rejects non-HTTP(S) URIs at construction time.\u003c/strong\u003e Tests or dev environments that fetched JWKS from \u003ccode\u003efile://\u003c/code\u003e URIs need to switch to a local HTTP server or load the JWKS by other means (e.g. construct \u003ccode\u003ePyJWKSet.from_dict(...)\u003c/code\u003e directly).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eb64=false\u003c/code\u003e tokens are now strictly RFC 7515 / 7797 compliant.\u003c/strong\u003e Tokens with a non-empty compact-form payload segment, or that omit \u003ccode\u003e\u0026quot;b64\u0026quot;\u003c/code\u003e from \u003ccode\u003ecrit\u003c/code\u003e, will be rejected. PyJWT-produced tokens always satisfy both invariants, so round-trips through PyJWT are unaffected.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eenforce_minimum_key_length\u003c/code\u003e set per-call now takes effect.\u003c/strong\u003e Callers who passed \u003ccode\u003eoptions={\u0026quot;enforce_minimum_key_length\u0026quot;: True}\u003c/code\u003e to \u003ccode\u003ejwt.decode()\u003c/code\u003e previously got no enforcement; they will now get \u003ccode\u003eInvalidKeyError\u003c/code\u003e on undersized keys, as documented.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/jpadilla/pyjwt/compare/2.12.1...2.13.0\"\u003ehttps://github.com/jpadilla/pyjwt/compare/2.12.1...2.13.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/jpadilla/pyjwt/blob/master/CHANGELOG.rst\"\u003epyjwt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003ev2.13.0 \u0026lt;https://github.com/jpadilla/pyjwt/compare/2.12.1...2.13.0\u0026gt;\u003c/code\u003e__\u003c/h2\u003e\n\u003cp\u003eSecurity\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- Reject JWK JSON documents passed as raw HMAC secrets in\n  ``HMACAlgorithm.prepare_key`` to close an algorithm-confusion gap that\n  the existing PEM/SSH guard did not cover. Reported by @aradona91 in\n  `GHSA-xgmm-8j9v-c9wx \u0026lt;https://github.com/jpadilla/pyjwt/security/advisories/GHSA-xgmm-8j9v-c9wx\u0026gt;`__.\n- Bind the JWT header ``alg`` to ``PyJWK.algorithm_name`` during\n  verification so the caller's ``algorithms=[...]`` allow-list cannot be\n  bypassed when decoding with a ``PyJWK`` / ``PyJWKClient`` key. Reported\n  by @sushi-gif in `GHSA-jq35-7prp-9v3f \u0026lt;https://github.com/jpadilla/pyjwt/security/advisories/GHSA-jq35-7prp-9v3f\u0026gt;`__.\n- Reject non-``http(s)`` URI schemes in ``PyJWKClient`` so attacker-\n  influenced URIs cannot read local files or reach unintended schemes via\n  urllib's default ``file://`` / ``ftp://`` / ``data:`` handlers. Reported\n  by @KEIJOT in `GHSA-993g-76c3-p5m4 \u0026lt;https://github.com/jpadilla/pyjwt/security/advisories/GHSA-993g-76c3-p5m4\u0026gt;`__.\n- Preserve the cached JWK Set on fetch errors in ``PyJWKClient.fetch_data``.\n  The previous ``finally``-block ``put(None)`` pattern cleared the cache\n  on any transient outage, turning one bad JWKS request into application-\n  wide auth failure. Reported by @eddieran in `GHSA-fhv5-28vv-h8m8 \u0026lt;https://github.com/jpadilla/pyjwt/security/advisories/GHSA-fhv5-28vv-h8m8\u0026gt;`__.\n- Skip the unconditional base64 decode of the compact-form payload segment\n  when ``b64=false`` is set in the protected header, and require that\n  segment to be empty (RFC 7515 Appendix F detached form). Closes an\n  unauthenticated DoS amplifier. Reported by @thesmartshadow in\n  `GHSA-w7vc-732c-9m39 \u0026lt;https://github.com/jpadilla/pyjwt/security/advisories/GHSA-w7vc-732c-9m39\u0026gt;`__.\n\u003cp\u003eFixed\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- Reject empty HMAC keys outright in ``HMACAlgorithm.prepare_key`` with\n  ``InvalidKeyError`` instead of accepting them with only a warning.\n  Thanks to @SnailSploit and @spartan8806 for independently flagging the\n  footgun.\n- Forward per-call ``options`` (including ``enforce_minimum_key_length``)\n  from ``PyJWT.decode`` through to ``PyJWS._verify_signature`` so the\n  option actually takes effect when set at the call site rather than only\n  on the ``PyJWT`` instance. Thanks to @WLUB for the report.\n- RFC 7797 §3 compliance for ``b64=false``: the encoder now auto-adds\n  ``\u0026amp;quot;b64\u0026amp;quot;`` to the ``crit`` header parameter, and the decoder rejects\n  tokens that set ``b64=false`` without listing it in ``crit``. Thanks to\n  @MachineLearning-Nerd for the report.\n\nChanged\n\u003c/code\u003e\u003c/pre\u003e\n\u003cul\u003e\n\u003cli\u003eMigrate the \u003ccode\u003edev\u003c/code\u003e, \u003ccode\u003edocs\u003c/code\u003e, and \u003ccode\u003etests\u003c/code\u003e package extras to dependency groups by \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e in \u003ccode\u003e[#1152](https://github.com/jpadilla/pyjwt/issues/1152) \u0026amp;lt;https://github.com/jpadilla/pyjwt/pull/1152\u0026amp;gt;\u003c/code\u003e__\n\u003c/code\u003e\u003c/pre\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/commit/7144e4534c34810f4525dc4578a32addd8212cff\"\u003e\u003ccode\u003e7144e45\u003c/code\u003e\u003c/a\u003e Apply ruff format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/commit/d2f4bec4963897c0ef96ef64a875894f2c8542ab\"\u003e\u003ccode\u003ed2f4bec\u003c/code\u003e\u003c/a\u003e Restore \u003ccode\u003ecast()\u003c/code\u003e calls with cross-version \u003ccode\u003etype: ignore\u003c/code\u003e for \u003ccode\u003eprepare_key\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/commit/22f478cebddd8294259c30f037ecb92b0b348774\"\u003e\u003ccode\u003e22f478c\u003c/code\u003e\u003c/a\u003e Remove redundant casts in \u003ccode\u003eRSAAlgorithm.prepare_key\u003c/code\u003e and `ECAlgorithm.prepare...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/commit/95791b1759b8aa4f2203575d344d5c78564cdc81\"\u003e\u003ccode\u003e95791b1\u003c/code\u003e\u003c/a\u003e Bundle security fixes and hardening into 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/commit/dcc27a9d3182a2349c30b160758785c6ce7a6508\"\u003e\u003ccode\u003edcc27a9\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/issues/1155\"\u003e#1155\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/commit/9d08a9a1896845ed8eaf88e6f6ac61e5800c3e7a\"\u003e\u003ccode\u003e9d08a9a\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/issues/1146\"\u003e#1146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/commit/b87c10014d4109f0214fea188d00faaaf8a80e64\"\u003e\u003ccode\u003eb87c100\u003c/code\u003e\u003c/a\u003e Bump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/issues/1154\"\u003e#1154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/commit/40e3147eb5f790d8d041772e5fc00728a176c812\"\u003e\u003ccode\u003e40e3147\u003c/code\u003e\u003c/a\u003e Migrate development extras to dependency groups (\u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/issues/1152\"\u003e#1152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jpadilla/pyjwt/compare/2.12.1...2.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.13.3 to 2.13.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.4 2026-05-06\u003c/h2\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13129\"\u003e#13129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.4\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13129\"\u003e#13129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/cf67d4b3193c3fe43ede18612ed62785eee11382\"\u003e\u003ccode\u003ecf67d4b\u003c/code\u003e\u003c/a\u003e Fix linting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f0d8a214a5803036db46a56b1f62f1e56b81d662\"\u003e\u003ccode\u003ef0d8a21\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/5e3fe1d41a00f441204241c66078003ae0391f9a\"\u003e\u003ccode\u003e5e3fe1d\u003c/code\u003e\u003c/a\u003e Check for pydantic tag pattern in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7f9edcc2a191d2eaa9751220eb910914e716a686\"\u003e\u003ccode\u003e7f9edcc\u003c/code\u003e\u003c/a\u003e Document tagging conventions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b46a0c9b8a4dd967fda8ec1a92f6437076bf262c\"\u003e\u003ccode\u003eb46a0c9\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/50629c851e61d887d5420452c311ec6203f1f400\"\u003e\u003ccode\u003e50629c8\u003c/code\u003e\u003c/a\u003e Update to PyPy 7.3.22\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8522ebb71e5e9a6f7188af5f009f01785b8cf725\"\u003e\u003ccode\u003e8522ebb\u003c/code\u003e\u003c/a\u003e Preserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a37f3aff090ca342dc5f48304889963530b993f8\"\u003e\u003ccode\u003ea37f3af\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003eMISSING\u003c/code\u003e sentinel test to work with unreleased \u003ccode\u003etyping_extensions\u003c/code\u003e ver...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/909259a9df660518033aa686b689f045a6eaf9d2\"\u003e\u003ccode\u003e909259a\u003c/code\u003e\u003c/a\u003e Remove Logfire example in documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/2c4174c366606fc2dc46cb806833a080aefa77df\"\u003e\u003ccode\u003e2c4174c\u003c/code\u003e\u003c/a\u003e Bump libc from 0.2.155 to 0.2.185\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic-settings` from 2.14.0 to 2.14.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic-settings/releases\"\u003epydantic-settings's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.14.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump the python-packages group with 4 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/850\"\u003epydantic/pydantic-settings#850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the python-packages 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/pydantic/pydantic-settings/pull/854\"\u003epydantic/pydantic-settings#854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/853\"\u003epydantic/pydantic-settings#853\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the python-packages group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/856\"\u003epydantic/pydantic-settings#856\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix field named \u003ccode\u003ecls\u003c/code\u003e conflicting with classmethod parameter by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/858\"\u003epydantic/pydantic-settings#858\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release 2.14.1 by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/859\"\u003epydantic/pydantic-settings#859\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.14.0...v2.14.1\"\u003ehttps://github.com/pydantic/pydantic-settings/compare/v2.14.0...v2.14.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/e95c30bec8cfaee88ee275138c064aea97a25bdf\"\u003e\u003ccode\u003ee95c30b\u003c/code\u003e\u003c/a\u003e Prepare release 2.14.1 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/859\"\u003e#859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/0c8734581b6cf70a995afad603ac456631d00621\"\u003e\u003ccode\u003e0c87345\u003c/code\u003e\u003c/a\u003e Fix field named \u003ccode\u003ecls\u003c/code\u003e conflicting with classmethod parameter (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/858\"\u003e#858\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/7bd0072795a800065b42210b6dca90fc9b83daf7\"\u003e\u003ccode\u003e7bd0072\u003c/code\u003e\u003c/a\u003e Bump the python-packages group with 2 updates (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/856\"\u003e#856\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/b03e573d017ed48e1c2774a5e0b715db9766c76b\"\u003e\u003ccode\u003eb03e573\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 3 updates (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/853\"\u003e#853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/eaa3b434938411ec8a3717ea646614561e713f51\"\u003e\u003ccode\u003eeaa3b43\u003c/code\u003e\u003c/a\u003e Bump the python-packages group with 5 updates (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/854\"\u003e#854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/9f95615c24c6813c1d7d203576581a79cb6d9e8e\"\u003e\u003ccode\u003e9f95615\u003c/code\u003e\u003c/a\u003e Bump the python-packages group with 4 updates (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/850\"\u003e#850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.14.0...v2.14.1\"\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.2 to 3.0.3\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.3\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 3.0.3.\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/whatsnew/v3.0.3.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/72f2fea91530b5abb3cf2100cb22d84e504695c0\"\u003e\u003ccode\u003e72f2fea\u003c/code\u003e\u003c/a\u003e RLS: 3.0.3 (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65590\"\u003e#65590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/2897590094c2b6e3962d01a82665936f30be563d\"\u003e\u003ccode\u003e2897590\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65436\"\u003e#65436\u003c/a\u003e on branch 3.0.x (Account for privatization of matplotlib `...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/49894b5b6037c50f6444504070d9b1e8e514001a\"\u003e\u003ccode\u003e49894b5\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65499\"\u003e#65499\u003c/a\u003e on branch 3.0.x (BUG: fix check if pyarrow is installed in...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/1c6d1e30cc4b80bedb769a8b3731b0788f69c9dc\"\u003e\u003ccode\u003e1c6d1e3\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] PERF: remove special casing for zoneinfo in tz_localize_to_u...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/2a547116afc46d88d4e6584670fd793949222a1e\"\u003e\u003ccode\u003e2a54711\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64379\"\u003e#64379\u003c/a\u003e on branch 3.0.x (PERF: improve performance with ZoneInfo t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/036bb7c0e7160b9d5a7f6bd26a9fc00921fa6977\"\u003e\u003ccode\u003e036bb7c\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65482\"\u003e#65482\u003c/a\u003e on branch 3.0.x (PERF: don't call unique on dtypes for che...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/bf4c182b09251f5b469e8e246ae3ea3e1ae07164\"\u003e\u003ccode\u003ebf4c182\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65410\"\u003e#65410\u003c/a\u003e on branch 3.0.x (TST: also convert str index to object in ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/dd02d75ce219135f9f3f65c13644d4be35585d42\"\u003e\u003ccode\u003edd02d75\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: keep fsspec OpenFile alive for chained URL reads (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/6547\"\u003e#6547\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/aef3d0f6698667262c6d6ffc69180b280b0fa86a\"\u003e\u003ccode\u003eaef3d0f\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] CI: lowercase types-pymysql/types-pyyaml to fix mamba 2.6.0 ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/bb8e24876273a14322047f4b89e648f6a4abebae\"\u003e\u003ccode\u003ebb8e248\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65399\"\u003e#65399\u003c/a\u003e on branch 3.0.x (DOC: fix source link for classes in the r...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandas-dev/pandas/compare/v3.0.2...v3.0.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.150.0 to 1.153.1\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.153.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.153.0...v1.153.1\"\u003e1.153.1\u003c/a\u003e (2026-05-15)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove google-genai version contraints (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/cf4f183c085421e255267787214018de209430d1\"\u003ecf4f183\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove SDK workaround for async_retrieve_contexts. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5aabd30b88de06f1c4d73cfd3e6d02bf4f73c943\"\u003e5aabd30\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRelax google-genai dep to \u0026gt;= 2.0 (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/6a17fdc1ed5b95839836ba0f9a29782b5af6b279\"\u003e6a17fdc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRelease 1.153.1 (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/addbff629c38c172267aa5caa3f4a79c8c444837\"\u003eaddbff6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.153.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.152.0...v1.153.0\"\u003e1.153.0\u003c/a\u003e (2026-05-14)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eGenAI Client(evals) - Add red_teaming_config support for create_evaluation_run (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/657f379dc516a1db75eca1686731b7a4944a3b41\"\u003e657f379\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrate Agent Engines, Evaluation, Prompt Management, and Skill features to agentplatform (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/74ec5e1e8234713d16024c9bea06778366c4dd64\"\u003e74ec5e1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInject agents map from agent_info into agent_data for create_evaluation_run (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a4ffb673911fb4e0e25174c1b92054eb4a443d34\"\u003ea4ffb67\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Skill Registry Python SDK section in README (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/9f8e24c04f577bba7bb17a730a2264a94502cf4c\"\u003e9f8e24c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.152.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.151.0...v1.152.0\"\u003e1.152.0\u003c/a\u003e (2026-05-11)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd GetSkillRevision and ListSkillRevisions methods in Vertex AI Skill Registry SDK (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/e4fdb7a5d9129cb46aa060f4c69f276b14b6864a\"\u003ee4fdb7a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd ListSkills and DeleteSkill methods in Vertex AI Skill Registry SDK (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8578bfd09b78990051b2839e8b0cf1f9e0cca4ef\"\u003e8578bfd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd mTLS support for telemetry endpoint in adk.py. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/7b0c9956c9f73e76a2ca3a2c8ad00f79d06f1e13\"\u003e7b0c995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Update Skill method for Vertex AI Skill Registry SDK (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/48f792b07cda215cc62d16fac0df84eb3f60cba5\"\u003e48f792b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - Add allow_cross_region_model support for create_evaluation_run (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/3ce4b0264174463372b7e980c71231b651b7d411\"\u003e3ce4b02\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix name collision on SandboxEnvironment.state by renaming enum to SandboxState (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/1f9c8e014b46a77ce64843434b1cad253bc4ce05\"\u003e1f9c8e0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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.153.0...v1.153.1\"\u003e1.153.1\u003c/a\u003e (2...\n\n_Description has been truncated_","html_url":"https://github.com/Ibrahim-newaeon/Stratum-AI-Final-Updates-Dec-2025/pull/290","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ibrahim-newaeon%2FStratum-AI-Final-Updates-Dec-2025/issues/290","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/290/packages"},{"uuid":"4425074366","node_id":"PR_kwDOIxtRbM7adwvJ","number":2173,"state":"closed","title":"deps: bump the production-dependencies group across 1 directory with 34 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-19T03:12:03.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-11T23:40:35.000Z","updated_at":"2026-05-19T03:12:05.000Z","time_to_close":617488,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps: bump","group_name":"production-dependencies","update_count":34,"packages":[{"name":"schema","old_version":"0.7.7","new_version":"0.7.8","repository_url":"https://github.com/keleshev/schema"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"tenacity","old_version":"9.1.2","new_version":"9.1.4","repository_url":"https://github.com/jd/tenacity"},{"name":"numpy","old_version":"2.2.3","new_version":"2.2.6","repository_url":"https://github.com/numpy/numpy"},{"name":"requests","old_version":"2.33.1","new_version":"2.34.0","repository_url":"https://github.com/psf/requests"},{"name":"urllib3","old_version":"2.5.0","new_version":"2.7.0","repository_url":"https://github.com/urllib3/urllib3"},{"name":"pydantic","old_version":"2.11.4","new_version":"2.13.4","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pip","old_version":"26.0","new_version":"26.1.1","repository_url":"https://github.com/pypa/pip"},{"name":"json-schema-to-pydantic","old_version":"0.4.6","new_version":"0.4.11","repository_url":"https://github.com/richard-gyiko/json-schema-to-pydantic"},{"name":"anthropic","old_version":"0.51.0","new_version":"0.101.0","repository_url":"https://github.com/anthropics/anthropic-sdk-python"},{"name":"boto3","old_version":"1.38.18","new_version":"1.43.6","repository_url":"https://github.com/boto/boto3"},{"name":"ollama","old_version":"0.4.8","new_version":"0.6.2","repository_url":"https://github.com/ollama/ollama-python"},{"name":"sqlalchemy","old_version":"2.0.41","new_version":"2.0.49","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"snowflake","old_version":"1.5.0","new_version":"1.12.0"},{"name":"marqo","old_version":"3.13.0","new_version":"3.18.0","repository_url":"https://github.com/marqo-ai/marqo"},{"name":"pymongo","old_version":"4.12.1","new_version":"4.17.0","repository_url":"https://github.com/mongodb/mongo-python-driver"},{"name":"pgvector","old_version":"0.4.1","new_version":"0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"},{"name":"psycopg2-binary","old_version":"2.9.10","new_version":"2.9.12","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"qdrant-client","old_version":"1.14.2","new_version":"1.18.0","repository_url":"https://github.com/qdrant/qdrant-client"},{"name":"astrapy","old_version":"2.0.1","new_version":"2.2.1","repository_url":"https://github.com/datastax/astrapy"},{"name":"voyageai","old_version":"0.3.2","new_version":"0.3.7"},{"name":"playwright","old_version":"1.52.0","new_version":"1.59.0","repository_url":"https://github.com/microsoft/playwright-python"},{"name":"beautifulsoup4","old_version":"4.13.4","new_version":"4.14.3"},{"name":"markdownify","old_version":"1.1.0","new_version":"1.2.2","repository_url":"https://github.com/matthewwithanm/python-markdownify"},{"name":"duckduckgo-search","old_version":"8.0.2","new_version":"8.1.1","repository_url":"https://github.com/deedy5/duckduckgo_search"},{"name":"tavily-python","old_version":"0.7.2","new_version":"0.7.24","repository_url":"https://github.com/tavily-ai/tavily-python"},{"name":"pusher","old_version":"3.3.3","new_version":"3.3.4","repository_url":"https://github.com/pusher/pusher-http-python"},{"name":"opentelemetry-sdk","old_version":"1.33.1","new_version":"1.41.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"pypdf","old_version":"6.10.2","new_version":"6.11.0","repository_url":"https://github.com/py-pdf/pypdf"},{"name":"mail-parser","old_version":"4.1.2","new_version":"4.2.1","repository_url":"https://github.com/SpamScope/mail-parser"}],"path":null,"ecosystem":"pip"},"body":"Bumps the production-dependencies group with 30 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [schema](https://github.com/keleshev/schema) | `0.7.7` | `0.7.8` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [tenacity](https://github.com/jd/tenacity) | `9.1.2` | `9.1.4` |\n| [numpy](https://github.com/numpy/numpy) | `2.2.3` | `2.2.6` |\n| [requests](https://github.com/psf/requests) | `2.33.1` | `2.34.0` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.5.0` | `2.7.0` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.11.4` | `2.13.4` |\n| [pip](https://github.com/pypa/pip) | `26.0` | `26.1.1` |\n| [json-schema-to-pydantic](https://github.com/richard-gyiko/json-schema-to-pydantic) | `0.4.6` | `0.4.11` |\n| [anthropic](https://github.com/anthropics/anthropic-sdk-python) | `0.51.0` | `0.101.0` |\n| [boto3](https://github.com/boto/boto3) | `1.38.18` | `1.43.6` |\n| [ollama](https://github.com/ollama/ollama-python) | `0.4.8` | `0.6.2` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.41` | `2.0.49` |\n| snowflake | `1.5.0` | `1.12.0` |\n| [marqo](https://github.com/marqo-ai/marqo) | `3.13.0` | `3.18.0` |\n| [pymongo](https://github.com/mongodb/mongo-python-driver) | `4.12.1` | `4.17.0` |\n| [pgvector](https://github.com/pgvector/pgvector-python) | `0.4.1` | `0.4.2` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.12` |\n| [qdrant-client](https://github.com/qdrant/qdrant-client) | `1.14.2` | `1.18.0` |\n| [astrapy](https://github.com/datastax/astrapy) | `2.0.1` | `2.2.1` |\n| voyageai | `0.3.2` | `0.3.7` |\n| [playwright](https://github.com/microsoft/playwright-python) | `1.52.0` | `1.59.0` |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.13.4` | `4.14.3` |\n| [markdownify](https://github.com/matthewwithanm/python-markdownify) | `1.1.0` | `1.2.2` |\n| [duckduckgo-search](https://github.com/deedy5/duckduckgo_search) | `8.0.2` | `8.1.1` |\n| [tavily-python](https://github.com/tavily-ai/tavily-python) | `0.7.2` | `0.7.24` |\n| [pusher](https://github.com/pusher/pusher-http-python) | `3.3.3` | `3.3.4` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.33.1` | `1.41.1` |\n| [pypdf](https://github.com/py-pdf/pypdf) | `6.10.2` | `6.11.0` |\n| [mail-parser](https://github.com/SpamScope/mail-parser) | `4.1.2` | `4.2.1` |\n\n\nUpdates `schema` from 0.7.7 to 0.7.8\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/keleshev/schema/blob/master/CHANGELOG.md\"\u003eschema's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.7.8 (2025-10-11)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[JSON Schema] Add title for Literal. [Denis Blanchette]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eJSON Schema missing title in subschemas. [Denis Blanchette]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e[JSON Schema] Type \u0026quot;null\u0026quot; should be string. [Denis Blanchette]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRuff format. [Denis Blanchette]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eInclude py.typed module when building package. [Stavros Korokithakis]\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/keleshev/schema/commit/7434a6b3c9cd1672f0d491ed45114054750627af\"\u003e\u003ccode\u003e7434a6b\u003c/code\u003e\u003c/a\u003e build: Release v0.7.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/keleshev/schema/commit/3e06d37994442ef3ae5b9a1f8564d5ad598c9a68\"\u003e\u003ccode\u003e3e06d37\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/keleshev/schema/issues/332\"\u003e#332\u003c/a\u003e from coveord/fix/json-schema-title-in-sub-schemas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/keleshev/schema/commit/481f2ee0b1e3ec394c97a9800a1e6aa48b6d302d\"\u003e\u003ccode\u003e481f2ee\u003c/code\u003e\u003c/a\u003e fix: JSON Schema missing title in subschemas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/keleshev/schema/commit/c3aea90689f7adbc14f6eec8a39bc653d3f7ae41\"\u003e\u003ccode\u003ec3aea90\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/keleshev/schema/issues/331\"\u003e#331\u003c/a\u003e from coveord/fix/type-null\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/keleshev/schema/commit/acbb13fe5fad5e7bfa10c37fee01b55d7c4cbc8d\"\u003e\u003ccode\u003eacbb13f\u003c/code\u003e\u003c/a\u003e fix: [JSON Schema] Type \u0026quot;null\u0026quot; should be string\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/keleshev/schema/commit/abe66fd818fd1c3494ec334e60863fdf6513b895\"\u003e\u003ccode\u003eabe66fd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/keleshev/schema/issues/4\"\u003e#4\u003c/a\u003e from coveord/feat/add-title-for-literal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/keleshev/schema/commit/8f132c42b14f494d2b222597946049f3da1bca98\"\u003e\u003ccode\u003e8f132c4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/keleshev/schema/issues/330\"\u003e#330\u003c/a\u003e from coveord/feat/add-title-for-literal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/keleshev/schema/commit/003595fbdd0b43f32fd47fed21252613971b9f13\"\u003e\u003ccode\u003e003595f\u003c/code\u003e\u003c/a\u003e fix: ruff format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/keleshev/schema/commit/829427375b1d9fa98c03a514c4ff5f2c1be376ce\"\u003e\u003ccode\u003e8294273\u003c/code\u003e\u003c/a\u003e feat: [JSON Schema] Add title for Literal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/keleshev/schema/commit/24a3045773eac497c659f24b32f24a281be9f286\"\u003e\u003ccode\u003e24a3045\u003c/code\u003e\u003c/a\u003e ci: Sort imports\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/keleshev/schema/compare/v0.7.7...v0.7.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyyaml` from 6.0.2 to 6.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/yaml/pyyaml/releases\"\u003epyyaml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.0.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14 and free-threading (experimental).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/yaml/pyyaml/compare/6.0.2...6.0.3\"\u003ehttps://github.com/yaml/pyyaml/compare/6.0.2...6.0.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/yaml/pyyaml/blob/6.0.3/CHANGES\"\u003epyyaml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e6.0.3 (2025-09-25)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/yaml/pyyaml/pull/864\"\u003eyaml/pyyaml#864\u003c/a\u003e -- Support for Python 3.14 and free-threading (experimental)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yaml/pyyaml/commit/49790e73684bebad1df05ef8d828fa12f685bffb\"\u003e\u003ccode\u003e49790e7\u003c/code\u003e\u003c/a\u003e Release 6.0.3 (\u003ca href=\"https://redirect.github.com/yaml/pyyaml/issues/889\"\u003e#889\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/yaml/pyyaml/compare/6.0.2...6.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tenacity` from 9.1.2 to 9.1.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jd/tenacity/releases\"\u003etenacity's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.1.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eretry()\u003c/code\u003e annotations with async \u003ccode\u003esleep=\u003c/code\u003e function by \u003ca href=\"https://github.com/Zac-HD\"\u003e\u003ccode\u003e@​Zac-HD\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/555\"\u003ejd/tenacity#555\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jd/tenacity/compare/9.1.3...9.1.4\"\u003ehttps://github.com/jd/tenacity/compare/9.1.3...9.1.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e9.1.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eApply formatting to num seconds in before_sleep_log by \u003ca href=\"https://github.com/aguinane\"\u003e\u003ccode\u003e@​aguinane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/489\"\u003ejd/tenacity#489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport Python 3.14 by \u003ca href=\"https://github.com/sandrobonazzola\"\u003e\u003ccode\u003e@​sandrobonazzola\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/528\"\u003ejd/tenacity#528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTyping: Accept non-standard logger in helpers logging something by \u003ca href=\"https://github.com/k4nar\"\u003e\u003ccode\u003e@​k4nar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/540\"\u003ejd/tenacity#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(wait): add \u003ccode\u003ewait_exception\u003c/code\u003e strategy by \u003ca href=\"https://github.com/capitan-davide\"\u003e\u003ccode\u003e@​capitan-davide\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/541\"\u003ejd/tenacity#541\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix syntax error in wait_chain docstring example by \u003ca href=\"https://github.com/VedantMadane\"\u003e\u003ccode\u003e@​VedantMadane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/548\"\u003ejd/tenacity#548\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: drop Python 3.9 support (EOL) by \u003ca href=\"https://github.com/Zac-HD\"\u003e\u003ccode\u003e@​Zac-HD\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/552\"\u003ejd/tenacity#552\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport async sleep for sync fn-to-retry by \u003ca href=\"https://github.com/Zac-HD\"\u003e\u003ccode\u003e@​Zac-HD\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/551\"\u003ejd/tenacity#551\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aguinane\"\u003e\u003ccode\u003e@​aguinane\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/489\"\u003ejd/tenacity#489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sandrobonazzola\"\u003e\u003ccode\u003e@​sandrobonazzola\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/528\"\u003ejd/tenacity#528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/k4nar\"\u003e\u003ccode\u003e@​k4nar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/540\"\u003ejd/tenacity#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capitan-davide\"\u003e\u003ccode\u003e@​capitan-davide\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/541\"\u003ejd/tenacity#541\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/VedantMadane\"\u003e\u003ccode\u003e@​VedantMadane\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/548\"\u003ejd/tenacity#548\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Zac-HD\"\u003e\u003ccode\u003e@​Zac-HD\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/552\"\u003ejd/tenacity#552\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jd/tenacity/compare/9.1.2...9.1.3\"\u003ehttps://github.com/jd/tenacity/compare/9.1.2...9.1.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/d4e868d6b8368c00b5a1fad54de36c2c8c3a0fb3\"\u003e\u003ccode\u003ed4e868d\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eretry()\u003c/code\u003e annotations with async \u003ccode\u003esleep=\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/555\"\u003e#555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/24415ebbca6ecafdf870af06441656dd96149d1d\"\u003e\u003ccode\u003e24415eb\u003c/code\u003e\u003c/a\u003e support async sleep for sync fn (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/551\"\u003e#551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/3bf33b44096077a0608855f6a380fd8a25fa6f26\"\u003e\u003ccode\u003e3bf33b4\u003c/code\u003e\u003c/a\u003e chore: drop Python 3.9 support (EOL) (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/552\"\u003e#552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/7027da31d27155c7b1831e292a29575af7b5c2b1\"\u003e\u003ccode\u003e7027da3\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/550\"\u003e#550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/21ae7d0cc27069defd111e8ec81407f6d14089f6\"\u003e\u003ccode\u003e21ae7d0\u003c/code\u003e\u003c/a\u003e docs: fix syntax error in wait_chain docstring example (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/548\"\u003e#548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/ef12c9ed1df4dec3748b1fa9304527245b041d2d\"\u003e\u003ccode\u003eef12c9e\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/checkout in the github-actions group (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/547\"\u003e#547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/c35a4b341ef5e553c670290fbd8835b59d5f08a3\"\u003e\u003ccode\u003ec35a4b3\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/545\"\u003e#545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/e792bbaf0cab3685c8000899cb9f61e04d6f3e23\"\u003e\u003ccode\u003ee792bba\u003c/code\u003e\u003c/a\u003e ci: fix mypy (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/546\"\u003e#546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/0f55245b8da5c4cc8385c2f692164a6ff52cd88e\"\u003e\u003ccode\u003e0f55245\u003c/code\u003e\u003c/a\u003e ci: remove reno requirements (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/542\"\u003e#542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/815c34fec2c8d64fe2bc8a6bdd79bfb41f1938c6\"\u003e\u003ccode\u003e815c34f\u003c/code\u003e\u003c/a\u003e feat(wait): add \u003ccode\u003ewait_exception\u003c/code\u003e strategy (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/541\"\u003e#541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jd/tenacity/compare/9.1.2...9.1.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.2.3 to 2.2.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.2.6 (May 17, 2025)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.2.6 Release Notes\u003c/h1\u003e\n\u003cp\u003eNumPy 2.2.6 is a patch release that fixes bugs found after the 2.2.5\nrelease. It is a mix of typing fixes/improvements as well as the normal\nbug fixes and some CI maintenance.\u003c/p\u003e\n\u003cp\u003eThis release supports Python versions 3.10-3.13.\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eA total of 8 people contributed to this release. People with a \u0026quot;+\u0026quot; by\ntheir names contributed a patch for the first time.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eIlhan Polat\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eMarco Gorelli +\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003ePeter Hawkins\u003c/li\u003e\n\u003cli\u003eSayed Adel\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 11 pull requests were merged for this release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/28778\"\u003e#28778\u003c/a\u003e: MAINT: Prepare 2.2.x for further development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/28851\"\u003e#28851\u003c/a\u003e: BLD: Update vendor-meson to fix module_feature conflicts arguments...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/28852\"\u003e#28852\u003c/a\u003e: BUG: fix heap buffer overflow in np.strings.find\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/28853\"\u003e#28853\u003c/a\u003e: TYP: fix \u003ccode\u003eNDArray[floating] + float\u003c/code\u003e return type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/28864\"\u003e#28864\u003c/a\u003e: BUG: fix stringdtype singleton thread safety\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/28865\"\u003e#28865\u003c/a\u003e: MAINT: use OpenBLAS 0.3.29\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/28889\"\u003e#28889\u003c/a\u003e: MAINT: from_dlpack thread safety fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/28913\"\u003e#28913\u003c/a\u003e: TYP: Fix non-existent \u003ccode\u003eCanIndex\u003c/code\u003e annotation in \u003ccode\u003endarray.setfield\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/28915\"\u003e#28915\u003c/a\u003e: MAINT: Avoid dereferencing/strict aliasing warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/28916\"\u003e#28916\u003c/a\u003e: BUG: Fix missing check for PyErr_Occurred() in _pyarray_correlate.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/28966\"\u003e#28966\u003c/a\u003e: TYP: reject complex scalar types in ndarray.__ifloordiv__\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChecksums\u003c/h2\u003e\n\u003ch3\u003eMD5\u003c/h3\u003e\n\u003cpre\u003e\u003ccode\u003e259343f056061f6eadb2f4b8999d06d4  numpy-2.2.6-cp310-cp310-macosx_10_9_x86_64.whl\r\n16fa85488e149489ce7ee044d7b0d307  numpy-2.2.6-cp310-cp310-macosx_11_0_arm64.whl\r\nf01b7aea9d2b76b1eeb49766e615d689  numpy-2.2.6-cp310-cp310-macosx_14_0_arm64.whl\r\nf2ddc2b22517f6e31caa1372b12c2499  numpy-2.2.6-cp310-cp310-macosx_14_0_x86_64.whl\r\n52190e22869884f0870eb3df7a283ca9  numpy-2.2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl\r\n8f382b9ca6770db600edd5ea2447a925  numpy-2.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl\r\ne604aae2ef6e01fb92ecc39aca0424d9  numpy-2.2.6-cp310-cp310-musllinux_1_2_aarch64.whl\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/2b686f659642080e2fc708719385de6e8be0955f\"\u003e\u003ccode\u003e2b686f6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/28980\"\u003e#28980\u003c/a\u003e from charris/prepare-2.2.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/ed418286bf91434d6f8af7133645de7b4ea3f807\"\u003e\u003ccode\u003eed41828\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.2.6 release [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/83e4e7f87101e1bdc5976b686d89331e28fc77e9\"\u003e\u003ccode\u003e83e4e7f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/28966\"\u003e#28966\u003c/a\u003e from charris/backport-28958\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/248f0cba3bd4081bde896009b1f10e975a608eaa\"\u003e\u003ccode\u003e248f0cb\u003c/code\u003e\u003c/a\u003e TYP: add rejection-tests for complex \u003ccode\u003endarray\u003c/code\u003e floordiv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/5bad9dabb3b875922ffe74e6909986cf89a46a7c\"\u003e\u003ccode\u003e5bad9da\u003c/code\u003e\u003c/a\u003e TYP: reject complex scalar types in \u003ccode\u003endarray.__ifloordiv__\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/6c4277507121547f4b3f704797c7aecdae8c2273\"\u003e\u003ccode\u003e6c42775\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/28915\"\u003e#28915\u003c/a\u003e from charris/backport-28892\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/4277e7cb1e9fe48c43b47adde6d2d5268b584584\"\u003e\u003ccode\u003e4277e7c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/28916\"\u003e#28916\u003c/a\u003e from charris/backport-28898\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/bd1c863f4a17ef29a2b16f64af0b9eb4c4d2edde\"\u003e\u003ccode\u003ebd1c863\u003c/code\u003e\u003c/a\u003e BUG: Fix missing check for PyErr_Occurred() in _pyarray_correlate. (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/28898\"\u003e#28898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/87d1d8a0dc43b240a2c5607b524940114f660b6f\"\u003e\u003ccode\u003e87d1d8a\u003c/code\u003e\u003c/a\u003e MAINT: Avoid dereferencing/strict aliasing warnings during complex casts in `...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/9e506595b1b49bdc1459937d95903f56e0514fe7\"\u003e\u003ccode\u003e9e50659\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/28913\"\u003e#28913\u003c/a\u003e from charris/backport-28908\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.2.3...v2.2.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.33.1 to 2.34.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.34.0\u003c/h2\u003e\n\u003ch2\u003e2.34.0 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRequests 2.34.0 introduces inline types, replacing those provided by\ntypeshed. Public API types should be fully compatible with mypy, pyright,\nand ty. \u003cstrong\u003eWe believe types are comprehensive but if you find issues, please\nreport them to the \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003epinned tracking issue\u003c/a\u003e.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eSpecial thanks to \u003ca href=\"https://github.com/bastimeyer\"\u003e\u003ccode\u003e@​bastimeyer\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/edgarrmondragon\"\u003e\u003ccode\u003e@​edgarrmondragon\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/srittau\"\u003e\u003ccode\u003e@​srittau\u003c/code\u003e\u003c/a\u003e for\nhelping review and test the types ahead of the release. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7272\"\u003e#7272\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDigest Auth hashing algorithms have added \u003ccode\u003eusedforsecurity=False\u003c/code\u003e to clarify\nsecurity considerations. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7310\"\u003e#7310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequests added support for Python 3.15 based on beta1. Downstream projects\nshould be able to start testing prior to its release in October. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7422\"\u003e#7422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequests added support for Python 3.14t. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7419\"\u003e#7419\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\u003e\u003ccode\u003eResponse.history\u003c/code\u003e no longer contains a reference to itself, preventing\naccidental looping when traversing the history list. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7328\"\u003e#7328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequests no longer performs greedy matching on no_proxy domains. The\nproxy_bypass implementation has been updated with CPython's fix from\nbpo-39057. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7427\"\u003e#7427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequests no longer incorrectly strips duplicate leading slashes in\nURI paths. This should address user issues with specific presigned\nURLs. Note the full fix requires urllib3 2.7.0+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7315\"\u003e#7315\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/cjriches\"\u003e\u003ccode\u003e@​cjriches\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7365\"\u003epsf/requests#7365\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dsanader\"\u003e\u003ccode\u003e@​dsanader\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7376\"\u003epsf/requests#7376\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7393\"\u003epsf/requests#7393\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joshua-51\"\u003e\u003ccode\u003e@​joshua-51\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7416\"\u003epsf/requests#7416\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eggsort\"\u003e\u003ccode\u003e@​eggsort\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7421\"\u003epsf/requests#7421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typhon8\"\u003e\u003ccode\u003e@​typhon8\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7315\"\u003epsf/requests#7315\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bastimeyer\"\u003e\u003ccode\u003e@​bastimeyer\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7425\"\u003epsf/requests#7425\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#2340-2026-05-11\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2340-2026-05-11\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.34.0 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRequests 2.34.0 introduces inline types, replacing those provided by\ntypeshed. Public API types should be fully compatible with mypy, pyright,\nand ty. We believe types are comprehensive but if you find issues, please\nreport them to the pinned tracking issue.\u003c/p\u003e\n\u003cp\u003eSpecial thanks to \u003ca href=\"https://github.com/bastimeyer\"\u003e\u003ccode\u003e@​bastimeyer\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/edgarrmondragon\"\u003e\u003ccode\u003e@​edgarrmondragon\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/srittau\"\u003e\u003ccode\u003e@​srittau\u003c/code\u003e\u003c/a\u003e for\nhelping review and test the types ahead of the release. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7272\"\u003e#7272\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDigest Auth hashing algorithms have added \u003ccode\u003eusedforsecurity=False\u003c/code\u003e to clarify\nsecurity considerations. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7310\"\u003e#7310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequests added support for Python 3.15 based on beta1. Downstream projects\nshould be able to start testing prior to its release in October. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7422\"\u003e#7422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequests added support for Python 3.14t. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7419\"\u003e#7419\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\u003e\u003ccode\u003eResponse.history\u003c/code\u003e no longer contains a reference to itself, preventing\naccidental looping when traversing the history list. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7328\"\u003e#7328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequests no longer performs greedy matching on no_proxy domains. The\nproxy_bypass implementation has been updated with CPython's fix from\nbpo-39057. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7427\"\u003e#7427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequests no longer incorrectly strips duplicate leading slashes in\nURI paths. This should address user issues with specific presigned\nURLs. Note the full fix requires urllib3 2.7.0+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7315\"\u003e#7315\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/0b401c76b6e80a4eecf3c690085b2553f6e261ca\"\u003e\u003ccode\u003e0b401c7\u003c/code\u003e\u003c/a\u003e v2.34.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/86b378d3f60f828daa13ca50aa82e287ff7b66b4\"\u003e\u003ccode\u003e86b378d\u003c/code\u003e\u003c/a\u003e Align Session.get parameters with requests.get (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7429\"\u003e#7429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/a4f9a5999bdb9bf2d6e7c8aa973b28cacb17134f\"\u003e\u003ccode\u003ea4f9a59\u003c/code\u003e\u003c/a\u003e Port bpo-39057 to Requests (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7427\"\u003e#7427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/3816cfa1abd42dca21b9e837f26c59b246016aaf\"\u003e\u003ccode\u003e3816cfa\u003c/code\u003e\u003c/a\u003e Parameterize SupportsItems to handle Mapping key invariance (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7426\"\u003e#7426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b684dcb9bbf3aa557d1238e72062c4a29737dd1c\"\u003e\u003ccode\u003eb684dcb\u003c/code\u003e\u003c/a\u003e sessions: fix hooks type (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7425\"\u003e#7425\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/dc9dbdfb3434c6e58d48fd102f93e5342308817e\"\u003e\u003ccode\u003edc9dbdf\u003c/code\u003e\u003c/a\u003e Formalize 3.15 support (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7422\"\u003e#7422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/25340ebad09a38e0748aeb26232102022a03ec94\"\u003e\u003ccode\u003e25340eb\u003c/code\u003e\u003c/a\u003e Clear proxy env vars before every test run (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7423\"\u003e#7423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fd628095d7b9ddbf3e987d8a4bf0e6062768916f\"\u003e\u003ccode\u003efd62809\u003c/code\u003e\u003c/a\u003e Preserve leading slashes in request path_url (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7315\"\u003e#7315\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e8d2c015eecda8273612dd4562425e00cd164ba5\"\u003e\u003ccode\u003ee8d2c01\u003c/code\u003e\u003c/a\u003e docs: Fix missing hook output in docs example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7421\"\u003e#7421\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/eb173bc819c72580deed2d54190d340cc769e529\"\u003e\u003ccode\u003eeb173bc\u003c/code\u003e\u003c/a\u003e Add 3.14t support to CI (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7419\"\u003e#7419\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.33.1...v2.34.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `urllib3` from 2.5.0 to 2.7.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/urllib3/urllib3/releases\"\u003eurllib3's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.7.0\u003c/h2\u003e\n\u003ch2\u003e🚀 urllib3 is fundraising for HTTP/2 support\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://sethmlarson.dev/urllib3-is-fundraising-for-http2-support\"\u003eurllib3 is raising ~$40,000 USD\u003c/a\u003e to release HTTP/2 support and ensure long-term sustainable maintenance of the project after a sharp decline in financial support. If your company or organization uses Python and would benefit from HTTP/2 support in Requests, pip, cloud SDKs, and thousands of other projects \u003ca href=\"https://opencollective.com/urllib3\"\u003eplease consider contributing financially\u003c/a\u003e to ensure HTTP/2 support is developed sustainably and maintained for the long-haul.\u003c/p\u003e\n\u003cp\u003eThank you for your support.\u003c/p\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cp\u003eAddressed high-severity security issues. Impact was limited to specific use cases detailed in the accompanying advisories; overall user exposure was estimated to be marginal.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDecompression-bomb safeguards of the streaming API were bypassed:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eWhen \u003ccode\u003eHTTPResponse.drain_conn()\u003c/code\u003e was called after the response had been read and decompressed partially. (Reported by \u003ca href=\"https://github.com/Cycloctane\"\u003e\u003ccode\u003e@​Cycloctane\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDuring the second \u003ccode\u003eHTTPResponse.read(amt=N)\u003c/code\u003e or \u003ccode\u003eHTTPResponse.stream(amt=N)\u003c/code\u003e call when the response was decompressed using the official \u003ca href=\"https://pypi.org/project/brotli/\"\u003eBrotli\u003c/a\u003e library. (Reported by \u003ca href=\"https://github.com/kimkou2024\"\u003e\u003ccode\u003e@​kimkou2024\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eSee GHSA-mf9v-mfxr-j63j for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eHTTP pools created using \u003ccode\u003eProxyManager.connection_from_url\u003c/code\u003e did not strip sensitive headers specified in \u003ccode\u003eRetry.remove_headers_on_redirect\u003c/code\u003e when redirecting to a different host. (GHSA-qccp-gfcp-xxvc reported by \u003ca href=\"https://github.com/christos-spearbit\"\u003e\u003ccode\u003e@​christos-spearbit\u003c/code\u003e\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations and Removals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUsed \u003ccode\u003eFutureWarning\u003c/code\u003e instead of \u003ccode\u003eDeprecationWarning\u003c/code\u003e for better visibility of existing deprecation notices. Rescheduled the removal of deprecated features to version 3.0. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3763\"\u003eurllib3/urllib3#3763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemoved support for end-of-life Python 3.9. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3720\"\u003eurllib3/urllib3#3720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemoved support for end-of-life PyPy3.10. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/4979\"\u003eurllib3/urllib3#4979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBumped the minimum supported pyOpenSSL version to 19.0.0. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3777\"\u003eurllib3/urllib3#3777\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a bug where \u003ccode\u003eHTTPResponse.read(amt=None)\u003c/code\u003e was ignoring decompressed data buffered from previous partial reads. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3636\"\u003eurllib3/urllib3#3636\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a bug where \u003ccode\u003eHTTPResponse.read()\u003c/code\u003e could cache only part of the response after a partial read when \u003ccode\u003ecache_content=True\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/4967\"\u003eurllib3/urllib3#4967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eHTTPResponse.stream()\u003c/code\u003e and \u003ccode\u003eHTTPResponse.read_chunked()\u003c/code\u003e to handle \u003ccode\u003eamt=0\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3793\"\u003eurllib3/urllib3#3793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003e_TYPE_BODY\u003c/code\u003e type alias to include missing \u003ccode\u003eIterable[str]\u003c/code\u003e, matching the documented and runtime behavior of chunked request bodies. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3798\"\u003eurllib3/urllib3#3798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eLocationParseError\u003c/code\u003e when paths resembling schemeless URIs were passed to \u003ccode\u003eHTTPConnectionPool.urlopen()\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3352\"\u003eurllib3/urllib3#3352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eBaseHTTPResponse.readinto()\u003c/code\u003e type annotation to accept \u003ccode\u003ememoryview\u003c/code\u003e in addition to \u003ccode\u003ebytearray\u003c/code\u003e, matching the \u003ccode\u003eio.RawIOBase.readinto\u003c/code\u003e contract and enabling use with \u003ccode\u003eio.BufferedReader\u003c/code\u003e without type errors. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3764\"\u003eurllib3/urllib3#3764\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.6.3\u003c/h2\u003e\n\u003ch2\u003e🚀 urllib3 is fundraising for HTTP/2 support\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://sethmlarson.dev/urllib3-is-fundraising-for-http2-support\"\u003eurllib3 is raising ~$40,000 USD\u003c/a\u003e to release HTTP/2 support and ensure long-term sustainable maintenance of the project after a sharp decline in financial support. If your company or organization uses Python and would benefit from HTTP/2 support in Requests, pip, cloud SDKs, and thousands of other projects \u003ca href=\"https://opencollective.com/urllib3\"\u003eplease consider contributing financially\u003c/a\u003e to ensure HTTP/2 support is developed sustainably and maintained for the long-haul.\u003c/p\u003e\n\u003cp\u003eThank you for your support.\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a security issue where decompression-bomb safeguards of the streaming API were bypassed when HTTP redirects were followed. (CVE-2026-21441 reported by \u003ca href=\"https://github.com/D47A\"\u003e\u003ccode\u003e@​D47A\u003c/code\u003e\u003c/a\u003e, 8.9 High, GHSA-38jv-5279-wg99)\u003c/li\u003e\n\u003cli\u003eStarted treating \u003ccode\u003eRetry-After\u003c/code\u003e times greater than 6 hours as 6 hours by default. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3743\"\u003eurllib3/urllib3#3743\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eurllib3.connection.VerifiedHTTPSConnection\u003c/code\u003e on Emscripten. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3752\"\u003eurllib3/urllib3#3752\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.6.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/urllib3/urllib3/blob/main/CHANGES.rst\"\u003eurllib3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.7.0 (2026-05-07)\u003c/h1\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cp\u003eAddressed high-severity security issues.\nImpact was limited to specific use cases detailed in the accompanying\nadvisories; overall user exposure was estimated to be marginal.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDecompression-bomb safeguards of the streaming API were bypassed:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eWhen \u003ccode\u003eHTTPResponse.drain_conn()\u003c/code\u003e was called after the response had been\nread and decompressed partially.\u003c/li\u003e\n\u003cli\u003eDuring the second \u003ccode\u003eHTTPResponse.read(amt=N)\u003c/code\u003e or\n\u003ccode\u003eHTTPResponse.stream(amt=N)\u003c/code\u003e call when the response was decompressed\nusing the official \u003ccode\u003eBrotli \u0026lt;https://pypi.org/project/brotli/\u0026gt;\u003c/code\u003e__ library.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eSee \u003ccode\u003eGHSA-mf9v-mfxr-j63j \u0026lt;https://github.com/urllib3/urllib3/security/advisories/GHSA-mf9v-mfxr-j63j\u0026gt;\u003c/code\u003e__\nfor details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eHTTP pools created using \u003ccode\u003eProxyManager.connection_from_url\u003c/code\u003e did not strip\nsensitive headers specified in \u003ccode\u003eRetry.remove_headers_on_redirect\u003c/code\u003e when\nredirecting to a different host.\n(\u003ccode\u003eGHSA-qccp-gfcp-xxvc \u0026lt;https://github.com/urllib3/urllib3/security/advisories/GHSA-qccp-gfcp-xxvc\u0026gt;\u003c/code\u003e__)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations and Removals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUsed \u003ccode\u003eFutureWarning\u003c/code\u003e instead of \u003ccode\u003eDeprecationWarning\u003c/code\u003e for better\nvisibility of existing deprecation notices. Rescheduled the removal of\ndeprecated features to version 3.0.\n(\u003ccode\u003e[#3763](https://github.com/urllib3/urllib3/issues/3763) \u0026lt;https://github.com/urllib3/urllib3/issues/3763\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eRemoved support for end-of-life Python 3.9.\n(\u003ccode\u003e[#3720](https://github.com/urllib3/urllib3/issues/3720) \u0026lt;https://github.com/urllib3/urllib3/issues/3720\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eRemoved support for end-of-life PyPy3.10.\n(\u003ccode\u003e[#4979](https://github.com/urllib3/urllib3/issues/4979) \u0026lt;https://github.com/urllib3/urllib3/issues/4979\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eBumped the minimum supported pyOpenSSL version to 19.0.0.\n(\u003ccode\u003e[#3777](https://github.com/urllib3/urllib3/issues/3777) \u0026lt;https://github.com/urllib3/urllib3/issues/3777\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a bug where \u003ccode\u003eHTTPResponse.read(amt=None)\u003c/code\u003e was ignoring decompressed\ndata buffered from previous partial reads.\n(\u003ccode\u003e[#3636](https://github.com/urllib3/urllib3/issues/3636) \u0026lt;https://github.com/urllib3/urllib3/issues/3636\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eFixed a bug where \u003ccode\u003eHTTPResponse.read()\u003c/code\u003e could cache only part of the\nresponse after a partial read when \u003ccode\u003ecache_content=True\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/urllib3/urllib3/commit/9a950b92d999f906b6020bb2d1076ee56cddd5d2\"\u003e\u003ccode\u003e9a950b9\u003c/code\u003e\u003c/a\u003e Release 2.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/5ec0de499b9166ca71c65ab04f2a7e4eb0d66fcc\"\u003e\u003ccode\u003e5ec0de4\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/2bdcc44d1e163fb5cc48a8662425e35e15adfe6a\"\u003e\u003ccode\u003e2bdcc44\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/f45b0df09d8620ac6ed0491eb9362c8c87b7bc2c\"\u003e\u003ccode\u003ef45b0df\u003c/code\u003e\u003c/a\u003e Fix a misleading example for \u003ccode\u003eProxyManager\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/4970\"\u003e#4970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/577193ca029872384f82c133449e0935f6d8a64b\"\u003e\u003ccode\u003e577193c\u003c/code\u003e\u003c/a\u003e Switch to nightly PyPy3.11 in CI for now (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/4984\"\u003e#4984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/e90af45bb006c3a452a3a21644a2681523f5c7fc\"\u003e\u003ccode\u003ee90af45\u003c/code\u003e\u003c/a\u003e Avoid infinite loop in \u003ccode\u003eHTTPResponse.read_chunked\u003c/code\u003e when \u003ccode\u003eamt=0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/4974\"\u003e#4974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/67ed74fdaec6659a6534621ec8e3aaaa6f976210\"\u003e\u003ccode\u003e67ed74f\u003c/code\u003e\u003c/a\u003e Bump dev dependencies (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/4972\"\u003e#4972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/3abd481097b54d87b574ac7ea593c3f40938a84d\"\u003e\u003ccode\u003e3abd481\u003c/code\u003e\u003c/a\u003e Upgrade mypy to version 1.20.2 (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/4978\"\u003e#4978\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/2b8725dfcac4f21d4d93cc0cc3a64a33af08f890\"\u003e\u003ccode\u003e2b8725d\u003c/code\u003e\u003c/a\u003e Drop support for EOL PyPy3.10 (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/4979\"\u003e#4979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/2944b2a0a6c573f5548a39cfd17196f98ee21b33\"\u003e\u003ccode\u003e2944b2a\u003c/code\u003e\u003c/a\u003e Upgrade \u003ccode\u003esetup-chrome\u003c/code\u003e and \u003ccode\u003esetup-firefox\u003c/code\u003e to fix warnings (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/4973\"\u003e#4973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/urllib3/urllib3/compare/2.5.0...2.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.11.4 to 2.13.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.4 2026-05-06\u003c/h2\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13129\"\u003e#13129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.3 2026-04-20\u003c/h2\u003e\n\u003ch2\u003ev2.13.3 (2026-04-20)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13096\"\u003e#13096\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.2...v2.13.3\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.2...v2.13.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.2 2026-04-17\u003c/h2\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13084\"\u003e#13084\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.1...v2.13.2\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.1...v2.13.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.1 2026-04-15\u003c/h2\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13079\"\u003e#13079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.1\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.0 2026-04-13\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/v2.13.4/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.4\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13129\"\u003e#13129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.3 (2026-04-20)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.3\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13096\"\u003e#13096\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.2\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13084\"\u003e#13084\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.1\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13079\"\u003e#13079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.0 (2026-04-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.0\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe highlights of the v2.13 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-13-release\"\u003eblog post\u003c/a\u003e.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/cf67d4b3193c3fe43ede18612ed62785eee11382\"\u003e\u003ccode\u003ecf67d4b\u003c/code\u003e\u003c/a\u003e Fix linting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f0d8a214a5803036db46a56b1f62f1e56b81d662\"\u003e\u003ccode\u003ef0d8a21\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/5e3fe1d41a00f441204241c66078003ae0391f9a\"\u003e\u003ccode\u003e5e3fe1d\u003c/code\u003e\u003c/a\u003e Check for pydantic tag pattern in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7f9edcc2a191d2eaa9751220eb910914e716a686\"\u003e\u003ccode\u003e7f9edcc\u003c/code\u003e\u003c/a\u003e Document tagging conventions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b46a0c9b8a4dd967fda8ec1a92f6437076bf262c\"\u003e\u003ccode\u003eb46a0c9\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/50629c851e61d887d5420452c311ec6203f1f400\"\u003e\u003ccode\u003e50629c8\u003c/code\u003e\u003c/a\u003e Update to PyPy 7.3.22\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8522ebb71e5e9a6f7188af5f009f01785b8cf725\"\u003e\u003ccode\u003e8522ebb\u003c/code\u003e\u003c/a\u003e Preserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a37f3aff090ca342dc5f48304889963530b993f8\"\u003e\u003ccode\u003ea37f3af\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003eMISSING\u003c/code\u003e sentinel test to work with unreleased \u003ccode\u003etyping_extensions\u003c/code\u003e ver...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/909259a9df660518033aa686b689f045a6eaf9d2\"\u003e\u003ccode\u003e909259a\u003c/code\u003e\u003c/a\u003e Remove Logfire example in documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/2c4174c366606fc2dc46cb806833a080aefa77df\"\u003e\u003ccode\u003e2c4174c\u003c/code\u003e\u003c/a\u003e Bump libc from 0.2.155 to 0.2.185\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.4...v2.13.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pip` from 26.0 to 26.1.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/pip/blob/main/NEWS.rst\"\u003epip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e26.1.1 (2026-05-04)\u003c/h1\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where uninstallation left behind empty directories. Revert the\nremoval of the adjacent \u003ccode\u003e__pycache__\u003c/code\u003e directory when a .py file is removed. (\u003ccode\u003e[#13973](https://github.com/pypa/pip/issues/13973) \u0026lt;https://github.com/pypa/pip/issues/13973\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e26.1 (2026-04-26)\u003c/h1\u003e\n\u003ch2\u003eDeprecations and Removals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.9. (\u003ccode\u003e[#13795](https://github.com/pypa/pip/issues/13795) \u0026lt;https://github.com/pypa/pip/issues/13795\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd experimental support to read requirements from standardized pylock.toml files (\u003ccode\u003e-r pylock.toml\u003c/code\u003e). (\u003ccode\u003e[#13876](https://github.com/pypa/pip/issues/13876) \u0026lt;https://github.com/pypa/pip/issues/13876\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003e--uploaded-prior-to\u003c/code\u003e to accept a duration in days (e.g., \u003ccode\u003eP3D\u003c/code\u003e for 3 days ago). (\u003ccode\u003e[#13674](https://github.com/pypa/pip/issues/13674) \u0026lt;https://github.com/pypa/pip/issues/13674\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up dependency resolution when there are complex conflicts. (\u003ccode\u003e[#13859](https://github.com/pypa/pip/issues/13859) \u0026lt;https://github.com/pypa/pip/issues/13859\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eReduce memory usage when resolving large dependency trees. (\u003ccode\u003e[#13843](https://github.com/pypa/pip/issues/13843) \u0026lt;https://github.com/pypa/pip/issues/13843\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eEmit a deprecation warning when pip imports an unexpected module after\ninstallation of a distribution has started. (\u003ccode\u003e[#13912](https://github.com/pypa/pip/issues/13912) \u0026lt;https://github.com/pypa/pip/issues/13912\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eAllow URL constraints to apply to requirements with extras. (\u003ccode\u003e[#12018](https://github.com/pypa/pip/issues/12018) \u0026lt;https://github.com/pypa/pip/issues/12018\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eAllow unpinned requirements to use hashes from constraints. Constraints\nlike \u003ccode\u003e{name}=={version} --hash=...\u003c/code\u003e feeds into hash verification for\na corresponding requirement. (\u003ccode\u003e[#9243](https://github.com/pypa/pip/issues/9243) \u0026lt;https://github.com/pypa/pip/issues/9243\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eImprove conflict reports that involve direct URLs. (\u003ccode\u003e[#13932](https://github.com/pypa/pip/issues/13932) \u0026lt;https://github.com/pypa/pip/issues/13932\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eShow all errors instead of first error for faulty \u003ccode\u003edependency_groups\u003c/code\u003e definitions. (\u003ccode\u003e[#13917](https://github.com/pypa/pip/issues/13917) \u0026lt;https://github.com/pypa/pip/issues/13917\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix recovery hint for missing RECORD file to use \u003ccode\u003e--ignore-installed\u003c/code\u003e\ninstead of \u003ccode\u003e--force-reinstall\u003c/code\u003e. (\u003ccode\u003e[#12645](https://github.com/pypa/pip/issues/12645) \u0026lt;https://github.com/pypa/pip/issues/12645\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix misleading error message when a constraint file cannot be opened. (\u003ccode\u003e[#13226](https://github.com/pypa/pip/issues/13226) \u0026lt;https://github.com/pypa/pip/issues/13226\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eShow the filename rather than the full URL when downloading files from non-PyPI indexes in non-verbose mode. (\u003ccode\u003e[#13494](https://github.com/pypa/pip/issues/13494) \u0026lt;https://github.com/pypa/pip/issues/13494\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eRemove the adjacent \u003ccode\u003e__pycache__\u003c/code\u003e directory when a .py file is removed. (\u003ccode\u003e[#13725](https://github.com/pypa/pip/issues/13725) \u0026lt;https://github.com/pypa/pip/issues/13725\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eForce UTF-8 encoding for :pep:\u003ccode\u003e723\u003c/code\u003e metadata. (\u003ccode\u003e[#13861](https://github.com/pypa/pip/issues/13861) \u0026lt;https://github.com/pypa/pip/issues/13861\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eMinor performance improvement when filtering candidates during resolution. (\u003ccode\u003e[#13916](https://github.com/pypa/pip/issues/13916) \u0026lt;https://github.com/pypa/pip/issues/13916\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a hang on Windows when stdout is closed during verbose output. (\u003ccode\u003e[#13927](https://github.com/pypa/pip/issues/13927) \u0026lt;https://github.com/pypa/pip/issues/13927\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eCommon path prefixes are determined by path segment, not character by character. (\u003ccode\u003e[#13847](https://github.com/pypa/pip/issues/13847) \u0026lt;https://github.com/pypa/pip/issues/13847\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix installing \u003ccode\u003e.tar.gz\u003c/code\u003e source distributions that look like a zip file. (\u003ccode\u003e[#13867](https://github.com/pypa/pip/issues/13867) \u0026lt;https://github.com/pypa/pip/issues/13867\u0026gt;\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/pip/commit/4432a371c6471e6a93c3eb39b3e9ab2b876b13b9\"\u003e\u003ccode\u003e4432a37\u003c/code\u003e\u003c/a\u003e Bump for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/pip/commit/4943e17e7dd079b3f58e88009d10308f2c55a3ed\"\u003e\u003ccode\u003e4943e17\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/pip/issues/13973\"\u003e#13973\u003c/a\u003e from pypa/revert-13725-vfazio-remove-all-optimizati...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/pip/commit/e9e7b90f35bfcd3c9e4ff93e0f0cc1b90f59aa68\"\u003e\u003ccode\u003ee9e7b90\u003c/code\u003e\u003c/a\u003e Add news\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/pip/commit/0ff696479aa07ea5ca78b08d205ae23854b6e0e8\"\u003e\u003ccode\u003e0ff6964\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Remove \u003cstrong\u003epycache\u003c/strong\u003e when package is removed\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/pip/commit/cc6b082d6b9350d96c5a24337b12b7a42846c410\"\u003e\u003ccode\u003ecc6b082\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/pip/issues/13951\"\u003e#13951\u003c/a\u003e from sbidoul/release/26.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/pip/commit/b2671f1cb340f33db300f0bffc062402bce3eca0\"\u003e\u003ccode\u003eb2671f1\u003c/code\u003e\u003c/a\u003e Bump for development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/pip/commit/90b2b3e0f7ef75c485155716d904e51654575803\"\u003e\u003ccode\u003e90b2b3e\u003c/code\u003e\u003c/a\u003e Bump for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/pip/commit/193f289a6201f801b23885297332461ac8a65b6b\"\u003e\u003ccode\u003e193f289\u003c/code\u003e\u003c/a\u003e Update AUTHORS.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/pip/commit/63c3709071c9596d7f4676502a90a3b06f241772\"\u003e\u003ccode\u003e63c3709\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/pip/issues/13876\"\u003e#13876\u003c/a\u003e from sbidoul/install-from-pylock-reqs-sbi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/pip/commit/e5fe7023ffe74a5895571eaf57bdd2989018fbf2\"\u003e\u003ccode\u003ee5fe702\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/pip/issues/13949\"\u003e#13949\u003c/a\u003e from pypa/revert-13888-resolver-editable-links\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/pip/compare/26.0...26.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `json-schema-to-pydantic` from 0.4.6 to 0.4.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/richard-gyiko/json-schema-to-pydantic/releases\"\u003ejson-schema-to-pydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.4.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: support non-model types in predefined refs by \u003ca href=\"https://github.com/richard-gyiko\"\u003e\u003ccode\u003e@​richard-gyiko\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/richard-gyiko/json-schema-to-pydantic/pull/43\"\u003erichard-gyiko/json-schema-to-pydantic#43\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/richard-gyiko/json-schema-to-pydantic/compare/v0.4.10...v0.4.11\"\u003ehttps://github.com/richard-gyiko/json-schema-to-pydantic/compare/v0.4.10...v0.4.11\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.4.10\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: support predefined models for $ref resolution by \u003ca href=\"https://github.com/richard-gyiko\"\u003e\u003ccode\u003e@​richard-gyiko\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/richard-gyiko/json-schema-to-pydantic/pull/42\"\u003erichard-gyiko/json-schema-to-pydantic#42\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/richard-gyiko/json-schema-to-pydantic/compare/v0.4.9...v0.4.10\"\u003ehttps://github.com/richard-gyiko/json-schema-to-pydantic/compare/v0.4.9...v0.4.10\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.4.9\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: Add support for fields with underscores and populate by name by \u003ca href=\"https://github.com/MartinGotelli\"\u003e\u003ccode\u003e@​MartinGotelli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/richard-gyiko/json-schema-to-pydantic/pull/40\"\u003erichard-gyiko/json-schema-to-pydantic#40\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release adds support for JSON Schema fields that start with underscores (common in OpenAPI specs). Since Pydantic doesn't allow field names starting with \u003ccode\u003e_\u003c/code\u003e, the library now:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSanitizes field names by stripping leading underscores and creating aliases\u003c/li\u003e\n\u003cli\u003eAdds a \u003ccode\u003epopulate_by_name\u003c/code\u003e parameter to allow models to be populated by either the original name or the sanitized name\u003c/li\u003e\n\u003cli\u003eProperly handles \u003ccode\u003eallOf\u003c/code\u003e, \u003ccode\u003eoneOf\u003c/code\u003e, and \u003ccode\u003eanyOf\u003c/code\u003e combiners with underscore fields\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/richard-gyiko/json-schema-to-pydantic/compare/v0.4.8...v0.4.9\"\u003ehttps://github.com/richard-gyiko/json-schema-to-pydantic/compare/v0.4.8...v0.4.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.4.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix oneOf handling for simple types, refs, and add scalar root support by \u003ca href=\"https://github.com/richard-gyiko\"\u003e\u003ccode\u003e@​richard-gyiko\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/richard-gyiko/json-schema-to-pydantic/pull/38\"\u003erichard-gyiko/json-schema-to-pydantic#38\u003c/a\u003e Co-authored-by: Anatoly Zelenin \u003ca href=\"mailto:anatoly@zelenin.de\"\u003eanatoly@zelenin.de\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/richard-gyiko/json-schema-to-pydantic/compare/v0.4.7...v0.4.8\"\u003ehttps://github.com/richard-gyiko/json-schema-to-pydantic/compare/v0.4.7...v0.4.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.4.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for top-level array schemas using RootModel by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/richard-gyiko/json-schema-to-pydantic/pull/31\"\u003erichard-gyiko/json-schema-to-pydantic#31\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/richard-gyiko/json-schema-to-pydantic/compare/v0.4.6...v0.4.7\"\u003ehttps://github.com/richard-gyiko/json-schema-to-pydantic/compare/v0.4.6...v0.4.7\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/richard-gyiko/json-schema-to-pydantic/commit/59df04840aec34cc78b04a48178d0794ee9c290f\"\u003e\u003ccode\u003e59df048\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/richard-gyiko/json-schema-to-pydantic/issues/43\"\u003e#43\u003c/a\u003e from richard-gyiko/feat/predefined-refs-non-model-types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/richard-gyiko/json-schema-to-pydantic/commit/dac8e5e35b9dc95e2fe5a8191b66e3078b2a0dbb\"\u003e\u003ccode\u003edac8e5e\u003c/code\u003e\u003c/a\u003e fix: cache top-level predefined ref root models\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/richard-gyiko/json-schema-to-pydantic/commit/1cf9829044df31d3d942231517724278a7b49fdd\"\u003e\u003ccode\u003e1cf9829\u003c/code\u003e\u003c/a\u003e feat: support predefined non-model ref types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/richard-gyiko/json-schema-to-pydantic/commit/2b001755040a88817d6acd005eaef95357dd5f1f\"\u003e\u003ccode\u003e2b00175\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/richard-gyiko/json-schema-to-pydantic/issues/42\"\u003e#42\u003c/a\u003e from richard-gyiko/feat/predefined-models-ref-seeding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/richard-gyiko/json-schema-to-pydantic/commit/bf3896bd3a8d8a458a73963e96486c393a91f3ac\"\u003e\u003ccode\u003ebf3896b\u003c/code\u003e\u003c/a\u003e fix: tighten predefined model validation for refs and base type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/richard-gyiko/json-schema-to-pydantic/commit/280c83cb3de23238f704c31355534204f49a00d3\"\u003e\u003ccode\u003e280c83c\u003c/code\u003e\u003c/a\u003e feat: support predefined models for  resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/richard-gyiko/json-schema-to-pydantic/commit/34c39e0beff4e7a6e15a9e25c1568d46e042c6b0\"\u003e\u003ccode\u003e34c39e0\u003c/code\u003e\u003c/a\u003e docs: update README and features.md with recent capabilities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/richard-gyiko/json-schema-to-pydantic/commit/f4475b2b408f1fae1d20da3cd6a148c2544b1c9b\"\u003e\u003ccode\u003ef4475b2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/richard-gyiko/json-schema-to-pydantic/issues/40\"\u003e#40\u003c/a\u003e from MartinGotelli/feat/underscore_names\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/richard-gyiko/json-schema-to-pydantic/commit/d2c07ebd6b8d3bcfb4b55d7b1fca7276d1c603aa\"\u003e\u003ccode\u003ed2c07eb\u003c/code\u003e\u003c/a\u003e feat: Add support for underscore name in oneOf, allOf, and anyOf\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/richard-gyiko/json-schema-to-pydantic/commit/b1d57ceb003395f0e196b3fb95a77179f208251f\"\u003e\u003ccode\u003eb1d57ce\u003c/code\u003e\u003c/a\u003e fix: Add nested underscore properties test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/richard-gyiko/json-schema-to-pydantic/compare/v0.4.6...v0.4.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `anthropic` from 0.51.0 to 0.101.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.101.0\u003c/h2\u003e\n\u003ch2\u003e0.101.0 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.100.0...v0.101.0\"\u003ev0.100.0...v0.101.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eaws:\u003c/strong\u003e Add AWS client for Claude Platform on AWS (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/1e70e3a21d57a96721685c1eca9cedd10cdd5b63\"\u003e1e70e3a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add missing f-string prefix in file type error message (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/06d109aaf36629ec15c8fb076c96aed722933600\"\u003e06d109a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eexamples:\u003c/strong\u003e bump tools_runner.py to claude-sonnet-4-5-20250929 (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1473\"\u003e#1473\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/1aa8e410fd34d4c4971234a3ae7c7b11a5fadaf9\"\u003e1aa8e41\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexamples:\u003c/strong\u003e update shebang from poetry to uv (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1497\"\u003e#1497\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/ace8f38dccd587efc0528aba14ec09b50480b514\"\u003eace8f38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.100.0\u003c/h2\u003e\n\u003ch2\u003e0.100.0 (2026-05-06)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.99.0...v0.100.0\"\u003ev0.99.0...v0.100.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add support for Managed Agents multiagents and outcomes, webhooks, vault validation (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/3b3deee9c479ce5b54411a8572b66c5a90f1d50f\"\u003e3b3deee\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Adjust webhook configuration (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/8c3339e532458e93585f2faf4f284ccbb5829717\"\u003e8c3339e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.99.0\u003c/h2\u003e\n\u003ch2\u003e0.99.0 (2026-05-05)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.98.1...v0.99.0\"\u003ev0.98.1...v0.99.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e allow targeting a workspace for OIDC federation token exchange (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/4ba8067daa634691ea8c8a3b970d42bdaf5f04eb\"\u003e4ba8067\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.98.1\u003c/h2\u003e\n\u003ch2\u003e0.98.1 (2026-05-04)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.98.0...v0.98.1\"\u003ev0.98.0...v0.98.1\u003c/a\u003e\u003c/p\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\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.101.0 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.100.0...v0.101.0\"\u003ev0.100.0...v0.101.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eaws:\u003c/strong\u003e Add AWS client for Claude Platform on AWS (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/1e70e3a21d57a96721685c1eca9cedd10cdd5b63\"\u003e1e70e3a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add missing f-string prefix in file type error message (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/06d109aaf36629ec15c8fb076c96aed722933600\"\u003e06d109a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eexamples:\u003c/strong\u003e bump tools_runner.py to claude-sonnet-4-5-20250929 (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1473\"\u003e#1473\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/1aa8e410fd34d4c4971234a3ae7c7b11a5fadaf9\"\u003e1aa8e41\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexamples:\u003c/strong\u003e update shebang from poetry to uv (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1497\"\u003e#1497\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/ace8f38dccd587efc0528aba14ec09b50480b514\"\u003eace8f38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.100.0 (2026-05-06)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.99.0...v0.100.0\"\u003ev0.99.0...v0.100.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add support for Managed Agents multiagents and outcomes, webhooks, vault validation (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/3b3deee9c479ce5b54411a8572b66c5a90f1d50f\"\u003e3b3deee\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Adjust webhook configuration (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/8c3339e532458e93585f2faf4f284ccbb5829717\"\u003e8c3339e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.99.0 (2026-05-05)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.98.1...v0.99.0\"\u003ev0.98.1...v0.99.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e allow targeting a workspace for OIDC federation token exchange (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/4ba8067daa634691ea8c8a3b970d42bdaf5f04eb\"\u003e4ba8067\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.98.1 (2026-05-04)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.98.0...v0.98.1\"\u003ev0.98.0...v0.98.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix typo in example (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1754\"\u003e#1754\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/de8ba13769837f92ff00be8a1b1e9ad0749eae2f\"\u003ede8ba13\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.98.0 (2026-05-04)\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/anthropics/anthropic-sdk-python/commit/e8e6f6692632b5fdbea5df1e44cdbd0193fac521\"\u003e\u003ccode\u003ee8e6f66\u003c/code\u003e\u003c/a\u003e release: 0.101.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/c7e341122ebb4ac664ec3694fd6589f3759bf84d\"\u003e\u003ccode\u003ec7e3411\u003c/code\u003e\u003c/a\u003e feat(aws): Add AWS client for Claude Platform on AWS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/ae76de1564eac15f953d146e87a790c191c037d5\"\u003e\u003ccode\u003eae76de1\u003c/code\u003e\u003c/a\u003e fix(client): add missing f-string prefix in file type error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/b4243318fd634c8346105acbe289f872616e8eb3\"\u003e\u003ccode\u003eb424331\u003c/code\u003e\u003c/a\u003e chore(examples): bump tools_runner.py to claude-sonn...\n\n_Description has been truncated_","html_url":"https://github.com/griptape-ai/griptape/pull/2173","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/griptape-ai%2Fgriptape/issues/2173","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2173/packages"},{"uuid":"4417279876","node_id":"PR_kwDORw6c6s7aEaQ_","number":107,"state":"open","title":"chore(deps)(deps): update pgvector requirement from \u003c1.0.0,\u003e=0.3.6 to \u003e=0.4.2,\u003c1.0.0 in /backend","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-11T00:28:21.000Z","updated_at":"2026-05-16T01:03:16.734Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps): update","packages":[{"name":"pgvector","old_version":"\u003c1.0.0,\u003e=0.3.6","new_version":"\u003e=0.4.2,\u003c1.0.0","repository_url":"https://github.com/pgvector/pgvector-python"}],"path":"/backend","ecosystem":"pip"},"body":"Updates the requirements on [pgvector](https://github.com/pgvector/pgvector-python) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md\"\u003epgvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2 (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 6\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estr\u003c/code\u003e objects for \u003ccode\u003ebit\u003c/code\u003e type with SQLAlchemy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 (2025-04-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eSparseVector\u003c/code\u003e constructor for SciPy sparse matrices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 (2025-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded top-level \u003ccode\u003epgvector\u003c/code\u003e package\u003c/li\u003e\n\u003cli\u003eAdded support for pg8000\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ebytes\u003c/code\u003e to \u003ccode\u003eBit\u003c/code\u003e constructor\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eglobally\u003c/code\u003e option to default to \u003ccode\u003eFalse\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003earrays\u003c/code\u003e option to default to \u003ccode\u003eTrue\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eFixed equality for \u003ccode\u003eVector\u003c/code\u003e, \u003ccode\u003eHalfVector\u003c/code\u003e, \u003ccode\u003eBit\u003c/code\u003e, and \u003ccode\u003eSparseVector\u003c/code\u003e classes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eindices\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods of \u003ccode\u003eSparseVector\u003c/code\u003e returning tuple instead of list in some cases\u003c/li\u003e\n\u003cli\u003eDropped support for Python \u0026lt; 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 (2024-10-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003earrays\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 (2024-10-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eavg\u003c/code\u003e function with type casting to SQLAlchemy\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eglobally\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.4 (2024-09-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eschema\u003c/code\u003e option for asyncpg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.3 (2024-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved support for cursor factories with Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.2 (2024-07-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error with asyncpg and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.1 (2024-07-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error parsing zero sparse vectors\u003c/li\u003e\n\u003cli\u003eFixed error with Psycopg 2 and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003cli\u003eFixed error message when \u003ccode\u003evector\u003c/code\u003e type not found with Psycopg 3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.0 (2024-06-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ehalfvec\u003c/code\u003e, \u003ccode\u003ebit\u003c/code\u003e, and \u003ccode\u003esparsevec\u003c/code\u003e types to Django\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/2968f258f9486531bd1340cbda4ff8fcaf06cdc1\"\u003e\u003ccode\u003e2968f25\u003c/code\u003e\u003c/a\u003e Version bump to 0.4.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/674f5ba3410c873d49f50fa9725b95d9db50c674\"\u003e\u003ccode\u003e674f5ba\u003c/code\u003e\u003c/a\u003e Updated checkout action [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e2986daf2b1533cc2c849f7e39350e31d57ac325\"\u003e\u003ccode\u003ee2986da\u003c/code\u003e\u003c/a\u003e Added support for Django 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e211ba4029f204734f0c001fbb90f6a594d561ae\"\u003e\u003ccode\u003ee211ba4\u003c/code\u003e\u003c/a\u003e Test with Python 3.14 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/1a72b7571adf3325174b383aca85bfb3a5b925fa\"\u003e\u003ccode\u003e1a72b75\u003c/code\u003e\u003c/a\u003e Updated pgvector on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/c820a53bfb46196551de3c3f59f81b192d890574\"\u003e\u003ccode\u003ec820a53\u003c/code\u003e\u003c/a\u003e Simplified examples [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/caf1a2e0dd7a1ba2ad0ca9f09b50516dcfffcdeb\"\u003e\u003ccode\u003ecaf1a2e\u003c/code\u003e\u003c/a\u003e Added docs for binary quantization with SQLAlchemy [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/dc9a8f959995f009649fd230139ca41193e0a801\"\u003e\u003ccode\u003edc9a8f9\u003c/code\u003e\u003c/a\u003e Added test for binary quantization with re-ranking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/33dee606229489c9ffb0cb5a1cd72bd4705ac618\"\u003e\u003ccode\u003e33dee60\u003c/code\u003e\u003c/a\u003e Added support for str objects for bit type with SQLAlchemy - \u003ca href=\"https://redirect.github.com/pgvector/pgvector-python/issues/137\"\u003e#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/ee3e71ca2c07a12a8332a3877c0ce14adc9a5da8\"\u003e\u003ccode\u003eee3e71c\u003c/code\u003e\u003c/a\u003e Updated format for license identifier\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgvector/pgvector-python/compare/v0.3.6...v0.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/hdj82-bot/classauto.live-/pull/107","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/hdj82-bot%2Fclassauto.live-/issues/107","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/107/packages"},{"uuid":"4324507411","node_id":"PR_kwDOQeMlis7VadCb","number":38,"state":"closed","title":"chore(deps)(deps): bump pgvector from 0.2.5 to 0.4.2 in /maritime-ai-service","user":"dependabot[bot]","labels":["area:backend","dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-04-24T17:32:37.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-24T17:18:52.000Z","updated_at":"2026-04-24T17:32:39.000Z","time_to_close":825,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps)","packages":[{"name":"pgvector","old_version":"0.2.5","new_version":"0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"}],"path":"/maritime-ai-service","ecosystem":"pip"},"body":"Bumps [pgvector](https://github.com/pgvector/pgvector-python) from 0.2.5 to 0.4.2.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md\"\u003epgvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2 (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 6\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estr\u003c/code\u003e objects for \u003ccode\u003ebit\u003c/code\u003e type with SQLAlchemy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 (2025-04-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eSparseVector\u003c/code\u003e constructor for SciPy sparse matrices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 (2025-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded top-level \u003ccode\u003epgvector\u003c/code\u003e package\u003c/li\u003e\n\u003cli\u003eAdded support for pg8000\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ebytes\u003c/code\u003e to \u003ccode\u003eBit\u003c/code\u003e constructor\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eglobally\u003c/code\u003e option to default to \u003ccode\u003eFalse\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003earrays\u003c/code\u003e option to default to \u003ccode\u003eTrue\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eFixed equality for \u003ccode\u003eVector\u003c/code\u003e, \u003ccode\u003eHalfVector\u003c/code\u003e, \u003ccode\u003eBit\u003c/code\u003e, and \u003ccode\u003eSparseVector\u003c/code\u003e classes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eindices\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods of \u003ccode\u003eSparseVector\u003c/code\u003e returning tuple instead of list in some cases\u003c/li\u003e\n\u003cli\u003eDropped support for Python \u0026lt; 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 (2024-10-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003earrays\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 (2024-10-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eavg\u003c/code\u003e function with type casting to SQLAlchemy\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eglobally\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.4 (2024-09-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eschema\u003c/code\u003e option for asyncpg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.3 (2024-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved support for cursor factories with Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.2 (2024-07-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error with asyncpg and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.1 (2024-07-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error parsing zero sparse vectors\u003c/li\u003e\n\u003cli\u003eFixed error with Psycopg 2 and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003cli\u003eFixed error message when \u003ccode\u003evector\u003c/code\u003e type not found with Psycopg 3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.0 (2024-06-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ehalfvec\u003c/code\u003e, \u003ccode\u003ebit\u003c/code\u003e, and \u003ccode\u003esparsevec\u003c/code\u003e types to Django\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/2968f258f9486531bd1340cbda4ff8fcaf06cdc1\"\u003e\u003ccode\u003e2968f25\u003c/code\u003e\u003c/a\u003e Version bump to 0.4.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/674f5ba3410c873d49f50fa9725b95d9db50c674\"\u003e\u003ccode\u003e674f5ba\u003c/code\u003e\u003c/a\u003e Updated checkout action [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e2986daf2b1533cc2c849f7e39350e31d57ac325\"\u003e\u003ccode\u003ee2986da\u003c/code\u003e\u003c/a\u003e Added support for Django 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e211ba4029f204734f0c001fbb90f6a594d561ae\"\u003e\u003ccode\u003ee211ba4\u003c/code\u003e\u003c/a\u003e Test with Python 3.14 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/1a72b7571adf3325174b383aca85bfb3a5b925fa\"\u003e\u003ccode\u003e1a72b75\u003c/code\u003e\u003c/a\u003e Updated pgvector on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/c820a53bfb46196551de3c3f59f81b192d890574\"\u003e\u003ccode\u003ec820a53\u003c/code\u003e\u003c/a\u003e Simplified examples [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/caf1a2e0dd7a1ba2ad0ca9f09b50516dcfffcdeb\"\u003e\u003ccode\u003ecaf1a2e\u003c/code\u003e\u003c/a\u003e Added docs for binary quantization with SQLAlchemy [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/dc9a8f959995f009649fd230139ca41193e0a801\"\u003e\u003ccode\u003edc9a8f9\u003c/code\u003e\u003c/a\u003e Added test for binary quantization with re-ranking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/33dee606229489c9ffb0cb5a1cd72bd4705ac618\"\u003e\u003ccode\u003e33dee60\u003c/code\u003e\u003c/a\u003e Added support for str objects for bit type with SQLAlchemy - \u003ca href=\"https://redirect.github.com/pgvector/pgvector-python/issues/137\"\u003e#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/ee3e71ca2c07a12a8332a3877c0ce14adc9a5da8\"\u003e\u003ccode\u003eee3e71c\u003c/code\u003e\u003c/a\u003e Updated format for license identifier\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgvector/pgvector-python/compare/v0.2.5...v0.4.2\"\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=pgvector\u0026package-manager=pip\u0026previous-version=0.2.5\u0026new-version=0.4.2)](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/meiiie/wiii/pull/38","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/meiiie%2Fwiii/issues/38","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/38/packages"},{"uuid":"4253417053","node_id":"PR_kwDOR11zDc7R8Fe3","number":33,"state":"open","title":"chore(deps): update pgvector requirement from \u003e=0.2.0 to \u003e=0.4.2","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-13T10:03:43.000Z","updated_at":"2026-04-13T10:05:23.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): update","packages":[{"name":"pgvector","old_version":"\u003e=0.2.0","new_version":"\u003e=0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [pgvector](https://github.com/pgvector/pgvector-python) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md\"\u003epgvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2 (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 6\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estr\u003c/code\u003e objects for \u003ccode\u003ebit\u003c/code\u003e type with SQLAlchemy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 (2025-04-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eSparseVector\u003c/code\u003e constructor for SciPy sparse matrices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 (2025-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded top-level \u003ccode\u003epgvector\u003c/code\u003e package\u003c/li\u003e\n\u003cli\u003eAdded support for pg8000\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ebytes\u003c/code\u003e to \u003ccode\u003eBit\u003c/code\u003e constructor\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eglobally\u003c/code\u003e option to default to \u003ccode\u003eFalse\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003earrays\u003c/code\u003e option to default to \u003ccode\u003eTrue\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eFixed equality for \u003ccode\u003eVector\u003c/code\u003e, \u003ccode\u003eHalfVector\u003c/code\u003e, \u003ccode\u003eBit\u003c/code\u003e, and \u003ccode\u003eSparseVector\u003c/code\u003e classes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eindices\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods of \u003ccode\u003eSparseVector\u003c/code\u003e returning tuple instead of list in some cases\u003c/li\u003e\n\u003cli\u003eDropped support for Python \u0026lt; 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 (2024-10-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003earrays\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 (2024-10-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eavg\u003c/code\u003e function with type casting to SQLAlchemy\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eglobally\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.4 (2024-09-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eschema\u003c/code\u003e option for asyncpg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.3 (2024-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved support for cursor factories with Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.2 (2024-07-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error with asyncpg and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.1 (2024-07-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error parsing zero sparse vectors\u003c/li\u003e\n\u003cli\u003eFixed error with Psycopg 2 and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003cli\u003eFixed error message when \u003ccode\u003evector\u003c/code\u003e type not found with Psycopg 3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.0 (2024-06-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ehalfvec\u003c/code\u003e, \u003ccode\u003ebit\u003c/code\u003e, and \u003ccode\u003esparsevec\u003c/code\u003e types to Django\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/2968f258f9486531bd1340cbda4ff8fcaf06cdc1\"\u003e\u003ccode\u003e2968f25\u003c/code\u003e\u003c/a\u003e Version bump to 0.4.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/674f5ba3410c873d49f50fa9725b95d9db50c674\"\u003e\u003ccode\u003e674f5ba\u003c/code\u003e\u003c/a\u003e Updated checkout action [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e2986daf2b1533cc2c849f7e39350e31d57ac325\"\u003e\u003ccode\u003ee2986da\u003c/code\u003e\u003c/a\u003e Added support for Django 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e211ba4029f204734f0c001fbb90f6a594d561ae\"\u003e\u003ccode\u003ee211ba4\u003c/code\u003e\u003c/a\u003e Test with Python 3.14 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/1a72b7571adf3325174b383aca85bfb3a5b925fa\"\u003e\u003ccode\u003e1a72b75\u003c/code\u003e\u003c/a\u003e Updated pgvector on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/c820a53bfb46196551de3c3f59f81b192d890574\"\u003e\u003ccode\u003ec820a53\u003c/code\u003e\u003c/a\u003e Simplified examples [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/caf1a2e0dd7a1ba2ad0ca9f09b50516dcfffcdeb\"\u003e\u003ccode\u003ecaf1a2e\u003c/code\u003e\u003c/a\u003e Added docs for binary quantization with SQLAlchemy [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/dc9a8f959995f009649fd230139ca41193e0a801\"\u003e\u003ccode\u003edc9a8f9\u003c/code\u003e\u003c/a\u003e Added test for binary quantization with re-ranking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/33dee606229489c9ffb0cb5a1cd72bd4705ac618\"\u003e\u003ccode\u003e33dee60\u003c/code\u003e\u003c/a\u003e Added support for str objects for bit type with SQLAlchemy - \u003ca href=\"https://redirect.github.com/pgvector/pgvector-python/issues/137\"\u003e#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/ee3e71ca2c07a12a8332a3877c0ce14adc9a5da8\"\u003e\u003ccode\u003eee3e71c\u003c/code\u003e\u003c/a\u003e Updated format for license identifier\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgvector/pgvector-python/compare/v0.2.0...v0.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/evoila/meho/pull/33","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/evoila%2Fmeho/issues/33","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/33/packages"},{"uuid":"4252425156","node_id":"PR_kwDORoU8987R57e6","number":48,"state":"closed","title":"Bump the vdb group across 1 directory with 23 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-04T08:33:58.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-13T07:52:44.000Z","updated_at":"2026-05-04T08:34:00.000Z","time_to_close":1816874,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"vdb","update_count":23,"packages":[{"name":"weaviate-client","old_version":"4.17.0","new_version":"4.20.5","repository_url":"https://github.com/weaviate/weaviate-python-client"},{"name":"chromadb","old_version":"0.5.20","new_version":"1.5.7","repository_url":"https://github.com/chroma-core/chroma"},{"name":"elasticsearch","old_version":"8.14.0","new_version":"9.3.0","repository_url":"https://github.com/elastic/elasticsearch-py"},{"name":"oracledb","old_version":"3.3.0","new_version":"3.4.2","repository_url":"https://github.com/oracle/python-oracledb"},{"name":"pgvector","old_version":"0.2.5","new_version":"0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"},{"name":"pymochow","old_version":"2.2.9","new_version":"2.4.0"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [weaviate-client](https://github.com/weaviate/weaviate-python-client), [alibabacloud-gpdb20160503](https://github.com/aliyun/alibabacloud-python-sdk), [alibabacloud-tea-openapi](https://github.com/aliyun/darabonba-openapi), [chromadb](https://github.com/chroma-core/chroma), [clickhouse-connect](https://github.com/ClickHouse/clickhouse-connect), clickzetta-connector-python, [couchbase](https://github.com/couchbase/couchbase-python-client), [elasticsearch](https://github.com/elastic/elasticsearch-py), [oracledb](https://github.com/oracle/python-oracledb), [pgvecto-rs](https://github.com/tensorchord/pgvecto.rs), [pgvector](https://github.com/pgvector/pgvector-python), [pymilvus](https://github.com/milvus-io/pymilvus), [pymochow](http://bce.baidu.com), [pyobvector](https://github.com/oceanbase/pyobvector), [qdrant-client](https://github.com/qdrant/qdrant-client), [intersystems-irispython](https://www.intersystems.com/), [tablestore](https://github.com/aliyun/aliyun-tablestore-python-sdk), tcvectordb, tidb-vector, [upstash-vector](https://github.com/upstash/vector-py), [volcengine-compat](https://github.com/yaoice/volc-sdk-python), [xinference-client](https://github.com/xorbitsai/inference-client) and [mysql-connector-python](https://github.com/mysql/mysql-connector-python) to permit the latest version.\nUpdates `weaviate-client` from 4.17.0 to 4.20.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weaviate/weaviate-python-client/releases\"\u003eweaviate-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.20.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Object TTL schema export to match server json by \u003ca href=\"https://github.com/dudanogueira\"\u003e\u003ccode\u003e@​dudanogueira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1958\"\u003eweaviate/weaviate-python-client#1958\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add support for audio modality in multi2vec-google vectorizer config by \u003ca href=\"https://github.com/antas-marcin\"\u003e\u003ccode\u003e@​antas-marcin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1983\"\u003eweaviate/weaviate-python-client#1983\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: export FilterReturn from weaviate.classes.query by \u003ca href=\"https://github.com/renaudcepre\"\u003e\u003ccode\u003e@​renaudcepre\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1993\"\u003eweaviate/weaviate-python-client#1993\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: parse asyncConfig from replication config GET response by \u003ca href=\"https://github.com/jfrancoa\"\u003e\u003ccode\u003e@​jfrancoa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1996\"\u003eweaviate/weaviate-python-client#1996\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: throw specific exception on empty list filters for time filters by \u003ca href=\"https://github.com/Maanik23\"\u003e\u003ccode\u003e@​Maanik23\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/2004\"\u003eweaviate/weaviate-python-client#2004\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): remove unmaintained deprecation package, use stdlib instead by \u003ca href=\"https://github.com/NIK-TIGER-BILL\"\u003e\u003ccode\u003e@​NIK-TIGER-BILL\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1999\"\u003eweaviate/weaviate-python-client#1999\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003euse get() instead of direct dict access by \u003ca href=\"https://github.com/DanielJanicek\"\u003e\u003ccode\u003e@​DanielJanicek\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1995\"\u003eweaviate/weaviate-python-client#1995\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/Maanik23\"\u003e\u003ccode\u003e@​Maanik23\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/2004\"\u003eweaviate/weaviate-python-client#2004\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NIK-TIGER-BILL\"\u003e\u003ccode\u003e@​NIK-TIGER-BILL\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1999\"\u003eweaviate/weaviate-python-client#1999\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.4...v4.20.5\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.4...v4.20.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd client version to GRPC headers by \u003ca href=\"https://github.com/dirkkul\"\u003e\u003ccode\u003e@​dirkkul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1980\"\u003eweaviate/weaviate-python-client#1980\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add multi2vec_google_gemini vectorizer config by \u003ca href=\"https://github.com/antas-marcin\"\u003e\u003ccode\u003e@​antas-marcin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1977\"\u003eweaviate/weaviate-python-client#1977\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.3...v4.20.4\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.3...v4.20.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump authlib to 1.6.9 to avoid high cve by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1975\"\u003eweaviate/weaviate-python-client#1975\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.2...v4.20.3\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.2...v4.20.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eperf: use deque for iterator object cache by \u003ca href=\"https://github.com/giulio-leone\"\u003e\u003ccode\u003e@​giulio-leone\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1968\"\u003eweaviate/weaviate-python-client#1968\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexpose include_last_used_time parameter, return created_at and api_key_first_letters by \u003ca href=\"https://github.com/dudanogueira\"\u003e\u003ccode\u003e@​dudanogueira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1965\"\u003eweaviate/weaviate-python-client#1965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for incremental backups by \u003ca href=\"https://github.com/dirkkul\"\u003e\u003ccode\u003e@​dirkkul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1928\"\u003eweaviate/weaviate-python-client#1928\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/giulio-leone\"\u003e\u003ccode\u003e@​giulio-leone\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1968\"\u003eweaviate/weaviate-python-client#1968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.1...v4.20.2\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.1...v4.20.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix empty list filter raising IndexError instead of WeaviateInvalidInputError by \u003ca href=\"https://github.com/dirkkul\"\u003e\u003ccode\u003e@​dirkkul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1962\"\u003eweaviate/weaviate-python-client#1962\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.0...v4.20.1\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.0...v4.20.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weaviate/weaviate-python-client/blob/main/docs/changelog.rst\"\u003eweaviate-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 4.20.5\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Fix objectTTL config export\n- Add support for audio modality in multi2vec-google\n- Export FilterReturn from weaviate.classes.query\n- Fix updating async replication config\n- Remove unmaintained \u003ccode\u003edeprecated\u003c/code\u003e dependency\n- Throw exception on empty time filters\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.4\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Include client version in GRPC requests\n- Add support for the new \u003ccode\u003emulti2vec_google_gemini\u003c/code\u003e module\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.3\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Update of \u003ccode\u003eauthlib\u003c/code\u003e dependency\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.2\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Support for incremental backups\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.1\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Raise an input error when filtering on an empty list\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.0\u003c/h2\u003e\n\u003cp\u003eThis minor version includes:\n- Support for new 1.36 features:\n- Server-side batching (SSB) is now GA via \u003ccode\u003ebatch.stream\u003c/code\u003e (\u003ccode\u003ebatch.experimental\u003c/code\u003e is deprecated)\n- Add \u003ccode\u003ecollection.data.ingest\u003c/code\u003e as a new entry point for SSB usage in sync and async clients\n- Add support for the new HFresh index type\n- Add support for async replication configuration\n- Add support for cancelling backup restore operations\n- Add \u003ccode\u003ecollection.config.delete_property_index\u003c/code\u003e to drop filterable, searchable, or range filter indices from properties\n- Add \u003ccode\u003eclient.cluster.statistics()\u003c/code\u003e method for retrieving cluster and Raft statistics\n- Allow \u003ccode\u003eimages\u003c/code\u003e and \u003ccode\u003eimage_properties\u003c/code\u003e in Cohere generative config at runtime\n- Provide options to specify custom gRPC SSL credentials for advanced connection setups\n- Remove \u003ccode\u003ecache\u003c/code\u003e option from \u003ccode\u003eSQConfig\u003c/code\u003e and deprecate the field in the factory method\n- Fix validation of nested object properties to allow \u003ccode\u003eid\u003c/code\u003e as a nested property name\u003c/p\u003e\n\u003ch2\u003eVersion 4.19.4\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/weaviate/weaviate-python-client/commit/4d66220f37faa5089334d98538a61b0ced709b00\"\u003e\u003ccode\u003e4d66220\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/2007\"\u003e#2007\u003c/a\u003e from weaviate/changelog_4_20_5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/78fa5f7f08ea50b2a1041eecd2d010f81885922f\"\u003e\u003ccode\u003e78fa5f7\u003c/code\u003e\u003c/a\u003e Update docs/changelog.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/2af1289def1346ce6e21f1bc05d9966e42a7bf5e\"\u003e\u003ccode\u003e2af1289\u003c/code\u003e\u003c/a\u003e Changelog + reformat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/3e97ec929243d3dd3eedd9276830f31f93294c2a\"\u003e\u003ccode\u003e3e97ec9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1995\"\u003e#1995\u003c/a\u003e from weaviate/djanicek/safe-vector-check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/a29bbcf761fb94e1f7f9ef144ce275658c8ff1b4\"\u003e\u003ccode\u003ea29bbcf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1999\"\u003e#1999\u003c/a\u003e from NIK-TIGER-BILL/fix/remove-deprecation-package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/d409819412c59f23308667ac9c6cf197e7a3e7be\"\u003e\u003ccode\u003ed409819\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/2004\"\u003e#2004\u003c/a\u003e from Maanik23/fix/empty-list-time-filter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/3fbe8d0bc956ca66c78062d6616b3ffcb7635b3f\"\u003e\u003ccode\u003e3fbe8d0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1987\"\u003e#1987\u003c/a\u003e from vivekvar-dl/fix/remove-outdated-deprecation-notice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/5dc48870ea7973d782a9fb00658096f54fd79d19\"\u003e\u003ccode\u003e5dc4887\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into djanicek/safe-vector-check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/8d0d83589387727341056f32cb6f3a1a252e5eef\"\u003e\u003ccode\u003e8d0d835\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into fix/remove-deprecation-package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/44a53ec4bd13504c9922ea10755a7b5fde06d84c\"\u003e\u003ccode\u003e44a53ec\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into fix/empty-list-time-filter\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.17.0...v4.20.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alibabacloud-gpdb20160503` to 5.2.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aliyun/alibabacloud-python-sdk/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alibabacloud-tea-openapi` to 0.4.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aliyun/darabonba-openapi/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `chromadb` from 0.5.20 to 1.5.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/chroma-core/chroma/releases\"\u003echromadb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.5.7\u003c/h2\u003e\n\u003cp\u003eVersion: \u003ccode\u003e1.5.7\u003c/code\u003e\nGit ref: \u003ccode\u003erefs/tags/1.5.7\u003c/code\u003e\nBuild Date: \u003ccode\u003e2026-04-08T07:49\u003c/code\u003e\nPIP Package: \u003ccode\u003echroma-1.5.7.tar.gz\u003c/code\u003e\nGithub Container Registry Image: \u003ccode\u003e:1.5.7\u003c/code\u003e\nDockerHub Image: \u003ccode\u003e:1.5.7\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[CHORE] Update Rust setup for CLI workflows by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6818\"\u003echroma-core/chroma#6818\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Add getCollectionById API across all client SDKs and server by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6805\"\u003echroma-core/chroma#6805\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Pass down shard_index, num_shards and log_upper_bound_offset to query by \u003ca href=\"https://github.com/sanketkedia\"\u003e\u003ccode\u003e@​sanketkedia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6810\"\u003echroma-core/chroma#6810\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Change routing + add a helper by \u003ca href=\"https://github.com/sanketkedia\"\u003e\u003ccode\u003e@​sanketkedia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6811\"\u003echroma-core/chroma#6811\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: FE sets log upper bound from scount logs + gate by flag by \u003ca href=\"https://github.com/sanketkedia\"\u003e\u003ccode\u003e@​sanketkedia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6813\"\u003echroma-core/chroma#6813\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Use log_upper_bound_offset in query by \u003ca href=\"https://github.com/sanketkedia\"\u003e\u003ccode\u003e@​sanketkedia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6815\"\u003echroma-core/chroma#6815\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Plumb num_shards and shard_index to orchestrator by \u003ca href=\"https://github.com/sanketkedia\"\u003e\u003ccode\u003e@​sanketkedia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6822\"\u003echroma-core/chroma#6822\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CLN]: Remove indirect hnsw path by \u003ca href=\"https://github.com/tanujnay112\"\u003e\u003ccode\u003e@​tanujnay112\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6820\"\u003echroma-core/chroma#6820\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Helpers for log partitioning for non active and active shards by \u003ca href=\"https://github.com/sanketkedia\"\u003e\u003ccode\u003e@​sanketkedia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6824\"\u003echroma-core/chroma#6824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Add put_stream to chroma-storage for streaming S3 uploads by \u003ca href=\"https://github.com/philipithomas\"\u003e\u003ccode\u003e@​philipithomas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6806\"\u003echroma-core/chroma#6806\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Partition logs + plumb shard index everywhere by \u003ca href=\"https://github.com/sanketkedia\"\u003e\u003ccode\u003e@​sanketkedia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6831\"\u003echroma-core/chroma#6831\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Added SegmentWriter and Flusher abstractions over shards by \u003ca href=\"https://github.com/tanujnay112\"\u003e\u003ccode\u003e@​tanujnay112\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6814\"\u003echroma-core/chroma#6814\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Merge shard results in FE by \u003ca href=\"https://github.com/sanketkedia\"\u003e\u003ccode\u003e@​sanketkedia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6834\"\u003echroma-core/chroma#6834\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Enable stdout only tracing by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6839\"\u003echroma-core/chroma#6839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG] Return client sigint handler for CLI by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6840\"\u003echroma-core/chroma#6840\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[RELEASE] CLI 1.4.3 Python 1.5.7 JS 3.4.3 by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6845\"\u003echroma-core/chroma#6845\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chroma-core/chroma/compare/1.5.6...1.5.7\"\u003ehttps://github.com/chroma-core/chroma/compare/1.5.6...1.5.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ecli-1.4.3\u003c/h2\u003e\n\u003cp\u003eCLI release.\u003c/p\u003e\n\u003ch2\u003e1.5.6\u003c/h2\u003e\n\u003cp\u003eVersion: \u003ccode\u003e1.5.6\u003c/code\u003e\nGit ref: \u003ccode\u003erefs/tags/1.5.6\u003c/code\u003e\nBuild Date: \u003ccode\u003e2026-04-07T03:01\u003c/code\u003e\nPIP Package: \u003ccode\u003echroma-1.5.6.tar.gz\u003c/code\u003e\nGithub Container Registry Image: \u003ccode\u003e:1.5.6\u003c/code\u003e\nDockerHub Image: \u003ccode\u003e:1.5.6\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[DOC] add concrete example for query/get response by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6593\"\u003echroma-core/chroma#6593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Make delete clearer by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6596\"\u003echroma-core/chroma#6596\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Add multimodal example by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6622\"\u003echroma-core/chroma#6622\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: S3 client config improvements by \u003ca href=\"https://github.com/sanketkedia\"\u003e\u003ccode\u003e@​sanketkedia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6618\"\u003echroma-core/chroma#6618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG]  Tests for garbage collector panic on zero-attached function. by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6616\"\u003echroma-core/chroma#6616\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] 1 bit rabitq quantization implementation by \u003ca href=\"https://github.com/LLay\"\u003e\u003ccode\u003e@​LLay\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6570\"\u003echroma-core/chroma#6570\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] We don't collect product telemetry anymore by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6594\"\u003echroma-core/chroma#6594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] misc doc improvements by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6595\"\u003echroma-core/chroma#6595\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG] Fix sysdb OTEL metrics service name by \u003ca href=\"https://github.com/jasonvigil\"\u003e\u003ccode\u003e@​jasonvigil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6565\"\u003echroma-core/chroma#6565\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/84609ac27abf23a8d1485bfe7b5fa72b41cd7fce\"\u003e\u003ccode\u003e84609ac\u003c/code\u003e\u003c/a\u003e [RELEASE] CLI 1.4.3 Python 1.5.7 JS 3.4.3 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6845\"\u003e#6845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/65a56baf2a0d170027f90434b9eddf81e3d80a0b\"\u003e\u003ccode\u003e65a56ba\u003c/code\u003e\u003c/a\u003e [BUG] Return client sigint handler for CLI (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6840\"\u003e#6840\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/2b6688707ecfb600c190c25110779e2e8cc8a5e2\"\u003e\u003ccode\u003e2b66887\u003c/code\u003e\u003c/a\u003e [ENH] Enable stdout only tracing (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6839\"\u003e#6839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/8eabb4c0de6c6baf5d3d12cdc39c4fc427f11127\"\u003e\u003ccode\u003e8eabb4c\u003c/code\u003e\u003c/a\u003e [ENH]: Merge shard results in FE (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6834\"\u003e#6834\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/44b0702c6f0a0fe7529444d2aa50f9b84c98fb84\"\u003e\u003ccode\u003e44b0702\u003c/code\u003e\u003c/a\u003e [ENH]: Added SegmentWriter and Flusher abstractions over shards (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6814\"\u003e#6814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/c30928bf267213c2242a2b8a08b4e20c6b265344\"\u003e\u003ccode\u003ec30928b\u003c/code\u003e\u003c/a\u003e [ENH]: Partition logs + plumb shard index everywhere (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6831\"\u003e#6831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/057d165c629a3ef390241ec918c2637fc5d840ea\"\u003e\u003ccode\u003e057d165\u003c/code\u003e\u003c/a\u003e [ENH] Add put_stream to chroma-storage for streaming S3 uploads (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6806\"\u003e#6806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/5d69117d795751c2a10c0e7e957fb03a60f5e800\"\u003e\u003ccode\u003e5d69117\u003c/code\u003e\u003c/a\u003e [ENH]: Helpers for log partitioning for non active and active shards (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6824\"\u003e#6824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/e0f496badb34bdb03434fc812e10087997afc005\"\u003e\u003ccode\u003ee0f496b\u003c/code\u003e\u003c/a\u003e [CLN]: Remove indirect hnsw path (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6820\"\u003e#6820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/de13846b25f02040119a95fc3a4e26b472e05c12\"\u003e\u003ccode\u003ede13846\u003c/code\u003e\u003c/a\u003e [ENH]: Plumb num_shards and shard_index to orchestrator (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6822\"\u003e#6822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/chroma-core/chroma/compare/0.5.20...1.5.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `clickhouse-connect` to 0.15.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/releases\"\u003eclickhouse-connect's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.15.1\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse timezone from parameter type hint instead of \u003ccode\u003eserver_tz\u003c/code\u003e when formatting tz-aware datetimes in \u003ccode\u003e{param:Type}\u003c/code\u003e bind expressions. Fixes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/697\"\u003e#697\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/ClickHouse/clickhouse-connect/blob/main/CHANGELOG.md\"\u003eclickhouse-connect's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.1, 2026-03-30\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse timezone from parameter type hint instead of \u003ccode\u003eserver_tz\u003c/code\u003e when formatting tz-aware datetimes in \u003ccode\u003e{param:Type}\u003c/code\u003e bind expressions. Previously, \u003ccode\u003ebind_query\u003c/code\u003e always converted datetimes to the server timezone, ignoring explicit timezone declarations in type hints like \u003ccode\u003eDateTime64(6, 'UTC')\u003c/code\u003e. This caused incorrect query results when \u003ccode\u003eserver_tz\u003c/code\u003e differed from the hint timezone. Handles \u003ccode\u003eLowCardinality\u003c/code\u003e, \u003ccode\u003eNullable\u003c/code\u003e, and container type wrappers. Fixes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/697\"\u003e#697\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.15.0, 2026-03-26\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSQLAlchemy: Comprehensive ClickHouse JOIN support via the new \u003ccode\u003ech_join()\u003c/code\u003e helper. All strictness modifiers (\u003ccode\u003eALL\u003c/code\u003e, \u003ccode\u003eANY\u003c/code\u003e, \u003ccode\u003eSEMI\u003c/code\u003e, \u003ccode\u003eANTI\u003c/code\u003e, \u003ccode\u003eASOF\u003c/code\u003e), the \u003ccode\u003eGLOBAL\u003c/code\u003e distribution modifier, and explicit \u003ccode\u003eCROSS JOIN\u003c/code\u003e are now available. Use with \u003ccode\u003eselect_from()\u003c/code\u003e to generate ClickHouse-specific join syntax like \u003ccode\u003eGLOBAL ALL LEFT OUTER JOIN\u003c/code\u003e. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/635\"\u003e#635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: \u003ccode\u003earray_join()\u003c/code\u003e now supports multiple columns for parallel array expansion. Pass a list of columns and a matching list of aliases to generate \u003ccode\u003eARRAY JOIN col1 AS a, col2 AS b, col3 AS c\u003c/code\u003e. Single-column usage is unchanged. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/633\"\u003e#633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: \u003ccode\u003ech_join()\u003c/code\u003e now supports \u003ccode\u003eUSING\u003c/code\u003e syntax via the new \u003ccode\u003eusing\u003c/code\u003e parameter. Pass a list of column name strings to generate \u003ccode\u003eUSING (col1, col2)\u003c/code\u003e instead of \u003ccode\u003eON\u003c/code\u003e. This is important for \u003ccode\u003eFULL OUTER JOIN\u003c/code\u003e where \u003ccode\u003eUSING\u003c/code\u003e merges the join column correctly while \u003ccode\u003eON\u003c/code\u003e produces default values (0, '') for unmatched sides. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/636\"\u003e#636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: Add missing Replicated table engine variants: \u003ccode\u003eReplicatedReplacingMergeTree\u003c/code\u003e, \u003ccode\u003eReplicatedCollapsingMergeTree\u003c/code\u003e, \u003ccode\u003eReplicatedVersionedCollapsingMergeTree\u003c/code\u003e, and \u003ccode\u003eReplicatedGraphiteMergeTree\u003c/code\u003e. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/687\"\u003e#687\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazy imports for optional dependencies (numpy, pandas, pyarrow, polars). If installed, these heavy libraries are no longer imported at \u003ccode\u003eimport clickhouse_connect\u003c/code\u003e time. They are only imported when features that need them are actually used. The C/Numpy optimization bridge is also deferred. This speeds up bare import time of \u003ccode\u003eclickhouse-connect\u003c/code\u003e about 4X in environments where all four are installed. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/589\"\u003e#589\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003epy.typed\u003c/code\u003e marker file. The package does not have comprehensive type annotations, so the PEP 561 marker was causing false type errors for mypy/pyright users. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/691\"\u003e#691\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSQLAlchemy: Fix \u003ccode\u003e.final()\u003c/code\u003e and \u003ccode\u003e.sample()\u003c/code\u003e silently overwriting each other when chained. Both methods now store modifiers as custom attributes on the \u003ccode\u003eSelect\u003c/code\u003e instance and render them during compilation, replacing the previous \u003ccode\u003ewith_hint()\u003c/code\u003e approach that only allowed one hint per table. Chaining in either order (e.g. \u003ccode\u003eselect(t).final().sample(0.1)\u003c/code\u003e) correctly produces \u003ccode\u003eFROM t FINAL SAMPLE 0.1\u003c/code\u003e. Also fixes rendering for aliased tables (\u003ccode\u003eFROM t AS u FINAL\u003c/code\u003e) and supports explicit table targeting in joins. Fixes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/658\"\u003e#658\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: Fix \u003ccode\u003esqlalchemy.values()\u003c/code\u003e to generate ClickHouse's \u003ccode\u003eVALUES\u003c/code\u003e table function syntax. The compiler now emits \u003ccode\u003eVALUES('col1 Type1, col2 Type2', ...)\u003c/code\u003e with the column structure as the first argument, instead of the standard SQL form that places column names after the alias. Generic SQLAlchemy types are mapped to ClickHouse equivalents (e.g. \u003ccode\u003eInteger\u003c/code\u003e to \u003ccode\u003eInt32\u003c/code\u003e, \u003ccode\u003eString\u003c/code\u003e to \u003ccode\u003eString\u003c/code\u003e). Also handles CTE usage by wrapping in \u003ccode\u003eSELECT * FROM VALUES(...)\u003c/code\u003e. Fixes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/681\"\u003e#681\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: Fix \u003ccode\u003eGraphiteMergeTree\u003c/code\u003e and \u003ccode\u003eReplicatedGraphiteMergeTree\u003c/code\u003e to properly single-quote the \u003ccode\u003econfig_section\u003c/code\u003e argument as ClickHouse requires.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.14.1, 2026-03-11\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix JSON and Dynamic column read paths to properly decode shared variant data instead of returning raw binary with discriminator byte prefixes. Shared data values, used when paths exceed \u003ccode\u003emax_dynamic_paths\u003c/code\u003e or types exceed \u003ccode\u003emax_dynamic_types\u003c/code\u003e are now decoded from ClickHouse's binary variant encoding. Scalar types like integers, floats, strings, booleans, and nulls as well as nested objects are now fully decoded. Compound types like Array, Tuple, Map, DateTime, Date, Decimal, and UUID are not yet decoded and will be returned as raw bytes. Fixes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/599\"\u003e#599\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/615\"\u003e#615\u003c/a\u003e, and \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: Fixed empty ORM/DBAPI SELECT results so \u003ccode\u003ecursor.description\u003c/code\u003e is still populated when ClickHouse Native format returns no data blocks. This restores correct handling for empty result sets, including parameterized and limited queries. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/675\"\u003e#675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore the default Cython runtime path so compiled \u003ccode\u003edriverc\u003c/code\u003e modules are used again unless \u003ccode\u003eCLICKHOUSE_CONNECT_USE_C=0\u003c/code\u003e is set. Fix C/Python parity issues in streaming exception handling, \u003ccode\u003eFixedString\u003c/code\u003e string reads, nullable array helpers, and numpy conversion helpers, and expand CI and unit parity coverage to keep the optimized and pure-Python paths in sync. Addresses \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/676\"\u003e#676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSimplify \u003ccode\u003epivot\u003c/code\u003e in the Cython data conversion module to use \u003ccode\u003etuple(zip(*...))\u003c/code\u003e instead of a manual tuple-building loop which matches the pure-Python implementation and provides significant insert speedup.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.14.0, 2026-03-09\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRenamed \u003ccode\u003eapply_server_timezone\u003c/code\u003e parameter to \u003ccode\u003etz_source\u003c/code\u003e across Client and HttpClient. The new \u003ccode\u003etz_source\u003c/code\u003e parameter accepts string values: \u003ccode\u003e\u0026quot;auto\u0026quot;\u003c/code\u003e (default, was \u003ccode\u003eNone\u003c/code\u003e), \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e (was \u003ccode\u003eTrue\u003c/code\u003e or \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e), and \u003ccode\u003e\u0026quot;local\u0026quot;\u003c/code\u003e (was \u003ccode\u003eFalse\u003c/code\u003e). The old \u003ccode\u003eapply_server_timezone\u003c/code\u003e parameter is still accepted but emits a \u003ccode\u003eDeprecationWarning\u003c/code\u003e and will be removed in 1.0. Passing both \u003ccode\u003etz_source\u003c/code\u003e and \u003ccode\u003eapply_server_timezone\u003c/code\u003e raises \u003ccode\u003eProgrammingError\u003c/code\u003e. The \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e value (which had no distinct runtime behavior from \u003ccode\u003eTrue\u003c/code\u003e) maps to \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRenamed \u003ccode\u003eutc_tz_aware\u003c/code\u003e parameter to \u003ccode\u003etz_mode\u003c/code\u003e across Client, QueryContext, and all query methods. The new \u003ccode\u003etz_mode\u003c/code\u003e parameter accepts string values: \u003ccode\u003e\u0026quot;naive_utc\u0026quot;\u003c/code\u003e (default, was \u003ccode\u003eFalse\u003c/code\u003e), \u003ccode\u003e\u0026quot;aware\u0026quot;\u003c/code\u003e (was \u003ccode\u003eTrue\u003c/code\u003e), and \u003ccode\u003e\u0026quot;schema\u0026quot;\u003c/code\u003e (unchanged). The old \u003ccode\u003eutc_tz_aware\u003c/code\u003e parameter is still accepted but emits a \u003ccode\u003eDeprecationWarning\u003c/code\u003e and will be removed in 1.0. Passing both \u003ccode\u003etz_mode\u003c/code\u003e and \u003ccode\u003eutc_tz_aware\u003c/code\u003e raises \u003ccode\u003eProgrammingError\u003c/code\u003e. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/654\"\u003e#654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved the deprecated \u003ccode\u003eObject('json')\u003c/code\u003e type. This was the legacy experimental JSON type that has been superseded by the new \u003ccode\u003eJSON\u003c/code\u003e type in ClickHouse. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/556\"\u003e#556\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePandas 1.x support is now deprecated and will be removed in v1.0.0. A \u003ccode\u003eDeprecationWarning\u003c/code\u003e is emitted at import time for pandas 1.x users.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for the \u003ccode\u003eSAMPLE\u003c/code\u003e clause in SQLAlchemy statements. Note: Due to a SQLAlchemy limitation, only one hint (SAMPLE or FINAL) can be applied per table; chaining both will silently ignore one. For now, this change enables use of sample(), but chaining with final() is not yet supported.  Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/634\"\u003e#634\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eExperimental:\u003c/strong\u003e Added Python 3.14 free-threading (cp314t) wheel builds for all platforms. The full test suite currently (as of 2 MAR, 2026) passes under free-threaded Python, but is not added to the CI test matrix at this time nor has it been otherwise tested to any degree. Free-threading support should be considered experimental with no guarantees of correctness at this time. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/573\"\u003e#573\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.13.0, 2026-02-26\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBREAKING CHANGE: Implement native write path for \u003ccode\u003eVariant\u003c/code\u003e data type with type-aware dispatching.\nPreviously, all values inserted into a \u003ccode\u003eVariant\u003c/code\u003e column were stringified and sent to the server, which\nwould store them in the \u003ccode\u003eString\u003c/code\u003e member if present, or attempt server-side conversion otherwise. Values\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/05ec766c6c336812d1307eb49df33ba954cebb3d\"\u003e\u003ccode\u003e05ec766\u003c/code\u003e\u003c/a\u003e respect bind param tz type hints, bf release 0.15.1 prep\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/c4c2a4e2e1a6b1b54eff4e3effda4eab0781b0eb\"\u003e\u003ccode\u003ec4c2a4e\u003c/code\u003e\u003c/a\u003e 0.15.0 release prep (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/694\"\u003e#694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/cd8cbf48b01ebb68959745aa223f256240d0fe94\"\u003e\u003ccode\u003ecd8cbf4\u003c/code\u003e\u003c/a\u003e Joe/remove pytyped and other small cleanup issues (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/05859efdd18e4ec0d28ae7627b83bb3fd26239be\"\u003e\u003ccode\u003e05859ef\u003c/code\u003e\u003c/a\u003e implement lazy loading of heavy optional deps (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/689\"\u003e#689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/611161f54bcffa42cac313ab5c131e552fc9b2f0\"\u003e\u003ccode\u003e611161f\u003c/code\u003e\u003c/a\u003e SQLAlchemy core improvements (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/688\"\u003e#688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/5fd16eb13fc9af0861af608bdfd5c717623ae8ba\"\u003e\u003ccode\u003e5fd16eb\u003c/code\u003e\u003c/a\u003e simple ddl support for a few new engine types (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/a0e621c1e413909086e5344dbc56e3cc8a6a57da\"\u003e\u003ccode\u003ea0e621c\u003c/code\u003e\u003c/a\u003e add Peter for reviews (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/682\"\u003e#682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/c40bbacf6966cdf3bed4a0cd88d2a8cba10e5a8a\"\u003e\u003ccode\u003ec40bbac\u003c/code\u003e\u003c/a\u003e 0.14.1 bugfix release prep (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/680\"\u003e#680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/323b76809580854a84c543691ab7c9d976fdad49\"\u003e\u003ccode\u003e323b768\u003c/code\u003e\u003c/a\u003e Reenable default Cython runtime path and reestablish C/Python parity (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/679\"\u003e#679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/01149488c25e39e085d51edfcfdc8516162ff503\"\u003e\u003ccode\u003e0114948\u003c/code\u003e\u003c/a\u003e fix sqlalchemy empty result metadata for orm queries (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/678\"\u003e#678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.10.0...v0.15.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `clickzetta-connector-python` to 0.8.109\n\nUpdates `couchbase` to 4.6.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/fbceef9ed86af073f7f4144b5154a80a52130208\"\u003e\u003ccode\u003efbceef9\u003c/code\u003e\u003c/a\u003e Add typing-extensions dependency for Python versions \u0026lt; 3.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/094022654ac4f925a6b5b04a1eedf24d74446962\"\u003e\u003ccode\u003e0940226\u003c/code\u003e\u003c/a\u003e Test Improvements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/64a401a3ffacffc94b7caf5ba8e12d4744939fdc\"\u003e\u003ccode\u003e64a401a\u003c/code\u003e\u003c/a\u003e PYCBC-1756: Streaming API Improvements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/d37b5245d9efcf078c8f84593e4ddcc18360b1c0\"\u003e\u003ccode\u003ed37b524\u003c/code\u003e\u003c/a\u003e PYCBC-1754: Logging Improvements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/558dd206639e1c01890c6245f9d5c6e468004cfd\"\u003e\u003ccode\u003e558dd20\u003c/code\u003e\u003c/a\u003e PYCBC-1720: Wrapper SDK Observability Improvments - OTel Integration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/d17409c317482d324a843567d29f572a073e3c16\"\u003e\u003ccode\u003ed17409c\u003c/code\u003e\u003c/a\u003e PYCBC-1722: Wrapper SDK Observability Improvements - Metrics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/9583de78f8260d05c11e0b16fa93d0884b0d6ad8\"\u003e\u003ccode\u003e9583de7\u003c/code\u003e\u003c/a\u003e PYCBC-1750: Wrapper SDK Observability - Remaining Management APIs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/5dc9ef7a15e75a970194b19317d6eb929277653e\"\u003e\u003ccode\u003e5dc9ef7\u003c/code\u003e\u003c/a\u003e PYCBC-1721: Wrapper SDK Observability - Tracing Baseline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/47fd1f4cf2471b7c68238ec9f1de3231ff750fea\"\u003e\u003ccode\u003e47fd1f4\u003c/code\u003e\u003c/a\u003e PYCBC-1755: Update JSONType type hint to adhere to static typing standards\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/e14bbae5bb6efdaff15d93074cdeefc3ce103044\"\u003e\u003ccode\u003ee14bbae\u003c/code\u003e\u003c/a\u003e PYCBC-1715: Support JWT based authentication in Operational SDKs\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/couchbase/couchbase-python-client/compare/4.3.0...4.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `elasticsearch` from 8.14.0 to 9.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/elastic/elasticsearch-py/releases\"\u003eelasticsearch's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.3.0\u003c/h2\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epack_dense_vector\u003c/code\u003e helper function to pack dense vectors for efficient uploading (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3219\"\u003e#3219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNew and updated ES|QL functions in the ES|QL query builder for 9.3 and Serverless (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3266\"\u003e#3266\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAPI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ecat.circuit_breaker\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eesql.get_view\u003c/code\u003e, \u003ccode\u003eesql.put_view\u003c/code\u003e and \u003ccode\u003eesql.delete_view\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eindices.get_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.put_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.delete_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.get_all_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.get_sample\u003c/code\u003e, \u003ccode\u003eindices.get_sample_stats\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003einference.put_groq\u003c/code\u003e, \u003ccode\u003einference.put_openshift_ai\u003c/code\u003e, \u003ccode\u003einference.put_nvidia\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003edownsampling_method\u003c/code\u003e argument to \u003ccode\u003eindices.put_data_lifecycle\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ereturn_documents\u003c/code\u003e and \u003ccode\u003etop_n\u003c/code\u003e arguments to \u003ccode\u003einference.rerank\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eclose_job\u003c/code\u003e argument to \u003ccode\u003eml.stop_datafeed\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecertificate_identity\u003c/code\u003e to \u003ccode\u003esecurity.create_cross_cluster_api_key\u003c/code\u003e and \u003ccode\u003esecurity.update_cross_cluster_api_key\u003c/code\u003e APIs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServerless-specific\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eproject_routing\u003c/code\u003e argument to \u003ccode\u003eproject.tags\u003c/code\u003e API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDSL\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eNumpyDenseVector\u003c/code\u003e field, with support for dense vectors based on numpy arrays (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3218\"\u003e#3218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eExponentialHistogram\u003c/code\u003e field\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003etime_series_metric\u003c/code\u003e argument to \u003ccode\u003eHistogram\u003c/code\u003e field\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eon_disk_rescore\u003c/code\u003e argument from \u003ccode\u003eDenseVectorIndexOptions\u003c/code\u003e type\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eslices\u003c/code\u003e argument to \u003ccode\u003eUpdateByQueryResponse\u003c/code\u003e type\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.2.1\u003c/h2\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInstrument ping with OTel (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3160\"\u003e#3160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake positional arguments in DSL generated classes explicit  (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3233\"\u003e#3233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd warnings for private APIs (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3212\"\u003e#3212\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eES|QL query builder: fix missing assignment (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3151\"\u003e#3151\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse relative imports to fix \u003ccode\u003eelasticsearch9\u003c/code\u003e package imports (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3232\"\u003e#3232\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAPI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003etransform.get_node_stats\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003erequests_per_second\u003c/code\u003e argument to \u003ccode\u003edelete_by_query_rethrottle\u003c/code\u003e, \u003ccode\u003ereindex_rethrottle\u003c/code\u003e and \u003ccode\u003eupdate_by_query_rethrottle\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eallow_closed\u003c/code\u003e, \u003ccode\u003eallow_no_indices\u003c/code\u003e, \u003ccode\u003eexpand_wildcards\u003c/code\u003e, \u003ccode\u003eignore_throttled\u003c/code\u003e and \u003ccode\u003eignore_available\u003c/code\u003e arguments to \u003ccode\u003ecat.segments\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003echunking_settings\u003c/code\u003e argument to \u003ccode\u003einference.put_watsonxai\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eid\u003c/code\u003e argument to \u003ccode\u003eml.stop_trained_model_deployment\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003echunking_settings\u003c/code\u003e argument from \u003ccode\u003einference.put_anthropic\u003c/code\u003e, \u003ccode\u003einference.put_contextualai\u003c/code\u003e, \u003ccode\u003einference.put_deepseek\u003c/code\u003e APIs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/adae2d6d3d76f3ea75cd758ce64223bd76df45e5\"\u003e\u003ccode\u003eadae2d6\u003c/code\u003e\u003c/a\u003e Release 9.3.0 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3300\"\u003e#3300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/ea2227c743d7cacb474efecf4d8b84fa553f9eec\"\u003e\u003ccode\u003eea2227c\u003c/code\u003e\u003c/a\u003e Add Python 3.14 trove classifier (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3296\"\u003e#3296\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3299\"\u003e#3299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/b507e3e2d91ff0b6f8fb4a53ea23caa989677436\"\u003e\u003ccode\u003eb507e3e\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3293\"\u003e#3293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/76150204725b1495cad3348c573406fc1f3512d1\"\u003e\u003ccode\u003e7615020\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3280\"\u003e#3280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/ef8d102b3fc4d7572e0fd0bb56afe4291fddc529\"\u003e\u003ccode\u003eef8d102\u003c/code\u003e\u003c/a\u003e Stop using pytz (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3275\"\u003e#3275\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3278\"\u003e#3278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/65870f3504344ba7f67feb7721522bef936a92cf\"\u003e\u003ccode\u003e65870f3\u003c/code\u003e\u003c/a\u003e allow adding elasticsearch query filter for mmr searching (elastic#2638) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/32\"\u003e#32\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/b110f19a49ad492d2d6aa514afaac35360ac3c93\"\u003e\u003ccode\u003eb110f19\u003c/code\u003e\u003c/a\u003e Updates to ES|QL functions for 9.3 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3266\"\u003e#3266\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3272\"\u003e#3272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/f3d082788f52b5fe3c80926624fa8a61aa4deb37\"\u003e\u003ccode\u003ef3d0827\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3269\"\u003e#3269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/80818cc2640fcdf902919a3dc5500ae945d33271\"\u003e\u003ccode\u003e80818cc\u003c/code\u003e\u003c/a\u003e Auto-generated code for 9.3 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3262\"\u003e#3262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/6baa03faedefc90ccbc5f902626cc8cea46aed6a\"\u003e\u003ccode\u003e6baa03f\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3252\"\u003e#3252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/elastic/elasticsearch-py/compare/v8.14.0...v9.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oracledb` from 3.3.0 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oracle/python-oracledb/releases\"\u003eoracledb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.4.2\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.2 is now released. This release addresses a number of issues. See the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-2-january-2026\"\u003efull release notes\u003c/a\u003e for all of the details.\u003c/p\u003e\n\u003ch2\u003ev3.4.1\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.1 is now released. This release addresses a number of issues. See the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-1-november-2025\"\u003efull release notes\u003c/a\u003e for all of the details.\u003c/p\u003e\n\u003ch2\u003ev3.4.0\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.0 is now released. This release has the following highlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003esupport for Direct Path Load in thin mode for fast data ingestion\u003c/li\u003e\n\u003cli\u003esupport for data frames is no longer considered a pre-release\u003c/li\u003e\n\u003cli\u003esupport for type mapping when querying with data frames\u003c/li\u003e\n\u003cli\u003esupport for ingesting more Apache Arrow data types\u003c/li\u003e\n\u003cli\u003esupport for ingesting Apache Arrow data frames containing multiple chunks\u003c/li\u003e\n\u003cli\u003esupport for cursor.executemany() operating on large input data in batches\u003c/li\u003e\n\u003cli\u003efine-grained control over LOB and number handling\u003c/li\u003e\n\u003cli\u003enew optional install dependencies for plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-0-october-2025\"\u003efull release notes\u003c/a\u003e for all of the details.\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/oracle/python-oracledb/commit/51581eeb0a626fb3df4e25e00ddb3a28137d3831\"\u003e\u003ccode\u003e51581ee\u003c/code\u003e\u003c/a\u003e Preparing to release python-oracledb 3.4.2.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/81ceb554a0bfb52eb64b7b3870907d9b19bf15bd\"\u003e\u003ccode\u003e81ceb55\u003c/code\u003e\u003c/a\u003e Fixed bug which caused Connection.call_timeout to be reset to zero when\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/4a94025de99763fd0d16d1c2d79d416b9a075e12\"\u003e\u003ccode\u003e4a94025\u003c/code\u003e\u003c/a\u003e Eliminated memory leak when converting a third party data frame to one\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/36a29517530bfe311dab41218a3bc3d80700fe2c\"\u003e\u003ccode\u003e36a2951\u003c/code\u003e\u003c/a\u003e Fixed bug when decoding PL/SQL booleans in Oracle Database 12.1 (\u003ca href=\"https://redirect.github.com/oracle/python-oracledb/issues/565\"\u003e#565\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/6072f01b420af4c2d36c1b9f7b1421aab64ea336\"\u003e\u003ccode\u003e6072f01\u003c/code\u003e\u003c/a\u003e Grammar fix.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/f8be001d9862d6b0b6ec6158b67affef7a70556e\"\u003e\u003ccode\u003ef8be001\u003c/code\u003e\u003c/a\u003e Fixed bug causing hang when using asyncio and the database closes the\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/6e0d8b9da4b259e1b11ad648d354ca659f537a6a\"\u003e\u003ccode\u003e6e0d8b9\u003c/code\u003e\u003c/a\u003e Eliminated race condition in background thread/coroutine management for\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/40200bfa1cb9dde0977a509c84cfdde66f144358\"\u003e\u003ccode\u003e40200bf\u003c/code\u003e\u003c/a\u003e Adjusted code and tests to be capable of being run in environments other\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/36f8899fa71ebd4aec80b87f990633e86abc6b95\"\u003e\u003ccode\u003e36f8899\u003c/code\u003e\u003c/a\u003e Added support for ingesting Arrow arrays which only consist of null\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/7bf23b6c2061d20358b030104249bd703ac1832e\"\u003e\u003ccode\u003e7bf23b6\u003c/code\u003e\u003c/a\u003e Fixed bug when calling Cursor.executemany() with all of the values in at\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/oracle/python-oracledb/compare/v3.3.0...v3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pgvecto-rs` to 0.2.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tensorchord/pgvecto.rs/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pgvector` from 0.2.5 to 0.4.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md\"\u003epgvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2 (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 6\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estr\u003c/code\u003e objects for \u003ccode\u003ebit\u003c/code\u003e type with SQLAlchemy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 (2025-04-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eSparseVector\u003c/code\u003e constructor for SciPy sparse matrices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 (2025-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded top-level \u003ccode\u003epgvector\u003c/code\u003e package\u003c/li\u003e\n\u003cli\u003eAdded support for pg8000\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ebytes\u003c/code\u003e to \u003ccode\u003eBit\u003c/code\u003e constructor\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eglobally\u003c/code\u003e option to default to \u003ccode\u003eFalse\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003earrays\u003c/code\u003e option to default to \u003ccode\u003eTrue\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eFixed equality for \u003ccode\u003eVector\u003c/code\u003e, \u003ccode\u003eHalfVector\u003c/code\u003e, \u003ccode\u003eBit\u003c/code\u003e, and \u003ccode\u003eSparseVector\u003c/code\u003e classes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eindices\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods of \u003ccode\u003eSparseVector\u003c/code\u003e returning tuple instead of list in some cases\u003c/li\u003e\n\u003cli\u003eDropped support for Python \u0026lt; 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 (2024-10-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003earrays\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 (2024-10-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eavg\u003c/code\u003e function with type casting to SQLAlchemy\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eglobally\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.4 (2024-09-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eschema\u003c/code\u003e option for asyncpg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.3 (2024-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved support for cursor factories with Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.2 (2024-07-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error with asyncpg and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.1 (2024-07-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error parsing zero sparse vectors\u003c/li\u003e\n\u003cli\u003eFixed error with Psycopg 2 and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003cli\u003eFixed error message when \u003ccode\u003evector\u003c/code\u003e type not found with Psycopg 3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.0 (2024-06-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ehalfvec\u003c/code\u003e, \u003ccode\u003ebit\u003c/code\u003e, and \u003ccode\u003esparsevec\u003c/code\u003e types to Django\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/2968f258f9486531bd1340cbda4ff8fcaf06cdc1\"\u003e\u003ccode\u003e2968f25\u003c/code\u003e\u003c/a\u003e Version bump to 0.4.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/674f5ba3410c873d49f50fa9725b95d9db50c674\"\u003e\u003ccode\u003e674f5ba\u003c/code\u003e\u003c/a\u003e Updated checkout action [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e2986daf2b1533cc2c849f7e39350e31d57ac325\"\u003e\u003ccode\u003ee2986da\u003c/code\u003e\u003c/a\u003e Added support for Django 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e211ba4029f204734f0c001fbb90f6a594d561ae\"\u003e\u003ccode\u003ee211ba4\u003c/code\u003e\u003c/a\u003e Test with Python 3.14 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/1a72b7571adf3325174b383aca85bfb3a5b925fa\"\u003e\u003ccode\u003e1a72b75\u003c/code\u003e\u003c/a\u003e Updated pgvector on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/c820a53bfb46196551de3c3f59f81b192d890574\"\u003e\u003ccode\u003ec820a53\u003c/code\u003e\u003c/a\u003e Simplified examples [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/caf1a2e0dd7a1ba2ad0ca9f09b50516dcfffcdeb\"\u003e\u003ccode\u003ecaf1a2e\u003c/code\u003e\u003c/a\u003e Added docs for binary quantization with SQLAlchemy [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/dc9a8f959995f009649fd230139ca41193e0a801\"\u003e\u003ccode\u003edc9a8f9\u003c/code\u003e\u003c/a\u003e Added test for binary quantization with re-ranking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/33dee606229489c9ffb0cb5a1cd72bd4705ac618\"\u003e\u003ccode\u003e33dee60\u003c/code\u003e\u003c/a\u003e Added support for str objects for bit type with SQLAlchemy - \u003ca href=\"https://redirect.github.com/pgvector/pgvector-python/issues/137\"\u003e#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/ee3e71ca2c07a12a8332a3877c0ce14adc9a5da8\"\u003e\u003ccode\u003eee3e71c\u003c/code\u003e\u003c/a\u003e Updated format for license identifier\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgvector/pgvector-python/compare/v0.2.5...v0.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymilvus` to 2.6.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/milvus-io/pymilvus/releases\"\u003epymilvus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePyMilvus v2.6.12 Release Notes\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003efix: default to port 443 for https:// URIs in MilvusClient\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3372\"\u003e#3372\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3374\"\u003e#3374\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e — reported by \u003ca href=\"https://github.com/XuanYang-cn\"\u003e\u003ccode\u003e@​XuanYang-cn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3369\"\u003e#3369\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: remove duplicate timeout kwarg in Collection.__init__\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3371\"\u003e#3371\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3378\"\u003e#3378\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e — reported by \u003ca href=\"https://github.com/greenned\"\u003e\u003ccode\u003e@​greenned\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3370\"\u003e#3370\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: ensure page_retain_order is passed to search params\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3366\"\u003e#3366\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3383\"\u003e#3383\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e — reported by \u003ca href=\"https://github.com/alwayslove2013\"\u003e\u003ccode\u003e@​alwayslove2013\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/2804\"\u003e#2804\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: handle empty result set with ARRAY field in query deserialization\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3389\"\u003e#3389\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3396\"\u003e#3396\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e — reported by \u003ca href=\"https://github.com/karsten-reversefashion\"\u003e\u003ccode\u003e@​karsten-reversefashion\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3386\"\u003e#3386\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: infer_dtype_bydata returns UNKNOWN for list of strings instead of ARRAY\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3390\"\u003e#3390\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3397\"\u003e#3397\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e — reported by \u003ca href=\"https://github.com/ShirohaUmi\"\u003e\u003ccode\u003e@​ShirohaUmi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/2896\"\u003e#2896\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: rewrite _version_helper.py to use only public setuptools_scm API\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3359\"\u003e#3359\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3379\"\u003e#3379\u003c/a\u003e) by \u003ca href=\"https://github.com/XuanYang-cn\"\u003e\u003ccode\u003e@​XuanYang-cn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: remove dead code and redundant exception handling in async_grpc_handler (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3365\"\u003e#3365\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3377\"\u003e#3377\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: replace redundant raise-from-self with bare raise (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3367\"\u003e#3367\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3381\"\u003e#3381\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: fix return type annotations and bare raise in connections.py (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3373\"\u003e#3373\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3382\"\u003e#3382\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: remove dead fake_register_link method from GrpcHandler (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3391\"\u003e#3391\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3395\"\u003e#3395\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: bump actions/checkout to v6 and actions/setup-python to v6 (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3400\"\u003e#3400\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3403\"\u003e#3403\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/milvus-io/pymilvus/compare/v2.6.11...v2.6.12\"\u003ehttps://github.com/milvus-io/pymilvus/compare/v2.6.11...v2.6.12\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/milvus-io/pymilvus/commit/09307a9ce91a0a27d0e83ce8e43b74e69a7b094e\"\u003e\u003ccode\u003e09307a9\u003c/code\u003e\u003c/a\u003e [Cherry-pick 2.6] ci: bump actions/checkout to v6 and actions/setup-python to...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/2dfd20310c9f8a24cd9c3f8977853659917d0442\"\u003e\u003ccode\u003e2dfd203\u003c/code\u003e\u003c/a\u003e [Backport 2.6] fix: rewrite \u003cem\u003eversion_helper.py to use only public setuptools\u003c/em\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/8fe3cf6d4201e3839b2655b90bbbc16299e86945\"\u003e\u003ccode\u003e8fe3cf6\u003c/code\u003e\u003c/a\u003e [Backport 2.6] fix: infer_dtype_bydata returns UNKNOWN for list of strings in...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/3e531a3aac4bcff96e3828147bd522b20bed5a3d\"\u003e\u003ccode\u003e3e531a3\u003c/code\u003e\u003c/a\u003e [Backport 2.6] fix: handle empty result set with ARRAY field in query deseria...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/87b0ba2a449a7b1653a385236a6ffe746a2fa04b\"\u003e\u003ccode\u003e87b0ba2\u003c/code\u003e\u003c/a\u003e [Backport 2.6] refactor: remove dead fake_register_link method from GrpcHandl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/aec3ef6738cabf0ede39ae55aa94c76a94379ea1\"\u003e\u003ccode\u003eaec3ef6\u003c/code\u003e\u003c/a\u003e [Backport 2.6] fix: ensure page_retain_order is passed to search params (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/336\"\u003e#336\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/e27aca78c7dd2de1f749827ce036b83585496af0\"\u003e\u003ccode\u003ee27aca7\u003c/code\u003e\u003c/a\u003e [Backport 2.6] refactor: fix return type annotations and bare raise in connec...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/8fff01aa9dabc8242dca98b06b80dbf03bf53617\"\u003e\u003ccode\u003e8fff01a\u003c/code\u003e\u003c/a\u003e [Backport 2.6] refactor: replace redundant raise-from-self with bare raise (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/18e1610fdbd5d4df23cf240ce469ac184b51b7ab\"\u003e\u003ccode\u003e18e1610\u003c/code\u003e\u003c/a\u003e [Backport 2.6] fix: remove duplicate timeout kwarg in Collection.\u003cstrong\u003einit\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/0339212eccb09ae78ce03525d4c61bb10ef76cca\"\u003e\u003ccode\u003e0339212\u003c/code\u003e\u003c/a\u003e [Backport 2.6] refactor(async_grpc_handler): remove dead code and redundant e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/milvus-io/pymilvus/compare/v2.5.0...v2.6.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymochow` from 2.2.9 to 2.4.0\n\nUpdates `pyobvector` to 0.2.25\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oceanbase/pyobvector/releases\"\u003epyobvector's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003erelease-v0.2.25\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeature:Complement the connection of the embedded seekdb and preserve table options when adding sparse vector indexes by \u003ca href=\"https://github.com/xxsc0529\"\u003e\u003ccode\u003e@​xxsc0529\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/oceanbase/pyobvector/pull/62\"\u003eoceanbase/pyobvector#62\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/oceanbase/pyobvector/compare/release-v0.2.24...release-v0.2.25\"\u003ehttps://github.com/oceanbase/pyobvector/compare/release-v0.2.24...release-v0.2.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/oceanbase/pyobvector/blob/main/RELEASE_NOTES.md\"\u003epyobvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/oceanbase/pyobvector/compare/release-v0.2.24...release-v0.2.25\"\u003e0.2.25\u003c/a\u003e - 2026-03-10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: preserve table options when adding sparse vector indexes\u003c/li\u003e\n\u003cli\u003eFeat: ObClient embedded SeekDB support, docs, tests and CI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/oceanbase/pyobvector/compare/release-v0.2.23...release-v0.2.24\"\u003e0.2.24\u003c/a\u003e - 2026-02-05\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: preserve table options when adding sparse vector indexes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/oceanbase/pyobvector/compare/release-v0.2.22...release-v0.2.23\"\u003e0.2.23\u003c/a\u003e - 2026-01-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCchore: intro pre commit\u003c/li\u003e\n\u003cli\u003eFix: make SeekDB version check case-insensitive\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/oceanbase/pyobvector/compare/release-v0.2.21...release-v0.2.22\"\u003e0.2.22\u003c/a\u003e - 2026-01-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: HybridSearch.search() crashes when OceanBase returns NULL for empty results\u003c/li\u003e\n\u003cli\u003eFeat: add **kwargs support to create_table_with_index_params for heap organization\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/oceanbase/pyobvector/compare/release-v0.2.20...release-v0.2.21\"\u003e0.2.21\u003c/a\u003e - 2026-01-13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrate tool.poetry section to project section following PEP 518\u003c/li\u003e\n\u003cli\u003euse [dependency-groups] as PEP 735 defined\u003c/li\u003e\n\u003cli\u003eFeat: Add full-text index type support\u003c/li\u003e\n\u003cli\u003eFix typo in word partition\u003c/li\u003e\n\u003cli\u003eAlign required python versions and test on python version matrix\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/oceanbase/pyobvector/compare/release-v0.2.19...release-v0.2.20\"\u003e0.2.20\u003c/a\u003e - 2025-11-20\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport seekdb sparse vector index\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/oceanbase/pyobvector/compare/release-v0.2.18...release-v0.2.19\"\u003e0.2.19\u003c/a\u003e - 2025-11-10\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd SeekDB version check\u003c/li\u003e\n\u003cli\u003eDocs: add hybrid search documentation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/oceanbase/pyobvector/compare/release-v0.2.17...release-v0.2.18\"\u003e0.2.18\u003c/a\u003e - 2025-11-05\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003eHybridSearch\u003c/code\u003e client that provides methods \u003ccode\u003esearch\u003c/code\u003e and \u003ccode\u003eget_stql\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/oceanbase/pyobvector/compare/release-v0.2.16...release-v0.2.17\"\u003e0.2.17\u003c/a\u003e - 2025-11-03\u003c/h2\u003e\n\u003ch3\u003eAdded\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/oceanbase/pyobvector/commit/4b0bcc8575737470791428cfc3e424519fae54e5\"\u003e\u003ccode\u003e4b0bcc8\u003c/code\u003e\u003c/a\u003e v0.2.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oceanbase/pyobvector/commit/76812f154876fe559a7e8a3bd0afe269c9bc9da6\"\u003e\u003ccode\u003e76812f1\u003c/code\u003e\u003c/a\u003e feature:Complement the connection of the embedded seekdb and preserve table o...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oceanbase/pyobvector/commit/08d1b26489f2f19ae8dbf249757d800664019ffb\"\u003e\u003ccode\u003e08d1b26\u003c/code\u003e\u003c/a\u003e v0.2.24\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oceanbase/pyobvector/commit/9c0dc1155912d099e6a9015bd6cd39fc29551c90\"\u003e\u003ccode\u003e9c0dc11\u003c/code\u003e\u003c/a\u003e fix: preserve table options when adding sparse vector indexes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oceanbase/pyobvector/commit/a87901c...\n\n_Description has been truncated_","html_url":"https://github.com/285519099/MyDify/pull/48","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/285519099%2FMyDify/issues/48","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/48/packages"},{"uuid":"4210347599","node_id":"PR_kwDORoU8987QJLr_","number":39,"state":"closed","title":"Bump the vdb group across 1 directory with 19 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-13T07:57:17.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-06T07:45:12.000Z","updated_at":"2026-04-13T07:57:18.000Z","time_to_close":605525,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"vdb","update_count":19,"packages":[{"name":"weaviate-client","old_version":"4.17.0","new_version":"4.20.4","repository_url":"https://github.com/weaviate/weaviate-python-client"},{"name":"alibabacloud-tea-openapi","old_version":"0.3.16","new_version":"0.4.4","repository_url":"https://github.com/aliyun/darabonba-openapi"},{"name":"chromadb","old_version":"0.5.20","new_version":"1.5.5","repository_url":"https://github.com/chroma-core/chroma"},{"name":"clickhouse-connect","old_version":"0.10.0","new_version":"0.15.1","repository_url":"https://github.com/ClickHouse/clickhouse-connect"},{"name":"couchbase","old_version":"4.3.6","new_version":"4.6.0","repository_url":"https://github.com/couchbase/couchbase-python-client"},{"name":"elasticsearch","old_version":"8.14.0","new_version":"9.3.0","repository_url":"https://github.com/elastic/elasticsearch-py"},{"name":"oracledb","old_version":"3.3.0","new_version":"3.4.2","repository_url":"https://github.com/oracle/python-oracledb"},{"name":"pgvector","old_version":"0.2.5","new_version":"0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"},{"name":"pymilvus","old_version":"2.5.17","new_version":"2.6.11","repository_url":"https://github.com/milvus-io/pymilvus"},{"name":"pymochow","old_version":"2.2.9","new_version":"2.4.0"},{"name":"pyobvector","old_version":"0.2.20","new_version":"0.2.25","repository_url":"https://github.com/oceanbase/pyobvector"},{"name":"qdrant-client","old_version":"1.9.0","new_version":"1.17.1","repository_url":"https://github.com/qdrant/qdrant-client"},{"name":"intersystems-irispython","old_version":"5.3.1","new_version":"5.3.2"},{"name":"tablestore","old_version":"6.3.7","new_version":"6.4.3","repository_url":"https://github.com/aliyun/aliyun-tablestore-python-sdk"},{"name":"tcvectordb","old_version":"1.6.4","new_version":"2.1.1"},{"name":"tidb-vector","old_version":"0.0.9","new_version":"0.0.15"},{"name":"upstash-vector","old_version":"0.6.0","new_version":"0.8.0","repository_url":"https://github.com/upstash/vector-py"},{"name":"xinference-client","old_version":"1.2.2","new_version":"2.4.0","repository_url":"https://github.com/xorbitsai/inference-client"},{"name":"mysql-connector-python","old_version":"9.5.0","new_version":"9.6.0","repository_url":"https://github.com/mysql/mysql-connector-python"}],"path":null,"ecosystem":"pip"},"body":"Bumps the vdb group with 19 updates in the /api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [weaviate-client](https://github.com/weaviate/weaviate-python-client) | `4.17.0` | `4.20.4` |\n| [alibabacloud-tea-openapi](https://github.com/aliyun/darabonba-openapi) | `0.3.16` | `0.4.4` |\n| [chromadb](https://github.com/chroma-core/chroma) | `0.5.20` | `1.5.5` |\n| [clickhouse-connect](https://github.com/ClickHouse/clickhouse-connect) | `0.10.0` | `0.15.1` |\n| [couchbase](https://github.com/couchbase/couchbase-python-client) | `4.3.6` | `4.6.0` |\n| [elasticsearch](https://github.com/elastic/elasticsearch-py) | `8.14.0` | `9.3.0` |\n| [oracledb](https://github.com/oracle/python-oracledb) | `3.3.0` | `3.4.2` |\n| [pgvector](https://github.com/pgvector/pgvector-python) | `0.2.5` | `0.4.2` |\n| [pymilvus](https://github.com/milvus-io/pymilvus) | `2.5.17` | `2.6.11` |\n| [pymochow](http://bce.baidu.com) | `2.2.9` | `2.4.0` |\n| [pyobvector](https://github.com/oceanbase/pyobvector) | `0.2.20` | `0.2.25` |\n| [qdrant-client](https://github.com/qdrant/qdrant-client) | `1.9.0` | `1.17.1` |\n| [intersystems-irispython](https://www.intersystems.com/) | `5.3.1` | `5.3.2` |\n| [tablestore](https://github.com/aliyun/aliyun-tablestore-python-sdk) | `6.3.7` | `6.4.3` |\n| tcvectordb | `1.6.4` | `2.1.1` |\n| tidb-vector | `0.0.9` | `0.0.15` |\n| [upstash-vector](https://github.com/upstash/vector-py) | `0.6.0` | `0.8.0` |\n| [xinference-client](https://github.com/xorbitsai/inference-client) | `1.2.2` | `2.4.0` |\n| [mysql-connector-python](https://github.com/mysql/mysql-connector-python) | `9.5.0` | `9.6.0` |\n\n\nUpdates `weaviate-client` from 4.17.0 to 4.20.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weaviate/weaviate-python-client/releases\"\u003eweaviate-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.20.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump authlib to 1.6.9 to avoid high cve by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1975\"\u003eweaviate/weaviate-python-client#1975\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.2...v4.20.3\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.2...v4.20.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eperf: use deque for iterator object cache by \u003ca href=\"https://github.com/giulio-leone\"\u003e\u003ccode\u003e@​giulio-leone\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1968\"\u003eweaviate/weaviate-python-client#1968\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexpose include_last_used_time parameter, return created_at and api_key_first_letters by \u003ca href=\"https://github.com/dudanogueira\"\u003e\u003ccode\u003e@​dudanogueira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1965\"\u003eweaviate/weaviate-python-client#1965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for incremental backups by \u003ca href=\"https://github.com/dirkkul\"\u003e\u003ccode\u003e@​dirkkul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1928\"\u003eweaviate/weaviate-python-client#1928\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/giulio-leone\"\u003e\u003ccode\u003e@​giulio-leone\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1968\"\u003eweaviate/weaviate-python-client#1968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.1...v4.20.2\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.1...v4.20.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix empty list filter raising IndexError instead of WeaviateInvalidInputError by \u003ca href=\"https://github.com/dirkkul\"\u003e\u003ccode\u003e@​dirkkul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1962\"\u003eweaviate/weaviate-python-client#1962\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.0...v4.20.1\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.0...v4.20.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eflat index: Add support for RQ and include cache param by \u003ca href=\"https://github.com/rlmanrique\"\u003e\u003ccode\u003e@​rlmanrique\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1844\"\u003eweaviate/weaviate-python-client#1844\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003ecollection.data.ingest\u003c/code\u003e for sync/async SSB usage by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1876\"\u003eweaviate/weaviate-python-client#1876\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd delete_property_index to collection config by \u003ca href=\"https://github.com/DanielJanicek\"\u003e\u003ccode\u003e@​DanielJanicek\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1940\"\u003eweaviate/weaviate-python-client#1940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid id invalidation in nested properties by \u003ca href=\"https://github.com/dudanogueira\"\u003e\u003ccode\u003e@​dudanogueira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1952\"\u003eweaviate/weaviate-python-client#1952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide options allowing users to specify custom grpc SSL credentials by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1946\"\u003eweaviate/weaviate-python-client#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for cancelling backup restore ops by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1956\"\u003eweaviate/weaviate-python-client#1956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove cache option from SQConfig, deprecate field in factory method by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1954\"\u003eweaviate/weaviate-python-client#1954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow imgs/img_props in cohere generative config runtime by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1955\"\u003eweaviate/weaviate-python-client#1955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce async repl conf in (re)configure and unit tests of usage by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1953\"\u003eweaviate/weaviate-python-client#1953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Hfresh index type by \u003ca href=\"https://github.com/robbespo00\"\u003e\u003ccode\u003e@​robbespo00\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1848\"\u003eweaviate/weaviate-python-client#1848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Cluster Statistics (client.cluster.statistics()) by \u003ca href=\"https://github.com/Shah91n\"\u003e\u003ccode\u003e@​Shah91n\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1959\"\u003eweaviate/weaviate-python-client#1959\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/Shah91n\"\u003e\u003ccode\u003e@​Shah91n\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1959\"\u003eweaviate/weaviate-python-client#1959\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.19.4...v4.20.0\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.19.4...v4.20.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.19.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd gRPC ping check to is_live method  by \u003ca href=\"https://github.com/sylvinho81\"\u003e\u003ccode\u003e@​sylvinho81\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1949\"\u003eweaviate/weaviate-python-client#1949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-raise in \u003ccode\u003ecollection.exists()\u003c/code\u003e if status code is not 404 by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1950\"\u003eweaviate/weaviate-python-client#1950\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weaviate/weaviate-python-client/blob/main/docs/changelog.rst\"\u003eweaviate-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 4.20.4\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Include client version in GRPC requests\n- Add support for the new \u003ccode\u003emulti2vec_google_gemini\u003c/code\u003e module\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.3\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Update of \u003ccode\u003eauthlib\u003c/code\u003e dependency\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.2\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Support for incremental backups\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.1\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Raise an input error when filtering on an empty list\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.0\u003c/h2\u003e\n\u003cp\u003eThis minor version includes:\n- Support for new 1.36 features:\n- Server-side batching (SSB) is now GA via \u003ccode\u003ebatch.stream\u003c/code\u003e (\u003ccode\u003ebatch.experimental\u003c/code\u003e is deprecated)\n- Add \u003ccode\u003ecollection.data.ingest\u003c/code\u003e as a new entry point for SSB usage in sync and async clients\n- Add support for the new HFresh index type\n- Add support for async replication configuration\n- Add support for cancelling backup restore operations\n- Add \u003ccode\u003ecollection.config.delete_property_index\u003c/code\u003e to drop filterable, searchable, or range filter indices from properties\n- Add \u003ccode\u003eclient.cluster.statistics()\u003c/code\u003e method for retrieving cluster and Raft statistics\n- Allow \u003ccode\u003eimages\u003c/code\u003e and \u003ccode\u003eimage_properties\u003c/code\u003e in Cohere generative config at runtime\n- Provide options to specify custom gRPC SSL credentials for advanced connection setups\n- Remove \u003ccode\u003ecache\u003c/code\u003e option from \u003ccode\u003eSQConfig\u003c/code\u003e and deprecate the field in the factory method\n- Fix validation of nested object properties to allow \u003ccode\u003eid\u003c/code\u003e as a nested property name\u003c/p\u003e\n\u003ch2\u003eVersion 4.19.4\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Adds the gRPC healthcheck ping to the \u003ccode\u003eis_live()\u003c/code\u003e method of the async client to provide a more accurate check of the connection status of the async client\n- Fixes bug where exceptions raised in \u003ccode\u003ecollections.exists()\u003c/code\u003e were silently ignored and the method would return \u003ccode\u003eFalse\u003c/code\u003e instead of raising the exception\u003c/p\u003e\n\u003ch2\u003eVersion 4.19.3\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Add support for VoyageAI voyage-4 model family (voyage-4, voyage-4-lite, voyage-4-large)\n- A fix for async client connection issues when \u003ccode\u003epypi\u003c/code\u003e is down\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/weaviate/weaviate-python-client/commit/c0b796e07af0fef5555d37cf78a9a47dae62bb0c\"\u003e\u003ccode\u003ec0b796e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1982\"\u003e#1982\u003c/a\u003e from weaviate/changelog_4_20_4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/dfa8ae431413db4bb66ad2054487018b3362f360\"\u003e\u003ccode\u003edfa8ae4\u003c/code\u003e\u003c/a\u003e Add changelog for v4.20.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/3a0958c19133ecb10565b66d4d0d4ab818d7a619\"\u003e\u003ccode\u003e3a0958c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1977\"\u003e#1977\u003c/a\u003e from weaviate/multi2vec-google-aistudio-vectorizer-c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/106f22584de2bc00f347534c19661af997112583\"\u003e\u003ccode\u003e106f225\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into multi2vec-google-aistudio-vectorizer-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/5ca709e0c068ae8531368d489062169cd7b9306d\"\u003e\u003ccode\u003e5ca709e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1980\"\u003e#1980\u003c/a\u003e from weaviate/client_version_grpc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/55e56f06bf0444fb4caf9f31da7b61dad10ef291\"\u003e\u003ccode\u003e55e56f0\u003c/code\u003e\u003c/a\u003e Dont overwrite version from additional headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/79ee3d030a8c9829c0ea3ca8240ebcdefe710647\"\u003e\u003ccode\u003e79ee3d0\u003c/code\u003e\u003c/a\u003e Add client version to GRPC headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/2ccdaa109a8ba599bec569b489aca3497087869e\"\u003e\u003ccode\u003e2ccdaa1\u003c/code\u003e\u003c/a\u003e chore: rename multi2vec_google_aistudio config to multi2vec_google_gemini\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/ce633119510d6b8ae71dec0310d4a5d08700e172\"\u003e\u003ccode\u003ece63311\u003c/code\u003e\u003c/a\u003e feat: add multi2vec_google_aistudio vectorizer config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/db8a91c514b042dda0871eeb7a27cc9c65f70e71\"\u003e\u003ccode\u003edb8a91c\u003c/code\u003e\u003c/a\u003e Bump authlib to 1.6.9 to avoid high cve (\u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1975\"\u003e#1975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.17.0...v4.20.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alibabacloud-tea-openapi` from 0.3.16 to 0.4.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aliyun/darabonba-openapi/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `chromadb` from 0.5.20 to 1.5.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/chroma-core/chroma/releases\"\u003echromadb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.5.5\u003c/h2\u003e\n\u003cp\u003eVersion: \u003ccode\u003e1.5.5\u003c/code\u003e\nGit ref: \u003ccode\u003erefs/tags/1.5.5\u003c/code\u003e\nBuild Date: \u003ccode\u003e2026-03-10T09:30\u003c/code\u003e\nPIP Package: \u003ccode\u003echroma-1.5.5.tar.gz\u003c/code\u003e\nGithub Container Registry Image: \u003ccode\u003e:1.5.5\u003c/code\u003e\nDockerHub Image: \u003ccode\u003e:1.5.5\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[RELEASE] Rust v0.13.2 by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6583\"\u003echroma-core/chroma#6583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Use buffer_unordered for lazy fragment fetch concurrency by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6584\"\u003echroma-core/chroma#6584\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] chroma configuration reference by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6592\"\u003echroma-core/chroma#6592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[PERF]: Dedup + filter out disbled collections before sysdb enrichment by \u003ca href=\"https://github.com/sanketkedia\"\u003e\u003ccode\u003e@​sanketkedia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6566\"\u003echroma-core/chroma#6566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[TST] Fix test_cross_version_persist by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6604\"\u003echroma-core/chroma#6604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Warn on no API key set on JS EFs by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6599\"\u003echroma-core/chroma#6599\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Add a GoogleGemini EF name alias by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6620\"\u003echroma-core/chroma#6620\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[RELEASE] Python 1.5.5 by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6602\"\u003echroma-core/chroma#6602\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chroma-core/chroma/compare/1.5.4...1.5.5\"\u003ehttps://github.com/chroma-core/chroma/compare/1.5.4...1.5.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.5.3\u003c/h2\u003e\n\u003cp\u003eVersion: \u003ccode\u003e1.5.3\u003c/code\u003e\nGit ref: \u003ccode\u003erefs/tags/1.5.3\u003c/code\u003e\nBuild Date: \u003ccode\u003e2026-03-07T19:07\u003c/code\u003e\nPIP Package: \u003ccode\u003echroma-1.5.3.tar.gz\u003c/code\u003e\nGithub Container Registry Image: \u003ccode\u003e:1.5.3\u003c/code\u003e\nDockerHub Image: \u003ccode\u003e:1.5.3\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[ENH] Thread topology name through purge-dirty pipeline by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6503\"\u003echroma-core/chroma#6503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CHORE]  Tighten down k8s resources in test. by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6509\"\u003echroma-core/chroma#6509\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Purge dirty via Spanner when topology is specified by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6504\"\u003echroma-core/chroma#6504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG]: Drop pydantic v1 compatibility layer for Python 3.14 support by \u003ca href=\"https://github.com/basnijholt\"\u003e\u003ccode\u003e@​basnijholt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6356\"\u003echroma-core/chroma#6356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[PERF] Parallelize segment reader initialization in filter and idf operators by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6522\"\u003echroma-core/chroma#6522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Preallocate during pull log parsing by \u003ca href=\"https://github.com/tanujnay112\"\u003e\u003ccode\u003e@​tanujnay112\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6528\"\u003echroma-core/chroma#6528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[TST] Make pytest use importlib by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6483\"\u003echroma-core/chroma#6483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CLN] Make telemetry a no-op and remove posthog as a dependency by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6489\"\u003echroma-core/chroma#6489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] fix forking numbers by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6530\"\u003echroma-core/chroma#6530\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/blob/HEAD/storage\"\u003eBUG\u003c/a\u003e: retry batch fetch on channel closure by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6526\"\u003echroma-core/chroma#6526\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG] CAS on version during reassignment by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6529\"\u003echroma-core/chroma#6529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] use ResourceExhausted error code for log backpressure by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6527\"\u003echroma-core/chroma#6527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Ordered sparse vector writer by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6495\"\u003echroma-core/chroma#6495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] update docs for s3 sync by \u003ca href=\"https://github.com/philipithomas\"\u003e\u003ccode\u003e@​philipithomas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6515\"\u003echroma-core/chroma#6515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG] avoid redundant manifest load in pull_logs_inner by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6544\"\u003echroma-core/chroma#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Skip record load when only id is requested by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6540\"\u003echroma-core/chroma#6540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/blob/HEAD/log\"\u003eENH\u003c/a\u003e add pointer-based log fetch via ScoutLogFragments by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6533\"\u003echroma-core/chroma#6533\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Add ReadLevel to count in be by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6539\"\u003echroma-core/chroma#6539\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Add a gauge metric in sysdb to track compaction_failure_count by \u003ca href=\"https://github.com/tanujnay112\"\u003e\u003ccode\u003e@​tanujnay112\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6550\"\u003echroma-core/chroma#6550\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Fix query param by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6557\"\u003echroma-core/chroma#6557\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/eca66b7afd4b7aea227644f8c78030f16fc2837a\"\u003e\u003ccode\u003eeca66b7\u003c/code\u003e\u003c/a\u003e [RELEASE] Python 1.5.5 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6602\"\u003e#6602\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/ce0eede5941e15017204c69387493a35ee97afa4\"\u003e\u003ccode\u003ece0eede\u003c/code\u003e\u003c/a\u003e [ENH] Add a GoogleGemini EF name alias (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6620\"\u003e#6620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/3604eea9165d26ef6eefb03893ae1b04d1803b1e\"\u003e\u003ccode\u003e3604eea\u003c/code\u003e\u003c/a\u003e [ENH] Warn on no API key set on JS EFs (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6599\"\u003e#6599\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/9e7bd7fbf91746166e56e140ed548d070f638722\"\u003e\u003ccode\u003e9e7bd7f\u003c/code\u003e\u003c/a\u003e [TST] Fix test_cross_version_persist (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6604\"\u003e#6604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/03a3169183d372360321c76a034c97f8a1e2ac4c\"\u003e\u003ccode\u003e03a3169\u003c/code\u003e\u003c/a\u003e [PERF]: Dedup + filter out disbled collections before sysdb enrichment (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6566\"\u003e#6566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/475bbfcfdba3b40c737c3a90a4f1a915298b16f6\"\u003e\u003ccode\u003e475bbfc\u003c/code\u003e\u003c/a\u003e [DOC] chroma configuration reference (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6592\"\u003e#6592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/02d2d8cd21150cd2ffdecce2c23e0234e04bb2fc\"\u003e\u003ccode\u003e02d2d8c\u003c/code\u003e\u003c/a\u003e [ENH] Use buffer_unordered for lazy fragment fetch concurrency (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6584\"\u003e#6584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/130449099a5eb756a55e4c73ed1d29fdebc5b371\"\u003e\u003ccode\u003e1304490\u003c/code\u003e\u003c/a\u003e [RELEASE] Rust v0.13.2 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6583\"\u003e#6583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/e0525a2f99589693141974a9c5a38b12299e8eef\"\u003e\u003ccode\u003ee0525a2\u003c/code\u003e\u003c/a\u003e [RELEASE] Python 1.5.4 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6585\"\u003e#6585\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/8c70b3cd112ca5608300b8e58710a4e52e5f97fb\"\u003e\u003ccode\u003e8c70b3c\u003c/code\u003e\u003c/a\u003e [ENH] Exclude yanked versions from cross-version persist test (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6588\"\u003e#6588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/chroma-core/chroma/compare/0.5.20...1.5.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `clickhouse-connect` from 0.10.0 to 0.15.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/releases\"\u003eclickhouse-connect's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.15.1\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse timezone from parameter type hint instead of \u003ccode\u003eserver_tz\u003c/code\u003e when formatting tz-aware datetimes in \u003ccode\u003e{param:Type}\u003c/code\u003e bind expressions. Fixes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/697\"\u003e#697\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.15.0\u003c/h2\u003e\n\u003ch1\u003eImprovements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eComprehensive ClickHouse \u003ccode\u003eJOIN\u003c/code\u003e support in SQLAlchemy via \u003ccode\u003ech_join()\u003c/code\u003e with all strictness/distribution modifiers and \u003ccode\u003eUSING\u003c/code\u003e syntax (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/635\"\u003e#635\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/636\"\u003e#636\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMulti-column \u003ccode\u003earray_join()\u003c/code\u003e for parallel array expansion (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/633\"\u003e#633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing Replicated engine variants (\u003ccode\u003eReplicatedReplacingMergeTree\u003c/code\u003e, etc.) (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/687\"\u003e#687\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLazy imports for \u003ccode\u003enumpy\u003c/code\u003e, \u003ccode\u003epandas\u003c/code\u003e, \u003ccode\u003epyarrow\u003c/code\u003e, and \u003ccode\u003epolars\u003c/code\u003e, ~4x faster bare import time (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/589\"\u003e#589\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003e.final()\u003c/code\u003e and \u003ccode\u003e.sample()\u003c/code\u003e silently overwriting each other when chained (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/658\"\u003e#658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003esqlalchemy.values()\u003c/code\u003e to emit ClickHouse \u003ccode\u003eVALUES\u003c/code\u003e table function syntax (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/681\"\u003e#681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eGraphiteMergeTree\u003c/code\u003e to properly quote \u003ccode\u003econfig_section\u003c/code\u003e argument\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eOther\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003epy.typed\u003c/code\u003e marker that was causing false type errors for mypy/pyright users (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/691\"\u003e#691\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.14.1...v0.15.0\"\u003ehttps://github.com/ClickHouse/clickhouse-connect/compare/v0.14.1...v0.15.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.14.1\u003c/h2\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed JSON and Dynamic column read paths to properly decode shared variant data instead of returning raw binary with discriminator byte prefixes. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/599\"\u003e#599\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/615\"\u003e#615\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed empty ORM/DBAPI \u003ccode\u003eSELECT\u003c/code\u003e results so \u003ccode\u003ecursor.description\u003c/code\u003e is still populated when ClickHouse Native format returns no data blocks. This restores correct handling for empty result sets, including parameterized and limited queries. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/675\"\u003e#675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReenabled the default Cython runtime path so compiled driverc modules are used again unless  \u003ccode\u003eCLICKHOUSE_CONNECT_USE_C=0\u003c/code\u003e is exoplicitly set. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/676\"\u003e#676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.14.0...v0.14.1\"\u003ehttps://github.com/ClickHouse/clickhouse-connect/compare/v0.14.0...v0.14.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.14.0\u003c/h2\u003e\n\u003ch2\u003eHigh level notes\u003c/h2\u003e\n\u003cp\u003eThis release is primarily focused on preparing the path to 1.0.0. It introduces a handful of breaking changes and deprecation warnings for APIs that will be removed or finalized in 1.0.0. If your code uses any of the deprecated parameters, you'll now see \u003ccode\u003eDeprecationWarning\u003c/code\u003es with clear migration guidance and highly recommend addressing these before upgrading to 1.0.0 when it ships.\u003c/p\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eapply_server_timezone\u003c/code\u003e renamed to \u003ccode\u003etz_source\u003c/code\u003e. Options are \u003ccode\u003e\u0026quot;auto\u0026quot;\u003c/code\u003e (the default), \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e, or \u003ccode\u003e\u0026quot;local\u0026quot;\u003c/code\u003e. The old parameter currently still works with a deprecation warning. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/670\"\u003eClickHouse/clickhouse-connect#670\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eutc_tz_aware\u003c/code\u003e renamed to \u003ccode\u003etz_mode\u003c/code\u003e. Options are \u003ccode\u003e\u0026quot;naive_utc\u0026quot;\u003c/code\u003e (the default), \u003ccode\u003e\u0026quot;aware\u0026quot;\u003c/code\u003e, or \u003ccode\u003e\u0026quot;schema\u0026quot;\u003c/code\u003e. The old parameter still currently still works with a deprecation warning. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/664\"\u003eClickHouse/clickhouse-connect#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003eObject('json')\u003c/code\u003e type. This was a legacy experimental JSON type has been removed in favor of the new JSON type in ClickHouse. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/666\"\u003eClickHouse/clickhouse-connect#666\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePandas 1.x support is deprecated and will be removed in 1.0.0. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/667\"\u003eClickHouse/clickhouse-connect#667\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThere's a async-native client based on clickhouse-connect v0.11.0 that is \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/releases/tag/v0.12.0rc1\"\u003eavailable\u003c/a\u003e for testing via \u003ccode\u003epip install clickhouse_connect[async]==0.12.0rc1\u003c/code\u003e. A \u003ccode\u003eFutureWarning\u003c/code\u003e advertising this will now be emitted on creation of the (to be legacy) async client. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/672\"\u003eClickHouse/clickhouse-connect#672\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eExperimental\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.14 free-threading (cp314t) wheel builds for all platforms. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/660\"\u003eClickHouse/clickhouse-connect#660\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where sending redundant settings is skipped. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/639\"\u003eClickHouse/clickhouse-connect#639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eSAMPLE\u003c/code\u003e in SQLAlchemy dialect. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/656\"\u003eClickHouse/clickhouse-connect#656\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\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/ClickHouse/clickhouse-connect/blob/main/CHANGELOG.md\"\u003eclickhouse-connect's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.1, 2026-03-30\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse timezone from parameter type hint instead of \u003ccode\u003eserver_tz\u003c/code\u003e when formatting tz-aware datetimes in \u003ccode\u003e{param:Type}\u003c/code\u003e bind expressions. Previously, \u003ccode\u003ebind_query\u003c/code\u003e always converted datetimes to the server timezone, ignoring explicit timezone declarations in type hints like \u003ccode\u003eDateTime64(6, 'UTC')\u003c/code\u003e. This caused incorrect query results when \u003ccode\u003eserver_tz\u003c/code\u003e differed from the hint timezone. Handles \u003ccode\u003eLowCardinality\u003c/code\u003e, \u003ccode\u003eNullable\u003c/code\u003e, and container type wrappers. Fixes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/697\"\u003e#697\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.15.0, 2026-03-26\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSQLAlchemy: Comprehensive ClickHouse JOIN support via the new \u003ccode\u003ech_join()\u003c/code\u003e helper. All strictness modifiers (\u003ccode\u003eALL\u003c/code\u003e, \u003ccode\u003eANY\u003c/code\u003e, \u003ccode\u003eSEMI\u003c/code\u003e, \u003ccode\u003eANTI\u003c/code\u003e, \u003ccode\u003eASOF\u003c/code\u003e), the \u003ccode\u003eGLOBAL\u003c/code\u003e distribution modifier, and explicit \u003ccode\u003eCROSS JOIN\u003c/code\u003e are now available. Use with \u003ccode\u003eselect_from()\u003c/code\u003e to generate ClickHouse-specific join syntax like \u003ccode\u003eGLOBAL ALL LEFT OUTER JOIN\u003c/code\u003e. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/635\"\u003e#635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: \u003ccode\u003earray_join()\u003c/code\u003e now supports multiple columns for parallel array expansion. Pass a list of columns and a matching list of aliases to generate \u003ccode\u003eARRAY JOIN col1 AS a, col2 AS b, col3 AS c\u003c/code\u003e. Single-column usage is unchanged. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/633\"\u003e#633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: \u003ccode\u003ech_join()\u003c/code\u003e now supports \u003ccode\u003eUSING\u003c/code\u003e syntax via the new \u003ccode\u003eusing\u003c/code\u003e parameter. Pass a list of column name strings to generate \u003ccode\u003eUSING (col1, col2)\u003c/code\u003e instead of \u003ccode\u003eON\u003c/code\u003e. This is important for \u003ccode\u003eFULL OUTER JOIN\u003c/code\u003e where \u003ccode\u003eUSING\u003c/code\u003e merges the join column correctly while \u003ccode\u003eON\u003c/code\u003e produces default values (0, '') for unmatched sides. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/636\"\u003e#636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: Add missing Replicated table engine variants: \u003ccode\u003eReplicatedReplacingMergeTree\u003c/code\u003e, \u003ccode\u003eReplicatedCollapsingMergeTree\u003c/code\u003e, \u003ccode\u003eReplicatedVersionedCollapsingMergeTree\u003c/code\u003e, and \u003ccode\u003eReplicatedGraphiteMergeTree\u003c/code\u003e. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/687\"\u003e#687\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazy imports for optional dependencies (numpy, pandas, pyarrow, polars). If installed, these heavy libraries are no longer imported at \u003ccode\u003eimport clickhouse_connect\u003c/code\u003e time. They are only imported when features that need them are actually used. The C/Numpy optimization bridge is also deferred. This speeds up bare import time of \u003ccode\u003eclickhouse-connect\u003c/code\u003e about 4X in environments where all four are installed. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/589\"\u003e#589\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003epy.typed\u003c/code\u003e marker file. The package does not have comprehensive type annotations, so the PEP 561 marker was causing false type errors for mypy/pyright users. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/691\"\u003e#691\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSQLAlchemy: Fix \u003ccode\u003e.final()\u003c/code\u003e and \u003ccode\u003e.sample()\u003c/code\u003e silently overwriting each other when chained. Both methods now store modifiers as custom attributes on the \u003ccode\u003eSelect\u003c/code\u003e instance and render them during compilation, replacing the previous \u003ccode\u003ewith_hint()\u003c/code\u003e approach that only allowed one hint per table. Chaining in either order (e.g. \u003ccode\u003eselect(t).final().sample(0.1)\u003c/code\u003e) correctly produces \u003ccode\u003eFROM t FINAL SAMPLE 0.1\u003c/code\u003e. Also fixes rendering for aliased tables (\u003ccode\u003eFROM t AS u FINAL\u003c/code\u003e) and supports explicit table targeting in joins. Fixes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/658\"\u003e#658\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: Fix \u003ccode\u003esqlalchemy.values()\u003c/code\u003e to generate ClickHouse's \u003ccode\u003eVALUES\u003c/code\u003e table function syntax. The compiler now emits \u003ccode\u003eVALUES('col1 Type1, col2 Type2', ...)\u003c/code\u003e with the column structure as the first argument, instead of the standard SQL form that places column names after the alias. Generic SQLAlchemy types are mapped to ClickHouse equivalents (e.g. \u003ccode\u003eInteger\u003c/code\u003e to \u003ccode\u003eInt32\u003c/code\u003e, \u003ccode\u003eString\u003c/code\u003e to \u003ccode\u003eString\u003c/code\u003e). Also handles CTE usage by wrapping in \u003ccode\u003eSELECT * FROM VALUES(...)\u003c/code\u003e. Fixes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/681\"\u003e#681\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: Fix \u003ccode\u003eGraphiteMergeTree\u003c/code\u003e and \u003ccode\u003eReplicatedGraphiteMergeTree\u003c/code\u003e to properly single-quote the \u003ccode\u003econfig_section\u003c/code\u003e argument as ClickHouse requires.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.14.1, 2026-03-11\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix JSON and Dynamic column read paths to properly decode shared variant data instead of returning raw binary with discriminator byte prefixes. Shared data values, used when paths exceed \u003ccode\u003emax_dynamic_paths\u003c/code\u003e or types exceed \u003ccode\u003emax_dynamic_types\u003c/code\u003e are now decoded from ClickHouse's binary variant encoding. Scalar types like integers, floats, strings, booleans, and nulls as well as nested objects are now fully decoded. Compound types like Array, Tuple, Map, DateTime, Date, Decimal, and UUID are not yet decoded and will be returned as raw bytes. Fixes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/599\"\u003e#599\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/615\"\u003e#615\u003c/a\u003e, and \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: Fixed empty ORM/DBAPI SELECT results so \u003ccode\u003ecursor.description\u003c/code\u003e is still populated when ClickHouse Native format returns no data blocks. This restores correct handling for empty result sets, including parameterized and limited queries. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/675\"\u003e#675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore the default Cython runtime path so compiled \u003ccode\u003edriverc\u003c/code\u003e modules are used again unless \u003ccode\u003eCLICKHOUSE_CONNECT_USE_C=0\u003c/code\u003e is set. Fix C/Python parity issues in streaming exception handling, \u003ccode\u003eFixedString\u003c/code\u003e string reads, nullable array helpers, and numpy conversion helpers, and expand CI and unit parity coverage to keep the optimized and pure-Python paths in sync. Addresses \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/676\"\u003e#676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSimplify \u003ccode\u003epivot\u003c/code\u003e in the Cython data conversion module to use \u003ccode\u003etuple(zip(*...))\u003c/code\u003e instead of a manual tuple-building loop which matches the pure-Python implementation and provides significant insert speedup.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.14.0, 2026-03-09\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRenamed \u003ccode\u003eapply_server_timezone\u003c/code\u003e parameter to \u003ccode\u003etz_source\u003c/code\u003e across Client and HttpClient. The new \u003ccode\u003etz_source\u003c/code\u003e parameter accepts string values: \u003ccode\u003e\u0026quot;auto\u0026quot;\u003c/code\u003e (default, was \u003ccode\u003eNone\u003c/code\u003e), \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e (was \u003ccode\u003eTrue\u003c/code\u003e or \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e), and \u003ccode\u003e\u0026quot;local\u0026quot;\u003c/code\u003e (was \u003ccode\u003eFalse\u003c/code\u003e). The old \u003ccode\u003eapply_server_timezone\u003c/code\u003e parameter is still accepted but emits a \u003ccode\u003eDeprecationWarning\u003c/code\u003e and will be removed in 1.0. Passing both \u003ccode\u003etz_source\u003c/code\u003e and \u003ccode\u003eapply_server_timezone\u003c/code\u003e raises \u003ccode\u003eProgrammingError\u003c/code\u003e. The \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e value (which had no distinct runtime behavior from \u003ccode\u003eTrue\u003c/code\u003e) maps to \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRenamed \u003ccode\u003eutc_tz_aware\u003c/code\u003e parameter to \u003ccode\u003etz_mode\u003c/code\u003e across Client, QueryContext, and all query methods. The new \u003ccode\u003etz_mode\u003c/code\u003e parameter accepts string values: \u003ccode\u003e\u0026quot;naive_utc\u0026quot;\u003c/code\u003e (default, was \u003ccode\u003eFalse\u003c/code\u003e), \u003ccode\u003e\u0026quot;aware\u0026quot;\u003c/code\u003e (was \u003ccode\u003eTrue\u003c/code\u003e), and \u003ccode\u003e\u0026quot;schema\u0026quot;\u003c/code\u003e (unchanged). The old \u003ccode\u003eutc_tz_aware\u003c/code\u003e parameter is still accepted but emits a \u003ccode\u003eDeprecationWarning\u003c/code\u003e and will be removed in 1.0. Passing both \u003ccode\u003etz_mode\u003c/code\u003e and \u003ccode\u003eutc_tz_aware\u003c/code\u003e raises \u003ccode\u003eProgrammingError\u003c/code\u003e. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/654\"\u003e#654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved the deprecated \u003ccode\u003eObject('json')\u003c/code\u003e type. This was the legacy experimental JSON type that has been superseded by the new \u003ccode\u003eJSON\u003c/code\u003e type in ClickHouse. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/556\"\u003e#556\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePandas 1.x support is now deprecated and will be removed in v1.0.0. A \u003ccode\u003eDeprecationWarning\u003c/code\u003e is emitted at import time for pandas 1.x users.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for the \u003ccode\u003eSAMPLE\u003c/code\u003e clause in SQLAlchemy statements. Note: Due to a SQLAlchemy limitation, only one hint (SAMPLE or FINAL) can be applied per table; chaining both will silently ignore one. For now, this change enables use of sample(), but chaining with final() is not yet supported.  Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/634\"\u003e#634\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eExperimental:\u003c/strong\u003e Added Python 3.14 free-threading (cp314t) wheel builds for all platforms. The full test suite currently (as of 2 MAR, 2026) passes under free-threaded Python, but is not added to the CI test matrix at this time nor has it been otherwise tested to any degree. Free-threading support should be considered experimental with no guarantees of correctness at this time. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/573\"\u003e#573\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.13.0, 2026-02-26\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBREAKING CHANGE: Implement native write path for \u003ccode\u003eVariant\u003c/code\u003e data type with type-aware dispatching.\nPreviously, all values inserted into a \u003ccode\u003eVariant\u003c/code\u003e column were stringified and sent to the server, which\nwould store them in the \u003ccode\u003eString\u003c/code\u003e member if present, or attempt server-side conversion otherwise. Values\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/05ec766c6c336812d1307eb49df33ba954cebb3d\"\u003e\u003ccode\u003e05ec766\u003c/code\u003e\u003c/a\u003e respect bind param tz type hints, bf release 0.15.1 prep\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/c4c2a4e2e1a6b1b54eff4e3effda4eab0781b0eb\"\u003e\u003ccode\u003ec4c2a4e\u003c/code\u003e\u003c/a\u003e 0.15.0 release prep (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/694\"\u003e#694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/cd8cbf48b01ebb68959745aa223f256240d0fe94\"\u003e\u003ccode\u003ecd8cbf4\u003c/code\u003e\u003c/a\u003e Joe/remove pytyped and other small cleanup issues (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/05859efdd18e4ec0d28ae7627b83bb3fd26239be\"\u003e\u003ccode\u003e05859ef\u003c/code\u003e\u003c/a\u003e implement lazy loading of heavy optional deps (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/689\"\u003e#689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/611161f54bcffa42cac313ab5c131e552fc9b2f0\"\u003e\u003ccode\u003e611161f\u003c/code\u003e\u003c/a\u003e SQLAlchemy core improvements (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/688\"\u003e#688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/5fd16eb13fc9af0861af608bdfd5c717623ae8ba\"\u003e\u003ccode\u003e5fd16eb\u003c/code\u003e\u003c/a\u003e simple ddl support for a few new engine types (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/a0e621c1e413909086e5344dbc56e3cc8a6a57da\"\u003e\u003ccode\u003ea0e621c\u003c/code\u003e\u003c/a\u003e add Peter for reviews (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/682\"\u003e#682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/c40bbacf6966cdf3bed4a0cd88d2a8cba10e5a8a\"\u003e\u003ccode\u003ec40bbac\u003c/code\u003e\u003c/a\u003e 0.14.1 bugfix release prep (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/680\"\u003e#680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/323b76809580854a84c543691ab7c9d976fdad49\"\u003e\u003ccode\u003e323b768\u003c/code\u003e\u003c/a\u003e Reenable default Cython runtime path and reestablish C/Python parity (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/679\"\u003e#679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/01149488c25e39e085d51edfcfdc8516162ff503\"\u003e\u003ccode\u003e0114948\u003c/code\u003e\u003c/a\u003e fix sqlalchemy empty result metadata for orm queries (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/678\"\u003e#678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.10.0...v0.15.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `couchbase` from 4.3.6 to 4.6.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/fbceef9ed86af073f7f4144b5154a80a52130208\"\u003e\u003ccode\u003efbceef9\u003c/code\u003e\u003c/a\u003e Add typing-extensions dependency for Python versions \u0026lt; 3.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/094022654ac4f925a6b5b04a1eedf24d74446962\"\u003e\u003ccode\u003e0940226\u003c/code\u003e\u003c/a\u003e Test Improvements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/64a401a3ffacffc94b7caf5ba8e12d4744939fdc\"\u003e\u003ccode\u003e64a401a\u003c/code\u003e\u003c/a\u003e PYCBC-1756: Streaming API Improvements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/d37b5245d9efcf078c8f84593e4ddcc18360b1c0\"\u003e\u003ccode\u003ed37b524\u003c/code\u003e\u003c/a\u003e PYCBC-1754: Logging Improvements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/558dd206639e1c01890c6245f9d5c6e468004cfd\"\u003e\u003ccode\u003e558dd20\u003c/code\u003e\u003c/a\u003e PYCBC-1720: Wrapper SDK Observability Improvments - OTel Integration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/d17409c317482d324a843567d29f572a073e3c16\"\u003e\u003ccode\u003ed17409c\u003c/code\u003e\u003c/a\u003e PYCBC-1722: Wrapper SDK Observability Improvements - Metrics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/9583de78f8260d05c11e0b16fa93d0884b0d6ad8\"\u003e\u003ccode\u003e9583de7\u003c/code\u003e\u003c/a\u003e PYCBC-1750: Wrapper SDK Observability - Remaining Management APIs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/5dc9ef7a15e75a970194b19317d6eb929277653e\"\u003e\u003ccode\u003e5dc9ef7\u003c/code\u003e\u003c/a\u003e PYCBC-1721: Wrapper SDK Observability - Tracing Baseline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/47fd1f4cf2471b7c68238ec9f1de3231ff750fea\"\u003e\u003ccode\u003e47fd1f4\u003c/code\u003e\u003c/a\u003e PYCBC-1755: Update JSONType type hint to adhere to static typing standards\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/e14bbae5bb6efdaff15d93074cdeefc3ce103044\"\u003e\u003ccode\u003ee14bbae\u003c/code\u003e\u003c/a\u003e PYCBC-1715: Support JWT based authentication in Operational SDKs\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/couchbase/couchbase-python-client/compare/4.3.6...4.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `elasticsearch` from 8.14.0 to 9.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/elastic/elasticsearch-py/releases\"\u003eelasticsearch's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.3.0\u003c/h2\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epack_dense_vector\u003c/code\u003e helper function to pack dense vectors for efficient uploading (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3219\"\u003e#3219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNew and updated ES|QL functions in the ES|QL query builder for 9.3 and Serverless (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3266\"\u003e#3266\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAPI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ecat.circuit_breaker\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eesql.get_view\u003c/code\u003e, \u003ccode\u003eesql.put_view\u003c/code\u003e and \u003ccode\u003eesql.delete_view\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eindices.get_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.put_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.delete_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.get_all_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.get_sample\u003c/code\u003e, \u003ccode\u003eindices.get_sample_stats\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003einference.put_groq\u003c/code\u003e, \u003ccode\u003einference.put_openshift_ai\u003c/code\u003e, \u003ccode\u003einference.put_nvidia\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003edownsampling_method\u003c/code\u003e argument to \u003ccode\u003eindices.put_data_lifecycle\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ereturn_documents\u003c/code\u003e and \u003ccode\u003etop_n\u003c/code\u003e arguments to \u003ccode\u003einference.rerank\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eclose_job\u003c/code\u003e argument to \u003ccode\u003eml.stop_datafeed\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecertificate_identity\u003c/code\u003e to \u003ccode\u003esecurity.create_cross_cluster_api_key\u003c/code\u003e and \u003ccode\u003esecurity.update_cross_cluster_api_key\u003c/code\u003e APIs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServerless-specific\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eproject_routing\u003c/code\u003e argument to \u003ccode\u003eproject.tags\u003c/code\u003e API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDSL\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eNumpyDenseVector\u003c/code\u003e field, with support for dense vectors based on numpy arrays (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3218\"\u003e#3218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eExponentialHistogram\u003c/code\u003e field\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003etime_series_metric\u003c/code\u003e argument to \u003ccode\u003eHistogram\u003c/code\u003e field\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eon_disk_rescore\u003c/code\u003e argument from \u003ccode\u003eDenseVectorIndexOptions\u003c/code\u003e type\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eslices\u003c/code\u003e argument to \u003ccode\u003eUpdateByQueryResponse\u003c/code\u003e type\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.2.1\u003c/h2\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInstrument ping with OTel (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3160\"\u003e#3160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake positional arguments in DSL generated classes explicit  (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3233\"\u003e#3233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd warnings for private APIs (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3212\"\u003e#3212\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eES|QL query builder: fix missing assignment (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3151\"\u003e#3151\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse relative imports to fix \u003ccode\u003eelasticsearch9\u003c/code\u003e package imports (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3232\"\u003e#3232\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAPI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003etransform.get_node_stats\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003erequests_per_second\u003c/code\u003e argument to \u003ccode\u003edelete_by_query_rethrottle\u003c/code\u003e, \u003ccode\u003ereindex_rethrottle\u003c/code\u003e and \u003ccode\u003eupdate_by_query_rethrottle\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eallow_closed\u003c/code\u003e, \u003ccode\u003eallow_no_indices\u003c/code\u003e, \u003ccode\u003eexpand_wildcards\u003c/code\u003e, \u003ccode\u003eignore_throttled\u003c/code\u003e and \u003ccode\u003eignore_available\u003c/code\u003e arguments to \u003ccode\u003ecat.segments\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003echunking_settings\u003c/code\u003e argument to \u003ccode\u003einference.put_watsonxai\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eid\u003c/code\u003e argument to \u003ccode\u003eml.stop_trained_model_deployment\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003echunking_settings\u003c/code\u003e argument from \u003ccode\u003einference.put_anthropic\u003c/code\u003e, \u003ccode\u003einference.put_contextualai\u003c/code\u003e, \u003ccode\u003einference.put_deepseek\u003c/code\u003e APIs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/adae2d6d3d76f3ea75cd758ce64223bd76df45e5\"\u003e\u003ccode\u003eadae2d6\u003c/code\u003e\u003c/a\u003e Release 9.3.0 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3300\"\u003e#3300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/ea2227c743d7cacb474efecf4d8b84fa553f9eec\"\u003e\u003ccode\u003eea2227c\u003c/code\u003e\u003c/a\u003e Add Python 3.14 trove classifier (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3296\"\u003e#3296\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3299\"\u003e#3299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/b507e3e2d91ff0b6f8fb4a53ea23caa989677436\"\u003e\u003ccode\u003eb507e3e\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3293\"\u003e#3293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/76150204725b1495cad3348c573406fc1f3512d1\"\u003e\u003ccode\u003e7615020\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3280\"\u003e#3280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/ef8d102b3fc4d7572e0fd0bb56afe4291fddc529\"\u003e\u003ccode\u003eef8d102\u003c/code\u003e\u003c/a\u003e Stop using pytz (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3275\"\u003e#3275\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3278\"\u003e#3278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/65870f3504344ba7f67feb7721522bef936a92cf\"\u003e\u003ccode\u003e65870f3\u003c/code\u003e\u003c/a\u003e allow adding elasticsearch query filter for mmr searching (elastic#2638) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/32\"\u003e#32\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/b110f19a49ad492d2d6aa514afaac35360ac3c93\"\u003e\u003ccode\u003eb110f19\u003c/code\u003e\u003c/a\u003e Updates to ES|QL functions for 9.3 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3266\"\u003e#3266\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3272\"\u003e#3272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/f3d082788f52b5fe3c80926624fa8a61aa4deb37\"\u003e\u003ccode\u003ef3d0827\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3269\"\u003e#3269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/80818cc2640fcdf902919a3dc5500ae945d33271\"\u003e\u003ccode\u003e80818cc\u003c/code\u003e\u003c/a\u003e Auto-generated code for 9.3 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3262\"\u003e#3262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/6baa03faedefc90ccbc5f902626cc8cea46aed6a\"\u003e\u003ccode\u003e6baa03f\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3252\"\u003e#3252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/elastic/elasticsearch-py/compare/v8.14.0...v9.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oracledb` from 3.3.0 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oracle/python-oracledb/releases\"\u003eoracledb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.4.2\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.2 is now released. This release addresses a number of issues. See the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-2-january-2026\"\u003efull release notes\u003c/a\u003e for all of the details.\u003c/p\u003e\n\u003ch2\u003ev3.4.1\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.1 is now released. This release addresses a number of issues. See the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-1-november-2025\"\u003efull release notes\u003c/a\u003e for all of the details.\u003c/p\u003e\n\u003ch2\u003ev3.4.0\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.0 is now released. This release has the following highlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003esupport for Direct Path Load in thin mode for fast data ingestion\u003c/li\u003e\n\u003cli\u003esupport for data frames is no longer considered a pre-release\u003c/li\u003e\n\u003cli\u003esupport for type mapping when querying with data frames\u003c/li\u003e\n\u003cli\u003esupport for ingesting more Apache Arrow data types\u003c/li\u003e\n\u003cli\u003esupport for ingesting Apache Arrow data frames containing multiple chunks\u003c/li\u003e\n\u003cli\u003esupport for cursor.executemany() operating on large input data in batches\u003c/li\u003e\n\u003cli\u003efine-grained control over LOB and number handling\u003c/li\u003e\n\u003cli\u003enew optional install dependencies for plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-0-october-2025\"\u003efull release notes\u003c/a\u003e for all of the details.\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/oracle/python-oracledb/commit/51581eeb0a626fb3df4e25e00ddb3a28137d3831\"\u003e\u003ccode\u003e51581ee\u003c/code\u003e\u003c/a\u003e Preparing to release python-oracledb 3.4.2.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/81ceb554a0bfb52eb64b7b3870907d9b19bf15bd\"\u003e\u003ccode\u003e81ceb55\u003c/code\u003e\u003c/a\u003e Fixed bug which caused Connection.call_timeout to be reset to zero when\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/4a94025de99763fd0d16d1c2d79d416b9a075e12\"\u003e\u003ccode\u003e4a94025\u003c/code\u003e\u003c/a\u003e Eliminated memory leak when converting a third party data frame to one\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/36a29517530bfe311dab41218a3bc3d80700fe2c\"\u003e\u003ccode\u003e36a2951\u003c/code\u003e\u003c/a\u003e Fixed bug when decoding PL/SQL booleans in Oracle Database 12.1 (\u003ca href=\"https://redirect.github.com/oracle/python-oracledb/issues/565\"\u003e#565\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/6072f01b420af4c2d36c1b9f7b1421aab64ea336\"\u003e\u003ccode\u003e6072f01\u003c/code\u003e\u003c/a\u003e Grammar fix.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/f8be001d9862d6b0b6ec6158b67affef7a70556e\"\u003e\u003ccode\u003ef8be001\u003c/code\u003e\u003c/a\u003e Fixed bug causing hang when using asyncio and the database closes the\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/6e0d8b9da4b259e1b11ad648d354ca659f537a6a\"\u003e\u003ccode\u003e6e0d8b9\u003c/code\u003e\u003c/a\u003e Eliminated race condition in background thread/coroutine management for\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/40200bfa1cb9dde0977a509c84cfdde66f144358\"\u003e\u003ccode\u003e40200bf\u003c/code\u003e\u003c/a\u003e Adjusted code and tests to be capable of being run in environments other\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/36f8899fa71ebd4aec80b87f990633e86abc6b95\"\u003e\u003ccode\u003e36f8899\u003c/code\u003e\u003c/a\u003e Added support for ingesting Arrow arrays which only consist of null\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/7bf23b6c2061d20358b030104249bd703ac1832e\"\u003e\u003ccode\u003e7bf23b6\u003c/code\u003e\u003c/a\u003e Fixed bug when calling Cursor.executemany() with all of the values in at\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/oracle/python-oracledb/compare/v3.3.0...v3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pgvector` from 0.2.5 to 0.4.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md\"\u003epgvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2 (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 6\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estr\u003c/code\u003e objects for \u003ccode\u003ebit\u003c/code\u003e type with SQLAlchemy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 (2025-04-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eSparseVector\u003c/code\u003e constructor for SciPy sparse matrices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 (2025-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded top-level \u003ccode\u003epgvector\u003c/code\u003e package\u003c/li\u003e\n\u003cli\u003eAdded support for pg8000\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ebytes\u003c/code\u003e to \u003ccode\u003eBit\u003c/code\u003e constructor\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eglobally\u003c/code\u003e option to default to \u003ccode\u003eFalse\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003earrays\u003c/code\u003e option to default to \u003ccode\u003eTrue\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eFixed equality for \u003ccode\u003eVector\u003c/code\u003e, \u003ccode\u003eHalfVector\u003c/code\u003e, \u003ccode\u003eBit\u003c/code\u003e, and \u003ccode\u003eSparseVector\u003c/code\u003e classes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eindices\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods of \u003ccode\u003eSparseVector\u003c/code\u003e returning tuple instead of list in some cases\u003c/li\u003e\n\u003cli\u003eDropped support for Python \u0026lt; 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 (2024-10-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003earrays\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 (2024-10-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eavg\u003c/code\u003e function with type casting to SQLAlchemy\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eglobally\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.4 (2024-09-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eschema\u003c/code\u003e option for asyncpg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.3 (2024-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved support for cursor factories with Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.2 (2024-07-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error with asyncpg and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.1 (2024-07-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error parsing zero sparse vectors\u003c/li\u003e\n\u003cli\u003eFixed error with Psycopg 2 and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003cli\u003eFixed error message when \u003ccode\u003evector\u003c/code\u003e type not found with Psycopg 3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.0 (2024-06-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ehalfvec\u003c/code\u003e, \u003ccode\u003ebit\u003c/code\u003e, and \u003ccode\u003esparsevec\u003c/code\u003e types to Django\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/2968f258f9486531bd1340cbda4ff8fcaf06cdc1\"\u003e\u003ccode\u003e2968f25\u003c/code\u003e\u003c/a\u003e Version bump to 0.4.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/674f5ba3410c873d49f50fa9725b95d9db50c674\"\u003e\u003ccode\u003e674f5ba\u003c/code\u003e\u003c/a\u003e Updated checkout action [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e2986daf2b1533cc2c849f7e39350e31d57ac325\"\u003e\u003ccode\u003ee2986da\u003c/code\u003e\u003c/a\u003e Added support for Django 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e211ba4029f204734f0c001fbb90f6a594d561ae\"\u003e\u003ccode\u003ee211ba4\u003c/code\u003e\u003c/a\u003e Test with Python 3.14 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/1a72b7571adf3325174b383aca85bfb3a5b925fa\"\u003e\u003ccode\u003e1a72b75\u003c/code\u003e\u003c/a\u003e Updated pgvector on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/c820a53bfb46196551de3c3f59f81b192d890574\"\u003e\u003ccode\u003ec820a53\u003c/code\u003e\u003c/a\u003e Simplified examples [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/caf1a2e0dd7a1ba2ad0ca9f09b50516dcfffcdeb\"\u003e\u003ccode\u003ecaf1a2e\u003c/code\u003e\u003c/a\u003e Added docs for binary quantization with SQLAlchemy [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/dc9a8f959995f009649fd230139ca41193e0a801\"\u003e\u003ccode\u003edc9a8f9\u003c/code\u003e\u003c/a\u003e Added test for binary quantization with re-ranking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/33dee606229489c9ffb0cb5a1cd72bd4705ac618\"\u003e\u003ccode\u003e33dee60\u003c/code\u003e\u003c/a\u003e Added support for str objects for bit type with SQLAlchemy - \u003ca href=\"https://redirect.github.com/pgvector/pgvector-python/issues/137\"\u003e#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/ee3e71ca2c07a12a8332a3877c0ce14adc9a5da8\"\u003e\u003ccode\u003eee3e71c\u003c/code\u003e\u003c/a\u003e Updated format for license identifier\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgvector/pgvector-python/compare/v0.2.5...v0.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymilvus` from 2.5.17 to 2.6.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/milvus-io/pymilvus/releases\"\u003epymilvus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePyMilvus v2.6.11 Release Notes\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003efix: pass address to GrpcHandler in ConnectionManager strategies\u003c/strong\u003e — fixed Milvus Lite local path broken since 2.6.10 (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3321\"\u003e#3321\u003c/a\u003e,  \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3323\"\u003e#3323\u003c/a\u003e) by \u003ca href=\"https://github.com/XuanYang-cn\"\u003e\u003ccode\u003e@​XuanYang-cn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: prevent \u0026quot;Cannot invoke RPC on closed channel\u0026quot; after connection recovery\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3326\"\u003e#3326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3345\"\u003e#3345\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: correct parameter name typos in QueryIterator causing partition filter bypass\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3324\"\u003e#3324\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3330\"\u003e#3330\u003c/a\u003e) by\n\u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: handle None response in search to prevent AttributeError\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3331\"\u003e#3331\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3332\"\u003e#3332\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: resolve bytes vector type misidentification in search path\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3334\"\u003e#3334\u003c/a\u003e) by \u003ca href=\"https://github.com/zhuwenxing\"\u003e\u003ccode\u003e@​zhuwenxing\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: guard MilvusClient._get_connection against None handler\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3337\"\u003e#3337\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3338\"\u003e#3338\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: handle None credentials in connections.connect()\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3343\"\u003e#3343\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3353\"\u003e#3353\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: use explicit length check for numpy array compatibility in search\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3342\"\u003e#3342\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3352\"\u003e#3352\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: clarify wrong-port guidance for UNIMPLEMENTED errors\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3315\"\u003e#3315\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3322\"\u003e#3322\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: display human-readable state and level in SegmentInfo repr\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3336\"\u003e#3336\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3355\"\u003e#3355\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: pin setuptools_scm\u0026lt;9 to prevent _types import breakage\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3348\"\u003e#3348\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures \u0026amp; Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003efeat: support Python 3.14\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3306\"\u003e#3306\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3318\"\u003e#3318\u003c/a\u003e) by \u003ca href=\"https://github.com/XuanYang-cn\"\u003e\u003ccode\u003e@​XuanYang-cn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: extract _get_dim helper to deduplicate dimension lookup (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3344\"\u003e#3344\u003c/a...\n\n_Description has been truncated_","html_url":"https://github.com/285519099/MyDify/pull/39","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/285519099%2FMyDify/issues/39","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/39/packages"},{"uuid":"4205859091","node_id":"PR_kwDORmx2Bs7P_ePg","number":46,"state":"closed","title":"chore(deps-dev): bump the vdb group across 1 directory with 20 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-11T21:37:44.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-04T21:38:08.000Z","updated_at":"2026-04-11T21:37:46.000Z","time_to_close":604776,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"vdb","update_count":20,"packages":[{"name":"weaviate-client","old_version":"4.17.0","new_version":"4.20.4","repository_url":"https://github.com/weaviate/weaviate-python-client"},{"name":"alibabacloud-tea-openapi","old_version":"0.3.16","new_version":"0.4.4","repository_url":"https://github.com/aliyun/darabonba-openapi"},{"name":"chromadb","old_version":"0.5.20","new_version":"1.5.5","repository_url":"https://github.com/chroma-core/chroma"},{"name":"clickhouse-connect","old_version":"0.10.0","new_version":"0.15.1","repository_url":"https://github.com/ClickHouse/clickhouse-connect"},{"name":"clickzetta-connector-python","old_version":"0.8.107","new_version":"0.8.109"},{"name":"couchbase","old_version":"4.3.6","new_version":"4.6.0","repository_url":"https://github.com/couchbase/couchbase-python-client"},{"name":"elasticsearch","old_version":"8.14.0","new_version":"9.3.0","repository_url":"https://github.com/elastic/elasticsearch-py"},{"name":"oracledb","old_version":"3.3.0","new_version":"3.4.2","repository_url":"https://github.com/oracle/python-oracledb"},{"name":"pgvector","old_version":"0.2.5","new_version":"0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"},{"name":"pymilvus","old_version":"2.5.17","new_version":"2.6.11","repository_url":"https://github.com/milvus-io/pymilvus"},{"name":"pymochow","old_version":"2.2.9","new_version":"2.4.0"},{"name":"pyobvector","old_version":"0.2.20","new_version":"0.2.25","repository_url":"https://github.com/oceanbase/pyobvector"},{"name":"qdrant-client","old_version":"1.9.0","new_version":"1.17.1","repository_url":"https://github.com/qdrant/qdrant-client"},{"name":"intersystems-irispython","old_version":"5.3.1","new_version":"5.3.2"},{"name":"tablestore","old_version":"6.3.7","new_version":"6.4.3","repository_url":"https://github.com/aliyun/aliyun-tablestore-python-sdk"},{"name":"tcvectordb","old_version":"1.6.4","new_version":"2.1.1"},{"name":"tidb-vector","old_version":"0.0.9","new_version":"0.0.15"},{"name":"upstash-vector","old_version":"0.6.0","new_version":"0.8.0","repository_url":"https://github.com/upstash/vector-py"},{"name":"xinference-client","old_version":"1.2.2","new_version":"2.4.0","repository_url":"https://github.com/xorbitsai/inference-client"},{"name":"mysql-connector-python","old_version":"9.5.0","new_version":"9.6.0","repository_url":"https://github.com/mysql/mysql-connector-python"}],"path":null,"ecosystem":"pip"},"body":"Bumps the vdb group with 20 updates in the /api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [weaviate-client](https://github.com/weaviate/weaviate-python-client) | `4.17.0` | `4.20.4` |\n| [alibabacloud-tea-openapi](https://github.com/aliyun/darabonba-openapi) | `0.3.16` | `0.4.4` |\n| [chromadb](https://github.com/chroma-core/chroma) | `0.5.20` | `1.5.5` |\n| [clickhouse-connect](https://github.com/ClickHouse/clickhouse-connect) | `0.10.0` | `0.15.1` |\n| clickzetta-connector-python | `0.8.107` | `0.8.109` |\n| [couchbase](https://github.com/couchbase/couchbase-python-client) | `4.3.6` | `4.6.0` |\n| [elasticsearch](https://github.com/elastic/elasticsearch-py) | `8.14.0` | `9.3.0` |\n| [oracledb](https://github.com/oracle/python-oracledb) | `3.3.0` | `3.4.2` |\n| [pgvector](https://github.com/pgvector/pgvector-python) | `0.2.5` | `0.4.2` |\n| [pymilvus](https://github.com/milvus-io/pymilvus) | `2.5.17` | `2.6.11` |\n| [pymochow](http://bce.baidu.com) | `2.2.9` | `2.4.0` |\n| [pyobvector](https://github.com/oceanbase/pyobvector) | `0.2.20` | `0.2.25` |\n| [qdrant-client](https://github.com/qdrant/qdrant-client) | `1.9.0` | `1.17.1` |\n| [intersystems-irispython](https://www.intersystems.com/) | `5.3.1` | `5.3.2` |\n| [tablestore](https://github.com/aliyun/aliyun-tablestore-python-sdk) | `6.3.7` | `6.4.3` |\n| tcvectordb | `1.6.4` | `2.1.1` |\n| tidb-vector | `0.0.9` | `0.0.15` |\n| [upstash-vector](https://github.com/upstash/vector-py) | `0.6.0` | `0.8.0` |\n| [xinference-client](https://github.com/xorbitsai/inference-client) | `1.2.2` | `2.4.0` |\n| [mysql-connector-python](https://github.com/mysql/mysql-connector-python) | `9.5.0` | `9.6.0` |\n\n\nUpdates `weaviate-client` from 4.17.0 to 4.20.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weaviate/weaviate-python-client/releases\"\u003eweaviate-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.20.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump authlib to 1.6.9 to avoid high cve by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1975\"\u003eweaviate/weaviate-python-client#1975\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.2...v4.20.3\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.2...v4.20.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eperf: use deque for iterator object cache by \u003ca href=\"https://github.com/giulio-leone\"\u003e\u003ccode\u003e@​giulio-leone\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1968\"\u003eweaviate/weaviate-python-client#1968\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexpose include_last_used_time parameter, return created_at and api_key_first_letters by \u003ca href=\"https://github.com/dudanogueira\"\u003e\u003ccode\u003e@​dudanogueira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1965\"\u003eweaviate/weaviate-python-client#1965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for incremental backups by \u003ca href=\"https://github.com/dirkkul\"\u003e\u003ccode\u003e@​dirkkul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1928\"\u003eweaviate/weaviate-python-client#1928\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/giulio-leone\"\u003e\u003ccode\u003e@​giulio-leone\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1968\"\u003eweaviate/weaviate-python-client#1968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.1...v4.20.2\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.1...v4.20.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix empty list filter raising IndexError instead of WeaviateInvalidInputError by \u003ca href=\"https://github.com/dirkkul\"\u003e\u003ccode\u003e@​dirkkul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1962\"\u003eweaviate/weaviate-python-client#1962\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.0...v4.20.1\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.0...v4.20.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eflat index: Add support for RQ and include cache param by \u003ca href=\"https://github.com/rlmanrique\"\u003e\u003ccode\u003e@​rlmanrique\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1844\"\u003eweaviate/weaviate-python-client#1844\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003ecollection.data.ingest\u003c/code\u003e for sync/async SSB usage by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1876\"\u003eweaviate/weaviate-python-client#1876\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd delete_property_index to collection config by \u003ca href=\"https://github.com/DanielJanicek\"\u003e\u003ccode\u003e@​DanielJanicek\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1940\"\u003eweaviate/weaviate-python-client#1940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid id invalidation in nested properties by \u003ca href=\"https://github.com/dudanogueira\"\u003e\u003ccode\u003e@​dudanogueira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1952\"\u003eweaviate/weaviate-python-client#1952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide options allowing users to specify custom grpc SSL credentials by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1946\"\u003eweaviate/weaviate-python-client#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for cancelling backup restore ops by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1956\"\u003eweaviate/weaviate-python-client#1956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove cache option from SQConfig, deprecate field in factory method by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1954\"\u003eweaviate/weaviate-python-client#1954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow imgs/img_props in cohere generative config runtime by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1955\"\u003eweaviate/weaviate-python-client#1955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce async repl conf in (re)configure and unit tests of usage by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1953\"\u003eweaviate/weaviate-python-client#1953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Hfresh index type by \u003ca href=\"https://github.com/robbespo00\"\u003e\u003ccode\u003e@​robbespo00\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1848\"\u003eweaviate/weaviate-python-client#1848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Cluster Statistics (client.cluster.statistics()) by \u003ca href=\"https://github.com/Shah91n\"\u003e\u003ccode\u003e@​Shah91n\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1959\"\u003eweaviate/weaviate-python-client#1959\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/Shah91n\"\u003e\u003ccode\u003e@​Shah91n\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1959\"\u003eweaviate/weaviate-python-client#1959\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.19.4...v4.20.0\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.19.4...v4.20.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.19.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd gRPC ping check to is_live method  by \u003ca href=\"https://github.com/sylvinho81\"\u003e\u003ccode\u003e@​sylvinho81\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1949\"\u003eweaviate/weaviate-python-client#1949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-raise in \u003ccode\u003ecollection.exists()\u003c/code\u003e if status code is not 404 by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1950\"\u003eweaviate/weaviate-python-client#1950\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weaviate/weaviate-python-client/blob/main/docs/changelog.rst\"\u003eweaviate-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 4.20.4\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Include client version in GRPC requests\n- Add support for the new \u003ccode\u003emulti2vec_google_gemini\u003c/code\u003e module\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.3\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Update of \u003ccode\u003eauthlib\u003c/code\u003e dependency\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.2\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Support for incremental backups\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.1\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Raise an input error when filtering on an empty list\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.0\u003c/h2\u003e\n\u003cp\u003eThis minor version includes:\n- Support for new 1.36 features:\n- Server-side batching (SSB) is now GA via \u003ccode\u003ebatch.stream\u003c/code\u003e (\u003ccode\u003ebatch.experimental\u003c/code\u003e is deprecated)\n- Add \u003ccode\u003ecollection.data.ingest\u003c/code\u003e as a new entry point for SSB usage in sync and async clients\n- Add support for the new HFresh index type\n- Add support for async replication configuration\n- Add support for cancelling backup restore operations\n- Add \u003ccode\u003ecollection.config.delete_property_index\u003c/code\u003e to drop filterable, searchable, or range filter indices from properties\n- Add \u003ccode\u003eclient.cluster.statistics()\u003c/code\u003e method for retrieving cluster and Raft statistics\n- Allow \u003ccode\u003eimages\u003c/code\u003e and \u003ccode\u003eimage_properties\u003c/code\u003e in Cohere generative config at runtime\n- Provide options to specify custom gRPC SSL credentials for advanced connection setups\n- Remove \u003ccode\u003ecache\u003c/code\u003e option from \u003ccode\u003eSQConfig\u003c/code\u003e and deprecate the field in the factory method\n- Fix validation of nested object properties to allow \u003ccode\u003eid\u003c/code\u003e as a nested property name\u003c/p\u003e\n\u003ch2\u003eVersion 4.19.4\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Adds the gRPC healthcheck ping to the \u003ccode\u003eis_live()\u003c/code\u003e method of the async client to provide a more accurate check of the connection status of the async client\n- Fixes bug where exceptions raised in \u003ccode\u003ecollections.exists()\u003c/code\u003e were silently ignored and the method would return \u003ccode\u003eFalse\u003c/code\u003e instead of raising the exception\u003c/p\u003e\n\u003ch2\u003eVersion 4.19.3\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Add support for VoyageAI voyage-4 model family (voyage-4, voyage-4-lite, voyage-4-large)\n- A fix for async client connection issues when \u003ccode\u003epypi\u003c/code\u003e is down\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/weaviate/weaviate-python-client/commit/c0b796e07af0fef5555d37cf78a9a47dae62bb0c\"\u003e\u003ccode\u003ec0b796e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1982\"\u003e#1982\u003c/a\u003e from weaviate/changelog_4_20_4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/dfa8ae431413db4bb66ad2054487018b3362f360\"\u003e\u003ccode\u003edfa8ae4\u003c/code\u003e\u003c/a\u003e Add changelog for v4.20.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/3a0958c19133ecb10565b66d4d0d4ab818d7a619\"\u003e\u003ccode\u003e3a0958c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1977\"\u003e#1977\u003c/a\u003e from weaviate/multi2vec-google-aistudio-vectorizer-c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/106f22584de2bc00f347534c19661af997112583\"\u003e\u003ccode\u003e106f225\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into multi2vec-google-aistudio-vectorizer-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/5ca709e0c068ae8531368d489062169cd7b9306d\"\u003e\u003ccode\u003e5ca709e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1980\"\u003e#1980\u003c/a\u003e from weaviate/client_version_grpc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/55e56f06bf0444fb4caf9f31da7b61dad10ef291\"\u003e\u003ccode\u003e55e56f0\u003c/code\u003e\u003c/a\u003e Dont overwrite version from additional headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/79ee3d030a8c9829c0ea3ca8240ebcdefe710647\"\u003e\u003ccode\u003e79ee3d0\u003c/code\u003e\u003c/a\u003e Add client version to GRPC headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/2ccdaa109a8ba599bec569b489aca3497087869e\"\u003e\u003ccode\u003e2ccdaa1\u003c/code\u003e\u003c/a\u003e chore: rename multi2vec_google_aistudio config to multi2vec_google_gemini\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/ce633119510d6b8ae71dec0310d4a5d08700e172\"\u003e\u003ccode\u003ece63311\u003c/code\u003e\u003c/a\u003e feat: add multi2vec_google_aistudio vectorizer config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/db8a91c514b042dda0871eeb7a27cc9c65f70e71\"\u003e\u003ccode\u003edb8a91c\u003c/code\u003e\u003c/a\u003e Bump authlib to 1.6.9 to avoid high cve (\u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1975\"\u003e#1975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.17.0...v4.20.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alibabacloud-tea-openapi` from 0.3.16 to 0.4.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aliyun/darabonba-openapi/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `chromadb` from 0.5.20 to 1.5.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/chroma-core/chroma/releases\"\u003echromadb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.5.5\u003c/h2\u003e\n\u003cp\u003eVersion: \u003ccode\u003e1.5.5\u003c/code\u003e\nGit ref: \u003ccode\u003erefs/tags/1.5.5\u003c/code\u003e\nBuild Date: \u003ccode\u003e2026-03-10T09:30\u003c/code\u003e\nPIP Package: \u003ccode\u003echroma-1.5.5.tar.gz\u003c/code\u003e\nGithub Container Registry Image: \u003ccode\u003e:1.5.5\u003c/code\u003e\nDockerHub Image: \u003ccode\u003e:1.5.5\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[RELEASE] Rust v0.13.2 by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6583\"\u003echroma-core/chroma#6583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Use buffer_unordered for lazy fragment fetch concurrency by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6584\"\u003echroma-core/chroma#6584\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] chroma configuration reference by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6592\"\u003echroma-core/chroma#6592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[PERF]: Dedup + filter out disbled collections before sysdb enrichment by \u003ca href=\"https://github.com/sanketkedia\"\u003e\u003ccode\u003e@​sanketkedia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6566\"\u003echroma-core/chroma#6566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[TST] Fix test_cross_version_persist by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6604\"\u003echroma-core/chroma#6604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Warn on no API key set on JS EFs by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6599\"\u003echroma-core/chroma#6599\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Add a GoogleGemini EF name alias by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6620\"\u003echroma-core/chroma#6620\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[RELEASE] Python 1.5.5 by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6602\"\u003echroma-core/chroma#6602\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chroma-core/chroma/compare/1.5.4...1.5.5\"\u003ehttps://github.com/chroma-core/chroma/compare/1.5.4...1.5.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.5.3\u003c/h2\u003e\n\u003cp\u003eVersion: \u003ccode\u003e1.5.3\u003c/code\u003e\nGit ref: \u003ccode\u003erefs/tags/1.5.3\u003c/code\u003e\nBuild Date: \u003ccode\u003e2026-03-07T19:07\u003c/code\u003e\nPIP Package: \u003ccode\u003echroma-1.5.3.tar.gz\u003c/code\u003e\nGithub Container Registry Image: \u003ccode\u003e:1.5.3\u003c/code\u003e\nDockerHub Image: \u003ccode\u003e:1.5.3\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[ENH] Thread topology name through purge-dirty pipeline by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6503\"\u003echroma-core/chroma#6503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CHORE]  Tighten down k8s resources in test. by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6509\"\u003echroma-core/chroma#6509\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Purge dirty via Spanner when topology is specified by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6504\"\u003echroma-core/chroma#6504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG]: Drop pydantic v1 compatibility layer for Python 3.14 support by \u003ca href=\"https://github.com/basnijholt\"\u003e\u003ccode\u003e@​basnijholt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6356\"\u003echroma-core/chroma#6356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[PERF] Parallelize segment reader initialization in filter and idf operators by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6522\"\u003echroma-core/chroma#6522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Preallocate during pull log parsing by \u003ca href=\"https://github.com/tanujnay112\"\u003e\u003ccode\u003e@​tanujnay112\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6528\"\u003echroma-core/chroma#6528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[TST] Make pytest use importlib by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6483\"\u003echroma-core/chroma#6483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CLN] Make telemetry a no-op and remove posthog as a dependency by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6489\"\u003echroma-core/chroma#6489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] fix forking numbers by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6530\"\u003echroma-core/chroma#6530\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/blob/HEAD/storage\"\u003eBUG\u003c/a\u003e: retry batch fetch on channel closure by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6526\"\u003echroma-core/chroma#6526\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG] CAS on version during reassignment by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6529\"\u003echroma-core/chroma#6529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] use ResourceExhausted error code for log backpressure by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6527\"\u003echroma-core/chroma#6527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Ordered sparse vector writer by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6495\"\u003echroma-core/chroma#6495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] update docs for s3 sync by \u003ca href=\"https://github.com/philipithomas\"\u003e\u003ccode\u003e@​philipithomas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6515\"\u003echroma-core/chroma#6515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG] avoid redundant manifest load in pull_logs_inner by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6544\"\u003echroma-core/chroma#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Skip record load when only id is requested by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6540\"\u003echroma-core/chroma#6540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/blob/HEAD/log\"\u003eENH\u003c/a\u003e add pointer-based log fetch via ScoutLogFragments by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6533\"\u003echroma-core/chroma#6533\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Add ReadLevel to count in be by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6539\"\u003echroma-core/chroma#6539\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Add a gauge metric in sysdb to track compaction_failure_count by \u003ca href=\"https://github.com/tanujnay112\"\u003e\u003ccode\u003e@​tanujnay112\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6550\"\u003echroma-core/chroma#6550\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Fix query param by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6557\"\u003echroma-core/chroma#6557\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/eca66b7afd4b7aea227644f8c78030f16fc2837a\"\u003e\u003ccode\u003eeca66b7\u003c/code\u003e\u003c/a\u003e [RELEASE] Python 1.5.5 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6602\"\u003e#6602\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/ce0eede5941e15017204c69387493a35ee97afa4\"\u003e\u003ccode\u003ece0eede\u003c/code\u003e\u003c/a\u003e [ENH] Add a GoogleGemini EF name alias (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6620\"\u003e#6620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/3604eea9165d26ef6eefb03893ae1b04d1803b1e\"\u003e\u003ccode\u003e3604eea\u003c/code\u003e\u003c/a\u003e [ENH] Warn on no API key set on JS EFs (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6599\"\u003e#6599\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/9e7bd7fbf91746166e56e140ed548d070f638722\"\u003e\u003ccode\u003e9e7bd7f\u003c/code\u003e\u003c/a\u003e [TST] Fix test_cross_version_persist (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6604\"\u003e#6604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/03a3169183d372360321c76a034c97f8a1e2ac4c\"\u003e\u003ccode\u003e03a3169\u003c/code\u003e\u003c/a\u003e [PERF]: Dedup + filter out disbled collections before sysdb enrichment (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6566\"\u003e#6566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/475bbfcfdba3b40c737c3a90a4f1a915298b16f6\"\u003e\u003ccode\u003e475bbfc\u003c/code\u003e\u003c/a\u003e [DOC] chroma configuration reference (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6592\"\u003e#6592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/02d2d8cd21150cd2ffdecce2c23e0234e04bb2fc\"\u003e\u003ccode\u003e02d2d8c\u003c/code\u003e\u003c/a\u003e [ENH] Use buffer_unordered for lazy fragment fetch concurrency (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6584\"\u003e#6584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/130449099a5eb756a55e4c73ed1d29fdebc5b371\"\u003e\u003ccode\u003e1304490\u003c/code\u003e\u003c/a\u003e [RELEASE] Rust v0.13.2 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6583\"\u003e#6583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/e0525a2f99589693141974a9c5a38b12299e8eef\"\u003e\u003ccode\u003ee0525a2\u003c/code\u003e\u003c/a\u003e [RELEASE] Python 1.5.4 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6585\"\u003e#6585\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/8c70b3cd112ca5608300b8e58710a4e52e5f97fb\"\u003e\u003ccode\u003e8c70b3c\u003c/code\u003e\u003c/a\u003e [ENH] Exclude yanked versions from cross-version persist test (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6588\"\u003e#6588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/chroma-core/chroma/compare/0.5.20...1.5.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `clickhouse-connect` from 0.10.0 to 0.15.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/releases\"\u003eclickhouse-connect's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.15.1\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse timezone from parameter type hint instead of \u003ccode\u003eserver_tz\u003c/code\u003e when formatting tz-aware datetimes in \u003ccode\u003e{param:Type}\u003c/code\u003e bind expressions. Fixes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/697\"\u003e#697\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.15.0\u003c/h2\u003e\n\u003ch1\u003eImprovements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eComprehensive ClickHouse \u003ccode\u003eJOIN\u003c/code\u003e support in SQLAlchemy via \u003ccode\u003ech_join()\u003c/code\u003e with all strictness/distribution modifiers and \u003ccode\u003eUSING\u003c/code\u003e syntax (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/635\"\u003e#635\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/636\"\u003e#636\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMulti-column \u003ccode\u003earray_join()\u003c/code\u003e for parallel array expansion (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/633\"\u003e#633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing Replicated engine variants (\u003ccode\u003eReplicatedReplacingMergeTree\u003c/code\u003e, etc.) (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/687\"\u003e#687\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLazy imports for \u003ccode\u003enumpy\u003c/code\u003e, \u003ccode\u003epandas\u003c/code\u003e, \u003ccode\u003epyarrow\u003c/code\u003e, and \u003ccode\u003epolars\u003c/code\u003e, ~4x faster bare import time (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/589\"\u003e#589\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003e.final()\u003c/code\u003e and \u003ccode\u003e.sample()\u003c/code\u003e silently overwriting each other when chained (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/658\"\u003e#658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003esqlalchemy.values()\u003c/code\u003e to emit ClickHouse \u003ccode\u003eVALUES\u003c/code\u003e table function syntax (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/681\"\u003e#681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eGraphiteMergeTree\u003c/code\u003e to properly quote \u003ccode\u003econfig_section\u003c/code\u003e argument\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eOther\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003epy.typed\u003c/code\u003e marker that was causing false type errors for mypy/pyright users (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/691\"\u003e#691\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.14.1...v0.15.0\"\u003ehttps://github.com/ClickHouse/clickhouse-connect/compare/v0.14.1...v0.15.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.14.1\u003c/h2\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed JSON and Dynamic column read paths to properly decode shared variant data instead of returning raw binary with discriminator byte prefixes. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/599\"\u003e#599\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/615\"\u003e#615\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed empty ORM/DBAPI \u003ccode\u003eSELECT\u003c/code\u003e results so \u003ccode\u003ecursor.description\u003c/code\u003e is still populated when ClickHouse Native format returns no data blocks. This restores correct handling for empty result sets, including parameterized and limited queries. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/675\"\u003e#675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReenabled the default Cython runtime path so compiled driverc modules are used again unless  \u003ccode\u003eCLICKHOUSE_CONNECT_USE_C=0\u003c/code\u003e is exoplicitly set. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/676\"\u003e#676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.14.0...v0.14.1\"\u003ehttps://github.com/ClickHouse/clickhouse-connect/compare/v0.14.0...v0.14.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.14.0\u003c/h2\u003e\n\u003ch2\u003eHigh level notes\u003c/h2\u003e\n\u003cp\u003eThis release is primarily focused on preparing the path to 1.0.0. It introduces a handful of breaking changes and deprecation warnings for APIs that will be removed or finalized in 1.0.0. If your code uses any of the deprecated parameters, you'll now see \u003ccode\u003eDeprecationWarning\u003c/code\u003es with clear migration guidance and highly recommend addressing these before upgrading to 1.0.0 when it ships.\u003c/p\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eapply_server_timezone\u003c/code\u003e renamed to \u003ccode\u003etz_source\u003c/code\u003e. Options are \u003ccode\u003e\u0026quot;auto\u0026quot;\u003c/code\u003e (the default), \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e, or \u003ccode\u003e\u0026quot;local\u0026quot;\u003c/code\u003e. The old parameter currently still works with a deprecation warning. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/670\"\u003eClickHouse/clickhouse-connect#670\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eutc_tz_aware\u003c/code\u003e renamed to \u003ccode\u003etz_mode\u003c/code\u003e. Options are \u003ccode\u003e\u0026quot;naive_utc\u0026quot;\u003c/code\u003e (the default), \u003ccode\u003e\u0026quot;aware\u0026quot;\u003c/code\u003e, or \u003ccode\u003e\u0026quot;schema\u0026quot;\u003c/code\u003e. The old parameter still currently still works with a deprecation warning. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/664\"\u003eClickHouse/clickhouse-connect#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003eObject('json')\u003c/code\u003e type. This was a legacy experimental JSON type has been removed in favor of the new JSON type in ClickHouse. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/666\"\u003eClickHouse/clickhouse-connect#666\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePandas 1.x support is deprecated and will be removed in 1.0.0. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/667\"\u003eClickHouse/clickhouse-connect#667\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThere's a async-native client based on clickhouse-connect v0.11.0 that is \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/releases/tag/v0.12.0rc1\"\u003eavailable\u003c/a\u003e for testing via \u003ccode\u003epip install clickhouse_connect[async]==0.12.0rc1\u003c/code\u003e. A \u003ccode\u003eFutureWarning\u003c/code\u003e advertising this will now be emitted on creation of the (to be legacy) async client. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/672\"\u003eClickHouse/clickhouse-connect#672\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eExperimental\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.14 free-threading (cp314t) wheel builds for all platforms. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/660\"\u003eClickHouse/clickhouse-connect#660\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where sending redundant settings is skipped. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/639\"\u003eClickHouse/clickhouse-connect#639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eSAMPLE\u003c/code\u003e in SQLAlchemy dialect. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/656\"\u003eClickHouse/clickhouse-connect#656\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\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/ClickHouse/clickhouse-connect/blob/main/CHANGELOG.md\"\u003eclickhouse-connect's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.1, 2026-03-30\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse timezone from parameter type hint instead of \u003ccode\u003eserver_tz\u003c/code\u003e when formatting tz-aware datetimes in \u003ccode\u003e{param:Type}\u003c/code\u003e bind expressions. Previously, \u003ccode\u003ebind_query\u003c/code\u003e always converted datetimes to the server timezone, ignoring explicit timezone declarations in type hints like \u003ccode\u003eDateTime64(6, 'UTC')\u003c/code\u003e. This caused incorrect query results when \u003ccode\u003eserver_tz\u003c/code\u003e differed from the hint timezone. Handles \u003ccode\u003eLowCardinality\u003c/code\u003e, \u003ccode\u003eNullable\u003c/code\u003e, and container type wrappers. Fixes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/697\"\u003e#697\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.15.0, 2026-03-26\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSQLAlchemy: Comprehensive ClickHouse JOIN support via the new \u003ccode\u003ech_join()\u003c/code\u003e helper. All strictness modifiers (\u003ccode\u003eALL\u003c/code\u003e, \u003ccode\u003eANY\u003c/code\u003e, \u003ccode\u003eSEMI\u003c/code\u003e, \u003ccode\u003eANTI\u003c/code\u003e, \u003ccode\u003eASOF\u003c/code\u003e), the \u003ccode\u003eGLOBAL\u003c/code\u003e distribution modifier, and explicit \u003ccode\u003eCROSS JOIN\u003c/code\u003e are now available. Use with \u003ccode\u003eselect_from()\u003c/code\u003e to generate ClickHouse-specific join syntax like \u003ccode\u003eGLOBAL ALL LEFT OUTER JOIN\u003c/code\u003e. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/635\"\u003e#635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: \u003ccode\u003earray_join()\u003c/code\u003e now supports multiple columns for parallel array expansion. Pass a list of columns and a matching list of aliases to generate \u003ccode\u003eARRAY JOIN col1 AS a, col2 AS b, col3 AS c\u003c/code\u003e. Single-column usage is unchanged. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/633\"\u003e#633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: \u003ccode\u003ech_join()\u003c/code\u003e now supports \u003ccode\u003eUSING\u003c/code\u003e syntax via the new \u003ccode\u003eusing\u003c/code\u003e parameter. Pass a list of column name strings to generate \u003ccode\u003eUSING (col1, col2)\u003c/code\u003e instead of \u003ccode\u003eON\u003c/code\u003e. This is important for \u003ccode\u003eFULL OUTER JOIN\u003c/code\u003e where \u003ccode\u003eUSING\u003c/code\u003e merges the join column correctly while \u003ccode\u003eON\u003c/code\u003e produces default values (0, '') for unmatched sides. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/636\"\u003e#636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: Add missing Replicated table engine variants: \u003ccode\u003eReplicatedReplacingMergeTree\u003c/code\u003e, \u003ccode\u003eReplicatedCollapsingMergeTree\u003c/code\u003e, \u003ccode\u003eReplicatedVersionedCollapsingMergeTree\u003c/code\u003e, and \u003ccode\u003eReplicatedGraphiteMergeTree\u003c/code\u003e. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/687\"\u003e#687\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazy imports for optional dependencies (numpy, pandas, pyarrow, polars). If installed, these heavy libraries are no longer imported at \u003ccode\u003eimport clickhouse_connect\u003c/code\u003e time. They are only imported when features that need them are actually used. The C/Numpy optimization bridge is also deferred. This speeds up bare import time of \u003ccode\u003eclickhouse-connect\u003c/code\u003e about 4X in environments where all four are installed. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/589\"\u003e#589\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003epy.typed\u003c/code\u003e marker file. The package does not have comprehensive type annotations, so the PEP 561 marker was causing false type errors for mypy/pyright users. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/691\"\u003e#691\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSQLAlchemy: Fix \u003ccode\u003e.final()\u003c/code\u003e and \u003ccode\u003e.sample()\u003c/code\u003e silently overwriting each other when chained. Both methods now store modifiers as custom attributes on the \u003ccode\u003eSelect\u003c/code\u003e instance and render them during compilation, replacing the previous \u003ccode\u003ewith_hint()\u003c/code\u003e approach that only allowed one hint per table. Chaining in either order (e.g. \u003ccode\u003eselect(t).final().sample(0.1)\u003c/code\u003e) correctly produces \u003ccode\u003eFROM t FINAL SAMPLE 0.1\u003c/code\u003e. Also fixes rendering for aliased tables (\u003ccode\u003eFROM t AS u FINAL\u003c/code\u003e) and supports explicit table targeting in joins. Fixes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/658\"\u003e#658\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: Fix \u003ccode\u003esqlalchemy.values()\u003c/code\u003e to generate ClickHouse's \u003ccode\u003eVALUES\u003c/code\u003e table function syntax. The compiler now emits \u003ccode\u003eVALUES('col1 Type1, col2 Type2', ...)\u003c/code\u003e with the column structure as the first argument, instead of the standard SQL form that places column names after the alias. Generic SQLAlchemy types are mapped to ClickHouse equivalents (e.g. \u003ccode\u003eInteger\u003c/code\u003e to \u003ccode\u003eInt32\u003c/code\u003e, \u003ccode\u003eString\u003c/code\u003e to \u003ccode\u003eString\u003c/code\u003e). Also handles CTE usage by wrapping in \u003ccode\u003eSELECT * FROM VALUES(...)\u003c/code\u003e. Fixes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/681\"\u003e#681\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: Fix \u003ccode\u003eGraphiteMergeTree\u003c/code\u003e and \u003ccode\u003eReplicatedGraphiteMergeTree\u003c/code\u003e to properly single-quote the \u003ccode\u003econfig_section\u003c/code\u003e argument as ClickHouse requires.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.14.1, 2026-03-11\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix JSON and Dynamic column read paths to properly decode shared variant data instead of returning raw binary with discriminator byte prefixes. Shared data values, used when paths exceed \u003ccode\u003emax_dynamic_paths\u003c/code\u003e or types exceed \u003ccode\u003emax_dynamic_types\u003c/code\u003e are now decoded from ClickHouse's binary variant encoding. Scalar types like integers, floats, strings, booleans, and nulls as well as nested objects are now fully decoded. Compound types like Array, Tuple, Map, DateTime, Date, Decimal, and UUID are not yet decoded and will be returned as raw bytes. Fixes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/599\"\u003e#599\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/615\"\u003e#615\u003c/a\u003e, and \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: Fixed empty ORM/DBAPI SELECT results so \u003ccode\u003ecursor.description\u003c/code\u003e is still populated when ClickHouse Native format returns no data blocks. This restores correct handling for empty result sets, including parameterized and limited queries. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/675\"\u003e#675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore the default Cython runtime path so compiled \u003ccode\u003edriverc\u003c/code\u003e modules are used again unless \u003ccode\u003eCLICKHOUSE_CONNECT_USE_C=0\u003c/code\u003e is set. Fix C/Python parity issues in streaming exception handling, \u003ccode\u003eFixedString\u003c/code\u003e string reads, nullable array helpers, and numpy conversion helpers, and expand CI and unit parity coverage to keep the optimized and pure-Python paths in sync. Addresses \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/676\"\u003e#676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSimplify \u003ccode\u003epivot\u003c/code\u003e in the Cython data conversion module to use \u003ccode\u003etuple(zip(*...))\u003c/code\u003e instead of a manual tuple-building loop which matches the pure-Python implementation and provides significant insert speedup.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.14.0, 2026-03-09\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRenamed \u003ccode\u003eapply_server_timezone\u003c/code\u003e parameter to \u003ccode\u003etz_source\u003c/code\u003e across Client and HttpClient. The new \u003ccode\u003etz_source\u003c/code\u003e parameter accepts string values: \u003ccode\u003e\u0026quot;auto\u0026quot;\u003c/code\u003e (default, was \u003ccode\u003eNone\u003c/code\u003e), \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e (was \u003ccode\u003eTrue\u003c/code\u003e or \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e), and \u003ccode\u003e\u0026quot;local\u0026quot;\u003c/code\u003e (was \u003ccode\u003eFalse\u003c/code\u003e). The old \u003ccode\u003eapply_server_timezone\u003c/code\u003e parameter is still accepted but emits a \u003ccode\u003eDeprecationWarning\u003c/code\u003e and will be removed in 1.0. Passing both \u003ccode\u003etz_source\u003c/code\u003e and \u003ccode\u003eapply_server_timezone\u003c/code\u003e raises \u003ccode\u003eProgrammingError\u003c/code\u003e. The \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e value (which had no distinct runtime behavior from \u003ccode\u003eTrue\u003c/code\u003e) maps to \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRenamed \u003ccode\u003eutc_tz_aware\u003c/code\u003e parameter to \u003ccode\u003etz_mode\u003c/code\u003e across Client, QueryContext, and all query methods. The new \u003ccode\u003etz_mode\u003c/code\u003e parameter accepts string values: \u003ccode\u003e\u0026quot;naive_utc\u0026quot;\u003c/code\u003e (default, was \u003ccode\u003eFalse\u003c/code\u003e), \u003ccode\u003e\u0026quot;aware\u0026quot;\u003c/code\u003e (was \u003ccode\u003eTrue\u003c/code\u003e), and \u003ccode\u003e\u0026quot;schema\u0026quot;\u003c/code\u003e (unchanged). The old \u003ccode\u003eutc_tz_aware\u003c/code\u003e parameter is still accepted but emits a \u003ccode\u003eDeprecationWarning\u003c/code\u003e and will be removed in 1.0. Passing both \u003ccode\u003etz_mode\u003c/code\u003e and \u003ccode\u003eutc_tz_aware\u003c/code\u003e raises \u003ccode\u003eProgrammingError\u003c/code\u003e. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/654\"\u003e#654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved the deprecated \u003ccode\u003eObject('json')\u003c/code\u003e type. This was the legacy experimental JSON type that has been superseded by the new \u003ccode\u003eJSON\u003c/code\u003e type in ClickHouse. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/556\"\u003e#556\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePandas 1.x support is now deprecated and will be removed in v1.0.0. A \u003ccode\u003eDeprecationWarning\u003c/code\u003e is emitted at import time for pandas 1.x users.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for the \u003ccode\u003eSAMPLE\u003c/code\u003e clause in SQLAlchemy statements. Note: Due to a SQLAlchemy limitation, only one hint (SAMPLE or FINAL) can be applied per table; chaining both will silently ignore one. For now, this change enables use of sample(), but chaining with final() is not yet supported.  Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/634\"\u003e#634\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eExperimental:\u003c/strong\u003e Added Python 3.14 free-threading (cp314t) wheel builds for all platforms. The full test suite currently (as of 2 MAR, 2026) passes under free-threaded Python, but is not added to the CI test matrix at this time nor has it been otherwise tested to any degree. Free-threading support should be considered experimental with no guarantees of correctness at this time. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/573\"\u003e#573\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.13.0, 2026-02-26\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBREAKING CHANGE: Implement native write path for \u003ccode\u003eVariant\u003c/code\u003e data type with type-aware dispatching.\nPreviously, all values inserted into a \u003ccode\u003eVariant\u003c/code\u003e column were stringified and sent to the server, which\nwould store them in the \u003ccode\u003eString\u003c/code\u003e member if present, or attempt server-side conversion otherwise. Values\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/05ec766c6c336812d1307eb49df33ba954cebb3d\"\u003e\u003ccode\u003e05ec766\u003c/code\u003e\u003c/a\u003e respect bind param tz type hints, bf release 0.15.1 prep\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/c4c2a4e2e1a6b1b54eff4e3effda4eab0781b0eb\"\u003e\u003ccode\u003ec4c2a4e\u003c/code\u003e\u003c/a\u003e 0.15.0 release prep (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/694\"\u003e#694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/cd8cbf48b01ebb68959745aa223f256240d0fe94\"\u003e\u003ccode\u003ecd8cbf4\u003c/code\u003e\u003c/a\u003e Joe/remove pytyped and other small cleanup issues (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/05859efdd18e4ec0d28ae7627b83bb3fd26239be\"\u003e\u003ccode\u003e05859ef\u003c/code\u003e\u003c/a\u003e implement lazy loading of heavy optional deps (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/689\"\u003e#689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/611161f54bcffa42cac313ab5c131e552fc9b2f0\"\u003e\u003ccode\u003e611161f\u003c/code\u003e\u003c/a\u003e SQLAlchemy core improvements (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/688\"\u003e#688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/5fd16eb13fc9af0861af608bdfd5c717623ae8ba\"\u003e\u003ccode\u003e5fd16eb\u003c/code\u003e\u003c/a\u003e simple ddl support for a few new engine types (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/a0e621c1e413909086e5344dbc56e3cc8a6a57da\"\u003e\u003ccode\u003ea0e621c\u003c/code\u003e\u003c/a\u003e add Peter for reviews (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/682\"\u003e#682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/c40bbacf6966cdf3bed4a0cd88d2a8cba10e5a8a\"\u003e\u003ccode\u003ec40bbac\u003c/code\u003e\u003c/a\u003e 0.14.1 bugfix release prep (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/680\"\u003e#680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/323b76809580854a84c543691ab7c9d976fdad49\"\u003e\u003ccode\u003e323b768\u003c/code\u003e\u003c/a\u003e Reenable default Cython runtime path and reestablish C/Python parity (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/679\"\u003e#679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/01149488c25e39e085d51edfcfdc8516162ff503\"\u003e\u003ccode\u003e0114948\u003c/code\u003e\u003c/a\u003e fix sqlalchemy empty result metadata for orm queries (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/678\"\u003e#678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.10.0...v0.15.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `clickzetta-connector-python` from 0.8.107 to 0.8.109\n\nUpdates `couchbase` from 4.3.6 to 4.6.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/fbceef9ed86af073f7f4144b5154a80a52130208\"\u003e\u003ccode\u003efbceef9\u003c/code\u003e\u003c/a\u003e Add typing-extensions dependency for Python versions \u0026lt; 3.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/094022654ac4f925a6b5b04a1eedf24d74446962\"\u003e\u003ccode\u003e0940226\u003c/code\u003e\u003c/a\u003e Test Improvements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/64a401a3ffacffc94b7caf5ba8e12d4744939fdc\"\u003e\u003ccode\u003e64a401a\u003c/code\u003e\u003c/a\u003e PYCBC-1756: Streaming API Improvements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/d37b5245d9efcf078c8f84593e4ddcc18360b1c0\"\u003e\u003ccode\u003ed37b524\u003c/code\u003e\u003c/a\u003e PYCBC-1754: Logging Improvements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/558dd206639e1c01890c6245f9d5c6e468004cfd\"\u003e\u003ccode\u003e558dd20\u003c/code\u003e\u003c/a\u003e PYCBC-1720: Wrapper SDK Observability Improvments - OTel Integration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/d17409c317482d324a843567d29f572a073e3c16\"\u003e\u003ccode\u003ed17409c\u003c/code\u003e\u003c/a\u003e PYCBC-1722: Wrapper SDK Observability Improvements - Metrics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/9583de78f8260d05c11e0b16fa93d0884b0d6ad8\"\u003e\u003ccode\u003e9583de7\u003c/code\u003e\u003c/a\u003e PYCBC-1750: Wrapper SDK Observability - Remaining Management APIs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/5dc9ef7a15e75a970194b19317d6eb929277653e\"\u003e\u003ccode\u003e5dc9ef7\u003c/code\u003e\u003c/a\u003e PYCBC-1721: Wrapper SDK Observability - Tracing Baseline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/47fd1f4cf2471b7c68238ec9f1de3231ff750fea\"\u003e\u003ccode\u003e47fd1f4\u003c/code\u003e\u003c/a\u003e PYCBC-1755: Update JSONType type hint to adhere to static typing standards\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/e14bbae5bb6efdaff15d93074cdeefc3ce103044\"\u003e\u003ccode\u003ee14bbae\u003c/code\u003e\u003c/a\u003e PYCBC-1715: Support JWT based authentication in Operational SDKs\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/couchbase/couchbase-python-client/compare/4.3.6...4.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `elasticsearch` from 8.14.0 to 9.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/elastic/elasticsearch-py/releases\"\u003eelasticsearch's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.3.0\u003c/h2\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epack_dense_vector\u003c/code\u003e helper function to pack dense vectors for efficient uploading (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3219\"\u003e#3219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNew and updated ES|QL functions in the ES|QL query builder for 9.3 and Serverless (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3266\"\u003e#3266\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAPI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ecat.circuit_breaker\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eesql.get_view\u003c/code\u003e, \u003ccode\u003eesql.put_view\u003c/code\u003e and \u003ccode\u003eesql.delete_view\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eindices.get_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.put_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.delete_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.get_all_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.get_sample\u003c/code\u003e, \u003ccode\u003eindices.get_sample_stats\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003einference.put_groq\u003c/code\u003e, \u003ccode\u003einference.put_openshift_ai\u003c/code\u003e, \u003ccode\u003einference.put_nvidia\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003edownsampling_method\u003c/code\u003e argument to \u003ccode\u003eindices.put_data_lifecycle\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ereturn_documents\u003c/code\u003e and \u003ccode\u003etop_n\u003c/code\u003e arguments to \u003ccode\u003einference.rerank\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eclose_job\u003c/code\u003e argument to \u003ccode\u003eml.stop_datafeed\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecertificate_identity\u003c/code\u003e to \u003ccode\u003esecurity.create_cross_cluster_api_key\u003c/code\u003e and \u003ccode\u003esecurity.update_cross_cluster_api_key\u003c/code\u003e APIs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServerless-specific\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eproject_routing\u003c/code\u003e argument to \u003ccode\u003eproject.tags\u003c/code\u003e API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDSL\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eNumpyDenseVector\u003c/code\u003e field, with support for dense vectors based on numpy arrays (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3218\"\u003e#3218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eExponentialHistogram\u003c/code\u003e field\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003etime_series_metric\u003c/code\u003e argument to \u003ccode\u003eHistogram\u003c/code\u003e field\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eon_disk_rescore\u003c/code\u003e argument from \u003ccode\u003eDenseVectorIndexOptions\u003c/code\u003e type\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eslices\u003c/code\u003e argument to \u003ccode\u003eUpdateByQueryResponse\u003c/code\u003e type\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.2.1\u003c/h2\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInstrument ping with OTel (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3160\"\u003e#3160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake positional arguments in DSL generated classes explicit  (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3233\"\u003e#3233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd warnings for private APIs (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3212\"\u003e#3212\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eES|QL query builder: fix missing assignment (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3151\"\u003e#3151\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse relative imports to fix \u003ccode\u003eelasticsearch9\u003c/code\u003e package imports (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3232\"\u003e#3232\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAPI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003etransform.get_node_stats\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003erequests_per_second\u003c/code\u003e argument to \u003ccode\u003edelete_by_query_rethrottle\u003c/code\u003e, \u003ccode\u003ereindex_rethrottle\u003c/code\u003e and \u003ccode\u003eupdate_by_query_rethrottle\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eallow_closed\u003c/code\u003e, \u003ccode\u003eallow_no_indices\u003c/code\u003e, \u003ccode\u003eexpand_wildcards\u003c/code\u003e, \u003ccode\u003eignore_throttled\u003c/code\u003e and \u003ccode\u003eignore_available\u003c/code\u003e arguments to \u003ccode\u003ecat.segments\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003echunking_settings\u003c/code\u003e argument to \u003ccode\u003einference.put_watsonxai\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eid\u003c/code\u003e argument to \u003ccode\u003eml.stop_trained_model_deployment\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003echunking_settings\u003c/code\u003e argument from \u003ccode\u003einference.put_anthropic\u003c/code\u003e, \u003ccode\u003einference.put_contextualai\u003c/code\u003e, \u003ccode\u003einference.put_deepseek\u003c/code\u003e APIs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/adae2d6d3d76f3ea75cd758ce64223bd76df45e5\"\u003e\u003ccode\u003eadae2d6\u003c/code\u003e\u003c/a\u003e Release 9.3.0 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3300\"\u003e#3300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/ea2227c743d7cacb474efecf4d8b84fa553f9eec\"\u003e\u003ccode\u003eea2227c\u003c/code\u003e\u003c/a\u003e Add Python 3.14 trove classifier (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3296\"\u003e#3296\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3299\"\u003e#3299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/b507e3e2d91ff0b6f8fb4a53ea23caa989677436\"\u003e\u003ccode\u003eb507e3e\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3293\"\u003e#3293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/76150204725b1495cad3348c573406fc1f3512d1\"\u003e\u003ccode\u003e7615020\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3280\"\u003e#3280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/ef8d102b3fc4d7572e0fd0bb56afe4291fddc529\"\u003e\u003ccode\u003eef8d102\u003c/code\u003e\u003c/a\u003e Stop using pytz (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3275\"\u003e#3275\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3278\"\u003e#3278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/65870f3504344ba7f67feb7721522bef936a92cf\"\u003e\u003ccode\u003e65870f3\u003c/code\u003e\u003c/a\u003e allow adding elasticsearch query filter for mmr searching (elastic#2638) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/32\"\u003e#32\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/b110f19a49ad492d2d6aa514afaac35360ac3c93\"\u003e\u003ccode\u003eb110f19\u003c/code\u003e\u003c/a\u003e Updates to ES|QL functions for 9.3 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3266\"\u003e#3266\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3272\"\u003e#3272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/f3d082788f52b5fe3c80926624fa8a61aa4deb37\"\u003e\u003ccode\u003ef3d0827\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3269\"\u003e#3269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/80818cc2640fcdf902919a3dc5500ae945d33271\"\u003e\u003ccode\u003e80818cc\u003c/code\u003e\u003c/a\u003e Auto-generated code for 9.3 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3262\"\u003e#3262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/6baa03faedefc90ccbc5f902626cc8cea46aed6a\"\u003e\u003ccode\u003e6baa03f\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3252\"\u003e#3252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/elastic/elasticsearch-py/compare/v8.14.0...v9.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oracledb` from 3.3.0 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oracle/python-oracledb/releases\"\u003eoracledb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.4.2\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.2 is now released. This release addresses a number of issues. See the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-2-january-2026\"\u003efull release notes\u003c/a\u003e for all of the details.\u003c/p\u003e\n\u003ch2\u003ev3.4.1\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.1 is now released. This release addresses a number of issues. See the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-1-november-2025\"\u003efull release notes\u003c/a\u003e for all of the details.\u003c/p\u003e\n\u003ch2\u003ev3.4.0\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.0 is now released. This release has the following highlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003esupport for Direct Path Load in thin mode for fast data ingestion\u003c/li\u003e\n\u003cli\u003esupport for data frames is no longer considered a pre-release\u003c/li\u003e\n\u003cli\u003esupport for type mapping when querying with data frames\u003c/li\u003e\n\u003cli\u003esupport for ingesting more Apache Arrow data types\u003c/li\u003e\n\u003cli\u003esupport for ingesting Apache Arrow data frames containing multiple chunks\u003c/li\u003e\n\u003cli\u003esupport for cursor.executemany() operating on large input data in batches\u003c/li\u003e\n\u003cli\u003efine-grained control over LOB and number handling\u003c/li\u003e\n\u003cli\u003enew optional install dependencies for plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-0-october-2025\"\u003efull release notes\u003c/a\u003e for all of the details.\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/oracle/python-oracledb/commit/51581eeb0a626fb3df4e25e00ddb3a28137d3831\"\u003e\u003ccode\u003e51581ee\u003c/code\u003e\u003c/a\u003e Preparing to release python-oracledb 3.4.2.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/81ceb554a0bfb52eb64b7b3870907d9b19bf15bd\"\u003e\u003ccode\u003e81ceb55\u003c/code\u003e\u003c/a\u003e Fixed bug which caused Connection.call_timeout to be reset to zero when\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/4a94025de99763fd0d16d1c2d79d416b9a075e12\"\u003e\u003ccode\u003e4a94025\u003c/code\u003e\u003c/a\u003e Eliminated memory leak when converting a third party data frame to one\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/36a29517530bfe311dab41218a3bc3d80700fe2c\"\u003e\u003ccode\u003e36a2951\u003c/code\u003e\u003c/a\u003e Fixed bug when decoding PL/SQL booleans in Oracle Database 12.1 (\u003ca href=\"https://redirect.github.com/oracle/python-oracledb/issues/565\"\u003e#565\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/6072f01b420af4c2d36c1b9f7b1421aab64ea336\"\u003e\u003ccode\u003e6072f01\u003c/code\u003e\u003c/a\u003e Grammar fix.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/f8be001d9862d6b0b6ec6158b67affef7a70556e\"\u003e\u003ccode\u003ef8be001\u003c/code\u003e\u003c/a\u003e Fixed bug causing hang when using asyncio and the database closes the\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/6e0d8b9da4b259e1b11ad648d354ca659f537a6a\"\u003e\u003ccode\u003e6e0d8b9\u003c/code\u003e\u003c/a\u003e Eliminated race condition in background thread/coroutine management for\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/40200bfa1cb9dde0977a509c84cfdde66f144358\"\u003e\u003ccode\u003e40200bf\u003c/code\u003e\u003c/a\u003e Adjusted code and tests to be capable of being run in environments other\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/36f8899fa71ebd4aec80b87f990633e86abc6b95\"\u003e\u003ccode\u003e36f8899\u003c/code\u003e\u003c/a\u003e Added support for ingesting Arrow arrays which only consist of null\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/7bf23b6c2061d20358b030104249bd703ac1832e\"\u003e\u003ccode\u003e7bf23b6\u003c/code\u003e\u003c/a\u003e Fixed bug when calling Cursor.executemany() with all of the values in at\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/oracle/python-oracledb/compare/v3.3.0...v3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pgvector` from 0.2.5 to 0.4.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md\"\u003epgvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2 (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 6\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estr\u003c/code\u003e objects for \u003ccode\u003ebit\u003c/code\u003e type with SQLAlchemy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 (2025-04-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eSparseVector\u003c/code\u003e constructor for SciPy sparse matrices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 (2025-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded top-level \u003ccode\u003epgvector\u003c/code\u003e package\u003c/li\u003e\n\u003cli\u003eAdded support for pg8000\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ebytes\u003c/code\u003e to \u003ccode\u003eBit\u003c/code\u003e constructor\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eglobally\u003c/code\u003e option to default to \u003ccode\u003eFalse\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003earrays\u003c/code\u003e option to default to \u003ccode\u003eTrue\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eFixed equality for \u003ccode\u003eVector\u003c/code\u003e, \u003ccode\u003eHalfVector\u003c/code\u003e, \u003ccode\u003eBit\u003c/code\u003e, and \u003ccode\u003eSparseVector\u003c/code\u003e classes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eindices\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods of \u003ccode\u003eSparseVector\u003c/code\u003e returning tuple instead of list in some cases\u003c/li\u003e\n\u003cli\u003eDropped support for Python \u0026lt; 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 (2024-10-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003earrays\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 (2024-10-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eavg\u003c/code\u003e function with type casting to SQLAlchemy\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eglobally\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.4 (2024-09-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eschema\u003c/code\u003e option for asyncpg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.3 (2024-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved support for cursor factories with Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.2 (2024-07-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error with asyncpg and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.1 (2024-07-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error parsing zero sparse vectors\u003c/li\u003e\n\u003cli\u003eFixed error with Psycopg 2 and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003cli\u003eFixed error message when \u003ccode\u003evector\u003c/code\u003e type not found with Psycopg 3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.0 (2024-06-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ehalfvec\u003c/code\u003e, \u003ccode\u003ebit\u003c/code\u003e, and \u003ccode\u003esparsevec\u003c/code\u003e types to Django\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/2968f258f9486531bd1340cbda4ff8fcaf06cdc1\"\u003e\u003ccode\u003e2968f25\u003c/code\u003e\u003c/a\u003e Version bump to 0.4.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/674f5ba3410c873d49f50fa9725b95d9db50c674\"\u003e\u003ccode\u003e674f5ba\u003c/code\u003e\u003c/a\u003e Updated checkout action [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e2986daf2b1533cc2c849f7e39350e31d57ac325\"\u003e\u003ccode\u003ee2986da\u003c/code\u003e\u003c/a\u003e Added support for Django 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e211ba4029f204734f0c001fbb90f6a594d561ae\"\u003e\u003ccode\u003ee211ba4\u003c/code\u003e\u003c/a\u003e Test with Python 3.14 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/1a72b7571adf3325174b383aca85bfb3a5b925fa\"\u003e\u003ccode\u003e1a72b75\u003c/code\u003e\u003c/a\u003e Updated pgvector on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/c820a53bfb46196551de3c3f59f81b192d890574\"\u003e\u003ccode\u003ec820a53\u003c/code\u003e\u003c/a\u003e Simplified examples [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/caf1a2e0dd7a1ba2ad0ca9f09b50516dcfffcdeb\"\u003e\u003ccode\u003ecaf1a2e\u003c/code\u003e\u003c/a\u003e Added docs for binary quantization with SQLAlchemy [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/dc9a8f959995f009649fd230139ca41193e0a801\"\u003e\u003ccode\u003edc9a8f9\u003c/code\u003e\u003c/a\u003e Added test for binary quantization with re-ranking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/33dee606229489c9ffb0cb5a1cd72bd4705ac618\"\u003e\u003ccode\u003e33dee60\u003c/code\u003e\u003c/a\u003e Added support for str objects for bit type with SQLAlchemy - \u003ca href=\"https://redirect.github.com/pgvector/pgvector-python/issues/137\"\u003e#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/ee3e71ca2c07a12a8332a3877c0ce14adc9a5da8\"\u003e\u003ccode\u003eee3e71c\u003c/code\u003e\u003c/a\u003e Updated format for license identifier\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgvector/pgvector-python/compare/v0.2.5...v0.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymilvus` from 2.5.17 to 2.6.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/milvus-io/pymilvus/releases\"\u003epymilvus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePyMilvus v2.6.11 Release Notes\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003efix: pass address to GrpcHandler in ConnectionManager strategies\u003c/strong\u003e — fixed Milvus Lite local path broken since 2.6.10 (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3321\"\u003e#3321\u003c/a\u003e,  \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3323\"\u003e#3323\u003c/a\u003e) by \u003ca href=\"https://github.com/XuanYang-cn\"\u003e\u003ccode\u003e@​XuanYang-cn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: prevent \u0026quot;Cannot invoke RPC on closed channel\u0026quot; after connection recovery\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3326\"\u003e#3326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3345\"\u003e#3345\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: correct parameter name typos in QueryIterator causing partition filter bypass\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3324\"\u003e#3324\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3330\"\u003e#3330\u003c/a\u003e) by\n\u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: handle None response in search to prevent AttributeError\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3331\"\u003e#3331\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3332\"\u003e#3332\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: resolve bytes vector type misidentification in search path\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3334\"\u003e#3334\u003c/a\u003e) by \u003ca href=\"https://github.com/zhuwenxing\"\u003e\u003ccode\u003e@​zhuwenxing\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: guard MilvusClient._get_connection against None handler\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3337\"\u003e#3337\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3338\"\u003e#3338\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: handle None credentials in connections.connect()\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3343\"\u003e#3343\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3353\"\u003e#3353\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: use explicit length check for numpy array compatibility in search\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3342\"\u003e#3342\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3352\"\u003e#3352\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: clarify wrong-port guidance for UNIMPLEMENTED errors\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3315\"\u003e#3315\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3322\"\u003e#3322\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: display human-readable state and level in SegmentInfo repr\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3336\"\u003e#3336\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3355\"\u003e#3355\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: pin setuptools_scm\u0026lt;9 to prevent _types import breakage\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3348\"\u003e#3348\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures \u0026amp; Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003efeat: support Python 3.14\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3306\"\u003e#3306\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3318\"\u003e#3318\u003c/a\u003e) by \u003ca href=\"https://github.com/XuanYang-cn\"\u003e\u003ccode\u003e@​XuanYang-cn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: extract _get_...\n\n_Description has been truncated_","html_url":"https://github.com/takashi1minami/oss-dify-mirror/pull/46","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/takashi1minami%2Foss-dify-mirror/issues/46","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/46/packages"},{"uuid":"4202982025","node_id":"PR_kwDOR5TCOM7P588U","number":3,"state":"open","title":"chore(deps):(deps): bump pgvector from 0.3.6 to 0.4.2","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-04T02:10:16.000Z","updated_at":"2026-04-04T02:10:17.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps):(deps)","packages":[{"name":"pgvector","old_version":"0.3.6","new_version":"0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pgvector](https://github.com/pgvector/pgvector-python) from 0.3.6 to 0.4.2.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md\"\u003epgvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2 (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 6\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estr\u003c/code\u003e objects for \u003ccode\u003ebit\u003c/code\u003e type with SQLAlchemy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 (2025-04-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eSparseVector\u003c/code\u003e constructor for SciPy sparse matrices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 (2025-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded top-level \u003ccode\u003epgvector\u003c/code\u003e package\u003c/li\u003e\n\u003cli\u003eAdded support for pg8000\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ebytes\u003c/code\u003e to \u003ccode\u003eBit\u003c/code\u003e constructor\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eglobally\u003c/code\u003e option to default to \u003ccode\u003eFalse\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003earrays\u003c/code\u003e option to default to \u003ccode\u003eTrue\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eFixed equality for \u003ccode\u003eVector\u003c/code\u003e, \u003ccode\u003eHalfVector\u003c/code\u003e, \u003ccode\u003eBit\u003c/code\u003e, and \u003ccode\u003eSparseVector\u003c/code\u003e classes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eindices\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods of \u003ccode\u003eSparseVector\u003c/code\u003e returning tuple instead of list in some cases\u003c/li\u003e\n\u003cli\u003eDropped support for Python \u0026lt; 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/2968f258f9486531bd1340cbda4ff8fcaf06cdc1\"\u003e\u003ccode\u003e2968f25\u003c/code\u003e\u003c/a\u003e Version bump to 0.4.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/674f5ba3410c873d49f50fa9725b95d9db50c674\"\u003e\u003ccode\u003e674f5ba\u003c/code\u003e\u003c/a\u003e Updated checkout action [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e2986daf2b1533cc2c849f7e39350e31d57ac325\"\u003e\u003ccode\u003ee2986da\u003c/code\u003e\u003c/a\u003e Added support for Django 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e211ba4029f204734f0c001fbb90f6a594d561ae\"\u003e\u003ccode\u003ee211ba4\u003c/code\u003e\u003c/a\u003e Test with Python 3.14 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/1a72b7571adf3325174b383aca85bfb3a5b925fa\"\u003e\u003ccode\u003e1a72b75\u003c/code\u003e\u003c/a\u003e Updated pgvector on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/c820a53bfb46196551de3c3f59f81b192d890574\"\u003e\u003ccode\u003ec820a53\u003c/code\u003e\u003c/a\u003e Simplified examples [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/caf1a2e0dd7a1ba2ad0ca9f09b50516dcfffcdeb\"\u003e\u003ccode\u003ecaf1a2e\u003c/code\u003e\u003c/a\u003e Added docs for binary quantization with SQLAlchemy [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/dc9a8f959995f009649fd230139ca41193e0a801\"\u003e\u003ccode\u003edc9a8f9\u003c/code\u003e\u003c/a\u003e Added test for binary quantization with re-ranking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/33dee606229489c9ffb0cb5a1cd72bd4705ac618\"\u003e\u003ccode\u003e33dee60\u003c/code\u003e\u003c/a\u003e Added support for str objects for bit type with SQLAlchemy - \u003ca href=\"https://redirect.github.com/pgvector/pgvector-python/issues/137\"\u003e#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/ee3e71ca2c07a12a8332a3877c0ce14adc9a5da8\"\u003e\u003ccode\u003eee3e71c\u003c/code\u003e\u003c/a\u003e Updated format for license identifier\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgvector/pgvector-python/compare/v0.3.6...v0.4.2\"\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=pgvector\u0026package-manager=pip\u0026previous-version=0.3.6\u0026new-version=0.4.2)](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/catownsley/memento/pull/3","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/catownsley%2Fmemento/issues/3","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3/packages"},{"uuid":"4092063636","node_id":"PR_kwDORlsS7c7LZBuf","number":15,"state":"open","title":"Bump the minor-and-patch group across 1 directory with 10 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-18T01:09:17.000Z","updated_at":"2026-03-21T08:20:56.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"minor-and-patch","update_count":10,"packages":[{"name":"anthropic","old_version":"0.52.0","new_version":"0.85.0","repository_url":"https://github.com/anthropics/anthropic-sdk-python"},{"name":"asyncpg","old_version":"0.30.0","new_version":"0.31.0","repository_url":"https://github.com/MagicStack/asyncpg"},{"name":"pgvector","old_version":"0.3.6","new_version":"0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"},{"name":"pydantic","old_version":"2.11.1","new_version":"2.12.5","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pydantic-settings","old_version":"2.8.1","new_version":"2.13.1","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"pywebpush","old_version":"2.0.1","new_version":"2.3.0","repository_url":"https://github.com/web-push-libs/pywebpush"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"structlog","old_version":"25.1.0","new_version":"25.5.0","repository_url":"https://github.com/hynek/structlog"},{"name":"upstash-redis","old_version":"1.3.0","new_version":"1.6.0","repository_url":"https://github.com/upstash/redis-python"},{"name":"uvicorn","old_version":"0.34.2","new_version":"0.42.0"}],"path":null,"ecosystem":"pip"},"body":"Bumps the minor-and-patch group with 10 updates in the /backend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [anthropic](https://github.com/anthropics/anthropic-sdk-python) | `0.52.0` | `0.85.0` |\n| [asyncpg](https://github.com/MagicStack/asyncpg) | `0.30.0` | `0.31.0` |\n| [pgvector](https://github.com/pgvector/pgvector-python) | `0.3.6` | `0.4.2` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.11.1` | `2.12.5` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.8.1` | `2.13.1` |\n| [pywebpush](https://github.com/web-push-libs/pywebpush) | `2.0.1` | `2.3.0` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [structlog](https://github.com/hynek/structlog) | `25.1.0` | `25.5.0` |\n| [upstash-redis](https://github.com/upstash/redis-python) | `1.3.0` | `1.6.0` |\n| [uvicorn[standard]](https://github.com/Kludex/uvicorn) | `0.34.2` | `0.42.0` |\n\n\nUpdates `anthropic` from 0.52.0 to 0.85.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.85.0\u003c/h2\u003e\n\u003ch2\u003e0.85.0 (2026-03-16)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.84.0...v0.85.0\"\u003ev0.84.0...v0.85.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e chore(config): clean up model enum list (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/31\"\u003e#31\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/cce1a5b9e6fce4f269cec42803f37ce5e2ac2f76\"\u003ecce1a5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e GA thinking-display-setting (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/207340cc621855928f53e8ddd58f216ac0d8150d\"\u003e207340c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e update mock server (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/7dc86a4ffc9e70533a58065496c78394c6a6e97a\"\u003e7dc86a4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add missing 413 and 529 error handlers to async client (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1554\"\u003e#1554\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/9c2986fb9c046b4cffa1b03ca8762f9c9dea0bab\"\u003e9c2986f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etool runner:\u003c/strong\u003e propagate container_id for programmatic tool calling (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1462\"\u003e#1462\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/3ae7ff6ff7af8a881706ae8068b1040a23c96fbd\"\u003e3ae7ff6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etools:\u003c/strong\u003e use filtered messages list in async compaction (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1124\"\u003e#1124\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/710d666f80b7667e3551c1a68d7c0ffaad115de1\"\u003e710d666\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 bump uv version (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/09656acef77fa459d30d811bd51aa780a567182b\"\u003e09656ac\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e codegen related update (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/c9e9fc240334fc466426646d7acd64904f881a80\"\u003ec9e9fc2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e codegen related update (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/77f77d19b4657a7ad0d31de42504c25cf4ed76ef\"\u003e77f77d1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e unskip tests that are now supported in steady (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/827330b527b4af299af084752a7317b0596956af\"\u003e827330b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.84.0\u003c/h2\u003e\n\u003ch2\u003e0.84.0 (2026-02-25)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.83.0...v0.84.0\"\u003ev0.83.0...v0.84.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e change array_format to brackets (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/925d2ad6b76ad7c15de07b9b2768738775f71631\"\u003e925d2ad\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e remove publishing section from cli target (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/7bc7cebc68db70f08fce23e7e0b24acbc9ff37a7\"\u003e7bc7ceb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehelpers:\u003c/strong\u003e add conversion helpers for MCP tools, prompts, and resources (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1383\"\u003e#1383\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/9489751386d1540bf80eff63ab47ca2b3cc18fa1\"\u003e9489751\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd missing raw jsonl results method (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/1009d4aca8be42973ca39104bc9bd8087f51ff9c\"\u003e1009d4a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e add request options to SSE classes (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/4f4bc8e6241c2ccee8dfe4cdbc522081e3e30f08\"\u003e4f4bc8e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e make \u003ccode\u003etest_proxy_environment_variables\u003c/code\u003e more resilient (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/f7056e09411a45798a678be5766a7b7d6dcbc7a9\"\u003ef7056e0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e make \u003ccode\u003etest_proxy_environment_variables\u003c/code\u003e more resilient to env (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/143efccfcc20c12f920b6ba242eff7c0feeea7c4\"\u003e143efcc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e simplify http snapshots (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1092\"\u003e#1092\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/4a4dc9f6b36ab0224095790f4311c7f60c9845f7\"\u003e4a4dc9f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e update jsonl tests (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/a8e6a6e5544b9f1626e3fb5faa31a1accfc81441\"\u003ea8e6a6e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\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/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.85.0 (2026-03-16)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.84.0...v0.85.0\"\u003ev0.84.0...v0.85.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e chore(config): clean up model enum list (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/31\"\u003e#31\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/cce1a5b9e6fce4f269cec42803f37ce5e2ac2f76\"\u003ecce1a5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e GA thinking-display-setting (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/207340cc621855928f53e8ddd58f216ac0d8150d\"\u003e207340c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e update mock server (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/7dc86a4ffc9e70533a58065496c78394c6a6e97a\"\u003e7dc86a4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add missing 413 and 529 error handlers to async client (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1554\"\u003e#1554\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/9c2986fb9c046b4cffa1b03ca8762f9c9dea0bab\"\u003e9c2986f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etool runner:\u003c/strong\u003e propagate container_id for programmatic tool calling (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1462\"\u003e#1462\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/3ae7ff6ff7af8a881706ae8068b1040a23c96fbd\"\u003e3ae7ff6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etools:\u003c/strong\u003e use filtered messages list in async compaction (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1124\"\u003e#1124\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/710d666f80b7667e3551c1a68d7c0ffaad115de1\"\u003e710d666\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 bump uv version (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/09656acef77fa459d30d811bd51aa780a567182b\"\u003e09656ac\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e codegen related update (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/c9e9fc240334fc466426646d7acd64904f881a80\"\u003ec9e9fc2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e codegen related update (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/77f77d19b4657a7ad0d31de42504c25cf4ed76ef\"\u003e77f77d1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e unskip tests that are now supported in steady (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/827330b527b4af299af084752a7317b0596956af\"\u003e827330b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.84.0 (2026-02-25)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.83.0...v0.84.0\"\u003ev0.83.0...v0.84.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e change array_format to brackets (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/925d2ad6b76ad7c15de07b9b2768738775f71631\"\u003e925d2ad\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e remove publishing section from cli target (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/7bc7cebc68db70f08fce23e7e0b24acbc9ff37a7\"\u003e7bc7ceb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehelpers:\u003c/strong\u003e add conversion helpers for MCP tools, prompts, and resources (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1383\"\u003e#1383\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/9489751386d1540bf80eff63ab47ca2b3cc18fa1\"\u003e9489751\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd missing raw jsonl results method (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/1009d4aca8be42973ca39104bc9bd8087f51ff9c\"\u003e1009d4a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e add request options to SSE classes (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/4f4bc8e6241c2ccee8dfe4cdbc522081e3e30f08\"\u003e4f4bc8e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e make \u003ccode\u003etest_proxy_environment_variables\u003c/code\u003e more resilient (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/f7056e09411a45798a678be5766a7b7d6dcbc7a9\"\u003ef7056e0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e make \u003ccode\u003etest_proxy_environment_variables\u003c/code\u003e more resilient to env (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/143efccfcc20c12f920b6ba242eff7c0feeea7c4\"\u003e143efcc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e simplify http snapshots (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1092\"\u003e#1092\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/4a4dc9f6b36ab0224095790f4311c7f60c9845f7\"\u003e4a4dc9f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e update jsonl tests (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/a8e6a6e5544b9f1626e3fb5faa31a1accfc81441\"\u003ea8e6a6e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erebrand to Claude SDK and streamline README (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/6b544058ab19e55e1c76a4ba9816205d1eedc630\"\u003e6b54405\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/be3dd143f464a6a11a8631b990aabdb348cb53c0\"\u003e\u003ccode\u003ebe3dd14\u003c/code\u003e\u003c/a\u003e release: 0.85.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/fc9f47e8e4feaaefaef125f80de9e6177d2c3283\"\u003e\u003ccode\u003efc9f47e\u003c/code\u003e\u003c/a\u003e feat(api): GA thinking-display-setting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/42921e34a8aa72e83d900a0fed1ecb1f2e75e45e\"\u003e\u003ccode\u003e42921e3\u003c/code\u003e\u003c/a\u003e fix(client): add missing 413 and 529 error handlers to async client (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1554\"\u003e#1554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/8fe08acdd3d50b7cf32080a11e4e7d4b955f1654\"\u003e\u003ccode\u003e8fe08ac\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/1db03544023511eae24f9800c37359681ca0e10a\"\u003e\u003ccode\u003e1db0354\u003c/code\u003e\u003c/a\u003e chore(internal): codegen related update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/72cbc5c047f045acce98295bbb7432d098535150\"\u003e\u003ccode\u003e72cbc5c\u003c/code\u003e\u003c/a\u003e revert changes to tool params\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/1b6d568ba00d2c075af59972b2d0c8a0beab7700\"\u003e\u003ccode\u003e1b6d568\u003c/code\u003e\u003c/a\u003e chore(internal): codegen related update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/6b45a0592bc720fb67a299d6060e3c00c7763b10\"\u003e\u003ccode\u003e6b45a05\u003c/code\u003e\u003c/a\u003e chore(tests): unskip tests that are now supported in steady\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/6cf11eed36b55c5e55f730795f314be4f467c867\"\u003e\u003ccode\u003e6cf11ee\u003c/code\u003e\u003c/a\u003e feat(api): chore(config): clean up model enum list (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/31\"\u003e#31\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/2b8149481ead935c5e4fe4510a80c1aa768316f3\"\u003e\u003ccode\u003e2b81494\u003c/code\u003e\u003c/a\u003e feat(tests): update mock server\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.52.0...v0.85.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `asyncpg` from 0.30.0 to 0.31.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/MagicStack/asyncpg/releases\"\u003easyncpg's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.31.0\u003c/h2\u003e\n\u003cp\u003eEnable Python 3.14 with experimental subinterpreter/freethreading\nsupport.\u003c/p\u003e\n\u003ch1\u003eImprovements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Python 3.14 support, experimental subinterpreter/freethreading support (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1279\"\u003e#1279\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/elprans\"\u003e\u003ccode\u003e@​elprans\u003c/code\u003e\u003c/a\u003e in 9e42642b)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid performing type introspection on known types (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1243\"\u003e#1243\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/elprans\"\u003e\u003ccode\u003e@​elprans\u003c/code\u003e\u003c/a\u003e in 5c9986c4)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003eprepare()\u003c/code\u003e not use named statements by default when cache is disabled (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1245\"\u003e#1245\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/elprans\"\u003e\u003ccode\u003e@​elprans\u003c/code\u003e\u003c/a\u003e in 5b14653e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement connection service file functionality (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1223\"\u003e#1223\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/AndrewJackson2020\"\u003e\u003ccode\u003e@​AndrewJackson2020\u003c/code\u003e\u003c/a\u003e in 1d63bb15)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eFixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix multi port connection string issue (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1222\"\u003e#1222\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/AndrewJackson2020\"\u003e\u003ccode\u003e@​AndrewJackson2020\u003c/code\u003e\u003c/a\u003e in 01c0db7b)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid leaking connections if _can_use_connection fails (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1269\"\u003e#1269\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/yuliy-openai\"\u003e\u003ccode\u003e@​yuliy-openai\u003c/code\u003e\u003c/a\u003e in e94302d2)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eOther\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for EOL Python 3.8 (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1281\"\u003e#1281\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/elprans\"\u003e\u003ccode\u003e@​elprans\u003c/code\u003e\u003c/a\u003e in 6c2c4904)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/71775a67277fc0aa5bd2b9f15e848826d7078c4d\"\u003e\u003ccode\u003e71775a6\u003c/code\u003e\u003c/a\u003e asyncpg v0.31.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/508cae6441968ef7613a623fece7083cce66c2b3\"\u003e\u003ccode\u003e508cae6\u003c/code\u003e\u003c/a\u003e Test on PostgreSQL 18 (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/e534e5f15c73525a6509143b3828335517360f1b\"\u003e\u003ccode\u003ee534e5f\u003c/code\u003e\u003c/a\u003e Bump cibuildwheel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/07fe5122a680f5768e39fc28d68c94b185037a52\"\u003e\u003ccode\u003e07fe512\u003c/code\u003e\u003c/a\u003e Bump pgproto\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/648b35f18199ebf2a30009376a6e9060cf7ad789\"\u003e\u003ccode\u003e648b35f\u003c/code\u003e\u003c/a\u003e Bump Cython to 3.2.1 (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1288\"\u003e#1288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/9e42642b9110d206706697921b6e697a0972649d\"\u003e\u003ccode\u003e9e42642\u003c/code\u003e\u003c/a\u003e Add Python 3.14 support, experimental subinterpreter/freethreading support (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/6fe1c494ef5c3069fa9149c48bf9f8f2cd69f95e\"\u003e\u003ccode\u003e6fe1c49\u003c/code\u003e\u003c/a\u003e Move development deps away from extras and into dependency groups (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1280\"\u003e#1280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/7a548166c2b23561915c481bd332013e3a415cfb\"\u003e\u003ccode\u003e7a54816\u003c/code\u003e\u003c/a\u003e Fix a couple of missed Python version guards\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/6c2c4904e61b2cd2f502540730a24e246cff2ebd\"\u003e\u003ccode\u003e6c2c490\u003c/code\u003e\u003c/a\u003e Drop support for EOL Python 3.8 (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1281\"\u003e#1281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/4c60ae890d1f3800f889679657357f91a6923568\"\u003e\u003ccode\u003e4c60ae8\u003c/code\u003e\u003c/a\u003e Bump version to 0.31.0.dev0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/MagicStack/asyncpg/compare/v0.30.0...v0.31.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pgvector` from 0.3.6 to 0.4.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md\"\u003epgvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2 (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 6\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estr\u003c/code\u003e objects for \u003ccode\u003ebit\u003c/code\u003e type with SQLAlchemy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 (2025-04-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eSparseVector\u003c/code\u003e constructor for SciPy sparse matrices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 (2025-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded top-level \u003ccode\u003epgvector\u003c/code\u003e package\u003c/li\u003e\n\u003cli\u003eAdded support for pg8000\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ebytes\u003c/code\u003e to \u003ccode\u003eBit\u003c/code\u003e constructor\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eglobally\u003c/code\u003e option to default to \u003ccode\u003eFalse\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003earrays\u003c/code\u003e option to default to \u003ccode\u003eTrue\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eFixed equality for \u003ccode\u003eVector\u003c/code\u003e, \u003ccode\u003eHalfVector\u003c/code\u003e, \u003ccode\u003eBit\u003c/code\u003e, and \u003ccode\u003eSparseVector\u003c/code\u003e classes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eindices\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods of \u003ccode\u003eSparseVector\u003c/code\u003e returning tuple instead of list in some cases\u003c/li\u003e\n\u003cli\u003eDropped support for Python \u0026lt; 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/2968f258f9486531bd1340cbda4ff8fcaf06cdc1\"\u003e\u003ccode\u003e2968f25\u003c/code\u003e\u003c/a\u003e Version bump to 0.4.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/674f5ba3410c873d49f50fa9725b95d9db50c674\"\u003e\u003ccode\u003e674f5ba\u003c/code\u003e\u003c/a\u003e Updated checkout action [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e2986daf2b1533cc2c849f7e39350e31d57ac325\"\u003e\u003ccode\u003ee2986da\u003c/code\u003e\u003c/a\u003e Added support for Django 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e211ba4029f204734f0c001fbb90f6a594d561ae\"\u003e\u003ccode\u003ee211ba4\u003c/code\u003e\u003c/a\u003e Test with Python 3.14 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/1a72b7571adf3325174b383aca85bfb3a5b925fa\"\u003e\u003ccode\u003e1a72b75\u003c/code\u003e\u003c/a\u003e Updated pgvector on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/c820a53bfb46196551de3c3f59f81b192d890574\"\u003e\u003ccode\u003ec820a53\u003c/code\u003e\u003c/a\u003e Simplified examples [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/caf1a2e0dd7a1ba2ad0ca9f09b50516dcfffcdeb\"\u003e\u003ccode\u003ecaf1a2e\u003c/code\u003e\u003c/a\u003e Added docs for binary quantization with SQLAlchemy [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/dc9a8f959995f009649fd230139ca41193e0a801\"\u003e\u003ccode\u003edc9a8f9\u003c/code\u003e\u003c/a\u003e Added test for binary quantization with re-ranking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/33dee606229489c9ffb0cb5a1cd72bd4705ac618\"\u003e\u003ccode\u003e33dee60\u003c/code\u003e\u003c/a\u003e Added support for str objects for bit type with SQLAlchemy - \u003ca href=\"https://redirect.github.com/pgvector/pgvector-python/issues/137\"\u003e#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/ee3e71ca2c07a12a8332a3877c0ce14adc9a5da8\"\u003e\u003ccode\u003eee3e71c\u003c/code\u003e\u003c/a\u003e Updated format for license identifier\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgvector/pgvector-python/compare/v0.3.6...v0.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.11.1 to 2.12.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.5 2025-11-26\u003c/h2\u003e\n\u003ch2\u003ev2.12.5 (2025-11-26)\u003c/h2\u003e\n\u003cp\u003eThis is the fifth 2.12 patch release, addressing an issue with the \u003ccode\u003eMISSING\u003c/code\u003e sentinel and providing several documentation improvements.\u003c/p\u003e\n\u003cp\u003eThe next 2.13 minor release will be published in a couple weeks, and will include a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature addressing\nthe remaining unexpected changes to the \u003cem\u003eserialize as any\u003c/em\u003e behavior.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickle error when using \u003ccode\u003emodel_construct()\u003c/code\u003e on a model with \u003ccode\u003eMISSING\u003c/code\u003e as a default value by \u003ca href=\"https://github.com/ornariece\"\u003e\u003ccode\u003e@​ornariece\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12522\"\u003e#12522\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSeveral updates to the documentation by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.4 2025-11-05\u003c/h2\u003e\n\u003ch2\u003ev2.12.4 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003eThis is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis patch release also fixes an issue with the serialization of IP address types, when \u003ccode\u003eserialize_as_any\u003c/code\u003e is used. The next patch release\nwill try to address the remaining issues with \u003cem\u003eserialize as any\u003c/em\u003e behavior by introducing a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature, that\nshould be used in most cases in place of \u003cem\u003eserialize as any\u003c/em\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with forward references in parent \u003ccode\u003eTypedDict\u003c/code\u003e classes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12427\"\u003e#12427\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis issue is only relevant on Python 3.14 and greater.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExclude fields with \u003ccode\u003eexclude_if\u003c/code\u003e from JSON Schema required fields by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12430\"\u003e#12430\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRevert URL percent-encoding of credentials in the \u003ccode\u003ebuild()\u003c/code\u003e method of the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1833\"\u003epydantic-core#1833\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will include\nan opt-in option to percent-encode components of the URL.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type inference for IP address types by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1868\"\u003epydantic-core#1868\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThe 2.12 changes to the \u003ccode\u003eserialize_as_any\u003c/code\u003e behavior made it so that IP address types could not properly serialize to JSON.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid getting default values from defaultdict by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1853\"\u003epydantic-core#1853\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis fixes a subtle regression in the validation behavior of the \u003ca href=\"https://docs.python.org/3/library/collections.html#collections.defaultdict\"\u003e\u003ccode\u003ecollections.defaultdict\u003c/code\u003e\u003c/a\u003e\ntype.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with field serializers on nested typed dictionaries by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1879\"\u003epydantic-core#1879\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd more \u003ccode\u003epydantic-core\u003c/code\u003e builds for the three-threaded version of Python 3.14 by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1864\"\u003epydantic-core#1864\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.3...v2.12.4\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.3...v2.12.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.3 2025-10-17\u003c/h2\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis is the third 2.13 patch release, fixing issues related to the \u003ccode\u003eFieldInfo\u003c/code\u003e class, and reverting a change to the supported \u003ca href=\"https://docs.pydantic.dev/latest/concepts/validators/#model-validators\"\u003e\u003cem\u003eafter\u003c/em\u003e model validator\u003c/a\u003e function signatures.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.5 (2025-11-26)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.5\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is the fifth 2.12 patch release, addressing an issue with the \u003ccode\u003eMISSING\u003c/code\u003e sentinel and providing several documentation improvements.\u003c/p\u003e\n\u003cp\u003eThe next 2.13 minor release will be published in a couple weeks, and will include a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature addressing\nthe remaining unexpected changes to the \u003cem\u003eserialize as any\u003c/em\u003e behavior.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickle error when using \u003ccode\u003emodel_construct()\u003c/code\u003e on a model with \u003ccode\u003eMISSING\u003c/code\u003e as a default value by \u003ca href=\"https://github.com/ornariece\"\u003e\u003ccode\u003e@​ornariece\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12522\"\u003e#12522\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSeveral updates to the documentation by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.12.4 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.4\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis patch release also fixes an issue with the serialization of IP address types, when \u003ccode\u003eserialize_as_any\u003c/code\u003e is used. The next patch release\nwill try to address the remaining issues with \u003cem\u003eserialize as any\u003c/em\u003e behavior by introducing a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature, that\nshould be used in most cases in place of \u003cem\u003eserialize as any\u003c/em\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with forward references in parent \u003ccode\u003eTypedDict\u003c/code\u003e classes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12427\"\u003e#12427\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis issue is only relevant on Python 3.14 and greater.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExclude fields with \u003ccode\u003eexclude_if\u003c/code\u003e from JSON Schema required fields by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12430\"\u003e#12430\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRevert URL percent-encoding of credentials in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in\n\u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1833\"\u003epydantic-core#1833\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will include\nan opt-in option to percent-encode components of the URL.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type inference for IP address types by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1868\"\u003epydantic-core#1868\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThe 2.12 changes to the \u003ccode\u003eserialize_as_any\u003c/code\u003e behavior made it so that IP address types could not properly serialize to JSON.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid getting default values from defaultdict by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1853\"\u003epydantic-core#1853\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis fixes a subtle regression in the validation behavior of the \u003ca href=\"https://docs.python.org/3/library/collections.html#collections.defaultdict\"\u003e\u003ccode\u003ecollections.defaultdict\u003c/code\u003e\u003c/a\u003e\ntype.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with field serializers on nested typed dictionaries by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1879\"\u003epydantic-core#1879\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd more \u003ccode\u003epydantic-core\u003c/code\u003e builds for the three-threaded version of Python 3.14 by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1864\"\u003epydantic-core#1864\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.3\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/bd2d0dd0137dfa1a8fdff2529b9dfb1547980150\"\u003e\u003ccode\u003ebd2d0dd\u003c/code\u003e\u003c/a\u003e Prepare release v2.12.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7d0302ec7ec2cf115de3450a615522875bdd8b56\"\u003e\u003ccode\u003e7d0302e\u003c/code\u003e\u003c/a\u003e Document security implications when using \u003ccode\u003ecreate_model()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/e9ef980def726b6f59b6c495ddc9dc259a0228db\"\u003e\u003ccode\u003ee9ef980\u003c/code\u003e\u003c/a\u003e Fix typo in Standard Library Types documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f2c20c00c265a31a13c48f9bae923a87c829952e\"\u003e\u003ccode\u003ef2c20c0\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003epydantic-docs\u003c/code\u003e dev dependency, make use of versioning blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a76c1aa26f2d64a3fd080ac515d80832689197e8\"\u003e\u003ccode\u003ea76c1aa\u003c/code\u003e\u003c/a\u003e Update documentation about JSON Schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8cbc72ca489891e574fba45238ee8bd4f8e719a2\"\u003e\u003ccode\u003e8cbc72c\u003c/code\u003e\u003c/a\u003e Add documentation about custom \u003ccode\u003e__init__()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/99eba599069da137b3f708ffa74627f2b456ba73\"\u003e\u003ccode\u003e99eba59\u003c/code\u003e\u003c/a\u003e Add additional test for \u003ccode\u003eFieldInfo.get_default()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c71076988e507ea93844c77c3bf0bbb85a5716af\"\u003e\u003ccode\u003ec710769\u003c/code\u003e\u003c/a\u003e Special case \u003ccode\u003eMISSING\u003c/code\u003e sentinel in \u003ccode\u003esmart_deepcopy()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/20a9d771c210fd77d52366ac923258c4c199727f\"\u003e\u003ccode\u003e20a9d77\u003c/code\u003e\u003c/a\u003e Do not delete mock validator/serializer in \u003ccode\u003erebuild_dataclass()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c86515a3a8f2120148fab2eaedd3bc45925779d0\"\u003e\u003ccode\u003ec86515a\u003c/code\u003e\u003c/a\u003e Update parts of the model and \u003ccode\u003erevalidate_instances\u003c/code\u003e documentation\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.1...v2.12.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic-settings` from 2.8.1 to 2.13.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic-settings/releases\"\u003epydantic-settings's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Deterministic alias selection when using validate_by_name by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/707\"\u003epydantic/pydantic-settings#707\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd deep merge functionality to config file sources by \u003ca href=\"https://github.com/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/698\"\u003epydantic/pydantic-settings#698\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for AWS Secrets Manager VersionId parameter by \u003ca href=\"https://github.com/jcyamacho\"\u003e\u003ccode\u003e@​jcyamacho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/708\"\u003epydantic/pydantic-settings#708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebugfix: Return \u003ccode\u003eNone\u003c/code\u003e for inaccessible GCP Secret Manager secrets by \u003ca href=\"https://github.com/zaphod72\"\u003e\u003ccode\u003e@​zaphod72\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/712\"\u003epydantic/pydantic-settings#712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBugfix for cli_kebab_case=\u0026quot;all\u0026quot; and CliImplicitFlag[bool] by \u003ca href=\"https://github.com/Digity101\"\u003e\u003ccode\u003e@​Digity101\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/702\"\u003epydantic/pydantic-settings#702\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnpack type alisases when looking for \u003ccode\u003eNoDecode\u003c/code\u003e by \u003ca href=\"https://github.com/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/695\"\u003epydantic/pydantic-settings#695\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCliToggleFlag and CliDualFlag by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/717\"\u003epydantic/pydantic-settings#717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for CLI duplicate enum field values. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/722\"\u003epydantic/pydantic-settings#722\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efixed load nested config from env by \u003ca href=\"https://github.com/Sube-py\"\u003e\u003ccode\u003e@​Sube-py\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/723\"\u003epydantic/pydantic-settings#723\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd non-Path files support (for example Traversable) and open files using Path.open method by \u003ca href=\"https://github.com/mahenzon\"\u003e\u003ccode\u003e@​mahenzon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/724\"\u003epydantic/pydantic-settings#724\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd one more traversable test by \u003ca href=\"https://github.com/mahenzon\"\u003e\u003ccode\u003e@​mahenzon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/725\"\u003epydantic/pydantic-settings#725\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI fix fox external list args. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/727\"\u003epydantic/pydantic-settings#727\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: handle case-insensitive retrieval in GoogleSecretManagerSettingsSource by \u003ca href=\"https://github.com/ezwiefel\"\u003e\u003ccode\u003e@​ezwiefel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/730\"\u003epydantic/pydantic-settings#730\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI test fixes for help text formatting. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/735\"\u003epydantic/pydantic-settings#735\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid conflicts with the \u003ccode\u003eNAME\u003c/code\u003e environment variable in WSL by \u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/747\"\u003epydantic/pydantic-settings#747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: When restoring init kwargs, use deterministic order by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/746\"\u003epydantic/pydantic-settings#746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd env_prefix_target by \u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/749\"\u003epydantic/pydantic-settings#749\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003e(default: …)\u003c/code\u003e in the help message for \u003ccode\u003eCliToggleFlag\u003c/code\u003e by \u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/740\"\u003epydantic/pydantic-settings#740\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for CLI serialize styles. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/755\"\u003epydantic/pydantic-settings#755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for overriding default help on CLI internal parser. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/758\"\u003epydantic/pydantic-settings#758\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI format_help method support by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/759\"\u003epydantic/pydantic-settings#759\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(gcp): support SecretVersion annotation for per-field secret versioning by \u003ca href=\"https://github.com/ezwiefel\"\u003e\u003ccode\u003e@​ezwiefel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/763\"\u003epydantic/pydantic-settings#763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003esnake_case_conversion\u003c/code\u003e with \u003ccode\u003eenv_prefix\u003c/code\u003e for Azure Key Vault source by \u003ca href=\"https://github.com/cstarkers\"\u003e\u003ccode\u003e@​cstarkers\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/762\"\u003epydantic/pydantic-settings#762\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Only override preferred_key when no value was found by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/767\"\u003epydantic/pydantic-settings#767\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate deps by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/768\"\u003epydantic/pydantic-settings#768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI coerce numeric types. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/769\"\u003epydantic/pydantic-settings#769\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI Union Discriminator Choices in Help by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/764\"\u003epydantic/pydantic-settings#764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd nested path support for yaml_config_section (fixes \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/772\"\u003e#772\u003c/a\u003e) by \u003ca href=\"https://github.com/hugo-romero-mm\"\u003e\u003ccode\u003e@​hugo-romero-mm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/773\"\u003epydantic/pydantic-settings#773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release 2.13.0 by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/777\"\u003epydantic/pydantic-settings#777\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/698\"\u003epydantic/pydantic-settings#698\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jcyamacho\"\u003e\u003ccode\u003e@​jcyamacho\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/708\"\u003epydantic/pydantic-settings#708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zaphod72\"\u003e\u003ccode\u003e@​zaphod72\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/712\"\u003epydantic/pydantic-settings#712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Digity101\"\u003e\u003ccode\u003e@​Digity101\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/702\"\u003epydantic/pydantic-settings#702\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Sube-py\"\u003e\u003ccode\u003e@​Sube-py\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/723\"\u003epydantic/pydantic-settings#723\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mahenzon\"\u003e\u003ccode\u003e@​mahenzon\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/724\"\u003epydantic/pydantic-settings#724\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/747\"\u003epydantic/pydantic-settings#747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cstarkers\"\u003e\u003ccode\u003e@​cstarkers\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/762\"\u003epydantic/pydantic-settings#762\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hugo-romero-mm\"\u003e\u003ccode\u003e@​hugo-romero-mm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/773\"\u003epydantic/pydantic-settings#773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.12.0...v2.13.0\"\u003ehttps://github.com/pydantic/pydantic-settings/compare/v2.12.0...v2.13.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for enum kebab case. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/686\"\u003epydantic/pydantic-settings#686\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply source order: init \u0026gt; env \u0026gt; dotenv \u0026gt; secrets \u0026gt; defaults and pres… by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/688\"\u003epydantic/pydantic-settings#688\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd NestedSecretsSettings source by \u003ca href=\"https://github.com/makukha\"\u003e\u003ccode\u003e@​makukha\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/690\"\u003epydantic/pydantic-settings#690\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/e87d12df0f42f7f72a3eb6d830cfbfb1d68b4496\"\u003e\u003ccode\u003ee87d12d\u003c/code\u003e\u003c/a\u003e v2.13.1 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/790\"\u003e#790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/acf8c14f5ec314799f5bd0d3f6a1591c4ed2ec97\"\u003e\u003ccode\u003eacf8c14\u003c/code\u003e\u003c/a\u003e Fix JSON decoding for parameterized PEP 695 type aliases (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/780\"\u003e#780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/58b236a36473e01bfe42e5f75d39d46721e0593d\"\u003e\u003ccode\u003e58b236a\u003c/code\u003e\u003c/a\u003e Fix AttributeError with nested env vars for dict fields (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/785\"\u003e#785\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/786\"\u003e#786\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4933f06402ed55e32bcdcefd6c8f59ffe1fefd24\"\u003e\u003ccode\u003e4933f06\u003c/code\u003e\u003c/a\u003e Fix CLI parsing error for set field types since 2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/787\"\u003e#787\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/788\"\u003e#788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/bd0ebe6215cf215d716e33d833cc2589a1d00a17\"\u003e\u003ccode\u003ebd0ebe6\u003c/code\u003e\u003c/a\u003e Fix RecursionError with self-referential models in CliApp (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/783\"\u003e#783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/eb7840e9f59a7969b23afdbcc4e5081e037736d8\"\u003e\u003ccode\u003eeb7840e\u003c/code\u003e\u003c/a\u003e Fix regression for bool fields since 2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/784\"\u003e#784\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/198e71cf0cd570501535de7ae93a70953150f073\"\u003e\u003ccode\u003e198e71c\u003c/code\u003e\u003c/a\u003e Prepare release 2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/777\"\u003e#777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/de71e84057b63b251ec84883b5e2ae886f82084f\"\u003e\u003ccode\u003ede71e84\u003c/code\u003e\u003c/a\u003e Add nested path support for yaml_config_section (fixes \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/772\"\u003e#772\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/773\"\u003e#773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/0f8f951b89b137bd563ce74dac016ba2c4cdc7a2\"\u003e\u003ccode\u003e0f8f951\u003c/code\u003e\u003c/a\u003e CLI Union Discriminator Choices in Help (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/764\"\u003e#764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/ce9804c4620d38f0c3b3c1e3ebe10d934fd4ba2e\"\u003e\u003ccode\u003ece9804c\u003c/code\u003e\u003c/a\u003e CLI coerce numeric types. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/769\"\u003e#769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.8.1...v2.13.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pywebpush` from 2.0.1 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/web-push-libs/pywebpush/blob/main/CHANGELOG.md\"\u003epywebpush's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0 (2026-02-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCleanup from \u003ca href=\"https://github.com/Rotzbua\"\u003e\u003ccode\u003e@​Rotzbua\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eUse modern typing for annotations\u003c/li\u003e\n\u003cli\u003eRemove legacy python 2 import\u003c/li\u003e\n\u003cli\u003eremove redundant :type annotations\u003c/li\u003e\n\u003cli\u003euse [.dev] extras in CI\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.2.1 (2026-02-06)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadd'l typing info (Thanks \u003ca href=\"https://github.com/rotzbua\"\u003e\u003ccode\u003e@​rotzbua\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.2.0 (2026-)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003erst\u003c/code\u003e files to reflect \u003ccode\u003emd\u003c/code\u003e file changes\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdd comment discussing additional work for Windows Notification Service (WNS)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate the README.md file to mention the required, non-standard headers.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003eBREAKING_CHANGE\u003c/em\u003e\nThis version also drops legacy support for GCM/FCM authorization keys, since those items\nare obsolete according to Google.\nSee \u003ca href=\"https://firebase.google.com/docs/cloud-messaging/auth-server#authorize-legacy-protocol-send-requests\"\u003ehttps://firebase.google.com/docs/cloud-messaging/auth-server#authorize-legacy-protocol-send-requests\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.1.2 (2025-11-10)\u003c/h2\u003e\n\u003cp\u003echore: fix formatting\nchore: update CHANGELOG\nchore: note admin update\u003c/p\u003e\n\u003ch2\u003e2.1.1 (2025-10-14)\u003c/h2\u003e\n\u003cp\u003eThis was an administrative push to test a new publication system.\u003c/p\u003e\n\u003ch2\u003e2.1.0 (2025-09-29)\u003c/h2\u003e\n\u003cp\u003efeat: Add a async_webpush one call func and tests (15cf848)[https://github.com/web-push-libs/pywebpush/commit/15cf84885b4bc1cd4e8e58a8fc8f84bfc9b3387e] (thanks (\u003ca href=\"https://github.com/AlexUnder2003\"\u003e\u003ccode\u003e@​AlexUnder2003\u003c/code\u003e\u003c/a\u003e)[https://github.com/web-push-libs/pywebpush/commits?author=AlexUnder2003])\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\u003eSee full diff in \u003ca href=\"https://github.com/web-push-libs/pywebpush/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyyaml` from 6.0.2 to 6.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/yaml/pyyaml/releases\"\u003epyyaml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.0.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14 and free-threading (experimental).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/yaml/pyyaml/compare/6.0.2...6.0.3\"\u003ehttps://github.com/yaml/pyyaml/compare/6.0.2...6.0.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/yaml/pyyaml/blob/6.0.3/CHANGES\"\u003epyyaml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e6.0.3 (2025-09-25)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/yaml/pyyaml/pull/864\"\u003eyaml/pyyaml#864\u003c/a\u003e -- Support for Python 3.14 and free-threading (experimental)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yaml/pyyaml/commit/49790e73684bebad1df05ef8d828fa12f685bffb\"\u003e\u003ccode\u003e49790e7\u003c/code\u003e\u003c/a\u003e Release 6.0.3 (\u003ca href=\"https://redirect.github.com/yaml/pyyaml/issues/889\"\u003e#889\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/yaml/pyyaml/compare/6.0.2...6.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `structlog` from 25.1.0 to 25.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hynek/structlog/releases\"\u003estructlog's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.5.0\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cp\u003eHuge release! There's plenty of important little bug fixes and new features, but the headliner is definitely the improved ergonomics of \u003ccode\u003estructlog.dev.ConsoleRenderer\u003c/code\u003e. We have finally accepted that local development has different priorities than production and made it both mutable (with automatic re-configuration) and also easily retrievable (\u003ccode\u003ecr = ConsoleRenderer.get_active()\u003c/code\u003e). This allows you, for example, to disable Rich exception formatting as easily as \u003ccode\u003estructlog.dev.ConsoleRenderer.get_active().exception_formatter = structlog.dev.plain_traceback\u003c/code\u003e. Please check out the \u003ca href=\"https://www.structlog.org/en/stable/console-output.html\"\u003eupdated docs\u003c/a\u003e!\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://www.thanks.dev\"\u003ethanks.dev\u003c/a\u003e (@\u003ca href=\"https://github.com/thnxdev\"\u003ethnxdev\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=\"https://quesma.com/\"\u003eQuesma\u003c/a\u003e (\u003ca href=\"https://github.com/QuesmaOrg\"\u003e\u003ccode\u003e@​QuesmaOrg\u003c/code\u003e\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://www.lambdatest.com\"\u003eLambdaTest\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), Jeff McCarrell (@\u003ca href=\"https://github.com/jmccarrell\"\u003ejmccarrell\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), Jesse Snyder (@\u003ca href=\"https://github.com/jessesnyder\"\u003ejessesnyder\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://www.miketheman.net\"\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), \u003ca href=\"https://roboflow.com\"\u003eRoboflow\u003c/a\u003e (@\u003ca href=\"https://github.com/roboflow\"\u003eroboflow\u003c/a\u003e), and Jeff McCarrell (@\u003ca href=\"https://github.com/jmccarrell\"\u003ejmccarrell\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eFull Changelog\u003c/h2\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estructlog.dev.ConsoleRenderer()\u003c/code\u003e's \u003cem\u003epad_event\u003c/em\u003e argument has been renamed to \u003cem\u003epad_event_to\u003c/em\u003e to differentiate it from the boolean \u003cem\u003epad_level\u003c/em\u003e argument. \u003cem\u003epad_event\u003c/em\u003e is now deprecated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded \u003ccode\u003estructlog.dev.ConsoleRenderer.get_active()\u003c/code\u003e that returns the currently active \u003ccode\u003estructlog.dev.ConsoleRenderer()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/hynek/structlog/pull/749\"\u003e#749\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003estructlog.dev.ConsoleRenderer()\u003c/code\u003e now supports setting the \u003ccode\u003eexception_formatter\u003c/code\u003e attribute.\u003c/p\u003e\n\u003cp\u003eYou can now disable the pretty-printing of exceptions by setting it to \u003ccode\u003estructlog.dev.plain_traceback\u003c/code\u003e:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003ecr = structlog.dev.ConsoleRenderer.get_active()\r\ncr.exception_formatter = structlog.dev.plain_traceback\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSame goes for \u003cem\u003esort_keys\u003c/em\u003e, \u003cem\u003ecolumns\u003c/em\u003e, \u003cem\u003ecolors\u003c/em\u003e, \u003cem\u003eforce_colors\u003c/em\u003e, \u003cem\u003elevel_styles\u003c/em\u003e, \u003cem\u003epad_event_to\u003c/em\u003e, \u003cem\u003eevent_key\u003c/em\u003e, \u003cem\u003etimestamp_key\u003c/em\u003e, and \u003cem\u003erepr_native_str\u003c/em\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/749\"\u003e#749\u003c/a\u003e \u003ca href=\"https://redirect.github.com/hynek/structlog/pull/756\"\u003e#756\u003c/a\u003e \u003ca href=\"https://redirect.github.com/hynek/structlog/pull/757\"\u003e#757\u003c/a\u003e \u003ca href=\"https://redirect.github.com/hynek/structlog/pull/759\"\u003e#759\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded \u003ccode\u003estructlog.dev.ConsoleRenderer.get_default_column_styles()\u003c/code\u003e for reuse the default column styles. \u003ca href=\"https://redirect.github.com/hynek/structlog/pull/741\"\u003e#741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003estructlog.testing.capture_logs()\u003c/code\u003e now optionally accepts \u003cem\u003eprocessors\u003c/em\u003e to apply before capture. \u003ca href=\"https://redirect.github.com/hynek/structlog/pull/728\"\u003e#728\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hynek/structlog/blob/main/CHANGELOG.md\"\u003estructlog's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/hynek/structlog/compare/25.4.0...25.5.0\"\u003e25.5.0\u003c/a\u003e - 2025-10-27\u003c/h2\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estructlog.dev.ConsoleRenderer()\u003c/code\u003e's \u003cem\u003epad_event\u003c/em\u003e argument has been renamed to \u003cem\u003epad_event_to\u003c/em\u003e to differentiate it from the boolean \u003cem\u003epad_level\u003c/em\u003e argument.\n\u003cem\u003epad_event\u003c/em\u003e is now deprecated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded \u003ccode\u003estructlog.dev.ConsoleRenderer.get_active()\u003c/code\u003e that returns the currently active \u003ccode\u003estructlog.dev.ConsoleRenderer()\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/749\"\u003e#749\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003estructlog.dev.ConsoleRenderer()\u003c/code\u003e now supports setting the \u003ccode\u003eexception_formatter\u003c/code\u003e attribute.\u003c/p\u003e\n\u003cp\u003eYou can now disable the pretty-printing of exceptions by setting it to \u003ccode\u003estructlog.dev.plain_traceback\u003c/code\u003e:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003ecr = structlog.dev.ConsoleRenderer.get_active()\ncr.exception_formatter = structlog.dev.plain_traceback\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSame goes for \u003cem\u003esort_keys\u003c/em\u003e, \u003cem\u003ecolumns\u003c/em\u003e, \u003cem\u003ecolors\u003c/em\u003e, \u003cem\u003eforce_colors\u003c/em\u003e, \u003cem\u003elevel_styles\u003c/em\u003e, \u003cem\u003epad_event_to\u003c/em\u003e, \u003cem\u003eevent_key\u003c/em\u003e, \u003cem\u003etimestamp_key\u003c/em\u003e, and \u003cem\u003erepr_native_str\u003c/em\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/749\"\u003e#749\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/756\"\u003e#756\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/757\"\u003e#757\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/759\"\u003e#759\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded \u003ccode\u003estructlog.dev.ConsoleRenderer.get_default_column_styles()\u003c/code\u003e for reuse the default column styles.\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/741\"\u003e#741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003estructlog.testing.capture_logs()\u003c/code\u003e now optionally accepts \u003cem\u003eprocessors\u003c/em\u003e to apply before capture.\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/728\"\u003e#728\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003estructlog.dev.RichTracebackFormatter\u003c/code\u003e now exposes the upstream \u003cem\u003ecode_width\u003c/em\u003e parameter.\nDefault \u003cem\u003ewidth\u003c/em\u003e is now \u003ccode\u003eNone\u003c/code\u003e for full terminal width.\nFull terminal width is now handled by Rich itself, bringing support for reflow and \u003ccode\u003eCOLUMN\u003c/code\u003e environment variable.\nPassing \u003ccode\u003e-1\u003c/code\u003e for \u003cem\u003ewidth\u003c/em\u003e is now deprecated and automatically replaced by \u003ccode\u003eNone\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/717\"\u003e#717\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNative loggers now allow the passing of a dictionary for dictionary-based interpolation \u003ccode\u003elog.info(\u0026quot;hello %(name)s!\u0026quot;, {\u0026quot;name\u0026quot;: \u0026quot;world\u0026quot;})\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/748\"\u003e#748\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eOn Python 3.11+, \u003ccode\u003estructlog.processors.CallsiteParameterAdder\u003c/code\u003e now supports \u003ccode\u003eCallsiteParameter.QUAL_NAME\u003c/code\u003e that adds the qualified name of the callsite, including scope and class names.\nThis is only available for \u003cem\u003estructlog\u003c/em\u003e-originated events since the standard library has no equivalent.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003estructlog.stdlib.LoggerFactory\u003c/code\u003e now supports the \u003cem\u003estacklevel\u003c/em\u003e parameter.\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/763\"\u003e#763\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/c0ef9e09e7a536cae65e33c1ac1c8b4e6a6f7511\"\u003e\u003ccode\u003ec0ef9e0\u003c/code\u003e\u003c/a\u003e Prepare 25.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/9cb662fe32046f92f08346c58089a2dcba7cb4bf\"\u003e\u003ccode\u003e9cb662f\u003c/code\u003e\u003c/a\u003e docs: nit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/5400612735ad07bbe8ee9f2279f3040aa2e69ca4\"\u003e\u003ccode\u003e5400612\u003c/code\u003e\u003c/a\u003e docs/stdlib: add warning about ProcessorFormatter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/1c2c19aa19c8f30330b76465b7a0d9993b9e8360\"\u003e\u003ccode\u003e1c2c19a\u003c/code\u003e\u003c/a\u003e Try validating pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/aca10f23dd12bd9e14cfe712f1ce66c9cb5f4400\"\u003e\u003ccode\u003eaca10f2\u003c/code\u003e\u003c/a\u003e Drop pretend dependency (\u003ca href=\"https://redirect.github.com/hynek/structlog/issues/766\"\u003e#766\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/3800d401db2c682c7c83b2d3eec38d81c9791f4d\"\u003e\u003ccode\u003e3800d40\u003c/code\u003e\u003c/a\u003e docs: use native\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/ecaa15ac6b166ebca9f2b4f5cfdb4c4ec138a602\"\u003e\u003ccode\u003eecaa15a\u003c/code\u003e\u003c/a\u003e stdlib: add support for stacklevel (\u003ca href=\"https://redirect.github.com/hynek/structlog/issues/763\"\u003e#763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/7f7a221aed6bbff3c13cefd7effe14cc4f0cfc24\"\u003e\u003ccode\u003e7f7a221\u003c/code\u003e\u003c/a\u003e update dev (\u003ca href=\"https://redirect.github.com/hynek/structlog/issues/765\"\u003e#765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/5acfc85e3c3fa821dc65b55a226900d40dc0831c\"\u003e\u003ccode\u003e5acfc85\u003c/code\u003e\u003c/a\u003e docs: 5% bigger still\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/c102862e3f30de84c898c4501418dede15056c6d\"\u003e\u003ccode\u003ec102862\u003c/code\u003e\u003c/a\u003e docs: bigger font\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hynek/structlog/compare/25.1.0...25.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `upstash-redis` from 1.3.0 to 1.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/upstash/redis-python/releases\"\u003eupstash-redis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v1.6.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDX-2353 - Add commands HGETDEL, HGETEX, HSETEX, XDELEX, XACKDEL, CLIENT SETINFO and add new options to BITOP and XADD by \u003ca href=\"https://github.com/alitariksahin\"\u003e\u003ccode\u003e@​alitariksahin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/redis-py/pull/68\"\u003eupstash/redis-py#68\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/alitariksahin\"\u003e\u003ccode\u003e@​alitariksahin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/upstash/redis-py/pull/68\"\u003eupstash/redis-py#68\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/upstash/redis-py/compare/v1.5.0...v1.6.0\"\u003ehttps://github.com/upstash/redis-py/compare/v1.5.0...v1.6.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRelease v1.5.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDX-2204: add telemetry data collection and opt-out option by \u003ca href=\"https://github.com/CahidArda\"\u003e\u003ccode\u003e@​CahidArda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/redis-py/pull/67\"\u003eupstash/redis-py#67\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDX-2186: Add Redis stream commands by \u003ca href=\"https://github.com/CahidArda\"\u003e\u003ccode\u003e@​CahidArda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/redis-py/pull/66\"\u003eupstash/redis-py#66\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/upstash/redis-py/compare/v1.4.0...v1.5.0\"\u003ehttps://github.com/upstash/redis-py/compare/v1.4.0...v1.5.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRelease v1.4.0\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\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/upstash/redis-py/commit/e3379e95c2b5f8c6f6627ebb3083de01bcbea27d\"\u003e\u003ccode\u003ee3379e9\u003c/code\u003e\u003c/a\u003e fix: bump version to 1.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/redis-py/commit/1033c5046d7bc2ff0edfe18f7af12e1030243e59\"\u003e\u003ccode\u003e1033c50\u003c/code\u003e\u003c/a\u003e Dx 2353 - Update Redis API compat page for v1.15 (\u003ca href=\"https://redirect.github.com/upstash/redis-python/issues/68\"\u003e#68\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/redis-py/commit/bed0d54d74d69c73baa3267293c5e5651708c9a1\"\u003e\u003ccode\u003ebed0d54\u003c/code\u003e\u003c/a\u003e DX-2186: Add Redis stream commands (\u003ca href=\"https://redirect.github.com/upstash/redis-python/issues/66\"\u003e#66\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/redis-py/commit/4e3a25406343592321e235bfc965c513ea0fd22c\"\u003e\u003ccode\u003e4e3a254\u003c/code\u003e\u003c/a\u003e DX-2204: add telemetry data collection and opt-out option (\u003ca href=\"https://redirect.github.com/upstash/redis-python/issues/67\"\u003e#67\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/redis-py/commit/38d27f60c0219a427e4471781eaf8daeedb642a7\"\u003e\u003ccode\u003e38d27f6\u003c/code\u003e\u003c/a\u003e fix: bump version to 1.4.0 (\u003ca href=\"https://redirect.github.com/upstash/redis-python/issues/61\"\u003e#61\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/redis-py/commit/8c1d029789572534572c0aa550da4796d7d44f15\"\u003e\u003ccode\u003e8c1d029\u003c/code\u003e\u003c/a\u003e Add hash expiration commands (\u003ca href=\"https://redirect.github.com/upstash/redis-python/issues/62\"\u003e#62\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/redis-py/commit/14432d4aee650ccf5107ed3ca8e1d9a29748e2cd\"\u003e\u003ccode\u003e14432d4\u003c/code\u003e\u003c/a\u003e DX-1780: add HEXPIRE command (\u003ca href=\"https://redirect.github.com/upstash/redis-python/issues/60\"\u003e#60\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/redis-py/commit/f3f2a51eabc94985425856cdf28d8c285b6399fc\"\u003e\u003ccode\u003ef3f2a51\u003c/code\u003e\u003c/a\u003e feat: add eval_ro and evalsha_ro commands (\u003ca href=\"https://redirect.github.com/upstash/redis-python/issues/59\"\u003e#59\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/upstash/redis-python/compare/v1.3.0...v1.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn[standard]` from 0.34.2 to 0.42.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[standard]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0....\n\n_Description has been truncated_","html_url":"https://github.com/konf-dev/unspool/pull/15","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/konf-dev%2Funspool/issues/15","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/15/packages"},{"uuid":"4079875822","node_id":"PR_kwDOJVxJus7KylMB","number":33492,"state":"open","title":"chore(deps-dev): bump the vdb group across 1 directory with 18 updates","user":"dependabot[bot]","labels":["dependencies","size:M","python:uv"],"assignees":[],"locked":false,"comments_count":12,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-16T02:34:22.000Z","updated_at":"2026-03-16T06:08:18.020Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"vdb","update_count":18,"packages":[{"name":"weaviate-client","old_version":"4.17.0","new_version":"4.20.4","repository_url":"https://github.com/weaviate/weaviate-python-client"},{"name":"alibabacloud-tea-openapi","old_version":"0.3.16","new_version":"0.4.3","repository_url":"https://github.com/aliyun/darabonba-openapi"},{"name":"chromadb","old_version":"0.5.20","new_version":"1.5.5","repository_url":"https://github.com/chroma-core/chroma"},{"name":"clickhouse-connect","old_version":"0.10.0","new_version":"0.14.1","repository_url":"https://github.com/ClickHouse/clickhouse-connect"},{"name":"couchbase","old_version":"4.3.6","new_version":"4.5.0","repository_url":"https://github.com/couchbase/couchbase-python-client"},{"name":"elasticsearch","old_version":"8.14.0","new_version":"9.3.0","repository_url":"https://github.com/elastic/elasticsearch-py"},{"name":"oracledb","old_version":"3.3.0","new_version":"3.4.2","repository_url":"https://github.com/oracle/python-oracledb"},{"name":"pgvector","old_version":"0.2.5","new_version":"0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"},{"name":"pymilvus","old_version":"2.5.17","new_version":"2.6.10","repository_url":"https://github.com/milvus-io/pymilvus"},{"name":"pymochow","old_version":"2.2.9","new_version":"2.3.6"},{"name":"pyobvector","old_version":"0.2.20","new_version":"0.2.25","repository_url":"https://github.com/oceanbase/pyobvector"},{"name":"qdrant-client","old_version":"1.9.0","new_version":"1.17.1","repository_url":"https://github.com/qdrant/qdrant-client"},{"name":"tablestore","old_version":"6.3.7","new_version":"6.4.1","repository_url":"https://github.com/aliyun/aliyun-tablestore-python-sdk"},{"name":"tcvectordb","old_version":"1.6.4","new_version":"2.0.0"},{"name":"tidb-vector","old_version":"0.0.9","new_version":"0.0.15"},{"name":"upstash-vector","old_version":"0.6.0","new_version":"0.8.0","repository_url":"https://github.com/upstash/vector-py"},{"name":"xinference-client","old_version":"1.2.2","new_version":"2.3.1","repository_url":"https://github.com/xorbitsai/inference-client"},{"name":"mysql-connector-python","old_version":"9.5.0","new_version":"9.6.0","repository_url":"https://github.com/mysql/mysql-connector-python"}],"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 vdb group with 18 updates in the /api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [weaviate-client](https://github.com/weaviate/weaviate-python-client) | `4.17.0` | `4.20.4` |\n| [alibabacloud-tea-openapi](https://github.com/aliyun/darabonba-openapi) | `0.3.16` | `0.4.3` |\n| [chromadb](https://github.com/chroma-core/chroma) | `0.5.20` | `1.5.5` |\n| [clickhouse-connect](https://github.com/ClickHouse/clickhouse-connect) | `0.10.0` | `0.14.1` |\n| [couchbase](https://github.com/couchbase/couchbase-python-client) | `4.3.6` | `4.5.0` |\n| [elasticsearch](https://github.com/elastic/elasticsearch-py) | `8.14.0` | `9.3.0` |\n| [oracledb](https://github.com/oracle/python-oracledb) | `3.3.0` | `3.4.2` |\n| [pgvector](https://github.com/pgvector/pgvector-python) | `0.2.5` | `0.4.2` |\n| [pymilvus](https://github.com/milvus-io/pymilvus) | `2.5.17` | `2.6.10` |\n| [pymochow](http://bce.baidu.com) | `2.2.9` | `2.3.6` |\n| [pyobvector](https://github.com/oceanbase/pyobvector) | `0.2.20` | `0.2.25` |\n| [qdrant-client](https://github.com/qdrant/qdrant-client) | `1.9.0` | `1.17.1` |\n| [tablestore](https://github.com/aliyun/aliyun-tablestore-python-sdk) | `6.3.7` | `6.4.1` |\n| tcvectordb | `1.6.4` | `2.0.0` |\n| tidb-vector | `0.0.9` | `0.0.15` |\n| [upstash-vector](https://github.com/upstash/vector-py) | `0.6.0` | `0.8.0` |\n| [xinference-client](https://github.com/xorbitsai/inference-client) | `1.2.2` | `2.3.1` |\n| [mysql-connector-python](https://github.com/mysql/mysql-connector-python) | `9.5.0` | `9.6.0` |\n\n\nUpdates `weaviate-client` from 4.17.0 to 4.20.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weaviate/weaviate-python-client/releases\"\u003eweaviate-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.20.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump authlib to 1.6.9 to avoid high cve by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1975\"\u003eweaviate/weaviate-python-client#1975\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.2...v4.20.3\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.2...v4.20.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eperf: use deque for iterator object cache by \u003ca href=\"https://github.com/giulio-leone\"\u003e\u003ccode\u003e@​giulio-leone\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1968\"\u003eweaviate/weaviate-python-client#1968\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexpose include_last_used_time parameter, return created_at and api_key_first_letters by \u003ca href=\"https://github.com/dudanogueira\"\u003e\u003ccode\u003e@​dudanogueira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1965\"\u003eweaviate/weaviate-python-client#1965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for incremental backups by \u003ca href=\"https://github.com/dirkkul\"\u003e\u003ccode\u003e@​dirkkul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1928\"\u003eweaviate/weaviate-python-client#1928\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/giulio-leone\"\u003e\u003ccode\u003e@​giulio-leone\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1968\"\u003eweaviate/weaviate-python-client#1968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.1...v4.20.2\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.1...v4.20.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix empty list filter raising IndexError instead of WeaviateInvalidInputError by \u003ca href=\"https://github.com/dirkkul\"\u003e\u003ccode\u003e@​dirkkul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1962\"\u003eweaviate/weaviate-python-client#1962\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.0...v4.20.1\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.0...v4.20.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eflat index: Add support for RQ and include cache param by \u003ca href=\"https://github.com/rlmanrique\"\u003e\u003ccode\u003e@​rlmanrique\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1844\"\u003eweaviate/weaviate-python-client#1844\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003ecollection.data.ingest\u003c/code\u003e for sync/async SSB usage by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1876\"\u003eweaviate/weaviate-python-client#1876\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd delete_property_index to collection config by \u003ca href=\"https://github.com/DanielJanicek\"\u003e\u003ccode\u003e@​DanielJanicek\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1940\"\u003eweaviate/weaviate-python-client#1940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid id invalidation in nested properties by \u003ca href=\"https://github.com/dudanogueira\"\u003e\u003ccode\u003e@​dudanogueira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1952\"\u003eweaviate/weaviate-python-client#1952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide options allowing users to specify custom grpc SSL credentials by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1946\"\u003eweaviate/weaviate-python-client#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for cancelling backup restore ops by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1956\"\u003eweaviate/weaviate-python-client#1956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove cache option from SQConfig, deprecate field in factory method by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1954\"\u003eweaviate/weaviate-python-client#1954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow imgs/img_props in cohere generative config runtime by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1955\"\u003eweaviate/weaviate-python-client#1955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce async repl conf in (re)configure and unit tests of usage by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1953\"\u003eweaviate/weaviate-python-client#1953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Hfresh index type by \u003ca href=\"https://github.com/robbespo00\"\u003e\u003ccode\u003e@​robbespo00\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1848\"\u003eweaviate/weaviate-python-client#1848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Cluster Statistics (client.cluster.statistics()) by \u003ca href=\"https://github.com/Shah91n\"\u003e\u003ccode\u003e@​Shah91n\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1959\"\u003eweaviate/weaviate-python-client#1959\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/Shah91n\"\u003e\u003ccode\u003e@​Shah91n\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1959\"\u003eweaviate/weaviate-python-client#1959\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.19.4...v4.20.0\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.19.4...v4.20.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.19.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd gRPC ping check to is_live method  by \u003ca href=\"https://github.com/sylvinho81\"\u003e\u003ccode\u003e@​sylvinho81\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1949\"\u003eweaviate/weaviate-python-client#1949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-raise in \u003ccode\u003ecollection.exists()\u003c/code\u003e if status code is not 404 by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1950\"\u003eweaviate/weaviate-python-client#1950\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weaviate/weaviate-python-client/blob/main/docs/changelog.rst\"\u003eweaviate-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 4.20.4\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Include client version in GRPC requests\n- Add support for the new \u003ccode\u003emulti2vec_google_gemini\u003c/code\u003e module\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.3\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Update of \u003ccode\u003eauthlib\u003c/code\u003e dependency\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.2\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Support for incremental backups\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.1\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Raise an input error when filtering on an empty list\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.0\u003c/h2\u003e\n\u003cp\u003eThis minor version includes:\n- Support for new 1.36 features:\n- Server-side batching (SSB) is now GA via \u003ccode\u003ebatch.stream\u003c/code\u003e (\u003ccode\u003ebatch.experimental\u003c/code\u003e is deprecated)\n- Add \u003ccode\u003ecollection.data.ingest\u003c/code\u003e as a new entry point for SSB usage in sync and async clients\n- Add support for the new HFresh index type\n- Add support for async replication configuration\n- Add support for cancelling backup restore operations\n- Add \u003ccode\u003ecollection.config.delete_property_index\u003c/code\u003e to drop filterable, searchable, or range filter indices from properties\n- Add \u003ccode\u003eclient.cluster.statistics()\u003c/code\u003e method for retrieving cluster and Raft statistics\n- Allow \u003ccode\u003eimages\u003c/code\u003e and \u003ccode\u003eimage_properties\u003c/code\u003e in Cohere generative config at runtime\n- Provide options to specify custom gRPC SSL credentials for advanced connection setups\n- Remove \u003ccode\u003ecache\u003c/code\u003e option from \u003ccode\u003eSQConfig\u003c/code\u003e and deprecate the field in the factory method\n- Fix validation of nested object properties to allow \u003ccode\u003eid\u003c/code\u003e as a nested property name\u003c/p\u003e\n\u003ch2\u003eVersion 4.19.4\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Adds the gRPC healthcheck ping to the \u003ccode\u003eis_live()\u003c/code\u003e method of the async client to provide a more accurate check of the connection status of the async client\n- Fixes bug where exceptions raised in \u003ccode\u003ecollections.exists()\u003c/code\u003e were silently ignored and the method would return \u003ccode\u003eFalse\u003c/code\u003e instead of raising the exception\u003c/p\u003e\n\u003ch2\u003eVersion 4.19.3\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Add support for VoyageAI voyage-4 model family (voyage-4, voyage-4-lite, voyage-4-large)\n- A fix for async client connection issues when \u003ccode\u003epypi\u003c/code\u003e is down\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/weaviate/weaviate-python-client/commit/c0b796e07af0fef5555d37cf78a9a47dae62bb0c\"\u003e\u003ccode\u003ec0b796e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1982\"\u003e#1982\u003c/a\u003e from weaviate/changelog_4_20_4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/dfa8ae431413db4bb66ad2054487018b3362f360\"\u003e\u003ccode\u003edfa8ae4\u003c/code\u003e\u003c/a\u003e Add changelog for v4.20.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/3a0958c19133ecb10565b66d4d0d4ab818d7a619\"\u003e\u003ccode\u003e3a0958c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1977\"\u003e#1977\u003c/a\u003e from weaviate/multi2vec-google-aistudio-vectorizer-c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/106f22584de2bc00f347534c19661af997112583\"\u003e\u003ccode\u003e106f225\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into multi2vec-google-aistudio-vectorizer-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/5ca709e0c068ae8531368d489062169cd7b9306d\"\u003e\u003ccode\u003e5ca709e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1980\"\u003e#1980\u003c/a\u003e from weaviate/client_version_grpc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/55e56f06bf0444fb4caf9f31da7b61dad10ef291\"\u003e\u003ccode\u003e55e56f0\u003c/code\u003e\u003c/a\u003e Dont overwrite version from additional headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/79ee3d030a8c9829c0ea3ca8240ebcdefe710647\"\u003e\u003ccode\u003e79ee3d0\u003c/code\u003e\u003c/a\u003e Add client version to GRPC headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/2ccdaa109a8ba599bec569b489aca3497087869e\"\u003e\u003ccode\u003e2ccdaa1\u003c/code\u003e\u003c/a\u003e chore: rename multi2vec_google_aistudio config to multi2vec_google_gemini\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/ce633119510d6b8ae71dec0310d4a5d08700e172\"\u003e\u003ccode\u003ece63311\u003c/code\u003e\u003c/a\u003e feat: add multi2vec_google_aistudio vectorizer config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/db8a91c514b042dda0871eeb7a27cc9c65f70e71\"\u003e\u003ccode\u003edb8a91c\u003c/code\u003e\u003c/a\u003e Bump authlib to 1.6.9 to avoid high cve (\u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1975\"\u003e#1975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.17.0...v4.20.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alibabacloud-tea-openapi` from 0.3.16 to 0.4.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aliyun/darabonba-openapi/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `chromadb` from 0.5.20 to 1.5.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/chroma-core/chroma/releases\"\u003echromadb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.5.5\u003c/h2\u003e\n\u003cp\u003eVersion: \u003ccode\u003e1.5.5\u003c/code\u003e\nGit ref: \u003ccode\u003erefs/tags/1.5.5\u003c/code\u003e\nBuild Date: \u003ccode\u003e2026-03-10T09:30\u003c/code\u003e\nPIP Package: \u003ccode\u003echroma-1.5.5.tar.gz\u003c/code\u003e\nGithub Container Registry Image: \u003ccode\u003e:1.5.5\u003c/code\u003e\nDockerHub Image: \u003ccode\u003e:1.5.5\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[RELEASE] Rust v0.13.2 by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6583\"\u003echroma-core/chroma#6583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Use buffer_unordered for lazy fragment fetch concurrency by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6584\"\u003echroma-core/chroma#6584\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] chroma configuration reference by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6592\"\u003echroma-core/chroma#6592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[PERF]: Dedup + filter out disbled collections before sysdb enrichment by \u003ca href=\"https://github.com/sanketkedia\"\u003e\u003ccode\u003e@​sanketkedia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6566\"\u003echroma-core/chroma#6566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[TST] Fix test_cross_version_persist by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6604\"\u003echroma-core/chroma#6604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Warn on no API key set on JS EFs by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6599\"\u003echroma-core/chroma#6599\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Add a GoogleGemini EF name alias by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6620\"\u003echroma-core/chroma#6620\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[RELEASE] Python 1.5.5 by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6602\"\u003echroma-core/chroma#6602\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chroma-core/chroma/compare/1.5.4...1.5.5\"\u003ehttps://github.com/chroma-core/chroma/compare/1.5.4...1.5.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.5.3\u003c/h2\u003e\n\u003cp\u003eVersion: \u003ccode\u003e1.5.3\u003c/code\u003e\nGit ref: \u003ccode\u003erefs/tags/1.5.3\u003c/code\u003e\nBuild Date: \u003ccode\u003e2026-03-07T19:07\u003c/code\u003e\nPIP Package: \u003ccode\u003echroma-1.5.3.tar.gz\u003c/code\u003e\nGithub Container Registry Image: \u003ccode\u003e:1.5.3\u003c/code\u003e\nDockerHub Image: \u003ccode\u003e:1.5.3\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[ENH] Thread topology name through purge-dirty pipeline by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6503\"\u003echroma-core/chroma#6503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CHORE]  Tighten down k8s resources in test. by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6509\"\u003echroma-core/chroma#6509\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Purge dirty via Spanner when topology is specified by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6504\"\u003echroma-core/chroma#6504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG]: Drop pydantic v1 compatibility layer for Python 3.14 support by \u003ca href=\"https://github.com/basnijholt\"\u003e\u003ccode\u003e@​basnijholt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6356\"\u003echroma-core/chroma#6356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[PERF] Parallelize segment reader initialization in filter and idf operators by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6522\"\u003echroma-core/chroma#6522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Preallocate during pull log parsing by \u003ca href=\"https://github.com/tanujnay112\"\u003e\u003ccode\u003e@​tanujnay112\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6528\"\u003echroma-core/chroma#6528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[TST] Make pytest use importlib by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6483\"\u003echroma-core/chroma#6483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CLN] Make telemetry a no-op and remove posthog as a dependency by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6489\"\u003echroma-core/chroma#6489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] fix forking numbers by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6530\"\u003echroma-core/chroma#6530\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/blob/HEAD/storage\"\u003eBUG\u003c/a\u003e: retry batch fetch on channel closure by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6526\"\u003echroma-core/chroma#6526\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG] CAS on version during reassignment by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6529\"\u003echroma-core/chroma#6529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] use ResourceExhausted error code for log backpressure by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6527\"\u003echroma-core/chroma#6527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Ordered sparse vector writer by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6495\"\u003echroma-core/chroma#6495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] update docs for s3 sync by \u003ca href=\"https://github.com/philipithomas\"\u003e\u003ccode\u003e@​philipithomas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6515\"\u003echroma-core/chroma#6515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG] avoid redundant manifest load in pull_logs_inner by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6544\"\u003echroma-core/chroma#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Skip record load when only id is requested by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6540\"\u003echroma-core/chroma#6540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/blob/HEAD/log\"\u003eENH\u003c/a\u003e add pointer-based log fetch via ScoutLogFragments by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6533\"\u003echroma-core/chroma#6533\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Add ReadLevel to count in be by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6539\"\u003echroma-core/chroma#6539\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Add a gauge metric in sysdb to track compaction_failure_count by \u003ca href=\"https://github.com/tanujnay112\"\u003e\u003ccode\u003e@​tanujnay112\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6550\"\u003echroma-core/chroma#6550\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Fix query param by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6557\"\u003echroma-core/chroma#6557\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/eca66b7afd4b7aea227644f8c78030f16fc2837a\"\u003e\u003ccode\u003eeca66b7\u003c/code\u003e\u003c/a\u003e [RELEASE] Python 1.5.5 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6602\"\u003e#6602\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/ce0eede5941e15017204c69387493a35ee97afa4\"\u003e\u003ccode\u003ece0eede\u003c/code\u003e\u003c/a\u003e [ENH] Add a GoogleGemini EF name alias (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6620\"\u003e#6620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/3604eea9165d26ef6eefb03893ae1b04d1803b1e\"\u003e\u003ccode\u003e3604eea\u003c/code\u003e\u003c/a\u003e [ENH] Warn on no API key set on JS EFs (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6599\"\u003e#6599\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/9e7bd7fbf91746166e56e140ed548d070f638722\"\u003e\u003ccode\u003e9e7bd7f\u003c/code\u003e\u003c/a\u003e [TST] Fix test_cross_version_persist (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6604\"\u003e#6604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/03a3169183d372360321c76a034c97f8a1e2ac4c\"\u003e\u003ccode\u003e03a3169\u003c/code\u003e\u003c/a\u003e [PERF]: Dedup + filter out disbled collections before sysdb enrichment (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6566\"\u003e#6566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/475bbfcfdba3b40c737c3a90a4f1a915298b16f6\"\u003e\u003ccode\u003e475bbfc\u003c/code\u003e\u003c/a\u003e [DOC] chroma configuration reference (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6592\"\u003e#6592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/02d2d8cd21150cd2ffdecce2c23e0234e04bb2fc\"\u003e\u003ccode\u003e02d2d8c\u003c/code\u003e\u003c/a\u003e [ENH] Use buffer_unordered for lazy fragment fetch concurrency (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6584\"\u003e#6584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/130449099a5eb756a55e4c73ed1d29fdebc5b371\"\u003e\u003ccode\u003e1304490\u003c/code\u003e\u003c/a\u003e [RELEASE] Rust v0.13.2 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6583\"\u003e#6583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/e0525a2f99589693141974a9c5a38b12299e8eef\"\u003e\u003ccode\u003ee0525a2\u003c/code\u003e\u003c/a\u003e [RELEASE] Python 1.5.4 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6585\"\u003e#6585\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/8c70b3cd112ca5608300b8e58710a4e52e5f97fb\"\u003e\u003ccode\u003e8c70b3c\u003c/code\u003e\u003c/a\u003e [ENH] Exclude yanked versions from cross-version persist test (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6588\"\u003e#6588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/chroma-core/chroma/compare/0.5.20...1.5.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `clickhouse-connect` from 0.10.0 to 0.14.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/releases\"\u003eclickhouse-connect's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.1\u003c/h2\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed JSON and Dynamic column read paths to properly decode shared variant data instead of returning raw binary with discriminator byte prefixes. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/599\"\u003e#599\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/615\"\u003e#615\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed empty ORM/DBAPI \u003ccode\u003eSELECT\u003c/code\u003e results so \u003ccode\u003ecursor.description\u003c/code\u003e is still populated when ClickHouse Native format returns no data blocks. This restores correct handling for empty result sets, including parameterized and limited queries. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/675\"\u003e#675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReenabled the default Cython runtime path so compiled driverc modules are used again unless  \u003ccode\u003eCLICKHOUSE_CONNECT_USE_C=0\u003c/code\u003e is exoplicitly set. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/676\"\u003e#676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.14.0...v0.14.1\"\u003ehttps://github.com/ClickHouse/clickhouse-connect/compare/v0.14.0...v0.14.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.14.0\u003c/h2\u003e\n\u003ch2\u003eHigh level notes\u003c/h2\u003e\n\u003cp\u003eThis release is primarily focused on preparing the path to 1.0.0. It introduces a handful of breaking changes and deprecation warnings for APIs that will be removed or finalized in 1.0.0. If your code uses any of the deprecated parameters, you'll now see \u003ccode\u003eDeprecationWarning\u003c/code\u003es with clear migration guidance and highly recommend addressing these before upgrading to 1.0.0 when it ships.\u003c/p\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eapply_server_timezone\u003c/code\u003e renamed to \u003ccode\u003etz_source\u003c/code\u003e. Options are \u003ccode\u003e\u0026quot;auto\u0026quot;\u003c/code\u003e (the default), \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e, or \u003ccode\u003e\u0026quot;local\u0026quot;\u003c/code\u003e. The old parameter currently still works with a deprecation warning. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/670\"\u003eClickHouse/clickhouse-connect#670\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eutc_tz_aware\u003c/code\u003e renamed to \u003ccode\u003etz_mode\u003c/code\u003e. Options are \u003ccode\u003e\u0026quot;naive_utc\u0026quot;\u003c/code\u003e (the default), \u003ccode\u003e\u0026quot;aware\u0026quot;\u003c/code\u003e, or \u003ccode\u003e\u0026quot;schema\u0026quot;\u003c/code\u003e. The old parameter still currently still works with a deprecation warning. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/664\"\u003eClickHouse/clickhouse-connect#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003eObject('json')\u003c/code\u003e type. This was a legacy experimental JSON type has been removed in favor of the new JSON type in ClickHouse. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/666\"\u003eClickHouse/clickhouse-connect#666\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePandas 1.x support is deprecated and will be removed in 1.0.0. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/667\"\u003eClickHouse/clickhouse-connect#667\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThere's a async-native client based on clickhouse-connect v0.11.0 that is \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/releases/tag/v0.12.0rc1\"\u003eavailable\u003c/a\u003e for testing via \u003ccode\u003epip install clickhouse_connect[async]==0.12.0rc1\u003c/code\u003e. A \u003ccode\u003eFutureWarning\u003c/code\u003e advertising this will now be emitted on creation of the (to be legacy) async client. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/672\"\u003eClickHouse/clickhouse-connect#672\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eExperimental\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.14 free-threading (cp314t) wheel builds for all platforms. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/660\"\u003eClickHouse/clickhouse-connect#660\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where sending redundant settings is skipped. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/639\"\u003eClickHouse/clickhouse-connect#639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eSAMPLE\u003c/code\u003e in SQLAlchemy dialect. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/656\"\u003eClickHouse/clickhouse-connect#656\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/bsushmith\"\u003e\u003ccode\u003e@​bsushmith\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/656\"\u003eClickHouse/clickhouse-connect#656\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.13.0...v0.14.0\"\u003ehttps://github.com/ClickHouse/clickhouse-connect/compare/v0.13.0...v0.14.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.13.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eBREAKING CHANGE\u003c/strong\u003e: Implement native write path for \u003ccode\u003eVariant\u003c/code\u003e data type with type-aware dispatching. Previously, all values inserted into a \u003ccode\u003eVariant\u003c/code\u003e column were stringified and sent to the server, which would store them in the \u003ccode\u003eString\u003c/code\u003e member if present, or attempt server-side conversion otherwise. Values are now serialized using their native ClickHouse types client-side (e.g. inserting \u003ccode\u003e100\u003c/code\u003e into \u003ccode\u003eVariant(Int64, String)\u003c/code\u003e stores \u003ccode\u003eInt64(100)\u003c/code\u003e instead of \u003ccode\u003eString(\u0026quot;100\u0026quot;)\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003eKey changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eValues that don't match any variant member now raise \u003ccode\u003eDataError\u003c/code\u003e instead of being stringified and\ndelegated to the server.\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003etyped_variant(value, 'TypeName')\u003c/code\u003e helper is provided for cases where automatic dispatch\ncannot resolve the target type, such as when multiple variant members map to the same Python\ntype (e.g. \u003ccode\u003eArray(UInt32)\u003c/code\u003e vs \u003ccode\u003eArray(String)\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded \u003ccode\u003eutc_tz_aware=\u0026quot;schema\u0026quot;\u003c/code\u003e mode which returns timezone-aware datetimes only when the server's column schema explicitly defines a timezone (e.g. \u003ccode\u003eDateTime('UTC')\u003c/code\u003e), and naive datetimes for bare \u003ccode\u003eDateTime\u003c/code\u003e columns. This matches the ClickHouse schema definition exactly. Not yet supported for Arrow-based query methods. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/645\"\u003e#645\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type annotations to public API methods in \u003ccode\u003eClient\u003c/code\u003e, \u003ccode\u003eAsyncClient\u003c/code\u003e, \u003ccode\u003eHttpClient\u003c/code\u003e, and \u003ccode\u003eQueryResult\u003c/code\u003e. Ref \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/567\"\u003e#567\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003edict_add\u003c/code\u003e parameter typed as builtin \u003ccode\u003eany\u003c/code\u003e instead of \u003ccode\u003etyping.Any\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRecognize \u003ccode\u003eUPDATE\u003c/code\u003e as a command so lightweight updates work correctly via \u003ccode\u003eclient.query()\u003c/code\u003e and SQLAlchemy.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/blob/main/CHANGELOG.md\"\u003eclickhouse-connect's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.1, 2026-03-11\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix JSON and Dynamic column read paths to properly decode shared variant data instead of returning raw binary with discriminator byte prefixes. Shared data values, used when paths exceed \u003ccode\u003emax_dynamic_paths\u003c/code\u003e or types exceed \u003ccode\u003emax_dynamic_types\u003c/code\u003e are now decoded from ClickHouse's binary variant encoding. Scalar types like integers, floats, strings, booleans, and nulls as well as nested objects are now fully decoded. Compound types like Array, Tuple, Map, DateTime, Date, Decimal, and UUID are not yet decoded and will be returned as raw bytes. Fixes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/599\"\u003e#599\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/615\"\u003e#615\u003c/a\u003e, and \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: Fixed empty ORM/DBAPI SELECT results so \u003ccode\u003ecursor.description\u003c/code\u003e is still populated when ClickHouse Native format returns no data blocks. This restores correct handling for empty result sets, including parameterized and limited queries. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/675\"\u003e#675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore the default Cython runtime path so compiled \u003ccode\u003edriverc\u003c/code\u003e modules are used again unless \u003ccode\u003eCLICKHOUSE_CONNECT_USE_C=0\u003c/code\u003e is set. Fix C/Python parity issues in streaming exception handling, \u003ccode\u003eFixedString\u003c/code\u003e string reads, nullable array helpers, and numpy conversion helpers, and expand CI and unit parity coverage to keep the optimized and pure-Python paths in sync. Addresses \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/676\"\u003e#676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSimplify \u003ccode\u003epivot\u003c/code\u003e in the Cython data conversion module to use \u003ccode\u003etuple(zip(*...))\u003c/code\u003e instead of a manual tuple-building loop which matches the pure-Python implementation and provides significant insert speedup.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.14.0, 2026-03-09\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRenamed \u003ccode\u003eapply_server_timezone\u003c/code\u003e parameter to \u003ccode\u003etz_source\u003c/code\u003e across Client and HttpClient. The new \u003ccode\u003etz_source\u003c/code\u003e parameter accepts string values: \u003ccode\u003e\u0026quot;auto\u0026quot;\u003c/code\u003e (default, was \u003ccode\u003eNone\u003c/code\u003e), \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e (was \u003ccode\u003eTrue\u003c/code\u003e or \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e), and \u003ccode\u003e\u0026quot;local\u0026quot;\u003c/code\u003e (was \u003ccode\u003eFalse\u003c/code\u003e). The old \u003ccode\u003eapply_server_timezone\u003c/code\u003e parameter is still accepted but emits a \u003ccode\u003eDeprecationWarning\u003c/code\u003e and will be removed in 1.0. Passing both \u003ccode\u003etz_source\u003c/code\u003e and \u003ccode\u003eapply_server_timezone\u003c/code\u003e raises \u003ccode\u003eProgrammingError\u003c/code\u003e. The \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e value (which had no distinct runtime behavior from \u003ccode\u003eTrue\u003c/code\u003e) maps to \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRenamed \u003ccode\u003eutc_tz_aware\u003c/code\u003e parameter to \u003ccode\u003etz_mode\u003c/code\u003e across Client, QueryContext, and all query methods. The new \u003ccode\u003etz_mode\u003c/code\u003e parameter accepts string values: \u003ccode\u003e\u0026quot;naive_utc\u0026quot;\u003c/code\u003e (default, was \u003ccode\u003eFalse\u003c/code\u003e), \u003ccode\u003e\u0026quot;aware\u0026quot;\u003c/code\u003e (was \u003ccode\u003eTrue\u003c/code\u003e), and \u003ccode\u003e\u0026quot;schema\u0026quot;\u003c/code\u003e (unchanged). The old \u003ccode\u003eutc_tz_aware\u003c/code\u003e parameter is still accepted but emits a \u003ccode\u003eDeprecationWarning\u003c/code\u003e and will be removed in 1.0. Passing both \u003ccode\u003etz_mode\u003c/code\u003e and \u003ccode\u003eutc_tz_aware\u003c/code\u003e raises \u003ccode\u003eProgrammingError\u003c/code\u003e. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/654\"\u003e#654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved the deprecated \u003ccode\u003eObject('json')\u003c/code\u003e type. This was the legacy experimental JSON type that has been superseded by the new \u003ccode\u003eJSON\u003c/code\u003e type in ClickHouse. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/556\"\u003e#556\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePandas 1.x support is now deprecated and will be removed in v1.0.0. A \u003ccode\u003eDeprecationWarning\u003c/code\u003e is emitted at import time for pandas 1.x users.\u003c/li\u003e\n\u003cli\u003eThe current \u003ccode\u003eAsyncClient\u003c/code\u003e is a thread-pool wrapper around the sync client and now emits a \u003ccode\u003eFutureWarning\u003c/code\u003e on creation, pointing users to the fully native async client available as a prerelease: \u003ccode\u003epip install 'clickhouse-connect[async]==0.12.0rc1'\u003c/code\u003e. This prerelease branch is based on 0.11.0 and is gathering feedback ahead of 1.0.0, where it will become the default async implementation. It is a drop-in replacement with the same API surface.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for the \u003ccode\u003eSAMPLE\u003c/code\u003e clause in SQLAlchemy statements. Note: Due to a SQLAlchemy limitation, only one hint (SAMPLE or FINAL) can be applied per table; chaining both will silently ignore one. For now, this change enables use of sample(), but chaining with final() is not yet supported.  Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/634\"\u003e#634\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eExperimental:\u003c/strong\u003e Added Python 3.14 free-threading (cp314t) wheel builds for all platforms. The full test suite currently (as of 2 MAR, 2026) passes under free-threaded Python, but is not added to the CI test matrix at this time nor has it been otherwise tested to any degree. Free-threading support should be considered experimental with no guarantees of correctness at this time. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/573\"\u003e#573\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.13.0, 2026-02-26\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBREAKING CHANGE: Implement native write path for \u003ccode\u003eVariant\u003c/code\u003e data type with type-aware dispatching.\nPreviously, all values inserted into a \u003ccode\u003eVariant\u003c/code\u003e column were stringified and sent to the server, which\nwould store them in the \u003ccode\u003eString\u003c/code\u003e member if present, or attempt server-side conversion otherwise. Values\nare now serialized using their native ClickHouse types client-side (e.g. inserting \u003ccode\u003e100\u003c/code\u003e into\n\u003ccode\u003eVariant(Int64, String)\u003c/code\u003e stores \u003ccode\u003eInt64(100)\u003c/code\u003e instead of \u003ccode\u003eString(\u0026quot;100\u0026quot;)\u003c/code\u003e). Key changes:\n\u003cul\u003e\n\u003cli\u003eValues that don't match any variant member now raise \u003ccode\u003eDataError\u003c/code\u003e instead of being stringified and\ndelegated to the server.\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003etyped_variant(value, 'TypeName')\u003c/code\u003e helper is provided for cases where automatic dispatch\ncannot resolve the target type, such as when multiple variant members map to the same Python\ntype (e.g. \u003ccode\u003eArray(UInt32)\u003c/code\u003e vs \u003ccode\u003eArray(String)\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eutc_tz_aware=\u0026quot;schema\u0026quot;\u003c/code\u003e mode which returns timezone-aware datetimes only when the server's column schema explicitly defines a timezone (e.g. \u003ccode\u003eDateTime('UTC')\u003c/code\u003e), and naive datetimes for bare \u003ccode\u003eDateTime\u003c/code\u003e columns. This matches the ClickHouse schema definition exactly. Not yet supported for Arrow-based query methods. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/645\"\u003e#645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd type annotations to public API methods in \u003ccode\u003eClient\u003c/code\u003e, \u003ccode\u003eAsyncClient\u003c/code\u003e, \u003ccode\u003eHttpClient\u003c/code\u003e, and \u003ccode\u003eQueryResult\u003c/code\u003e. Ref \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/567\"\u003e#567\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003edict_add\u003c/code\u003e parameter typed as builtin \u003ccode\u003eany\u003c/code\u003e instead of \u003ccode\u003etyping.Any\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRecognize \u003ccode\u003eUPDATE\u003c/code\u003e as a command so lightweight updates work correctly via \u003ccode\u003eclient.query()\u003c/code\u003e and SQLAlchemy.\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: \u003ccode\u003eGROUP BY\u003c/code\u003e now renders label aliases instead of full expressions which avoids circular reference errors when an alias shadows a source column name in ClickHouse.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.11.0, 2026-02-10\u003c/h2\u003e\n\u003ch3\u003ePython 3.9 Deprecation\u003c/h3\u003e\n\u003cp\u003ePython 3.9 EOL'd Oct 2025. Support for Python 3.9 is now softly deprecated and has been removed from our CI test matrix but\ndistribution wheels will continue to be built until the 1.0 release or until the builds naturally fail, whichever comes first.\nA \u003ccode\u003eDeprecationWarning\u003c/code\u003e will now be displayed when initializing the client on Python 3.9. Users should plan to upgrade to\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/ClickHouse/clickhouse-connect/commit/c40bbacf6966cdf3bed4a0cd88d2a8cba10e5a8a\"\u003e\u003ccode\u003ec40bbac\u003c/code\u003e\u003c/a\u003e 0.14.1 bugfix release prep (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/680\"\u003e#680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/323b76809580854a84c543691ab7c9d976fdad49\"\u003e\u003ccode\u003e323b768\u003c/code\u003e\u003c/a\u003e Reenable default Cython runtime path and reestablish C/Python parity (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/679\"\u003e#679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/01149488c25e39e085d51edfcfdc8516162ff503\"\u003e\u003ccode\u003e0114948\u003c/code\u003e\u003c/a\u003e fix sqlalchemy empty result metadata for orm queries (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/678\"\u003e#678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/60ca78c1cd397a4c8983f14c0539c0d09d9ce21f\"\u003e\u003ccode\u003e60ca78c\u003c/code\u003e\u003c/a\u003e Fix shared variant decoding for JSON and Dynamic columns (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/677\"\u003e#677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/2dda7152c59b417b4b153d1dd8a061d475ae7c2f\"\u003e\u003ccode\u003e2dda715\u003c/code\u003e\u003c/a\u003e release prep for 0.14.0 (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/673\"\u003e#673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/5d5c3f24c9f7e864536e2aac52c3b8e2349ef2a9\"\u003e\u003ccode\u003e5d5c3f2\u003c/code\u003e\u003c/a\u003e async native future warning (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/672\"\u003e#672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/436050f1b3765605848d9765e3ee0e350b4c6758\"\u003e\u003ccode\u003e436050f\u003c/code\u003e\u003c/a\u003e add bare import smoke test to CI (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/671\"\u003e#671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/a5fbad0fcbac92279874b9214024d6087e307cb0\"\u003e\u003ccode\u003ea5fbad0\u003c/code\u003e\u003c/a\u003e rename apply_server_timezone to tz_source (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/670\"\u003e#670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/01e7ca036a26458acf7a22ca170bd4a1765aa6b1\"\u003e\u003ccode\u003e01e7ca0\u003c/code\u003e\u003c/a\u003e add pandas 1.x deprecation warning for 1.0.0 (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/667\"\u003e#667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/c65f54a079c790673d7f87bb2a303784d9081b8d\"\u003e\u003ccode\u003ec65f54a\u003c/code\u003e\u003c/a\u003e rename utc_tz_aware to tz_mode (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/664\"\u003e#664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.10.0...v0.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `couchbase` from 4.3.6 to 4.5.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/9338788daddf9ff1755bfcd86d845ddc8d331860\"\u003e\u003ccode\u003e9338788\u003c/code\u003e\u003c/a\u003e Update C++ core to 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/c3504fa193467a3eec47b23b16f12806fbebf9c1\"\u003e\u003ccode\u003ec3504fa\u003c/code\u003e\u003c/a\u003e PYCBC-1705: Fix FLE imports and exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/70fbc324ec9379cce5652a16ba1a2252efb0cabb\"\u003e\u003ccode\u003e70fbc32\u003c/code\u003e\u003c/a\u003e Update C++ core to 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/9b9164f8e42cca942439049301fd738317fcb1d5\"\u003e\u003ccode\u003e9b9164f\u003c/code\u003e\u003c/a\u003e PYCBC-1711: Don't set bucketType, replicaIndex, flushEnabled when creating bu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/5319285921c7077baf8f347b6cf0377d363d5c26\"\u003e\u003ccode\u003e5319285\u003c/code\u003e\u003c/a\u003e PYCBC-1704: Allow eventing function mgmt test fixtures to ignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/970621968dd2b3463cc450c49c1479297ea087a5\"\u003e\u003ccode\u003e9706219\u003c/code\u003e\u003c/a\u003e Update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/5485046fd3cd853c695d17a999aff9842de3c83e\"\u003e\u003ccode\u003e5485046\u003c/code\u003e\u003c/a\u003e Update eventing mgmt tests for recent 8.0 changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/1351bfae64ddf50e942ee52360735a6961ed076d\"\u003e\u003ccode\u003e1351bfa\u003c/code\u003e\u003c/a\u003e PYCBC-1699: Update SDK Build Setup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/83478e273fcee4748115b949d6809973519343a4\"\u003e\u003ccode\u003e83478e2\u003c/code\u003e\u003c/a\u003e Search User Experience Improvements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/593019056f414ea452f32a229a3c46d24e738285\"\u003e\u003ccode\u003e5930190\u003c/code\u003e\u003c/a\u003e PYCBC-1698: Improve Jenkins Integration Tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/couchbase/couchbase-python-client/compare/4.3.6...4.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `elasticsearch` from 8.14.0 to 9.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/elastic/elasticsearch-py/releases\"\u003eelasticsearch's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.3.0\u003c/h2\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epack_dense_vector\u003c/code\u003e helper function to pack dense vectors for efficient uploading (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3219\"\u003e#3219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNew and updated ES|QL functions in the ES|QL query builder for 9.3 and Serverless (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3266\"\u003e#3266\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAPI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ecat.circuit_breaker\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eesql.get_view\u003c/code\u003e, \u003ccode\u003eesql.put_view\u003c/code\u003e and \u003ccode\u003eesql.delete_view\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eindices.get_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.put_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.delete_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.get_all_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.get_sample\u003c/code\u003e, \u003ccode\u003eindices.get_sample_stats\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003einference.put_groq\u003c/code\u003e, \u003ccode\u003einference.put_openshift_ai\u003c/code\u003e, \u003ccode\u003einference.put_nvidia\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003edownsampling_method\u003c/code\u003e argument to \u003ccode\u003eindices.put_data_lifecycle\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ereturn_documents\u003c/code\u003e and \u003ccode\u003etop_n\u003c/code\u003e arguments to \u003ccode\u003einference.rerank\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eclose_job\u003c/code\u003e argument to \u003ccode\u003eml.stop_datafeed\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecertificate_identity\u003c/code\u003e to \u003ccode\u003esecurity.create_cross_cluster_api_key\u003c/code\u003e and \u003ccode\u003esecurity.update_cross_cluster_api_key\u003c/code\u003e APIs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServerless-specific\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eproject_routing\u003c/code\u003e argument to \u003ccode\u003eproject.tags\u003c/code\u003e API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDSL\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eNumpyDenseVector\u003c/code\u003e field, with support for dense vectors based on numpy arrays (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3218\"\u003e#3218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eExponentialHistogram\u003c/code\u003e field\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003etime_series_metric\u003c/code\u003e argument to \u003ccode\u003eHistogram\u003c/code\u003e field\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eon_disk_rescore\u003c/code\u003e argument from \u003ccode\u003eDenseVectorIndexOptions\u003c/code\u003e type\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eslices\u003c/code\u003e argument to \u003ccode\u003eUpdateByQueryResponse\u003c/code\u003e type\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.2.1\u003c/h2\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInstrument ping with OTel (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3160\"\u003e#3160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake positional arguments in DSL generated classes explicit  (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3233\"\u003e#3233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd warnings for private APIs (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3212\"\u003e#3212\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eES|QL query builder: fix missing assignment (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3151\"\u003e#3151\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse relative imports to fix \u003ccode\u003eelasticsearch9\u003c/code\u003e package imports (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3232\"\u003e#3232\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAPI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003etransform.get_node_stats\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003erequests_per_second\u003c/code\u003e argument to \u003ccode\u003edelete_by_query_rethrottle\u003c/code\u003e, \u003ccode\u003ereindex_rethrottle\u003c/code\u003e and \u003ccode\u003eupdate_by_query_rethrottle\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eallow_closed\u003c/code\u003e, \u003ccode\u003eallow_no_indices\u003c/code\u003e, \u003ccode\u003eexpand_wildcards\u003c/code\u003e, \u003ccode\u003eignore_throttled\u003c/code\u003e and \u003ccode\u003eignore_available\u003c/code\u003e arguments to \u003ccode\u003ecat.segments\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003echunking_settings\u003c/code\u003e argument to \u003ccode\u003einference.put_watsonxai\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eid\u003c/code\u003e argument to \u003ccode\u003eml.stop_trained_model_deployment\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003echunking_settings\u003c/code\u003e argument from \u003ccode\u003einference.put_anthropic\u003c/code\u003e, \u003ccode\u003einference.put_contextualai\u003c/code\u003e, \u003ccode\u003einference.put_deepseek\u003c/code\u003e APIs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/adae2d6d3d76f3ea75cd758ce64223bd76df45e5\"\u003e\u003ccode\u003eadae2d6\u003c/code\u003e\u003c/a\u003e Release 9.3.0 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3300\"\u003e#3300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/ea2227c743d7cacb474efecf4d8b84fa553f9eec\"\u003e\u003ccode\u003eea2227c\u003c/code\u003e\u003c/a\u003e Add Python 3.14 trove classifier (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3296\"\u003e#3296\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3299\"\u003e#3299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/b507e3e2d91ff0b6f8fb4a53ea23caa989677436\"\u003e\u003ccode\u003eb507e3e\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3293\"\u003e#3293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/76150204725b1495cad3348c573406fc1f3512d1\"\u003e\u003ccode\u003e7615020\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3280\"\u003e#3280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/ef8d102b3fc4d7572e0fd0bb56afe4291fddc529\"\u003e\u003ccode\u003eef8d102\u003c/code\u003e\u003c/a\u003e Stop using pytz (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3275\"\u003e#3275\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3278\"\u003e#3278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/65870f3504344ba7f67feb7721522bef936a92cf\"\u003e\u003ccode\u003e65870f3\u003c/code\u003e\u003c/a\u003e allow adding elasticsearch query filter for mmr searching (elastic#2638) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/32\"\u003e#32\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/b110f19a49ad492d2d6aa514afaac35360ac3c93\"\u003e\u003ccode\u003eb110f19\u003c/code\u003e\u003c/a\u003e Updates to ES|QL functions for 9.3 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3266\"\u003e#3266\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3272\"\u003e#3272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/f3d082788f52b5fe3c80926624fa8a61aa4deb37\"\u003e\u003ccode\u003ef3d0827\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3269\"\u003e#3269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/80818cc2640fcdf902919a3dc5500ae945d33271\"\u003e\u003ccode\u003e80818cc\u003c/code\u003e\u003c/a\u003e Auto-generated code for 9.3 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3262\"\u003e#3262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/6baa03faedefc90ccbc5f902626cc8cea46aed6a\"\u003e\u003ccode\u003e6baa03f\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3252\"\u003e#3252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/elastic/elasticsearch-py/compare/v8.14.0...v9.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oracledb` from 3.3.0 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oracle/python-oracledb/releases\"\u003eoracledb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.4.2\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.2 is now released. This release addresses a number of issues. See the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-2-january-2026\"\u003efull release notes\u003c/a\u003e for all of the details.\u003c/p\u003e\n\u003ch2\u003ev3.4.1\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.1 is now released. This release addresses a number of issues. See the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-1-november-2025\"\u003efull release notes\u003c/a\u003e for all of the details.\u003c/p\u003e\n\u003ch2\u003ev3.4.0\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.0 is now released. This release has the following highlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003esupport for Direct Path Load in thin mode for fast data ingestion\u003c/li\u003e\n\u003cli\u003esupport for data frames is no longer considered a pre-release\u003c/li\u003e\n\u003cli\u003esupport for type mapping when querying with data frames\u003c/li\u003e\n\u003cli\u003esupport for ingesting more Apache Arrow data types\u003c/li\u003e\n\u003cli\u003esupport for ingesting Apache Arrow data frames containing multiple chunks\u003c/li\u003e\n\u003cli\u003esupport for cursor.executemany() operating on large input data in batches\u003c/li\u003e\n\u003cli\u003efine-grained control over LOB and number handling\u003c/li\u003e\n\u003cli\u003enew optional install dependencies for plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-0-october-2025\"\u003efull release notes\u003c/a\u003e for all of the details.\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/oracle/python-oracledb/commit/51581eeb0a626fb3df4e25e00ddb3a28137d3831\"\u003e\u003ccode\u003e51581ee\u003c/code\u003e\u003c/a\u003e Preparing to release python-oracledb 3.4.2.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/81ceb554a0bfb52eb64b7b3870907d9b19bf15bd\"\u003e\u003ccode\u003e81ceb55\u003c/code\u003e\u003c/a\u003e Fixed bug which caused Connection.call_timeout to be reset to zero when\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/4a94025de99763fd0d16d1c2d79d416b9a075e12\"\u003e\u003ccode\u003e4a94025\u003c/code\u003e\u003c/a\u003e Eliminated memory leak when converting a third party data frame to one\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/36a29517530bfe311dab41218a3bc3d80700fe2c\"\u003e\u003ccode\u003e36a2951\u003c/code\u003e\u003c/a\u003e Fixed bug when decoding PL/SQL booleans in Oracle Database 12.1 (\u003ca href=\"https://redirect.github.com/oracle/python-oracledb/issues/565\"\u003e#565\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/6072f01b420af4c2d36c1b9f7b1421aab64ea336\"\u003e\u003ccode\u003e6072f01\u003c/code\u003e\u003c/a\u003e Grammar fix.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/f8be001d9862d6b0b6ec6158b67affef7a70556e\"\u003e\u003ccode\u003ef8be001\u003c/code\u003e\u003c/a\u003e Fixed bug causing hang when using asyncio and the database closes the\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/6e0d8b9da4b259e1b11ad648d354ca659f537a6a\"\u003e\u003ccode\u003e6e0d8b9\u003c/code\u003e\u003c/a\u003e Eliminated race condition in background thread/coroutine management for\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/40200bfa1cb9dde0977a509c84cfdde66f144358\"\u003e\u003ccode\u003e40200bf\u003c/code\u003e\u003c/a\u003e Adjusted code and tests to be capable of being run in environments other\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/36f8899fa71ebd4aec80b87f990633e86abc6b95\"\u003e\u003ccode\u003e36f8899\u003c/code\u003e\u003c/a\u003e Added support for ingesting Arrow arrays which only consist of null\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/7bf23b6c2061d20358b030104249bd703ac1832e\"\u003e\u003ccode\u003e7bf23b6\u003c/code\u003e\u003c/a\u003e Fixed bug when calling Cursor.executemany() with all of the values in at\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/oracle/python-oracledb/compare/v3.3.0...v3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pgvector` from 0.2.5 to 0.4.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md\"\u003epgvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2 (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 6\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estr\u003c/code\u003e objects for \u003ccode\u003ebit\u003c/code\u003e type with SQLAlchemy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 (2025-04-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eSparseVector\u003c/code\u003e constructor for SciPy sparse matrices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 (2025-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded top-level \u003ccode\u003epgvector\u003c/code\u003e package\u003c/li\u003e\n\u003cli\u003eAdded support for pg8000\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ebytes\u003c/code\u003e to \u003ccode\u003eBit\u003c/code\u003e constructor\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eglobally\u003c/code\u003e option to default to \u003ccode\u003eFalse\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003earrays\u003c/code\u003e option to default to \u003ccode\u003eTrue\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eFixed equality for \u003ccode\u003eVector\u003c/code\u003e, \u003ccode\u003eHalfVector\u003c/code\u003e, \u003ccode\u003eBit\u003c/code\u003e, and \u003ccode\u003eSparseVector\u003c/code\u003e classes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eindices\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods of \u003ccode\u003eSparseVector\u003c/code\u003e returning tuple instead of list in some cases\u003c/li\u003e\n\u003cli\u003eDropped support for Python \u0026lt; 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 (2024-10-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003earrays\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 (2024-10-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eavg\u003c/code\u003e function with type casting to SQLAlchemy\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eglobally\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.4 (2024-09-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eschema\u003c/code\u003e option for asyncpg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.3 (2024-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved support for cursor factories with Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.2 (2024-07-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error with asyncpg and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.1 (2024-07-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error parsing zero sparse vectors\u003c/li\u003e\n\u003cli\u003eFixed error with Psycopg 2 and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003cli\u003eFixed error message when \u003ccode\u003evector\u003c/code\u003e type not found with Psycopg 3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.0 (2024-06-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ehalfvec\u003c/code\u003e, \u003ccode\u003ebit\u003c/code\u003e, and \u003ccode\u003esparsevec\u003c/code\u003e types to Django\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/2968f258f9486531bd1340cbda4ff8fcaf06cdc1\"\u003e\u003ccode\u003e2968f25\u003c/code\u003e\u003c/a\u003e Version bump to 0.4.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/674f5ba3410c873d49f50fa9725b95d9db50c674\"\u003e\u003ccode\u003e674f5ba\u003c/code\u003e\u003c/a\u003e Updated checkout action [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e2986daf2b1533cc2c849f7e39350e31d57ac325\"\u003e\u003ccode\u003ee2986da\u003c/code\u003e\u003c/a\u003e Added support for Django 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e211ba4029f204734f0c001fbb90f6a594d561ae\"\u003e\u003ccode\u003ee211ba4\u003c/code\u003e\u003c/a\u003e Test with Python 3.14 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/1a72b7571adf3325174b383aca85bfb3a5b925fa\"\u003e\u003ccode\u003e1a72b75\u003c/code\u003e\u003c/a\u003e Updated pgvector on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/c820a53bfb46196551de3c3f59f81b192d890574\"\u003e\u003ccode\u003ec820a53\u003c/code\u003e\u003c/a\u003e Simplified examples [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/caf1a2e0dd7a1ba2ad0ca9f09b50516dcfffcdeb\"\u003e\u003ccode\u003ecaf1a2e\u003c/code\u003e\u003c/a\u003e Added docs for binary quantization with SQLAlchemy [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/dc9a8f959995f009649fd230139ca41193e0a801\"\u003e\u003ccode\u003edc9a8f9\u003c/code\u003e\u003c/a\u003e Added test for binary quantization with re-ranking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/33dee606229489c9ffb0cb5a1cd72bd4705ac618\"\u003e\u003ccode\u003e33dee60\u003c/code\u003e\u003c/a\u003e Added support for str objects for bit type with SQLAlchemy - \u003ca href=\"https://redirect.github.com/pgvector/pgvector-python/issues/137\"\u003e#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/ee3e71ca2c07a12a8332a3877c0ce14adc9a5da8\"\u003e\u003ccode\u003eee3e71c\u003c/code\u003e\u003c/a\u003e Updated format for license identifier\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgvector/pgvector-python/compare/v0.2.5...v0.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymilvus` from 2.5.17 to 2.6.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/milvus-io/pymilvus/releases\"\u003epymilvus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePyMilvus v2.6.10 Release Notes\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add global cluster client support (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3264\"\u003e#3264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: add ConnectionManager to replace connections singleton for MilvusClient (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3307\"\u003e#3307\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: is_legal_ids() to accept negative int64 primary keys (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3281\"\u003e#3281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: avoid calling len() on scipy sparse matrix in entity_to_field_data (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3294\"\u003e#3294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry on REPLICATE_VIOLATION for global cluster region switch (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3298\"\u003e#3298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: support non-float vectors in struct array in search (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3299\"\u003e#3299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enforce timeout for async operations when server is unreachable (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3304\"\u003e#3304\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add debounce to prevent concurrent topology refresh in global client (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3309\"\u003e#3309\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenhance: general performance improvements across MilvusClient path (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3280\"\u003e#3280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eenhance: remote bulk writer support virtual_style_endpoint (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3302\"\u003e#3302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eenhance: update the milvus-proto commit (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3310\"\u003e#3310\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTesting \u0026amp; CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenhance: requires 90% patch unit test coverage for new PRs (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3297\"\u003e#3297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eenhance: increase ORM unit test coverage to 90%+ per file (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3312\"\u003e#3312\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/milvus-io/pymilvus/compare/v2.6.9...v2.6.10\"\u003ehttps://github.com/milvus-io/pymilvus/compare/v2.6.9...v2.6.10\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePyMilvus v2.6.9 Release Notes\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003efix: pass context to \u003ccode\u003edescribe_collection\u003c/code\u003e in \u003ccode\u003eSearchIteratorV2\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3271\"\u003e#3271\u003c/a\u003e) — Forward \u003ccode\u003ekwargs\u003c/code\u003e (including \u003ccode\u003econtext\u003c/code\u003e carrying \u003ccode\u003edb_name\u003c/code\u003e) from \u003ccode\u003eSearchIteratorV2.__init__\u003c/code\u003e to \u003ccode\u003edescribe_collection\u003c/code\u003e, matching the existing \u003ccode\u003eQueryIterator\u003c/code\u003e pattern. Without this fix, \u003ccode\u003eSearchIteratorV2\u003c/code\u003e always queries the \u003ccode\u003edefault\u003c/code\u003e database, causing \u0026quot;can't find collection\u0026quot; errors for non-default databases.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003efix: unpack \u003ccode\u003e_get_schema\u003c/code\u003e tuple return in \u003ccode\u003e_list_vector_indexes\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3275\"\u003e#3275\u003c/a\u003e) — Fix tuple unpacking issue in \u003ccode\u003e_list_vector_indexes\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eenhance: optimize gRPC keepalive defaults and support user-configurable \u003ccode\u003egrpc_options\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3258\"\u003e#3258\u003c/a\u003e) — Improve gRPC keepalive defaults and allow users to configure gRPC channel options.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eenhance: support warmup type params for \u003ccode\u003eFieldSchema\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3255\"\u003e#3255\u003c/a\u003e) — Add warmup type parameter support in field schema definitions.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTests\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eenhance: increase unit test coverage\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3233\"\u003e#3233\u003c/a\u003e) — Comprehensive tests added for \u003ccode\u003eclient/types.py\u003c/code\u003e, iterator utilities, \u003ccode\u003eorm/utility.py\u003c/code\u003e, request builder methods, \u003ccode\u003eclient/abstract.py\u003c/code\u003e, decorators, and \u003ccode\u003eclient/utils.py\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/milvus-io/pymilvus/compare/v2.6.8...v2.6.9\"\u003ehttps://github.com/milvus-io/pymilvus/compare/v2.6.8...v2.6.9\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/0b1ca2ee3dbf8424a5cbe67b5dda4dae7425880c\"\u003e\u003ccode\u003e0b1ca2e\u003c/code\u003e\u003c/a\u003e [Backport 2.6] enhance: increase ORM unit test coverage to 90%+ per file (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/33\"\u003e#33\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/a86a24d74e3040409f73ad6d1c4574fe0463e06f\"\u003e\u003ccode\u003ea86a24d\u003c/code\u003e\u003c/a\u003e enhance: update the milvus-proto commit (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3310\"\u003e#3310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/b706e408a8122fc2efe66eaf1bc9a822929173a8\"\u003e\u003ccode\u003eb706e40\u003c/code\u003e\u003c/a\u003e fix: [cp2.6] add debounce to prevent concurrent topology refresh in global cl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/9053d7a3d122f3ef5e5c13257410b59a81a960b6\"\u003e\u003ccode\u003e9053d7a\u003c/code\u003e\u003c/a\u003e feat: [cp26]add ConnectionManager to replace connections singleton for MC (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/bda4914046257a02e6b1531f049cc1dfa1cfcd8b\"\u003e\u003ccode\u003ebda4914\u003c/code\u003e\u003c/a\u003e [Backport 2.6] fix: enforce timeout for async operations when server is unrea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/d1b2c99d830ae9596310d5c006fbb27a05e06659\"\u003e\u003ccode\u003ed1b2c99\u003c/code\u003e\u003c/a\u003e [Backport 2.6] enhance: remote bulket writer support virtual_style_endpoint...\n\n_Description has been truncated_","html_url":"https://github.com/langgenius/dify/pull/33492","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/langgenius%2Fdify/issues/33492","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/33492/packages"},{"uuid":"4079232831","node_id":"PR_kwDORgr02M7KwrBu","number":23,"state":"open","title":"chore(deps): Bump pgvector from 0.3.6 to 0.4.2 in /backend","user":"dependabot[bot]","labels":[],"assignees":["ori129"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-15T21:28:16.000Z","updated_at":"2026-03-15T21:28:16.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","packages":[{"name":"pgvector","old_version":"0.3.6","new_version":"0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"}],"path":"/backend","ecosystem":"pip"},"body":"Bumps [pgvector](https://github.com/pgvector/pgvector-python) from 0.3.6 to 0.4.2.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md\"\u003epgvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2 (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 6\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estr\u003c/code\u003e objects for \u003ccode\u003ebit\u003c/code\u003e type with SQLAlchemy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 (2025-04-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eSparseVector\u003c/code\u003e constructor for SciPy sparse matrices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 (2025-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded top-level \u003ccode\u003epgvector\u003c/code\u003e package\u003c/li\u003e\n\u003cli\u003eAdded support for pg8000\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ebytes\u003c/code\u003e to \u003ccode\u003eBit\u003c/code\u003e constructor\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eglobally\u003c/code\u003e option to default to \u003ccode\u003eFalse\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003earrays\u003c/code\u003e option to default to \u003ccode\u003eTrue\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eFixed equality for \u003ccode\u003eVector\u003c/code\u003e, \u003ccode\u003eHalfVector\u003c/code\u003e, \u003ccode\u003eBit\u003c/code\u003e, and \u003ccode\u003eSparseVector\u003c/code\u003e classes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eindices\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods of \u003ccode\u003eSparseVector\u003c/code\u003e returning tuple instead of list in some cases\u003c/li\u003e\n\u003cli\u003eDropped support for Python \u0026lt; 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/2968f258f9486531bd1340cbda4ff8fcaf06cdc1\"\u003e\u003ccode\u003e2968f25\u003c/code\u003e\u003c/a\u003e Version bump to 0.4.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/674f5ba3410c873d49f50fa9725b95d9db50c674\"\u003e\u003ccode\u003e674f5ba\u003c/code\u003e\u003c/a\u003e Updated checkout action [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e2986daf2b1533cc2c849f7e39350e31d57ac325\"\u003e\u003ccode\u003ee2986da\u003c/code\u003e\u003c/a\u003e Added support for Django 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e211ba4029f204734f0c001fbb90f6a594d561ae\"\u003e\u003ccode\u003ee211ba4\u003c/code\u003e\u003c/a\u003e Test with Python 3.14 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/1a72b7571adf3325174b383aca85bfb3a5b925fa\"\u003e\u003ccode\u003e1a72b75\u003c/code\u003e\u003c/a\u003e Updated pgvector on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/c820a53bfb46196551de3c3f59f81b192d890574\"\u003e\u003ccode\u003ec820a53\u003c/code\u003e\u003c/a\u003e Simplified examples [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/caf1a2e0dd7a1ba2ad0ca9f09b50516dcfffcdeb\"\u003e\u003ccode\u003ecaf1a2e\u003c/code\u003e\u003c/a\u003e Added docs for binary quantization with SQLAlchemy [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/dc9a8f959995f009649fd230139ca41193e0a801\"\u003e\u003ccode\u003edc9a8f9\u003c/code\u003e\u003c/a\u003e Added test for binary quantization with re-ranking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/33dee606229489c9ffb0cb5a1cd72bd4705ac618\"\u003e\u003ccode\u003e33dee60\u003c/code\u003e\u003c/a\u003e Added support for str objects for bit type with SQLAlchemy - \u003ca href=\"https://redirect.github.com/pgvector/pgvector-python/issues/137\"\u003e#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/ee3e71ca2c07a12a8332a3877c0ce14adc9a5da8\"\u003e\u003ccode\u003eee3e71c\u003c/code\u003e\u003c/a\u003e Updated format for license identifier\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgvector/pgvector-python/compare/v0.3.6...v0.4.2\"\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=pgvector\u0026package-manager=pip\u0026previous-version=0.3.6\u0026new-version=0.4.2)](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/ori129/agentsorg/pull/23","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ori129%2Fagentsorg/issues/23","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/23/packages"},{"uuid":"4076796752","node_id":"PR_kwDORmx2Bs7KpfpN","number":17,"state":"closed","title":"chore(deps): bump the vdb group in /api with 17 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-11T21:33:34.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-14T21:36:48.000Z","updated_at":"2026-04-11T21:33:36.000Z","time_to_close":2419006,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"vdb","update_count":17,"packages":[{"name":"weaviate-client","old_version":"4.17.0","new_version":"4.20.4","repository_url":"https://github.com/weaviate/weaviate-python-client"},{"name":"chromadb","old_version":"0.5.20","new_version":"1.5.5","repository_url":"https://github.com/chroma-core/chroma"},{"name":"elasticsearch","old_version":"8.14.0","new_version":"9.3.0","repository_url":"https://github.com/elastic/elasticsearch-py"},{"name":"oracledb","old_version":"3.3.0","new_version":"3.4.2","repository_url":"https://github.com/oracle/python-oracledb"},{"name":"pgvector","old_version":"0.2.5","new_version":"0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"},{"name":"pymochow","old_version":"2.2.9","new_version":"2.3.6"},{"name":"qdrant-client","old_version":"1.9.0","new_version":"1.17.1","repository_url":"https://github.com/qdrant/qdrant-client"}],"path":"/api","ecosystem":"pip"},"body":"Updates the requirements on [weaviate-client](https://github.com/weaviate/weaviate-python-client), [alibabacloud-gpdb20160503](https://github.com/aliyun/alibabacloud-python-sdk), [alibabacloud-tea-openapi](https://github.com/aliyun/darabonba-openapi), [chromadb](https://github.com/chroma-core/chroma), [clickhouse-connect](https://github.com/ClickHouse/clickhouse-connect), [couchbase](https://github.com/couchbase/couchbase-python-client), [elasticsearch](https://github.com/elastic/elasticsearch-py), [oracledb](https://github.com/oracle/python-oracledb), [pgvector](https://github.com/pgvector/pgvector-python), [pymilvus](https://github.com/milvus-io/pymilvus), [pymochow](http://bce.baidu.com), [qdrant-client](https://github.com/qdrant/qdrant-client), [tablestore](https://github.com/aliyun/aliyun-tablestore-python-sdk), tcvectordb, tidb-vector, [upstash-vector](https://github.com/upstash/vector-py) and [xinference-client](https://github.com/xorbitsai/inference-client) to permit the latest version.\nUpdates `weaviate-client` from 4.17.0 to 4.20.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weaviate/weaviate-python-client/releases\"\u003eweaviate-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.20.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump authlib to 1.6.9 to avoid high cve by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1975\"\u003eweaviate/weaviate-python-client#1975\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.2...v4.20.3\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.2...v4.20.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eperf: use deque for iterator object cache by \u003ca href=\"https://github.com/giulio-leone\"\u003e\u003ccode\u003e@​giulio-leone\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1968\"\u003eweaviate/weaviate-python-client#1968\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexpose include_last_used_time parameter, return created_at and api_key_first_letters by \u003ca href=\"https://github.com/dudanogueira\"\u003e\u003ccode\u003e@​dudanogueira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1965\"\u003eweaviate/weaviate-python-client#1965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for incremental backups by \u003ca href=\"https://github.com/dirkkul\"\u003e\u003ccode\u003e@​dirkkul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1928\"\u003eweaviate/weaviate-python-client#1928\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/giulio-leone\"\u003e\u003ccode\u003e@​giulio-leone\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1968\"\u003eweaviate/weaviate-python-client#1968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.1...v4.20.2\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.1...v4.20.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix empty list filter raising IndexError instead of WeaviateInvalidInputError by \u003ca href=\"https://github.com/dirkkul\"\u003e\u003ccode\u003e@​dirkkul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1962\"\u003eweaviate/weaviate-python-client#1962\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.0...v4.20.1\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.0...v4.20.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eflat index: Add support for RQ and include cache param by \u003ca href=\"https://github.com/rlmanrique\"\u003e\u003ccode\u003e@​rlmanrique\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1844\"\u003eweaviate/weaviate-python-client#1844\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003ecollection.data.ingest\u003c/code\u003e for sync/async SSB usage by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1876\"\u003eweaviate/weaviate-python-client#1876\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd delete_property_index to collection config by \u003ca href=\"https://github.com/DanielJanicek\"\u003e\u003ccode\u003e@​DanielJanicek\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1940\"\u003eweaviate/weaviate-python-client#1940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid id invalidation in nested properties by \u003ca href=\"https://github.com/dudanogueira\"\u003e\u003ccode\u003e@​dudanogueira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1952\"\u003eweaviate/weaviate-python-client#1952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide options allowing users to specify custom grpc SSL credentials by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1946\"\u003eweaviate/weaviate-python-client#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for cancelling backup restore ops by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1956\"\u003eweaviate/weaviate-python-client#1956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove cache option from SQConfig, deprecate field in factory method by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1954\"\u003eweaviate/weaviate-python-client#1954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow imgs/img_props in cohere generative config runtime by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1955\"\u003eweaviate/weaviate-python-client#1955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce async repl conf in (re)configure and unit tests of usage by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1953\"\u003eweaviate/weaviate-python-client#1953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Hfresh index type by \u003ca href=\"https://github.com/robbespo00\"\u003e\u003ccode\u003e@​robbespo00\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1848\"\u003eweaviate/weaviate-python-client#1848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Cluster Statistics (client.cluster.statistics()) by \u003ca href=\"https://github.com/Shah91n\"\u003e\u003ccode\u003e@​Shah91n\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1959\"\u003eweaviate/weaviate-python-client#1959\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/Shah91n\"\u003e\u003ccode\u003e@​Shah91n\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1959\"\u003eweaviate/weaviate-python-client#1959\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.19.4...v4.20.0\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.19.4...v4.20.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.19.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd gRPC ping check to is_live method  by \u003ca href=\"https://github.com/sylvinho81\"\u003e\u003ccode\u003e@​sylvinho81\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1949\"\u003eweaviate/weaviate-python-client#1949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-raise in \u003ccode\u003ecollection.exists()\u003c/code\u003e if status code is not 404 by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1950\"\u003eweaviate/weaviate-python-client#1950\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weaviate/weaviate-python-client/blob/main/docs/changelog.rst\"\u003eweaviate-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 4.20.4\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Include client version in GRPC requests\n- Add support for the new \u003ccode\u003emulti2vec_google_gemini\u003c/code\u003e module\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.3\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Update of \u003ccode\u003eauthlib\u003c/code\u003e dependency\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.2\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Support for incremental backups\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.1\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Raise an input error when filtering on an empty list\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.0\u003c/h2\u003e\n\u003cp\u003eThis minor version includes:\n- Support for new 1.36 features:\n- Server-side batching (SSB) is now GA via \u003ccode\u003ebatch.stream\u003c/code\u003e (\u003ccode\u003ebatch.experimental\u003c/code\u003e is deprecated)\n- Add \u003ccode\u003ecollection.data.ingest\u003c/code\u003e as a new entry point for SSB usage in sync and async clients\n- Add support for the new HFresh index type\n- Add support for async replication configuration\n- Add support for cancelling backup restore operations\n- Add \u003ccode\u003ecollection.config.delete_property_index\u003c/code\u003e to drop filterable, searchable, or range filter indices from properties\n- Add \u003ccode\u003eclient.cluster.statistics()\u003c/code\u003e method for retrieving cluster and Raft statistics\n- Allow \u003ccode\u003eimages\u003c/code\u003e and \u003ccode\u003eimage_properties\u003c/code\u003e in Cohere generative config at runtime\n- Provide options to specify custom gRPC SSL credentials for advanced connection setups\n- Remove \u003ccode\u003ecache\u003c/code\u003e option from \u003ccode\u003eSQConfig\u003c/code\u003e and deprecate the field in the factory method\n- Fix validation of nested object properties to allow \u003ccode\u003eid\u003c/code\u003e as a nested property name\u003c/p\u003e\n\u003ch2\u003eVersion 4.19.4\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Adds the gRPC healthcheck ping to the \u003ccode\u003eis_live()\u003c/code\u003e method of the async client to provide a more accurate check of the connection status of the async client\n- Fixes bug where exceptions raised in \u003ccode\u003ecollections.exists()\u003c/code\u003e were silently ignored and the method would return \u003ccode\u003eFalse\u003c/code\u003e instead of raising the exception\u003c/p\u003e\n\u003ch2\u003eVersion 4.19.3\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Add support for VoyageAI voyage-4 model family (voyage-4, voyage-4-lite, voyage-4-large)\n- A fix for async client connection issues when \u003ccode\u003epypi\u003c/code\u003e is down\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/weaviate/weaviate-python-client/commit/c0b796e07af0fef5555d37cf78a9a47dae62bb0c\"\u003e\u003ccode\u003ec0b796e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1982\"\u003e#1982\u003c/a\u003e from weaviate/changelog_4_20_4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/dfa8ae431413db4bb66ad2054487018b3362f360\"\u003e\u003ccode\u003edfa8ae4\u003c/code\u003e\u003c/a\u003e Add changelog for v4.20.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/3a0958c19133ecb10565b66d4d0d4ab818d7a619\"\u003e\u003ccode\u003e3a0958c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1977\"\u003e#1977\u003c/a\u003e from weaviate/multi2vec-google-aistudio-vectorizer-c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/106f22584de2bc00f347534c19661af997112583\"\u003e\u003ccode\u003e106f225\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into multi2vec-google-aistudio-vectorizer-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/5ca709e0c068ae8531368d489062169cd7b9306d\"\u003e\u003ccode\u003e5ca709e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1980\"\u003e#1980\u003c/a\u003e from weaviate/client_version_grpc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/55e56f06bf0444fb4caf9f31da7b61dad10ef291\"\u003e\u003ccode\u003e55e56f0\u003c/code\u003e\u003c/a\u003e Dont overwrite version from additional headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/79ee3d030a8c9829c0ea3ca8240ebcdefe710647\"\u003e\u003ccode\u003e79ee3d0\u003c/code\u003e\u003c/a\u003e Add client version to GRPC headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/2ccdaa109a8ba599bec569b489aca3497087869e\"\u003e\u003ccode\u003e2ccdaa1\u003c/code\u003e\u003c/a\u003e chore: rename multi2vec_google_aistudio config to multi2vec_google_gemini\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/ce633119510d6b8ae71dec0310d4a5d08700e172\"\u003e\u003ccode\u003ece63311\u003c/code\u003e\u003c/a\u003e feat: add multi2vec_google_aistudio vectorizer config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/db8a91c514b042dda0871eeb7a27cc9c65f70e71\"\u003e\u003ccode\u003edb8a91c\u003c/code\u003e\u003c/a\u003e Bump authlib to 1.6.9 to avoid high cve (\u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1975\"\u003e#1975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.17.0...v4.20.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alibabacloud-gpdb20160503` to 5.0.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aliyun/alibabacloud-python-sdk/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alibabacloud-tea-openapi` to 0.4.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aliyun/darabonba-openapi/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `chromadb` from 0.5.20 to 1.5.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/chroma-core/chroma/releases\"\u003echromadb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.5.5\u003c/h2\u003e\n\u003cp\u003eVersion: \u003ccode\u003e1.5.5\u003c/code\u003e\nGit ref: \u003ccode\u003erefs/tags/1.5.5\u003c/code\u003e\nBuild Date: \u003ccode\u003e2026-03-10T09:30\u003c/code\u003e\nPIP Package: \u003ccode\u003echroma-1.5.5.tar.gz\u003c/code\u003e\nGithub Container Registry Image: \u003ccode\u003e:1.5.5\u003c/code\u003e\nDockerHub Image: \u003ccode\u003e:1.5.5\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[RELEASE] Rust v0.13.2 by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6583\"\u003echroma-core/chroma#6583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Use buffer_unordered for lazy fragment fetch concurrency by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6584\"\u003echroma-core/chroma#6584\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] chroma configuration reference by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6592\"\u003echroma-core/chroma#6592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[PERF]: Dedup + filter out disbled collections before sysdb enrichment by \u003ca href=\"https://github.com/sanketkedia\"\u003e\u003ccode\u003e@​sanketkedia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6566\"\u003echroma-core/chroma#6566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[TST] Fix test_cross_version_persist by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6604\"\u003echroma-core/chroma#6604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Warn on no API key set on JS EFs by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6599\"\u003echroma-core/chroma#6599\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Add a GoogleGemini EF name alias by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6620\"\u003echroma-core/chroma#6620\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[RELEASE] Python 1.5.5 by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6602\"\u003echroma-core/chroma#6602\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chroma-core/chroma/compare/1.5.4...1.5.5\"\u003ehttps://github.com/chroma-core/chroma/compare/1.5.4...1.5.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.5.3\u003c/h2\u003e\n\u003cp\u003eVersion: \u003ccode\u003e1.5.3\u003c/code\u003e\nGit ref: \u003ccode\u003erefs/tags/1.5.3\u003c/code\u003e\nBuild Date: \u003ccode\u003e2026-03-07T19:07\u003c/code\u003e\nPIP Package: \u003ccode\u003echroma-1.5.3.tar.gz\u003c/code\u003e\nGithub Container Registry Image: \u003ccode\u003e:1.5.3\u003c/code\u003e\nDockerHub Image: \u003ccode\u003e:1.5.3\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[ENH] Thread topology name through purge-dirty pipeline by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6503\"\u003echroma-core/chroma#6503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CHORE]  Tighten down k8s resources in test. by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6509\"\u003echroma-core/chroma#6509\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Purge dirty via Spanner when topology is specified by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6504\"\u003echroma-core/chroma#6504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG]: Drop pydantic v1 compatibility layer for Python 3.14 support by \u003ca href=\"https://github.com/basnijholt\"\u003e\u003ccode\u003e@​basnijholt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6356\"\u003echroma-core/chroma#6356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[PERF] Parallelize segment reader initialization in filter and idf operators by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6522\"\u003echroma-core/chroma#6522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Preallocate during pull log parsing by \u003ca href=\"https://github.com/tanujnay112\"\u003e\u003ccode\u003e@​tanujnay112\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6528\"\u003echroma-core/chroma#6528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[TST] Make pytest use importlib by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6483\"\u003echroma-core/chroma#6483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CLN] Make telemetry a no-op and remove posthog as a dependency by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6489\"\u003echroma-core/chroma#6489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] fix forking numbers by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6530\"\u003echroma-core/chroma#6530\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/blob/HEAD/storage\"\u003eBUG\u003c/a\u003e: retry batch fetch on channel closure by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6526\"\u003echroma-core/chroma#6526\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG] CAS on version during reassignment by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6529\"\u003echroma-core/chroma#6529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] use ResourceExhausted error code for log backpressure by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6527\"\u003echroma-core/chroma#6527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Ordered sparse vector writer by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6495\"\u003echroma-core/chroma#6495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] update docs for s3 sync by \u003ca href=\"https://github.com/philipithomas\"\u003e\u003ccode\u003e@​philipithomas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6515\"\u003echroma-core/chroma#6515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG] avoid redundant manifest load in pull_logs_inner by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6544\"\u003echroma-core/chroma#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Skip record load when only id is requested by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6540\"\u003echroma-core/chroma#6540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/blob/HEAD/log\"\u003eENH\u003c/a\u003e add pointer-based log fetch via ScoutLogFragments by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6533\"\u003echroma-core/chroma#6533\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Add ReadLevel to count in be by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6539\"\u003echroma-core/chroma#6539\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Add a gauge metric in sysdb to track compaction_failure_count by \u003ca href=\"https://github.com/tanujnay112\"\u003e\u003ccode\u003e@​tanujnay112\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6550\"\u003echroma-core/chroma#6550\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Fix query param by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6557\"\u003echroma-core/chroma#6557\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/eca66b7afd4b7aea227644f8c78030f16fc2837a\"\u003e\u003ccode\u003eeca66b7\u003c/code\u003e\u003c/a\u003e [RELEASE] Python 1.5.5 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6602\"\u003e#6602\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/ce0eede5941e15017204c69387493a35ee97afa4\"\u003e\u003ccode\u003ece0eede\u003c/code\u003e\u003c/a\u003e [ENH] Add a GoogleGemini EF name alias (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6620\"\u003e#6620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/3604eea9165d26ef6eefb03893ae1b04d1803b1e\"\u003e\u003ccode\u003e3604eea\u003c/code\u003e\u003c/a\u003e [ENH] Warn on no API key set on JS EFs (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6599\"\u003e#6599\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/9e7bd7fbf91746166e56e140ed548d070f638722\"\u003e\u003ccode\u003e9e7bd7f\u003c/code\u003e\u003c/a\u003e [TST] Fix test_cross_version_persist (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6604\"\u003e#6604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/03a3169183d372360321c76a034c97f8a1e2ac4c\"\u003e\u003ccode\u003e03a3169\u003c/code\u003e\u003c/a\u003e [PERF]: Dedup + filter out disbled collections before sysdb enrichment (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6566\"\u003e#6566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/475bbfcfdba3b40c737c3a90a4f1a915298b16f6\"\u003e\u003ccode\u003e475bbfc\u003c/code\u003e\u003c/a\u003e [DOC] chroma configuration reference (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6592\"\u003e#6592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/02d2d8cd21150cd2ffdecce2c23e0234e04bb2fc\"\u003e\u003ccode\u003e02d2d8c\u003c/code\u003e\u003c/a\u003e [ENH] Use buffer_unordered for lazy fragment fetch concurrency (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6584\"\u003e#6584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/130449099a5eb756a55e4c73ed1d29fdebc5b371\"\u003e\u003ccode\u003e1304490\u003c/code\u003e\u003c/a\u003e [RELEASE] Rust v0.13.2 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6583\"\u003e#6583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/e0525a2f99589693141974a9c5a38b12299e8eef\"\u003e\u003ccode\u003ee0525a2\u003c/code\u003e\u003c/a\u003e [RELEASE] Python 1.5.4 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6585\"\u003e#6585\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/8c70b3cd112ca5608300b8e58710a4e52e5f97fb\"\u003e\u003ccode\u003e8c70b3c\u003c/code\u003e\u003c/a\u003e [ENH] Exclude yanked versions from cross-version persist test (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6588\"\u003e#6588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/chroma-core/chroma/compare/0.5.20...1.5.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `clickhouse-connect` to 0.14.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/releases\"\u003eclickhouse-connect's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.1\u003c/h2\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed JSON and Dynamic column read paths to properly decode shared variant data instead of returning raw binary with discriminator byte prefixes. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/599\"\u003e#599\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/615\"\u003e#615\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed empty ORM/DBAPI \u003ccode\u003eSELECT\u003c/code\u003e results so \u003ccode\u003ecursor.description\u003c/code\u003e is still populated when ClickHouse Native format returns no data blocks. This restores correct handling for empty result sets, including parameterized and limited queries. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/675\"\u003e#675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReenabled the default Cython runtime path so compiled driverc modules are used again unless  \u003ccode\u003eCLICKHOUSE_CONNECT_USE_C=0\u003c/code\u003e is exoplicitly set. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/676\"\u003e#676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.14.0...v0.14.1\"\u003ehttps://github.com/ClickHouse/clickhouse-connect/compare/v0.14.0...v0.14.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/ClickHouse/clickhouse-connect/blob/main/CHANGELOG.md\"\u003eclickhouse-connect's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.1, 2026-03-11\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix JSON and Dynamic column read paths to properly decode shared variant data instead of returning raw binary with discriminator byte prefixes. Shared data values, used when paths exceed \u003ccode\u003emax_dynamic_paths\u003c/code\u003e or types exceed \u003ccode\u003emax_dynamic_types\u003c/code\u003e are now decoded from ClickHouse's binary variant encoding. Scalar types like integers, floats, strings, booleans, and nulls as well as nested objects are now fully decoded. Compound types like Array, Tuple, Map, DateTime, Date, Decimal, and UUID are not yet decoded and will be returned as raw bytes. Fixes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/599\"\u003e#599\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/615\"\u003e#615\u003c/a\u003e, and \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: Fixed empty ORM/DBAPI SELECT results so \u003ccode\u003ecursor.description\u003c/code\u003e is still populated when ClickHouse Native format returns no data blocks. This restores correct handling for empty result sets, including parameterized and limited queries. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/675\"\u003e#675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore the default Cython runtime path so compiled \u003ccode\u003edriverc\u003c/code\u003e modules are used again unless \u003ccode\u003eCLICKHOUSE_CONNECT_USE_C=0\u003c/code\u003e is set. Fix C/Python parity issues in streaming exception handling, \u003ccode\u003eFixedString\u003c/code\u003e string reads, nullable array helpers, and numpy conversion helpers, and expand CI and unit parity coverage to keep the optimized and pure-Python paths in sync. Addresses \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/676\"\u003e#676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSimplify \u003ccode\u003epivot\u003c/code\u003e in the Cython data conversion module to use \u003ccode\u003etuple(zip(*...))\u003c/code\u003e instead of a manual tuple-building loop which matches the pure-Python implementation and provides significant insert speedup.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.14.0, 2026-03-09\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRenamed \u003ccode\u003eapply_server_timezone\u003c/code\u003e parameter to \u003ccode\u003etz_source\u003c/code\u003e across Client and HttpClient. The new \u003ccode\u003etz_source\u003c/code\u003e parameter accepts string values: \u003ccode\u003e\u0026quot;auto\u0026quot;\u003c/code\u003e (default, was \u003ccode\u003eNone\u003c/code\u003e), \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e (was \u003ccode\u003eTrue\u003c/code\u003e or \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e), and \u003ccode\u003e\u0026quot;local\u0026quot;\u003c/code\u003e (was \u003ccode\u003eFalse\u003c/code\u003e). The old \u003ccode\u003eapply_server_timezone\u003c/code\u003e parameter is still accepted but emits a \u003ccode\u003eDeprecationWarning\u003c/code\u003e and will be removed in 1.0. Passing both \u003ccode\u003etz_source\u003c/code\u003e and \u003ccode\u003eapply_server_timezone\u003c/code\u003e raises \u003ccode\u003eProgrammingError\u003c/code\u003e. The \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e value (which had no distinct runtime behavior from \u003ccode\u003eTrue\u003c/code\u003e) maps to \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRenamed \u003ccode\u003eutc_tz_aware\u003c/code\u003e parameter to \u003ccode\u003etz_mode\u003c/code\u003e across Client, QueryContext, and all query methods. The new \u003ccode\u003etz_mode\u003c/code\u003e parameter accepts string values: \u003ccode\u003e\u0026quot;naive_utc\u0026quot;\u003c/code\u003e (default, was \u003ccode\u003eFalse\u003c/code\u003e), \u003ccode\u003e\u0026quot;aware\u0026quot;\u003c/code\u003e (was \u003ccode\u003eTrue\u003c/code\u003e), and \u003ccode\u003e\u0026quot;schema\u0026quot;\u003c/code\u003e (unchanged). The old \u003ccode\u003eutc_tz_aware\u003c/code\u003e parameter is still accepted but emits a \u003ccode\u003eDeprecationWarning\u003c/code\u003e and will be removed in 1.0. Passing both \u003ccode\u003etz_mode\u003c/code\u003e and \u003ccode\u003eutc_tz_aware\u003c/code\u003e raises \u003ccode\u003eProgrammingError\u003c/code\u003e. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/654\"\u003e#654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved the deprecated \u003ccode\u003eObject('json')\u003c/code\u003e type. This was the legacy experimental JSON type that has been superseded by the new \u003ccode\u003eJSON\u003c/code\u003e type in ClickHouse. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/556\"\u003e#556\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePandas 1.x support is now deprecated and will be removed in v1.0.0. A \u003ccode\u003eDeprecationWarning\u003c/code\u003e is emitted at import time for pandas 1.x users.\u003c/li\u003e\n\u003cli\u003eThe current \u003ccode\u003eAsyncClient\u003c/code\u003e is a thread-pool wrapper around the sync client and now emits a \u003ccode\u003eFutureWarning\u003c/code\u003e on creation, pointing users to the fully native async client available as a prerelease: \u003ccode\u003epip install 'clickhouse-connect[async]==0.12.0rc1'\u003c/code\u003e. This prerelease branch is based on 0.11.0 and is gathering feedback ahead of 1.0.0, where it will become the default async implementation. It is a drop-in replacement with the same API surface.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for the \u003ccode\u003eSAMPLE\u003c/code\u003e clause in SQLAlchemy statements. Note: Due to a SQLAlchemy limitation, only one hint (SAMPLE or FINAL) can be applied per table; chaining both will silently ignore one. For now, this change enables use of sample(), but chaining with final() is not yet supported.  Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/634\"\u003e#634\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eExperimental:\u003c/strong\u003e Added Python 3.14 free-threading (cp314t) wheel builds for all platforms. The full test suite currently (as of 2 MAR, 2026) passes under free-threaded Python, but is not added to the CI test matrix at this time nor has it been otherwise tested to any degree. Free-threading support should be considered experimental with no guarantees of correctness at this time. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/573\"\u003e#573\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.13.0, 2026-02-26\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBREAKING CHANGE: Implement native write path for \u003ccode\u003eVariant\u003c/code\u003e data type with type-aware dispatching.\nPreviously, all values inserted into a \u003ccode\u003eVariant\u003c/code\u003e column were stringified and sent to the server, which\nwould store them in the \u003ccode\u003eString\u003c/code\u003e member if present, or attempt server-side conversion otherwise. Values\nare now serialized using their native ClickHouse types client-side (e.g. inserting \u003ccode\u003e100\u003c/code\u003e into\n\u003ccode\u003eVariant(Int64, String)\u003c/code\u003e stores \u003ccode\u003eInt64(100)\u003c/code\u003e instead of \u003ccode\u003eString(\u0026quot;100\u0026quot;)\u003c/code\u003e). Key changes:\n\u003cul\u003e\n\u003cli\u003eValues that don't match any variant member now raise \u003ccode\u003eDataError\u003c/code\u003e instead of being stringified and\ndelegated to the server.\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003etyped_variant(value, 'TypeName')\u003c/code\u003e helper is provided for cases where automatic dispatch\ncannot resolve the target type, such as when multiple variant members map to the same Python\ntype (e.g. \u003ccode\u003eArray(UInt32)\u003c/code\u003e vs \u003ccode\u003eArray(String)\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eutc_tz_aware=\u0026quot;schema\u0026quot;\u003c/code\u003e mode which returns timezone-aware datetimes only when the server's column schema explicitly defines a timezone (e.g. \u003ccode\u003eDateTime('UTC')\u003c/code\u003e), and naive datetimes for bare \u003ccode\u003eDateTime\u003c/code\u003e columns. This matches the ClickHouse schema definition exactly. Not yet supported for Arrow-based query methods. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/645\"\u003e#645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd type annotations to public API methods in \u003ccode\u003eClient\u003c/code\u003e, \u003ccode\u003eAsyncClient\u003c/code\u003e, \u003ccode\u003eHttpClient\u003c/code\u003e, and \u003ccode\u003eQueryResult\u003c/code\u003e. Ref \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/567\"\u003e#567\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003edict_add\u003c/code\u003e parameter typed as builtin \u003ccode\u003eany\u003c/code\u003e instead of \u003ccode\u003etyping.Any\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRecognize \u003ccode\u003eUPDATE\u003c/code\u003e as a command so lightweight updates work correctly via \u003ccode\u003eclient.query()\u003c/code\u003e and SQLAlchemy.\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: \u003ccode\u003eGROUP BY\u003c/code\u003e now renders label aliases instead of full expressions which avoids circular reference errors when an alias shadows a source column name in ClickHouse.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.11.0, 2026-02-10\u003c/h2\u003e\n\u003ch3\u003ePython 3.9 Deprecation\u003c/h3\u003e\n\u003cp\u003ePython 3.9 EOL'd Oct 2025. Support for Python 3.9 is now softly deprecated and has been removed from our CI test matrix but\ndistribution wheels will continue to be built until the 1.0 release or until the builds naturally fail, whichever comes first.\nA \u003ccode\u003eDeprecationWarning\u003c/code\u003e will now be displayed when initializing the client on Python 3.9. Users should plan to upgrade to\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/ClickHouse/clickhouse-connect/commit/c40bbacf6966cdf3bed4a0cd88d2a8cba10e5a8a\"\u003e\u003ccode\u003ec40bbac\u003c/code\u003e\u003c/a\u003e 0.14.1 bugfix release prep (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/680\"\u003e#680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/323b76809580854a84c543691ab7c9d976fdad49\"\u003e\u003ccode\u003e323b768\u003c/code\u003e\u003c/a\u003e Reenable default Cython runtime path and reestablish C/Python parity (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/679\"\u003e#679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/01149488c25e39e085d51edfcfdc8516162ff503\"\u003e\u003ccode\u003e0114948\u003c/code\u003e\u003c/a\u003e fix sqlalchemy empty result metadata for orm queries (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/678\"\u003e#678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/60ca78c1cd397a4c8983f14c0539c0d09d9ce21f\"\u003e\u003ccode\u003e60ca78c\u003c/code\u003e\u003c/a\u003e Fix shared variant decoding for JSON and Dynamic columns (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/677\"\u003e#677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/2dda7152c59b417b4b153d1dd8a061d475ae7c2f\"\u003e\u003ccode\u003e2dda715\u003c/code\u003e\u003c/a\u003e release prep for 0.14.0 (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/673\"\u003e#673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/5d5c3f24c9f7e864536e2aac52c3b8e2349ef2a9\"\u003e\u003ccode\u003e5d5c3f2\u003c/code\u003e\u003c/a\u003e async native future warning (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/672\"\u003e#672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/436050f1b3765605848d9765e3ee0e350b4c6758\"\u003e\u003ccode\u003e436050f\u003c/code\u003e\u003c/a\u003e add bare import smoke test to CI (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/671\"\u003e#671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/a5fbad0fcbac92279874b9214024d6087e307cb0\"\u003e\u003ccode\u003ea5fbad0\u003c/code\u003e\u003c/a\u003e rename apply_server_timezone to tz_source (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/670\"\u003e#670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/01e7ca036a26458acf7a22ca170bd4a1765aa6b1\"\u003e\u003ccode\u003e01e7ca0\u003c/code\u003e\u003c/a\u003e add pandas 1.x deprecation warning for 1.0.0 (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/667\"\u003e#667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/c65f54a079c790673d7f87bb2a303784d9081b8d\"\u003e\u003ccode\u003ec65f54a\u003c/code\u003e\u003c/a\u003e rename utc_tz_aware to tz_mode (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/664\"\u003e#664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.10.0...v0.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `couchbase` to 4.5.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/9338788daddf9ff1755bfcd86d845ddc8d331860\"\u003e\u003ccode\u003e9338788\u003c/code\u003e\u003c/a\u003e Update C++ core to 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/c3504fa193467a3eec47b23b16f12806fbebf9c1\"\u003e\u003ccode\u003ec3504fa\u003c/code\u003e\u003c/a\u003e PYCBC-1705: Fix FLE imports and exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/70fbc324ec9379cce5652a16ba1a2252efb0cabb\"\u003e\u003ccode\u003e70fbc32\u003c/code\u003e\u003c/a\u003e Update C++ core to 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/9b9164f8e42cca942439049301fd738317fcb1d5\"\u003e\u003ccode\u003e9b9164f\u003c/code\u003e\u003c/a\u003e PYCBC-1711: Don't set bucketType, replicaIndex, flushEnabled when creating bu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/5319285921c7077baf8f347b6cf0377d363d5c26\"\u003e\u003ccode\u003e5319285\u003c/code\u003e\u003c/a\u003e PYCBC-1704: Allow eventing function mgmt test fixtures to ignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/970621968dd2b3463cc450c49c1479297ea087a5\"\u003e\u003ccode\u003e9706219\u003c/code\u003e\u003c/a\u003e Update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/5485046fd3cd853c695d17a999aff9842de3c83e\"\u003e\u003ccode\u003e5485046\u003c/code\u003e\u003c/a\u003e Update eventing mgmt tests for recent 8.0 changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/1351bfae64ddf50e942ee52360735a6961ed076d\"\u003e\u003ccode\u003e1351bfa\u003c/code\u003e\u003c/a\u003e PYCBC-1699: Update SDK Build Setup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/83478e273fcee4748115b949d6809973519343a4\"\u003e\u003ccode\u003e83478e2\u003c/code\u003e\u003c/a\u003e Search User Experience Improvements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/593019056f414ea452f32a229a3c46d24e738285\"\u003e\u003ccode\u003e5930190\u003c/code\u003e\u003c/a\u003e PYCBC-1698: Improve Jenkins Integration Tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/couchbase/couchbase-python-client/compare/4.3.0...4.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `elasticsearch` from 8.14.0 to 9.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/elastic/elasticsearch-py/releases\"\u003eelasticsearch's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.3.0\u003c/h2\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epack_dense_vector\u003c/code\u003e helper function to pack dense vectors for efficient uploading (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3219\"\u003e#3219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNew and updated ES|QL functions in the ES|QL query builder for 9.3 and Serverless (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3266\"\u003e#3266\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAPI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ecat.circuit_breaker\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eesql.get_view\u003c/code\u003e, \u003ccode\u003eesql.put_view\u003c/code\u003e and \u003ccode\u003eesql.delete_view\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eindices.get_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.put_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.delete_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.get_all_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.get_sample\u003c/code\u003e, \u003ccode\u003eindices.get_sample_stats\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003einference.put_groq\u003c/code\u003e, \u003ccode\u003einference.put_openshift_ai\u003c/code\u003e, \u003ccode\u003einference.put_nvidia\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003edownsampling_method\u003c/code\u003e argument to \u003ccode\u003eindices.put_data_lifecycle\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ereturn_documents\u003c/code\u003e and \u003ccode\u003etop_n\u003c/code\u003e arguments to \u003ccode\u003einference.rerank\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eclose_job\u003c/code\u003e argument to \u003ccode\u003eml.stop_datafeed\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecertificate_identity\u003c/code\u003e to \u003ccode\u003esecurity.create_cross_cluster_api_key\u003c/code\u003e and \u003ccode\u003esecurity.update_cross_cluster_api_key\u003c/code\u003e APIs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServerless-specific\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eproject_routing\u003c/code\u003e argument to \u003ccode\u003eproject.tags\u003c/code\u003e API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDSL\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eNumpyDenseVector\u003c/code\u003e field, with support for dense vectors based on numpy arrays (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3218\"\u003e#3218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eExponentialHistogram\u003c/code\u003e field\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003etime_series_metric\u003c/code\u003e argument to \u003ccode\u003eHistogram\u003c/code\u003e field\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eon_disk_rescore\u003c/code\u003e argument from \u003ccode\u003eDenseVectorIndexOptions\u003c/code\u003e type\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eslices\u003c/code\u003e argument to \u003ccode\u003eUpdateByQueryResponse\u003c/code\u003e type\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.2.1\u003c/h2\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInstrument ping with OTel (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3160\"\u003e#3160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake positional arguments in DSL generated classes explicit  (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3233\"\u003e#3233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd warnings for private APIs (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3212\"\u003e#3212\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eES|QL query builder: fix missing assignment (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3151\"\u003e#3151\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse relative imports to fix \u003ccode\u003eelasticsearch9\u003c/code\u003e package imports (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3232\"\u003e#3232\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAPI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003etransform.get_node_stats\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003erequests_per_second\u003c/code\u003e argument to \u003ccode\u003edelete_by_query_rethrottle\u003c/code\u003e, \u003ccode\u003ereindex_rethrottle\u003c/code\u003e and \u003ccode\u003eupdate_by_query_rethrottle\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eallow_closed\u003c/code\u003e, \u003ccode\u003eallow_no_indices\u003c/code\u003e, \u003ccode\u003eexpand_wildcards\u003c/code\u003e, \u003ccode\u003eignore_throttled\u003c/code\u003e and \u003ccode\u003eignore_available\u003c/code\u003e arguments to \u003ccode\u003ecat.segments\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003echunking_settings\u003c/code\u003e argument to \u003ccode\u003einference.put_watsonxai\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eid\u003c/code\u003e argument to \u003ccode\u003eml.stop_trained_model_deployment\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003echunking_settings\u003c/code\u003e argument from \u003ccode\u003einference.put_anthropic\u003c/code\u003e, \u003ccode\u003einference.put_contextualai\u003c/code\u003e, \u003ccode\u003einference.put_deepseek\u003c/code\u003e APIs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/adae2d6d3d76f3ea75cd758ce64223bd76df45e5\"\u003e\u003ccode\u003eadae2d6\u003c/code\u003e\u003c/a\u003e Release 9.3.0 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3300\"\u003e#3300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/ea2227c743d7cacb474efecf4d8b84fa553f9eec\"\u003e\u003ccode\u003eea2227c\u003c/code\u003e\u003c/a\u003e Add Python 3.14 trove classifier (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3296\"\u003e#3296\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3299\"\u003e#3299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/b507e3e2d91ff0b6f8fb4a53ea23caa989677436\"\u003e\u003ccode\u003eb507e3e\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3293\"\u003e#3293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/76150204725b1495cad3348c573406fc1f3512d1\"\u003e\u003ccode\u003e7615020\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3280\"\u003e#3280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/ef8d102b3fc4d7572e0fd0bb56afe4291fddc529\"\u003e\u003ccode\u003eef8d102\u003c/code\u003e\u003c/a\u003e Stop using pytz (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3275\"\u003e#3275\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3278\"\u003e#3278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/65870f3504344ba7f67feb7721522bef936a92cf\"\u003e\u003ccode\u003e65870f3\u003c/code\u003e\u003c/a\u003e allow adding elasticsearch query filter for mmr searching (elastic#2638) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/32\"\u003e#32\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/b110f19a49ad492d2d6aa514afaac35360ac3c93\"\u003e\u003ccode\u003eb110f19\u003c/code\u003e\u003c/a\u003e Updates to ES|QL functions for 9.3 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3266\"\u003e#3266\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3272\"\u003e#3272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/f3d082788f52b5fe3c80926624fa8a61aa4deb37\"\u003e\u003ccode\u003ef3d0827\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3269\"\u003e#3269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/80818cc2640fcdf902919a3dc5500ae945d33271\"\u003e\u003ccode\u003e80818cc\u003c/code\u003e\u003c/a\u003e Auto-generated code for 9.3 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3262\"\u003e#3262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/6baa03faedefc90ccbc5f902626cc8cea46aed6a\"\u003e\u003ccode\u003e6baa03f\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3252\"\u003e#3252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/elastic/elasticsearch-py/compare/v8.14.0...v9.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oracledb` from 3.3.0 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oracle/python-oracledb/releases\"\u003eoracledb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.4.2\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.2 is now released. This release addresses a number of issues. See the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-2-january-2026\"\u003efull release notes\u003c/a\u003e for all of the details.\u003c/p\u003e\n\u003ch2\u003ev3.4.1\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.1 is now released. This release addresses a number of issues. See the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-1-november-2025\"\u003efull release notes\u003c/a\u003e for all of the details.\u003c/p\u003e\n\u003ch2\u003ev3.4.0\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.0 is now released. This release has the following highlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003esupport for Direct Path Load in thin mode for fast data ingestion\u003c/li\u003e\n\u003cli\u003esupport for data frames is no longer considered a pre-release\u003c/li\u003e\n\u003cli\u003esupport for type mapping when querying with data frames\u003c/li\u003e\n\u003cli\u003esupport for ingesting more Apache Arrow data types\u003c/li\u003e\n\u003cli\u003esupport for ingesting Apache Arrow data frames containing multiple chunks\u003c/li\u003e\n\u003cli\u003esupport for cursor.executemany() operating on large input data in batches\u003c/li\u003e\n\u003cli\u003efine-grained control over LOB and number handling\u003c/li\u003e\n\u003cli\u003enew optional install dependencies for plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-0-october-2025\"\u003efull release notes\u003c/a\u003e for all of the details.\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/oracle/python-oracledb/commit/51581eeb0a626fb3df4e25e00ddb3a28137d3831\"\u003e\u003ccode\u003e51581ee\u003c/code\u003e\u003c/a\u003e Preparing to release python-oracledb 3.4.2.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/81ceb554a0bfb52eb64b7b3870907d9b19bf15bd\"\u003e\u003ccode\u003e81ceb55\u003c/code\u003e\u003c/a\u003e Fixed bug which caused Connection.call_timeout to be reset to zero when\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/4a94025de99763fd0d16d1c2d79d416b9a075e12\"\u003e\u003ccode\u003e4a94025\u003c/code\u003e\u003c/a\u003e Eliminated memory leak when converting a third party data frame to one\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/36a29517530bfe311dab41218a3bc3d80700fe2c\"\u003e\u003ccode\u003e36a2951\u003c/code\u003e\u003c/a\u003e Fixed bug when decoding PL/SQL booleans in Oracle Database 12.1 (\u003ca href=\"https://redirect.github.com/oracle/python-oracledb/issues/565\"\u003e#565\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/6072f01b420af4c2d36c1b9f7b1421aab64ea336\"\u003e\u003ccode\u003e6072f01\u003c/code\u003e\u003c/a\u003e Grammar fix.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/f8be001d9862d6b0b6ec6158b67affef7a70556e\"\u003e\u003ccode\u003ef8be001\u003c/code\u003e\u003c/a\u003e Fixed bug causing hang when using asyncio and the database closes the\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/6e0d8b9da4b259e1b11ad648d354ca659f537a6a\"\u003e\u003ccode\u003e6e0d8b9\u003c/code\u003e\u003c/a\u003e Eliminated race condition in background thread/coroutine management for\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/40200bfa1cb9dde0977a509c84cfdde66f144358\"\u003e\u003ccode\u003e40200bf\u003c/code\u003e\u003c/a\u003e Adjusted code and tests to be capable of being run in environments other\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/36f8899fa71ebd4aec80b87f990633e86abc6b95\"\u003e\u003ccode\u003e36f8899\u003c/code\u003e\u003c/a\u003e Added support for ingesting Arrow arrays which only consist of null\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/7bf23b6c2061d20358b030104249bd703ac1832e\"\u003e\u003ccode\u003e7bf23b6\u003c/code\u003e\u003c/a\u003e Fixed bug when calling Cursor.executemany() with all of the values in at\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/oracle/python-oracledb/compare/v3.3.0...v3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pgvector` from 0.2.5 to 0.4.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md\"\u003epgvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2 (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 6\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estr\u003c/code\u003e objects for \u003ccode\u003ebit\u003c/code\u003e type with SQLAlchemy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 (2025-04-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eSparseVector\u003c/code\u003e constructor for SciPy sparse matrices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 (2025-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded top-level \u003ccode\u003epgvector\u003c/code\u003e package\u003c/li\u003e\n\u003cli\u003eAdded support for pg8000\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ebytes\u003c/code\u003e to \u003ccode\u003eBit\u003c/code\u003e constructor\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eglobally\u003c/code\u003e option to default to \u003ccode\u003eFalse\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003earrays\u003c/code\u003e option to default to \u003ccode\u003eTrue\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eFixed equality for \u003ccode\u003eVector\u003c/code\u003e, \u003ccode\u003eHalfVector\u003c/code\u003e, \u003ccode\u003eBit\u003c/code\u003e, and \u003ccode\u003eSparseVector\u003c/code\u003e classes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eindices\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods of \u003ccode\u003eSparseVector\u003c/code\u003e returning tuple instead of list in some cases\u003c/li\u003e\n\u003cli\u003eDropped support for Python \u0026lt; 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 (2024-10-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003earrays\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 (2024-10-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eavg\u003c/code\u003e function with type casting to SQLAlchemy\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eglobally\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.4 (2024-09-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eschema\u003c/code\u003e option for asyncpg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.3 (2024-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved support for cursor factories with Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.2 (2024-07-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error with asyncpg and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.1 (2024-07-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error parsing zero sparse vectors\u003c/li\u003e\n\u003cli\u003eFixed error with Psycopg 2 and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003cli\u003eFixed error message when \u003ccode\u003evector\u003c/code\u003e type not found with Psycopg 3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.0 (2024-06-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ehalfvec\u003c/code\u003e, \u003ccode\u003ebit\u003c/code\u003e, and \u003ccode\u003esparsevec\u003c/code\u003e types to Django\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/2968f258f9486531bd1340cbda4ff8fcaf06cdc1\"\u003e\u003ccode\u003e2968f25\u003c/code\u003e\u003c/a\u003e Version bump to 0.4.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/674f5ba3410c873d49f50fa9725b95d9db50c674\"\u003e\u003ccode\u003e674f5ba\u003c/code\u003e\u003c/a\u003e Updated checkout action [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e2986daf2b1533cc2c849f7e39350e31d57ac325\"\u003e\u003ccode\u003ee2986da\u003c/code\u003e\u003c/a\u003e Added support for Django 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e211ba4029f204734f0c001fbb90f6a594d561ae\"\u003e\u003ccode\u003ee211ba4\u003c/code\u003e\u003c/a\u003e Test with Python 3.14 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/1a72b7571adf3325174b383aca85bfb3a5b925fa\"\u003e\u003ccode\u003e1a72b75\u003c/code\u003e\u003c/a\u003e Updated pgvector on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/c820a53bfb46196551de3c3f59f81b192d890574\"\u003e\u003ccode\u003ec820a53\u003c/code\u003e\u003c/a\u003e Simplified examples [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/caf1a2e0dd7a1ba2ad0ca9f09b50516dcfffcdeb\"\u003e\u003ccode\u003ecaf1a2e\u003c/code\u003e\u003c/a\u003e Added docs for binary quantization with SQLAlchemy [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/dc9a8f959995f009649fd230139ca41193e0a801\"\u003e\u003ccode\u003edc9a8f9\u003c/code\u003e\u003c/a\u003e Added test for binary quantization with re-ranking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/33dee606229489c9ffb0cb5a1cd72bd4705ac618\"\u003e\u003ccode\u003e33dee60\u003c/code\u003e\u003c/a\u003e Added support for str objects for bit type with SQLAlchemy - \u003ca href=\"https://redirect.github.com/pgvector/pgvector-python/issues/137\"\u003e#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/ee3e71ca2c07a12a8332a3877c0ce14adc9a5da8\"\u003e\u003ccode\u003eee3e71c\u003c/code\u003e\u003c/a\u003e Updated format for license identifier\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgvector/pgvector-python/compare/v0.2.5...v0.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymilvus` to 2.6.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/milvus-io/pymilvus/releases\"\u003epymilvus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePyMilvus v2.6.10 Release Notes\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add global cluster client support (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3264\"\u003e#3264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: add ConnectionManager to replace connections singleton for MilvusClient (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3307\"\u003e#3307\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: is_legal_ids() to accept negative int64 primary keys (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3281\"\u003e#3281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: avoid calling len() on scipy sparse matrix in entity_to_field_data (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3294\"\u003e#3294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry on REPLICATE_VIOLATION for global cluster region switch (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3298\"\u003e#3298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: support non-float vectors in struct array in search (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3299\"\u003e#3299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enforce timeout for async operations when server is unreachable (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3304\"\u003e#3304\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add debounce to prevent concurrent topology refresh in global client (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3309\"\u003e#3309\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenhance: general performance improvements across MilvusClient path (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3280\"\u003e#3280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eenhance: remote bulk writer support virtual_style_endpoint (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3302\"\u003e#3302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eenhance: update the milvus-proto commit (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3310\"\u003e#3310\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTesting \u0026amp; CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenhance: requires 90% patch unit test coverage for new PRs (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3297\"\u003e#3297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eenhance: increase ORM unit test coverage to 90%+ per file (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3312\"\u003e#3312\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/milvus-io/pymilvus/compare/v2.6.9...v2.6.10\"\u003ehttps://github.com/milvus-io/pymilvus/compare/v2.6.9...v2.6.10\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/milvus-io/pymilvus/commit/0b1ca2ee3dbf8424a5cbe67b5dda4dae7425880c\"\u003e\u003ccode\u003e0b1ca2e\u003c/code\u003e\u003c/a\u003e [Backport 2.6] enhance: increase ORM unit test coverage to 90%+ per file (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/33\"\u003e#33\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/a86a24d74e3040409f73ad6d1c4574fe0463e06f\"\u003e\u003ccode\u003ea86a24d\u003c/code\u003e\u003c/a\u003e enhance: update the milvus-proto commit (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3310\"\u003e#3310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/b706e408a8122fc2efe66eaf1bc9a822929173a8\"\u003e\u003ccode\u003eb706e40\u003c/code\u003e\u003c/a\u003e fix: [cp2.6] add debounce to prevent concurrent topology refresh in global cl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/9053d7a3d122f3ef5e5c13257410b59a81a960b6\"\u003e\u003ccode\u003e9053d7a\u003c/code\u003e\u003c/a\u003e feat: [cp26]add ConnectionManager to replace connections singleton for MC (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/bda4914046257a02e6b1531f049cc1dfa1cfcd8b\"\u003e\u003ccode\u003ebda4914\u003c/code\u003e\u003c/a\u003e [Backport 2.6] fix: enforce timeout for async operations when server is unrea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/d1b2c99d830ae9596310d5c006fbb27a05e06659\"\u003e\u003ccode\u003ed1b2c99\u003c/code\u003e\u003c/a\u003e [Backport 2.6] enhance: remote bulket writer support virtual_style_endpoint (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/92e6a1bc8c177e1355f52dd585d1a6ecb4c90493\"\u003e\u003ccode\u003e92e6a1b\u003c/code\u003e\u003c/a\u003e [Backport 2.6] fix: support non-float vectors in struct array in search (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/327\"\u003e#327\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/c1a4b5936fa47dbfc9c0b571bcc144c2bf9ba717\"\u003e\u003ccode\u003ec1a4b59\u003c/code\u003e\u003c/a\u003e [Backport 2.6] fix: retry on REPLICATE_VIOLATION for global cluster region sw...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/bb8744744815882271396dd7659d7649e3b2f590\"\u003e\u003ccode\u003ebb87447\u003c/code\u003e\u003c/a\u003e enhance: requires 90% patch ut coverage for new PR (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3297\"\u003e#3297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/630faabfadb6191e5290d46d61d2ab9ddedffe11\"\u003e\u003ccode\u003e630faab\u003c/code\u003e\u003c/a\u003e [Backport 2.6] feat: add global cluster client support (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3251\"\u003e#3251\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3260\"\u003e#3260\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3264\"\u003e#3264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/milvus-io/pymilvus/compare/v2.5.0...v2.6.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymochow` from 2.2.9 to 2.3.6\n\nUpdates `qdrant-client` from 1.9.0 to 1.17.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/qdrant/qdrant-client/releases\"\u003eqdrant-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.17.1\u003c/h2\u003e\n\u003ch1\u003eChange Log\u003c/h1\u003e\n\u003ch2\u003eFeatures 🌊\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1162\"\u003e#1162\u003c/a\u003e - add a way to provide custom headers in http and grpc by \u003ca href=\"https://github.com/Anush008\"\u003e\u003ccode\u003e@​Anush008\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1166\"\u003e#1166\u003c/a\u003e - do not use fastembed for bm25 inference with hosted qdrant by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes 🔧\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1169\"\u003e#1169\u003c/a\u003e - do not modify date filters in local mode by \u003ca href=\"https://github.com/jnMetaCode\"\u003e\u003ccode\u003e@​jnMetaCode\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1168\"\u003e#1168\u003c/a\u003e - run server version check in a thread to avoid blocking async client by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1157\"\u003e#1157\u003c/a\u003e - fix type hint error in grpc_uploader with older versions of protobuf by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to everyone who contributed to the current release!\n\u003ca href=\"https://github.com/jnMetaCode\"\u003e\u003ccode\u003e@​jnMetaCode\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/Anush008\"\u003e\u003ccode\u003e@​Anush008\u003c/code\u003e\u003c/a\u003e  \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.17.0\u003c/h2\u003e\n\u003ch1\u003eChange Log\u003c/h1\u003e\n\u003ch2\u003eFeatures 🚢\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1154\"\u003e#1154\u003c/a\u003e - introduce relevance feedback, add enable_hnsw option to payload indexes, add timeouts to upsert methods, weighted RRF, and more by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/coszio\"\u003e\u003ccode\u003e@​coszio\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/generall\"\u003e\u003ccode\u003e@​generall\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes ⚙️\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1138\"\u003e#1138\u003c/a\u003e - fix score threshold for fusion queries by \u003ca href=\"https://github.com/cbcoutinho\"\u003e\u003ccode\u003e@​cbcoutinho\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to everyone who contributed to the current release!\n\u003ca href=\"https://github.com/cbcoutinho\"\u003e\u003ccode\u003e@​cbcoutinho\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/generall\"\u003e\u003ccode\u003e@​generall\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/coszio\"\u003e\u003ccode\u003e@​coszio\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.16.2\u003c/h2\u003e\n\u003ch1\u003eChange Log\u003c/h1\u003e\n\u003ch2\u003eDeprecations ⏳\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1110\"\u003e#1110\u003c/a\u003e - drop python3.9 support by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes ⚙️\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e#1132- adjust numpy versioning by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1133\"\u003e#1133\u003c/a\u003e - propagate \u003ccode\u003elookup_from\u003c/code\u003e correctly in query_points_groups by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1134\"\u003e#1134\u003c/a\u003e - fix qdrant-client import in read-only systems by \u003ca href=\"https://github.com/holyMolyTolli\"\u003e\u003ccode\u003e@​holyMolyTolli\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to everyone who contributed to the current release!\n\u003ca href=\"https://github.com/holyMolyTolli\"\u003e\u003ccode\u003e@​holyMolyTolli\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.16.1\u003c/h2\u003e\n\u003ch1\u003eChange Log\u003c/h1\u003e\n\u003ch2\u003eFeatures 🪐\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1116\"\u003e#1116\u003c/a\u003e - implement grpc version of \u003ccode\u003ecluster_collection_update\u003c/code\u003e by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\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/qdrant/qdrant-client/commit/cd5eb259dd7a8448fd4ebea209f742a6eb16b4a3\"\u003e\u003ccode\u003ecd5eb25\u003c/code\u003e\u003c/a\u003e bump version to v1.17.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/1699d30899945df178bde288df5b8390848d51d2\"\u003e\u003ccode\u003e1699d30\u003c/code\u003e\u003c/a\u003e feat: Add support for custom headers (\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1162\"\u003e#1162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/a410b9d60224a80fb06ba957e5acbd888cd9c5c7\"\u003e\u003ccode\u003ea410b9d\u003c/code\u003e\u003c/a\u003e fix: do not modify payload filters in local mode in-place (\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1169\"\u003e#1169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/7a01e54e9ae31d39c9dc38aaa8fe2f7f97aeff25\"\u003e\u003ccode\u003e7a01e54\u003c/code\u003e\u003c/a\u003e new: run server version check in a thread, don't check bm25 availabil… (\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1168\"\u003e#1168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/cb4af4f657d6716f829f6bd0d54bc5b06c837515\"\u003e\u003ccode\u003ecb4af4f\u003c/code\u003e\u003c/a\u003e deprecate: completely replace fastembed bm25 with qdrant core bm25 in hosted ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/27633971dfc6eb4ae1866ad7f29343ceea3d0e20\"\u003e\u003ccode\u003e2763397\u003c/code\u003e\u003c/a\u003e fix: fix type hint union with grpc enum with old protobuf (\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1157\"\u003e#1157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/e7101dc5baf4d3ce7d6321e1500311619aa95a99\"\u003e\u003ccode\u003ee7101dc\u003c/code\u003e\u003c/a\u003e bump version to v1.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/e50eb17f49851eb710c1f6f502e16cd338898703\"\u003e\u003ccode\u003ee50eb17\u003c/code\u003e\u003c/a\u003e Update models 1.17 (\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1154\"\u003e#1154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/52344500a5309527820c92be030d0561a8c2c842\"\u003e\u003ccode\u003e5234450\u003c/code\u003e\u003c/a\u003e fix: apply score_threshold filtering after fusion queries in local mode (\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1138\"\u003e#1138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/49fa101696e092a09b9bbf1c3383d03d8f992bcb\"\u003e\u003ccode\u003e49fa101\u003c/code\u003e\u003c/a\u003e bump version to 1.16.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/qdrant/qdrant-client/compare/v1.9.0...v1.17.1\"\u003ecompare vi...\n\n_Description has been truncated_","html_url":"https://github.com/takashi1minami/oss-dify-mirror/pull/17","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/takashi1minami%2Foss-dify-mirror/issues/17","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/17/packages"},{"uuid":"4061604035","node_id":"PR_kwDOJVxJus7J4ZTT","number":33336,"state":"closed","title":"chore(deps-dev): bump the vdb group across 1 directory with 19 updates","user":"dependabot[bot]","labels":["dependencies","size:M","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-16T02:33:34.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-12T01:54:10.000Z","updated_at":"2026-03-16T02:33:35.000Z","time_to_close":347964,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"vdb","update_count":19,"packages":[{"name":"weaviate-client","old_version":"4.17.0","new_version":"4.20.4","repository_url":"https://github.com/weaviate/weaviate-python-client"},{"name":"alibabacloud-tea-openapi","old_version":"0.3.16","new_version":"0.4.3","repository_url":"https://github.com/aliyun/darabonba-openapi"},{"name":"chromadb","old_version":"0.5.20","new_version":"1.5.5","repository_url":"https://github.com/chroma-core/chroma"},{"name":"clickhouse-connect","old_version":"0.10.0","new_version":"0.14.0","repository_url":"https://github.com/ClickHouse/clickhouse-connect"},{"name":"clickzetta-connector-python","old_version":"0.8.107","new_version":"0.8.109"},{"name":"couchbase","old_version":"4.3.6","new_version":"4.5.0","repository_url":"https://github.com/couchbase/couchbase-python-client"},{"name":"elasticsearch","old_version":"8.14.0","new_version":"9.3.0","repository_url":"https://github.com/elastic/elasticsearch-py"},{"name":"oracledb","old_version":"3.3.0","new_version":"3.4.2","repository_url":"https://github.com/oracle/python-oracledb"},{"name":"pgvector","old_version":"0.2.5","new_version":"0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"},{"name":"pymilvus","old_version":"2.5.17","new_version":"2.6.9","repository_url":"https://github.com/milvus-io/pymilvus"},{"name":"pymochow","old_version":"2.2.9","new_version":"2.3.6"},{"name":"pyobvector","old_version":"0.2.20","new_version":"0.2.25","repository_url":"https://github.com/oceanbase/pyobvector"},{"name":"qdrant-client","old_version":"1.9.0","new_version":"1.17.0","repository_url":"https://github.com/qdrant/qdrant-client"},{"name":"tablestore","old_version":"6.3.7","new_version":"6.4.1","repository_url":"https://github.com/aliyun/aliyun-tablestore-python-sdk"},{"name":"tcvectordb","old_version":"1.6.4","new_version":"2.0.0"},{"name":"tidb-vector","old_version":"0.0.9","new_version":"0.0.15"},{"name":"upstash-vector","old_version":"0.6.0","new_version":"0.8.0","repository_url":"https://github.com/upstash/vector-py"},{"name":"xinference-client","old_version":"1.2.2","new_version":"2.2.0","repository_url":"https://github.com/xorbitsai/inference-client"},{"name":"mysql-connector-python","old_version":"9.5.0","new_version":"9.6.0","repository_url":"https://github.com/mysql/mysql-connector-python"}],"path":null,"ecosystem":"pip"},"body":"Bumps the vdb group with 19 updates in the /api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [weaviate-client](https://github.com/weaviate/weaviate-python-client) | `4.17.0` | `4.20.4` |\n| [alibabacloud-tea-openapi](https://github.com/aliyun/darabonba-openapi) | `0.3.16` | `0.4.3` |\n| [chromadb](https://github.com/chroma-core/chroma) | `0.5.20` | `1.5.5` |\n| [clickhouse-connect](https://github.com/ClickHouse/clickhouse-connect) | `0.10.0` | `0.14.0` |\n| clickzetta-connector-python | `0.8.107` | `0.8.109` |\n| [couchbase](https://github.com/couchbase/couchbase-python-client) | `4.3.6` | `4.5.0` |\n| [elasticsearch](https://github.com/elastic/elasticsearch-py) | `8.14.0` | `9.3.0` |\n| [oracledb](https://github.com/oracle/python-oracledb) | `3.3.0` | `3.4.2` |\n| [pgvector](https://github.com/pgvector/pgvector-python) | `0.2.5` | `0.4.2` |\n| [pymilvus](https://github.com/milvus-io/pymilvus) | `2.5.17` | `2.6.9` |\n| [pymochow](http://bce.baidu.com) | `2.2.9` | `2.3.6` |\n| [pyobvector](https://github.com/oceanbase/pyobvector) | `0.2.20` | `0.2.25` |\n| [qdrant-client](https://github.com/qdrant/qdrant-client) | `1.9.0` | `1.17.0` |\n| [tablestore](https://github.com/aliyun/aliyun-tablestore-python-sdk) | `6.3.7` | `6.4.1` |\n| tcvectordb | `1.6.4` | `2.0.0` |\n| tidb-vector | `0.0.9` | `0.0.15` |\n| [upstash-vector](https://github.com/upstash/vector-py) | `0.6.0` | `0.8.0` |\n| [xinference-client](https://github.com/xorbitsai/inference-client) | `1.2.2` | `2.2.0` |\n| [mysql-connector-python](https://github.com/mysql/mysql-connector-python) | `9.5.0` | `9.6.0` |\n\n\nUpdates `weaviate-client` from 4.17.0 to 4.20.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weaviate/weaviate-python-client/releases\"\u003eweaviate-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.20.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump authlib to 1.6.9 to avoid high cve by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1975\"\u003eweaviate/weaviate-python-client#1975\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.2...v4.20.3\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.2...v4.20.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eperf: use deque for iterator object cache by \u003ca href=\"https://github.com/giulio-leone\"\u003e\u003ccode\u003e@​giulio-leone\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1968\"\u003eweaviate/weaviate-python-client#1968\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexpose include_last_used_time parameter, return created_at and api_key_first_letters by \u003ca href=\"https://github.com/dudanogueira\"\u003e\u003ccode\u003e@​dudanogueira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1965\"\u003eweaviate/weaviate-python-client#1965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for incremental backups by \u003ca href=\"https://github.com/dirkkul\"\u003e\u003ccode\u003e@​dirkkul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1928\"\u003eweaviate/weaviate-python-client#1928\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/giulio-leone\"\u003e\u003ccode\u003e@​giulio-leone\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1968\"\u003eweaviate/weaviate-python-client#1968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.1...v4.20.2\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.1...v4.20.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix empty list filter raising IndexError instead of WeaviateInvalidInputError by \u003ca href=\"https://github.com/dirkkul\"\u003e\u003ccode\u003e@​dirkkul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1962\"\u003eweaviate/weaviate-python-client#1962\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.0...v4.20.1\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.0...v4.20.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eflat index: Add support for RQ and include cache param by \u003ca href=\"https://github.com/rlmanrique\"\u003e\u003ccode\u003e@​rlmanrique\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1844\"\u003eweaviate/weaviate-python-client#1844\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003ecollection.data.ingest\u003c/code\u003e for sync/async SSB usage by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1876\"\u003eweaviate/weaviate-python-client#1876\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd delete_property_index to collection config by \u003ca href=\"https://github.com/DanielJanicek\"\u003e\u003ccode\u003e@​DanielJanicek\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1940\"\u003eweaviate/weaviate-python-client#1940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid id invalidation in nested properties by \u003ca href=\"https://github.com/dudanogueira\"\u003e\u003ccode\u003e@​dudanogueira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1952\"\u003eweaviate/weaviate-python-client#1952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide options allowing users to specify custom grpc SSL credentials by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1946\"\u003eweaviate/weaviate-python-client#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for cancelling backup restore ops by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1956\"\u003eweaviate/weaviate-python-client#1956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove cache option from SQConfig, deprecate field in factory method by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1954\"\u003eweaviate/weaviate-python-client#1954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow imgs/img_props in cohere generative config runtime by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1955\"\u003eweaviate/weaviate-python-client#1955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce async repl conf in (re)configure and unit tests of usage by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1953\"\u003eweaviate/weaviate-python-client#1953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Hfresh index type by \u003ca href=\"https://github.com/robbespo00\"\u003e\u003ccode\u003e@​robbespo00\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1848\"\u003eweaviate/weaviate-python-client#1848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Cluster Statistics (client.cluster.statistics()) by \u003ca href=\"https://github.com/Shah91n\"\u003e\u003ccode\u003e@​Shah91n\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1959\"\u003eweaviate/weaviate-python-client#1959\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/Shah91n\"\u003e\u003ccode\u003e@​Shah91n\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1959\"\u003eweaviate/weaviate-python-client#1959\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.19.4...v4.20.0\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.19.4...v4.20.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.19.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd gRPC ping check to is_live method  by \u003ca href=\"https://github.com/sylvinho81\"\u003e\u003ccode\u003e@​sylvinho81\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1949\"\u003eweaviate/weaviate-python-client#1949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-raise in \u003ccode\u003ecollection.exists()\u003c/code\u003e if status code is not 404 by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1950\"\u003eweaviate/weaviate-python-client#1950\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weaviate/weaviate-python-client/blob/main/docs/changelog.rst\"\u003eweaviate-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 4.20.4\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Include client version in GRPC requests\n- Add support for the new \u003ccode\u003emulti2vec_google_gemini\u003c/code\u003e module\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.3\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Update of \u003ccode\u003eauthlib\u003c/code\u003e dependency\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.2\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Support for incremental backups\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.1\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Raise an input error when filtering on an empty list\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.0\u003c/h2\u003e\n\u003cp\u003eThis minor version includes:\n- Support for new 1.36 features:\n- Server-side batching (SSB) is now GA via \u003ccode\u003ebatch.stream\u003c/code\u003e (\u003ccode\u003ebatch.experimental\u003c/code\u003e is deprecated)\n- Add \u003ccode\u003ecollection.data.ingest\u003c/code\u003e as a new entry point for SSB usage in sync and async clients\n- Add support for the new HFresh index type\n- Add support for async replication configuration\n- Add support for cancelling backup restore operations\n- Add \u003ccode\u003ecollection.config.delete_property_index\u003c/code\u003e to drop filterable, searchable, or range filter indices from properties\n- Add \u003ccode\u003eclient.cluster.statistics()\u003c/code\u003e method for retrieving cluster and Raft statistics\n- Allow \u003ccode\u003eimages\u003c/code\u003e and \u003ccode\u003eimage_properties\u003c/code\u003e in Cohere generative config at runtime\n- Provide options to specify custom gRPC SSL credentials for advanced connection setups\n- Remove \u003ccode\u003ecache\u003c/code\u003e option from \u003ccode\u003eSQConfig\u003c/code\u003e and deprecate the field in the factory method\n- Fix validation of nested object properties to allow \u003ccode\u003eid\u003c/code\u003e as a nested property name\u003c/p\u003e\n\u003ch2\u003eVersion 4.19.4\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Adds the gRPC healthcheck ping to the \u003ccode\u003eis_live()\u003c/code\u003e method of the async client to provide a more accurate check of the connection status of the async client\n- Fixes bug where exceptions raised in \u003ccode\u003ecollections.exists()\u003c/code\u003e were silently ignored and the method would return \u003ccode\u003eFalse\u003c/code\u003e instead of raising the exception\u003c/p\u003e\n\u003ch2\u003eVersion 4.19.3\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Add support for VoyageAI voyage-4 model family (voyage-4, voyage-4-lite, voyage-4-large)\n- A fix for async client connection issues when \u003ccode\u003epypi\u003c/code\u003e is down\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/weaviate/weaviate-python-client/commit/c0b796e07af0fef5555d37cf78a9a47dae62bb0c\"\u003e\u003ccode\u003ec0b796e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1982\"\u003e#1982\u003c/a\u003e from weaviate/changelog_4_20_4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/dfa8ae431413db4bb66ad2054487018b3362f360\"\u003e\u003ccode\u003edfa8ae4\u003c/code\u003e\u003c/a\u003e Add changelog for v4.20.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/3a0958c19133ecb10565b66d4d0d4ab818d7a619\"\u003e\u003ccode\u003e3a0958c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1977\"\u003e#1977\u003c/a\u003e from weaviate/multi2vec-google-aistudio-vectorizer-c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/106f22584de2bc00f347534c19661af997112583\"\u003e\u003ccode\u003e106f225\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into multi2vec-google-aistudio-vectorizer-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/5ca709e0c068ae8531368d489062169cd7b9306d\"\u003e\u003ccode\u003e5ca709e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1980\"\u003e#1980\u003c/a\u003e from weaviate/client_version_grpc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/55e56f06bf0444fb4caf9f31da7b61dad10ef291\"\u003e\u003ccode\u003e55e56f0\u003c/code\u003e\u003c/a\u003e Dont overwrite version from additional headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/79ee3d030a8c9829c0ea3ca8240ebcdefe710647\"\u003e\u003ccode\u003e79ee3d0\u003c/code\u003e\u003c/a\u003e Add client version to GRPC headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/2ccdaa109a8ba599bec569b489aca3497087869e\"\u003e\u003ccode\u003e2ccdaa1\u003c/code\u003e\u003c/a\u003e chore: rename multi2vec_google_aistudio config to multi2vec_google_gemini\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/ce633119510d6b8ae71dec0310d4a5d08700e172\"\u003e\u003ccode\u003ece63311\u003c/code\u003e\u003c/a\u003e feat: add multi2vec_google_aistudio vectorizer config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/db8a91c514b042dda0871eeb7a27cc9c65f70e71\"\u003e\u003ccode\u003edb8a91c\u003c/code\u003e\u003c/a\u003e Bump authlib to 1.6.9 to avoid high cve (\u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1975\"\u003e#1975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.17.0...v4.20.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alibabacloud-tea-openapi` from 0.3.16 to 0.4.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aliyun/darabonba-openapi/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `chromadb` from 0.5.20 to 1.5.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/chroma-core/chroma/releases\"\u003echromadb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.5.5\u003c/h2\u003e\n\u003cp\u003eVersion: \u003ccode\u003e1.5.5\u003c/code\u003e\nGit ref: \u003ccode\u003erefs/tags/1.5.5\u003c/code\u003e\nBuild Date: \u003ccode\u003e2026-03-10T09:30\u003c/code\u003e\nPIP Package: \u003ccode\u003echroma-1.5.5.tar.gz\u003c/code\u003e\nGithub Container Registry Image: \u003ccode\u003e:1.5.5\u003c/code\u003e\nDockerHub Image: \u003ccode\u003e:1.5.5\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[RELEASE] Rust v0.13.2 by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6583\"\u003echroma-core/chroma#6583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Use buffer_unordered for lazy fragment fetch concurrency by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6584\"\u003echroma-core/chroma#6584\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] chroma configuration reference by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6592\"\u003echroma-core/chroma#6592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[PERF]: Dedup + filter out disbled collections before sysdb enrichment by \u003ca href=\"https://github.com/sanketkedia\"\u003e\u003ccode\u003e@​sanketkedia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6566\"\u003echroma-core/chroma#6566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[TST] Fix test_cross_version_persist by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6604\"\u003echroma-core/chroma#6604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Warn on no API key set on JS EFs by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6599\"\u003echroma-core/chroma#6599\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Add a GoogleGemini EF name alias by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6620\"\u003echroma-core/chroma#6620\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[RELEASE] Python 1.5.5 by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6602\"\u003echroma-core/chroma#6602\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chroma-core/chroma/compare/1.5.4...1.5.5\"\u003ehttps://github.com/chroma-core/chroma/compare/1.5.4...1.5.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.5.3\u003c/h2\u003e\n\u003cp\u003eVersion: \u003ccode\u003e1.5.3\u003c/code\u003e\nGit ref: \u003ccode\u003erefs/tags/1.5.3\u003c/code\u003e\nBuild Date: \u003ccode\u003e2026-03-07T19:07\u003c/code\u003e\nPIP Package: \u003ccode\u003echroma-1.5.3.tar.gz\u003c/code\u003e\nGithub Container Registry Image: \u003ccode\u003e:1.5.3\u003c/code\u003e\nDockerHub Image: \u003ccode\u003e:1.5.3\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[ENH] Thread topology name through purge-dirty pipeline by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6503\"\u003echroma-core/chroma#6503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CHORE]  Tighten down k8s resources in test. by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6509\"\u003echroma-core/chroma#6509\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Purge dirty via Spanner when topology is specified by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6504\"\u003echroma-core/chroma#6504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG]: Drop pydantic v1 compatibility layer for Python 3.14 support by \u003ca href=\"https://github.com/basnijholt\"\u003e\u003ccode\u003e@​basnijholt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6356\"\u003echroma-core/chroma#6356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[PERF] Parallelize segment reader initialization in filter and idf operators by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6522\"\u003echroma-core/chroma#6522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Preallocate during pull log parsing by \u003ca href=\"https://github.com/tanujnay112\"\u003e\u003ccode\u003e@​tanujnay112\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6528\"\u003echroma-core/chroma#6528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[TST] Make pytest use importlib by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6483\"\u003echroma-core/chroma#6483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CLN] Make telemetry a no-op and remove posthog as a dependency by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6489\"\u003echroma-core/chroma#6489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] fix forking numbers by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6530\"\u003echroma-core/chroma#6530\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/blob/HEAD/storage\"\u003eBUG\u003c/a\u003e: retry batch fetch on channel closure by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6526\"\u003echroma-core/chroma#6526\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG] CAS on version during reassignment by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6529\"\u003echroma-core/chroma#6529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] use ResourceExhausted error code for log backpressure by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6527\"\u003echroma-core/chroma#6527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Ordered sparse vector writer by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6495\"\u003echroma-core/chroma#6495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] update docs for s3 sync by \u003ca href=\"https://github.com/philipithomas\"\u003e\u003ccode\u003e@​philipithomas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6515\"\u003echroma-core/chroma#6515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG] avoid redundant manifest load in pull_logs_inner by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6544\"\u003echroma-core/chroma#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Skip record load when only id is requested by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6540\"\u003echroma-core/chroma#6540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/blob/HEAD/log\"\u003eENH\u003c/a\u003e add pointer-based log fetch via ScoutLogFragments by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6533\"\u003echroma-core/chroma#6533\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Add ReadLevel to count in be by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6539\"\u003echroma-core/chroma#6539\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Add a gauge metric in sysdb to track compaction_failure_count by \u003ca href=\"https://github.com/tanujnay112\"\u003e\u003ccode\u003e@​tanujnay112\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6550\"\u003echroma-core/chroma#6550\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Fix query param by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6557\"\u003echroma-core/chroma#6557\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/eca66b7afd4b7aea227644f8c78030f16fc2837a\"\u003e\u003ccode\u003eeca66b7\u003c/code\u003e\u003c/a\u003e [RELEASE] Python 1.5.5 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6602\"\u003e#6602\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/ce0eede5941e15017204c69387493a35ee97afa4\"\u003e\u003ccode\u003ece0eede\u003c/code\u003e\u003c/a\u003e [ENH] Add a GoogleGemini EF name alias (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6620\"\u003e#6620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/3604eea9165d26ef6eefb03893ae1b04d1803b1e\"\u003e\u003ccode\u003e3604eea\u003c/code\u003e\u003c/a\u003e [ENH] Warn on no API key set on JS EFs (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6599\"\u003e#6599\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/9e7bd7fbf91746166e56e140ed548d070f638722\"\u003e\u003ccode\u003e9e7bd7f\u003c/code\u003e\u003c/a\u003e [TST] Fix test_cross_version_persist (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6604\"\u003e#6604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/03a3169183d372360321c76a034c97f8a1e2ac4c\"\u003e\u003ccode\u003e03a3169\u003c/code\u003e\u003c/a\u003e [PERF]: Dedup + filter out disbled collections before sysdb enrichment (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6566\"\u003e#6566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/475bbfcfdba3b40c737c3a90a4f1a915298b16f6\"\u003e\u003ccode\u003e475bbfc\u003c/code\u003e\u003c/a\u003e [DOC] chroma configuration reference (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6592\"\u003e#6592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/02d2d8cd21150cd2ffdecce2c23e0234e04bb2fc\"\u003e\u003ccode\u003e02d2d8c\u003c/code\u003e\u003c/a\u003e [ENH] Use buffer_unordered for lazy fragment fetch concurrency (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6584\"\u003e#6584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/130449099a5eb756a55e4c73ed1d29fdebc5b371\"\u003e\u003ccode\u003e1304490\u003c/code\u003e\u003c/a\u003e [RELEASE] Rust v0.13.2 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6583\"\u003e#6583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/e0525a2f99589693141974a9c5a38b12299e8eef\"\u003e\u003ccode\u003ee0525a2\u003c/code\u003e\u003c/a\u003e [RELEASE] Python 1.5.4 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6585\"\u003e#6585\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/8c70b3cd112ca5608300b8e58710a4e52e5f97fb\"\u003e\u003ccode\u003e8c70b3c\u003c/code\u003e\u003c/a\u003e [ENH] Exclude yanked versions from cross-version persist test (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6588\"\u003e#6588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/chroma-core/chroma/compare/0.5.20...1.5.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `clickhouse-connect` from 0.10.0 to 0.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/releases\"\u003eclickhouse-connect's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.0\u003c/h2\u003e\n\u003ch2\u003eHigh level notes\u003c/h2\u003e\n\u003cp\u003eThis release is primarily focused on preparing the path to 1.0.0. It introduces a handful of breaking changes and deprecation warnings for APIs that will be removed or finalized in 1.0.0. If your code uses any of the deprecated parameters, you'll now see \u003ccode\u003eDeprecationWarning\u003c/code\u003es with clear migration guidance and highly recommend addressing these before upgrading to 1.0.0 when it ships.\u003c/p\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eapply_server_timezone\u003c/code\u003e renamed to \u003ccode\u003etz_source\u003c/code\u003e. Options are \u003ccode\u003e\u0026quot;auto\u0026quot;\u003c/code\u003e (the default), \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e, or \u003ccode\u003e\u0026quot;local\u0026quot;\u003c/code\u003e. The old parameter currently still works with a deprecation warning. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/670\"\u003eClickHouse/clickhouse-connect#670\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eutc_tz_aware\u003c/code\u003e renamed to \u003ccode\u003etz_mode\u003c/code\u003e. Options are \u003ccode\u003e\u0026quot;naive_utc\u0026quot;\u003c/code\u003e (the default), \u003ccode\u003e\u0026quot;aware\u0026quot;\u003c/code\u003e, or \u003ccode\u003e\u0026quot;schema\u0026quot;\u003c/code\u003e. The old parameter still currently still works with a deprecation warning. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/664\"\u003eClickHouse/clickhouse-connect#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003eObject('json')\u003c/code\u003e type. This was a legacy experimental JSON type has been removed in favor of the new JSON type in ClickHouse. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/666\"\u003eClickHouse/clickhouse-connect#666\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePandas 1.x support is deprecated and will be removed in 1.0.0. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/667\"\u003eClickHouse/clickhouse-connect#667\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThere's a async-native client based on clickhouse-connect v0.11.0 that is \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/releases/tag/v0.12.0rc1\"\u003eavailable\u003c/a\u003e for testing via \u003ccode\u003epip install clickhouse_connect[async]==0.12.0rc1\u003c/code\u003e. A \u003ccode\u003eFutureWarning\u003c/code\u003e advertising this will now be emitted on creation of the (to be legacy) async client. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/672\"\u003eClickHouse/clickhouse-connect#672\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eExperimental\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.14 free-threading (cp314t) wheel builds for all platforms. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/660\"\u003eClickHouse/clickhouse-connect#660\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where sending redundant settings is skipped. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/639\"\u003eClickHouse/clickhouse-connect#639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eSAMPLE\u003c/code\u003e in SQLAlchemy dialect. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/656\"\u003eClickHouse/clickhouse-connect#656\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/bsushmith\"\u003e\u003ccode\u003e@​bsushmith\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/656\"\u003eClickHouse/clickhouse-connect#656\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.13.0...v0.14.0\"\u003ehttps://github.com/ClickHouse/clickhouse-connect/compare/v0.13.0...v0.14.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.13.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eBREAKING CHANGE\u003c/strong\u003e: Implement native write path for \u003ccode\u003eVariant\u003c/code\u003e data type with type-aware dispatching. Previously, all values inserted into a \u003ccode\u003eVariant\u003c/code\u003e column were stringified and sent to the server, which would store them in the \u003ccode\u003eString\u003c/code\u003e member if present, or attempt server-side conversion otherwise. Values are now serialized using their native ClickHouse types client-side (e.g. inserting \u003ccode\u003e100\u003c/code\u003e into \u003ccode\u003eVariant(Int64, String)\u003c/code\u003e stores \u003ccode\u003eInt64(100)\u003c/code\u003e instead of \u003ccode\u003eString(\u0026quot;100\u0026quot;)\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003eKey changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eValues that don't match any variant member now raise \u003ccode\u003eDataError\u003c/code\u003e instead of being stringified and\ndelegated to the server.\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003etyped_variant(value, 'TypeName')\u003c/code\u003e helper is provided for cases where automatic dispatch\ncannot resolve the target type, such as when multiple variant members map to the same Python\ntype (e.g. \u003ccode\u003eArray(UInt32)\u003c/code\u003e vs \u003ccode\u003eArray(String)\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded \u003ccode\u003eutc_tz_aware=\u0026quot;schema\u0026quot;\u003c/code\u003e mode which returns timezone-aware datetimes only when the server's column schema explicitly defines a timezone (e.g. \u003ccode\u003eDateTime('UTC')\u003c/code\u003e), and naive datetimes for bare \u003ccode\u003eDateTime\u003c/code\u003e columns. This matches the ClickHouse schema definition exactly. Not yet supported for Arrow-based query methods. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/645\"\u003e#645\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type annotations to public API methods in \u003ccode\u003eClient\u003c/code\u003e, \u003ccode\u003eAsyncClient\u003c/code\u003e, \u003ccode\u003eHttpClient\u003c/code\u003e, and \u003ccode\u003eQueryResult\u003c/code\u003e. Ref \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/567\"\u003e#567\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003edict_add\u003c/code\u003e parameter typed as builtin \u003ccode\u003eany\u003c/code\u003e instead of \u003ccode\u003etyping.Any\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRecognize \u003ccode\u003eUPDATE\u003c/code\u003e as a command so lightweight updates work correctly via \u003ccode\u003eclient.query()\u003c/code\u003e and SQLAlchemy.\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: \u003ccode\u003eGROUP BY\u003c/code\u003e now renders label aliases instead of full expressions which avoids circular reference errors when an alias shadows a source column name in ClickHouse.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.11.0...v0.13.0\"\u003ehttps://github.com/ClickHouse/clickhouse-connect/compare/v0.11.0...v0.13.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.12.0rc1\u003c/h2\u003e\n\u003ch1\u003eNative Async Client (Pre-release)\u003c/h1\u003e\n\u003cp\u003eThis is a pre-release for testing and feedback on the new native async client built on \u003ca href=\"https://github.com/aio-libs/aiohttp\"\u003eaiohttp\u003c/a\u003e. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/141\"\u003e#141\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/ClickHouse/clickhouse-connect/blob/main/CHANGELOG.md\"\u003eclickhouse-connect's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.0, 2026-03-09\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRenamed \u003ccode\u003eapply_server_timezone\u003c/code\u003e parameter to \u003ccode\u003etz_source\u003c/code\u003e across Client and HttpClient. The new \u003ccode\u003etz_source\u003c/code\u003e parameter accepts string values: \u003ccode\u003e\u0026quot;auto\u0026quot;\u003c/code\u003e (default, was \u003ccode\u003eNone\u003c/code\u003e), \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e (was \u003ccode\u003eTrue\u003c/code\u003e or \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e), and \u003ccode\u003e\u0026quot;local\u0026quot;\u003c/code\u003e (was \u003ccode\u003eFalse\u003c/code\u003e). The old \u003ccode\u003eapply_server_timezone\u003c/code\u003e parameter is still accepted but emits a \u003ccode\u003eDeprecationWarning\u003c/code\u003e and will be removed in 1.0. Passing both \u003ccode\u003etz_source\u003c/code\u003e and \u003ccode\u003eapply_server_timezone\u003c/code\u003e raises \u003ccode\u003eProgrammingError\u003c/code\u003e. The \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e value (which had no distinct runtime behavior from \u003ccode\u003eTrue\u003c/code\u003e) maps to \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRenamed \u003ccode\u003eutc_tz_aware\u003c/code\u003e parameter to \u003ccode\u003etz_mode\u003c/code\u003e across Client, QueryContext, and all query methods. The new \u003ccode\u003etz_mode\u003c/code\u003e parameter accepts string values: \u003ccode\u003e\u0026quot;naive_utc\u0026quot;\u003c/code\u003e (default, was \u003ccode\u003eFalse\u003c/code\u003e), \u003ccode\u003e\u0026quot;aware\u0026quot;\u003c/code\u003e (was \u003ccode\u003eTrue\u003c/code\u003e), and \u003ccode\u003e\u0026quot;schema\u0026quot;\u003c/code\u003e (unchanged). The old \u003ccode\u003eutc_tz_aware\u003c/code\u003e parameter is still accepted but emits a \u003ccode\u003eDeprecationWarning\u003c/code\u003e and will be removed in 1.0. Passing both \u003ccode\u003etz_mode\u003c/code\u003e and \u003ccode\u003eutc_tz_aware\u003c/code\u003e raises \u003ccode\u003eProgrammingError\u003c/code\u003e. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/654\"\u003e#654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved the deprecated \u003ccode\u003eObject('json')\u003c/code\u003e type. This was the legacy experimental JSON type that has been superseded by the new \u003ccode\u003eJSON\u003c/code\u003e type in ClickHouse. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/556\"\u003e#556\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePandas 1.x support is now deprecated and will be removed in v1.0.0. A \u003ccode\u003eDeprecationWarning\u003c/code\u003e is emitted at import time for pandas 1.x users.\u003c/li\u003e\n\u003cli\u003eThe current \u003ccode\u003eAsyncClient\u003c/code\u003e is a thread-pool wrapper around the sync client and now emits a \u003ccode\u003eFutureWarning\u003c/code\u003e on creation, pointing users to the fully native async client available as a prerelease: \u003ccode\u003epip install 'clickhouse-connect[async]==0.12.0rc1'\u003c/code\u003e. This prerelease branch is based on 0.11.0 and is gathering feedback ahead of 1.0.0, where it will become the default async implementation. It is a drop-in replacement with the same API surface.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for the \u003ccode\u003eSAMPLE\u003c/code\u003e clause in SQLAlchemy statements. Note: Due to a SQLAlchemy limitation, only one hint (SAMPLE or FINAL) can be applied per table; chaining both will silently ignore one. For now, this change enables use of sample(), but chaining with final() is not yet supported.  Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/634\"\u003e#634\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eExperimental:\u003c/strong\u003e Added Python 3.14 free-threading (cp314t) wheel builds for all platforms. The full test suite currently (as of 2 MAR, 2026) passes under free-threaded Python, but is not added to the CI test matrix at this time nor has it been otherwise tested to any degree. Free-threading support should be considered experimental with no guarantees of correctness at this time. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/573\"\u003e#573\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.13.0, 2026-02-26\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBREAKING CHANGE: Implement native write path for \u003ccode\u003eVariant\u003c/code\u003e data type with type-aware dispatching.\nPreviously, all values inserted into a \u003ccode\u003eVariant\u003c/code\u003e column were stringified and sent to the server, which\nwould store them in the \u003ccode\u003eString\u003c/code\u003e member if present, or attempt server-side conversion otherwise. Values\nare now serialized using their native ClickHouse types client-side (e.g. inserting \u003ccode\u003e100\u003c/code\u003e into\n\u003ccode\u003eVariant(Int64, String)\u003c/code\u003e stores \u003ccode\u003eInt64(100)\u003c/code\u003e instead of \u003ccode\u003eString(\u0026quot;100\u0026quot;)\u003c/code\u003e). Key changes:\n\u003cul\u003e\n\u003cli\u003eValues that don't match any variant member now raise \u003ccode\u003eDataError\u003c/code\u003e instead of being stringified and\ndelegated to the server.\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003etyped_variant(value, 'TypeName')\u003c/code\u003e helper is provided for cases where automatic dispatch\ncannot resolve the target type, such as when multiple variant members map to the same Python\ntype (e.g. \u003ccode\u003eArray(UInt32)\u003c/code\u003e vs \u003ccode\u003eArray(String)\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eutc_tz_aware=\u0026quot;schema\u0026quot;\u003c/code\u003e mode which returns timezone-aware datetimes only when the server's column schema explicitly defines a timezone (e.g. \u003ccode\u003eDateTime('UTC')\u003c/code\u003e), and naive datetimes for bare \u003ccode\u003eDateTime\u003c/code\u003e columns. This matches the ClickHouse schema definition exactly. Not yet supported for Arrow-based query methods. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/645\"\u003e#645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd type annotations to public API methods in \u003ccode\u003eClient\u003c/code\u003e, \u003ccode\u003eAsyncClient\u003c/code\u003e, \u003ccode\u003eHttpClient\u003c/code\u003e, and \u003ccode\u003eQueryResult\u003c/code\u003e. Ref \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/567\"\u003e#567\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003edict_add\u003c/code\u003e parameter typed as builtin \u003ccode\u003eany\u003c/code\u003e instead of \u003ccode\u003etyping.Any\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRecognize \u003ccode\u003eUPDATE\u003c/code\u003e as a command so lightweight updates work correctly via \u003ccode\u003eclient.query()\u003c/code\u003e and SQLAlchemy.\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: \u003ccode\u003eGROUP BY\u003c/code\u003e now renders label aliases instead of full expressions which avoids circular reference errors when an alias shadows a source column name in ClickHouse.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.11.0, 2026-02-10\u003c/h2\u003e\n\u003ch3\u003ePython 3.9 Deprecation\u003c/h3\u003e\n\u003cp\u003ePython 3.9 EOL'd Oct 2025. Support for Python 3.9 is now softly deprecated and has been removed from our CI test matrix but\ndistribution wheels will continue to be built until the 1.0 release or until the builds naturally fail, whichever comes first.\nA \u003ccode\u003eDeprecationWarning\u003c/code\u003e will now be displayed when initializing the client on Python 3.9. Users should plan to upgrade to\nPython 3.10+ as 3.9 compatibility may break unexpectedly in future updates.\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where settings matching server defaults were not stored on client during initialization. Explicitly setting a default value is now respected (e.g., to prevent ClickHouse from auto-enabling optimizations). Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/638\"\u003e#638\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRaise OperationalError when ResponseSource hits network failure before any data is received. Previously, empty result would be returned. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/620\"\u003e#620\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix issue with DROP table in client temp table test.\u003c/li\u003e\n\u003cli\u003eFixed a bug where InsertContext state was not reset on insert failure, leading to reuse errors when data was passed separately.\u003c/li\u003e\n\u003cli\u003eFixed UTC-equivalent timezone recognition issue where servers returning \u003ccode\u003eEtc/UCT\u003c/code\u003e, \u003ccode\u003eGMT\u003c/code\u003e, or other UTC-equivalent timezone names caused inconsistent behavior with \u003ccode\u003eutc_tz_aware=False\u003c/code\u003e. DateTime columns with explicit UTC timezones now correctly return naive datetimes when \u003ccode\u003eutc_tz_aware=False\u003c/code\u003e regardless of the specific UTC-equivalent timezone name returned by the server. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/629\"\u003e#629\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/2dda7152c59b417b4b153d1dd8a061d475ae7c2f\"\u003e\u003ccode\u003e2dda715\u003c/code\u003e\u003c/a\u003e release prep for 0.14.0 (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/673\"\u003e#673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/5d5c3f24c9f7e864536e2aac52c3b8e2349ef2a9\"\u003e\u003ccode\u003e5d5c3f2\u003c/code\u003e\u003c/a\u003e async native future warning (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/672\"\u003e#672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/436050f1b3765605848d9765e3ee0e350b4c6758\"\u003e\u003ccode\u003e436050f\u003c/code\u003e\u003c/a\u003e add bare import smoke test to CI (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/671\"\u003e#671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/a5fbad0fcbac92279874b9214024d6087e307cb0\"\u003e\u003ccode\u003ea5fbad0\u003c/code\u003e\u003c/a\u003e rename apply_server_timezone to tz_source (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/670\"\u003e#670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/01e7ca036a26458acf7a22ca170bd4a1765aa6b1\"\u003e\u003ccode\u003e01e7ca0\u003c/code\u003e\u003c/a\u003e add pandas 1.x deprecation warning for 1.0.0 (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/667\"\u003e#667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/c65f54a079c790673d7f87bb2a303784d9081b8d\"\u003e\u003ccode\u003ec65f54a\u003c/code\u003e\u003c/a\u003e rename utc_tz_aware to tz_mode (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/664\"\u003e#664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/e3ac6a4fbde2e8e613d4b89ff6714ce2743c7381\"\u003e\u003ccode\u003ee3ac6a4\u003c/code\u003e\u003c/a\u003e remove deprecated experimental Object(JSON) type (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/666\"\u003e#666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/1fbddb505a4fed4eb149c3b142a98ccbfe4440fe\"\u003e\u003ccode\u003e1fbddb5\u003c/code\u003e\u003c/a\u003e Joe/638 fix issue where sending redundant settings is skipped (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/639\"\u003e#639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/314b7c71219b7c39e2098c90211d63b8b8eacceb\"\u003e\u003ccode\u003e314b7c7\u003c/code\u003e\u003c/a\u003e Add Python 3.14 free-threading (cp314t) wheel builds (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/660\"\u003e#660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/0a93e44be05a108fcd35d28814cfd478a95a4994\"\u003e\u003ccode\u003e0a93e44\u003c/code\u003e\u003c/a\u003e assert summary plumbing works e2e through sqa cursor (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/659\"\u003e#659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.10.0...v0.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `clickzetta-connector-python` from 0.8.107 to 0.8.109\n\nUpdates `couchbase` from 4.3.6 to 4.5.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/9338788daddf9ff1755bfcd86d845ddc8d331860\"\u003e\u003ccode\u003e9338788\u003c/code\u003e\u003c/a\u003e Update C++ core to 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/c3504fa193467a3eec47b23b16f12806fbebf9c1\"\u003e\u003ccode\u003ec3504fa\u003c/code\u003e\u003c/a\u003e PYCBC-1705: Fix FLE imports and exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/70fbc324ec9379cce5652a16ba1a2252efb0cabb\"\u003e\u003ccode\u003e70fbc32\u003c/code\u003e\u003c/a\u003e Update C++ core to 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/9b9164f8e42cca942439049301fd738317fcb1d5\"\u003e\u003ccode\u003e9b9164f\u003c/code\u003e\u003c/a\u003e PYCBC-1711: Don't set bucketType, replicaIndex, flushEnabled when creating bu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/5319285921c7077baf8f347b6cf0377d363d5c26\"\u003e\u003ccode\u003e5319285\u003c/code\u003e\u003c/a\u003e PYCBC-1704: Allow eventing function mgmt test fixtures to ignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/970621968dd2b3463cc450c49c1479297ea087a5\"\u003e\u003ccode\u003e9706219\u003c/code\u003e\u003c/a\u003e Update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/5485046fd3cd853c695d17a999aff9842de3c83e\"\u003e\u003ccode\u003e5485046\u003c/code\u003e\u003c/a\u003e Update eventing mgmt tests for recent 8.0 changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/1351bfae64ddf50e942ee52360735a6961ed076d\"\u003e\u003ccode\u003e1351bfa\u003c/code\u003e\u003c/a\u003e PYCBC-1699: Update SDK Build Setup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/83478e273fcee4748115b949d6809973519343a4\"\u003e\u003ccode\u003e83478e2\u003c/code\u003e\u003c/a\u003e Search User Experience Improvements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/593019056f414ea452f32a229a3c46d24e738285\"\u003e\u003ccode\u003e5930190\u003c/code\u003e\u003c/a\u003e PYCBC-1698: Improve Jenkins Integration Tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/couchbase/couchbase-python-client/compare/4.3.6...4.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `elasticsearch` from 8.14.0 to 9.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/elastic/elasticsearch-py/releases\"\u003eelasticsearch's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.3.0\u003c/h2\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epack_dense_vector\u003c/code\u003e helper function to pack dense vectors for efficient uploading (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3219\"\u003e#3219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNew and updated ES|QL functions in the ES|QL query builder for 9.3 and Serverless (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3266\"\u003e#3266\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAPI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ecat.circuit_breaker\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eesql.get_view\u003c/code\u003e, \u003ccode\u003eesql.put_view\u003c/code\u003e and \u003ccode\u003eesql.delete_view\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eindices.get_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.put_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.delete_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.get_all_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.get_sample\u003c/code\u003e, \u003ccode\u003eindices.get_sample_stats\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003einference.put_groq\u003c/code\u003e, \u003ccode\u003einference.put_openshift_ai\u003c/code\u003e, \u003ccode\u003einference.put_nvidia\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003edownsampling_method\u003c/code\u003e argument to \u003ccode\u003eindices.put_data_lifecycle\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ereturn_documents\u003c/code\u003e and \u003ccode\u003etop_n\u003c/code\u003e arguments to \u003ccode\u003einference.rerank\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eclose_job\u003c/code\u003e argument to \u003ccode\u003eml.stop_datafeed\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecertificate_identity\u003c/code\u003e to \u003ccode\u003esecurity.create_cross_cluster_api_key\u003c/code\u003e and \u003ccode\u003esecurity.update_cross_cluster_api_key\u003c/code\u003e APIs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServerless-specific\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eproject_routing\u003c/code\u003e argument to \u003ccode\u003eproject.tags\u003c/code\u003e API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDSL\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eNumpyDenseVector\u003c/code\u003e field, with support for dense vectors based on numpy arrays (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3218\"\u003e#3218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eExponentialHistogram\u003c/code\u003e field\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003etime_series_metric\u003c/code\u003e argument to \u003ccode\u003eHistogram\u003c/code\u003e field\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eon_disk_rescore\u003c/code\u003e argument from \u003ccode\u003eDenseVectorIndexOptions\u003c/code\u003e type\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eslices\u003c/code\u003e argument to \u003ccode\u003eUpdateByQueryResponse\u003c/code\u003e type\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.2.1\u003c/h2\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInstrument ping with OTel (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3160\"\u003e#3160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake positional arguments in DSL generated classes explicit  (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3233\"\u003e#3233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd warnings for private APIs (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3212\"\u003e#3212\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eES|QL query builder: fix missing assignment (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3151\"\u003e#3151\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse relative imports to fix \u003ccode\u003eelasticsearch9\u003c/code\u003e package imports (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3232\"\u003e#3232\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAPI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003etransform.get_node_stats\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003erequests_per_second\u003c/code\u003e argument to \u003ccode\u003edelete_by_query_rethrottle\u003c/code\u003e, \u003ccode\u003ereindex_rethrottle\u003c/code\u003e and \u003ccode\u003eupdate_by_query_rethrottle\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eallow_closed\u003c/code\u003e, \u003ccode\u003eallow_no_indices\u003c/code\u003e, \u003ccode\u003eexpand_wildcards\u003c/code\u003e, \u003ccode\u003eignore_throttled\u003c/code\u003e and \u003ccode\u003eignore_available\u003c/code\u003e arguments to \u003ccode\u003ecat.segments\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003echunking_settings\u003c/code\u003e argument to \u003ccode\u003einference.put_watsonxai\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eid\u003c/code\u003e argument to \u003ccode\u003eml.stop_trained_model_deployment\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003echunking_settings\u003c/code\u003e argument from \u003ccode\u003einference.put_anthropic\u003c/code\u003e, \u003ccode\u003einference.put_contextualai\u003c/code\u003e, \u003ccode\u003einference.put_deepseek\u003c/code\u003e APIs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/adae2d6d3d76f3ea75cd758ce64223bd76df45e5\"\u003e\u003ccode\u003eadae2d6\u003c/code\u003e\u003c/a\u003e Release 9.3.0 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3300\"\u003e#3300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/ea2227c743d7cacb474efecf4d8b84fa553f9eec\"\u003e\u003ccode\u003eea2227c\u003c/code\u003e\u003c/a\u003e Add Python 3.14 trove classifier (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3296\"\u003e#3296\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3299\"\u003e#3299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/b507e3e2d91ff0b6f8fb4a53ea23caa989677436\"\u003e\u003ccode\u003eb507e3e\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3293\"\u003e#3293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/76150204725b1495cad3348c573406fc1f3512d1\"\u003e\u003ccode\u003e7615020\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3280\"\u003e#3280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/ef8d102b3fc4d7572e0fd0bb56afe4291fddc529\"\u003e\u003ccode\u003eef8d102\u003c/code\u003e\u003c/a\u003e Stop using pytz (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3275\"\u003e#3275\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3278\"\u003e#3278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/65870f3504344ba7f67feb7721522bef936a92cf\"\u003e\u003ccode\u003e65870f3\u003c/code\u003e\u003c/a\u003e allow adding elasticsearch query filter for mmr searching (elastic#2638) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/32\"\u003e#32\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/b110f19a49ad492d2d6aa514afaac35360ac3c93\"\u003e\u003ccode\u003eb110f19\u003c/code\u003e\u003c/a\u003e Updates to ES|QL functions for 9.3 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3266\"\u003e#3266\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3272\"\u003e#3272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/f3d082788f52b5fe3c80926624fa8a61aa4deb37\"\u003e\u003ccode\u003ef3d0827\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3269\"\u003e#3269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/80818cc2640fcdf902919a3dc5500ae945d33271\"\u003e\u003ccode\u003e80818cc\u003c/code\u003e\u003c/a\u003e Auto-generated code for 9.3 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3262\"\u003e#3262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/6baa03faedefc90ccbc5f902626cc8cea46aed6a\"\u003e\u003ccode\u003e6baa03f\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3252\"\u003e#3252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/elastic/elasticsearch-py/compare/v8.14.0...v9.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oracledb` from 3.3.0 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oracle/python-oracledb/releases\"\u003eoracledb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.4.2\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.2 is now released. This release addresses a number of issues. See the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-2-january-2026\"\u003efull release notes\u003c/a\u003e for all of the details.\u003c/p\u003e\n\u003ch2\u003ev3.4.1\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.1 is now released. This release addresses a number of issues. See the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-1-november-2025\"\u003efull release notes\u003c/a\u003e for all of the details.\u003c/p\u003e\n\u003ch2\u003ev3.4.0\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.0 is now released. This release has the following highlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003esupport for Direct Path Load in thin mode for fast data ingestion\u003c/li\u003e\n\u003cli\u003esupport for data frames is no longer considered a pre-release\u003c/li\u003e\n\u003cli\u003esupport for type mapping when querying with data frames\u003c/li\u003e\n\u003cli\u003esupport for ingesting more Apache Arrow data types\u003c/li\u003e\n\u003cli\u003esupport for ingesting Apache Arrow data frames containing multiple chunks\u003c/li\u003e\n\u003cli\u003esupport for cursor.executemany() operating on large input data in batches\u003c/li\u003e\n\u003cli\u003efine-grained control over LOB and number handling\u003c/li\u003e\n\u003cli\u003enew optional install dependencies for plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-0-october-2025\"\u003efull release notes\u003c/a\u003e for all of the details.\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/oracle/python-oracledb/commit/51581eeb0a626fb3df4e25e00ddb3a28137d3831\"\u003e\u003ccode\u003e51581ee\u003c/code\u003e\u003c/a\u003e Preparing to release python-oracledb 3.4.2.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/81ceb554a0bfb52eb64b7b3870907d9b19bf15bd\"\u003e\u003ccode\u003e81ceb55\u003c/code\u003e\u003c/a\u003e Fixed bug which caused Connection.call_timeout to be reset to zero when\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/4a94025de99763fd0d16d1c2d79d416b9a075e12\"\u003e\u003ccode\u003e4a94025\u003c/code\u003e\u003c/a\u003e Eliminated memory leak when converting a third party data frame to one\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/36a29517530bfe311dab41218a3bc3d80700fe2c\"\u003e\u003ccode\u003e36a2951\u003c/code\u003e\u003c/a\u003e Fixed bug when decoding PL/SQL booleans in Oracle Database 12.1 (\u003ca href=\"https://redirect.github.com/oracle/python-oracledb/issues/565\"\u003e#565\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/6072f01b420af4c2d36c1b9f7b1421aab64ea336\"\u003e\u003ccode\u003e6072f01\u003c/code\u003e\u003c/a\u003e Grammar fix.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/f8be001d9862d6b0b6ec6158b67affef7a70556e\"\u003e\u003ccode\u003ef8be001\u003c/code\u003e\u003c/a\u003e Fixed bug causing hang when using asyncio and the database closes the\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/6e0d8b9da4b259e1b11ad648d354ca659f537a6a\"\u003e\u003ccode\u003e6e0d8b9\u003c/code\u003e\u003c/a\u003e Eliminated race condition in background thread/coroutine management for\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/40200bfa1cb9dde0977a509c84cfdde66f144358\"\u003e\u003ccode\u003e40200bf\u003c/code\u003e\u003c/a\u003e Adjusted code and tests to be capable of being run in environments other\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/36f8899fa71ebd4aec80b87f990633e86abc6b95\"\u003e\u003ccode\u003e36f8899\u003c/code\u003e\u003c/a\u003e Added support for ingesting Arrow arrays which only consist of null\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/7bf23b6c2061d20358b030104249bd703ac1832e\"\u003e\u003ccode\u003e7bf23b6\u003c/code\u003e\u003c/a\u003e Fixed bug when calling Cursor.executemany() with all of the values in at\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/oracle/python-oracledb/compare/v3.3.0...v3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pgvector` from 0.2.5 to 0.4.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md\"\u003epgvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2 (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 6\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estr\u003c/code\u003e objects for \u003ccode\u003ebit\u003c/code\u003e type with SQLAlchemy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 (2025-04-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eSparseVector\u003c/code\u003e constructor for SciPy sparse matrices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 (2025-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded top-level \u003ccode\u003epgvector\u003c/code\u003e package\u003c/li\u003e\n\u003cli\u003eAdded support for pg8000\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ebytes\u003c/code\u003e to \u003ccode\u003eBit\u003c/code\u003e constructor\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eglobally\u003c/code\u003e option to default to \u003ccode\u003eFalse\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003earrays\u003c/code\u003e option to default to \u003ccode\u003eTrue\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eFixed equality for \u003ccode\u003eVector\u003c/code\u003e, \u003ccode\u003eHalfVector\u003c/code\u003e, \u003ccode\u003eBit\u003c/code\u003e, and \u003ccode\u003eSparseVector\u003c/code\u003e classes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eindices\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods of \u003ccode\u003eSparseVector\u003c/code\u003e returning tuple instead of list in some cases\u003c/li\u003e\n\u003cli\u003eDropped support for Python \u0026lt; 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 (2024-10-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003earrays\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 (2024-10-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eavg\u003c/code\u003e function with type casting to SQLAlchemy\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eglobally\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.4 (2024-09-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eschema\u003c/code\u003e option for asyncpg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.3 (2024-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved support for cursor factories with Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.2 (2024-07-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error with asyncpg and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.1 (2024-07-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error parsing zero sparse vectors\u003c/li\u003e\n\u003cli\u003eFixed error with Psycopg 2 and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003cli\u003eFixed error message when \u003ccode\u003evector\u003c/code\u003e type not found with Psycopg 3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.0 (2024-06-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ehalfvec\u003c/code\u003e, \u003ccode\u003ebit\u003c/code\u003e, and \u003ccode\u003esparsevec\u003c/code\u003e types to Django\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/2968f258f9486531bd1340cbda4ff8fcaf06cdc1\"\u003e\u003ccode\u003e2968f25\u003c/code\u003e\u003c/a\u003e Version bump to 0.4.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/674f5ba3410c873d49f50fa9725b95d9db50c674\"\u003e\u003ccode\u003e674f5ba\u003c/code\u003e\u003c/a\u003e Updated checkout action [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e2986daf2b1533cc2c849f7e39350e31d57ac325\"\u003e\u003ccode\u003ee2986da\u003c/code\u003e\u003c/a\u003e Added support for Django 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e211ba4029f204734f0c001fbb90f6a594d561ae\"\u003e\u003ccode\u003ee211ba4\u003c/code\u003e\u003c/a\u003e Test with Python 3.14 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/1a72b7571adf3325174b383aca85bfb3a5b925fa\"\u003e\u003ccode\u003e1a72b75\u003c/code\u003e\u003c/a\u003e Updated pgvector on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/c820a53bfb46196551de3c3f59f81b192d890574\"\u003e\u003ccode\u003ec820a53\u003c/code\u003e\u003c/a\u003e Simplified examples [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/caf1a2e0dd7a1ba2ad0ca9f09b50516dcfffcdeb\"\u003e\u003ccode\u003ecaf1a2e\u003c/code\u003e\u003c/a\u003e Added docs for binary quantization with SQLAlchemy [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/dc9a8f959995f009649fd230139ca41193e0a801\"\u003e\u003ccode\u003edc9a8f9\u003c/code\u003e\u003c/a\u003e Added test for binary quantization with re-ranking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/33dee606229489c9ffb0cb5a1cd72bd4705ac618\"\u003e\u003ccode\u003e33dee60\u003c/code\u003e\u003c/a\u003e Added support for str objects for bit type with SQLAlchemy - \u003ca href=\"https://redirect.github.com/pgvector/pgvector-python/issues/137\"\u003e#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/ee3e71ca2c07a12a8332a3877c0ce14adc9a5da8\"\u003e\u003ccode\u003eee3e71c\u003c/code\u003e\u003c/a\u003e Updated format for license identifier\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgvector/pgvector-python/compare/v0.2.5...v0.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymilvus` from 2.5.17 to 2.6.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/milvus-io/pymilvus/releases\"\u003epymilvus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePyMilvus v2.6.9 Release Notes\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003efix: pass context to \u003ccode\u003edescribe_collection\u003c/code\u003e in \u003ccode\u003eSearchIteratorV2\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3271\"\u003e#3271\u003c/a\u003e) — Forward \u003ccode\u003ekwargs\u003c/code\u003e (including \u003ccode\u003econtext\u003c/code\u003e carrying \u003ccode\u003edb_name\u003c/code\u003e) from \u003ccode\u003eSearchIteratorV2.__init__\u003c/code\u003e to \u003ccode\u003edescribe_collection\u003c/code\u003e, matching the existing \u003ccode\u003eQueryIterator\u003c/code\u003e pattern. Without this fix, \u003ccode\u003eSearchIteratorV2\u003c/code\u003e always queries the \u003ccode\u003edefault\u003c/code\u003e database, causing \u0026quot;can't find collection\u0026quot; errors for non-default databases.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003efix: unpack \u003ccode\u003e_get_schema\u003c/code\u003e tuple return in \u003ccode\u003e_list_vector_indexes\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3275\"\u003e#3275\u003c/a\u003e) — Fix tuple unpacking issue in \u003ccode\u003e_list_vector_indexes\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eenhance: optimize gRPC keepalive defaults and support user-configurable \u003ccode\u003egrpc_options\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3258\"\u003e#3258\u003c/a\u003e) — Improve gRPC keepalive defaults and allow users to configure gRPC channel options.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eenhance: support warmup type params for \u003ccode\u003eFieldSchema\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3255\"\u003e#3255\u003c/a\u003e) — Add warmup type parameter support in field schema definitions.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTests\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eenhance: increase unit test coverage\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3233\"\u003e#3233\u003c/a\u003e) — Comprehensive tests added for \u003ccode\u003eclient/types.py\u003c/code\u003e, iterator utilities, \u003ccode\u003eorm/utility.py\u003c/code\u003e, request builder methods, \u003ccode\u003eclient/abstract.py\u003c/code\u003e, decorators, and \u003ccode\u003eclient/utils.py\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/milvus-io/pymilvus/compare/v2.6.8...v2.6.9\"\u003ehttps://github.com/milvus-io/pymilvus/compare/v2.6.8...v2.6.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePyMilvus v2.6.8 Release Notes\u003c/h2\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eParse dbname from uri\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3247\"\u003e#3247\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🔧 Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eRemove the usage of grpcio-testing\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3225\"\u003e#3225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eExclude data generation time from benchmark\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3246\"\u003e#3246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eOptimize search result performance (Hit class, HybridHits init)\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3248\"\u003e#3248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAdd channel_state and debug_error_string to gRPC error diagnostics\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3249\"\u003e#3249\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📝 Contributors\u003c/h2\u003e\n\u003cp\u003eWe would like to thank all contributors who made this release possible:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/XuanYang-cn\"\u003e\u003ccode\u003e@​XuanYang-cn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zhuwenxing\"\u003e\u003ccode\u003e@​zhuwenxing\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sijie-ni-0214\"\u003e\u003ccode\u003e@​sijie-ni-0214\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/milvus-io/pymilvus/compare/v2.6.7...v2.6.8\"\u003ehttps://github.com/milvus-io/pymilvus/compare/v2.6.7...v2.6.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePyMilvus v2.6.7 Release Notes\u003c/h2\u003e\n\u003ch2\u003e🎉 New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSupport semantic-highlighter\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3180\"\u003e#3180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSupport async client list_persistent_segments\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3207\"\u003e#3207\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\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/milvus-io/pymilvus/commit/93bd7d75da6963878435d933f6af6dcdf73135e0\"\u003e\u003ccode\u003e93bd7d7\u003c/code\u003e\u003c/a\u003e [Backport 2.6] fix: unpack _get_schema tuple return in _list_vector_indexes (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/c1200a4b38daa909b0a181a960032cfd60c6e008\"\u003e\u003ccode\u003ec1200a4\u003c/code\u003e\u003c/a\u003e fix: pass context to describe_collection in SearchIteratorV2 (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3271\"\u003e#3271\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3274\"\u003e#3274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/bc8c7074f9340a5b65cfc400d46a4e0d26c9c113\"\u003e\u003ccode\u003ebc8c707\u003c/code\u003e\u003c/a\u003e [Backport 2.6] enhance: optimize gRPC keepalive defaults and support user-con...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/111eae33dfe05f825808a61c494fba3b508c19ca\"\u003e\u003ccode\u003e111eae3\u003c/code\u003e\u003c/a\u003e [Backport 2.6] support warmup type params for fieldschema (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3255\"\u003e#3255\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3256\"\u003e#3256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/7e634e604352634a0cb13922f9614e14592767f7\"\u003e\u003ccode\u003e7e634e6\u003c/code\u003e\u003c/a\u003e enhance: Add ut to increase ut coverage (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3233\"\u003e#3233\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3254\"\u003e#3254\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/3e482a8b73bf23f8571e5a72eeec0c8c881b8c3a\"\u003e\u003ccode\u003e3e482a8\u003c/code\u003e\u003c/a\u003e fix: Correct milvus-proto commit (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3252\"\u003e#3252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/b06fc4e5a3f59682831f3768413bfeb6ebc8f679\"\u003e\u003ccode\u003eb06fc4e\u003c/code\u003e\u003c/a\u003e [Backport 2.6] enhance: add channel_state and debug_error_string to gRPC erro...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/64de51d42164b3e099498d5af0a767fc620ddf76\"\u003e\u003ccode\u003e64de51d\u003c/code\u003e\u003c/a\u003e [Backport 2.6] [enhance]:Optimize search result performance (Hit class, Hybri...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/c27f496b3db03489e942e831e2e856536ffd8f58\"\u003e\u003ccode\u003ec27f496\u003c/code\u003e\u003c/a\u003e [Backport 2.6] fix:parse dbname from uri (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3237\"\u003e#3237\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3247\"\u003e#3247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/26bd0fc7a3166f85604f5e59474507f183ea3d58\"\u003e\u003ccode\u003e26bd0fc\u003c/code\u003e\u003c/a\u003e feat: [2.6] support truncate collection api (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3238\"\u003e#3238\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/milvus-io/pymilvus/compare/v2.5.17...v2.6.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymochow` from 2.2.9 to 2.3.6\n\nUpdates `pyobvector` from 0.2.20 to 0.2.25\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eS...\n\n_Description has been truncated_","html_url":"https://github.com/langgenius/dify/pull/33336","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/langgenius%2Fdify/issues/33336","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/33336/packages"},{"uuid":"4059268715","node_id":"PR_kwDOJVxJus7Jw1cI","number":33326,"state":"closed","title":"chore(deps-dev): bump the vdb group across 1 directory with 18 updates","user":"dependabot[bot]","labels":["dependencies","size:M","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-12T01:53:27.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-11T16:29:22.000Z","updated_at":"2026-03-12T01:53:28.000Z","time_to_close":33845,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"vdb","update_count":18,"packages":[{"name":"weaviate-client","old_version":"4.17.0","new_version":"4.20.4","repository_url":"https://github.com/weaviate/weaviate-python-client"},{"name":"alibabacloud-tea-openapi","old_version":"0.3.16","new_version":"0.4.3","repository_url":"https://github.com/aliyun/darabonba-openapi"},{"name":"chromadb","old_version":"0.5.20","new_version":"1.5.5","repository_url":"https://github.com/chroma-core/chroma"},{"name":"clickhouse-connect","old_version":"0.10.0","new_version":"0.14.0","repository_url":"https://github.com/ClickHouse/clickhouse-connect"},{"name":"couchbase","old_version":"4.3.6","new_version":"4.5.0","repository_url":"https://github.com/couchbase/couchbase-python-client"},{"name":"elasticsearch","old_version":"8.14.0","new_version":"9.3.0","repository_url":"https://github.com/elastic/elasticsearch-py"},{"name":"oracledb","old_version":"3.3.0","new_version":"3.4.2","repository_url":"https://github.com/oracle/python-oracledb"},{"name":"pgvector","old_version":"0.2.5","new_version":"0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"},{"name":"pymilvus","old_version":"2.5.17","new_version":"2.6.9","repository_url":"https://github.com/milvus-io/pymilvus"},{"name":"pymochow","old_version":"2.2.9","new_version":"2.3.6"},{"name":"pyobvector","old_version":"0.2.20","new_version":"0.2.25","repository_url":"https://github.com/oceanbase/pyobvector"},{"name":"qdrant-client","old_version":"1.9.0","new_version":"1.17.0","repository_url":"https://github.com/qdrant/qdrant-client"},{"name":"tablestore","old_version":"6.3.7","new_version":"6.4.1","repository_url":"https://github.com/aliyun/aliyun-tablestore-python-sdk"},{"name":"tcvectordb","old_version":"1.6.4","new_version":"2.0.0"},{"name":"tidb-vector","old_version":"0.0.9","new_version":"0.0.15"},{"name":"upstash-vector","old_version":"0.6.0","new_version":"0.8.0","repository_url":"https://github.com/upstash/vector-py"},{"name":"xinference-client","old_version":"1.2.2","new_version":"2.2.0","repository_url":"https://github.com/xorbitsai/inference-client"},{"name":"mysql-connector-python","old_version":"9.5.0","new_version":"9.6.0","repository_url":"https://github.com/mysql/mysql-connector-python"}],"path":null,"ecosystem":"pip"},"body":"Bumps the vdb group with 18 updates in the /api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [weaviate-client](https://github.com/weaviate/weaviate-python-client) | `4.17.0` | `4.20.4` |\n| [alibabacloud-tea-openapi](https://github.com/aliyun/darabonba-openapi) | `0.3.16` | `0.4.3` |\n| [chromadb](https://github.com/chroma-core/chroma) | `0.5.20` | `1.5.5` |\n| [clickhouse-connect](https://github.com/ClickHouse/clickhouse-connect) | `0.10.0` | `0.14.0` |\n| [couchbase](https://github.com/couchbase/couchbase-python-client) | `4.3.6` | `4.5.0` |\n| [elasticsearch](https://github.com/elastic/elasticsearch-py) | `8.14.0` | `9.3.0` |\n| [oracledb](https://github.com/oracle/python-oracledb) | `3.3.0` | `3.4.2` |\n| [pgvector](https://github.com/pgvector/pgvector-python) | `0.2.5` | `0.4.2` |\n| [pymilvus](https://github.com/milvus-io/pymilvus) | `2.5.17` | `2.6.9` |\n| [pymochow](http://bce.baidu.com) | `2.2.9` | `2.3.6` |\n| [pyobvector](https://github.com/oceanbase/pyobvector) | `0.2.20` | `0.2.25` |\n| [qdrant-client](https://github.com/qdrant/qdrant-client) | `1.9.0` | `1.17.0` |\n| [tablestore](https://github.com/aliyun/aliyun-tablestore-python-sdk) | `6.3.7` | `6.4.1` |\n| tcvectordb | `1.6.4` | `2.0.0` |\n| tidb-vector | `0.0.9` | `0.0.15` |\n| [upstash-vector](https://github.com/upstash/vector-py) | `0.6.0` | `0.8.0` |\n| [xinference-client](https://github.com/xorbitsai/inference-client) | `1.2.2` | `2.2.0` |\n| [mysql-connector-python](https://github.com/mysql/mysql-connector-python) | `9.5.0` | `9.6.0` |\n\n\nUpdates `weaviate-client` from 4.17.0 to 4.20.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weaviate/weaviate-python-client/releases\"\u003eweaviate-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.20.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump authlib to 1.6.9 to avoid high cve by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1975\"\u003eweaviate/weaviate-python-client#1975\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.2...v4.20.3\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.2...v4.20.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eperf: use deque for iterator object cache by \u003ca href=\"https://github.com/giulio-leone\"\u003e\u003ccode\u003e@​giulio-leone\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1968\"\u003eweaviate/weaviate-python-client#1968\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexpose include_last_used_time parameter, return created_at and api_key_first_letters by \u003ca href=\"https://github.com/dudanogueira\"\u003e\u003ccode\u003e@​dudanogueira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1965\"\u003eweaviate/weaviate-python-client#1965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for incremental backups by \u003ca href=\"https://github.com/dirkkul\"\u003e\u003ccode\u003e@​dirkkul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1928\"\u003eweaviate/weaviate-python-client#1928\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/giulio-leone\"\u003e\u003ccode\u003e@​giulio-leone\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1968\"\u003eweaviate/weaviate-python-client#1968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.1...v4.20.2\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.1...v4.20.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix empty list filter raising IndexError instead of WeaviateInvalidInputError by \u003ca href=\"https://github.com/dirkkul\"\u003e\u003ccode\u003e@​dirkkul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1962\"\u003eweaviate/weaviate-python-client#1962\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.0...v4.20.1\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.0...v4.20.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eflat index: Add support for RQ and include cache param by \u003ca href=\"https://github.com/rlmanrique\"\u003e\u003ccode\u003e@​rlmanrique\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1844\"\u003eweaviate/weaviate-python-client#1844\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003ecollection.data.ingest\u003c/code\u003e for sync/async SSB usage by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1876\"\u003eweaviate/weaviate-python-client#1876\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd delete_property_index to collection config by \u003ca href=\"https://github.com/DanielJanicek\"\u003e\u003ccode\u003e@​DanielJanicek\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1940\"\u003eweaviate/weaviate-python-client#1940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid id invalidation in nested properties by \u003ca href=\"https://github.com/dudanogueira\"\u003e\u003ccode\u003e@​dudanogueira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1952\"\u003eweaviate/weaviate-python-client#1952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide options allowing users to specify custom grpc SSL credentials by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1946\"\u003eweaviate/weaviate-python-client#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for cancelling backup restore ops by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1956\"\u003eweaviate/weaviate-python-client#1956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove cache option from SQConfig, deprecate field in factory method by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1954\"\u003eweaviate/weaviate-python-client#1954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow imgs/img_props in cohere generative config runtime by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1955\"\u003eweaviate/weaviate-python-client#1955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce async repl conf in (re)configure and unit tests of usage by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1953\"\u003eweaviate/weaviate-python-client#1953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Hfresh index type by \u003ca href=\"https://github.com/robbespo00\"\u003e\u003ccode\u003e@​robbespo00\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1848\"\u003eweaviate/weaviate-python-client#1848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Cluster Statistics (client.cluster.statistics()) by \u003ca href=\"https://github.com/Shah91n\"\u003e\u003ccode\u003e@​Shah91n\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1959\"\u003eweaviate/weaviate-python-client#1959\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/Shah91n\"\u003e\u003ccode\u003e@​Shah91n\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1959\"\u003eweaviate/weaviate-python-client#1959\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.19.4...v4.20.0\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.19.4...v4.20.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.19.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd gRPC ping check to is_live method  by \u003ca href=\"https://github.com/sylvinho81\"\u003e\u003ccode\u003e@​sylvinho81\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1949\"\u003eweaviate/weaviate-python-client#1949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-raise in \u003ccode\u003ecollection.exists()\u003c/code\u003e if status code is not 404 by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1950\"\u003eweaviate/weaviate-python-client#1950\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weaviate/weaviate-python-client/blob/main/docs/changelog.rst\"\u003eweaviate-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 4.20.4\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Include client version in GRPC requests\n- Add support for the new \u003ccode\u003emulti2vec_google_gemini\u003c/code\u003e module\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.3\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Update of \u003ccode\u003eauthlib\u003c/code\u003e dependency\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.2\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Support for incremental backups\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.1\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Raise an input error when filtering on an empty list\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.0\u003c/h2\u003e\n\u003cp\u003eThis minor version includes:\n- Support for new 1.36 features:\n- Server-side batching (SSB) is now GA via \u003ccode\u003ebatch.stream\u003c/code\u003e (\u003ccode\u003ebatch.experimental\u003c/code\u003e is deprecated)\n- Add \u003ccode\u003ecollection.data.ingest\u003c/code\u003e as a new entry point for SSB usage in sync and async clients\n- Add support for the new HFresh index type\n- Add support for async replication configuration\n- Add support for cancelling backup restore operations\n- Add \u003ccode\u003ecollection.config.delete_property_index\u003c/code\u003e to drop filterable, searchable, or range filter indices from properties\n- Add \u003ccode\u003eclient.cluster.statistics()\u003c/code\u003e method for retrieving cluster and Raft statistics\n- Allow \u003ccode\u003eimages\u003c/code\u003e and \u003ccode\u003eimage_properties\u003c/code\u003e in Cohere generative config at runtime\n- Provide options to specify custom gRPC SSL credentials for advanced connection setups\n- Remove \u003ccode\u003ecache\u003c/code\u003e option from \u003ccode\u003eSQConfig\u003c/code\u003e and deprecate the field in the factory method\n- Fix validation of nested object properties to allow \u003ccode\u003eid\u003c/code\u003e as a nested property name\u003c/p\u003e\n\u003ch2\u003eVersion 4.19.4\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Adds the gRPC healthcheck ping to the \u003ccode\u003eis_live()\u003c/code\u003e method of the async client to provide a more accurate check of the connection status of the async client\n- Fixes bug where exceptions raised in \u003ccode\u003ecollections.exists()\u003c/code\u003e were silently ignored and the method would return \u003ccode\u003eFalse\u003c/code\u003e instead of raising the exception\u003c/p\u003e\n\u003ch2\u003eVersion 4.19.3\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Add support for VoyageAI voyage-4 model family (voyage-4, voyage-4-lite, voyage-4-large)\n- A fix for async client connection issues when \u003ccode\u003epypi\u003c/code\u003e is down\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/weaviate/weaviate-python-client/commit/c0b796e07af0fef5555d37cf78a9a47dae62bb0c\"\u003e\u003ccode\u003ec0b796e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1982\"\u003e#1982\u003c/a\u003e from weaviate/changelog_4_20_4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/dfa8ae431413db4bb66ad2054487018b3362f360\"\u003e\u003ccode\u003edfa8ae4\u003c/code\u003e\u003c/a\u003e Add changelog for v4.20.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/3a0958c19133ecb10565b66d4d0d4ab818d7a619\"\u003e\u003ccode\u003e3a0958c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1977\"\u003e#1977\u003c/a\u003e from weaviate/multi2vec-google-aistudio-vectorizer-c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/106f22584de2bc00f347534c19661af997112583\"\u003e\u003ccode\u003e106f225\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into multi2vec-google-aistudio-vectorizer-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/5ca709e0c068ae8531368d489062169cd7b9306d\"\u003e\u003ccode\u003e5ca709e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1980\"\u003e#1980\u003c/a\u003e from weaviate/client_version_grpc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/55e56f06bf0444fb4caf9f31da7b61dad10ef291\"\u003e\u003ccode\u003e55e56f0\u003c/code\u003e\u003c/a\u003e Dont overwrite version from additional headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/79ee3d030a8c9829c0ea3ca8240ebcdefe710647\"\u003e\u003ccode\u003e79ee3d0\u003c/code\u003e\u003c/a\u003e Add client version to GRPC headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/2ccdaa109a8ba599bec569b489aca3497087869e\"\u003e\u003ccode\u003e2ccdaa1\u003c/code\u003e\u003c/a\u003e chore: rename multi2vec_google_aistudio config to multi2vec_google_gemini\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/ce633119510d6b8ae71dec0310d4a5d08700e172\"\u003e\u003ccode\u003ece63311\u003c/code\u003e\u003c/a\u003e feat: add multi2vec_google_aistudio vectorizer config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/db8a91c514b042dda0871eeb7a27cc9c65f70e71\"\u003e\u003ccode\u003edb8a91c\u003c/code\u003e\u003c/a\u003e Bump authlib to 1.6.9 to avoid high cve (\u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1975\"\u003e#1975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.17.0...v4.20.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alibabacloud-tea-openapi` from 0.3.16 to 0.4.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aliyun/darabonba-openapi/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `chromadb` from 0.5.20 to 1.5.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/chroma-core/chroma/releases\"\u003echromadb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.5.5\u003c/h2\u003e\n\u003cp\u003eVersion: \u003ccode\u003e1.5.5\u003c/code\u003e\nGit ref: \u003ccode\u003erefs/tags/1.5.5\u003c/code\u003e\nBuild Date: \u003ccode\u003e2026-03-10T09:30\u003c/code\u003e\nPIP Package: \u003ccode\u003echroma-1.5.5.tar.gz\u003c/code\u003e\nGithub Container Registry Image: \u003ccode\u003e:1.5.5\u003c/code\u003e\nDockerHub Image: \u003ccode\u003e:1.5.5\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[RELEASE] Rust v0.13.2 by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6583\"\u003echroma-core/chroma#6583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Use buffer_unordered for lazy fragment fetch concurrency by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6584\"\u003echroma-core/chroma#6584\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] chroma configuration reference by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6592\"\u003echroma-core/chroma#6592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[PERF]: Dedup + filter out disbled collections before sysdb enrichment by \u003ca href=\"https://github.com/sanketkedia\"\u003e\u003ccode\u003e@​sanketkedia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6566\"\u003echroma-core/chroma#6566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[TST] Fix test_cross_version_persist by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6604\"\u003echroma-core/chroma#6604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Warn on no API key set on JS EFs by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6599\"\u003echroma-core/chroma#6599\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Add a GoogleGemini EF name alias by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6620\"\u003echroma-core/chroma#6620\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[RELEASE] Python 1.5.5 by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6602\"\u003echroma-core/chroma#6602\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chroma-core/chroma/compare/1.5.4...1.5.5\"\u003ehttps://github.com/chroma-core/chroma/compare/1.5.4...1.5.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.5.3\u003c/h2\u003e\n\u003cp\u003eVersion: \u003ccode\u003e1.5.3\u003c/code\u003e\nGit ref: \u003ccode\u003erefs/tags/1.5.3\u003c/code\u003e\nBuild Date: \u003ccode\u003e2026-03-07T19:07\u003c/code\u003e\nPIP Package: \u003ccode\u003echroma-1.5.3.tar.gz\u003c/code\u003e\nGithub Container Registry Image: \u003ccode\u003e:1.5.3\u003c/code\u003e\nDockerHub Image: \u003ccode\u003e:1.5.3\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[ENH] Thread topology name through purge-dirty pipeline by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6503\"\u003echroma-core/chroma#6503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CHORE]  Tighten down k8s resources in test. by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6509\"\u003echroma-core/chroma#6509\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Purge dirty via Spanner when topology is specified by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6504\"\u003echroma-core/chroma#6504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG]: Drop pydantic v1 compatibility layer for Python 3.14 support by \u003ca href=\"https://github.com/basnijholt\"\u003e\u003ccode\u003e@​basnijholt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6356\"\u003echroma-core/chroma#6356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[PERF] Parallelize segment reader initialization in filter and idf operators by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6522\"\u003echroma-core/chroma#6522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Preallocate during pull log parsing by \u003ca href=\"https://github.com/tanujnay112\"\u003e\u003ccode\u003e@​tanujnay112\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6528\"\u003echroma-core/chroma#6528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[TST] Make pytest use importlib by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6483\"\u003echroma-core/chroma#6483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CLN] Make telemetry a no-op and remove posthog as a dependency by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6489\"\u003echroma-core/chroma#6489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] fix forking numbers by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6530\"\u003echroma-core/chroma#6530\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/blob/HEAD/storage\"\u003eBUG\u003c/a\u003e: retry batch fetch on channel closure by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6526\"\u003echroma-core/chroma#6526\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG] CAS on version during reassignment by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6529\"\u003echroma-core/chroma#6529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] use ResourceExhausted error code for log backpressure by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6527\"\u003echroma-core/chroma#6527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Ordered sparse vector writer by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6495\"\u003echroma-core/chroma#6495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] update docs for s3 sync by \u003ca href=\"https://github.com/philipithomas\"\u003e\u003ccode\u003e@​philipithomas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6515\"\u003echroma-core/chroma#6515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG] avoid redundant manifest load in pull_logs_inner by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6544\"\u003echroma-core/chroma#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Skip record load when only id is requested by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6540\"\u003echroma-core/chroma#6540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/blob/HEAD/log\"\u003eENH\u003c/a\u003e add pointer-based log fetch via ScoutLogFragments by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6533\"\u003echroma-core/chroma#6533\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Add ReadLevel to count in be by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6539\"\u003echroma-core/chroma#6539\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Add a gauge metric in sysdb to track compaction_failure_count by \u003ca href=\"https://github.com/tanujnay112\"\u003e\u003ccode\u003e@​tanujnay112\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6550\"\u003echroma-core/chroma#6550\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Fix query param by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6557\"\u003echroma-core/chroma#6557\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/eca66b7afd4b7aea227644f8c78030f16fc2837a\"\u003e\u003ccode\u003eeca66b7\u003c/code\u003e\u003c/a\u003e [RELEASE] Python 1.5.5 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6602\"\u003e#6602\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/ce0eede5941e15017204c69387493a35ee97afa4\"\u003e\u003ccode\u003ece0eede\u003c/code\u003e\u003c/a\u003e [ENH] Add a GoogleGemini EF name alias (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6620\"\u003e#6620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/3604eea9165d26ef6eefb03893ae1b04d1803b1e\"\u003e\u003ccode\u003e3604eea\u003c/code\u003e\u003c/a\u003e [ENH] Warn on no API key set on JS EFs (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6599\"\u003e#6599\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/9e7bd7fbf91746166e56e140ed548d070f638722\"\u003e\u003ccode\u003e9e7bd7f\u003c/code\u003e\u003c/a\u003e [TST] Fix test_cross_version_persist (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6604\"\u003e#6604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/03a3169183d372360321c76a034c97f8a1e2ac4c\"\u003e\u003ccode\u003e03a3169\u003c/code\u003e\u003c/a\u003e [PERF]: Dedup + filter out disbled collections before sysdb enrichment (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6566\"\u003e#6566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/475bbfcfdba3b40c737c3a90a4f1a915298b16f6\"\u003e\u003ccode\u003e475bbfc\u003c/code\u003e\u003c/a\u003e [DOC] chroma configuration reference (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6592\"\u003e#6592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/02d2d8cd21150cd2ffdecce2c23e0234e04bb2fc\"\u003e\u003ccode\u003e02d2d8c\u003c/code\u003e\u003c/a\u003e [ENH] Use buffer_unordered for lazy fragment fetch concurrency (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6584\"\u003e#6584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/130449099a5eb756a55e4c73ed1d29fdebc5b371\"\u003e\u003ccode\u003e1304490\u003c/code\u003e\u003c/a\u003e [RELEASE] Rust v0.13.2 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6583\"\u003e#6583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/e0525a2f99589693141974a9c5a38b12299e8eef\"\u003e\u003ccode\u003ee0525a2\u003c/code\u003e\u003c/a\u003e [RELEASE] Python 1.5.4 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6585\"\u003e#6585\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/8c70b3cd112ca5608300b8e58710a4e52e5f97fb\"\u003e\u003ccode\u003e8c70b3c\u003c/code\u003e\u003c/a\u003e [ENH] Exclude yanked versions from cross-version persist test (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6588\"\u003e#6588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/chroma-core/chroma/compare/0.5.20...1.5.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `clickhouse-connect` from 0.10.0 to 0.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/releases\"\u003eclickhouse-connect's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.0\u003c/h2\u003e\n\u003ch2\u003eHigh level notes\u003c/h2\u003e\n\u003cp\u003eThis release is primarily focused on preparing the path to 1.0.0. It introduces a handful of breaking changes and deprecation warnings for APIs that will be removed or finalized in 1.0.0. If your code uses any of the deprecated parameters, you'll now see \u003ccode\u003eDeprecationWarning\u003c/code\u003es with clear migration guidance and highly recommend addressing these before upgrading to 1.0.0 when it ships.\u003c/p\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eapply_server_timezone\u003c/code\u003e renamed to \u003ccode\u003etz_source\u003c/code\u003e. Options are \u003ccode\u003e\u0026quot;auto\u0026quot;\u003c/code\u003e (the default), \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e, or \u003ccode\u003e\u0026quot;local\u0026quot;\u003c/code\u003e. The old parameter currently still works with a deprecation warning. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/670\"\u003eClickHouse/clickhouse-connect#670\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eutc_tz_aware\u003c/code\u003e renamed to \u003ccode\u003etz_mode\u003c/code\u003e. Options are \u003ccode\u003e\u0026quot;naive_utc\u0026quot;\u003c/code\u003e (the default), \u003ccode\u003e\u0026quot;aware\u0026quot;\u003c/code\u003e, or \u003ccode\u003e\u0026quot;schema\u0026quot;\u003c/code\u003e. The old parameter still currently still works with a deprecation warning. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/664\"\u003eClickHouse/clickhouse-connect#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003eObject('json')\u003c/code\u003e type. This was a legacy experimental JSON type has been removed in favor of the new JSON type in ClickHouse. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/666\"\u003eClickHouse/clickhouse-connect#666\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePandas 1.x support is deprecated and will be removed in 1.0.0. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/667\"\u003eClickHouse/clickhouse-connect#667\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThere's a async-native client based on clickhouse-connect v0.11.0 that is \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/releases/tag/v0.12.0rc1\"\u003eavailable\u003c/a\u003e for testing via \u003ccode\u003epip install clickhouse_connect[async]==0.12.0rc1\u003c/code\u003e. A \u003ccode\u003eFutureWarning\u003c/code\u003e advertising this will now be emitted on creation of the (to be legacy) async client. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/672\"\u003eClickHouse/clickhouse-connect#672\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eExperimental\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.14 free-threading (cp314t) wheel builds for all platforms. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/660\"\u003eClickHouse/clickhouse-connect#660\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where sending redundant settings is skipped. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/639\"\u003eClickHouse/clickhouse-connect#639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eSAMPLE\u003c/code\u003e in SQLAlchemy dialect. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/656\"\u003eClickHouse/clickhouse-connect#656\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/bsushmith\"\u003e\u003ccode\u003e@​bsushmith\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/656\"\u003eClickHouse/clickhouse-connect#656\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.13.0...v0.14.0\"\u003ehttps://github.com/ClickHouse/clickhouse-connect/compare/v0.13.0...v0.14.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.13.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eBREAKING CHANGE\u003c/strong\u003e: Implement native write path for \u003ccode\u003eVariant\u003c/code\u003e data type with type-aware dispatching. Previously, all values inserted into a \u003ccode\u003eVariant\u003c/code\u003e column were stringified and sent to the server, which would store them in the \u003ccode\u003eString\u003c/code\u003e member if present, or attempt server-side conversion otherwise. Values are now serialized using their native ClickHouse types client-side (e.g. inserting \u003ccode\u003e100\u003c/code\u003e into \u003ccode\u003eVariant(Int64, String)\u003c/code\u003e stores \u003ccode\u003eInt64(100)\u003c/code\u003e instead of \u003ccode\u003eString(\u0026quot;100\u0026quot;)\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003eKey changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eValues that don't match any variant member now raise \u003ccode\u003eDataError\u003c/code\u003e instead of being stringified and\ndelegated to the server.\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003etyped_variant(value, 'TypeName')\u003c/code\u003e helper is provided for cases where automatic dispatch\ncannot resolve the target type, such as when multiple variant members map to the same Python\ntype (e.g. \u003ccode\u003eArray(UInt32)\u003c/code\u003e vs \u003ccode\u003eArray(String)\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded \u003ccode\u003eutc_tz_aware=\u0026quot;schema\u0026quot;\u003c/code\u003e mode which returns timezone-aware datetimes only when the server's column schema explicitly defines a timezone (e.g. \u003ccode\u003eDateTime('UTC')\u003c/code\u003e), and naive datetimes for bare \u003ccode\u003eDateTime\u003c/code\u003e columns. This matches the ClickHouse schema definition exactly. Not yet supported for Arrow-based query methods. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/645\"\u003e#645\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type annotations to public API methods in \u003ccode\u003eClient\u003c/code\u003e, \u003ccode\u003eAsyncClient\u003c/code\u003e, \u003ccode\u003eHttpClient\u003c/code\u003e, and \u003ccode\u003eQueryResult\u003c/code\u003e. Ref \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/567\"\u003e#567\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003edict_add\u003c/code\u003e parameter typed as builtin \u003ccode\u003eany\u003c/code\u003e instead of \u003ccode\u003etyping.Any\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRecognize \u003ccode\u003eUPDATE\u003c/code\u003e as a command so lightweight updates work correctly via \u003ccode\u003eclient.query()\u003c/code\u003e and SQLAlchemy.\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: \u003ccode\u003eGROUP BY\u003c/code\u003e now renders label aliases instead of full expressions which avoids circular reference errors when an alias shadows a source column name in ClickHouse.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.11.0...v0.13.0\"\u003ehttps://github.com/ClickHouse/clickhouse-connect/compare/v0.11.0...v0.13.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.12.0rc1\u003c/h2\u003e\n\u003ch1\u003eNative Async Client (Pre-release)\u003c/h1\u003e\n\u003cp\u003eThis is a pre-release for testing and feedback on the new native async client built on \u003ca href=\"https://github.com/aio-libs/aiohttp\"\u003eaiohttp\u003c/a\u003e. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/141\"\u003e#141\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/ClickHouse/clickhouse-connect/blob/main/CHANGELOG.md\"\u003eclickhouse-connect's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.0, 2026-03-09\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRenamed \u003ccode\u003eapply_server_timezone\u003c/code\u003e parameter to \u003ccode\u003etz_source\u003c/code\u003e across Client and HttpClient. The new \u003ccode\u003etz_source\u003c/code\u003e parameter accepts string values: \u003ccode\u003e\u0026quot;auto\u0026quot;\u003c/code\u003e (default, was \u003ccode\u003eNone\u003c/code\u003e), \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e (was \u003ccode\u003eTrue\u003c/code\u003e or \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e), and \u003ccode\u003e\u0026quot;local\u0026quot;\u003c/code\u003e (was \u003ccode\u003eFalse\u003c/code\u003e). The old \u003ccode\u003eapply_server_timezone\u003c/code\u003e parameter is still accepted but emits a \u003ccode\u003eDeprecationWarning\u003c/code\u003e and will be removed in 1.0. Passing both \u003ccode\u003etz_source\u003c/code\u003e and \u003ccode\u003eapply_server_timezone\u003c/code\u003e raises \u003ccode\u003eProgrammingError\u003c/code\u003e. The \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e value (which had no distinct runtime behavior from \u003ccode\u003eTrue\u003c/code\u003e) maps to \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRenamed \u003ccode\u003eutc_tz_aware\u003c/code\u003e parameter to \u003ccode\u003etz_mode\u003c/code\u003e across Client, QueryContext, and all query methods. The new \u003ccode\u003etz_mode\u003c/code\u003e parameter accepts string values: \u003ccode\u003e\u0026quot;naive_utc\u0026quot;\u003c/code\u003e (default, was \u003ccode\u003eFalse\u003c/code\u003e), \u003ccode\u003e\u0026quot;aware\u0026quot;\u003c/code\u003e (was \u003ccode\u003eTrue\u003c/code\u003e), and \u003ccode\u003e\u0026quot;schema\u0026quot;\u003c/code\u003e (unchanged). The old \u003ccode\u003eutc_tz_aware\u003c/code\u003e parameter is still accepted but emits a \u003ccode\u003eDeprecationWarning\u003c/code\u003e and will be removed in 1.0. Passing both \u003ccode\u003etz_mode\u003c/code\u003e and \u003ccode\u003eutc_tz_aware\u003c/code\u003e raises \u003ccode\u003eProgrammingError\u003c/code\u003e. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/654\"\u003e#654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved the deprecated \u003ccode\u003eObject('json')\u003c/code\u003e type. This was the legacy experimental JSON type that has been superseded by the new \u003ccode\u003eJSON\u003c/code\u003e type in ClickHouse. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/556\"\u003e#556\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePandas 1.x support is now deprecated and will be removed in v1.0.0. A \u003ccode\u003eDeprecationWarning\u003c/code\u003e is emitted at import time for pandas 1.x users.\u003c/li\u003e\n\u003cli\u003eThe current \u003ccode\u003eAsyncClient\u003c/code\u003e is a thread-pool wrapper around the sync client and now emits a \u003ccode\u003eFutureWarning\u003c/code\u003e on creation, pointing users to the fully native async client available as a prerelease: \u003ccode\u003epip install 'clickhouse-connect[async]==0.12.0rc1'\u003c/code\u003e. This prerelease branch is based on 0.11.0 and is gathering feedback ahead of 1.0.0, where it will become the default async implementation. It is a drop-in replacement with the same API surface.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for the \u003ccode\u003eSAMPLE\u003c/code\u003e clause in SQLAlchemy statements. Note: Due to a SQLAlchemy limitation, only one hint (SAMPLE or FINAL) can be applied per table; chaining both will silently ignore one. For now, this change enables use of sample(), but chaining with final() is not yet supported.  Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/634\"\u003e#634\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eExperimental:\u003c/strong\u003e Added Python 3.14 free-threading (cp314t) wheel builds for all platforms. The full test suite currently (as of 2 MAR, 2026) passes under free-threaded Python, but is not added to the CI test matrix at this time nor has it been otherwise tested to any degree. Free-threading support should be considered experimental with no guarantees of correctness at this time. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/573\"\u003e#573\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.13.0, 2026-02-26\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBREAKING CHANGE: Implement native write path for \u003ccode\u003eVariant\u003c/code\u003e data type with type-aware dispatching.\nPreviously, all values inserted into a \u003ccode\u003eVariant\u003c/code\u003e column were stringified and sent to the server, which\nwould store them in the \u003ccode\u003eString\u003c/code\u003e member if present, or attempt server-side conversion otherwise. Values\nare now serialized using their native ClickHouse types client-side (e.g. inserting \u003ccode\u003e100\u003c/code\u003e into\n\u003ccode\u003eVariant(Int64, String)\u003c/code\u003e stores \u003ccode\u003eInt64(100)\u003c/code\u003e instead of \u003ccode\u003eString(\u0026quot;100\u0026quot;)\u003c/code\u003e). Key changes:\n\u003cul\u003e\n\u003cli\u003eValues that don't match any variant member now raise \u003ccode\u003eDataError\u003c/code\u003e instead of being stringified and\ndelegated to the server.\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003etyped_variant(value, 'TypeName')\u003c/code\u003e helper is provided for cases where automatic dispatch\ncannot resolve the target type, such as when multiple variant members map to the same Python\ntype (e.g. \u003ccode\u003eArray(UInt32)\u003c/code\u003e vs \u003ccode\u003eArray(String)\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eutc_tz_aware=\u0026quot;schema\u0026quot;\u003c/code\u003e mode which returns timezone-aware datetimes only when the server's column schema explicitly defines a timezone (e.g. \u003ccode\u003eDateTime('UTC')\u003c/code\u003e), and naive datetimes for bare \u003ccode\u003eDateTime\u003c/code\u003e columns. This matches the ClickHouse schema definition exactly. Not yet supported for Arrow-based query methods. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/645\"\u003e#645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd type annotations to public API methods in \u003ccode\u003eClient\u003c/code\u003e, \u003ccode\u003eAsyncClient\u003c/code\u003e, \u003ccode\u003eHttpClient\u003c/code\u003e, and \u003ccode\u003eQueryResult\u003c/code\u003e. Ref \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/567\"\u003e#567\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003edict_add\u003c/code\u003e parameter typed as builtin \u003ccode\u003eany\u003c/code\u003e instead of \u003ccode\u003etyping.Any\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRecognize \u003ccode\u003eUPDATE\u003c/code\u003e as a command so lightweight updates work correctly via \u003ccode\u003eclient.query()\u003c/code\u003e and SQLAlchemy.\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: \u003ccode\u003eGROUP BY\u003c/code\u003e now renders label aliases instead of full expressions which avoids circular reference errors when an alias shadows a source column name in ClickHouse.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.11.0, 2026-02-10\u003c/h2\u003e\n\u003ch3\u003ePython 3.9 Deprecation\u003c/h3\u003e\n\u003cp\u003ePython 3.9 EOL'd Oct 2025. Support for Python 3.9 is now softly deprecated and has been removed from our CI test matrix but\ndistribution wheels will continue to be built until the 1.0 release or until the builds naturally fail, whichever comes first.\nA \u003ccode\u003eDeprecationWarning\u003c/code\u003e will now be displayed when initializing the client on Python 3.9. Users should plan to upgrade to\nPython 3.10+ as 3.9 compatibility may break unexpectedly in future updates.\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where settings matching server defaults were not stored on client during initialization. Explicitly setting a default value is now respected (e.g., to prevent ClickHouse from auto-enabling optimizations). Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/638\"\u003e#638\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRaise OperationalError when ResponseSource hits network failure before any data is received. Previously, empty result would be returned. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/620\"\u003e#620\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix issue with DROP table in client temp table test.\u003c/li\u003e\n\u003cli\u003eFixed a bug where InsertContext state was not reset on insert failure, leading to reuse errors when data was passed separately.\u003c/li\u003e\n\u003cli\u003eFixed UTC-equivalent timezone recognition issue where servers returning \u003ccode\u003eEtc/UCT\u003c/code\u003e, \u003ccode\u003eGMT\u003c/code\u003e, or other UTC-equivalent timezone names caused inconsistent behavior with \u003ccode\u003eutc_tz_aware=False\u003c/code\u003e. DateTime columns with explicit UTC timezones now correctly return naive datetimes when \u003ccode\u003eutc_tz_aware=False\u003c/code\u003e regardless of the specific UTC-equivalent timezone name returned by the server. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/629\"\u003e#629\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/2dda7152c59b417b4b153d1dd8a061d475ae7c2f\"\u003e\u003ccode\u003e2dda715\u003c/code\u003e\u003c/a\u003e release prep for 0.14.0 (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/673\"\u003e#673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/5d5c3f24c9f7e864536e2aac52c3b8e2349ef2a9\"\u003e\u003ccode\u003e5d5c3f2\u003c/code\u003e\u003c/a\u003e async native future warning (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/672\"\u003e#672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/436050f1b3765605848d9765e3ee0e350b4c6758\"\u003e\u003ccode\u003e436050f\u003c/code\u003e\u003c/a\u003e add bare import smoke test to CI (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/671\"\u003e#671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/a5fbad0fcbac92279874b9214024d6087e307cb0\"\u003e\u003ccode\u003ea5fbad0\u003c/code\u003e\u003c/a\u003e rename apply_server_timezone to tz_source (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/670\"\u003e#670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/01e7ca036a26458acf7a22ca170bd4a1765aa6b1\"\u003e\u003ccode\u003e01e7ca0\u003c/code\u003e\u003c/a\u003e add pandas 1.x deprecation warning for 1.0.0 (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/667\"\u003e#667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/c65f54a079c790673d7f87bb2a303784d9081b8d\"\u003e\u003ccode\u003ec65f54a\u003c/code\u003e\u003c/a\u003e rename utc_tz_aware to tz_mode (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/664\"\u003e#664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/e3ac6a4fbde2e8e613d4b89ff6714ce2743c7381\"\u003e\u003ccode\u003ee3ac6a4\u003c/code\u003e\u003c/a\u003e remove deprecated experimental Object(JSON) type (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/666\"\u003e#666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/1fbddb505a4fed4eb149c3b142a98ccbfe4440fe\"\u003e\u003ccode\u003e1fbddb5\u003c/code\u003e\u003c/a\u003e Joe/638 fix issue where sending redundant settings is skipped (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/639\"\u003e#639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/314b7c71219b7c39e2098c90211d63b8b8eacceb\"\u003e\u003ccode\u003e314b7c7\u003c/code\u003e\u003c/a\u003e Add Python 3.14 free-threading (cp314t) wheel builds (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/660\"\u003e#660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/0a93e44be05a108fcd35d28814cfd478a95a4994\"\u003e\u003ccode\u003e0a93e44\u003c/code\u003e\u003c/a\u003e assert summary plumbing works e2e through sqa cursor (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/659\"\u003e#659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.10.0...v0.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `couchbase` from 4.3.6 to 4.5.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/9338788daddf9ff1755bfcd86d845ddc8d331860\"\u003e\u003ccode\u003e9338788\u003c/code\u003e\u003c/a\u003e Update C++ core to 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/c3504fa193467a3eec47b23b16f12806fbebf9c1\"\u003e\u003ccode\u003ec3504fa\u003c/code\u003e\u003c/a\u003e PYCBC-1705: Fix FLE imports and exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/70fbc324ec9379cce5652a16ba1a2252efb0cabb\"\u003e\u003ccode\u003e70fbc32\u003c/code\u003e\u003c/a\u003e Update C++ core to 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/9b9164f8e42cca942439049301fd738317fcb1d5\"\u003e\u003ccode\u003e9b9164f\u003c/code\u003e\u003c/a\u003e PYCBC-1711: Don't set bucketType, replicaIndex, flushEnabled when creating bu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/5319285921c7077baf8f347b6cf0377d363d5c26\"\u003e\u003ccode\u003e5319285\u003c/code\u003e\u003c/a\u003e PYCBC-1704: Allow eventing function mgmt test fixtures to ignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/970621968dd2b3463cc450c49c1479297ea087a5\"\u003e\u003ccode\u003e9706219\u003c/code\u003e\u003c/a\u003e Update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/5485046fd3cd853c695d17a999aff9842de3c83e\"\u003e\u003ccode\u003e5485046\u003c/code\u003e\u003c/a\u003e Update eventing mgmt tests for recent 8.0 changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/1351bfae64ddf50e942ee52360735a6961ed076d\"\u003e\u003ccode\u003e1351bfa\u003c/code\u003e\u003c/a\u003e PYCBC-1699: Update SDK Build Setup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/83478e273fcee4748115b949d6809973519343a4\"\u003e\u003ccode\u003e83478e2\u003c/code\u003e\u003c/a\u003e Search User Experience Improvements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/593019056f414ea452f32a229a3c46d24e738285\"\u003e\u003ccode\u003e5930190\u003c/code\u003e\u003c/a\u003e PYCBC-1698: Improve Jenkins Integration Tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/couchbase/couchbase-python-client/compare/4.3.6...4.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `elasticsearch` from 8.14.0 to 9.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/elastic/elasticsearch-py/releases\"\u003eelasticsearch's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.3.0\u003c/h2\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epack_dense_vector\u003c/code\u003e helper function to pack dense vectors for efficient uploading (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3219\"\u003e#3219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNew and updated ES|QL functions in the ES|QL query builder for 9.3 and Serverless (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3266\"\u003e#3266\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAPI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ecat.circuit_breaker\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eesql.get_view\u003c/code\u003e, \u003ccode\u003eesql.put_view\u003c/code\u003e and \u003ccode\u003eesql.delete_view\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eindices.get_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.put_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.delete_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.get_all_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.get_sample\u003c/code\u003e, \u003ccode\u003eindices.get_sample_stats\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003einference.put_groq\u003c/code\u003e, \u003ccode\u003einference.put_openshift_ai\u003c/code\u003e, \u003ccode\u003einference.put_nvidia\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003edownsampling_method\u003c/code\u003e argument to \u003ccode\u003eindices.put_data_lifecycle\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ereturn_documents\u003c/code\u003e and \u003ccode\u003etop_n\u003c/code\u003e arguments to \u003ccode\u003einference.rerank\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eclose_job\u003c/code\u003e argument to \u003ccode\u003eml.stop_datafeed\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecertificate_identity\u003c/code\u003e to \u003ccode\u003esecurity.create_cross_cluster_api_key\u003c/code\u003e and \u003ccode\u003esecurity.update_cross_cluster_api_key\u003c/code\u003e APIs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServerless-specific\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eproject_routing\u003c/code\u003e argument to \u003ccode\u003eproject.tags\u003c/code\u003e API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDSL\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eNumpyDenseVector\u003c/code\u003e field, with support for dense vectors based on numpy arrays (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3218\"\u003e#3218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eExponentialHistogram\u003c/code\u003e field\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003etime_series_metric\u003c/code\u003e argument to \u003ccode\u003eHistogram\u003c/code\u003e field\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eon_disk_rescore\u003c/code\u003e argument from \u003ccode\u003eDenseVectorIndexOptions\u003c/code\u003e type\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eslices\u003c/code\u003e argument to \u003ccode\u003eUpdateByQueryResponse\u003c/code\u003e type\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.2.1\u003c/h2\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInstrument ping with OTel (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3160\"\u003e#3160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake positional arguments in DSL generated classes explicit  (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3233\"\u003e#3233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd warnings for private APIs (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3212\"\u003e#3212\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eES|QL query builder: fix missing assignment (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3151\"\u003e#3151\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse relative imports to fix \u003ccode\u003eelasticsearch9\u003c/code\u003e package imports (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3232\"\u003e#3232\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAPI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003etransform.get_node_stats\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003erequests_per_second\u003c/code\u003e argument to \u003ccode\u003edelete_by_query_rethrottle\u003c/code\u003e, \u003ccode\u003ereindex_rethrottle\u003c/code\u003e and \u003ccode\u003eupdate_by_query_rethrottle\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eallow_closed\u003c/code\u003e, \u003ccode\u003eallow_no_indices\u003c/code\u003e, \u003ccode\u003eexpand_wildcards\u003c/code\u003e, \u003ccode\u003eignore_throttled\u003c/code\u003e and \u003ccode\u003eignore_available\u003c/code\u003e arguments to \u003ccode\u003ecat.segments\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003echunking_settings\u003c/code\u003e argument to \u003ccode\u003einference.put_watsonxai\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eid\u003c/code\u003e argument to \u003ccode\u003eml.stop_trained_model_deployment\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003echunking_settings\u003c/code\u003e argument from \u003ccode\u003einference.put_anthropic\u003c/code\u003e, \u003ccode\u003einference.put_contextualai\u003c/code\u003e, \u003ccode\u003einference.put_deepseek\u003c/code\u003e APIs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/adae2d6d3d76f3ea75cd758ce64223bd76df45e5\"\u003e\u003ccode\u003eadae2d6\u003c/code\u003e\u003c/a\u003e Release 9.3.0 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3300\"\u003e#3300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/ea2227c743d7cacb474efecf4d8b84fa553f9eec\"\u003e\u003ccode\u003eea2227c\u003c/code\u003e\u003c/a\u003e Add Python 3.14 trove classifier (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3296\"\u003e#3296\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3299\"\u003e#3299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/b507e3e2d91ff0b6f8fb4a53ea23caa989677436\"\u003e\u003ccode\u003eb507e3e\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3293\"\u003e#3293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/76150204725b1495cad3348c573406fc1f3512d1\"\u003e\u003ccode\u003e7615020\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3280\"\u003e#3280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/ef8d102b3fc4d7572e0fd0bb56afe4291fddc529\"\u003e\u003ccode\u003eef8d102\u003c/code\u003e\u003c/a\u003e Stop using pytz (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3275\"\u003e#3275\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3278\"\u003e#3278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/65870f3504344ba7f67feb7721522bef936a92cf\"\u003e\u003ccode\u003e65870f3\u003c/code\u003e\u003c/a\u003e allow adding elasticsearch query filter for mmr searching (elastic#2638) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/32\"\u003e#32\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/b110f19a49ad492d2d6aa514afaac35360ac3c93\"\u003e\u003ccode\u003eb110f19\u003c/code\u003e\u003c/a\u003e Updates to ES|QL functions for 9.3 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3266\"\u003e#3266\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3272\"\u003e#3272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/f3d082788f52b5fe3c80926624fa8a61aa4deb37\"\u003e\u003ccode\u003ef3d0827\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3269\"\u003e#3269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/80818cc2640fcdf902919a3dc5500ae945d33271\"\u003e\u003ccode\u003e80818cc\u003c/code\u003e\u003c/a\u003e Auto-generated code for 9.3 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3262\"\u003e#3262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/6baa03faedefc90ccbc5f902626cc8cea46aed6a\"\u003e\u003ccode\u003e6baa03f\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3252\"\u003e#3252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/elastic/elasticsearch-py/compare/v8.14.0...v9.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oracledb` from 3.3.0 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oracle/python-oracledb/releases\"\u003eoracledb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.4.2\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.2 is now released. This release addresses a number of issues. See the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-2-january-2026\"\u003efull release notes\u003c/a\u003e for all of the details.\u003c/p\u003e\n\u003ch2\u003ev3.4.1\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.1 is now released. This release addresses a number of issues. See the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-1-november-2025\"\u003efull release notes\u003c/a\u003e for all of the details.\u003c/p\u003e\n\u003ch2\u003ev3.4.0\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.0 is now released. This release has the following highlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003esupport for Direct Path Load in thin mode for fast data ingestion\u003c/li\u003e\n\u003cli\u003esupport for data frames is no longer considered a pre-release\u003c/li\u003e\n\u003cli\u003esupport for type mapping when querying with data frames\u003c/li\u003e\n\u003cli\u003esupport for ingesting more Apache Arrow data types\u003c/li\u003e\n\u003cli\u003esupport for ingesting Apache Arrow data frames containing multiple chunks\u003c/li\u003e\n\u003cli\u003esupport for cursor.executemany() operating on large input data in batches\u003c/li\u003e\n\u003cli\u003efine-grained control over LOB and number handling\u003c/li\u003e\n\u003cli\u003enew optional install dependencies for plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-0-october-2025\"\u003efull release notes\u003c/a\u003e for all of the details.\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/oracle/python-oracledb/commit/51581eeb0a626fb3df4e25e00ddb3a28137d3831\"\u003e\u003ccode\u003e51581ee\u003c/code\u003e\u003c/a\u003e Preparing to release python-oracledb 3.4.2.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/81ceb554a0bfb52eb64b7b3870907d9b19bf15bd\"\u003e\u003ccode\u003e81ceb55\u003c/code\u003e\u003c/a\u003e Fixed bug which caused Connection.call_timeout to be reset to zero when\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/4a94025de99763fd0d16d1c2d79d416b9a075e12\"\u003e\u003ccode\u003e4a94025\u003c/code\u003e\u003c/a\u003e Eliminated memory leak when converting a third party data frame to one\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/36a29517530bfe311dab41218a3bc3d80700fe2c\"\u003e\u003ccode\u003e36a2951\u003c/code\u003e\u003c/a\u003e Fixed bug when decoding PL/SQL booleans in Oracle Database 12.1 (\u003ca href=\"https://redirect.github.com/oracle/python-oracledb/issues/565\"\u003e#565\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/6072f01b420af4c2d36c1b9f7b1421aab64ea336\"\u003e\u003ccode\u003e6072f01\u003c/code\u003e\u003c/a\u003e Grammar fix.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/f8be001d9862d6b0b6ec6158b67affef7a70556e\"\u003e\u003ccode\u003ef8be001\u003c/code\u003e\u003c/a\u003e Fixed bug causing hang when using asyncio and the database closes the\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/6e0d8b9da4b259e1b11ad648d354ca659f537a6a\"\u003e\u003ccode\u003e6e0d8b9\u003c/code\u003e\u003c/a\u003e Eliminated race condition in background thread/coroutine management for\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/40200bfa1cb9dde0977a509c84cfdde66f144358\"\u003e\u003ccode\u003e40200bf\u003c/code\u003e\u003c/a\u003e Adjusted code and tests to be capable of being run in environments other\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/36f8899fa71ebd4aec80b87f990633e86abc6b95\"\u003e\u003ccode\u003e36f8899\u003c/code\u003e\u003c/a\u003e Added support for ingesting Arrow arrays which only consist of null\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/7bf23b6c2061d20358b030104249bd703ac1832e\"\u003e\u003ccode\u003e7bf23b6\u003c/code\u003e\u003c/a\u003e Fixed bug when calling Cursor.executemany() with all of the values in at\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/oracle/python-oracledb/compare/v3.3.0...v3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pgvector` from 0.2.5 to 0.4.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md\"\u003epgvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2 (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 6\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estr\u003c/code\u003e objects for \u003ccode\u003ebit\u003c/code\u003e type with SQLAlchemy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 (2025-04-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eSparseVector\u003c/code\u003e constructor for SciPy sparse matrices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 (2025-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded top-level \u003ccode\u003epgvector\u003c/code\u003e package\u003c/li\u003e\n\u003cli\u003eAdded support for pg8000\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ebytes\u003c/code\u003e to \u003ccode\u003eBit\u003c/code\u003e constructor\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eglobally\u003c/code\u003e option to default to \u003ccode\u003eFalse\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003earrays\u003c/code\u003e option to default to \u003ccode\u003eTrue\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eFixed equality for \u003ccode\u003eVector\u003c/code\u003e, \u003ccode\u003eHalfVector\u003c/code\u003e, \u003ccode\u003eBit\u003c/code\u003e, and \u003ccode\u003eSparseVector\u003c/code\u003e classes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eindices\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods of \u003ccode\u003eSparseVector\u003c/code\u003e returning tuple instead of list in some cases\u003c/li\u003e\n\u003cli\u003eDropped support for Python \u0026lt; 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 (2024-10-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003earrays\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 (2024-10-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eavg\u003c/code\u003e function with type casting to SQLAlchemy\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eglobally\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.4 (2024-09-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eschema\u003c/code\u003e option for asyncpg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.3 (2024-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved support for cursor factories with Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.2 (2024-07-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error with asyncpg and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.1 (2024-07-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error parsing zero sparse vectors\u003c/li\u003e\n\u003cli\u003eFixed error with Psycopg 2 and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003cli\u003eFixed error message when \u003ccode\u003evector\u003c/code\u003e type not found with Psycopg 3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.0 (2024-06-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ehalfvec\u003c/code\u003e, \u003ccode\u003ebit\u003c/code\u003e, and \u003ccode\u003esparsevec\u003c/code\u003e types to Django\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/2968f258f9486531bd1340cbda4ff8fcaf06cdc1\"\u003e\u003ccode\u003e2968f25\u003c/code\u003e\u003c/a\u003e Version bump to 0.4.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/674f5ba3410c873d49f50fa9725b95d9db50c674\"\u003e\u003ccode\u003e674f5ba\u003c/code\u003e\u003c/a\u003e Updated checkout action [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e2986daf2b1533cc2c849f7e39350e31d57ac325\"\u003e\u003ccode\u003ee2986da\u003c/code\u003e\u003c/a\u003e Added support for Django 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e211ba4029f204734f0c001fbb90f6a594d561ae\"\u003e\u003ccode\u003ee211ba4\u003c/code\u003e\u003c/a\u003e Test with Python 3.14 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/1a72b7571adf3325174b383aca85bfb3a5b925fa\"\u003e\u003ccode\u003e1a72b75\u003c/code\u003e\u003c/a\u003e Updated pgvector on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/c820a53bfb46196551de3c3f59f81b192d890574\"\u003e\u003ccode\u003ec820a53\u003c/code\u003e\u003c/a\u003e Simplified examples [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/caf1a2e0dd7a1ba2ad0ca9f09b50516dcfffcdeb\"\u003e\u003ccode\u003ecaf1a2e\u003c/code\u003e\u003c/a\u003e Added docs for binary quantization with SQLAlchemy [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/dc9a8f959995f009649fd230139ca41193e0a801\"\u003e\u003ccode\u003edc9a8f9\u003c/code\u003e\u003c/a\u003e Added test for binary quantization with re-ranking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/33dee606229489c9ffb0cb5a1cd72bd4705ac618\"\u003e\u003ccode\u003e33dee60\u003c/code\u003e\u003c/a\u003e Added support for str objects for bit type with SQLAlchemy - \u003ca href=\"https://redirect.github.com/pgvector/pgvector-python/issues/137\"\u003e#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/ee3e71ca2c07a12a8332a3877c0ce14adc9a5da8\"\u003e\u003ccode\u003eee3e71c\u003c/code\u003e\u003c/a\u003e Updated format for license identifier\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgvector/pgvector-python/compare/v0.2.5...v0.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymilvus` from 2.5.17 to 2.6.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/milvus-io/pymilvus/releases\"\u003epymilvus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePyMilvus v2.6.9 Release Notes\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003efix: pass context to \u003ccode\u003edescribe_collection\u003c/code\u003e in \u003ccode\u003eSearchIteratorV2\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3271\"\u003e#3271\u003c/a\u003e) — Forward \u003ccode\u003ekwargs\u003c/code\u003e (including \u003ccode\u003econtext\u003c/code\u003e carrying \u003ccode\u003edb_name\u003c/code\u003e) from \u003ccode\u003eSearchIteratorV2.__init__\u003c/code\u003e to \u003ccode\u003edescribe_collection\u003c/code\u003e, matching the existing \u003ccode\u003eQueryIterator\u003c/code\u003e pattern. Without this fix, \u003ccode\u003eSearchIteratorV2\u003c/code\u003e always queries the \u003ccode\u003edefault\u003c/code\u003e database, causing \u0026quot;can't find collection\u0026quot; errors for non-default databases.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003efix: unpack \u003ccode\u003e_get_schema\u003c/code\u003e tuple return in \u003ccode\u003e_list_vector_indexes\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3275\"\u003e#3275\u003c/a\u003e) — Fix tuple unpacking issue in \u003ccode\u003e_list_vector_indexes\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eenhance: optimize gRPC keepalive defaults and support user-configurable \u003ccode\u003egrpc_options\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3258\"\u003e#3258\u003c/a\u003e) — Improve gRPC keepalive defaults and allow users to configure gRPC channel options.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eenhance: support warmup type params for \u003ccode\u003eFieldSchema\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3255\"\u003e#3255\u003c/a\u003e) — Add warmup type parameter support in field schema definitions.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTests\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eenhance: increase unit test coverage\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3233\"\u003e#3233\u003c/a\u003e) — Comprehensive tests added for \u003ccode\u003eclient/types.py\u003c/code\u003e, iterator utilities, \u003ccode\u003eorm/utility.py\u003c/code\u003e, request builder methods, \u003ccode\u003eclient/abstract.py\u003c/code\u003e, decorators, and \u003ccode\u003eclient/utils.py\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/milvus-io/pymilvus/compare/v2.6.8...v2.6.9\"\u003ehttps://github.com/milvus-io/pymilvus/compare/v2.6.8...v2.6.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePyMilvus v2.6.8 Release Notes\u003c/h2\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eParse dbname from uri\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3247\"\u003e#3247\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🔧 Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eRemove the usage of grpcio-testing\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3225\"\u003e#3225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eExclude data generation time from benchmark\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3246\"\u003e#3246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eOptimize search result performance (Hit class, HybridHits init)\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3248\"\u003e#3248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAdd channel_state and debug_error_string to gRPC error diagnostics\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3249\"\u003e#3249\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📝 Contributors\u003c/h2\u003e\n\u003cp\u003eWe would like to thank all contributors who made this release possible:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/XuanYang-cn\"\u003e\u003ccode\u003e@​XuanYang-cn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zhuwenxing\"\u003e\u003ccode\u003e@​zhuwenxing\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sijie-ni-0214\"\u003e\u003ccode\u003e@​sijie-ni-0214\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/milvus-io/pymilvus/compare/v2.6.7...v2.6.8\"\u003ehttps://github.com/milvus-io/pymilvus/compare/v2.6.7...v2.6.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePyMilvus v2.6.7 Release Notes\u003c/h2\u003e\n\u003ch2\u003e🎉 New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSupport semantic-highlighter\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3180\"\u003e#3180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSupport async client list_persistent_segments\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3207\"\u003e#3207\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\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/milvus-io/pymilvus/commit/93bd7d75da6963878435d933f6af6dcdf73135e0\"\u003e\u003ccode\u003e93bd7d7\u003c/code\u003e\u003c/a\u003e [Backport 2.6] fix: unpack _get_schema tuple return in _list_vector_indexes (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/c1200a4b38daa909b0a181a960032cfd60c6e008\"\u003e\u003ccode\u003ec1200a4\u003c/code\u003e\u003c/a\u003e fix: pass context to describe_collection in SearchIteratorV2 (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3271\"\u003e#3271\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3274\"\u003e#3274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/bc8c7074f9340a5b65cfc400d46a4e0d26c9c113\"\u003e\u003ccode\u003ebc8c707\u003c/code\u003e\u003c/a\u003e [Backport 2.6] enhance: optimize gRPC keepalive defaults and support user-con...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/111eae33dfe05f825808a61c494fba3b508c19ca\"\u003e\u003ccode\u003e111eae3\u003c/code\u003e\u003c/a\u003e [Backport 2.6] support warmup type params for fieldschema (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3255\"\u003e#3255\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3256\"\u003e#3256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/7e634e604352634a0cb13922f9614e14592767f7\"\u003e\u003ccode\u003e7e634e6\u003c/code\u003e\u003c/a\u003e enhance: Add ut to increase ut coverage (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3233\"\u003e#3233\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3254\"\u003e#3254\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/3e482a8b73bf23f8571e5a72eeec0c8c881b8c3a\"\u003e\u003ccode\u003e3e482a8\u003c/code\u003e\u003c/a\u003e fix: Correct milvus-proto commit (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3252\"\u003e#3252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/b06fc4e5a3f59682831f3768413bfeb6ebc8f679\"\u003e\u003ccode\u003eb06fc4e\u003c/code\u003e\u003c/a\u003e [Backport 2.6] enhance: add channel_state and debug_error_string to gRPC erro...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/64de51d42164b3e099498d5af0a767fc620ddf76\"\u003e\u003ccode\u003e64de51d\u003c/code\u003e\u003c/a\u003e [Backport 2.6] [enhance]:Optimize search result performance (Hit class, Hybri...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/c27f496b3db03489e942e831e2e856536ffd8f58\"\u003e\u003ccode\u003ec27f496\u003c/code\u003e\u003c/a\u003e [Backport 2.6] fix:parse dbname from uri (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3237\"\u003e#3237\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3247\"\u003e#3247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/26bd0fc7a3166f85604f5e59474507f183ea3d58\"\u003e\u003ccode\u003e26bd0fc\u003c/code\u003e\u003c/a\u003e feat: [2.6] support truncate collection api (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3238\"\u003e#3238\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/milvus-io/pymilvus/compare/v2.5.17...v2.6.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymochow` from 2.2.9 to 2.3.6\n\nUpdates `pyobvector` from 0.2.20 to 0.2.25\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oceanbase/pyobvector/releases\"\u003epyobvector's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e...\n\n_Description has been truncated_","html_url":"https://github.com/langgenius/dify/pull/33326","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/langgenius%2Fdify/issues/33326","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/33326/packages"},{"uuid":"4058762096","node_id":"PR_kwDOJVxJus7JvJpy","number":33311,"state":"open","title":"chore(deps): bump the vdb group in /api with 16 updates","user":"dependabot[bot]","labels":["dependencies","size:M","python"],"assignees":[],"locked":false,"comments_count":6,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-11T15:00:07.000Z","updated_at":"2026-03-11T18:01:00.766Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"vdb","update_count":16,"packages":[{"name":"weaviate-client","old_version":"4.17.0","new_version":"4.20.4","repository_url":"https://github.com/weaviate/weaviate-python-client"},{"name":"elasticsearch","old_version":"8.14.0","new_version":"9.3.0","repository_url":"https://github.com/elastic/elasticsearch-py"},{"name":"oracledb","old_version":"3.3.0","new_version":"3.4.2","repository_url":"https://github.com/oracle/python-oracledb"},{"name":"pgvector","old_version":"0.2.5","new_version":"0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"},{"name":"pymochow","old_version":"2.2.9","new_version":"2.3.6"},{"name":"qdrant-client","old_version":"1.9.0","new_version":"1.17.0","repository_url":"https://github.com/qdrant/qdrant-client"},{"name":"tablestore","old_version":"6.3.7","new_version":"6.4.1","repository_url":"https://github.com/aliyun/aliyun-tablestore-python-sdk"},{"name":"tidb-vector","old_version":"0.0.9","new_version":"0.0.15"},{"name":"upstash-vector","old_version":"0.6.0","new_version":"0.8.0","repository_url":"https://github.com/upstash/vector-py"}],"path":"/api","ecosystem":"pip"},"body":"Updates the requirements on [weaviate-client](https://github.com/weaviate/weaviate-python-client), [alibabacloud-gpdb20160503](https://github.com/aliyun/alibabacloud-python-sdk), [alibabacloud-tea-openapi](https://github.com/aliyun/darabonba-openapi), [clickhouse-connect](https://github.com/ClickHouse/clickhouse-connect), [couchbase](https://github.com/couchbase/couchbase-python-client), [elasticsearch](https://github.com/elastic/elasticsearch-py), [oracledb](https://github.com/oracle/python-oracledb), [pgvector](https://github.com/pgvector/pgvector-python), [pymilvus](https://github.com/milvus-io/pymilvus), [pymochow](http://bce.baidu.com), [qdrant-client](https://github.com/qdrant/qdrant-client), [tablestore](https://github.com/aliyun/aliyun-tablestore-python-sdk), tcvectordb, tidb-vector, [upstash-vector](https://github.com/upstash/vector-py) and [xinference-client](https://github.com/xorbitsai/inference-client) to permit the latest version.\nUpdates `weaviate-client` from 4.17.0 to 4.20.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weaviate/weaviate-python-client/releases\"\u003eweaviate-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.20.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump authlib to 1.6.9 to avoid high cve by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1975\"\u003eweaviate/weaviate-python-client#1975\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.2...v4.20.3\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.2...v4.20.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eperf: use deque for iterator object cache by \u003ca href=\"https://github.com/giulio-leone\"\u003e\u003ccode\u003e@​giulio-leone\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1968\"\u003eweaviate/weaviate-python-client#1968\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexpose include_last_used_time parameter, return created_at and api_key_first_letters by \u003ca href=\"https://github.com/dudanogueira\"\u003e\u003ccode\u003e@​dudanogueira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1965\"\u003eweaviate/weaviate-python-client#1965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for incremental backups by \u003ca href=\"https://github.com/dirkkul\"\u003e\u003ccode\u003e@​dirkkul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1928\"\u003eweaviate/weaviate-python-client#1928\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/giulio-leone\"\u003e\u003ccode\u003e@​giulio-leone\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1968\"\u003eweaviate/weaviate-python-client#1968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.1...v4.20.2\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.1...v4.20.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix empty list filter raising IndexError instead of WeaviateInvalidInputError by \u003ca href=\"https://github.com/dirkkul\"\u003e\u003ccode\u003e@​dirkkul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1962\"\u003eweaviate/weaviate-python-client#1962\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.0...v4.20.1\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.0...v4.20.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eflat index: Add support for RQ and include cache param by \u003ca href=\"https://github.com/rlmanrique\"\u003e\u003ccode\u003e@​rlmanrique\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1844\"\u003eweaviate/weaviate-python-client#1844\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003ecollection.data.ingest\u003c/code\u003e for sync/async SSB usage by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1876\"\u003eweaviate/weaviate-python-client#1876\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd delete_property_index to collection config by \u003ca href=\"https://github.com/DanielJanicek\"\u003e\u003ccode\u003e@​DanielJanicek\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1940\"\u003eweaviate/weaviate-python-client#1940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid id invalidation in nested properties by \u003ca href=\"https://github.com/dudanogueira\"\u003e\u003ccode\u003e@​dudanogueira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1952\"\u003eweaviate/weaviate-python-client#1952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide options allowing users to specify custom grpc SSL credentials by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1946\"\u003eweaviate/weaviate-python-client#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for cancelling backup restore ops by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1956\"\u003eweaviate/weaviate-python-client#1956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove cache option from SQConfig, deprecate field in factory method by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1954\"\u003eweaviate/weaviate-python-client#1954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow imgs/img_props in cohere generative config runtime by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1955\"\u003eweaviate/weaviate-python-client#1955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce async repl conf in (re)configure and unit tests of usage by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1953\"\u003eweaviate/weaviate-python-client#1953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Hfresh index type by \u003ca href=\"https://github.com/robbespo00\"\u003e\u003ccode\u003e@​robbespo00\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1848\"\u003eweaviate/weaviate-python-client#1848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Cluster Statistics (client.cluster.statistics()) by \u003ca href=\"https://github.com/Shah91n\"\u003e\u003ccode\u003e@​Shah91n\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1959\"\u003eweaviate/weaviate-python-client#1959\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/Shah91n\"\u003e\u003ccode\u003e@​Shah91n\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1959\"\u003eweaviate/weaviate-python-client#1959\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.19.4...v4.20.0\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.19.4...v4.20.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.19.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd gRPC ping check to is_live method  by \u003ca href=\"https://github.com/sylvinho81\"\u003e\u003ccode\u003e@​sylvinho81\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1949\"\u003eweaviate/weaviate-python-client#1949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-raise in \u003ccode\u003ecollection.exists()\u003c/code\u003e if status code is not 404 by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1950\"\u003eweaviate/weaviate-python-client#1950\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weaviate/weaviate-python-client/blob/main/docs/changelog.rst\"\u003eweaviate-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 4.20.4\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Include client version in GRPC requests\n- Add support for the new \u003ccode\u003emulti2vec_google_gemini\u003c/code\u003e module\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.3\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Update of \u003ccode\u003eauthlib\u003c/code\u003e dependency\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.2\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Support for incremental backups\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.1\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Raise an input error when filtering on an empty list\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.0\u003c/h2\u003e\n\u003cp\u003eThis minor version includes:\n- Support for new 1.36 features:\n- Server-side batching (SSB) is now GA via \u003ccode\u003ebatch.stream\u003c/code\u003e (\u003ccode\u003ebatch.experimental\u003c/code\u003e is deprecated)\n- Add \u003ccode\u003ecollection.data.ingest\u003c/code\u003e as a new entry point for SSB usage in sync and async clients\n- Add support for the new HFresh index type\n- Add support for async replication configuration\n- Add support for cancelling backup restore operations\n- Add \u003ccode\u003ecollection.config.delete_property_index\u003c/code\u003e to drop filterable, searchable, or range filter indices from properties\n- Add \u003ccode\u003eclient.cluster.statistics()\u003c/code\u003e method for retrieving cluster and Raft statistics\n- Allow \u003ccode\u003eimages\u003c/code\u003e and \u003ccode\u003eimage_properties\u003c/code\u003e in Cohere generative config at runtime\n- Provide options to specify custom gRPC SSL credentials for advanced connection setups\n- Remove \u003ccode\u003ecache\u003c/code\u003e option from \u003ccode\u003eSQConfig\u003c/code\u003e and deprecate the field in the factory method\n- Fix validation of nested object properties to allow \u003ccode\u003eid\u003c/code\u003e as a nested property name\u003c/p\u003e\n\u003ch2\u003eVersion 4.19.4\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Adds the gRPC healthcheck ping to the \u003ccode\u003eis_live()\u003c/code\u003e method of the async client to provide a more accurate check of the connection status of the async client\n- Fixes bug where exceptions raised in \u003ccode\u003ecollections.exists()\u003c/code\u003e were silently ignored and the method would return \u003ccode\u003eFalse\u003c/code\u003e instead of raising the exception\u003c/p\u003e\n\u003ch2\u003eVersion 4.19.3\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Add support for VoyageAI voyage-4 model family (voyage-4, voyage-4-lite, voyage-4-large)\n- A fix for async client connection issues when \u003ccode\u003epypi\u003c/code\u003e is down\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/weaviate/weaviate-python-client/commit/c0b796e07af0fef5555d37cf78a9a47dae62bb0c\"\u003e\u003ccode\u003ec0b796e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1982\"\u003e#1982\u003c/a\u003e from weaviate/changelog_4_20_4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/dfa8ae431413db4bb66ad2054487018b3362f360\"\u003e\u003ccode\u003edfa8ae4\u003c/code\u003e\u003c/a\u003e Add changelog for v4.20.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/3a0958c19133ecb10565b66d4d0d4ab818d7a619\"\u003e\u003ccode\u003e3a0958c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1977\"\u003e#1977\u003c/a\u003e from weaviate/multi2vec-google-aistudio-vectorizer-c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/106f22584de2bc00f347534c19661af997112583\"\u003e\u003ccode\u003e106f225\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into multi2vec-google-aistudio-vectorizer-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/5ca709e0c068ae8531368d489062169cd7b9306d\"\u003e\u003ccode\u003e5ca709e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1980\"\u003e#1980\u003c/a\u003e from weaviate/client_version_grpc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/55e56f06bf0444fb4caf9f31da7b61dad10ef291\"\u003e\u003ccode\u003e55e56f0\u003c/code\u003e\u003c/a\u003e Dont overwrite version from additional headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/79ee3d030a8c9829c0ea3ca8240ebcdefe710647\"\u003e\u003ccode\u003e79ee3d0\u003c/code\u003e\u003c/a\u003e Add client version to GRPC headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/2ccdaa109a8ba599bec569b489aca3497087869e\"\u003e\u003ccode\u003e2ccdaa1\u003c/code\u003e\u003c/a\u003e chore: rename multi2vec_google_aistudio config to multi2vec_google_gemini\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/ce633119510d6b8ae71dec0310d4a5d08700e172\"\u003e\u003ccode\u003ece63311\u003c/code\u003e\u003c/a\u003e feat: add multi2vec_google_aistudio vectorizer config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/db8a91c514b042dda0871eeb7a27cc9c65f70e71\"\u003e\u003ccode\u003edb8a91c\u003c/code\u003e\u003c/a\u003e Bump authlib to 1.6.9 to avoid high cve (\u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1975\"\u003e#1975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.17.0...v4.20.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alibabacloud-gpdb20160503` to 5.0.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aliyun/alibabacloud-python-sdk/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alibabacloud-tea-openapi` to 0.4.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aliyun/darabonba-openapi/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `clickhouse-connect` to 0.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/releases\"\u003eclickhouse-connect's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.0\u003c/h2\u003e\n\u003ch2\u003eHigh level notes\u003c/h2\u003e\n\u003cp\u003eThis release is primarily focused on preparing the path to 1.0.0. It introduces a handful of breaking changes and deprecation warnings for APIs that will be removed or finalized in 1.0.0. If your code uses any of the deprecated parameters, you'll now see \u003ccode\u003eDeprecationWarning\u003c/code\u003es with clear migration guidance and highly recommend addressing these before upgrading to 1.0.0 when it ships.\u003c/p\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eapply_server_timezone\u003c/code\u003e renamed to \u003ccode\u003etz_source\u003c/code\u003e. Options are \u003ccode\u003e\u0026quot;auto\u0026quot;\u003c/code\u003e (the default), \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e, or \u003ccode\u003e\u0026quot;local\u0026quot;\u003c/code\u003e. The old parameter currently still works with a deprecation warning. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/670\"\u003eClickHouse/clickhouse-connect#670\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eutc_tz_aware\u003c/code\u003e renamed to \u003ccode\u003etz_mode\u003c/code\u003e. Options are \u003ccode\u003e\u0026quot;naive_utc\u0026quot;\u003c/code\u003e (the default), \u003ccode\u003e\u0026quot;aware\u0026quot;\u003c/code\u003e, or \u003ccode\u003e\u0026quot;schema\u0026quot;\u003c/code\u003e. The old parameter still currently still works with a deprecation warning. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/664\"\u003eClickHouse/clickhouse-connect#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003eObject('json')\u003c/code\u003e type. This was a legacy experimental JSON type has been removed in favor of the new JSON type in ClickHouse. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/666\"\u003eClickHouse/clickhouse-connect#666\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePandas 1.x support is deprecated and will be removed in 1.0.0. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/667\"\u003eClickHouse/clickhouse-connect#667\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThere's a async-native client based on clickhouse-connect v0.11.0 that is \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/releases/tag/v0.12.0rc1\"\u003eavailable\u003c/a\u003e for testing via \u003ccode\u003epip install clickhouse_connect[async]==0.12.0rc1\u003c/code\u003e. A \u003ccode\u003eFutureWarning\u003c/code\u003e advertising this will now be emitted on creation of the (to be legacy) async client. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/672\"\u003eClickHouse/clickhouse-connect#672\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eExperimental\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.14 free-threading (cp314t) wheel builds for all platforms. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/660\"\u003eClickHouse/clickhouse-connect#660\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where sending redundant settings is skipped. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/639\"\u003eClickHouse/clickhouse-connect#639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eSAMPLE\u003c/code\u003e in SQLAlchemy dialect. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/656\"\u003eClickHouse/clickhouse-connect#656\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/bsushmith\"\u003e\u003ccode\u003e@​bsushmith\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/656\"\u003eClickHouse/clickhouse-connect#656\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.13.0...v0.14.0\"\u003ehttps://github.com/ClickHouse/clickhouse-connect/compare/v0.13.0...v0.14.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/ClickHouse/clickhouse-connect/blob/main/CHANGELOG.md\"\u003eclickhouse-connect's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.0, 2026-03-09\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRenamed \u003ccode\u003eapply_server_timezone\u003c/code\u003e parameter to \u003ccode\u003etz_source\u003c/code\u003e across Client and HttpClient. The new \u003ccode\u003etz_source\u003c/code\u003e parameter accepts string values: \u003ccode\u003e\u0026quot;auto\u0026quot;\u003c/code\u003e (default, was \u003ccode\u003eNone\u003c/code\u003e), \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e (was \u003ccode\u003eTrue\u003c/code\u003e or \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e), and \u003ccode\u003e\u0026quot;local\u0026quot;\u003c/code\u003e (was \u003ccode\u003eFalse\u003c/code\u003e). The old \u003ccode\u003eapply_server_timezone\u003c/code\u003e parameter is still accepted but emits a \u003ccode\u003eDeprecationWarning\u003c/code\u003e and will be removed in 1.0. Passing both \u003ccode\u003etz_source\u003c/code\u003e and \u003ccode\u003eapply_server_timezone\u003c/code\u003e raises \u003ccode\u003eProgrammingError\u003c/code\u003e. The \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e value (which had no distinct runtime behavior from \u003ccode\u003eTrue\u003c/code\u003e) maps to \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRenamed \u003ccode\u003eutc_tz_aware\u003c/code\u003e parameter to \u003ccode\u003etz_mode\u003c/code\u003e across Client, QueryContext, and all query methods. The new \u003ccode\u003etz_mode\u003c/code\u003e parameter accepts string values: \u003ccode\u003e\u0026quot;naive_utc\u0026quot;\u003c/code\u003e (default, was \u003ccode\u003eFalse\u003c/code\u003e), \u003ccode\u003e\u0026quot;aware\u0026quot;\u003c/code\u003e (was \u003ccode\u003eTrue\u003c/code\u003e), and \u003ccode\u003e\u0026quot;schema\u0026quot;\u003c/code\u003e (unchanged). The old \u003ccode\u003eutc_tz_aware\u003c/code\u003e parameter is still accepted but emits a \u003ccode\u003eDeprecationWarning\u003c/code\u003e and will be removed in 1.0. Passing both \u003ccode\u003etz_mode\u003c/code\u003e and \u003ccode\u003eutc_tz_aware\u003c/code\u003e raises \u003ccode\u003eProgrammingError\u003c/code\u003e. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/654\"\u003e#654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved the deprecated \u003ccode\u003eObject('json')\u003c/code\u003e type. This was the legacy experimental JSON type that has been superseded by the new \u003ccode\u003eJSON\u003c/code\u003e type in ClickHouse. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/556\"\u003e#556\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePandas 1.x support is now deprecated and will be removed in v1.0.0. A \u003ccode\u003eDeprecationWarning\u003c/code\u003e is emitted at import time for pandas 1.x users.\u003c/li\u003e\n\u003cli\u003eThe current \u003ccode\u003eAsyncClient\u003c/code\u003e is a thread-pool wrapper around the sync client and now emits a \u003ccode\u003eFutureWarning\u003c/code\u003e on creation, pointing users to the fully native async client available as a prerelease: \u003ccode\u003epip install 'clickhouse-connect[async]==0.12.0rc1'\u003c/code\u003e. This prerelease branch is based on 0.11.0 and is gathering feedback ahead of 1.0.0, where it will become the default async implementation. It is a drop-in replacement with the same API surface.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for the \u003ccode\u003eSAMPLE\u003c/code\u003e clause in SQLAlchemy statements. Note: Due to a SQLAlchemy limitation, only one hint (SAMPLE or FINAL) can be applied per table; chaining both will silently ignore one. For now, this change enables use of sample(), but chaining with final() is not yet supported.  Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/634\"\u003e#634\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eExperimental:\u003c/strong\u003e Added Python 3.14 free-threading (cp314t) wheel builds for all platforms. The full test suite currently (as of 2 MAR, 2026) passes under free-threaded Python, but is not added to the CI test matrix at this time nor has it been otherwise tested to any degree. Free-threading support should be considered experimental with no guarantees of correctness at this time. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/573\"\u003e#573\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.13.0, 2026-02-26\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBREAKING CHANGE: Implement native write path for \u003ccode\u003eVariant\u003c/code\u003e data type with type-aware dispatching.\nPreviously, all values inserted into a \u003ccode\u003eVariant\u003c/code\u003e column were stringified and sent to the server, which\nwould store them in the \u003ccode\u003eString\u003c/code\u003e member if present, or attempt server-side conversion otherwise. Values\nare now serialized using their native ClickHouse types client-side (e.g. inserting \u003ccode\u003e100\u003c/code\u003e into\n\u003ccode\u003eVariant(Int64, String)\u003c/code\u003e stores \u003ccode\u003eInt64(100)\u003c/code\u003e instead of \u003ccode\u003eString(\u0026quot;100\u0026quot;)\u003c/code\u003e). Key changes:\n\u003cul\u003e\n\u003cli\u003eValues that don't match any variant member now raise \u003ccode\u003eDataError\u003c/code\u003e instead of being stringified and\ndelegated to the server.\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003etyped_variant(value, 'TypeName')\u003c/code\u003e helper is provided for cases where automatic dispatch\ncannot resolve the target type, such as when multiple variant members map to the same Python\ntype (e.g. \u003ccode\u003eArray(UInt32)\u003c/code\u003e vs \u003ccode\u003eArray(String)\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eutc_tz_aware=\u0026quot;schema\u0026quot;\u003c/code\u003e mode which returns timezone-aware datetimes only when the server's column schema explicitly defines a timezone (e.g. \u003ccode\u003eDateTime('UTC')\u003c/code\u003e), and naive datetimes for bare \u003ccode\u003eDateTime\u003c/code\u003e columns. This matches the ClickHouse schema definition exactly. Not yet supported for Arrow-based query methods. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/645\"\u003e#645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd type annotations to public API methods in \u003ccode\u003eClient\u003c/code\u003e, \u003ccode\u003eAsyncClient\u003c/code\u003e, \u003ccode\u003eHttpClient\u003c/code\u003e, and \u003ccode\u003eQueryResult\u003c/code\u003e. Ref \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/567\"\u003e#567\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003edict_add\u003c/code\u003e parameter typed as builtin \u003ccode\u003eany\u003c/code\u003e instead of \u003ccode\u003etyping.Any\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRecognize \u003ccode\u003eUPDATE\u003c/code\u003e as a command so lightweight updates work correctly via \u003ccode\u003eclient.query()\u003c/code\u003e and SQLAlchemy.\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: \u003ccode\u003eGROUP BY\u003c/code\u003e now renders label aliases instead of full expressions which avoids circular reference errors when an alias shadows a source column name in ClickHouse.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.11.0, 2026-02-10\u003c/h2\u003e\n\u003ch3\u003ePython 3.9 Deprecation\u003c/h3\u003e\n\u003cp\u003ePython 3.9 EOL'd Oct 2025. Support for Python 3.9 is now softly deprecated and has been removed from our CI test matrix but\ndistribution wheels will continue to be built until the 1.0 release or until the builds naturally fail, whichever comes first.\nA \u003ccode\u003eDeprecationWarning\u003c/code\u003e will now be displayed when initializing the client on Python 3.9. Users should plan to upgrade to\nPython 3.10+ as 3.9 compatibility may break unexpectedly in future updates.\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where settings matching server defaults were not stored on client during initialization. Explicitly setting a default value is now respected (e.g., to prevent ClickHouse from auto-enabling optimizations). Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/638\"\u003e#638\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRaise OperationalError when ResponseSource hits network failure before any data is received. Previously, empty result would be returned. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/620\"\u003e#620\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix issue with DROP table in client temp table test.\u003c/li\u003e\n\u003cli\u003eFixed a bug where InsertContext state was not reset on insert failure, leading to reuse errors when data was passed separately.\u003c/li\u003e\n\u003cli\u003eFixed UTC-equivalent timezone recognition issue where servers returning \u003ccode\u003eEtc/UCT\u003c/code\u003e, \u003ccode\u003eGMT\u003c/code\u003e, or other UTC-equivalent timezone names caused inconsistent behavior with \u003ccode\u003eutc_tz_aware=False\u003c/code\u003e. DateTime columns with explicit UTC timezones now correctly return naive datetimes when \u003ccode\u003eutc_tz_aware=False\u003c/code\u003e regardless of the specific UTC-equivalent timezone name returned by the server. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/629\"\u003e#629\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/2dda7152c59b417b4b153d1dd8a061d475ae7c2f\"\u003e\u003ccode\u003e2dda715\u003c/code\u003e\u003c/a\u003e release prep for 0.14.0 (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/673\"\u003e#673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/5d5c3f24c9f7e864536e2aac52c3b8e2349ef2a9\"\u003e\u003ccode\u003e5d5c3f2\u003c/code\u003e\u003c/a\u003e async native future warning (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/672\"\u003e#672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/436050f1b3765605848d9765e3ee0e350b4c6758\"\u003e\u003ccode\u003e436050f\u003c/code\u003e\u003c/a\u003e add bare import smoke test to CI (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/671\"\u003e#671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/a5fbad0fcbac92279874b9214024d6087e307cb0\"\u003e\u003ccode\u003ea5fbad0\u003c/code\u003e\u003c/a\u003e rename apply_server_timezone to tz_source (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/670\"\u003e#670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/01e7ca036a26458acf7a22ca170bd4a1765aa6b1\"\u003e\u003ccode\u003e01e7ca0\u003c/code\u003e\u003c/a\u003e add pandas 1.x deprecation warning for 1.0.0 (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/667\"\u003e#667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/c65f54a079c790673d7f87bb2a303784d9081b8d\"\u003e\u003ccode\u003ec65f54a\u003c/code\u003e\u003c/a\u003e rename utc_tz_aware to tz_mode (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/664\"\u003e#664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/e3ac6a4fbde2e8e613d4b89ff6714ce2743c7381\"\u003e\u003ccode\u003ee3ac6a4\u003c/code\u003e\u003c/a\u003e remove deprecated experimental Object(JSON) type (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/666\"\u003e#666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/1fbddb505a4fed4eb149c3b142a98ccbfe4440fe\"\u003e\u003ccode\u003e1fbddb5\u003c/code\u003e\u003c/a\u003e Joe/638 fix issue where sending redundant settings is skipped (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/639\"\u003e#639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/314b7c71219b7c39e2098c90211d63b8b8eacceb\"\u003e\u003ccode\u003e314b7c7\u003c/code\u003e\u003c/a\u003e Add Python 3.14 free-threading (cp314t) wheel builds (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/660\"\u003e#660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/0a93e44be05a108fcd35d28814cfd478a95a4994\"\u003e\u003ccode\u003e0a93e44\u003c/code\u003e\u003c/a\u003e assert summary plumbing works e2e through sqa cursor (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/659\"\u003e#659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.10.0...v0.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `couchbase` to 4.5.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/9338788daddf9ff1755bfcd86d845ddc8d331860\"\u003e\u003ccode\u003e9338788\u003c/code\u003e\u003c/a\u003e Update C++ core to 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/c3504fa193467a3eec47b23b16f12806fbebf9c1\"\u003e\u003ccode\u003ec3504fa\u003c/code\u003e\u003c/a\u003e PYCBC-1705: Fix FLE imports and exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/70fbc324ec9379cce5652a16ba1a2252efb0cabb\"\u003e\u003ccode\u003e70fbc32\u003c/code\u003e\u003c/a\u003e Update C++ core to 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/9b9164f8e42cca942439049301fd738317fcb1d5\"\u003e\u003ccode\u003e9b9164f\u003c/code\u003e\u003c/a\u003e PYCBC-1711: Don't set bucketType, replicaIndex, flushEnabled when creating bu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/5319285921c7077baf8f347b6cf0377d363d5c26\"\u003e\u003ccode\u003e5319285\u003c/code\u003e\u003c/a\u003e PYCBC-1704: Allow eventing function mgmt test fixtures to ignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/970621968dd2b3463cc450c49c1479297ea087a5\"\u003e\u003ccode\u003e9706219\u003c/code\u003e\u003c/a\u003e Update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/5485046fd3cd853c695d17a999aff9842de3c83e\"\u003e\u003ccode\u003e5485046\u003c/code\u003e\u003c/a\u003e Update eventing mgmt tests for recent 8.0 changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/1351bfae64ddf50e942ee52360735a6961ed076d\"\u003e\u003ccode\u003e1351bfa\u003c/code\u003e\u003c/a\u003e PYCBC-1699: Update SDK Build Setup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/83478e273fcee4748115b949d6809973519343a4\"\u003e\u003ccode\u003e83478e2\u003c/code\u003e\u003c/a\u003e Search User Experience Improvements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/593019056f414ea452f32a229a3c46d24e738285\"\u003e\u003ccode\u003e5930190\u003c/code\u003e\u003c/a\u003e PYCBC-1698: Improve Jenkins Integration Tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/couchbase/couchbase-python-client/compare/4.3.0...4.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `elasticsearch` from 8.14.0 to 9.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/elastic/elasticsearch-py/releases\"\u003eelasticsearch's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.3.0\u003c/h2\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epack_dense_vector\u003c/code\u003e helper function to pack dense vectors for efficient uploading (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3219\"\u003e#3219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNew and updated ES|QL functions in the ES|QL query builder for 9.3 and Serverless (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3266\"\u003e#3266\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAPI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ecat.circuit_breaker\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eesql.get_view\u003c/code\u003e, \u003ccode\u003eesql.put_view\u003c/code\u003e and \u003ccode\u003eesql.delete_view\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eindices.get_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.put_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.delete_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.get_all_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.get_sample\u003c/code\u003e, \u003ccode\u003eindices.get_sample_stats\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003einference.put_groq\u003c/code\u003e, \u003ccode\u003einference.put_openshift_ai\u003c/code\u003e, \u003ccode\u003einference.put_nvidia\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003edownsampling_method\u003c/code\u003e argument to \u003ccode\u003eindices.put_data_lifecycle\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ereturn_documents\u003c/code\u003e and \u003ccode\u003etop_n\u003c/code\u003e arguments to \u003ccode\u003einference.rerank\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eclose_job\u003c/code\u003e argument to \u003ccode\u003eml.stop_datafeed\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecertificate_identity\u003c/code\u003e to \u003ccode\u003esecurity.create_cross_cluster_api_key\u003c/code\u003e and \u003ccode\u003esecurity.update_cross_cluster_api_key\u003c/code\u003e APIs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServerless-specific\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eproject_routing\u003c/code\u003e argument to \u003ccode\u003eproject.tags\u003c/code\u003e API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDSL\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eNumpyDenseVector\u003c/code\u003e field, with support for dense vectors based on numpy arrays (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3218\"\u003e#3218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eExponentialHistogram\u003c/code\u003e field\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003etime_series_metric\u003c/code\u003e argument to \u003ccode\u003eHistogram\u003c/code\u003e field\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eon_disk_rescore\u003c/code\u003e argument from \u003ccode\u003eDenseVectorIndexOptions\u003c/code\u003e type\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eslices\u003c/code\u003e argument to \u003ccode\u003eUpdateByQueryResponse\u003c/code\u003e type\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.2.1\u003c/h2\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInstrument ping with OTel (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3160\"\u003e#3160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake positional arguments in DSL generated classes explicit  (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3233\"\u003e#3233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd warnings for private APIs (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3212\"\u003e#3212\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eES|QL query builder: fix missing assignment (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3151\"\u003e#3151\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse relative imports to fix \u003ccode\u003eelasticsearch9\u003c/code\u003e package imports (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3232\"\u003e#3232\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAPI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003etransform.get_node_stats\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003erequests_per_second\u003c/code\u003e argument to \u003ccode\u003edelete_by_query_rethrottle\u003c/code\u003e, \u003ccode\u003ereindex_rethrottle\u003c/code\u003e and \u003ccode\u003eupdate_by_query_rethrottle\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eallow_closed\u003c/code\u003e, \u003ccode\u003eallow_no_indices\u003c/code\u003e, \u003ccode\u003eexpand_wildcards\u003c/code\u003e, \u003ccode\u003eignore_throttled\u003c/code\u003e and \u003ccode\u003eignore_available\u003c/code\u003e arguments to \u003ccode\u003ecat.segments\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003echunking_settings\u003c/code\u003e argument to \u003ccode\u003einference.put_watsonxai\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eid\u003c/code\u003e argument to \u003ccode\u003eml.stop_trained_model_deployment\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003echunking_settings\u003c/code\u003e argument from \u003ccode\u003einference.put_anthropic\u003c/code\u003e, \u003ccode\u003einference.put_contextualai\u003c/code\u003e, \u003ccode\u003einference.put_deepseek\u003c/code\u003e APIs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/adae2d6d3d76f3ea75cd758ce64223bd76df45e5\"\u003e\u003ccode\u003eadae2d6\u003c/code\u003e\u003c/a\u003e Release 9.3.0 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3300\"\u003e#3300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/ea2227c743d7cacb474efecf4d8b84fa553f9eec\"\u003e\u003ccode\u003eea2227c\u003c/code\u003e\u003c/a\u003e Add Python 3.14 trove classifier (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3296\"\u003e#3296\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3299\"\u003e#3299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/b507e3e2d91ff0b6f8fb4a53ea23caa989677436\"\u003e\u003ccode\u003eb507e3e\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3293\"\u003e#3293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/76150204725b1495cad3348c573406fc1f3512d1\"\u003e\u003ccode\u003e7615020\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3280\"\u003e#3280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/ef8d102b3fc4d7572e0fd0bb56afe4291fddc529\"\u003e\u003ccode\u003eef8d102\u003c/code\u003e\u003c/a\u003e Stop using pytz (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3275\"\u003e#3275\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3278\"\u003e#3278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/65870f3504344ba7f67feb7721522bef936a92cf\"\u003e\u003ccode\u003e65870f3\u003c/code\u003e\u003c/a\u003e allow adding elasticsearch query filter for mmr searching (elastic#2638) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/32\"\u003e#32\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/b110f19a49ad492d2d6aa514afaac35360ac3c93\"\u003e\u003ccode\u003eb110f19\u003c/code\u003e\u003c/a\u003e Updates to ES|QL functions for 9.3 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3266\"\u003e#3266\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3272\"\u003e#3272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/f3d082788f52b5fe3c80926624fa8a61aa4deb37\"\u003e\u003ccode\u003ef3d0827\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3269\"\u003e#3269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/80818cc2640fcdf902919a3dc5500ae945d33271\"\u003e\u003ccode\u003e80818cc\u003c/code\u003e\u003c/a\u003e Auto-generated code for 9.3 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3262\"\u003e#3262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/6baa03faedefc90ccbc5f902626cc8cea46aed6a\"\u003e\u003ccode\u003e6baa03f\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3252\"\u003e#3252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/elastic/elasticsearch-py/compare/v8.14.0...v9.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oracledb` from 3.3.0 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oracle/python-oracledb/releases\"\u003eoracledb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.4.2\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.2 is now released. This release addresses a number of issues. See the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-2-january-2026\"\u003efull release notes\u003c/a\u003e for all of the details.\u003c/p\u003e\n\u003ch2\u003ev3.4.1\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.1 is now released. This release addresses a number of issues. See the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-1-november-2025\"\u003efull release notes\u003c/a\u003e for all of the details.\u003c/p\u003e\n\u003ch2\u003ev3.4.0\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.0 is now released. This release has the following highlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003esupport for Direct Path Load in thin mode for fast data ingestion\u003c/li\u003e\n\u003cli\u003esupport for data frames is no longer considered a pre-release\u003c/li\u003e\n\u003cli\u003esupport for type mapping when querying with data frames\u003c/li\u003e\n\u003cli\u003esupport for ingesting more Apache Arrow data types\u003c/li\u003e\n\u003cli\u003esupport for ingesting Apache Arrow data frames containing multiple chunks\u003c/li\u003e\n\u003cli\u003esupport for cursor.executemany() operating on large input data in batches\u003c/li\u003e\n\u003cli\u003efine-grained control over LOB and number handling\u003c/li\u003e\n\u003cli\u003enew optional install dependencies for plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-0-october-2025\"\u003efull release notes\u003c/a\u003e for all of the details.\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/oracle/python-oracledb/commit/51581eeb0a626fb3df4e25e00ddb3a28137d3831\"\u003e\u003ccode\u003e51581ee\u003c/code\u003e\u003c/a\u003e Preparing to release python-oracledb 3.4.2.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/81ceb554a0bfb52eb64b7b3870907d9b19bf15bd\"\u003e\u003ccode\u003e81ceb55\u003c/code\u003e\u003c/a\u003e Fixed bug which caused Connection.call_timeout to be reset to zero when\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/4a94025de99763fd0d16d1c2d79d416b9a075e12\"\u003e\u003ccode\u003e4a94025\u003c/code\u003e\u003c/a\u003e Eliminated memory leak when converting a third party data frame to one\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/36a29517530bfe311dab41218a3bc3d80700fe2c\"\u003e\u003ccode\u003e36a2951\u003c/code\u003e\u003c/a\u003e Fixed bug when decoding PL/SQL booleans in Oracle Database 12.1 (\u003ca href=\"https://redirect.github.com/oracle/python-oracledb/issues/565\"\u003e#565\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/6072f01b420af4c2d36c1b9f7b1421aab64ea336\"\u003e\u003ccode\u003e6072f01\u003c/code\u003e\u003c/a\u003e Grammar fix.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/f8be001d9862d6b0b6ec6158b67affef7a70556e\"\u003e\u003ccode\u003ef8be001\u003c/code\u003e\u003c/a\u003e Fixed bug causing hang when using asyncio and the database closes the\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/6e0d8b9da4b259e1b11ad648d354ca659f537a6a\"\u003e\u003ccode\u003e6e0d8b9\u003c/code\u003e\u003c/a\u003e Eliminated race condition in background thread/coroutine management for\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/40200bfa1cb9dde0977a509c84cfdde66f144358\"\u003e\u003ccode\u003e40200bf\u003c/code\u003e\u003c/a\u003e Adjusted code and tests to be capable of being run in environments other\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/36f8899fa71ebd4aec80b87f990633e86abc6b95\"\u003e\u003ccode\u003e36f8899\u003c/code\u003e\u003c/a\u003e Added support for ingesting Arrow arrays which only consist of null\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/7bf23b6c2061d20358b030104249bd703ac1832e\"\u003e\u003ccode\u003e7bf23b6\u003c/code\u003e\u003c/a\u003e Fixed bug when calling Cursor.executemany() with all of the values in at\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/oracle/python-oracledb/compare/v3.3.0...v3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pgvector` from 0.2.5 to 0.4.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md\"\u003epgvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2 (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 6\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estr\u003c/code\u003e objects for \u003ccode\u003ebit\u003c/code\u003e type with SQLAlchemy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 (2025-04-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eSparseVector\u003c/code\u003e constructor for SciPy sparse matrices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 (2025-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded top-level \u003ccode\u003epgvector\u003c/code\u003e package\u003c/li\u003e\n\u003cli\u003eAdded support for pg8000\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ebytes\u003c/code\u003e to \u003ccode\u003eBit\u003c/code\u003e constructor\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eglobally\u003c/code\u003e option to default to \u003ccode\u003eFalse\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003earrays\u003c/code\u003e option to default to \u003ccode\u003eTrue\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eFixed equality for \u003ccode\u003eVector\u003c/code\u003e, \u003ccode\u003eHalfVector\u003c/code\u003e, \u003ccode\u003eBit\u003c/code\u003e, and \u003ccode\u003eSparseVector\u003c/code\u003e classes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eindices\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods of \u003ccode\u003eSparseVector\u003c/code\u003e returning tuple instead of list in some cases\u003c/li\u003e\n\u003cli\u003eDropped support for Python \u0026lt; 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 (2024-10-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003earrays\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 (2024-10-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eavg\u003c/code\u003e function with type casting to SQLAlchemy\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eglobally\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.4 (2024-09-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eschema\u003c/code\u003e option for asyncpg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.3 (2024-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved support for cursor factories with Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.2 (2024-07-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error with asyncpg and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.1 (2024-07-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error parsing zero sparse vectors\u003c/li\u003e\n\u003cli\u003eFixed error with Psycopg 2 and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003cli\u003eFixed error message when \u003ccode\u003evector\u003c/code\u003e type not found with Psycopg 3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.0 (2024-06-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ehalfvec\u003c/code\u003e, \u003ccode\u003ebit\u003c/code\u003e, and \u003ccode\u003esparsevec\u003c/code\u003e types to Django\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/2968f258f9486531bd1340cbda4ff8fcaf06cdc1\"\u003e\u003ccode\u003e2968f25\u003c/code\u003e\u003c/a\u003e Version bump to 0.4.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/674f5ba3410c873d49f50fa9725b95d9db50c674\"\u003e\u003ccode\u003e674f5ba\u003c/code\u003e\u003c/a\u003e Updated checkout action [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e2986daf2b1533cc2c849f7e39350e31d57ac325\"\u003e\u003ccode\u003ee2986da\u003c/code\u003e\u003c/a\u003e Added support for Django 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e211ba4029f204734f0c001fbb90f6a594d561ae\"\u003e\u003ccode\u003ee211ba4\u003c/code\u003e\u003c/a\u003e Test with Python 3.14 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/1a72b7571adf3325174b383aca85bfb3a5b925fa\"\u003e\u003ccode\u003e1a72b75\u003c/code\u003e\u003c/a\u003e Updated pgvector on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/c820a53bfb46196551de3c3f59f81b192d890574\"\u003e\u003ccode\u003ec820a53\u003c/code\u003e\u003c/a\u003e Simplified examples [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/caf1a2e0dd7a1ba2ad0ca9f09b50516dcfffcdeb\"\u003e\u003ccode\u003ecaf1a2e\u003c/code\u003e\u003c/a\u003e Added docs for binary quantization with SQLAlchemy [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/dc9a8f959995f009649fd230139ca41193e0a801\"\u003e\u003ccode\u003edc9a8f9\u003c/code\u003e\u003c/a\u003e Added test for binary quantization with re-ranking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/33dee606229489c9ffb0cb5a1cd72bd4705ac618\"\u003e\u003ccode\u003e33dee60\u003c/code\u003e\u003c/a\u003e Added support for str objects for bit type with SQLAlchemy - \u003ca href=\"https://redirect.github.com/pgvector/pgvector-python/issues/137\"\u003e#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/ee3e71ca2c07a12a8332a3877c0ce14adc9a5da8\"\u003e\u003ccode\u003eee3e71c\u003c/code\u003e\u003c/a\u003e Updated format for license identifier\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgvector/pgvector-python/compare/v0.2.5...v0.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymilvus` to 2.6.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/milvus-io/pymilvus/releases\"\u003epymilvus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePyMilvus v2.6.9 Release Notes\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003efix: pass context to \u003ccode\u003edescribe_collection\u003c/code\u003e in \u003ccode\u003eSearchIteratorV2\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3271\"\u003e#3271\u003c/a\u003e) — Forward \u003ccode\u003ekwargs\u003c/code\u003e (including \u003ccode\u003econtext\u003c/code\u003e carrying \u003ccode\u003edb_name\u003c/code\u003e) from \u003ccode\u003eSearchIteratorV2.__init__\u003c/code\u003e to \u003ccode\u003edescribe_collection\u003c/code\u003e, matching the existing \u003ccode\u003eQueryIterator\u003c/code\u003e pattern. Without this fix, \u003ccode\u003eSearchIteratorV2\u003c/code\u003e always queries the \u003ccode\u003edefault\u003c/code\u003e database, causing \u0026quot;can't find collection\u0026quot; errors for non-default databases.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003efix: unpack \u003ccode\u003e_get_schema\u003c/code\u003e tuple return in \u003ccode\u003e_list_vector_indexes\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3275\"\u003e#3275\u003c/a\u003e) — Fix tuple unpacking issue in \u003ccode\u003e_list_vector_indexes\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eenhance: optimize gRPC keepalive defaults and support user-configurable \u003ccode\u003egrpc_options\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3258\"\u003e#3258\u003c/a\u003e) — Improve gRPC keepalive defaults and allow users to configure gRPC channel options.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eenhance: support warmup type params for \u003ccode\u003eFieldSchema\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3255\"\u003e#3255\u003c/a\u003e) — Add warmup type parameter support in field schema definitions.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTests\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eenhance: increase unit test coverage\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3233\"\u003e#3233\u003c/a\u003e) — Comprehensive tests added for \u003ccode\u003eclient/types.py\u003c/code\u003e, iterator utilities, \u003ccode\u003eorm/utility.py\u003c/code\u003e, request builder methods, \u003ccode\u003eclient/abstract.py\u003c/code\u003e, decorators, and \u003ccode\u003eclient/utils.py\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/milvus-io/pymilvus/compare/v2.6.8...v2.6.9\"\u003ehttps://github.com/milvus-io/pymilvus/compare/v2.6.8...v2.6.9\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/milvus-io/pymilvus/commit/93bd7d75da6963878435d933f6af6dcdf73135e0\"\u003e\u003ccode\u003e93bd7d7\u003c/code\u003e\u003c/a\u003e [Backport 2.6] fix: unpack _get_schema tuple return in _list_vector_indexes (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/c1200a4b38daa909b0a181a960032cfd60c6e008\"\u003e\u003ccode\u003ec1200a4\u003c/code\u003e\u003c/a\u003e fix: pass context to describe_collection in SearchIteratorV2 (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3271\"\u003e#3271\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3274\"\u003e#3274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/bc8c7074f9340a5b65cfc400d46a4e0d26c9c113\"\u003e\u003ccode\u003ebc8c707\u003c/code\u003e\u003c/a\u003e [Backport 2.6] enhance: optimize gRPC keepalive defaults and support user-con...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/111eae33dfe05f825808a61c494fba3b508c19ca\"\u003e\u003ccode\u003e111eae3\u003c/code\u003e\u003c/a\u003e [Backport 2.6] support warmup type params for fieldschema (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3255\"\u003e#3255\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3256\"\u003e#3256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/7e634e604352634a0cb13922f9614e14592767f7\"\u003e\u003ccode\u003e7e634e6\u003c/code\u003e\u003c/a\u003e enhance: Add ut to increase ut coverage (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3233\"\u003e#3233\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3254\"\u003e#3254\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/3e482a8b73bf23f8571e5a72eeec0c8c881b8c3a\"\u003e\u003ccode\u003e3e482a8\u003c/code\u003e\u003c/a\u003e fix: Correct milvus-proto commit (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3252\"\u003e#3252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/b06fc4e5a3f59682831f3768413bfeb6ebc8f679\"\u003e\u003ccode\u003eb06fc4e\u003c/code\u003e\u003c/a\u003e [Backport 2.6] enhance: add channel_state and debug_error_string to gRPC erro...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/64de51d42164b3e099498d5af0a767fc620ddf76\"\u003e\u003ccode\u003e64de51d\u003c/code\u003e\u003c/a\u003e [Backport 2.6] [enhance]:Optimize search result performance (Hit class, Hybri...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/c27f496b3db03489e942e831e2e856536ffd8f58\"\u003e\u003ccode\u003ec27f496\u003c/code\u003e\u003c/a\u003e [Backport 2.6] fix:parse dbname from uri (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3237\"\u003e#3237\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3247\"\u003e#3247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/26bd0fc7a3166f85604f5e59474507f183ea3d58\"\u003e\u003ccode\u003e26bd0fc\u003c/code\u003e\u003c/a\u003e feat: [2.6] support truncate collection api (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3238\"\u003e#3238\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/milvus-io/pymilvus/compare/v2.5.0...v2.6.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymochow` from 2.2.9 to 2.3.6\n\nUpdates `qdrant-client` from 1.9.0 to 1.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/qdrant/qdrant-client/releases\"\u003eqdrant-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.17.0\u003c/h2\u003e\n\u003ch1\u003eChange Log\u003c/h1\u003e\n\u003ch2\u003eFeatures 🚢\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1154\"\u003e#1154\u003c/a\u003e - introduce relevance feedback, add enable_hnsw option to payload indexes, add timeouts to upsert methods, weighted RRF, and more by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/coszio\"\u003e\u003ccode\u003e@​coszio\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/generall\"\u003e\u003ccode\u003e@​generall\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes ⚙️\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1138\"\u003e#1138\u003c/a\u003e - fix score threshold for fusion queries by \u003ca href=\"https://github.com/cbcoutinho\"\u003e\u003ccode\u003e@​cbcoutinho\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to everyone who contributed to the current release!\n\u003ca href=\"https://github.com/cbcoutinho\"\u003e\u003ccode\u003e@​cbcoutinho\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/generall\"\u003e\u003ccode\u003e@​generall\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/coszio\"\u003e\u003ccode\u003e@​coszio\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.16.2\u003c/h2\u003e\n\u003ch1\u003eChange Log\u003c/h1\u003e\n\u003ch2\u003eDeprecations ⏳\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1110\"\u003e#1110\u003c/a\u003e - drop python3.9 support by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes ⚙️\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e#1132- adjust numpy versioning by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1133\"\u003e#1133\u003c/a\u003e - propagate \u003ccode\u003elookup_from\u003c/code\u003e correctly in query_points_groups by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1134\"\u003e#1134\u003c/a\u003e - fix qdrant-client import in read-only systems by \u003ca href=\"https://github.com/holyMolyTolli\"\u003e\u003ccode\u003e@​holyMolyTolli\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to everyone who contributed to the current release!\n\u003ca href=\"https://github.com/holyMolyTolli\"\u003e\u003ccode\u003e@​holyMolyTolli\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.16.1\u003c/h2\u003e\n\u003ch1\u003eChange Log\u003c/h1\u003e\n\u003ch2\u003eFeatures 🪐\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1116\"\u003e#1116\u003c/a\u003e - implement grpc version of \u003ccode\u003ecluster_collection_update\u003c/code\u003e by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1123\"\u003e#1123\u003c/a\u003e - expose the remaining cluster methods: \u003ccode\u003eremove_peer\u003c/code\u003e, \u003ccode\u003ecollection_cluster_info\u003c/code\u003e, \u003ccode\u003erecover_current_peer\u003c/code\u003e, \u003ccode\u003ecluster_status\u003c/code\u003e by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes 😮\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1125\"\u003e#1125\u003c/a\u003e - rename \u003ccode\u003ecommon.proto\u003c/code\u003e to \u003ccode\u003eqdrant_common.proto\u003c/code\u003e to avoid conflicts with other libraries by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1124\"\u003e#1124\u003c/a\u003e - fix local mode with persistence backward compatibility by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1121\"\u003e#1121\u003c/a\u003e - add .pyi files for grpc files to help static code analyzers by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.16.0\u003c/h2\u003e\n\u003ch1\u003eChange Log\u003c/h1\u003e\n\u003ch2\u003eFeatures 🪐\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1060\"\u003e#1060\u003c/a\u003e - builtin BM25 support (fastembed is not longer required to generate bm25 embeddings) by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1071\"\u003e#1071\u003c/a\u003e - grpc connection pooling by \u003ca href=\"https://github.com/JojiiOfficial\"\u003e\u003ccode\u003e@​JojiiOfficial\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1088\"\u003e#1088\u003c/a\u003e - queryless scores is now equal to 1 by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1077\"\u003e#1077\u003c/a\u003e - pass grpc credentials to grpc channels by \u003ca href=\"https://github.com/ivandasch\"\u003e\u003ccode\u003e@​ivandasch\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\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/qdrant/qdrant-client/commit/e7101dc5baf4d3ce7d6321e1500311619aa95a99\"\u003e\u003ccode\u003ee7101dc\u003c/code\u003e\u003c/a\u003e bump version to v1.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/e50eb17f49851eb710c1f6f502e16cd338898703\"\u003e\u003ccode\u003ee50eb17\u003c/code\u003e\u003c/a\u003e Update models 1.17 (\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1154\"\u003e#1154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/52344500a5309527820c92be030d0561a8c2c842\"\u003e\u003ccode\u003e5234450\u003c/code\u003e\u003c/a\u003e fix: apply score_threshold filtering after fusion queries in local mode (\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1138\"\u003e#1138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/49fa101696e092a09b9bbf1c3383d03d8f992bcb\"\u003e\u003ccode\u003e49fa101\u003c/code\u003e\u003c/a\u003e bump version to 1.16.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/5bd87e49188577caeef9da3f9e86673b897c5179\"\u003e\u003ccode\u003e5bd87e4\u003c/code\u003e\u003c/a\u003e Fix/lazy load local mode (\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1134\"\u003e#1134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/1b142af0f1e20ee1a794137a23d1d295f82a4294\"\u003e\u003ccode\u003e1b142af\u003c/code\u003e\u003c/a\u003e fix: propagate lookup from correctly in query_points_groups (\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1133\"\u003e#1133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/9e61a6965257c4f88c769953daa7b19ff71f66e6\"\u003e\u003ccode\u003e9e61a69\u003c/code\u003e\u003c/a\u003e Drop python3.9 (\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1110\"\u003e#1110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/2c45a536152ce3fd0a41f880306f186a847be7ba\"\u003e\u003ccode\u003e2c45a53\u003c/code\u003e\u003c/a\u003e new: adjust numpy versioning (\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1132\"\u003e#1132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/67836fc367ea10037d36333ff68dcc7b3288e793\"\u003e\u003ccode\u003e67836fc\u003c/code\u003e\u003c/a\u003e tests: speed up tests (\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1130\"\u003e#1130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/750d735b2917a30b0cbf468ddccbc47d12704e32\"\u003e\u003ccode\u003e750d735\u003c/code\u003e\u003c/a\u003e bump version to 1.16.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/qdrant/qdrant-client/compare/v1.9.0...v1.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tablestore` from 6.3.7 to 6.4.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aliyun/aliyun-tablestore-python-sdk/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tcvectordb` to 2.0.0\n\nUpdates `tidb-vector` from 0.0.9 to 0.0.15\n\nUpdates `upstash-vector` from 0.6.0 to 0.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/upstash/vector-py/releases\"\u003eupstash-vector's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.8.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow ranging over vectors with prefix by \u003ca href=\"https://github.com/mdumandag\"\u003e\u003ccode\u003e@​mdumandag\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/vector-py/pull/45\"\u003eupstash/vector-py#45\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow fetching vectors with prefix by \u003ca href=\"https://github.com/mdumandag\"\u003e\u003ccode\u003e@​mdumandag\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/vector-py/pull/44\"\u003eupstash/vector-py#44\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow deleting vectors with prefix or filter by \u003ca href=\"https://github.com/mdumandag\"\u003e\u003ccode\u003e@​mdumandag\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/vector-py/pull/43\"\u003eupstash/vector-py#43\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow users to opt out for telemetry by \u003ca href=\"https://github.com/mdumandag\"\u003e\u003ccode\u003e@​mdumandag\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/vector-py/pull/42\"\u003eupstash/vector-py#42\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 0.8.0 by \u003ca href=\"https://github.com/mdumandag\"\u003e\u003ccode\u003e@​mdumandag\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/vector-py/pull/46\"\u003eupstash/vector-py#46\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/upstash/vector-py/compare/v0.7.1...v0.8.0\"\u003ehttps://github.com/upstash/vector-py/compare/v0.7.1...v0.8.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.7.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow upserting data as vector by \u003ca href=\"https://github.com/mdumandag\"\u003e\u003ccode\u003e@​mdumandag\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/vector-py/pull/41\"\u003eupstash/vector-py#41\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for new info endpoint fields by \u003ca href=\"https://github.com/mdumandag\"\u003e\u003ccode\u003e@​mdumandag\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/vector-py/pull/40\"\u003eupstash/vector-py#40\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/upstash/vector-py/compare/v0.7.0...v0.7.1\"\u003ehttps://github.com/upstash/vector-py/compare/v0.7.0...v0.7.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.7.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Handle None Namespace Case Properly by \u003ca href=\"https://github.com/fahreddinozcan\"\u003e\u003ccode\u003e@​fahreddinozcan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/vector-py/pull/33\"\u003eupstash/vector-py#33\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not retry in case of an nginx timeout error by \u003ca href=\"https://github.com/mdumandag\"\u003e\u003ccode\u003e@​mdumandag\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/vector-py/pull/35\"\u003eupstash/vector-py#35\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncrease http read/write timeout by \u003ca href=\"https://github.com/mdumandag\"\u003e\u003ccode\u003e@​mdumandag\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/vector-py/pull/38\"\u003eupstash/vector-py#38\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVEC-224: Add support for sparse and hybrid indexes by \u003ca href=\"https://github.com/mdumandag\"\u003e\u003ccode\u003e@​mdumandag\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/vector-py/pull/37\"\u003eupstash/vector-py#37\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 0.7.0 by \u003ca href=\"https://github.com/mdumandag\"\u003e\u003ccode\u003e@​mdumandag\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/vector-py/pull/39\"\u003eupstash/vector-py#39\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/upstash/vector-py/compare/v0.6.0...v0.7.0\"\u003ehttps://github.com/upstash/vector-py/compare/v0.6.0...v0.7.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/upstash/vector-py/commit/c354216302b6b39b971c1e7902e88eecbc361771\"\u003e\u003ccode\u003ec354216\u003c/code\u003e\u003c/a\u003e Bump version to 0.8.0 (\u003ca href=\"https://redirect.github.com/upstash/vector-py/issues/46\"\u003e#46\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/vector-py/commit/22bc162cb2db49994ffc701e71faf0d2f80223c5\"\u003e\u003ccode\u003e22bc162\u003c/code\u003e\u003c/a\u003e Allow users to opt out for telemetry (\u003ca href=\"https://redirect.github.com/upstash/vector-py/issues/42\"\u003e#42\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/vector-py/commit/ced4d9003c1b652012effa7f6d01f32d12461221\"\u003e\u003ccode\u003eced4d90\u003c/code\u003e\u003c/a\u003e Allow deleting vectors with prefix or filter (\u003ca href=\"https://redirect.github.com/upstash/vector-py/issues/43\"\u003e#43\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/vector-py/commit/0cb004b02f91df6ae08cf40e1f8971bd81997363\"\u003e\u003ccode\u003e0cb004b\u003c/code\u003e\u003c/a\u003e Allow fetching vectors with prefix (\u003ca href=\"https://redirect.github.com/upstash/vector-py/issues/44\"\u003e#44\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/vector-py/commit/084183aec2da985c3833da4ea91658e4c981a270\"\u003e\u003ccode\u003e084183a\u003c/code\u003e\u003c/a\u003e Allow ranging over vectors with prefix (\u003ca href=\"https://redirect.github.com/upstash/vector-py/issues/45\"\u003e#45\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/vector-py/commit/0a851d62dd9c2f719bcbe6798ee55fbeb5de0c89\"\u003e\u003ccode\u003e0a851d6\u003c/code\u003e\u003c/a\u003e Add support for new info endpoint fields (\u003ca href=\"https://redirect.github.com/upstash/vector-py/issues/40\"\u003e#40\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/vector-py/commit/8753faefba9844c16f051b9b96edb3d64cc7a7f6\"\u003e\u003ccode\u003e8753fae\u003c/code\u003e\u003c/a\u003e Allow upserting data as vector (\u003ca href=\"https://redirect.github.com/upstash/vector-py/issues/41\"\u003e#41\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/vector-py/commit/17e719611db4896e6d22746592a37ccaa17599e2\"\u003e\u003ccode\u003e17e7196\u003c/code\u003e\u003c/a\u003e Bump version to 0.7.0 (\u003ca href=\"https://redirect.github.com/upstash/vector-py/issues/39\"\u003e#39\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/vector-py/commit/c4f878d6889d5d5224fd7683864ff450f416ccd8\"\u003e\u003ccode\u003ec4f878d\u003c/code\u003e\u003c/a\u003e VEC-224: Add support for sparse and hybrid indexes (\u003ca href=\"https://redirect.github.com/upstash/vector-py/issues/37\"\u003e#37\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/vector-py/commit/cafb37b2ca98ba44e30a08c7c12f6dc0fee4758b\"\u003e\u003ccode\u003ecafb37b\u003c/code\u003e\u003c/a\u003e Increase http read/write timeout (\u003ca href=\"https://redirect.github.com/upstash/vector-py/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/upstash/vector-py/compare/v0.6.0...v0.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `xinference-client` to 2.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/xorbitsai/inference-client/releases\"\u003exinference-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.2.0\u003c/h2\u003e\n\u003ch1\u003eWhat's new in 2.2.0 (2026-02-28)\u003c/h1\u003e\n\u003cp\u003eThese are the changes in inference-client v2.2.0.\u003c/p\u003e\n\u003ch2\u003eOthers\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChore: update submodule by \u003ca href=\"https://github.com/XprobeBot\"\u003e\u003ccode\u003e@​XprobeBot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/xorbitsai/inference-client/pull/123\"\u003exorbitsai/inference-client#123\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/xorbitsai/inference-client/compare/v2.1.0...v2.2.0\"\u003ehttps://github.com/xorbitsai/inference-client/compare/v2.1.0...v2.2.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/xorbitsai/inference-client/commit/8d9970f448282205c763ec5ef1b89d1b62abcd1b\"\u003e\u003ccode\u003e8d9970f\u003c/code\u003e\u003c/a\u003e Chore: update submodule (\u003ca href=\"https://redirect.github.com/xorbitsai/inference-client/issues/123\"\u003e#123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xorbitsai/inference-client/commit/90917cbf732f81222b0f4e49dbcf1a829edf9bd5\"\u003e\u003ccode\u003e90917cb\u003c/code\u003e\u003c/a\u003e Chore: update submodule (\u003ca href=\"https://redirect.github.com/xorbitsai/inference-client/issues/122\"\u003e#122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xorbitsai/inference-client/commit/0e063ef1e4a045d4dd23f72055cd68f7b5763700\"\u003e\u003ccode\u003e0e063ef\u003c/code\u003e\u003c/a\u003e Chore: update submodule (\u003ca href=\"https://redirect.github.com/xorbitsai/inference-client/issues/121\"\u003e#121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xorbitsai/inference-client/commit/21d574d7e7a14d1f60a30e8e2981b6b3356a11f9\"\u003e\u003ccode\u003e21d574d\u003c/code\u003e\u003c/a\u003e Chore: update submodule (\u003ca href=\"https://redirect.github.com/xorbitsai/inference-client/issues/120\"\u003e#120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xorbitsai/inference-client/commit/9b13806371fede877b6df851fdb2ae27cf9177c8\"\u003e\u003ccode\u003e9b13806\u003c/code\u003e\u003c/a\u003e BLD: fix test_import macos (\u003ca href=\"https://redirect.github.com/xorbitsai/inference-client/issues/119\"\u003e#119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xorbitsai/inference-client/commit/5d9fc3b01cb65daaded13897e4a0a8...\n\n_Description has been truncated_","html_url":"https://github.com/langgenius/dify/pull/33311","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/langgenius%2Fdify/issues/33311","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/33311/packages"},{"uuid":"4031193231","node_id":"PR_kwDOOI20JM7IWaO0","number":1,"state":"open","title":"chore(deps): update pgvector requirement from ==0.3.* to ==0.4.* in /ai","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-05T23:16:06.000Z","updated_at":"2026-03-05T23:16:06.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): update","packages":[{"name":"pgvector","old_version":"==0.3.*","new_version":"==0.4.*","repository_url":"https://github.com/pgvector/pgvector-python"}],"path":"/ai","ecosystem":"pip"},"body":"Updates the requirements on [pgvector](https://github.com/pgvector/pgvector-python) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md\"\u003epgvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2 (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 6\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estr\u003c/code\u003e objects for \u003ccode\u003ebit\u003c/code\u003e type with SQLAlchemy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 (2025-04-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eSparseVector\u003c/code\u003e constructor for SciPy sparse matrices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 (2025-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded top-level \u003ccode\u003epgvector\u003c/code\u003e package\u003c/li\u003e\n\u003cli\u003eAdded support for pg8000\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ebytes\u003c/code\u003e to \u003ccode\u003eBit\u003c/code\u003e constructor\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eglobally\u003c/code\u003e option to default to \u003ccode\u003eFalse\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003earrays\u003c/code\u003e option to default to \u003ccode\u003eTrue\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eFixed equality for \u003ccode\u003eVector\u003c/code\u003e, \u003ccode\u003eHalfVector\u003c/code\u003e, \u003ccode\u003eBit\u003c/code\u003e, and \u003ccode\u003eSparseVector\u003c/code\u003e classes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eindices\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods of \u003ccode\u003eSparseVector\u003c/code\u003e returning tuple instead of list in some cases\u003c/li\u003e\n\u003cli\u003eDropped support for Python \u0026lt; 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 (2024-10-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003earrays\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 (2024-10-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eavg\u003c/code\u003e function with type casting to SQLAlchemy\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eglobally\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.4 (2024-09-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eschema\u003c/code\u003e option for asyncpg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.3 (2024-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved support for cursor factories with Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.2 (2024-07-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error with asyncpg and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.1 (2024-07-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error parsing zero sparse vectors\u003c/li\u003e\n\u003cli\u003eFixed error with Psycopg 2 and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003cli\u003eFixed error message when \u003ccode\u003evector\u003c/code\u003e type not found with Psycopg 3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.0 (2024-06-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ehalfvec\u003c/code\u003e, \u003ccode\u003ebit\u003c/code\u003e, and \u003ccode\u003esparsevec\u003c/code\u003e types to Django\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/2968f258f9486531bd1340cbda4ff8fcaf06cdc1\"\u003e\u003ccode\u003e2968f25\u003c/code\u003e\u003c/a\u003e Version bump to 0.4.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/674f5ba3410c873d49f50fa9725b95d9db50c674\"\u003e\u003ccode\u003e674f5ba\u003c/code\u003e\u003c/a\u003e Updated checkout action [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e2986daf2b1533cc2c849f7e39350e31d57ac325\"\u003e\u003ccode\u003ee2986da\u003c/code\u003e\u003c/a\u003e Added support for Django 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e211ba4029f204734f0c001fbb90f6a594d561ae\"\u003e\u003ccode\u003ee211ba4\u003c/code\u003e\u003c/a\u003e Test with Python 3.14 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/1a72b7571adf3325174b383aca85bfb3a5b925fa\"\u003e\u003ccode\u003e1a72b75\u003c/code\u003e\u003c/a\u003e Updated pgvector on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/c820a53bfb46196551de3c3f59f81b192d890574\"\u003e\u003ccode\u003ec820a53\u003c/code\u003e\u003c/a\u003e Simplified examples [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/caf1a2e0dd7a1ba2ad0ca9f09b50516dcfffcdeb\"\u003e\u003ccode\u003ecaf1a2e\u003c/code\u003e\u003c/a\u003e Added docs for binary quantization with SQLAlchemy [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/dc9a8f959995f009649fd230139ca41193e0a801\"\u003e\u003ccode\u003edc9a8f9\u003c/code\u003e\u003c/a\u003e Added test for binary quantization with re-ranking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/33dee606229489c9ffb0cb5a1cd72bd4705ac618\"\u003e\u003ccode\u003e33dee60\u003c/code\u003e\u003c/a\u003e Added support for str objects for bit type with SQLAlchemy - \u003ca href=\"https://redirect.github.com/pgvector/pgvector-python/issues/137\"\u003e#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/ee3e71ca2c07a12a8332a3877c0ce14adc9a5da8\"\u003e\u003ccode\u003eee3e71c\u003c/code\u003e\u003c/a\u003e Updated format for license identifier\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgvector/pgvector-python/compare/v0.3.0...v0.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/sudoshi/Parthenon/pull/1","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sudoshi%2FParthenon/issues/1","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1/packages"},{"uuid":"4015247633","node_id":"PR_kwDORLiPwM7HiPbb","number":6,"state":"closed","title":"chore(deps): Bump the python-minor-patch group in /backend with 37 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-03T07:50:54.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-03T07:50:33.000Z","updated_at":"2026-03-03T07:51:02.000Z","time_to_close":21,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","group_name":"python-minor-patch","update_count":37,"packages":[{"name":"fastapi","old_version":"0.104.1","new_version":"0.135.1","repository_url":"https://github.com/fastapi/fastapi"},{"name":"uvicorn","old_version":"0.24.0","new_version":"0.41.0"},{"name":"pydantic-settings","old_version":"2.1.0","new_version":"2.13.1","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"python-multipart","old_version":"0.0.6","new_version":"0.0.22","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"uvloop","old_version":"0.19.0","new_version":"0.22.1","repository_url":"https://github.com/MagicStack/uvloop"},{"name":"httptools","old_version":"0.6.1","new_version":"0.7.1","repository_url":"https://github.com/MagicStack/httptools"},{"name":"sqlalchemy","old_version":"2.0.23","new_version":"2.0.48","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"asyncpg","old_version":"0.29.0","new_version":"0.31.0","repository_url":"https://github.com/MagicStack/asyncpg"},{"name":"aiosqlite","old_version":"0.20.0","new_version":"0.22.1","repository_url":"https://github.com/omnilib/aiosqlite"},{"name":"psycopg2-binary","old_version":"2.9.9","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"alembic","old_version":"1.13.0","new_version":"1.18.4","repository_url":"https://github.com/sqlalchemy/alembic"},{"name":"greenlet","old_version":"3.2.4","new_version":"3.3.2","repository_url":"https://github.com/python-greenlet/greenlet"},{"name":"python-jose","old_version":"3.3.0","new_version":"3.5.0"},{"name":"email-validator","old_version":"2.1.0","new_version":"2.3.0","repository_url":"https://github.com/JoshData/python-email-validator"},{"name":"google-generativeai","old_version":"0.8.4","new_version":"0.8.6","repository_url":"https://github.com/google/generative-ai-python"},{"name":"anthropic","old_version":"0.42.0","new_version":"0.84.0","repository_url":"https://github.com/anthropics/anthropic-sdk-python"},{"name":"elevenlabs","old_version":"2.35.0","new_version":"2.37.0","repository_url":"https://github.com/elevenlabs/elevenlabs-python"},{"name":"paypalrestsdk","old_version":"1.13.1","new_version":"1.13.3","repository_url":"https://github.com/paypal/PayPal-Python-SDK"},{"name":"requests","old_version":"2.31.0","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"pgvector","old_version":"0.3.6","new_version":"0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"},{"name":"pywebpush","old_version":"2.0.1","new_version":"2.3.0","repository_url":"https://github.com/web-push-libs/pywebpush"},{"name":"tiktoken","old_version":"0.8.0","new_version":"0.12.0","repository_url":"https://github.com/openai/tiktoken"},{"name":"pybreaker","old_version":"1.2.0","new_version":"1.4.1","repository_url":"https://github.com/danielfm/pybreaker"},{"name":"prometheus-client","old_version":"0.20.0","new_version":"0.24.1","repository_url":"https://github.com/prometheus/client_python"},{"name":"sentry-sdk","old_version":"2.19.2","new_version":"2.54.0"},{"name":"opentelemetry-api","old_version":"1.27.0","new_version":"1.39.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-sdk","old_version":"1.27.0","new_version":"1.39.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-exporter-otlp-proto-grpc","old_version":"1.27.0","new_version":"1.39.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-fastapi","old_version":"0.48b0","new_version":"0.60b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-sqlalchemy","old_version":"0.48b0","new_version":"0.60b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-httpx","old_version":"0.48b0","new_version":"0.60b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-redis","old_version":"0.48b0","new_version":"0.60b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"python-dotenv","old_version":"1.0.0","new_version":"1.2.2","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"httpx","old_version":"0.25.2","new_version":"0.28.1","repository_url":"https://github.com/encode/httpx"},{"name":"locust","old_version":"2.20.1","new_version":"2.43.3","repository_url":"https://github.com/locustio/locust"},{"name":"mypy","old_version":"1.7.1","new_version":"1.19.1","repository_url":"https://github.com/python/mypy"},{"name":"bleach","old_version":"6.1.0","new_version":"6.3.0","repository_url":"https://github.com/mozilla/bleach"}],"path":"/backend","ecosystem":"pip"},"body":"Bumps the python-minor-patch group in /backend with 37 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.104.1` | `0.135.1` |\n| [uvicorn[standard]](https://github.com/Kludex/uvicorn) | `0.24.0` | `0.41.0` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.1.0` | `2.13.1` |\n| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.6` | `0.0.22` |\n| [uvloop](https://github.com/MagicStack/uvloop) | `0.19.0` | `0.22.1` |\n| [httptools](https://github.com/MagicStack/httptools) | `0.6.1` | `0.7.1` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.23` | `2.0.48` |\n| [asyncpg](https://github.com/MagicStack/asyncpg) | `0.29.0` | `0.31.0` |\n| [aiosqlite](https://github.com/omnilib/aiosqlite) | `0.20.0` | `0.22.1` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.9` | `2.9.11` |\n| [alembic](https://github.com/sqlalchemy/alembic) | `1.13.0` | `1.18.4` |\n| [greenlet](https://github.com/python-greenlet/greenlet) | `3.2.4` | `3.3.2` |\n| [python-jose[cryptography]](https://github.com/mpdavis/python-jose) | `3.3.0` | `3.5.0` |\n| [email-validator](https://github.com/JoshData/python-email-validator) | `2.1.0` | `2.3.0` |\n| [google-generativeai](https://github.com/google/generative-ai-python) | `0.8.4` | `0.8.6` |\n| [anthropic](https://github.com/anthropics/anthropic-sdk-python) | `0.42.0` | `0.84.0` |\n| [elevenlabs](https://github.com/elevenlabs/elevenlabs-python) | `2.35.0` | `2.37.0` |\n| [paypalrestsdk](https://github.com/paypal/PayPal-Python-SDK) | `1.13.1` | `1.13.3` |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.32.5` |\n| [pgvector](https://github.com/pgvector/pgvector-python) | `0.3.6` | `0.4.2` |\n| [pywebpush](https://github.com/web-push-libs/pywebpush) | `2.0.1` | `2.3.0` |\n| [tiktoken](https://github.com/openai/tiktoken) | `0.8.0` | `0.12.0` |\n| [pybreaker](https://github.com/danielfm/pybreaker) | `1.2.0` | `1.4.1` |\n| [prometheus-client](https://github.com/prometheus/client_python) | `0.20.0` | `0.24.1` |\n| [sentry-sdk[fastapi]](https://github.com/getsentry/sentry-python) | `2.19.2` | `2.54.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.27.0` | `1.39.1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.27.0` | `1.39.1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.27.0` | `1.39.1` |\n| [opentelemetry-instrumentation-fastapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.48b0` | `0.60b1` |\n| [opentelemetry-instrumentation-sqlalchemy](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.48b0` | `0.60b1` |\n| [opentelemetry-instrumentation-httpx](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.48b0` | `0.60b1` |\n| [opentelemetry-instrumentation-redis](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.48b0` | `0.60b1` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.0` | `1.2.2` |\n| [httpx](https://github.com/encode/httpx) | `0.25.2` | `0.28.1` |\n| [locust](https://github.com/locustio/locust) | `2.20.1` | `2.43.3` |\n| [mypy](https://github.com/python/mypy) | `1.7.1` | `1.19.1` |\n| [bleach](https://github.com/mozilla/bleach) | `6.1.0` | `6.3.0` |\n\nUpdates `fastapi` from 0.104.1 to 0.135.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.135.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix, avoid yield from a TaskGroup, only as an async context manager, closed in the request async exit stack. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15038\"\u003e#15038\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✏️ Fix typo in \u003ccode\u003edocs/en/docs/_llm-test.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15007\"\u003e#15007\u003c/a\u003e by \u003ca href=\"https://github.com/adityagiri3600\"\u003e\u003ccode\u003e@​adityagiri3600\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update Skill, optimize context, trim and refactor into references. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15031\"\u003e#15031\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👥 Update FastAPI People - Experts. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15037\"\u003e#15037\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👥 Update FastAPI People - Contributors and Translators. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15029\"\u003e#15029\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👥 Update FastAPI GitHub topic repositories. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15036\"\u003e#15036\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.135.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add support for Server Sent Events. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15030\"\u003e#15030\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eNew docs: \u003ca href=\"https://fastapi.tiangolo.com/tutorial/server-sent-events/\"\u003eServer-Sent Events (SSE)\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.134.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add support for streaming JSON Lines and binary data with \u003ccode\u003eyield\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15022\"\u003e#15022\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eThis also upgrades Starlette from \u003ccode\u003e\u0026gt;=0.40.0\u003c/code\u003e to \u003ccode\u003e\u0026gt;=0.46.0\u003c/code\u003e, as it's needed to properly unrwap and re-raise exceptions from exception groups.\u003c/li\u003e\n\u003cli\u003eNew docs: \u003ca href=\"https://fastapi.tiangolo.com/tutorial/stream-json-lines/\"\u003eStream JSON Lines\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAnd new docs: \u003ca href=\"https://fastapi.tiangolo.com/advanced/stream-data/\"\u003eStream Data\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Update Library Agent Skill with streaming responses. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15024\"\u003e#15024\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update docs for responses and new stream with \u003ccode\u003eyield\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15023\"\u003e#15023\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Add \u003ccode\u003eawait\u003c/code\u003e in \u003ccode\u003eStreamingResponse\u003c/code\u003e code example to allow cancellation. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14681\"\u003e#14681\u003c/a\u003e by \u003ca href=\"https://github.com/casperdcl\"\u003e\u003ccode\u003e@​casperdcl\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Rename \u003ccode\u003edocs_src/websockets\u003c/code\u003e to \u003ccode\u003edocs_src/websockets_\u003c/code\u003e to avoid import errors. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14979\"\u003e#14979\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔨 Run tests with \u003ccode\u003epytest-xdist\u003c/code\u003e and \u003ccode\u003epytest-cov\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14992\"\u003e#14992\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.133.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Add FastAPI Agent Skill. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14982\"\u003e#14982\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eRead more about it in \u003ca href=\"https://tiangolo.com/ideas/library-agent-skills/\"\u003eLibrary Agent Skills\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Fix all tests are skipped on Windows. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14994\"\u003e#14994\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/ca5f60ee72f35fb2134d8b5d26bbb75965bcff66\"\u003e\u003ccode\u003eca5f60e\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.135.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/87f75aa62c1dde90f4dfbfa7fc2c33127d757d34\"\u003e\u003ccode\u003e87f75aa\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/8a9258b169dce3e321f614c14b1877c18750d6c7\"\u003e\u003ccode\u003e8a9258b\u003c/code\u003e\u003c/a\u003e 🐛 Fix, avoid yield from a TaskGroup, only as an async context manager, closed...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/60385078233e00f9f13307ff038f12f88fc5c240\"\u003e\u003ccode\u003e6038507\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c796ba4f46a6e81477ce44eabe13fd01d82f2c4a\"\u003e\u003ccode\u003ec796ba4\u003c/code\u003e\u003c/a\u003e 👥 Update FastAPI People - Experts (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15037\"\u003e#15037\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/b24aa03b888b78dd2ec6540d47c84a8676d6a7cb\"\u003e\u003ccode\u003eb24aa03\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/2c6104752a97273976c8a63e897de98a48f19ce0\"\u003e\u003ccode\u003e2c61047\u003c/code\u003e\u003c/a\u003e ✏️ Fix typo in \u003ccode\u003edocs/en/docs/_llm-test.md\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15007\"\u003e#15007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/e3bbeef8a2687fdf34d4de2d304a59135a30e63c\"\u003e\u003ccode\u003ee3bbeef\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/d726c8cb2b8e00279487fa8661a5276d2ff2125f\"\u003e\u003ccode\u003ed726c8c\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cf514e6d3839ca69ca45a55a6f862e74892339b9\"\u003e\u003ccode\u003ecf514e6\u003c/code\u003e\u003c/a\u003e 👥 Update FastAPI People - Contributors and Translators (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15029\"\u003e#15029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.104.1...0.135.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn[standard]` from 0.24.0 to 0.41.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[standard]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.41.0\u003c/h2\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--limit-max-requests-jitter\u003c/code\u003e to stagger worker restarts (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd socket path to \u003ccode\u003escope[\u0026quot;server\u0026quot;]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2561\"\u003e#2561\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRename \u003ccode\u003eLifespanOn.error_occured\u003c/code\u003e to \u003ccode\u003eerror_occurred\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2776\"\u003e#2776\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore permission denied errors in watchfiles reloader (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2817\"\u003e#2817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure lifespan shutdown runs when \u003ccode\u003eshould_exit\u003c/code\u003e is set during startup (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2812\"\u003e#2812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce the log level of 'request limit exceeded' messages (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2788\"\u003e#2788\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/t-kawasumi\"\u003e\u003ccode\u003e@​t-kawasumi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2776\"\u003eKludex/uvicorn#2776\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fardyn\"\u003e\u003ccode\u003e@​fardyn\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2800\"\u003eKludex/uvicorn#2800\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewie\"\u003e\u003ccode\u003e@​ewie\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2807\"\u003eKludex/uvicorn#2807\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shevron\"\u003e\u003ccode\u003e@​shevron\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2788\"\u003eKludex/uvicorn#2788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jonashaag\"\u003e\u003ccode\u003e@​jonashaag\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2707\"\u003eKludex/uvicorn#2707\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.40.0...0.41.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.40.0...0.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.40.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop Python 3.9 by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2772\"\u003eKludex/uvicorn#2772\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.39.0...0.40.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.39.0...0.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.39.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eexplicitly start ASGI run with empty context by \u003ca href=\"https://github.com/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2742\"\u003eKludex/uvicorn#2742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(websockets): Send close frame on ASGI return by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2769\"\u003eKludex/uvicorn#2769\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2742\"\u003eKludex/uvicorn#2742\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.38.0...0.39.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.38.0...0.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.38.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2723\"\u003eKludex/uvicorn#2723\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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[standard]'s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.41.0 (February 16, 2026)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--limit-max-requests-jitter\u003c/code\u003e to stagger worker restarts (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd socket path to \u003ccode\u003escope[\u0026quot;server\u0026quot;]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2561\"\u003e#2561\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRename \u003ccode\u003eLifespanOn.error_occured\u003c/code\u003e to \u003ccode\u003eerror_occurred\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2776\"\u003e#2776\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore permission denied errors in watchfiles reloader (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2817\"\u003e#2817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure lifespan shutdown runs when \u003ccode\u003eshould_exit\u003c/code\u003e is set during startup (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2812\"\u003e#2812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce the log level of 'request limit exceeded' messages (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2788\"\u003e#2788\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.40.0 (December 21, 2025)\u003c/h2\u003e\n\u003ch3\u003eRemove\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2772\"\u003e#2772\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.39.0 (December 21, 2025)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSend close frame on ASGI return for WebSockets (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2769\"\u003e#2769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExplicitly start ASGI run with empty context (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2742\"\u003e#2742\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.38.0 (October 18, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.37.0 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--timeout-worker-healthcheck\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2711\"\u003e#2711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eos.PathLike[str]\u003c/code\u003e type to \u003ccode\u003essl_ca_certs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2676\"\u003e#2676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.36.1 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRaise an exception when calling removed \u003ccode\u003eConfig.setup_event_loop()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.36.0 (September 20, 2025)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/9283c0f15cfa82307f57daba4d1b1880902adfb2\"\u003e\u003ccode\u003e9283c0f\u003c/code\u003e\u003c/a\u003e Version 0.41.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2821\"\u003e#2821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/a01a33eb8f3ac044cab5964421b9aa308a2bcfca\"\u003e\u003ccode\u003ea01a33e\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e--limit-max-requests-jitter\u003c/code\u003e to stagger worker restarts (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/2ce65bde1509faa958775df8153bdeb5dbaf6f58\"\u003e\u003ccode\u003e2ce65bd\u003c/code\u003e\u003c/a\u003e Ignore permission denied errors in watchfiles reloader (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2817\"\u003e#2817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/654f2ed7d7c1a014116d8662e6544f5309375137\"\u003e\u003ccode\u003e654f2ed\u003c/code\u003e\u003c/a\u003e Ensure lifespan shutdown runs when \u003ccode\u003eshould_exit\u003c/code\u003e is set during startup (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2812\"\u003e#2812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/a03d9f6f0e99383c76934a82def5a83aeb6b0a47\"\u003e\u003ccode\u003ea03d9f6\u003c/code\u003e\u003c/a\u003e Reduce the log level of 'request limit exceeded' messages (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2788\"\u003e#2788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/e377de40d0a2a1b1d9f55483ee4c1cceb2474502\"\u003e\u003ccode\u003ee377de4\u003c/code\u003e\u003c/a\u003e Add socket path to scope[\u0026quot;server\u0026quot;] (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2561\"\u003e#2561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/0779f7f8a4df1cc98433eb30d69027499a0cb7f8\"\u003e\u003ccode\u003e0779f7f\u003c/code\u003e\u003c/a\u003e Poll for readiness in \u003ccode\u003etest_multiprocess_health_check\u003c/code\u003e and \u003ccode\u003erun_server\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2816\"\u003e#2816\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/7e9ce2c974f1d78d192e81caa7890e2bbae8e711\"\u003e\u003ccode\u003e7e9ce2c\u003c/code\u003e\u003c/a\u003e Poll for PID changes in \u003ccode\u003etest_multiprocess_sighup\u003c/code\u003e instead of fixed sleep (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2\"\u003e#2\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/99f0d8734d441bf4a1467093766c779a5a1c9868\"\u003e\u003ccode\u003e99f0d87\u003c/code\u003e\u003c/a\u003e Fix grep warning in scripts/sync-version (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2807\"\u003e#2807\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/7ae2e6375a90b2e6a3370aa252f5ac2dc06ab892\"\u003e\u003ccode\u003e7ae2e63\u003c/code\u003e\u003c/a\u003e chore(deps): bump the python-packages group with 18 updates (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2801\"\u003e#2801\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.24.0...0.41.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic-settings` from 2.1.0 to 2.13.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic-settings/releases\"\u003epydantic-settings's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Deterministic alias selection when using validate_by_name by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/707\"\u003epydantic/pydantic-settings#707\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd deep merge functionality to config file sources by \u003ca href=\"https://github.com/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/698\"\u003epydantic/pydantic-settings#698\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for AWS Secrets Manager VersionId parameter by \u003ca href=\"https://github.com/jcyamacho\"\u003e\u003ccode\u003e@​jcyamacho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/708\"\u003epydantic/pydantic-settings#708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebugfix: Return \u003ccode\u003eNone\u003c/code\u003e for inaccessible GCP Secret Manager secrets by \u003ca href=\"https://github.com/zaphod72\"\u003e\u003ccode\u003e@​zaphod72\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/712\"\u003epydantic/pydantic-settings#712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBugfix for cli_kebab_case=\u0026quot;all\u0026quot; and CliImplicitFlag[bool] by \u003ca href=\"https://github.com/Digity101\"\u003e\u003ccode\u003e@​Digity101\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/702\"\u003epydantic/pydantic-settings#702\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnpack type alisases when looking for \u003ccode\u003eNoDecode\u003c/code\u003e by \u003ca href=\"https://github.com/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/695\"\u003epydantic/pydantic-settings#695\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCliToggleFlag and CliDualFlag by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/717\"\u003epydantic/pydantic-settings#717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for CLI duplicate enum field values. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/722\"\u003epydantic/pydantic-settings#722\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efixed load nested config from env by \u003ca href=\"https://github.com/Sube-py\"\u003e\u003ccode\u003e@​Sube-py\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/723\"\u003epydantic/pydantic-settings#723\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd non-Path files support (for example Traversable) and open files using Path.open method by \u003ca href=\"https://github.com/mahenzon\"\u003e\u003ccode\u003e@​mahenzon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/724\"\u003epydantic/pydantic-settings#724\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd one more traversable test by \u003ca href=\"https://github.com/mahenzon\"\u003e\u003ccode\u003e@​mahenzon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/725\"\u003epydantic/pydantic-settings#725\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI fix fox external list args. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/727\"\u003epydantic/pydantic-settings#727\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: handle case-insensitive retrieval in GoogleSecretManagerSettingsSource by \u003ca href=\"https://github.com/ezwiefel\"\u003e\u003ccode\u003e@​ezwiefel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/730\"\u003epydantic/pydantic-settings#730\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI test fixes for help text formatting. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/735\"\u003epydantic/pydantic-settings#735\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid conflicts with the \u003ccode\u003eNAME\u003c/code\u003e environment variable in WSL by \u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/747\"\u003epydantic/pydantic-settings#747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: When restoring init kwargs, use deterministic order by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/746\"\u003epydantic/pydantic-settings#746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd env_prefix_target by \u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/749\"\u003epydantic/pydantic-settings#749\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003e(default: …)\u003c/code\u003e in the help message for \u003ccode\u003eCliToggleFlag\u003c/code\u003e by \u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/740\"\u003epydantic/pydantic-settings#740\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for CLI serialize styles. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/755\"\u003epydantic/pydantic-settings#755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for overriding default help on CLI internal parser. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/758\"\u003epydantic/pydantic-settings#758\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI format_help method support by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/759\"\u003epydantic/pydantic-settings#759\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(gcp): support SecretVersion annotation for per-field secret versioning by \u003ca href=\"https://github.com/ezwiefel\"\u003e\u003ccode\u003e@​ezwiefel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/763\"\u003epydantic/pydantic-settings#763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003esnake_case_conversion\u003c/code\u003e with \u003ccode\u003eenv_prefix\u003c/code\u003e for Azure Key Vault source by \u003ca href=\"https://github.com/cstarkers\"\u003e\u003ccode\u003e@​cstarkers\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/762\"\u003epydantic/pydantic-settings#762\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Only override preferred_key when no value was found by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/767\"\u003epydantic/pydantic-settings#767\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate deps by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/768\"\u003epydantic/pydantic-settings#768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI coerce numeric types. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/769\"\u003epydantic/pydantic-settings#769\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI Union Discriminator Choices in Help by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/764\"\u003epydantic/pydantic-settings#764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd nested path support for yaml_config_section (fixes \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/772\"\u003e#772\u003c/a\u003e) by \u003ca href=\"https://github.com/hugo-romero-mm\"\u003e\u003ccode\u003e@​hugo-romero-mm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/773\"\u003epydantic/pydantic-settings#773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release 2.13.0 by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/777\"\u003epydantic/pydantic-settings#777\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/698\"\u003epydantic/pydantic-settings#698\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jcyamacho\"\u003e\u003ccode\u003e@​jcyamacho\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/708\"\u003epydantic/pydantic-settings#708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zaphod72\"\u003e\u003ccode\u003e@​zaphod72\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/712\"\u003epydantic/pydantic-settings#712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Digity101\"\u003e\u003ccode\u003e@​Digity101\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/702\"\u003epydantic/pydantic-settings#702\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Sube-py\"\u003e\u003ccode\u003e@​Sube-py\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/723\"\u003epydantic/pydantic-settings#723\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mahenzon\"\u003e\u003ccode\u003e@​mahenzon\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/724\"\u003epydantic/pydantic-settings#724\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/747\"\u003epydantic/pydantic-settings#747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cstarkers\"\u003e\u003ccode\u003e@​cstarkers\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/762\"\u003epydantic/pydantic-settings#762\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hugo-romero-mm\"\u003e\u003ccode\u003e@​hugo-romero-mm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/773\"\u003epydantic/pydantic-settings#773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.12.0...v2.13.0\"\u003ehttps://github.com/pydantic/pydantic-settings/compare/v2.12.0...v2.13.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for enum kebab case. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/686\"\u003epydantic/pydantic-settings#686\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply source order: init \u0026gt; env \u0026gt; dotenv \u0026gt; secrets \u0026gt; defaults and pres… by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/688\"\u003epydantic/pydantic-settings#688\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd NestedSecretsSettings source by \u003ca href=\"https://github.com/makukha\"\u003e\u003ccode\u003e@​makukha\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/690\"\u003epydantic/pydantic-settings#690\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/e87d12df0f42f7f72a3eb6d830cfbfb1d68b4496\"\u003e\u003ccode\u003ee87d12d\u003c/code\u003e\u003c/a\u003e v2.13.1 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/790\"\u003e#790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/acf8c14f5ec314799f5bd0d3f6a1591c4ed2ec97\"\u003e\u003ccode\u003eacf8c14\u003c/code\u003e\u003c/a\u003e Fix JSON decoding for parameterized PEP 695 type aliases (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/780\"\u003e#780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/58b236a36473e01bfe42e5f75d39d46721e0593d\"\u003e\u003ccode\u003e58b236a\u003c/code\u003e\u003c/a\u003e Fix AttributeError with nested env vars for dict fields (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/785\"\u003e#785\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/786\"\u003e#786\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4933f06402ed55e32bcdcefd6c8f59ffe1fefd24\"\u003e\u003ccode\u003e4933f06\u003c/code\u003e\u003c/a\u003e Fix CLI parsing error for set field types since 2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/787\"\u003e#787\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/788\"\u003e#788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/bd0ebe6215cf215d716e33d833cc2589a1d00a17\"\u003e\u003ccode\u003ebd0ebe6\u003c/code\u003e\u003c/a\u003e Fix RecursionError with self-referential models in CliApp (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/783\"\u003e#783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/eb7840e9f59a7969b23afdbcc4e5081e037736d8\"\u003e\u003ccode\u003eeb7840e\u003c/code\u003e\u003c/a\u003e Fix regression for bool fields since 2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/784\"\u003e#784\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/198e71cf0cd570501535de7ae93a70953150f073\"\u003e\u003ccode\u003e198e71c\u003c/code\u003e\u003c/a\u003e Prepare release 2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/777\"\u003e#777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/de71e84057b63b251ec84883b5e2ae886f82084f\"\u003e\u003ccode\u003ede71e84\u003c/code\u003e\u003c/a\u003e Add nested path support for yaml_config_section (fixes \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/772\"\u003e#772\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/773\"\u003e#773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/0f8f951b89b137bd563ce74dac016ba2c4cdc7a2\"\u003e\u003ccode\u003e0f8f951\u003c/code\u003e\u003c/a\u003e CLI Union Discriminator Choices in Help (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/764\"\u003e#764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/ce9804c4620d38f0c3b3c1e3ebe10d934fd4ba2e\"\u003e\u003ccode\u003ece9804c\u003c/code\u003e\u003c/a\u003e CLI coerce numeric types. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/769\"\u003e#769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.1.0...v2.13.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-multipart` from 0.0.6 to 0.0.22\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/python-multipart/releases\"\u003epython-multipart's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.0.22\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop directory path from filename in \u003ccode\u003eFile\u003c/code\u003e \u003ca href=\"https://github.com/Kludex/python-multipart/commit/9433f4bbc9652bdde82bbe380984e32f8cfc89c4\"\u003e9433f4b\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.21...0.0.22\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.21...0.0.22\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.21\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14 and drop EOL 3.8 and 3.9 by \u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/216\"\u003eKludex/python-multipart#216\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/waketzheng\"\u003e\u003ccode\u003e@​waketzheng\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/203\"\u003eKludex/python-multipart#203\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.20...0.0.21\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.20...0.0.21\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.20\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle messages containing only end boundary, fixes \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/38\"\u003e#38\u003c/a\u003e by \u003ca href=\"https://github.com/jhnstrk\"\u003e\u003ccode\u003e@​jhnstrk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/142\"\u003eKludex/python-multipart#142\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/Mr-Sunglasses\"\u003e\u003ccode\u003e@​Mr-Sunglasses\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/185\"\u003eKludex/python-multipart#185\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.19...0.0.20\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.19...0.0.20\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.19\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDon't warn when CRLF is found after last boundary by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/193\"\u003eKludex/python-multipart#193\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/python-multipart/compare/0.0.18...0.0.19\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.18...0.0.19\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.18\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHard break if found data after last boundary on \u003ccode\u003eMultipartParser\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/189\"\u003eKludex/python-multipart#189\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/python-multipart/compare/0.0.17...0.0.18\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.17...0.0.18\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.17\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle PermissionError in fallback code for old import name by \u003ca href=\"https://github.com/defnull\"\u003e\u003ccode\u003e@​defnull\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/182\"\u003eKludex/python-multipart#182\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/python-multipart/blob/master/CHANGELOG.md\"\u003epython-multipart's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.22 (2026-01-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop directory path from filename in \u003ccode\u003eFile\u003c/code\u003e \u003ca href=\"https://github.com/Kludex/python-multipart/commit/9433f4bbc9652bdde82bbe380984e32f8cfc89c4\"\u003e9433f4b\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.21 (2025-12-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14 and drop EOL 3.8 and 3.9 \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/216\"\u003e#216\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.20 (2024-12-16)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle messages containing only end boundary \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/142\"\u003e#142\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.19 (2024-11-30)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDon't warn when CRLF is found after last boundary on \u003ccode\u003eMultipartParser\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/193\"\u003e#193\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.18 (2024-11-28)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHard break if found data after last boundary on \u003ccode\u003eMultipartParser\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/189\"\u003e#189\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.17 (2024-10-31)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle PermissionError in fallback code for old import name \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/182\"\u003e#182\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.16 (2024-10-27)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd dunder attributes to \u003ccode\u003emultipart\u003c/code\u003e package \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/177\"\u003e#177\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.15 (2024-10-27)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace \u003ccode\u003eFutureWarning\u003c/code\u003e to \u003ccode\u003ePendingDeprecationWarning\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/174\"\u003e#174\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd missing files to SDist \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/171\"\u003e#171\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.14 (2024-10-24)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix import scheme for \u003ccode\u003emultipart\u003c/code\u003e module (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/168\"\u003e#168\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.13 (2024-10-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRename import to \u003ccode\u003epython_multipart\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/166\"\u003e#166\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.12 (2024-09-29)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove error message when boundary character does not match \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/124\"\u003e#124\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd mypy strict typing \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/140\"\u003e#140\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnforce 100% coverage \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/159\"\u003e#159\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.11 (2024-09-28)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove performance, especially in data with many CR-LF \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/137\"\u003e#137\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/bea7bbb2904da8ce39123a845088dc72464eaddf\"\u003e\u003ccode\u003ebea7bbb\u003c/code\u003e\u003c/a\u003e Version 0.0.22 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/222\"\u003e#222\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/0fb59a9df0f273bfde99740b302ccb2ae45e2b8a\"\u003e\u003ccode\u003e0fb59a9\u003c/code\u003e\u003c/a\u003e chore: add return type on test (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/221\"\u003e#221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/9433f4bbc9652bdde82bbe380984e32f8cfc89c4\"\u003e\u003ccode\u003e9433f4b\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/d5c91ecb0aa1cae03fe2d9811d193c952e714f17\"\u003e\u003ccode\u003ed5c91ec\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/219\"\u003e#219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/5a90631b484f8d3284b691d453c24be3db57f5cb\"\u003e\u003ccode\u003e5a90631\u003c/code\u003e\u003c/a\u003e bump uv (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/218\"\u003e#218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/1f72955602445706b5517a6f58a720796ad3d96a\"\u003e\u003ccode\u003e1f72955\u003c/code\u003e\u003c/a\u003e Version 0.0.21 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/217\"\u003e#217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/47ecfed3533ed8dcafd800508dbf594438fd0949\"\u003e\u003ccode\u003e47ecfed\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop EOL 3.8 and 3.9 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/216\"\u003e#216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/f18b70941b727c947f7e6b17e1c3321f5ad3afb6\"\u003e\u003ccode\u003ef18b709\u003c/code\u003e\u003c/a\u003e Bump the github-actions group across 1 directory with 4 updates (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/214\"\u003e#214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/b388e9a7a82605cc8613798926afe8f6074cb372\"\u003e\u003ccode\u003eb388e9a\u003c/code\u003e\u003c/a\u003e chore: use depedency-groups in \u003ccode\u003epyproject.toml\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/212\"\u003e#212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/6113e750971918a51f79c3bb2585e95ed1c53245\"\u003e\u003ccode\u003e6113e75\u003c/code\u003e\u003c/a\u003e Bump the github-actions group across 1 directory with 3 updates (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/210\"\u003e#210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.6...0.0.22\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvloop` from 0.19.0 to 0.22.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/MagicStack/uvloop/releases\"\u003euvloop's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.22.1\u003c/h2\u003e\n\u003cp\u003eThis is identical to 0.22.0, re-ran with CI fixes\u003c/p\u003e\n\u003ch2\u003ev0.22.0\u003c/h2\u003e\n\u003ch1\u003eChanges\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixes for Python 3.14 (\u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/638\"\u003e#638\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/graingert\"\u003e\u003ccode\u003e@​graingert\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/hroncok\"\u003e\u003ccode\u003e@​hroncok\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/paulocheque\"\u003e\u003ccode\u003e@​paulocheque\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/fantix\"\u003e\u003ccode\u003e@​fantix\u003c/code\u003e\u003c/a\u003e in 46456b6a for \u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/637\"\u003e#637\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd free-threading support (\u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/693\"\u003e#693\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/kumaraditya303\"\u003e\u003ccode\u003e@​kumaraditya303\u003c/code\u003e\u003c/a\u003e in 286b3707 for \u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/642\"\u003e#642\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eFixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUse Cython \u003ccode\u003eenum\u003c/code\u003e for \u003ccode\u003e__PREALLOCED_BUFS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/634\"\u003e#634\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/jakirkham\"\u003e\u003ccode\u003e@​jakirkham\u003c/code\u003e\u003c/a\u003e in 7bb12a17 for \u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/634\"\u003e#634\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003etest: fix getaddrinfo test (\u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/663\"\u003e#663\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/fantix\"\u003e\u003ccode\u003e@​fantix\u003c/code\u003e\u003c/a\u003e in 56807922 for \u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/663\"\u003e#663\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003etest: fix task name for Python 3.13.3/3.14 (\u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/662\"\u003e#662\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/cjwatson\"\u003e\u003ccode\u003e@​cjwatson\u003c/code\u003e\u003c/a\u003e in 96b7ed31 for \u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/662\"\u003e#662\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.21.0\u003c/h2\u003e\n\u003ch1\u003eChanges\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd cleanup_socket param on create_unix_server()\n(\u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/623\"\u003e#623\u003c/a\u003e) (by \u003ca href=\"https://github.com/fantix\"\u003e\u003ccode\u003e@​fantix\u003c/code\u003e\u003c/a\u003e in d6114d2)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eFixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUse cythonized SO_REUSEPORT rather than the unwrapped native one. (\u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/609\"\u003e#609\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/ptribble\"\u003e\u003ccode\u003e@​ptribble\u003c/code\u003e\u003c/a\u003e in 4083a94e for \u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/550\"\u003e#550\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUDP errors should result in protocol.error_received (\u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/601\"\u003e#601\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/jensbjorgensen\"\u003e\u003ccode\u003e@​jensbjorgensen\u003c/code\u003e\u003c/a\u003e in 3c3bbeff)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdates for Cython3 (\u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/587\"\u003e#587\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/alan-brooks\"\u003e\u003ccode\u003e@​alan-brooks\u003c/code\u003e\u003c/a\u003e in 3fba9fab for \u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/587\"\u003e#587\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTest with Python 3.13 (\u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/610\"\u003e#610\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/edgarrmondragon\"\u003e\u003ccode\u003e@​edgarrmondragon\u003c/code\u003e\u003c/a\u003e in fb5a139)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.21.0beta1\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\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/MagicStack/uvloop/commit/74f4c96d3fc5281b1820491d2568de771ea7851b\"\u003e\u003ccode\u003e74f4c96\u003c/code\u003e\u003c/a\u003e uvloop 0.22.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/uvloop/commit/321d345bdadd4d9f244a22ab9778a66d6cdd7f4f\"\u003e\u003ccode\u003e321d345\u003c/code\u003e\u003c/a\u003e ci: bump pypa/gh-action-pypi-publish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/uvloop/commit/3cf6b44fb39e0a865c812b8070fc8af640750476\"\u003e\u003ccode\u003e3cf6b44\u003c/code\u003e\u003c/a\u003e uvloop 0.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/uvloop/commit/e4d569e244ba1c44305254a89e1abb7484759f73\"\u003e\u003ccode\u003ee4d569e\u003c/code\u003e\u003c/a\u003e ci: use native ubuntu-24.04-arm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/uvloop/commit/d9fa054cf882615f7810081ed2bbb7820544371d\"\u003e\u003ccode\u003ed9fa054\u003c/code\u003e\u003c/a\u003e ci: fix test and release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/uvloop/commit/7effa903f6f4e6d66a6f330afac63079135826ec\"\u003e\u003ccode\u003e7effa90\u003c/code\u003e\u003c/a\u003e ci: fix artifact handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/uvloop/commit/286b370702109f84f60cfe80deae9abf8da2a2e4\"\u003e\u003ccode\u003e286b370\u003c/code\u003e\u003c/a\u003e add free-threading support (\u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/uvloop/commit/46456b6abd7e98b70e1dd38252272a98533cc75b\"\u003e\u003ccode\u003e46456b6\u003c/code\u003e\u003c/a\u003e Fixes for Python 3.14 (\u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/638\"\u003e#638\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/uvloop/commit/96b7ed31afaf02800d779a395591da6a2c8c50e1\"\u003e\u003ccode\u003e96b7ed3\u003c/code\u003e\u003c/a\u003e test: fix task name for Python 3.13.3/3.14 (\u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/662\"\u003e#662\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/uvloop/commit/56807922f847ddac231a53d5b03eef70092b987c\"\u003e\u003ccode\u003e5680792\u003c/code\u003e\u003c/a\u003e test: fix getaddrinfo test (\u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/663\"\u003e#663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/MagicStack/uvloop/compare/v0.19.0...v0.22.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `httptools` from 0.6.1 to 0.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/MagicStack/httptools/releases\"\u003ehttptools's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.7.1\u003c/h2\u003e\n\u003cp\u003eThis is identical to 0.7.0 whose CI failed uploading\u003c/p\u003e\n\u003ch2\u003ev0.7.0\u003c/h2\u003e\n\u003ch1\u003eChanges\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eModernize packaging and fix CI (\u003ca href=\"https://redirect.github.com/MagicStack/httptools/issues/130\"\u003e#130\u003c/a\u003e)\nDrop Python 3.8, add Python 3.14\nUse Cython 3.1.0\nBump llhttp to 9.3.0\n(by \u003ca href=\"https://github.com/ngoldbaum\"\u003e\u003ccode\u003e@​ngoldbaum\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/fantix\"\u003e\u003ccode\u003e@​fantix\u003c/code\u003e\u003c/a\u003e in 59bf94fc for \u003ca href=\"https://redirect.github.com/MagicStack/httptools/issues/129\"\u003e#129\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eStatic Type-checking for httptools (\u003ca href=\"https://redirect.github.com/MagicStack/httptools/issues/100\"\u003e#100\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/Vizonex\"\u003e\u003ccode\u003e@​Vizonex\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/KRRT7\"\u003e\u003ccode\u003e@​KRRT7\u003c/code\u003e\u003c/a\u003e in b55f5fe2 for \u003ca href=\"https://redirect.github.com/MagicStack/httptools/issues/100\"\u003e#100\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.6.4\u003c/h2\u003e\n\u003ch1\u003eFixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eInclude Cython source files in sdist\n(by \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e in 2287a95a for \u003ca href=\"https://redirect.github.com/MagicStack/httptools/issues/115\"\u003e#115\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.6.3\u003c/h2\u003e\n\u003ch1\u003eFixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix missing CR is some tests\n(by \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e in 21a199d3 for \u003ca href=\"https://redirect.github.com/MagicStack/httptools/issues/112\"\u003e#112\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBump bundled llhttp to 9.2.1\nFixes CVE-2024-27982\n(by \u003ca href=\"https://github.com/elprans\"\u003e\u003ccode\u003e@​elprans\u003c/code\u003e\u003c/a\u003e in 560bd9ea for \u003ca href=\"https://redirect.github.com/MagicStack/httptools/issues/113\"\u003e#113\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.6.2\u003c/h2\u003e\n\u003ch1\u003eFixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix build and run tests on Python 3.13 (\u003ca href=\"https://redirect.github.com/MagicStack/httptools/issues/107\"\u003e#107\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/jameshilliard\"\u003e\u003ccode\u003e@​jameshilliard\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/tacaswell\"\u003e\u003ccode\u003e@​tacaswell\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/fafanoulele\"\u003e\u003ccode\u003e@​fafanoulele\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/fantix\"\u003e\u003ccode\u003e@​fantix\u003c/code\u003e\u003c/a\u003e in ad9765b3 for \u003ca href=\"https://redirect.github.com/MagicStack/httptools/issues/98\"\u003e#98\u003c/a\u003e \u003ca href=\"https://redirect.github.com/MagicStack/httptools/issues/104\"\u003e#104\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/MagicStack/httptools/commit/26461dae5a108d8e8b1e6cc206779055999f7905\"\u003e\u003ccode\u003e26461da\u003c/code\u003e\u003c/a\u003e httptools 0.7.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/httptools/commit/cd7cab8ea5417a2af0a15a097b241fc2dd392ae3\"\u003e\u003ccode\u003ecd7cab8\u003c/code\u003e\u003c/a\u003e bump pypa/gh-action-pypi-publish to 1.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/httptools/commit/96ac6efae3216ba7448190e500ad9e78df8b6655\"\u003e\u003ccode\u003e96ac6ef\u003c/code\u003e\u003c/a\u003e allow releasing on 0.7.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/httptools/commit/b04ab824f23c8925d00d38e1ed0cfe4718ba1ba7\"\u003e\u003ccode\u003eb04ab82\u003c/code\u003e\u003c/a\u003e httptools 0.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/httptools/commit/b55f5fe22782640d1a163c77c277b053c156ad1f\"\u003e\u003ccode\u003eb55f5fe\u003c/code\u003e\u003c/a\u003e Static Type-checking for httptools (\u003ca href=\"https://redirect.github.com/MagicStack/httptools/issues/100\"\u003e#100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/httptools/commit/59bf94fcca09db7b42a4b55707f0f4b89fe665ce\"\u003e\u003ccode\u003e59bf94f\u003c/code\u003e\u003c/a\u003e Modernize packaging and fix CI (\u003ca href=\"https://redirect.github.com/MagicStack/httptools/issues/130\"\u003e#130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/httptools/commit/922f366068f3a0b505cdfd22ff51c4c457e8e6df\"\u003e\u003ccode\u003e922f366\u003c/code\u003e\u003c/a\u003e Post-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/httptools/commit/e265ae033d3d7212f92a614963a349e315f82df3\"\u003e\u003ccode\u003ee265ae0\u003c/code\u003e\u003c/a\u003e httptools 0.6.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/httptools/commit/2287a95af7a14b0fa178700e05c17a849242ef5d\"\u003e\u003ccode\u003e2287a95\u003c/code\u003e\u003c/a\u003e Include Cython source files in sdist (\u003ca href=\"https://redirect.github.com/MagicStack/httptools/issues/115\"\u003e#115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/httptools/commit/5e720bf037edef03a517e25e096893638b6af801\"\u003e\u003ccode\u003e5e720bf\u003c/code\u003e\u003c/a\u003e httptools 0.6.3\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/MagicStack/httptools/compare/v0.6.1...v0.7.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.23 to 2.0.48\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.48\u003c/h1\u003e\n\u003cp\u003eReleased: March 2, 2026\u003c/p\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[engine] [bug]\u003c/strong\u003e Fixed a critical issue in \u003ccode\u003eEngine\u003c/code\u003e where connections created in\nconjunction with the \u003ccode\u003eDialectEvents.do_connect()\u003c/code\u003e event listeners\nwould receive shared, mutable collections for the connection arguments,\nleading to a variety of potential issues including unlimited growth of the\nargument list as well as elements within the parameter dictionary being\nshared among concurrent connection calls.  In particular this could impact\ndo_connect routines making use of complex mutable authentication\nstructures.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13144\"\u003e#13144\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.0.47\u003c/h1\u003e\n\u003cp\u003eReleased: February 24, 2026\u003c/p\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue when using ORM mappings with Python 3.14's \u003ca href=\"https://peps.python.org/pep-0649\"\u003ePEP 649\u003c/a\u003e feature\nthat no longer requires \u0026quot;future annotations\u0026quot;, where the ORM's introspection\nof the \u003ccode\u003e__init__\u003c/code\u003e method of mapped classes would fail if non-present\nidentifiers in annotations were present.  The vendored \u003ccode\u003egetfullargspec()\u003c/code\u003e\nmethod has been amended to use \u003ccode\u003eFormat.FORWARDREF\u003c/code\u003e under Python 3.14 to\nprevent resolution of names that aren't present.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13104\"\u003e#13104\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[engine] [usecase]\u003c/strong\u003e The connection object returned by \u003ccode\u003e_engine.Engine.raw_connection()\u003c/code\u003e\nnow supports the context manager protocol, automatically returning the\nconnection to the pool when exiting the context.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13116\"\u003e#13116\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epostgresql\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[postgresql] [bug]\u003c/strong\u003e Fixed an issue in the PostgreSQL dialect where foreign key constraint\nreflection would incorrectly swap or fail to capture \u003ccode\u003eonupdate\u003c/code\u003e and\n\u003ccode\u003eondelete\u003c/code\u003e values when these clauses appeared in a different order than\nexpected in the constraint definition. This issue primarily affected\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `asyncpg` from 0.29.0 to 0.31.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/MagicStack/asyncpg/releases\"\u003easyncpg's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.31.0\u003c/h2\u003e\n\u003cp\u003eEnable Python 3.14 with experimental subinterpreter/freethreading\nsupport.\u003c/p\u003e\n\u003ch1\u003eImprovements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Python 3.14 support, experimental subinterpreter/freethreading support (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1279\"\u003e#1279\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/elprans\"\u003e\u003ccode\u003e@​elprans\u003c/code\u003e\u003c/a\u003e in 9e42642b)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid performing type introspection on known types (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1243\"\u003e#1243\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/elprans\"\u003e\u003ccode\u003e@​elprans\u003c/code\u003e\u003c/a\u003e in 5c9986c4)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003eprepare()\u003c/code\u003e not use named statements by default when cache is disabled (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1245\"\u003e#1245\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/elprans\"\u003e\u003ccode\u003e@​elprans\u003c/code\u003e\u003c/a\u003e in 5b14653e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement connection service file functionality (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1223\"\u003e#1223\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/AndrewJackson2020\"\u003e\u003ccode\u003e@​AndrewJackson2020\u003c/code\u003e\u003c/a\u003e in 1d63bb15)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eFixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix multi port connection string issue (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1222\"\u003e#1222\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/AndrewJackson2020\"\u003e\u003ccode\u003e@​AndrewJackson2020\u003c/code\u003e\u003c/a\u003e in 01c0db7b)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid leaking connections if _can_use_connection fails (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1269\"\u003e#1269\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/yuliy-openai\"\u003e\u003ccode\u003e@​yuliy-openai\u003c/code\u003e\u003c/a\u003e in e94302d2)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eOther\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for EOL Python 3.8 (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1281\"\u003e#1281\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/elprans\"\u003e\u003ccode\u003e@​elprans\u003c/code\u003e\u003c/a\u003e in 6c2c4904)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.30.0\u003c/h2\u003e\n\u003cp\u003eSupport Python 3.13 and PostgreSQL 17.\u003c/p\u003e\n\u003ch1\u003eImprovements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eImplement GSSAPI authentication\n(by \u003ca href=\"https://github.com/eltoder\"\u003e\u003ccode\u003e@​eltoder\u003c/code\u003e\u003c/a\u003e in 1d4e5680 for \u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1122\"\u003e#1122\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement SSPI authentication\n(by \u003ca href=\"https://github.com/eltoder\"\u003e\u003ccode\u003e@​eltoder\u003c/code\u003e\u003c/a\u003e in 1aab2094 for \u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1128\"\u003e#1128\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd initial typings\n(by \u003ca href=\"https://github.com/bryanforbes\"\u003e\u003ccode\u003e@​bryanforbes\u003c/code\u003e\u003c/a\u003e in d42432bf for \u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1127\"\u003e#1127\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow building with Cython 3\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/71775a67277fc0aa5bd2b9f15e848826d7078c4d\"\u003e\u003ccode\u003e71775a6\u003c/code\u003e\u003c/a\u003e asyncpg v0.31.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/508cae6441968ef7613a623fece7083cce66c2b3\"\u003e\u003ccode\u003e508cae6\u003c/code\u003e\u003c/a\u003e Test on PostgreSQL 18 (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/e534e5f15c73525a6509143b3828335517360f1b\"\u003e\u003ccode\u003ee534e5f\u003c/code\u003e\u003c/a\u003e Bump cibuildwheel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/07fe5122a680f5768e39fc28d68c94b185037a52\"\u003e\u003ccode\u003e07fe512\u003c/code\u003e\u003c/a\u003e Bump pgproto\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/648b35f18199ebf2a30009376a6e9060cf7ad789\"\u003e\u003ccode\u003e648b35f\u003c/code\u003e\u003c/a\u003e Bump Cython to 3.2.1 (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1288\"\u003e#1288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/9e42642b9110d206706697921b6e697a0972649d\"\u003e\u003ccode\u003e9e42642\u003c/code\u003e\u003c/a\u003e Add Python 3.14 support, experimental subinterpreter/freethreading support (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/6fe1c494ef5c3069fa9149c48bf9f8f2cd69f95e\"\u003e\u003ccode\u003e6fe1c49\u003c/code\u003e\u003c/a\u003e Move development deps away from extras and into dependency groups (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1280\"\u003e#1280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/7a548166c2b23561915c481bd332013e3a415cfb\"\u003e\u003ccode\u003e7a54816\u003c/code\u003e\u003c/a\u003e Fix a couple of missed Python version guards\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/6c2c4904e61b2cd2f502540730a24e246cff2ebd\"\u003e\u003ccode\u003e6c2c490\u003c/code\u003e\u003c/a\u003e Drop support for EOL Python 3.8 (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1281\"\u003e#1281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/4c60ae890d1f3800f889679657357f91a6923568\"\u003e\u003ccode\u003e4c60ae8\u003c/code\u003e\u003c/a\u003e Bump version to 0.31.0.dev0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/MagicStack/asyncpg/compare/v0.29.0...v0.31.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aiosqlite` from 0.20.0 to 0.22.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/omnilib/aiosqlite/blob/main/CHANGELOG.md\"\u003eaiosqlite's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.22.1\u003c/h2\u003e\n\u003cp\u003eBug fix release\u003c/p\u003e\n\u003cp\u003eNOTE: Starting with \u003ccode\u003ev0.22.0\u003c/code\u003e, the \u003ccode\u003eaiosqlite.Connection\u003c/code\u003e object no longer\ninherits from \u003ccode\u003ethreading.Thread\u003c/code\u003e. If not using aiosqlite as a context manager,\nclients must \u003ccode\u003eawait connection.close()\u003c/code\u003e or call \u003ccode\u003econnection.stop()\u003c/code\u003e to ensure\nthe helper thread is completed and terminated correctly. A \u003ccode\u003eResourceWarning\u003c/code\u003e\nwill be emitted for any connection that is garbage collected without being\nclosed or stopped.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded synchronous \u003ccode\u003estop()\u003c/code\u003e method to \u003ccode\u003eaiosqlite.Connection\u003c/code\u003e to enable safe\ncleanup and termination of the background thread without dependence\non having an active event loop (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/370\"\u003e#370\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"text\"\u003e\u003ccode\u003e$ git shortlog -s v0.22.0...v0.22.1\n     2\tAmethyst Reese\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003ev0.22.0\u003c/h2\u003e\n\u003cp\u003eFeature release\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003eset_authorizer\u003c/code\u003e query access controls (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/349\"\u003e#349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWait for transaction queue to complete when closing connection (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/305\"\u003e#305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit warning when connection goes out of scope without being closed (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/355\"\u003e#355\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove dependency on \u003ccode\u003etyping_extensions\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/365\"\u003e#365\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"text\"\u003e\u003ccode\u003e$ git shortlog -s v0.21.0...v0.22.0\n     1\tAlec Berryman\n     1\tAmethyst Reese\n     1\tDavid Andreoletti\n     1\tMarkus Heidelberg\n     1\tbeerpsi\n    19\tdependabot[bot]\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003ev0.21.0\u003c/h2\u003e\n\u003cp\u003eMaintenance release\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix: close connection correctly when BaseException raised in connection (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/317\"\u003e#317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMetadata improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/9b127cecc7de843bf4f343b6da63b641866533fb\"\u003e\u003ccode\u003e9b127ce\u003c/code\u003e\u003c/a\u003e Version bump v0.22.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/5c3f61c1ea49401f2716d8f58d494e76ca766921\"\u003e\u003ccode\u003e5c3f61c\u003c/code\u003e\u003c/a\u003e Improve stop semantics for connections (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/370\"\u003e#370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/a869d73678adbc14472e4ac2c31f4e706efe8ef3\"\u003e\u003ccode\u003ea869d73\u003c/code\u003e\u003c/a\u003e Version bump v0.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/1cd60adcab12347577150a6fa6c7d92b7b86d989\"\u003e\u003ccode\u003e1cd60ad\u003c/code\u003e\u003c/a\u003e Emit warning if connection is deleted before it is closed (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/355\"\u003e#355\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/611d7b4f29fc3d7df6c173b2e79b0892e9d249aa\"\u003e\u003ccode\u003e611d7b4\u003c/code\u003e\u003c/a\u003e Add set_authorizer support for fine-grained access control (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/349\"\u003e#349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/81d00c8f1676851c8634ca98f99e0973083ea75f\"\u003e\u003ccode\u003e81d00c8\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6 (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/7a26722f7e6da6a1ae0febf515b4624794173fcc\"\u003e\u003ccode\u003e7a26722\u003c/code\u003e\u003c/a\u003e Bump coverage[toml] from 7.8.0 to 7.10.7 (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/358\"\u003e#358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/445754087ec452f888cc152debf79590d8a25d86\"\u003e\u003ccode\u003e4457540\u003c/code\u003e\u003c/a\u003e Bump flake8 from 7.2.0 to 7.3.0 (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/346\"\u003e#346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/b650dad318ad72e582b7ba1143cc05f270f8ab6b\"\u003e\u003ccode\u003eb650dad\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/366\"\u003e#366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/065ffdd1291693c5e69d2f3efff17e351d9a0163\"\u003e\u003ccode\u003e065ffdd\u003c/code\u003e\u003c/a\u003e Bump mypy from 1.15.0 to 1.19.0 (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/367\"\u003e#367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/omnilib/aiosqlite/compare/v0.20.0...v0.22.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psycopg2-binary` from 2.9.9 to 2.9.11\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psycopg/psycopg2/blob/master/NEWS\"\u003epsycopg2-binary's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eCurrent release\u003c/h2\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.11\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAvoid a segfault passing more arguments than placeholders if Python is built\nwith assertions enabled (:ticket:\u003ccode\u003e[#1791](https://github.com/psycopg/psycopg2/issues/1791)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eAdd riscv64 platform...\n\n_Description has been truncated_","html_url":"https://github.com/EdwinAdvine/Youth-and-Urbanism/pull/6","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/EdwinAdvine%2FYouth-and-Urbanism/issues/6","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6/packages"},{"uuid":"4009967463","node_id":"PR_kwDORV_iMM7HQ7jF","number":31,"state":"open","title":"chore(deps): Bump pgvector from 0.3.2 to 0.4.2","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-02T08:27:38.000Z","updated_at":"2026-03-02T08:27:38.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","packages":[{"name":"pgvector","old_version":"0.3.2","new_version":"0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pgvector](https://github.com/pgvector/pgvector-python) from 0.3.2 to 0.4.2.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md\"\u003epgvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2 (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 6\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estr\u003c/code\u003e objects for \u003ccode\u003ebit\u003c/code\u003e type with SQLAlchemy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 (2025-04-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eSparseVector\u003c/code\u003e constructor for SciPy sparse matrices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 (2025-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded top-level \u003ccode\u003epgvector\u003c/code\u003e package\u003c/li\u003e\n\u003cli\u003eAdded support for pg8000\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ebytes\u003c/code\u003e to \u003ccode\u003eBit\u003c/code\u003e constructor\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eglobally\u003c/code\u003e option to default to \u003ccode\u003eFalse\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003earrays\u003c/code\u003e option to default to \u003ccode\u003eTrue\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eFixed equality for \u003ccode\u003eVector\u003c/code\u003e, \u003ccode\u003eHalfVector\u003c/code\u003e, \u003ccode\u003eBit\u003c/code\u003e, and \u003ccode\u003eSparseVector\u003c/code\u003e classes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eindices\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods of \u003ccode\u003eSparseVector\u003c/code\u003e returning tuple instead of list in some cases\u003c/li\u003e\n\u003cli\u003eDropped support for Python \u0026lt; 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 (2024-10-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003earrays\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 (2024-10-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eavg\u003c/code\u003e function with type casting to SQLAlchemy\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eglobally\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.4 (2024-09-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eschema\u003c/code\u003e option for asyncpg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.3 (2024-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved support for cursor factories with Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/2968f258f9486531bd1340cbda4ff8fcaf06cdc1\"\u003e\u003ccode\u003e2968f25\u003c/code\u003e\u003c/a\u003e Version bump to 0.4.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/674f5ba3410c873d49f50fa9725b95d9db50c674\"\u003e\u003ccode\u003e674f5ba\u003c/code\u003e\u003c/a\u003e Updated checkout action [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e2986daf2b1533cc2c849f7e39350e31d57ac325\"\u003e\u003ccode\u003ee2986da\u003c/code\u003e\u003c/a\u003e Added support for Django 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e211ba4029f204734f0c001fbb90f6a594d561ae\"\u003e\u003ccode\u003ee211ba4\u003c/code\u003e\u003c/a\u003e Test with Python 3.14 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/1a72b7571adf3325174b383aca85bfb3a5b925fa\"\u003e\u003ccode\u003e1a72b75\u003c/code\u003e\u003c/a\u003e Updated pgvector on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/c820a53bfb46196551de3c3f59f81b192d890574\"\u003e\u003ccode\u003ec820a53\u003c/code\u003e\u003c/a\u003e Simplified examples [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/caf1a2e0dd7a1ba2ad0ca9f09b50516dcfffcdeb\"\u003e\u003ccode\u003ecaf1a2e\u003c/code\u003e\u003c/a\u003e Added docs for binary quantization with SQLAlchemy [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/dc9a8f959995f009649fd230139ca41193e0a801\"\u003e\u003ccode\u003edc9a8f9\u003c/code\u003e\u003c/a\u003e Added test for binary quantization with re-ranking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/33dee606229489c9ffb0cb5a1cd72bd4705ac618\"\u003e\u003ccode\u003e33dee60\u003c/code\u003e\u003c/a\u003e Added support for str objects for bit type with SQLAlchemy - \u003ca href=\"https://redirect.github.com/pgvector/pgvector-python/issues/137\"\u003e#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/ee3e71ca2c07a12a8332a3877c0ce14adc9a5da8\"\u003e\u003ccode\u003eee3e71c\u003c/code\u003e\u003c/a\u003e Updated format for license identifier\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgvector/pgvector-python/compare/v0.3.2...v0.4.2\"\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=pgvector\u0026package-manager=pip\u0026previous-version=0.3.2\u0026new-version=0.4.2)](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/shubhamsWEB/NexusCode/pull/31","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/shubhamsWEB%2FNexusCode/issues/31","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/31/packages"}],"issue_packages":[{"old_version":"0.2.5","new_version":"0.4.2","update_type":"minor","path":null,"pr_created_at":"2026-06-01T01:47:58.000Z","version_change":"0.2.5 → 0.4.2","issue":{"uuid":"4559752254","node_id":"PR_kwDOQYfDts7hMRZl","number":89,"state":"open","title":"chore(deps): bump the python-dependencies group across 1 directory with 6 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-01T01:47:58.000Z","updated_at":"2026-06-01T05:09:59.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-dependencies","update_count":6,"packages":[{"name":"uvicorn","old_version":"0.46.0","new_version":"0.48.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"asyncpg","old_version":"0.29.0","new_version":"0.31.0","repository_url":"https://github.com/MagicStack/asyncpg"},{"name":"pgvector","old_version":"0.2.5","new_version":"0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"},{"name":"python-multipart","old_version":"0.0.27","new_version":"0.0.30","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"pytest-asyncio","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/pytest-dev/pytest-asyncio"},{"name":"torch","old_version":"2.2.2","new_version":"2.12.0+cpu"}],"path":null,"ecosystem":"pip"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nBumps the python-dependencies group with 6 updates in the /backend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.46.0` | `0.48.0` |\n| [asyncpg](https://github.com/MagicStack/asyncpg) | `0.29.0` | `0.31.0` |\n| [pgvector](https://github.com/pgvector/pgvector-python) | `0.2.5` | `0.4.2` |\n| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.27` | `0.0.30` |\n| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `1.3.0` | `1.4.0` |\n| torch | `2.2.2` | `2.12.0+cpu` |\n\n\nUpdates `uvicorn` from 0.46.0 to 0.48.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/releases\"\u003euvicorn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.48.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault \u003ccode\u003essl_ciphers\u003c/code\u003e to \u003ccode\u003eNone\u003c/code\u003e and use OpenSSL defaults by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2940\"\u003eKludex/uvicorn#2940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore duplicate forwarding headers in \u003ccode\u003eProxyHeadersMiddleware\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2944\"\u003eKludex/uvicorn#2944\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.47.0...0.48.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.47.0...0.48.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.47.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEagerly import the ASGI app in the parent process by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2919\"\u003eKludex/uvicorn#2919\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003essl_context_factory\u003c/code\u003e for custom \u003ccode\u003eSSLContext\u003c/code\u003e configuration by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2920\"\u003eKludex/uvicorn#2920\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003efd=0\u003c/code\u003e as a valid file descriptor with reload/workers by \u003ca href=\"https://github.com/eltoder\"\u003e\u003ccode\u003e@​eltoder\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2927\"\u003eKludex/uvicorn#2927\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.46.0...0.47.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.46.0...0.47.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md\"\u003euvicorn's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.48.0 (May 24, 2026)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDefault \u003ccode\u003essl_ciphers\u003c/code\u003e to \u003ccode\u003eNone\u003c/code\u003e and use OpenSSL defaults (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore duplicate forwarding headers in \u003ccode\u003eProxyHeadersMiddleware\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2944\"\u003e#2944\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.47.0 (May 14, 2026)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003essl_context_factory\u003c/code\u003e for custom \u003ccode\u003eSSLContext\u003c/code\u003e configuration (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2920\"\u003e#2920\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEagerly import the ASGI app in the parent process (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2919\"\u003e#2919\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTreat \u003ccode\u003efd=0\u003c/code\u003e as a valid file descriptor with reload/workers (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/73e84e58d7f6b8b3dfd8a9e3e42d716862250f33\"\u003e\u003ccode\u003e73e84e5\u003c/code\u003e\u003c/a\u003e Version 0.48.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2951\"\u003e#2951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/45ea11690b4a62fa6df339d2b6ee3b8545a418e0\"\u003e\u003ccode\u003e45ea116\u003c/code\u003e\u003c/a\u003e Ignore duplicate forwarding headers in \u003ccode\u003eProxyHeadersMiddleware\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2944\"\u003e#2944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/dd4394c3cbfd9f27a696a7b08047149690058158\"\u003e\u003ccode\u003edd4394c\u003c/code\u003e\u003c/a\u003e chore(deps): bump idna from 3.11 to 3.15 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2941\"\u003e#2941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/abe07818a191cd036dc3824d802d052207e01c7e\"\u003e\u003ccode\u003eabe0781\u003c/code\u003e\u003c/a\u003e Default \u003ccode\u003essl_ciphers\u003c/code\u003e to \u003ccode\u003eNone\u003c/code\u003e and use OpenSSL defaults (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/479a2c0c89186714f1aac52aecdebebf271395ac\"\u003e\u003ccode\u003e479a2c0\u003c/code\u003e\u003c/a\u003e Version 0.47.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2937\"\u003e#2937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/89347fd166ebedf98fb3f806ce8ea44e93b1c2b5\"\u003e\u003ccode\u003e89347fd\u003c/code\u003e\u003c/a\u003e Add 7-day cooldown for dependency resolution via uv exclude-newer (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2936\"\u003e#2936\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/767315b38ae509cee9fe8ee9d09f6da920536096\"\u003e\u003ccode\u003e767315b\u003c/code\u003e\u003c/a\u003e Drop unused contents/actions permissions from zizmor workflow (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2935\"\u003e#2935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/f25ee43e68a9678453cbca99ad96f1a447ff34af\"\u003e\u003ccode\u003ef25ee43\u003c/code\u003e\u003c/a\u003e chore(deps): bump urllib3 from 2.6.3 to 2.7.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2933\"\u003e#2933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/8782666189a3d36c978de5698620db705659bf44\"\u003e\u003ccode\u003e8782666\u003c/code\u003e\u003c/a\u003e Fix typo in \u003ccode\u003edocs/deployment/index.md\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2932\"\u003e#2932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/ad5ff87c869e8a34e9b04fcd5ca38d65c526893c\"\u003e\u003ccode\u003ead5ff87\u003c/code\u003e\u003c/a\u003e Treat \u003ccode\u003efd=0\u003c/code\u003e as a valid file descriptor with reload/workers (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.46.0...0.48.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `asyncpg` from 0.29.0 to 0.31.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/MagicStack/asyncpg/releases\"\u003easyncpg's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.31.0\u003c/h2\u003e\n\u003cp\u003eEnable Python 3.14 with experimental subinterpreter/freethreading\nsupport.\u003c/p\u003e\n\u003ch1\u003eImprovements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Python 3.14 support, experimental subinterpreter/freethreading support (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1279\"\u003e#1279\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/elprans\"\u003e\u003ccode\u003e@​elprans\u003c/code\u003e\u003c/a\u003e in 9e42642b)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid performing type introspection on known types (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1243\"\u003e#1243\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/elprans\"\u003e\u003ccode\u003e@​elprans\u003c/code\u003e\u003c/a\u003e in 5c9986c4)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003eprepare()\u003c/code\u003e not use named statements by default when cache is disabled (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1245\"\u003e#1245\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/elprans\"\u003e\u003ccode\u003e@​elprans\u003c/code\u003e\u003c/a\u003e in 5b14653e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement connection service file functionality (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1223\"\u003e#1223\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/AndrewJackson2020\"\u003e\u003ccode\u003e@​AndrewJackson2020\u003c/code\u003e\u003c/a\u003e in 1d63bb15)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eFixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix multi port connection string issue (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1222\"\u003e#1222\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/AndrewJackson2020\"\u003e\u003ccode\u003e@​AndrewJackson2020\u003c/code\u003e\u003c/a\u003e in 01c0db7b)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid leaking connections if _can_use_connection fails (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1269\"\u003e#1269\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/yuliy-openai\"\u003e\u003ccode\u003e@​yuliy-openai\u003c/code\u003e\u003c/a\u003e in e94302d2)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eOther\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for EOL Python 3.8 (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1281\"\u003e#1281\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/elprans\"\u003e\u003ccode\u003e@​elprans\u003c/code\u003e\u003c/a\u003e in 6c2c4904)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.30.0\u003c/h2\u003e\n\u003cp\u003eSupport Python 3.13 and PostgreSQL 17.\u003c/p\u003e\n\u003ch1\u003eImprovements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eImplement GSSAPI authentication\n(by \u003ca href=\"https://github.com/eltoder\"\u003e\u003ccode\u003e@​eltoder\u003c/code\u003e\u003c/a\u003e in 1d4e5680 for \u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1122\"\u003e#1122\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement SSPI authentication\n(by \u003ca href=\"https://github.com/eltoder\"\u003e\u003ccode\u003e@​eltoder\u003c/code\u003e\u003c/a\u003e in 1aab2094 for \u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1128\"\u003e#1128\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd initial typings\n(by \u003ca href=\"https://github.com/bryanforbes\"\u003e\u003ccode\u003e@​bryanforbes\u003c/code\u003e\u003c/a\u003e in d42432bf for \u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1127\"\u003e#1127\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow building with Cython 3\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/71775a67277fc0aa5bd2b9f15e848826d7078c4d\"\u003e\u003ccode\u003e71775a6\u003c/code\u003e\u003c/a\u003e asyncpg v0.31.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/508cae6441968ef7613a623fece7083cce66c2b3\"\u003e\u003ccode\u003e508cae6\u003c/code\u003e\u003c/a\u003e Test on PostgreSQL 18 (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/e534e5f15c73525a6509143b3828335517360f1b\"\u003e\u003ccode\u003ee534e5f\u003c/code\u003e\u003c/a\u003e Bump cibuildwheel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/07fe5122a680f5768e39fc28d68c94b185037a52\"\u003e\u003ccode\u003e07fe512\u003c/code\u003e\u003c/a\u003e Bump pgproto\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/648b35f18199ebf2a30009376a6e9060cf7ad789\"\u003e\u003ccode\u003e648b35f\u003c/code\u003e\u003c/a\u003e Bump Cython to 3.2.1 (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1288\"\u003e#1288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/9e42642b9110d206706697921b6e697a0972649d\"\u003e\u003ccode\u003e9e42642\u003c/code\u003e\u003c/a\u003e Add Python 3.14 support, experimental subinterpreter/freethreading support (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/6fe1c494ef5c3069fa9149c48bf9f8f2cd69f95e\"\u003e\u003ccode\u003e6fe1c49\u003c/code\u003e\u003c/a\u003e Move development deps away from extras and into dependency groups (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1280\"\u003e#1280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/7a548166c2b23561915c481bd332013e3a415cfb\"\u003e\u003ccode\u003e7a54816\u003c/code\u003e\u003c/a\u003e Fix a couple of missed Python version guards\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/6c2c4904e61b2cd2f502540730a24e246cff2ebd\"\u003e\u003ccode\u003e6c2c490\u003c/code\u003e\u003c/a\u003e Drop support for EOL Python 3.8 (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1281\"\u003e#1281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/4c60ae890d1f3800f889679657357f91a6923568\"\u003e\u003ccode\u003e4c60ae8\u003c/code\u003e\u003c/a\u003e Bump version to 0.31.0.dev0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/MagicStack/asyncpg/compare/v0.29.0...v0.31.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pgvector` from 0.2.5 to 0.4.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md\"\u003epgvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2 (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 6\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estr\u003c/code\u003e objects for \u003ccode\u003ebit\u003c/code\u003e type with SQLAlchemy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 (2025-04-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eSparseVector\u003c/code\u003e constructor for SciPy sparse matrices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 (2025-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded top-level \u003ccode\u003epgvector\u003c/code\u003e package\u003c/li\u003e\n\u003cli\u003eAdded support for pg8000\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ebytes\u003c/code\u003e to \u003ccode\u003eBit\u003c/code\u003e constructor\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eglobally\u003c/code\u003e option to default to \u003ccode\u003eFalse\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003earrays\u003c/code\u003e option to default to \u003ccode\u003eTrue\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eFixed equality for \u003ccode\u003eVector\u003c/code\u003e, \u003ccode\u003eHalfVector\u003c/code\u003e, \u003ccode\u003eBit\u003c/code\u003e, and \u003ccode\u003eSparseVector\u003c/code\u003e classes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eindices\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods of \u003ccode\u003eSparseVector\u003c/code\u003e returning tuple instead of list in some cases\u003c/li\u003e\n\u003cli\u003eDropped support for Python \u0026lt; 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 (2024-10-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003earrays\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 (2024-10-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eavg\u003c/code\u003e function with type casting to SQLAlchemy\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eglobally\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.4 (2024-09-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eschema\u003c/code\u003e option for asyncpg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.3 (2024-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved support for cursor factories with Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.2 (2024-07-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error with asyncpg and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.1 (2024-07-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error parsing zero sparse vectors\u003c/li\u003e\n\u003cli\u003eFixed error with Psycopg 2 and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003cli\u003eFixed error message when \u003ccode\u003evector\u003c/code\u003e type not found with Psycopg 3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.0 (2024-06-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ehalfvec\u003c/code\u003e, \u003ccode\u003ebit\u003c/code\u003e, and \u003ccode\u003esparsevec\u003c/code\u003e types to Django\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/2968f258f9486531bd1340cbda4ff8fcaf06cdc1\"\u003e\u003ccode\u003e2968f25\u003c/code\u003e\u003c/a\u003e Version bump to 0.4.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/674f5ba3410c873d49f50fa9725b95d9db50c674\"\u003e\u003ccode\u003e674f5ba\u003c/code\u003e\u003c/a\u003e Updated checkout action [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e2986daf2b1533cc2c849f7e39350e31d57ac325\"\u003e\u003ccode\u003ee2986da\u003c/code\u003e\u003c/a\u003e Added support for Django 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e211ba4029f204734f0c001fbb90f6a594d561ae\"\u003e\u003ccode\u003ee211ba4\u003c/code\u003e\u003c/a\u003e Test with Python 3.14 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/1a72b7571adf3325174b383aca85bfb3a5b925fa\"\u003e\u003ccode\u003e1a72b75\u003c/code\u003e\u003c/a\u003e Updated pgvector on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/c820a53bfb46196551de3c3f59f81b192d890574\"\u003e\u003ccode\u003ec820a53\u003c/code\u003e\u003c/a\u003e Simplified examples [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/caf1a2e0dd7a1ba2ad0ca9f09b50516dcfffcdeb\"\u003e\u003ccode\u003ecaf1a2e\u003c/code\u003e\u003c/a\u003e Added docs for binary quantization with SQLAlchemy [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/dc9a8f959995f009649fd230139ca41193e0a801\"\u003e\u003ccode\u003edc9a8f9\u003c/code\u003e\u003c/a\u003e Added test for binary quantization with re-ranking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/33dee606229489c9ffb0cb5a1cd72bd4705ac618\"\u003e\u003ccode\u003e33dee60\u003c/code\u003e\u003c/a\u003e Added support for str objects for bit type with SQLAlchemy - \u003ca href=\"https://redirect.github.com/pgvector/pgvector-python/issues/137\"\u003e#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/ee3e71ca2c07a12a8332a3877c0ce14adc9a5da8\"\u003e\u003ccode\u003eee3e71c\u003c/code\u003e\u003c/a\u003e Updated format for license identifier\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgvector/pgvector-python/compare/v0.2.5...v0.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-multipart` from 0.0.27 to 0.0.30\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/python-multipart/releases\"\u003epython-multipart's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.0.30\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTreat only \u003ccode\u003e\u0026amp;\u003c/code\u003e as the urlencoded field separator by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/290\"\u003eKludex/python-multipart#290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore RFC 2231 extended parameters in \u003ccode\u003eparse_options_header\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/291\"\u003eKludex/python-multipart#291\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.29...0.0.30\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.29...0.0.30\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.29\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle malformed RFC 2231 continuations in \u003ccode\u003eparse_options_header\u003c/code\u003e by \u003ca href=\"https://github.com/manunio\"\u003e\u003ccode\u003e@​manunio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/270\"\u003eKludex/python-multipart#270\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.28...0.0.29\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.28...0.0.29\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.28\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up partial-boundary tail scan via \u003ccode\u003ebytes.find\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/281\"\u003eKludex/python-multipart#281\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCap multipart boundary length at 256 bytes by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/282\"\u003eKludex/python-multipart#282\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.27...0.0.28\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.27...0.0.28\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/python-multipart/blob/main/CHANGELOG.md\"\u003epython-multipart's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.30 (2026-05-31)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eParse \u003ccode\u003eapplication/x-www-form-urlencoded\u003c/code\u003e bodies per the WHATWG URL standard, treating only \u003ccode\u003e\u0026amp;\u003c/code\u003e as a field separator \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/290\"\u003e#290\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eIgnore RFC 2231/5987 extended parameters (\u003ccode\u003ename*\u003c/code\u003e, \u003ccode\u003efilename*\u003c/code\u003e) in \u003ccode\u003eparse_options_header\u003c/code\u003e, keeping the plain parameter authoritative per \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc7578#section-4.2\"\u003eRFC 7578 §4.2\u003c/a\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/291\"\u003e#291\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.29 (2026-05-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle malformed RFC 2231 continuations in \u003ccode\u003eparse_options_header\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/270\"\u003e#270\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.28 (2026-05-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up partial-boundary tail scan via \u003ccode\u003ebytes.find\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/281\"\u003e#281\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eCap multipart boundary length at 256 bytes \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/282\"\u003e#282\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/9d3ead568a259f222cff6425262ff63e88d930d4\"\u003e\u003ccode\u003e9d3ead5\u003c/code\u003e\u003c/a\u003e Version 0.0.30 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/292\"\u003e#292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/3506c15ce99cb62faf2d5ceb3c4c1e5800cb843d\"\u003e\u003ccode\u003e3506c15\u003c/code\u003e\u003c/a\u003e Ignore RFC 2231 extended parameters in \u003ccode\u003eparse_options_header\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/291\"\u003e#291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/d69df35cd2cad9c72794c2c340db646afae957d8\"\u003e\u003ccode\u003ed69df35\u003c/code\u003e\u003c/a\u003e Treat only \u003ccode\u003e\u0026amp;\u003c/code\u003e as the urlencoded field separator (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/290\"\u003e#290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/1e6ff9740b09fb439755f30e2b0e2ada1d297325\"\u003e\u003ccode\u003e1e6ff97\u003c/code\u003e\u003c/a\u003e Bump idna from 3.11 to 3.15 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/289\"\u003e#289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/e3d6853978b91b77e9739d47389124d633894c39\"\u003e\u003ccode\u003ee3d6853\u003c/code\u003e\u003c/a\u003e Version 0.0.29 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/288\"\u003e#288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/a60dcdcb34d55b396ced6f5bdb1d1e6df84832ae\"\u003e\u003ccode\u003ea60dcdc\u003c/code\u003e\u003c/a\u003e Handle malformed RFC 2231 continuations in \u003ccode\u003eparse_options_header\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/270\"\u003e#270\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/75c33b24d91f1e3c65b597832984d6c46d1a38df\"\u003e\u003ccode\u003e75c33b2\u003c/code\u003e\u003c/a\u003e Add 7-day cooldown for dependency resolution via uv exclude-newer (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/286\"\u003e#286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/a078b8ef00474c3f3a6cf750cd092cf880354a11\"\u003e\u003ccode\u003ea078b8e\u003c/code\u003e\u003c/a\u003e Bump urllib3 from 2.6.3 to 2.7.0 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/285\"\u003e#285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/7d8d28b210ac6cb055399562b0dc0e5cf9aef14a\"\u003e\u003ccode\u003e7d8d28b\u003c/code\u003e\u003c/a\u003e Version 0.0.28 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/284\"\u003e#284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/b0dd125457d0f98de23bf2f894aedb1a54639d4e\"\u003e\u003ccode\u003eb0dd125\u003c/code\u003e\u003c/a\u003e Cap multipart boundary length at 256 bytes (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/282\"\u003e#282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.27...0.0.30\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-asyncio` from 1.3.0 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/pytest-dev/pytest-asyncio/releases\"\u003epytest-asyncio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epytest-asyncio v1.4.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.4.0\"\u003e1.4.0\u003c/a\u003e - 2026-05-26\u003c/h1\u003e\n\u003ch2\u003eDeprecated\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOverriding the \u003cem\u003eevent_loop_policy\u003c/em\u003e fixture is deprecated. Use the \u003ccode\u003epytest_asyncio_loop_factories\u003c/code\u003e hook instead. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1419\"\u003e#1419\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded the \u003ccode\u003epytest_asyncio_loop_factories\u003c/code\u003e hook to parametrize asyncio tests with custom event loop factories.\u003c/p\u003e\n\u003cp\u003eThe hook returns a mapping of factory names to loop factories, and \u003ccode\u003epytest.mark.asyncio(loop_factories=[...])\u003c/code\u003e selects a subset of configured factories per test. When a single factory is configured, test names are unchanged.\u003c/p\u003e\n\u003cp\u003eSynchronous \u003ccode\u003e@pytest_asyncio.fixture\u003c/code\u003e functions now see the correct event loop when custom loop factories are configured, even when test code disrupts the current event loop (e.g., via \u003ccode\u003easyncio.run()\u003c/code\u003e or \u003ccode\u003easyncio.set_event_loop(None)\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1164\"\u003e#1164\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved the readability of the warning message that is displayed when \u003ccode\u003easyncio_default_fixture_loop_scope\u003c/code\u003e is unset (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1298\"\u003e#1298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly import \u003ccode\u003easyncio.AbstractEventLoopPolicy\u003c/code\u003e for type checking to avoid raising\na DeprecationWarning. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1394\"\u003e#1394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdated minimum supported pytest version to v8.4.0. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1397\"\u003e#1397\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a \u003ccode\u003eResourceWarning: unclosed event loop\u003c/code\u003e warning that could occur when a synchronous test called \u003ccode\u003easyncio.run()\u003c/code\u003e or otherwise unset the current event loop after pytest-asyncio had run an async test or fixture. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/724\"\u003e#724\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded dependency on \u003ccode\u003esphinx-tabs \u0026gt;= 3.5\u003c/code\u003e to organize documentation examples into tabs. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1395\"\u003e#1395\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epytest-asyncio v1.4.0a2\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.4.0a2\"\u003e1.4.0a2\u003c/a\u003e - 2026-05-02\u003c/h1\u003e\n\u003ch2\u003eDeprecated\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOverriding the \u003cem\u003eevent_loop_policy\u003c/em\u003e fixture is deprecated. Use the \u003ccode\u003epytest_asyncio_loop_factories\u003c/code\u003e hook instead. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1419\"\u003e#1419\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded the \u003ccode\u003epytest_asyncio_loop_factories\u003c/code\u003e hook to parametrize asyncio tests with custom event loop factories.\u003c/p\u003e\n\u003cp\u003eThe hook returns a mapping of factory names to loop factories, and \u003ccode\u003epytest.mark.asyncio(loop_factories=[...])\u003c/code\u003e selects a subset of configured factories per test. When a single factory is configured, test names are unchanged on pytest 8.4+.\u003c/p\u003e\n\u003cp\u003eSynchronous \u003ccode\u003e@pytest_asyncio.fixture\u003c/code\u003e functions now see the correct event loop when custom loop factories are configured, even when test code disrupts the current event loop (e.g., via \u003ccode\u003easyncio.run()\u003c/code\u003e or \u003ccode\u003easyncio.set_event_loop(None)\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1164\"\u003e#1164\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved the readability of the warning message that is displayed when \u003ccode\u003easyncio_default_fixture_loop_scope\u003c/code\u003e is unset (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1298\"\u003e#1298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly import \u003ccode\u003easyncio.AbstractEventLoopPolicy\u003c/code\u003e for type checking to avoid raising\na DeprecationWarning. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1394\"\u003e#1394\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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-asyncio/commit/6e14cd2af9292dca1fa2b027a06bbc40b0e0e425\"\u003e\u003ccode\u003e6e14cd2\u003c/code\u003e\u003c/a\u003e chore: Prepare release of v1.4.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/4b900fb5d0c30949c574e55dd904ee179f858a5e\"\u003e\u003ccode\u003e4b900fb\u003c/code\u003e\u003c/a\u003e Build(deps): Bump codecov/codecov-action from 6.0.0 to 6.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/ab9f63245094865c42c940a34af724b0dec1debf\"\u003e\u003ccode\u003eab9f632\u003c/code\u003e\u003c/a\u003e Build(deps): Bump zipp from 3.23.1 to 4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/a56fc77ecd59f781d8471b0f6a82bf58e08c95fa\"\u003e\u003ccode\u003ea56fc77\u003c/code\u003e\u003c/a\u003e Build(deps): Bump hypothesis from 6.152.6 to 6.152.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/e8bae9bc1f197731fc1a210c0da557af7b698e6d\"\u003e\u003ccode\u003ee8bae9b\u003c/code\u003e\u003c/a\u003e Build(deps): Bump requests from 2.34.0 to 2.34.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/fc433402c570fd36a7a227ef4bc3abd4579299de\"\u003e\u003ccode\u003efc43340\u003c/code\u003e\u003c/a\u003e Build(deps): Bump idna from 3.14 to 3.15\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/762eaf5033b798b965c92afdbb2cebefa8fc3a8b\"\u003e\u003ccode\u003e762eaf5\u003c/code\u003e\u003c/a\u003e Build(deps): Bump jaraco-functools from 4.4.0 to 4.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/b62e2228c80070977baf6b77ba89d5c148af920f\"\u003e\u003ccode\u003eb62e222\u003c/code\u003e\u003c/a\u003e Build(deps): Bump click from 8.3.3 to 8.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/919044700627889d25ca63b6e7a3bc785f3137eb\"\u003e\u003ccode\u003e9190447\u003c/code\u003e\u003c/a\u003e Build(deps): Bump pydantic from 2.13.3 to 2.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/82a393c5e31b6ebbbd8ec2a8dafc5f35b9cf1236\"\u003e\u003ccode\u003e82a393c\u003c/code\u003e\u003c/a\u003e ci: Remove unnecessary debug output.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/compare/v1.3.0...v1.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `torch` from 2.2.2 to 2.12.0+cpu\n","html_url":"https://github.com/madfam-org/bloom-scroll/pull/89","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/madfam-org%2Fbloom-scroll/issues/89","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/89/packages"}},{"old_version":"0.3.6","new_version":"0.4.2","update_type":"minor","path":null,"pr_created_at":"2026-05-26T01:14:57.000Z","version_change":"0.3.6 → 0.4.2","issue":{"uuid":"4520522281","node_id":"PR_kwDOQkYl-s7fOJBz","number":290,"state":"closed","title":"chore(deps): Bump the python-minor group across 1 directory with 21 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-06-03T05:24:22.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-26T01:14:57.000Z","updated_at":"2026-06-03T05:24:24.000Z","time_to_close":706165,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","group_name":"python-minor","update_count":21,"packages":[{"name":"fastapi","old_version":"0.136.1","new_version":"0.136.3","repository_url":"https://github.com/fastapi/fastapi"},{"name":"uvicorn","old_version":"0.46.0","new_version":"0.48.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"python-multipart","old_version":"0.0.27","new_version":"0.0.29","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"starlette","old_version":"1.0.0","new_version":"1.1.0","repository_url":"https://github.com/Kludex/starlette"},{"name":"sse-starlette","old_version":"3.4.1","new_version":"3.4.4","repository_url":"https://github.com/sysid/sse-starlette"},{"name":"sqlalchemy","old_version":"2.0.49","new_version":"2.0.50","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"greenlet","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/python-greenlet/greenlet"},{"name":"pyjwt","old_version":"2.12.1","new_version":"2.13.0","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"pydantic","old_version":"2.13.3","new_version":"2.13.4","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pydantic-settings","old_version":"2.14.0","new_version":"2.14.1","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"pandas","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"google-cloud-aiplatform","old_version":"1.150.0","new_version":"1.153.1","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"google-auth","old_version":"2.50.0","new_version":"2.53.0","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"anthropic","old_version":"0.45.2","new_version":"0.104.1","repository_url":"https://github.com/anthropics/anthropic-sdk-python"},{"name":"pgvector","old_version":"0.3.6","new_version":"0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"},{"name":"lxml","old_version":"6.1.0","new_version":"6.1.1","repository_url":"https://github.com/lxml/lxml"},{"name":"orjson","old_version":"3.11.8","new_version":"3.11.9","repository_url":"https://github.com/ijl/orjson"},{"name":"sentry-sdk","old_version":"2.59.0","new_version":"2.60.0","repository_url":"https://github.com/getsentry/sentry-python"},{"name":"faker","old_version":"40.15.0","new_version":"40.19.1","repository_url":"https://github.com/joke2k/faker"},{"name":"black","old_version":"26.3.1","new_version":"26.5.1","repository_url":"https://github.com/psf/black"},{"name":"ruff","old_version":"0.15.12","new_version":"0.15.14","repository_url":"https://github.com/astral-sh/ruff"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor group with 21 updates in the /backend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.136.1` | `0.136.3` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.46.0` | `0.48.0` |\n| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.27` | `0.0.29` |\n| [starlette](https://github.com/Kludex/starlette) | `1.0.0` | `1.1.0` |\n| [sse-starlette](https://github.com/sysid/sse-starlette) | `3.4.1` | `3.4.4` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.49` | `2.0.50` |\n| [greenlet](https://github.com/python-greenlet/greenlet) | `3.5.0` | `3.5.1` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.12.1` | `2.13.0` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.13.3` | `2.13.4` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.14.0` | `2.14.1` |\n| [pandas](https://github.com/pandas-dev/pandas) | `3.0.2` | `3.0.3` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.150.0` | `1.153.1` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.50.0` | `2.53.0` |\n| [anthropic](https://github.com/anthropics/anthropic-sdk-python) | `0.45.2` | `0.104.1` |\n| [pgvector](https://github.com/pgvector/pgvector-python) | `0.3.6` | `0.4.2` |\n| [lxml](https://github.com/lxml/lxml) | `6.1.0` | `6.1.1` |\n| [orjson](https://github.com/ijl/orjson) | `3.11.8` | `3.11.9` |\n| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.59.0` | `2.60.0` |\n| [faker](https://github.com/joke2k/faker) | `40.15.0` | `40.19.1` |\n| [black](https://github.com/psf/black) | `26.3.1` | `26.5.1` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.12` | `0.15.14` |\n\n\nUpdates `fastapi` from 0.136.1 to 0.136.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.136.3\u003c/h2\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Do not accept underscore headers when using \u003ccode\u003econvert_underscores=True\u003c/code\u003e (the default). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15589\"\u003e#15589\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.136.2\u003c/h2\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Validate Server Sent Event fields to avoid applications from sending broken data. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15588\"\u003e#15588\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Document \u003ccode\u003e--entrypoint\u003c/code\u003e CLI option. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15464\"\u003e#15464\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update and simplify docs about help and management. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15583\"\u003e#15583\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Add docs references to central contributing docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15580\"\u003e#15580\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update security policy. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15577\"\u003e#15577\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🍱 Update sponsors: TalorData image. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15562\"\u003e#15562\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update docs, simplify usage of admonitions, only default ones. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15553\"\u003e#15553\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Fix image URLs in \u003ccode\u003eindex.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15534\"\u003e#15534\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✏️ Fix Azkaban spelling typo in \u003ccode\u003evirtual-environments.md‎\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15463\"\u003e#15463\u003c/a\u003e by \u003ca href=\"https://github.com/isaacbernat\"\u003e\u003ccode\u003e@​isaacbernat\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e💄 Improve layout and styling. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15462\"\u003e#15462\u003c/a\u003e by \u003ca href=\"https://github.com/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e💄 Refactor opinions section with interactive tabs and new logos. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15458\"\u003e#15458\u003c/a\u003e by \u003ca href=\"https://github.com/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Add FastAPI Conf '26 announcement to docs. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15457\"\u003e#15457\u003c/a\u003e by \u003ca href=\"https://github.com/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🌐 Improve translation consistency in \u003ccode\u003e‎docs/pt/docs/advanced/generate-clients.md‎\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15456\"\u003e#15456\u003c/a\u003e by \u003ca href=\"https://github.com/Will-thom\"\u003e\u003ccode\u003e@​Will-thom\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ja (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15530\"\u003e#15530\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for uk (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15529\"\u003e#15529\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for pt (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15528\"\u003e#15528\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for de (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15527\"\u003e#15527\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for tr (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15526\"\u003e#15526\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ko (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15525\"\u003e#15525\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh-hant (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15524\"\u003e#15524\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for fr (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15522\"\u003e#15522\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for es (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15523\"\u003e#15523\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for zh (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15520\"\u003e#15520\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ru (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15521\"\u003e#15521\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Fix typos in Spanish LLM-prompt. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15472\"\u003e#15472\u003c/a\u003e by \u003ca href=\"https://github.com/crr004\"\u003e\u003ccode\u003e@​crr004\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Update tests, don't double dispose the engine. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15587\"\u003e#15587\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⚡️ Speed up test suite via caching and fixture scopes to make it ~24% faster. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/13583\"\u003e#13583\u003c/a\u003e by \u003ca href=\"https://github.com/dikos1337\"\u003e\u003ccode\u003e@​dikos1337\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔥 Remove config files now in central GitHub repo. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15585\"\u003e#15585\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump urllib3 from 2.6.3 to 2.7.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15502\"\u003e#15502\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump idna from 3.11 to 3.15. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15565\"\u003e#15565\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump cloudflare/wrangler-action from 3.15.0 to 4.0.0. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15571\"\u003e#15571\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔧 Migrate docs from MkDocs to Zensical. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15563\"\u003e#15563\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔒️ Only allow team members to modify dependencies. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15548\"\u003e#15548\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/82064857539e6286522c347b4b11331b48dd2378\"\u003e\u003ccode\u003e8206485\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.136.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c910e0139f983d0e04e2d1d235cd71803afeae34\"\u003e\u003ccode\u003ec910e01\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/063b5bf582d31fb155cc6bc6f88cf512329d0fd5\"\u003e\u003ccode\u003e063b5bf\u003c/code\u003e\u003c/a\u003e ♻️ Do not accept underscore headers when using \u003ccode\u003econvert_underscores=True\u003c/code\u003e (th...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/22b02e26f9e8c7e32bd8266e2b0ebe8bb3a0db2b\"\u003e\u003ccode\u003e22b02e2\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.136.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/3b252a2a22ba27a8ab83d6bde7d9cddbc5bf738e\"\u003e\u003ccode\u003e3b252a2\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c7fb7851b3389f24c51701d705458989be53ccbb\"\u003e\u003ccode\u003ec7fb785\u003c/code\u003e\u003c/a\u003e ♻️ Validate Server Sent Event fields to avoid applications from sending broke...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cb83b83dcf78eab4ea17d504db5abcda705fbdc4\"\u003e\u003ccode\u003ecb83b83\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/00f805cec94c0bf48c1f9a563535a3ab2e6f90ab\"\u003e\u003ccode\u003e00f805c\u003c/code\u003e\u003c/a\u003e ✅ Update tests, don't double dispose the engine (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15587\"\u003e#15587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/3675137523dc167981aa3a3c44599b4f3079ccd8\"\u003e\u003ccode\u003e3675137\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/7b57e42986bb4d40c9eb6580537d13fb8e76097e\"\u003e\u003ccode\u003e7b57e42\u003c/code\u003e\u003c/a\u003e 📝 Document \u003ccode\u003e--entrypoint\u003c/code\u003e CLI option (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15464\"\u003e#15464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.136.1...0.136.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.46.0 to 0.48.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/releases\"\u003euvicorn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.48.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault \u003ccode\u003essl_ciphers\u003c/code\u003e to \u003ccode\u003eNone\u003c/code\u003e and use OpenSSL defaults by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2940\"\u003eKludex/uvicorn#2940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore duplicate forwarding headers in \u003ccode\u003eProxyHeadersMiddleware\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2944\"\u003eKludex/uvicorn#2944\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.47.0...0.48.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.47.0...0.48.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.47.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEagerly import the ASGI app in the parent process by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2919\"\u003eKludex/uvicorn#2919\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003essl_context_factory\u003c/code\u003e for custom \u003ccode\u003eSSLContext\u003c/code\u003e configuration by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2920\"\u003eKludex/uvicorn#2920\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003efd=0\u003c/code\u003e as a valid file descriptor with reload/workers by \u003ca href=\"https://github.com/eltoder\"\u003e\u003ccode\u003e@​eltoder\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2927\"\u003eKludex/uvicorn#2927\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.46.0...0.47.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.46.0...0.47.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md\"\u003euvicorn's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.48.0 (May 24, 2026)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDefault \u003ccode\u003essl_ciphers\u003c/code\u003e to \u003ccode\u003eNone\u003c/code\u003e and use OpenSSL defaults (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore duplicate forwarding headers in \u003ccode\u003eProxyHeadersMiddleware\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2944\"\u003e#2944\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.47.0 (May 14, 2026)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003essl_context_factory\u003c/code\u003e for custom \u003ccode\u003eSSLContext\u003c/code\u003e configuration (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2920\"\u003e#2920\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEagerly import the ASGI app in the parent process (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2919\"\u003e#2919\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTreat \u003ccode\u003efd=0\u003c/code\u003e as a valid file descriptor with reload/workers (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/73e84e58d7f6b8b3dfd8a9e3e42d716862250f33\"\u003e\u003ccode\u003e73e84e5\u003c/code\u003e\u003c/a\u003e Version 0.48.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2951\"\u003e#2951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/45ea11690b4a62fa6df339d2b6ee3b8545a418e0\"\u003e\u003ccode\u003e45ea116\u003c/code\u003e\u003c/a\u003e Ignore duplicate forwarding headers in \u003ccode\u003eProxyHeadersMiddleware\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2944\"\u003e#2944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/dd4394c3cbfd9f27a696a7b08047149690058158\"\u003e\u003ccode\u003edd4394c\u003c/code\u003e\u003c/a\u003e chore(deps): bump idna from 3.11 to 3.15 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2941\"\u003e#2941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/abe07818a191cd036dc3824d802d052207e01c7e\"\u003e\u003ccode\u003eabe0781\u003c/code\u003e\u003c/a\u003e Default \u003ccode\u003essl_ciphers\u003c/code\u003e to \u003ccode\u003eNone\u003c/code\u003e and use OpenSSL defaults (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/479a2c0c89186714f1aac52aecdebebf271395ac\"\u003e\u003ccode\u003e479a2c0\u003c/code\u003e\u003c/a\u003e Version 0.47.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2937\"\u003e#2937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/89347fd166ebedf98fb3f806ce8ea44e93b1c2b5\"\u003e\u003ccode\u003e89347fd\u003c/code\u003e\u003c/a\u003e Add 7-day cooldown for dependency resolution via uv exclude-newer (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2936\"\u003e#2936\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/767315b38ae509cee9fe8ee9d09f6da920536096\"\u003e\u003ccode\u003e767315b\u003c/code\u003e\u003c/a\u003e Drop unused contents/actions permissions from zizmor workflow (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2935\"\u003e#2935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/f25ee43e68a9678453cbca99ad96f1a447ff34af\"\u003e\u003ccode\u003ef25ee43\u003c/code\u003e\u003c/a\u003e chore(deps): bump urllib3 from 2.6.3 to 2.7.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2933\"\u003e#2933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/8782666189a3d36c978de5698620db705659bf44\"\u003e\u003ccode\u003e8782666\u003c/code\u003e\u003c/a\u003e Fix typo in \u003ccode\u003edocs/deployment/index.md\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2932\"\u003e#2932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/ad5ff87c869e8a34e9b04fcd5ca38d65c526893c\"\u003e\u003ccode\u003ead5ff87\u003c/code\u003e\u003c/a\u003e Treat \u003ccode\u003efd=0\u003c/code\u003e as a valid file descriptor with reload/workers (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2927\"\u003e#2927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.46.0...0.48.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-multipart` from 0.0.27 to 0.0.29\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/python-multipart/releases\"\u003epython-multipart's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.0.29\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle malformed RFC 2231 continuations in \u003ccode\u003eparse_options_header\u003c/code\u003e by \u003ca href=\"https://github.com/manunio\"\u003e\u003ccode\u003e@​manunio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/270\"\u003eKludex/python-multipart#270\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.28...0.0.29\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.28...0.0.29\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.28\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up partial-boundary tail scan via \u003ccode\u003ebytes.find\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/281\"\u003eKludex/python-multipart#281\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCap multipart boundary length at 256 bytes by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/282\"\u003eKludex/python-multipart#282\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.27...0.0.28\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.27...0.0.28\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/python-multipart/blob/main/CHANGELOG.md\"\u003epython-multipart's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.29 (2026-05-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle malformed RFC 2231 continuations in \u003ccode\u003eparse_options_header\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/270\"\u003e#270\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.28 (2026-05-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up partial-boundary tail scan via \u003ccode\u003ebytes.find\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/281\"\u003e#281\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eCap multipart boundary length at 256 bytes \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/282\"\u003e#282\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/e3d6853978b91b77e9739d47389124d633894c39\"\u003e\u003ccode\u003ee3d6853\u003c/code\u003e\u003c/a\u003e Version 0.0.29 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/288\"\u003e#288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/a60dcdcb34d55b396ced6f5bdb1d1e6df84832ae\"\u003e\u003ccode\u003ea60dcdc\u003c/code\u003e\u003c/a\u003e Handle malformed RFC 2231 continuations in \u003ccode\u003eparse_options_header\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/270\"\u003e#270\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/75c33b24d91f1e3c65b597832984d6c46d1a38df\"\u003e\u003ccode\u003e75c33b2\u003c/code\u003e\u003c/a\u003e Add 7-day cooldown for dependency resolution via uv exclude-newer (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/286\"\u003e#286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/a078b8ef00474c3f3a6cf750cd092cf880354a11\"\u003e\u003ccode\u003ea078b8e\u003c/code\u003e\u003c/a\u003e Bump urllib3 from 2.6.3 to 2.7.0 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/285\"\u003e#285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/7d8d28b210ac6cb055399562b0dc0e5cf9aef14a\"\u003e\u003ccode\u003e7d8d28b\u003c/code\u003e\u003c/a\u003e Version 0.0.28 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/284\"\u003e#284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/b0dd125457d0f98de23bf2f894aedb1a54639d4e\"\u003e\u003ccode\u003eb0dd125\u003c/code\u003e\u003c/a\u003e Cap multipart boundary length at 256 bytes (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/282\"\u003e#282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/d1b57392cf7d0c19235ba454eb5686fd27dc2384\"\u003e\u003ccode\u003ed1b5739\u003c/code\u003e\u003c/a\u003e Speed up partial-boundary tail scan via \u003ccode\u003ebytes.find\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/281\"\u003e#281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/09cb8c3da7638d45ecdf7c154832303214bba829\"\u003e\u003ccode\u003e09cb8c3\u003c/code\u003e\u003c/a\u003e Make the long_boundary benchmark dominated by the patched code path (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/280\"\u003e#280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/a6467c93c14aa4b09ef65450ead8011c45e5c7a0\"\u003e\u003ccode\u003ea6467c9\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Switch CodSpeed benchmarks to walltime mode\u0026quot; (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/279\"\u003e#279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/9a9690035a956fbdcca06f98461244cf790375a7\"\u003e\u003ccode\u003e9a96900\u003c/code\u003e\u003c/a\u003e Switch CodSpeed benchmarks to walltime mode (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/278\"\u003e#278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.27...0.0.29\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `starlette` from 1.0.0 to 1.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/starlette/releases\"\u003estarlette's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003e\u0026quot;application/octet-stream\u0026quot;\u003c/code\u003e as the \u003ccode\u003eFileResponse\u003c/code\u003e media type fallback by \u003ca href=\"https://github.com/ATOM00blue\"\u003e\u003ccode\u003e@​ATOM00blue\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/3283\"\u003eKludex/starlette#3283\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly dispatch standard HTTP verbs in \u003ccode\u003eHTTPEndpoint\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/3286\"\u003eKludex/starlette#3286\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject absolute paths in \u003ccode\u003eStaticFiles.lookup_path\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/3287\"\u003eKludex/starlette#3287\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/ATOM00blue\"\u003e\u003ccode\u003e@​ATOM00blue\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/3283\"\u003eKludex/starlette#3283\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/starlette/compare/1.0.1...1.1.0\"\u003ehttps://github.com/Kludex/starlette/compare/1.0.1...1.1.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 1.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore malformed \u003ccode\u003eHost\u003c/code\u003e header when constructing \u003ccode\u003erequest.url\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/starlette/pull/3279\"\u003eKludex/starlette#3279\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/starlette/compare/1.0.0...1.0.1\"\u003ehttps://github.com/Kludex/starlette/compare/1.0.0...1.0.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/starlette/blob/main/docs/release-notes.md\"\u003estarlette's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.1.0 (May 23, 2026)\u003c/h2\u003e\n\u003ch4\u003eAdded\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003e\u0026quot;application/octet-stream\u0026quot;\u003c/code\u003e as the \u003ccode\u003eFileResponse\u003c/code\u003e media type fallback \u003ca href=\"https://redirect.github.com/encode/starlette/pull/3283\"\u003e#3283\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixed\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eOnly dispatch standard HTTP verbs in \u003ccode\u003eHTTPEndpoint\u003c/code\u003e \u003ca href=\"https://redirect.github.com/encode/starlette/pull/3286\"\u003e#3286\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eReject absolute paths in \u003ccode\u003eStaticFiles.lookup_path\u003c/code\u003e \u003ca href=\"https://redirect.github.com/encode/starlette/pull/3287\"\u003e#3287\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.0.1 (May 21, 2026)\u003c/h2\u003e\n\u003ch4\u003eFixed\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore malformed \u003ccode\u003eHost\u003c/code\u003e header when constructing \u003ccode\u003erequest.url\u003c/code\u003e \u003ca href=\"https://redirect.github.com/encode/starlette/pull/3279\"\u003e#3279\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/starlette/commit/a4ff83b1aacaf8955e241dd00444c27823be163a\"\u003e\u003ccode\u003ea4ff83b\u003c/code\u003e\u003c/a\u003e Version 1.1.0 (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/3289\"\u003e#3289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/fd53168a7767b6b55ba5af787fd88f49e33cabc5\"\u003e\u003ccode\u003efd53168\u003c/code\u003e\u003c/a\u003e Reject absolute paths in \u003ccode\u003eStaticFiles.lookup_path\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/3287\"\u003e#3287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/e3f972225adb1d84b80dba132f520cc24cb84229\"\u003e\u003ccode\u003ee3f9722\u003c/code\u003e\u003c/a\u003e Only dispatch standard HTTP verbs in \u003ccode\u003eHTTPEndpoint\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/3286\"\u003e#3286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/348f86dc92fed6e3c0314154e38deec90a6bcabd\"\u003e\u003ccode\u003e348f86d\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003e\u0026quot;application/octet-stream\u0026quot;\u003c/code\u003e as the \u003ccode\u003eFileResponse\u003c/code\u003e media type fallback (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/48f8e331b23ca692f4713ac1f370bff1b5cd034c\"\u003e\u003ccode\u003e48f8e33\u003c/code\u003e\u003c/a\u003e Version 1.0.1 (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/3281\"\u003e#3281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/f078832be1aa27ab0e7ec3153479a347749e967a\"\u003e\u003ccode\u003ef078832\u003c/code\u003e\u003c/a\u003e Remove Hugging Face sponsor block from docs (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/3280\"\u003e#3280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/472951eba8f6e35be845fd1b91625a1b5488294b\"\u003e\u003ccode\u003e472951e\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/3277\"\u003e#3277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/764dab0dcfb9033d75442d7a359645c9f94648c6\"\u003e\u003ccode\u003e764dab0\u003c/code\u003e\u003c/a\u003e Ignore malformed \u003ccode\u003eHost\u003c/code\u003e header when constructing \u003ccode\u003erequest.url\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/3279\"\u003e#3279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/19d08115ce56da8d4da2838ecdd9c5882cb2b365\"\u003e\u003ccode\u003e19d0811\u003c/code\u003e\u003c/a\u003e Harden GitHub Actions workflows and Dependabot config (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/3276\"\u003e#3276\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/starlette/commit/01f46378120fe2c6312074ed7e997e3b5f7d8c20\"\u003e\u003ccode\u003e01f4637\u003c/code\u003e\u003c/a\u003e chore(deps): bump idna from 3.10 to 3.15 (\u003ca href=\"https://redirect.github.com/Kludex/starlette/issues/3274\"\u003e#3274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/starlette/compare/1.0.0...1.1.0\"\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.4.1 to 3.4.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.4.4\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/sysid/sse-starlette/compare/v3.4.3...v3.4.4\"\u003ehttps://github.com/sysid/sse-starlette/compare/v3.4.3...v3.4.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.4.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump granian from 2.6.0 to 2.7.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/sysid/sse-starlette/pull/185\"\u003esysid/sse-starlette#185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump urllib3 from 2.6.3 to 2.7.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/186\"\u003esysid/sse-starlette#186\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.4.2...v3.4.3\"\u003ehttps://github.com/sysid/sse-starlette/compare/v3.4.2...v3.4.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.4.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/sysid/sse-starlette/compare/v3.4.1...v3.4.2\"\u003ehttps://github.com/sysid/sse-starlette/compare/v3.4.1...v3.4.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/e0933950b83ab99575b34b3641cd7f88b62e11c2\"\u003e\u003ccode\u003ee093395\u003c/code\u003e\u003c/a\u003e Bump version to 3.4.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/a6799e1063bd2c102336b8963a288736b0588972\"\u003e\u003ccode\u003ea6799e1\u003c/code\u003e\u003c/a\u003e new release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/d033a9755865b1521baf5d7f4b9ce6c5b4b2c843\"\u003e\u003ccode\u003ed033a97\u003c/code\u003e\u003c/a\u003e Bump version to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/6a34c6aa05037b4b63864384bc61f7e855d18008\"\u003e\u003ccode\u003e6a34c6a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/sysid/sse-starlette/issues/186\"\u003e#186\u003c/a\u003e from sysid/dependabot/uv/urllib3-2.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/e0be426235833f4d5084669bbba947193a2720e0\"\u003e\u003ccode\u003ee0be426\u003c/code\u003e\u003c/a\u003e chore(deps): bump urllib3 from 2.6.3 to 2.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/d8d43ab64b1090644ae42c4c2a4d361947296a26\"\u003e\u003ccode\u003ed8d43ab\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/sysid/sse-starlette/issues/185\"\u003e#185\u003c/a\u003e from sysid/dependabot/uv/granian-2.7.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/5854ac05f8f0170d7e4ccfd9b28a681f96038913\"\u003e\u003ccode\u003e5854ac0\u003c/code\u003e\u003c/a\u003e chore(deps): bump granian from 2.6.0 to 2.7.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/1d56ff3c33cd2544908890ecb3ff4ca2d55c2ee3\"\u003e\u003ccode\u003e1d56ff3\u003c/code\u003e\u003c/a\u003e Bump version to 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/8387e1155ae38552dc8064d85cf1d75c8700827f\"\u003e\u003ccode\u003e8387e11\u003c/code\u003e\u003c/a\u003e update pyproject.toml\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sysid/sse-starlette/compare/v3.4.1...v3.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.49 to 2.0.50\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.50\u003c/h1\u003e\n\u003cp\u003eReleased: May 24, 2026\u003c/p\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue where using \u003ccode\u003e_orm.joinedload()\u003c/code\u003e with\n\u003ccode\u003ePropComparator.of_type()\u003c/code\u003e targeting a joined-table subclass combined\nwith \u003ccode\u003ePropComparator.and_()\u003c/code\u003e referencing a column on that subclass\nwould generate invalid SQL, where the subclass column was not adapted to\nthe subquery alias.  Pull request courtesy Joaquin Hui Gomez.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13203\"\u003e#13203\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 the presence of a \u003ccode\u003eSessionEvents.do_orm_execute()\u003c/code\u003e\nevent hook would cause internal execution options such as \u003ccode\u003eyield_per\u003c/code\u003e and\nloader-specific state from the first \u003ccode\u003eorm_pre_session_exec\u003c/code\u003e pass to leak\ninto the second pass, leading to errors when using relationship loaders\nsuch as \u003ccode\u003eselectinload()\u003c/code\u003e and \u003ccode\u003eimmediateload()\u003c/code\u003e.  The execution\noptions passed to the second compilation pass are now based on the original\noptions plus only the explicit updates made via\n\u003ccode\u003eORMExecuteState.update_execution_options()\u003c/code\u003e within the event hook.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13301\"\u003e#13301\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 using \u003ccode\u003e_orm.with_polymorphic()\u003c/code\u003e on a leaf class (a\nsubclass with no further descendants) or a non-inherited class would fail\nwith an \u003ccode\u003eAttributeError\u003c/code\u003e when used in an ORM statement, due to\n\u003ccode\u003e_orm.configure_mappers()\u003c/code\u003e not being triggered implicitly. The fix\nensures that \u003ccode\u003eAliasedInsp\u003c/code\u003e participates in the \u003ccode\u003e_post_inspect\u003c/code\u003e\nhook, triggering mapper configuration during ORM statement compilation.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13319\"\u003e#13319\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003esql\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[sql] [bug]\u003c/strong\u003e Fixed issue where floor division (\u003ccode\u003e//\u003c/code\u003e) between a \u003ccode\u003eFloat\u003c/code\u003e or\n\u003ccode\u003eNumeric\u003c/code\u003e numerator and an \u003ccode\u003eInteger\u003c/code\u003e denominator would omit\nthe \u003ccode\u003eFLOOR()\u003c/code\u003e SQL wrapper on dialects where\n\u003ccode\u003eDialect.div_is_floordiv\u003c/code\u003e is \u003ccode\u003eTrue\u003c/code\u003e (the default, including\nPostgreSQL and SQLite).  \u003ccode\u003eFLOOR()\u003c/code\u003e is now applied if either the\ndenominator or the numerator is a non-integer, so that expressions such as\n\u003ccode\u003efloat_col // int_col\u003c/code\u003e render as \u003ccode\u003eFLOOR(float_col / int_col)\u003c/code\u003e instead\nof the incorrect \u003ccode\u003efloat_col / int_col\u003c/code\u003e.  Pull request courtesy r266-tech.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/10528\"\u003e#10528\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epostgresql\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `greenlet` from 3.5.0 to 3.5.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-greenlet/greenlet/blob/master/CHANGES.rst\"\u003egreenlet's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.1 (2026-05-20)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd preliminary support for Python 3.15b1. This has not been\nreviewed by CPython core developers, but all tests pass. Binary\nwheels of this version won't work on earlier Python 3.15 builds and\nmay not work on later 3.15 builds.\u003c/li\u003e\n\u003cli\u003eFix the discrepancy in the way the two \u003ccode\u003egetcurrent\u003c/code\u003e APIs behave\nduring greenlet teardown. One API (the C API used by, e.g.,  gevent) raised a\n\u003ccode\u003eRuntimeError\u003c/code\u003e; the other (the Python \u003ccode\u003egreenlet.getcurrent\u003c/code\u003e API)\nreturned \u003ccode\u003eNone\u003c/code\u003e. This second way is incompatible with greenlet's type\nannotations, so \u003ccode\u003egreenlet.getcurrent\u003c/code\u003e now raises a\n\u003ccode\u003eRuntimeError\u003c/code\u003e as well.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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-greenlet/greenlet/commit/b5e5fc43a51c27ecffa1b1c7107c91464a6b26e2\"\u003e\u003ccode\u003eb5e5fc4\u003c/code\u003e\u003c/a\u003e Preparing release 3.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/c8e177413d34bc36ed56d2c185c232ab0538be90\"\u003e\u003ccode\u003ec8e1774\u003c/code\u003e\u003c/a\u003e Tweak wording in CHANGES about greenlet.getcurrent.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/7fb10c570f37b3eb4c8909c6164fdfac3269ddb6\"\u003e\u003ccode\u003e7fb10c5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/510\"\u003e#510\u003c/a\u003e from python-greenlet/315\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/9718ce5a23ea3360232b78a806a837d6c3d6183d\"\u003e\u003ccode\u003e9718ce5\u003c/code\u003e\u003c/a\u003e Add Py 3.15; make both API versions of getcurrent() consistent in raising Run...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/276e08afc4ddba87e4366390e3eeaecd61ccb3b8\"\u003e\u003ccode\u003e276e08a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/509\"\u003e#509\u003c/a\u003e from python-greenlet/dependabot/github_actions/github...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/32b0ad69828eb69d879c70dbee948e685268901b\"\u003e\u003ccode\u003e32b0ad6\u003c/code\u003e\u003c/a\u003e Bump pypa/gh-action-pypi-publish in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/173b692dc84288ef41572612ac744754f98eaa90\"\u003e\u003ccode\u003e173b692\u003c/code\u003e\u003c/a\u003e Back to development: 3.5.1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/python-greenlet/greenlet/compare/3.5.0...3.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyjwt` from 2.12.1 to 2.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jpadilla/pyjwt/releases\"\u003epyjwt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.13.0\u003c/h2\u003e\n\u003ch1\u003ePyJWT 2.13.0 — Security Release\u003c/h1\u003e\n\u003cp\u003eThis release bundles five security fixes plus three additional hardening / spec-compliance changes. We recommend all users upgrade.\u003c/p\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/security/advisories/GHSA-xgmm-8j9v-c9wx\"\u003e\u003ccode\u003eGHSA-xgmm-8j9v-c9wx\u003c/code\u003e\u003c/a\u003e — JWK JSON accepted as HMAC secret (algorithm confusion).\u003c/strong\u003e \u003ccode\u003eHMACAlgorithm.prepare_key\u003c/code\u003e previously rejected PEM- and SSH-formatted asymmetric keys but did not catch a JWK passed as a raw JSON string. In a verifier configured with both symmetric and asymmetric algorithms in \u003ccode\u003ealgorithms=[…]\u003c/code\u003e and a raw-JSON JWK as the key, an attacker could forge HS256 tokens using the JWK text as the HMAC secret. The guard has been extended to reject any JWK-shaped JSON. \u003cem\u003eReported by \u003ca href=\"https://github.com/aradona91\"\u003e\u003ccode\u003e@​aradona91\u003c/code\u003e\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/security/advisories/GHSA-jq35-7prp-9v3f\"\u003e\u003ccode\u003eGHSA-jq35-7prp-9v3f\u003c/code\u003e\u003c/a\u003e — Algorithm allow-list bypass with \u003ccode\u003ePyJWK\u003c/code\u003e / \u003ccode\u003ePyJWKClient\u003c/code\u003e.\u003c/strong\u003e When verifying with a \u003ccode\u003ePyJWK\u003c/code\u003e, the caller's \u003ccode\u003ealgorithms=[…]\u003c/code\u003e allow-list was checked against the token header \u003ccode\u003ealg\u003c/code\u003e as a string only; actual verification used the algorithm bound to the \u003ccode\u003ePyJWK\u003c/code\u003e. An attacker who controlled a registered JWKS key could sign with one algorithm and advertise another on the header. PyJWT now requires the token header \u003ccode\u003ealg\u003c/code\u003e to match the \u003ccode\u003ePyJWK\u003c/code\u003e's algorithm before verification. \u003cem\u003eReported by \u003ca href=\"https://github.com/sushi-gif\"\u003e\u003ccode\u003e@​sushi-gif\u003c/code\u003e\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/security/advisories/GHSA-w7vc-732c-9m39\"\u003e\u003ccode\u003eGHSA-w7vc-732c-9m39\u003c/code\u003e\u003c/a\u003e — DoS via base64 decode of unused payload segment when \u003ccode\u003eb64=false\u003c/code\u003e.\u003c/strong\u003e For detached-payload JWS (\u003ccode\u003eb64=false\u003c/code\u003e), the compact-form payload segment was base64-decoded before being discarded in favor of the caller-supplied \u003ccode\u003edetached_payload\u003c/code\u003e. An attacker could inflate the unused segment to force CPU + memory cost without holding a valid signature. The segment is now required to be empty per RFC 7515 Appendix F, and is no longer decoded. \u003cem\u003eReported by \u003ca href=\"https://github.com/thesmartshadow\"\u003e\u003ccode\u003e@​thesmartshadow\u003c/code\u003e\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/security/advisories/GHSA-993g-76c3-p5m4\"\u003e\u003ccode\u003eGHSA-993g-76c3-p5m4\u003c/code\u003e\u003c/a\u003e — \u003ccode\u003ePyJWKClient\u003c/code\u003e accepts non-HTTP(S) URIs.\u003c/strong\u003e \u003ccode\u003ePyJWKClient.fetch_data\u003c/code\u003e passed its URI to \u003ccode\u003eurllib.request.urlopen\u003c/code\u003e, which by default also handles \u003ccode\u003efile://\u003c/code\u003e, \u003ccode\u003eftp://\u003c/code\u003e, and \u003ccode\u003edata:\u003c/code\u003e schemes. An application that fed an attacker-influenced URI into \u003ccode\u003ePyJWKClient\u003c/code\u003e could be coerced into reading local files or reaching other unintended schemes. \u003ccode\u003ePyJWKClient\u003c/code\u003e now rejects any URI whose scheme isn't \u003ccode\u003ehttp\u003c/code\u003e or \u003ccode\u003ehttps\u003c/code\u003e. \u003cem\u003eReported by \u003ca href=\"https://github.com/KEIJOT\"\u003e\u003ccode\u003e@​KEIJOT\u003c/code\u003e\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/security/advisories/GHSA-fhv5-28vv-h8m8\"\u003e\u003ccode\u003eGHSA-fhv5-28vv-h8m8\u003c/code\u003e\u003c/a\u003e — \u003ccode\u003ePyJWKClient\u003c/code\u003e cache wiped on fetch error.\u003c/strong\u003e A \u003ccode\u003efinally\u003c/code\u003e-block \u003ccode\u003eput(jwk_set=None)\u003c/code\u003e cleared the JWK Set cache whenever a fetch raised, turning a transient JWKS-endpoint outage into application-wide auth failure. The cache write was moved into the success path; transient errors no longer evict valid cached keys. \u003cem\u003eReported by \u003ca href=\"https://github.com/eddieran\"\u003e\u003ccode\u003e@​eddieran\u003c/code\u003e\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReject empty HMAC keys outright in \u003ccode\u003eHMACAlgorithm.prepare_key\u003c/code\u003e with \u003ccode\u003eInvalidKeyError\u003c/code\u003e instead of accepting them with only a warning. Defends against the \u003ccode\u003eos.getenv(\u0026quot;JWT_SECRET\u0026quot;, \u0026quot;\u0026quot;)\u003c/code\u003e footgun. \u003cem\u003eThanks to \u003ca href=\"https://github.com/SnailSploit\"\u003e\u003ccode\u003e@​SnailSploit\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/spartan8806\"\u003e\u003ccode\u003e@​spartan8806\u003c/code\u003e\u003c/a\u003e for the reports.\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003eForward per-call \u003ccode\u003eoptions\u003c/code\u003e (including \u003ccode\u003eenforce_minimum_key_length\u003c/code\u003e) from \u003ccode\u003ePyJWT.decode\u003c/code\u003e through to \u003ccode\u003ePyJWS._verify_signature\u003c/code\u003e. The option was previously silently dropped between the two layers, so it only took effect when set on the \u003ccode\u003ePyJWT\u003c/code\u003e instance. \u003cem\u003eThanks to \u003ca href=\"https://github.com/WLUB\"\u003e\u003ccode\u003e@​WLUB\u003c/code\u003e\u003c/a\u003e for the report.\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRFC 7797 §3 compliance for \u003ccode\u003eb64=false\u003c/code\u003e:\u003c/strong\u003e the encoder now auto-adds \u003ccode\u003e\u0026quot;b64\u0026quot;\u003c/code\u003e to \u003ccode\u003ecrit\u003c/code\u003e, and the decoder rejects tokens that set \u003ccode\u003eb64=false\u003c/code\u003e without listing it in \u003ccode\u003ecrit\u003c/code\u003e. \u003cem\u003eThanks to \u003ca href=\"https://github.com/MachineLearning-Nerd\"\u003e\u003ccode\u003e@​MachineLearning-Nerd\u003c/code\u003e\u003c/a\u003e for the report.\u003c/em\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrate the \u003ccode\u003edev\u003c/code\u003e, \u003ccode\u003edocs\u003c/code\u003e, and \u003ccode\u003etests\u003c/code\u003e package extras to dependency groups, by \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/pull/1152\"\u003e#1152\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eUpgrade notes\u003c/h2\u003e\n\u003cp\u003eMost fixes are invisible to correctly-configured callers. A few behavioral changes you may encounter:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eEmpty HMAC keys now raise.\u003c/strong\u003e If your app passed \u003ccode\u003e\u0026quot;\u0026quot;\u003c/code\u003e or \u003ccode\u003eb\u0026quot;\u0026quot;\u003c/code\u003e as a secret (often via a missing env var, e.g. \u003ccode\u003eos.getenv(\u0026quot;JWT_SECRET\u0026quot;, \u0026quot;\u0026quot;)\u003c/code\u003e), \u003ccode\u003eencode\u003c/code\u003e/\u003ccode\u003edecode\u003c/code\u003e will now raise \u003ccode\u003eInvalidKeyError\u003c/code\u003e. This is the intended behavior — fix the configuration.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ePyJWK\u003c/code\u003e decoding now requires the token's \u003ccode\u003ealg\u003c/code\u003e to match the JWK's algorithm.\u003c/strong\u003e Previously a mismatch was silently honored if the header \u003ccode\u003ealg\u003c/code\u003e appeared in the allow-list. Tokens that relied on this mismatch will now fail with \u003ccode\u003eInvalidAlgorithmError\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ePyJWKClient\u003c/code\u003e now rejects non-HTTP(S) URIs at construction time.\u003c/strong\u003e Tests or dev environments that fetched JWKS from \u003ccode\u003efile://\u003c/code\u003e URIs need to switch to a local HTTP server or load the JWKS by other means (e.g. construct \u003ccode\u003ePyJWKSet.from_dict(...)\u003c/code\u003e directly).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eb64=false\u003c/code\u003e tokens are now strictly RFC 7515 / 7797 compliant.\u003c/strong\u003e Tokens with a non-empty compact-form payload segment, or that omit \u003ccode\u003e\u0026quot;b64\u0026quot;\u003c/code\u003e from \u003ccode\u003ecrit\u003c/code\u003e, will be rejected. PyJWT-produced tokens always satisfy both invariants, so round-trips through PyJWT are unaffected.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eenforce_minimum_key_length\u003c/code\u003e set per-call now takes effect.\u003c/strong\u003e Callers who passed \u003ccode\u003eoptions={\u0026quot;enforce_minimum_key_length\u0026quot;: True}\u003c/code\u003e to \u003ccode\u003ejwt.decode()\u003c/code\u003e previously got no enforcement; they will now get \u003ccode\u003eInvalidKeyError\u003c/code\u003e on undersized keys, as documented.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/jpadilla/pyjwt/compare/2.12.1...2.13.0\"\u003ehttps://github.com/jpadilla/pyjwt/compare/2.12.1...2.13.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/jpadilla/pyjwt/blob/master/CHANGELOG.rst\"\u003epyjwt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003ev2.13.0 \u0026lt;https://github.com/jpadilla/pyjwt/compare/2.12.1...2.13.0\u0026gt;\u003c/code\u003e__\u003c/h2\u003e\n\u003cp\u003eSecurity\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- Reject JWK JSON documents passed as raw HMAC secrets in\n  ``HMACAlgorithm.prepare_key`` to close an algorithm-confusion gap that\n  the existing PEM/SSH guard did not cover. Reported by @aradona91 in\n  `GHSA-xgmm-8j9v-c9wx \u0026lt;https://github.com/jpadilla/pyjwt/security/advisories/GHSA-xgmm-8j9v-c9wx\u0026gt;`__.\n- Bind the JWT header ``alg`` to ``PyJWK.algorithm_name`` during\n  verification so the caller's ``algorithms=[...]`` allow-list cannot be\n  bypassed when decoding with a ``PyJWK`` / ``PyJWKClient`` key. Reported\n  by @sushi-gif in `GHSA-jq35-7prp-9v3f \u0026lt;https://github.com/jpadilla/pyjwt/security/advisories/GHSA-jq35-7prp-9v3f\u0026gt;`__.\n- Reject non-``http(s)`` URI schemes in ``PyJWKClient`` so attacker-\n  influenced URIs cannot read local files or reach unintended schemes via\n  urllib's default ``file://`` / ``ftp://`` / ``data:`` handlers. Reported\n  by @KEIJOT in `GHSA-993g-76c3-p5m4 \u0026lt;https://github.com/jpadilla/pyjwt/security/advisories/GHSA-993g-76c3-p5m4\u0026gt;`__.\n- Preserve the cached JWK Set on fetch errors in ``PyJWKClient.fetch_data``.\n  The previous ``finally``-block ``put(None)`` pattern cleared the cache\n  on any transient outage, turning one bad JWKS request into application-\n  wide auth failure. Reported by @eddieran in `GHSA-fhv5-28vv-h8m8 \u0026lt;https://github.com/jpadilla/pyjwt/security/advisories/GHSA-fhv5-28vv-h8m8\u0026gt;`__.\n- Skip the unconditional base64 decode of the compact-form payload segment\n  when ``b64=false`` is set in the protected header, and require that\n  segment to be empty (RFC 7515 Appendix F detached form). Closes an\n  unauthenticated DoS amplifier. Reported by @thesmartshadow in\n  `GHSA-w7vc-732c-9m39 \u0026lt;https://github.com/jpadilla/pyjwt/security/advisories/GHSA-w7vc-732c-9m39\u0026gt;`__.\n\u003cp\u003eFixed\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n- Reject empty HMAC keys outright in ``HMACAlgorithm.prepare_key`` with\n  ``InvalidKeyError`` instead of accepting them with only a warning.\n  Thanks to @SnailSploit and @spartan8806 for independently flagging the\n  footgun.\n- Forward per-call ``options`` (including ``enforce_minimum_key_length``)\n  from ``PyJWT.decode`` through to ``PyJWS._verify_signature`` so the\n  option actually takes effect when set at the call site rather than only\n  on the ``PyJWT`` instance. Thanks to @WLUB for the report.\n- RFC 7797 §3 compliance for ``b64=false``: the encoder now auto-adds\n  ``\u0026amp;quot;b64\u0026amp;quot;`` to the ``crit`` header parameter, and the decoder rejects\n  tokens that set ``b64=false`` without listing it in ``crit``. Thanks to\n  @MachineLearning-Nerd for the report.\n\nChanged\n\u003c/code\u003e\u003c/pre\u003e\n\u003cul\u003e\n\u003cli\u003eMigrate the \u003ccode\u003edev\u003c/code\u003e, \u003ccode\u003edocs\u003c/code\u003e, and \u003ccode\u003etests\u003c/code\u003e package extras to dependency groups by \u003ca href=\"https://github.com/kurtmckee\"\u003e\u003ccode\u003e@​kurtmckee\u003c/code\u003e\u003c/a\u003e in \u003ccode\u003e[#1152](https://github.com/jpadilla/pyjwt/issues/1152) \u0026amp;lt;https://github.com/jpadilla/pyjwt/pull/1152\u0026amp;gt;\u003c/code\u003e__\n\u003c/code\u003e\u003c/pre\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/commit/7144e4534c34810f4525dc4578a32addd8212cff\"\u003e\u003ccode\u003e7144e45\u003c/code\u003e\u003c/a\u003e Apply ruff format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/commit/d2f4bec4963897c0ef96ef64a875894f2c8542ab\"\u003e\u003ccode\u003ed2f4bec\u003c/code\u003e\u003c/a\u003e Restore \u003ccode\u003ecast()\u003c/code\u003e calls with cross-version \u003ccode\u003etype: ignore\u003c/code\u003e for \u003ccode\u003eprepare_key\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/commit/22f478cebddd8294259c30f037ecb92b0b348774\"\u003e\u003ccode\u003e22f478c\u003c/code\u003e\u003c/a\u003e Remove redundant casts in \u003ccode\u003eRSAAlgorithm.prepare_key\u003c/code\u003e and `ECAlgorithm.prepare...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/commit/95791b1759b8aa4f2203575d344d5c78564cdc81\"\u003e\u003ccode\u003e95791b1\u003c/code\u003e\u003c/a\u003e Bundle security fixes and hardening into 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/commit/dcc27a9d3182a2349c30b160758785c6ce7a6508\"\u003e\u003ccode\u003edcc27a9\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/issues/1155\"\u003e#1155\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/commit/9d08a9a1896845ed8eaf88e6f6ac61e5800c3e7a\"\u003e\u003ccode\u003e9d08a9a\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/issues/1146\"\u003e#1146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/commit/b87c10014d4109f0214fea188d00faaaf8a80e64\"\u003e\u003ccode\u003eb87c100\u003c/code\u003e\u003c/a\u003e Bump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/issues/1154\"\u003e#1154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jpadilla/pyjwt/commit/40e3147eb5f790d8d041772e5fc00728a176c812\"\u003e\u003ccode\u003e40e3147\u003c/code\u003e\u003c/a\u003e Migrate development extras to dependency groups (\u003ca href=\"https://redirect.github.com/jpadilla/pyjwt/issues/1152\"\u003e#1152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jpadilla/pyjwt/compare/2.12.1...2.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.13.3 to 2.13.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.4 2026-05-06\u003c/h2\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13129\"\u003e#13129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.4\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13129\"\u003e#13129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/cf67d4b3193c3fe43ede18612ed62785eee11382\"\u003e\u003ccode\u003ecf67d4b\u003c/code\u003e\u003c/a\u003e Fix linting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f0d8a214a5803036db46a56b1f62f1e56b81d662\"\u003e\u003ccode\u003ef0d8a21\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/5e3fe1d41a00f441204241c66078003ae0391f9a\"\u003e\u003ccode\u003e5e3fe1d\u003c/code\u003e\u003c/a\u003e Check for pydantic tag pattern in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7f9edcc2a191d2eaa9751220eb910914e716a686\"\u003e\u003ccode\u003e7f9edcc\u003c/code\u003e\u003c/a\u003e Document tagging conventions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b46a0c9b8a4dd967fda8ec1a92f6437076bf262c\"\u003e\u003ccode\u003eb46a0c9\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/50629c851e61d887d5420452c311ec6203f1f400\"\u003e\u003ccode\u003e50629c8\u003c/code\u003e\u003c/a\u003e Update to PyPy 7.3.22\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8522ebb71e5e9a6f7188af5f009f01785b8cf725\"\u003e\u003ccode\u003e8522ebb\u003c/code\u003e\u003c/a\u003e Preserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a37f3aff090ca342dc5f48304889963530b993f8\"\u003e\u003ccode\u003ea37f3af\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003eMISSING\u003c/code\u003e sentinel test to work with unreleased \u003ccode\u003etyping_extensions\u003c/code\u003e ver...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/909259a9df660518033aa686b689f045a6eaf9d2\"\u003e\u003ccode\u003e909259a\u003c/code\u003e\u003c/a\u003e Remove Logfire example in documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/2c4174c366606fc2dc46cb806833a080aefa77df\"\u003e\u003ccode\u003e2c4174c\u003c/code\u003e\u003c/a\u003e Bump libc from 0.2.155 to 0.2.185\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic-settings` from 2.14.0 to 2.14.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic-settings/releases\"\u003epydantic-settings's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.14.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump the python-packages group with 4 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/850\"\u003epydantic/pydantic-settings#850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the python-packages 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/pydantic/pydantic-settings/pull/854\"\u003epydantic/pydantic-settings#854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/853\"\u003epydantic/pydantic-settings#853\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the python-packages group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/856\"\u003epydantic/pydantic-settings#856\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix field named \u003ccode\u003ecls\u003c/code\u003e conflicting with classmethod parameter by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/858\"\u003epydantic/pydantic-settings#858\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release 2.14.1 by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/859\"\u003epydantic/pydantic-settings#859\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.14.0...v2.14.1\"\u003ehttps://github.com/pydantic/pydantic-settings/compare/v2.14.0...v2.14.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/e95c30bec8cfaee88ee275138c064aea97a25bdf\"\u003e\u003ccode\u003ee95c30b\u003c/code\u003e\u003c/a\u003e Prepare release 2.14.1 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/859\"\u003e#859\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/0c8734581b6cf70a995afad603ac456631d00621\"\u003e\u003ccode\u003e0c87345\u003c/code\u003e\u003c/a\u003e Fix field named \u003ccode\u003ecls\u003c/code\u003e conflicting with classmethod parameter (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/858\"\u003e#858\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/7bd0072795a800065b42210b6dca90fc9b83daf7\"\u003e\u003ccode\u003e7bd0072\u003c/code\u003e\u003c/a\u003e Bump the python-packages group with 2 updates (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/856\"\u003e#856\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/b03e573d017ed48e1c2774a5e0b715db9766c76b\"\u003e\u003ccode\u003eb03e573\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 3 updates (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/853\"\u003e#853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/eaa3b434938411ec8a3717ea646614561e713f51\"\u003e\u003ccode\u003eeaa3b43\u003c/code\u003e\u003c/a\u003e Bump the python-packages group with 5 updates (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/854\"\u003e#854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/9f95615c24c6813c1d7d203576581a79cb6d9e8e\"\u003e\u003ccode\u003e9f95615\u003c/code\u003e\u003c/a\u003e Bump the python-packages group with 4 updates (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/850\"\u003e#850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.14.0...v2.14.1\"\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.2 to 3.0.3\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.3\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 3.0.3.\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/whatsnew/v3.0.3.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/72f2fea91530b5abb3cf2100cb22d84e504695c0\"\u003e\u003ccode\u003e72f2fea\u003c/code\u003e\u003c/a\u003e RLS: 3.0.3 (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65590\"\u003e#65590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/2897590094c2b6e3962d01a82665936f30be563d\"\u003e\u003ccode\u003e2897590\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65436\"\u003e#65436\u003c/a\u003e on branch 3.0.x (Account for privatization of matplotlib `...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/49894b5b6037c50f6444504070d9b1e8e514001a\"\u003e\u003ccode\u003e49894b5\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65499\"\u003e#65499\u003c/a\u003e on branch 3.0.x (BUG: fix check if pyarrow is installed in...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/1c6d1e30cc4b80bedb769a8b3731b0788f69c9dc\"\u003e\u003ccode\u003e1c6d1e3\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] PERF: remove special casing for zoneinfo in tz_localize_to_u...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/2a547116afc46d88d4e6584670fd793949222a1e\"\u003e\u003ccode\u003e2a54711\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64379\"\u003e#64379\u003c/a\u003e on branch 3.0.x (PERF: improve performance with ZoneInfo t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/036bb7c0e7160b9d5a7f6bd26a9fc00921fa6977\"\u003e\u003ccode\u003e036bb7c\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65482\"\u003e#65482\u003c/a\u003e on branch 3.0.x (PERF: don't call unique on dtypes for che...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/bf4c182b09251f5b469e8e246ae3ea3e1ae07164\"\u003e\u003ccode\u003ebf4c182\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65410\"\u003e#65410\u003c/a\u003e on branch 3.0.x (TST: also convert str index to object in ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/dd02d75ce219135f9f3f65c13644d4be35585d42\"\u003e\u003ccode\u003edd02d75\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: keep fsspec OpenFile alive for chained URL reads (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/6547\"\u003e#6547\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/aef3d0f6698667262c6d6ffc69180b280b0fa86a\"\u003e\u003ccode\u003eaef3d0f\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] CI: lowercase types-pymysql/types-pyyaml to fix mamba 2.6.0 ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/bb8e24876273a14322047f4b89e648f6a4abebae\"\u003e\u003ccode\u003ebb8e248\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65399\"\u003e#65399\u003c/a\u003e on branch 3.0.x (DOC: fix source link for classes in the r...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandas-dev/pandas/compare/v3.0.2...v3.0.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.150.0 to 1.153.1\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.153.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.153.0...v1.153.1\"\u003e1.153.1\u003c/a\u003e (2026-05-15)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove google-genai version contraints (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/cf4f183c085421e255267787214018de209430d1\"\u003ecf4f183\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove SDK workaround for async_retrieve_contexts. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/5aabd30b88de06f1c4d73cfd3e6d02bf4f73c943\"\u003e5aabd30\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRelax google-genai dep to \u0026gt;= 2.0 (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/6a17fdc1ed5b95839836ba0f9a29782b5af6b279\"\u003e6a17fdc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRelease 1.153.1 (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/addbff629c38c172267aa5caa3f4a79c8c444837\"\u003eaddbff6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.153.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.152.0...v1.153.0\"\u003e1.153.0\u003c/a\u003e (2026-05-14)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eGenAI Client(evals) - Add red_teaming_config support for create_evaluation_run (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/657f379dc516a1db75eca1686731b7a4944a3b41\"\u003e657f379\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrate Agent Engines, Evaluation, Prompt Management, and Skill features to agentplatform (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/74ec5e1e8234713d16024c9bea06778366c4dd64\"\u003e74ec5e1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInject agents map from agent_info into agent_data for create_evaluation_run (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/a4ffb673911fb4e0e25174c1b92054eb4a443d34\"\u003ea4ffb67\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Skill Registry Python SDK section in README (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/9f8e24c04f577bba7bb17a730a2264a94502cf4c\"\u003e9f8e24c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.152.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-aiplatform/compare/v1.151.0...v1.152.0\"\u003e1.152.0\u003c/a\u003e (2026-05-11)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd GetSkillRevision and ListSkillRevisions methods in Vertex AI Skill Registry SDK (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/e4fdb7a5d9129cb46aa060f4c69f276b14b6864a\"\u003ee4fdb7a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd ListSkills and DeleteSkill methods in Vertex AI Skill Registry SDK (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/8578bfd09b78990051b2839e8b0cf1f9e0cca4ef\"\u003e8578bfd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd mTLS support for telemetry endpoint in adk.py. (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/7b0c9956c9f73e76a2ca3a2c8ad00f79d06f1e13\"\u003e7b0c995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Update Skill method for Vertex AI Skill Registry SDK (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/48f792b07cda215cc62d16fac0df84eb3f60cba5\"\u003e48f792b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenAI Client(evals) - Add allow_cross_region_model support for create_evaluation_run (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/3ce4b0264174463372b7e980c71231b651b7d411\"\u003e3ce4b02\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix name collision on SandboxEnvironment.state by renaming enum to SandboxState (\u003ca href=\"https://github.com/googleapis/python-aiplatform/commit/1f9c8e014b46a77ce64843434b1cad253bc4ce05\"\u003e1f9c8e0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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.153.0...v1.153.1\"\u003e1.153.1\u003c/a\u003e (2...\n\n_Description has been truncated_","html_url":"https://github.com/Ibrahim-newaeon/Stratum-AI-Final-Updates-Dec-2025/pull/290","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ibrahim-newaeon%2FStratum-AI-Final-Updates-Dec-2025/issues/290","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/290/packages"}},{"old_version":"0.4.1","new_version":"0.4.2","update_type":"patch","path":null,"pr_created_at":"2026-05-11T23:40:35.000Z","version_change":"0.4.1 → 0.4.2","issue":{"uuid":"4425074366","node_id":"PR_kwDOIxtRbM7adwvJ","number":2173,"state":"closed","title":"deps: bump the production-dependencies group across 1 directory with 34 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-19T03:12:03.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-11T23:40:35.000Z","updated_at":"2026-05-19T03:12:05.000Z","time_to_close":617488,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps: bump","group_name":"production-dependencies","update_count":34,"packages":[{"name":"schema","old_version":"0.7.7","new_version":"0.7.8","repository_url":"https://github.com/keleshev/schema"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"tenacity","old_version":"9.1.2","new_version":"9.1.4","repository_url":"https://github.com/jd/tenacity"},{"name":"numpy","old_version":"2.2.3","new_version":"2.2.6","repository_url":"https://github.com/numpy/numpy"},{"name":"requests","old_version":"2.33.1","new_version":"2.34.0","repository_url":"https://github.com/psf/requests"},{"name":"urllib3","old_version":"2.5.0","new_version":"2.7.0","repository_url":"https://github.com/urllib3/urllib3"},{"name":"pydantic","old_version":"2.11.4","new_version":"2.13.4","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pip","old_version":"26.0","new_version":"26.1.1","repository_url":"https://github.com/pypa/pip"},{"name":"json-schema-to-pydantic","old_version":"0.4.6","new_version":"0.4.11","repository_url":"https://github.com/richard-gyiko/json-schema-to-pydantic"},{"name":"anthropic","old_version":"0.51.0","new_version":"0.101.0","repository_url":"https://github.com/anthropics/anthropic-sdk-python"},{"name":"boto3","old_version":"1.38.18","new_version":"1.43.6","repository_url":"https://github.com/boto/boto3"},{"name":"ollama","old_version":"0.4.8","new_version":"0.6.2","repository_url":"https://github.com/ollama/ollama-python"},{"name":"sqlalchemy","old_version":"2.0.41","new_version":"2.0.49","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"snowflake","old_version":"1.5.0","new_version":"1.12.0"},{"name":"marqo","old_version":"3.13.0","new_version":"3.18.0","repository_url":"https://github.com/marqo-ai/marqo"},{"name":"pymongo","old_version":"4.12.1","new_version":"4.17.0","repository_url":"https://github.com/mongodb/mongo-python-driver"},{"name":"pgvector","old_version":"0.4.1","new_version":"0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"},{"name":"psycopg2-binary","old_version":"2.9.10","new_version":"2.9.12","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"qdrant-client","old_version":"1.14.2","new_version":"1.18.0","repository_url":"https://github.com/qdrant/qdrant-client"},{"name":"astrapy","old_version":"2.0.1","new_version":"2.2.1","repository_url":"https://github.com/datastax/astrapy"},{"name":"voyageai","old_version":"0.3.2","new_version":"0.3.7"},{"name":"playwright","old_version":"1.52.0","new_version":"1.59.0","repository_url":"https://github.com/microsoft/playwright-python"},{"name":"beautifulsoup4","old_version":"4.13.4","new_version":"4.14.3"},{"name":"markdownify","old_version":"1.1.0","new_version":"1.2.2","repository_url":"https://github.com/matthewwithanm/python-markdownify"},{"name":"duckduckgo-search","old_version":"8.0.2","new_version":"8.1.1","repository_url":"https://github.com/deedy5/duckduckgo_search"},{"name":"tavily-python","old_version":"0.7.2","new_version":"0.7.24","repository_url":"https://github.com/tavily-ai/tavily-python"},{"name":"pusher","old_version":"3.3.3","new_version":"3.3.4","repository_url":"https://github.com/pusher/pusher-http-python"},{"name":"opentelemetry-sdk","old_version":"1.33.1","new_version":"1.41.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"pypdf","old_version":"6.10.2","new_version":"6.11.0","repository_url":"https://github.com/py-pdf/pypdf"},{"name":"mail-parser","old_version":"4.1.2","new_version":"4.2.1","repository_url":"https://github.com/SpamScope/mail-parser"}],"path":null,"ecosystem":"pip"},"body":"Bumps the production-dependencies group with 30 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [schema](https://github.com/keleshev/schema) | `0.7.7` | `0.7.8` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [tenacity](https://github.com/jd/tenacity) | `9.1.2` | `9.1.4` |\n| [numpy](https://github.com/numpy/numpy) | `2.2.3` | `2.2.6` |\n| [requests](https://github.com/psf/requests) | `2.33.1` | `2.34.0` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.5.0` | `2.7.0` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.11.4` | `2.13.4` |\n| [pip](https://github.com/pypa/pip) | `26.0` | `26.1.1` |\n| [json-schema-to-pydantic](https://github.com/richard-gyiko/json-schema-to-pydantic) | `0.4.6` | `0.4.11` |\n| [anthropic](https://github.com/anthropics/anthropic-sdk-python) | `0.51.0` | `0.101.0` |\n| [boto3](https://github.com/boto/boto3) | `1.38.18` | `1.43.6` |\n| [ollama](https://github.com/ollama/ollama-python) | `0.4.8` | `0.6.2` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.41` | `2.0.49` |\n| snowflake | `1.5.0` | `1.12.0` |\n| [marqo](https://github.com/marqo-ai/marqo) | `3.13.0` | `3.18.0` |\n| [pymongo](https://github.com/mongodb/mongo-python-driver) | `4.12.1` | `4.17.0` |\n| [pgvector](https://github.com/pgvector/pgvector-python) | `0.4.1` | `0.4.2` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.10` | `2.9.12` |\n| [qdrant-client](https://github.com/qdrant/qdrant-client) | `1.14.2` | `1.18.0` |\n| [astrapy](https://github.com/datastax/astrapy) | `2.0.1` | `2.2.1` |\n| voyageai | `0.3.2` | `0.3.7` |\n| [playwright](https://github.com/microsoft/playwright-python) | `1.52.0` | `1.59.0` |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.13.4` | `4.14.3` |\n| [markdownify](https://github.com/matthewwithanm/python-markdownify) | `1.1.0` | `1.2.2` |\n| [duckduckgo-search](https://github.com/deedy5/duckduckgo_search) | `8.0.2` | `8.1.1` |\n| [tavily-python](https://github.com/tavily-ai/tavily-python) | `0.7.2` | `0.7.24` |\n| [pusher](https://github.com/pusher/pusher-http-python) | `3.3.3` | `3.3.4` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.33.1` | `1.41.1` |\n| [pypdf](https://github.com/py-pdf/pypdf) | `6.10.2` | `6.11.0` |\n| [mail-parser](https://github.com/SpamScope/mail-parser) | `4.1.2` | `4.2.1` |\n\n\nUpdates `schema` from 0.7.7 to 0.7.8\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/keleshev/schema/blob/master/CHANGELOG.md\"\u003eschema's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.7.8 (2025-10-11)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[JSON Schema] Add title for Literal. [Denis Blanchette]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eJSON Schema missing title in subschemas. [Denis Blanchette]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e[JSON Schema] Type \u0026quot;null\u0026quot; should be string. [Denis Blanchette]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRuff format. [Denis Blanchette]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eInclude py.typed module when building package. [Stavros Korokithakis]\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/keleshev/schema/commit/7434a6b3c9cd1672f0d491ed45114054750627af\"\u003e\u003ccode\u003e7434a6b\u003c/code\u003e\u003c/a\u003e build: Release v0.7.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/keleshev/schema/commit/3e06d37994442ef3ae5b9a1f8564d5ad598c9a68\"\u003e\u003ccode\u003e3e06d37\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/keleshev/schema/issues/332\"\u003e#332\u003c/a\u003e from coveord/fix/json-schema-title-in-sub-schemas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/keleshev/schema/commit/481f2ee0b1e3ec394c97a9800a1e6aa48b6d302d\"\u003e\u003ccode\u003e481f2ee\u003c/code\u003e\u003c/a\u003e fix: JSON Schema missing title in subschemas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/keleshev/schema/commit/c3aea90689f7adbc14f6eec8a39bc653d3f7ae41\"\u003e\u003ccode\u003ec3aea90\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/keleshev/schema/issues/331\"\u003e#331\u003c/a\u003e from coveord/fix/type-null\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/keleshev/schema/commit/acbb13fe5fad5e7bfa10c37fee01b55d7c4cbc8d\"\u003e\u003ccode\u003eacbb13f\u003c/code\u003e\u003c/a\u003e fix: [JSON Schema] Type \u0026quot;null\u0026quot; should be string\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/keleshev/schema/commit/abe66fd818fd1c3494ec334e60863fdf6513b895\"\u003e\u003ccode\u003eabe66fd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/keleshev/schema/issues/4\"\u003e#4\u003c/a\u003e from coveord/feat/add-title-for-literal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/keleshev/schema/commit/8f132c42b14f494d2b222597946049f3da1bca98\"\u003e\u003ccode\u003e8f132c4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/keleshev/schema/issues/330\"\u003e#330\u003c/a\u003e from coveord/feat/add-title-for-literal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/keleshev/schema/commit/003595fbdd0b43f32fd47fed21252613971b9f13\"\u003e\u003ccode\u003e003595f\u003c/code\u003e\u003c/a\u003e fix: ruff format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/keleshev/schema/commit/829427375b1d9fa98c03a514c4ff5f2c1be376ce\"\u003e\u003ccode\u003e8294273\u003c/code\u003e\u003c/a\u003e feat: [JSON Schema] Add title for Literal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/keleshev/schema/commit/24a3045773eac497c659f24b32f24a281be9f286\"\u003e\u003ccode\u003e24a3045\u003c/code\u003e\u003c/a\u003e ci: Sort imports\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/keleshev/schema/compare/v0.7.7...v0.7.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyyaml` from 6.0.2 to 6.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/yaml/pyyaml/releases\"\u003epyyaml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.0.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14 and free-threading (experimental).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/yaml/pyyaml/compare/6.0.2...6.0.3\"\u003ehttps://github.com/yaml/pyyaml/compare/6.0.2...6.0.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/yaml/pyyaml/blob/6.0.3/CHANGES\"\u003epyyaml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e6.0.3 (2025-09-25)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/yaml/pyyaml/pull/864\"\u003eyaml/pyyaml#864\u003c/a\u003e -- Support for Python 3.14 and free-threading (experimental)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yaml/pyyaml/commit/49790e73684bebad1df05ef8d828fa12f685bffb\"\u003e\u003ccode\u003e49790e7\u003c/code\u003e\u003c/a\u003e Release 6.0.3 (\u003ca href=\"https://redirect.github.com/yaml/pyyaml/issues/889\"\u003e#889\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/yaml/pyyaml/compare/6.0.2...6.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tenacity` from 9.1.2 to 9.1.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jd/tenacity/releases\"\u003etenacity's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.1.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eretry()\u003c/code\u003e annotations with async \u003ccode\u003esleep=\u003c/code\u003e function by \u003ca href=\"https://github.com/Zac-HD\"\u003e\u003ccode\u003e@​Zac-HD\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/555\"\u003ejd/tenacity#555\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jd/tenacity/compare/9.1.3...9.1.4\"\u003ehttps://github.com/jd/tenacity/compare/9.1.3...9.1.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e9.1.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eApply formatting to num seconds in before_sleep_log by \u003ca href=\"https://github.com/aguinane\"\u003e\u003ccode\u003e@​aguinane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/489\"\u003ejd/tenacity#489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport Python 3.14 by \u003ca href=\"https://github.com/sandrobonazzola\"\u003e\u003ccode\u003e@​sandrobonazzola\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/528\"\u003ejd/tenacity#528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTyping: Accept non-standard logger in helpers logging something by \u003ca href=\"https://github.com/k4nar\"\u003e\u003ccode\u003e@​k4nar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/540\"\u003ejd/tenacity#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(wait): add \u003ccode\u003ewait_exception\u003c/code\u003e strategy by \u003ca href=\"https://github.com/capitan-davide\"\u003e\u003ccode\u003e@​capitan-davide\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/541\"\u003ejd/tenacity#541\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix syntax error in wait_chain docstring example by \u003ca href=\"https://github.com/VedantMadane\"\u003e\u003ccode\u003e@​VedantMadane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/548\"\u003ejd/tenacity#548\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: drop Python 3.9 support (EOL) by \u003ca href=\"https://github.com/Zac-HD\"\u003e\u003ccode\u003e@​Zac-HD\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/552\"\u003ejd/tenacity#552\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport async sleep for sync fn-to-retry by \u003ca href=\"https://github.com/Zac-HD\"\u003e\u003ccode\u003e@​Zac-HD\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/551\"\u003ejd/tenacity#551\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aguinane\"\u003e\u003ccode\u003e@​aguinane\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/489\"\u003ejd/tenacity#489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sandrobonazzola\"\u003e\u003ccode\u003e@​sandrobonazzola\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/528\"\u003ejd/tenacity#528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/k4nar\"\u003e\u003ccode\u003e@​k4nar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/540\"\u003ejd/tenacity#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capitan-davide\"\u003e\u003ccode\u003e@​capitan-davide\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/541\"\u003ejd/tenacity#541\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/VedantMadane\"\u003e\u003ccode\u003e@​VedantMadane\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/548\"\u003ejd/tenacity#548\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Zac-HD\"\u003e\u003ccode\u003e@​Zac-HD\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jd/tenacity/pull/552\"\u003ejd/tenacity#552\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jd/tenacity/compare/9.1.2...9.1.3\"\u003ehttps://github.com/jd/tenacity/compare/9.1.2...9.1.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/d4e868d6b8368c00b5a1fad54de36c2c8c3a0fb3\"\u003e\u003ccode\u003ed4e868d\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eretry()\u003c/code\u003e annotations with async \u003ccode\u003esleep=\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/555\"\u003e#555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/24415ebbca6ecafdf870af06441656dd96149d1d\"\u003e\u003ccode\u003e24415eb\u003c/code\u003e\u003c/a\u003e support async sleep for sync fn (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/551\"\u003e#551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/3bf33b44096077a0608855f6a380fd8a25fa6f26\"\u003e\u003ccode\u003e3bf33b4\u003c/code\u003e\u003c/a\u003e chore: drop Python 3.9 support (EOL) (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/552\"\u003e#552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/7027da31d27155c7b1831e292a29575af7b5c2b1\"\u003e\u003ccode\u003e7027da3\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/550\"\u003e#550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/21ae7d0cc27069defd111e8ec81407f6d14089f6\"\u003e\u003ccode\u003e21ae7d0\u003c/code\u003e\u003c/a\u003e docs: fix syntax error in wait_chain docstring example (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/548\"\u003e#548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/ef12c9ed1df4dec3748b1fa9304527245b041d2d\"\u003e\u003ccode\u003eef12c9e\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/checkout in the github-actions group (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/547\"\u003e#547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/c35a4b341ef5e553c670290fbd8835b59d5f08a3\"\u003e\u003ccode\u003ec35a4b3\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/545\"\u003e#545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/e792bbaf0cab3685c8000899cb9f61e04d6f3e23\"\u003e\u003ccode\u003ee792bba\u003c/code\u003e\u003c/a\u003e ci: fix mypy (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/546\"\u003e#546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/0f55245b8da5c4cc8385c2f692164a6ff52cd88e\"\u003e\u003ccode\u003e0f55245\u003c/code\u003e\u003c/a\u003e ci: remove reno requirements (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/542\"\u003e#542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jd/tenacity/commit/815c34fec2c8d64fe2bc8a6bdd79bfb41f1938c6\"\u003e\u003ccode\u003e815c34f\u003c/code\u003e\u003c/a\u003e feat(wait): add \u003ccode\u003ewait_exception\u003c/code\u003e strategy (\u003ca href=\"https://redirect.github.com/jd/tenacity/issues/541\"\u003e#541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jd/tenacity/compare/9.1.2...9.1.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.2.3 to 2.2.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.2.6 (May 17, 2025)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.2.6 Release Notes\u003c/h1\u003e\n\u003cp\u003eNumPy 2.2.6 is a patch release that fixes bugs found after the 2.2.5\nrelease. It is a mix of typing fixes/improvements as well as the normal\nbug fixes and some CI maintenance.\u003c/p\u003e\n\u003cp\u003eThis release supports Python versions 3.10-3.13.\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eA total of 8 people contributed to this release. People with a \u0026quot;+\u0026quot; by\ntheir names contributed a patch for the first time.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eIlhan Polat\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eMarco Gorelli +\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003ePeter Hawkins\u003c/li\u003e\n\u003cli\u003eSayed Adel\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 11 pull requests were merged for this release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/28778\"\u003e#28778\u003c/a\u003e: MAINT: Prepare 2.2.x for further development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/28851\"\u003e#28851\u003c/a\u003e: BLD: Update vendor-meson to fix module_feature conflicts arguments...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/28852\"\u003e#28852\u003c/a\u003e: BUG: fix heap buffer overflow in np.strings.find\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/28853\"\u003e#28853\u003c/a\u003e: TYP: fix \u003ccode\u003eNDArray[floating] + float\u003c/code\u003e return type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/28864\"\u003e#28864\u003c/a\u003e: BUG: fix stringdtype singleton thread safety\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/28865\"\u003e#28865\u003c/a\u003e: MAINT: use OpenBLAS 0.3.29\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/28889\"\u003e#28889\u003c/a\u003e: MAINT: from_dlpack thread safety fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/28913\"\u003e#28913\u003c/a\u003e: TYP: Fix non-existent \u003ccode\u003eCanIndex\u003c/code\u003e annotation in \u003ccode\u003endarray.setfield\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/28915\"\u003e#28915\u003c/a\u003e: MAINT: Avoid dereferencing/strict aliasing warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/28916\"\u003e#28916\u003c/a\u003e: BUG: Fix missing check for PyErr_Occurred() in _pyarray_correlate.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/28966\"\u003e#28966\u003c/a\u003e: TYP: reject complex scalar types in ndarray.__ifloordiv__\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChecksums\u003c/h2\u003e\n\u003ch3\u003eMD5\u003c/h3\u003e\n\u003cpre\u003e\u003ccode\u003e259343f056061f6eadb2f4b8999d06d4  numpy-2.2.6-cp310-cp310-macosx_10_9_x86_64.whl\r\n16fa85488e149489ce7ee044d7b0d307  numpy-2.2.6-cp310-cp310-macosx_11_0_arm64.whl\r\nf01b7aea9d2b76b1eeb49766e615d689  numpy-2.2.6-cp310-cp310-macosx_14_0_arm64.whl\r\nf2ddc2b22517f6e31caa1372b12c2499  numpy-2.2.6-cp310-cp310-macosx_14_0_x86_64.whl\r\n52190e22869884f0870eb3df7a283ca9  numpy-2.2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl\r\n8f382b9ca6770db600edd5ea2447a925  numpy-2.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl\r\ne604aae2ef6e01fb92ecc39aca0424d9  numpy-2.2.6-cp310-cp310-musllinux_1_2_aarch64.whl\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/2b686f659642080e2fc708719385de6e8be0955f\"\u003e\u003ccode\u003e2b686f6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/28980\"\u003e#28980\u003c/a\u003e from charris/prepare-2.2.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/ed418286bf91434d6f8af7133645de7b4ea3f807\"\u003e\u003ccode\u003eed41828\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.2.6 release [wheel build]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/83e4e7f87101e1bdc5976b686d89331e28fc77e9\"\u003e\u003ccode\u003e83e4e7f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/28966\"\u003e#28966\u003c/a\u003e from charris/backport-28958\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/248f0cba3bd4081bde896009b1f10e975a608eaa\"\u003e\u003ccode\u003e248f0cb\u003c/code\u003e\u003c/a\u003e TYP: add rejection-tests for complex \u003ccode\u003endarray\u003c/code\u003e floordiv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/5bad9dabb3b875922ffe74e6909986cf89a46a7c\"\u003e\u003ccode\u003e5bad9da\u003c/code\u003e\u003c/a\u003e TYP: reject complex scalar types in \u003ccode\u003endarray.__ifloordiv__\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/6c4277507121547f4b3f704797c7aecdae8c2273\"\u003e\u003ccode\u003e6c42775\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/28915\"\u003e#28915\u003c/a\u003e from charris/backport-28892\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/4277e7cb1e9fe48c43b47adde6d2d5268b584584\"\u003e\u003ccode\u003e4277e7c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/28916\"\u003e#28916\u003c/a\u003e from charris/backport-28898\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/bd1c863f4a17ef29a2b16f64af0b9eb4c4d2edde\"\u003e\u003ccode\u003ebd1c863\u003c/code\u003e\u003c/a\u003e BUG: Fix missing check for PyErr_Occurred() in _pyarray_correlate. (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/28898\"\u003e#28898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/87d1d8a0dc43b240a2c5607b524940114f660b6f\"\u003e\u003ccode\u003e87d1d8a\u003c/code\u003e\u003c/a\u003e MAINT: Avoid dereferencing/strict aliasing warnings during complex casts in `...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/9e506595b1b49bdc1459937d95903f56e0514fe7\"\u003e\u003ccode\u003e9e50659\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/28913\"\u003e#28913\u003c/a\u003e from charris/backport-28908\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.2.3...v2.2.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` from 2.33.1 to 2.34.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.34.0\u003c/h2\u003e\n\u003ch2\u003e2.34.0 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRequests 2.34.0 introduces inline types, replacing those provided by\ntypeshed. Public API types should be fully compatible with mypy, pyright,\nand ty. \u003cstrong\u003eWe believe types are comprehensive but if you find issues, please\nreport them to the \u003ca href=\"https://redirect.github.com/psf/requests/issues/7271\"\u003epinned tracking issue\u003c/a\u003e.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eSpecial thanks to \u003ca href=\"https://github.com/bastimeyer\"\u003e\u003ccode\u003e@​bastimeyer\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/edgarrmondragon\"\u003e\u003ccode\u003e@​edgarrmondragon\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/srittau\"\u003e\u003ccode\u003e@​srittau\u003c/code\u003e\u003c/a\u003e for\nhelping review and test the types ahead of the release. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7272\"\u003e#7272\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDigest Auth hashing algorithms have added \u003ccode\u003eusedforsecurity=False\u003c/code\u003e to clarify\nsecurity considerations. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7310\"\u003e#7310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequests added support for Python 3.15 based on beta1. Downstream projects\nshould be able to start testing prior to its release in October. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7422\"\u003e#7422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequests added support for Python 3.14t. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7419\"\u003e#7419\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\u003e\u003ccode\u003eResponse.history\u003c/code\u003e no longer contains a reference to itself, preventing\naccidental looping when traversing the history list. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7328\"\u003e#7328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequests no longer performs greedy matching on no_proxy domains. The\nproxy_bypass implementation has been updated with CPython's fix from\nbpo-39057. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7427\"\u003e#7427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequests no longer incorrectly strips duplicate leading slashes in\nURI paths. This should address user issues with specific presigned\nURLs. Note the full fix requires urllib3 2.7.0+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7315\"\u003e#7315\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/cjriches\"\u003e\u003ccode\u003e@​cjriches\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7365\"\u003epsf/requests#7365\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dsanader\"\u003e\u003ccode\u003e@​dsanader\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7376\"\u003epsf/requests#7376\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DimitriPapadopoulos\"\u003e\u003ccode\u003e@​DimitriPapadopoulos\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7393\"\u003epsf/requests#7393\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/joshua-51\"\u003e\u003ccode\u003e@​joshua-51\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7416\"\u003epsf/requests#7416\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eggsort\"\u003e\u003ccode\u003e@​eggsort\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7421\"\u003epsf/requests#7421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typhon8\"\u003e\u003ccode\u003e@​typhon8\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7315\"\u003epsf/requests#7315\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bastimeyer\"\u003e\u003ccode\u003e@​bastimeyer\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/psf/requests/pull/7425\"\u003epsf/requests#7425\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#2340-2026-05-11\"\u003ehttps://github.com/psf/requests/blob/main/HISTORY.md#2340-2026-05-11\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.34.0 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAnnouncements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRequests 2.34.0 introduces inline types, replacing those provided by\ntypeshed. Public API types should be fully compatible with mypy, pyright,\nand ty. We believe types are comprehensive but if you find issues, please\nreport them to the pinned tracking issue.\u003c/p\u003e\n\u003cp\u003eSpecial thanks to \u003ca href=\"https://github.com/bastimeyer\"\u003e\u003ccode\u003e@​bastimeyer\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/cthoyt\"\u003e\u003ccode\u003e@​cthoyt\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/edgarrmondragon\"\u003e\u003ccode\u003e@​edgarrmondragon\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/srittau\"\u003e\u003ccode\u003e@​srittau\u003c/code\u003e\u003c/a\u003e for\nhelping review and test the types ahead of the release. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7272\"\u003e#7272\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDigest Auth hashing algorithms have added \u003ccode\u003eusedforsecurity=False\u003c/code\u003e to clarify\nsecurity considerations. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7310\"\u003e#7310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequests added support for Python 3.15 based on beta1. Downstream projects\nshould be able to start testing prior to its release in October. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7422\"\u003e#7422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequests added support for Python 3.14t. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7419\"\u003e#7419\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\u003e\u003ccode\u003eResponse.history\u003c/code\u003e no longer contains a reference to itself, preventing\naccidental looping when traversing the history list. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7328\"\u003e#7328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequests no longer performs greedy matching on no_proxy domains. The\nproxy_bypass implementation has been updated with CPython's fix from\nbpo-39057. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7427\"\u003e#7427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequests no longer incorrectly strips duplicate leading slashes in\nURI paths. This should address user issues with specific presigned\nURLs. Note the full fix requires urllib3 2.7.0+. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7315\"\u003e#7315\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/0b401c76b6e80a4eecf3c690085b2553f6e261ca\"\u003e\u003ccode\u003e0b401c7\u003c/code\u003e\u003c/a\u003e v2.34.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/86b378d3f60f828daa13ca50aa82e287ff7b66b4\"\u003e\u003ccode\u003e86b378d\u003c/code\u003e\u003c/a\u003e Align Session.get parameters with requests.get (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7429\"\u003e#7429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/a4f9a5999bdb9bf2d6e7c8aa973b28cacb17134f\"\u003e\u003ccode\u003ea4f9a59\u003c/code\u003e\u003c/a\u003e Port bpo-39057 to Requests (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7427\"\u003e#7427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/3816cfa1abd42dca21b9e837f26c59b246016aaf\"\u003e\u003ccode\u003e3816cfa\u003c/code\u003e\u003c/a\u003e Parameterize SupportsItems to handle Mapping key invariance (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7426\"\u003e#7426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b684dcb9bbf3aa557d1238e72062c4a29737dd1c\"\u003e\u003ccode\u003eb684dcb\u003c/code\u003e\u003c/a\u003e sessions: fix hooks type (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7425\"\u003e#7425\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/dc9dbdfb3434c6e58d48fd102f93e5342308817e\"\u003e\u003ccode\u003edc9dbdf\u003c/code\u003e\u003c/a\u003e Formalize 3.15 support (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7422\"\u003e#7422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/25340ebad09a38e0748aeb26232102022a03ec94\"\u003e\u003ccode\u003e25340eb\u003c/code\u003e\u003c/a\u003e Clear proxy env vars before every test run (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7423\"\u003e#7423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fd628095d7b9ddbf3e987d8a4bf0e6062768916f\"\u003e\u003ccode\u003efd62809\u003c/code\u003e\u003c/a\u003e Preserve leading slashes in request path_url (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7315\"\u003e#7315\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/e8d2c015eecda8273612dd4562425e00cd164ba5\"\u003e\u003ccode\u003ee8d2c01\u003c/code\u003e\u003c/a\u003e docs: Fix missing hook output in docs example (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7421\"\u003e#7421\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/eb173bc819c72580deed2d54190d340cc769e529\"\u003e\u003ccode\u003eeb173bc\u003c/code\u003e\u003c/a\u003e Add 3.14t support to CI (\u003ca href=\"https://redirect.github.com/psf/requests/issues/7419\"\u003e#7419\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.33.1...v2.34.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `urllib3` from 2.5.0 to 2.7.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/urllib3/urllib3/releases\"\u003eurllib3's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.7.0\u003c/h2\u003e\n\u003ch2\u003e🚀 urllib3 is fundraising for HTTP/2 support\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://sethmlarson.dev/urllib3-is-fundraising-for-http2-support\"\u003eurllib3 is raising ~$40,000 USD\u003c/a\u003e to release HTTP/2 support and ensure long-term sustainable maintenance of the project after a sharp decline in financial support. If your company or organization uses Python and would benefit from HTTP/2 support in Requests, pip, cloud SDKs, and thousands of other projects \u003ca href=\"https://opencollective.com/urllib3\"\u003eplease consider contributing financially\u003c/a\u003e to ensure HTTP/2 support is developed sustainably and maintained for the long-haul.\u003c/p\u003e\n\u003cp\u003eThank you for your support.\u003c/p\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cp\u003eAddressed high-severity security issues. Impact was limited to specific use cases detailed in the accompanying advisories; overall user exposure was estimated to be marginal.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDecompression-bomb safeguards of the streaming API were bypassed:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eWhen \u003ccode\u003eHTTPResponse.drain_conn()\u003c/code\u003e was called after the response had been read and decompressed partially. (Reported by \u003ca href=\"https://github.com/Cycloctane\"\u003e\u003ccode\u003e@​Cycloctane\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDuring the second \u003ccode\u003eHTTPResponse.read(amt=N)\u003c/code\u003e or \u003ccode\u003eHTTPResponse.stream(amt=N)\u003c/code\u003e call when the response was decompressed using the official \u003ca href=\"https://pypi.org/project/brotli/\"\u003eBrotli\u003c/a\u003e library. (Reported by \u003ca href=\"https://github.com/kimkou2024\"\u003e\u003ccode\u003e@​kimkou2024\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eSee GHSA-mf9v-mfxr-j63j for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eHTTP pools created using \u003ccode\u003eProxyManager.connection_from_url\u003c/code\u003e did not strip sensitive headers specified in \u003ccode\u003eRetry.remove_headers_on_redirect\u003c/code\u003e when redirecting to a different host. (GHSA-qccp-gfcp-xxvc reported by \u003ca href=\"https://github.com/christos-spearbit\"\u003e\u003ccode\u003e@​christos-spearbit\u003c/code\u003e\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations and Removals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUsed \u003ccode\u003eFutureWarning\u003c/code\u003e instead of \u003ccode\u003eDeprecationWarning\u003c/code\u003e for better visibility of existing deprecation notices. Rescheduled the removal of deprecated features to version 3.0. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3763\"\u003eurllib3/urllib3#3763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemoved support for end-of-life Python 3.9. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3720\"\u003eurllib3/urllib3#3720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemoved support for end-of-life PyPy3.10. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/4979\"\u003eurllib3/urllib3#4979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBumped the minimum supported pyOpenSSL version to 19.0.0. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3777\"\u003eurllib3/urllib3#3777\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a bug where \u003ccode\u003eHTTPResponse.read(amt=None)\u003c/code\u003e was ignoring decompressed data buffered from previous partial reads. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3636\"\u003eurllib3/urllib3#3636\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a bug where \u003ccode\u003eHTTPResponse.read()\u003c/code\u003e could cache only part of the response after a partial read when \u003ccode\u003ecache_content=True\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/4967\"\u003eurllib3/urllib3#4967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eHTTPResponse.stream()\u003c/code\u003e and \u003ccode\u003eHTTPResponse.read_chunked()\u003c/code\u003e to handle \u003ccode\u003eamt=0\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3793\"\u003eurllib3/urllib3#3793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003e_TYPE_BODY\u003c/code\u003e type alias to include missing \u003ccode\u003eIterable[str]\u003c/code\u003e, matching the documented and runtime behavior of chunked request bodies. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3798\"\u003eurllib3/urllib3#3798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eLocationParseError\u003c/code\u003e when paths resembling schemeless URIs were passed to \u003ccode\u003eHTTPConnectionPool.urlopen()\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3352\"\u003eurllib3/urllib3#3352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eBaseHTTPResponse.readinto()\u003c/code\u003e type annotation to accept \u003ccode\u003ememoryview\u003c/code\u003e in addition to \u003ccode\u003ebytearray\u003c/code\u003e, matching the \u003ccode\u003eio.RawIOBase.readinto\u003c/code\u003e contract and enabling use with \u003ccode\u003eio.BufferedReader\u003c/code\u003e without type errors. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3764\"\u003eurllib3/urllib3#3764\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.6.3\u003c/h2\u003e\n\u003ch2\u003e🚀 urllib3 is fundraising for HTTP/2 support\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://sethmlarson.dev/urllib3-is-fundraising-for-http2-support\"\u003eurllib3 is raising ~$40,000 USD\u003c/a\u003e to release HTTP/2 support and ensure long-term sustainable maintenance of the project after a sharp decline in financial support. If your company or organization uses Python and would benefit from HTTP/2 support in Requests, pip, cloud SDKs, and thousands of other projects \u003ca href=\"https://opencollective.com/urllib3\"\u003eplease consider contributing financially\u003c/a\u003e to ensure HTTP/2 support is developed sustainably and maintained for the long-haul.\u003c/p\u003e\n\u003cp\u003eThank you for your support.\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a security issue where decompression-bomb safeguards of the streaming API were bypassed when HTTP redirects were followed. (CVE-2026-21441 reported by \u003ca href=\"https://github.com/D47A\"\u003e\u003ccode\u003e@​D47A\u003c/code\u003e\u003c/a\u003e, 8.9 High, GHSA-38jv-5279-wg99)\u003c/li\u003e\n\u003cli\u003eStarted treating \u003ccode\u003eRetry-After\u003c/code\u003e times greater than 6 hours as 6 hours by default. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3743\"\u003eurllib3/urllib3#3743\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eurllib3.connection.VerifiedHTTPSConnection\u003c/code\u003e on Emscripten. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3752\"\u003eurllib3/urllib3#3752\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.6.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/urllib3/urllib3/blob/main/CHANGES.rst\"\u003eurllib3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.7.0 (2026-05-07)\u003c/h1\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cp\u003eAddressed high-severity security issues.\nImpact was limited to specific use cases detailed in the accompanying\nadvisories; overall user exposure was estimated to be marginal.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDecompression-bomb safeguards of the streaming API were bypassed:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eWhen \u003ccode\u003eHTTPResponse.drain_conn()\u003c/code\u003e was called after the response had been\nread and decompressed partially.\u003c/li\u003e\n\u003cli\u003eDuring the second \u003ccode\u003eHTTPResponse.read(amt=N)\u003c/code\u003e or\n\u003ccode\u003eHTTPResponse.stream(amt=N)\u003c/code\u003e call when the response was decompressed\nusing the official \u003ccode\u003eBrotli \u0026lt;https://pypi.org/project/brotli/\u0026gt;\u003c/code\u003e__ library.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eSee \u003ccode\u003eGHSA-mf9v-mfxr-j63j \u0026lt;https://github.com/urllib3/urllib3/security/advisories/GHSA-mf9v-mfxr-j63j\u0026gt;\u003c/code\u003e__\nfor details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eHTTP pools created using \u003ccode\u003eProxyManager.connection_from_url\u003c/code\u003e did not strip\nsensitive headers specified in \u003ccode\u003eRetry.remove_headers_on_redirect\u003c/code\u003e when\nredirecting to a different host.\n(\u003ccode\u003eGHSA-qccp-gfcp-xxvc \u0026lt;https://github.com/urllib3/urllib3/security/advisories/GHSA-qccp-gfcp-xxvc\u0026gt;\u003c/code\u003e__)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations and Removals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUsed \u003ccode\u003eFutureWarning\u003c/code\u003e instead of \u003ccode\u003eDeprecationWarning\u003c/code\u003e for better\nvisibility of existing deprecation notices. Rescheduled the removal of\ndeprecated features to version 3.0.\n(\u003ccode\u003e[#3763](https://github.com/urllib3/urllib3/issues/3763) \u0026lt;https://github.com/urllib3/urllib3/issues/3763\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eRemoved support for end-of-life Python 3.9.\n(\u003ccode\u003e[#3720](https://github.com/urllib3/urllib3/issues/3720) \u0026lt;https://github.com/urllib3/urllib3/issues/3720\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eRemoved support for end-of-life PyPy3.10.\n(\u003ccode\u003e[#4979](https://github.com/urllib3/urllib3/issues/4979) \u0026lt;https://github.com/urllib3/urllib3/issues/4979\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eBumped the minimum supported pyOpenSSL version to 19.0.0.\n(\u003ccode\u003e[#3777](https://github.com/urllib3/urllib3/issues/3777) \u0026lt;https://github.com/urllib3/urllib3/issues/3777\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBugfixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a bug where \u003ccode\u003eHTTPResponse.read(amt=None)\u003c/code\u003e was ignoring decompressed\ndata buffered from previous partial reads.\n(\u003ccode\u003e[#3636](https://github.com/urllib3/urllib3/issues/3636) \u0026lt;https://github.com/urllib3/urllib3/issues/3636\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eFixed a bug where \u003ccode\u003eHTTPResponse.read()\u003c/code\u003e could cache only part of the\nresponse after a partial read when \u003ccode\u003ecache_content=True\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/urllib3/urllib3/commit/9a950b92d999f906b6020bb2d1076ee56cddd5d2\"\u003e\u003ccode\u003e9a950b9\u003c/code\u003e\u003c/a\u003e Release 2.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/5ec0de499b9166ca71c65ab04f2a7e4eb0d66fcc\"\u003e\u003ccode\u003e5ec0de4\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/2bdcc44d1e163fb5cc48a8662425e35e15adfe6a\"\u003e\u003ccode\u003e2bdcc44\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/f45b0df09d8620ac6ed0491eb9362c8c87b7bc2c\"\u003e\u003ccode\u003ef45b0df\u003c/code\u003e\u003c/a\u003e Fix a misleading example for \u003ccode\u003eProxyManager\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/4970\"\u003e#4970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/577193ca029872384f82c133449e0935f6d8a64b\"\u003e\u003ccode\u003e577193c\u003c/code\u003e\u003c/a\u003e Switch to nightly PyPy3.11 in CI for now (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/4984\"\u003e#4984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/e90af45bb006c3a452a3a21644a2681523f5c7fc\"\u003e\u003ccode\u003ee90af45\u003c/code\u003e\u003c/a\u003e Avoid infinite loop in \u003ccode\u003eHTTPResponse.read_chunked\u003c/code\u003e when \u003ccode\u003eamt=0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/4974\"\u003e#4974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/67ed74fdaec6659a6534621ec8e3aaaa6f976210\"\u003e\u003ccode\u003e67ed74f\u003c/code\u003e\u003c/a\u003e Bump dev dependencies (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/4972\"\u003e#4972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/3abd481097b54d87b574ac7ea593c3f40938a84d\"\u003e\u003ccode\u003e3abd481\u003c/code\u003e\u003c/a\u003e Upgrade mypy to version 1.20.2 (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/4978\"\u003e#4978\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/2b8725dfcac4f21d4d93cc0cc3a64a33af08f890\"\u003e\u003ccode\u003e2b8725d\u003c/code\u003e\u003c/a\u003e Drop support for EOL PyPy3.10 (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/4979\"\u003e#4979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/2944b2a0a6c573f5548a39cfd17196f98ee21b33\"\u003e\u003ccode\u003e2944b2a\u003c/code\u003e\u003c/a\u003e Upgrade \u003ccode\u003esetup-chrome\u003c/code\u003e and \u003ccode\u003esetup-firefox\u003c/code\u003e to fix warnings (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/4973\"\u003e#4973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/urllib3/urllib3/compare/2.5.0...2.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.11.4 to 2.13.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.4 2026-05-06\u003c/h2\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13129\"\u003e#13129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.3 2026-04-20\u003c/h2\u003e\n\u003ch2\u003ev2.13.3 (2026-04-20)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13096\"\u003e#13096\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.2...v2.13.3\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.2...v2.13.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.2 2026-04-17\u003c/h2\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13084\"\u003e#13084\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.1...v2.13.2\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.1...v2.13.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.1 2026-04-15\u003c/h2\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13079\"\u003e#13079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.1\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.0 2026-04-13\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/v2.13.4/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.4\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13129\"\u003e#13129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.3 (2026-04-20)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.3\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13096\"\u003e#13096\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.2\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13084\"\u003e#13084\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.1\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13079\"\u003e#13079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.0 (2026-04-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.0\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe highlights of the v2.13 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-13-release\"\u003eblog post\u003c/a\u003e.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/cf67d4b3193c3fe43ede18612ed62785eee11382\"\u003e\u003ccode\u003ecf67d4b\u003c/code\u003e\u003c/a\u003e Fix linting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f0d8a214a5803036db46a56b1f62f1e56b81d662\"\u003e\u003ccode\u003ef0d8a21\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/5e3fe1d41a00f441204241c66078003ae0391f9a\"\u003e\u003ccode\u003e5e3fe1d\u003c/code\u003e\u003c/a\u003e Check for pydantic tag pattern in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7f9edcc2a191d2eaa9751220eb910914e716a686\"\u003e\u003ccode\u003e7f9edcc\u003c/code\u003e\u003c/a\u003e Document tagging conventions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b46a0c9b8a4dd967fda8ec1a92f6437076bf262c\"\u003e\u003ccode\u003eb46a0c9\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/50629c851e61d887d5420452c311ec6203f1f400\"\u003e\u003ccode\u003e50629c8\u003c/code\u003e\u003c/a\u003e Update to PyPy 7.3.22\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8522ebb71e5e9a6f7188af5f009f01785b8cf725\"\u003e\u003ccode\u003e8522ebb\u003c/code\u003e\u003c/a\u003e Preserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a37f3aff090ca342dc5f48304889963530b993f8\"\u003e\u003ccode\u003ea37f3af\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003eMISSING\u003c/code\u003e sentinel test to work with unreleased \u003ccode\u003etyping_extensions\u003c/code\u003e ver...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/909259a9df660518033aa686b689f045a6eaf9d2\"\u003e\u003ccode\u003e909259a\u003c/code\u003e\u003c/a\u003e Remove Logfire example in documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/2c4174c366606fc2dc46cb806833a080aefa77df\"\u003e\u003ccode\u003e2c4174c\u003c/code\u003e\u003c/a\u003e Bump libc from 0.2.155 to 0.2.185\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.4...v2.13.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pip` from 26.0 to 26.1.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/pip/blob/main/NEWS.rst\"\u003epip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e26.1.1 (2026-05-04)\u003c/h1\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where uninstallation left behind empty directories. Revert the\nremoval of the adjacent \u003ccode\u003e__pycache__\u003c/code\u003e directory when a .py file is removed. (\u003ccode\u003e[#13973](https://github.com/pypa/pip/issues/13973) \u0026lt;https://github.com/pypa/pip/issues/13973\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e26.1 (2026-04-26)\u003c/h1\u003e\n\u003ch2\u003eDeprecations and Removals\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.9. (\u003ccode\u003e[#13795](https://github.com/pypa/pip/issues/13795) \u0026lt;https://github.com/pypa/pip/issues/13795\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd experimental support to read requirements from standardized pylock.toml files (\u003ccode\u003e-r pylock.toml\u003c/code\u003e). (\u003ccode\u003e[#13876](https://github.com/pypa/pip/issues/13876) \u0026lt;https://github.com/pypa/pip/issues/13876\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003e--uploaded-prior-to\u003c/code\u003e to accept a duration in days (e.g., \u003ccode\u003eP3D\u003c/code\u003e for 3 days ago). (\u003ccode\u003e[#13674](https://github.com/pypa/pip/issues/13674) \u0026lt;https://github.com/pypa/pip/issues/13674\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up dependency resolution when there are complex conflicts. (\u003ccode\u003e[#13859](https://github.com/pypa/pip/issues/13859) \u0026lt;https://github.com/pypa/pip/issues/13859\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eReduce memory usage when resolving large dependency trees. (\u003ccode\u003e[#13843](https://github.com/pypa/pip/issues/13843) \u0026lt;https://github.com/pypa/pip/issues/13843\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eEmit a deprecation warning when pip imports an unexpected module after\ninstallation of a distribution has started. (\u003ccode\u003e[#13912](https://github.com/pypa/pip/issues/13912) \u0026lt;https://github.com/pypa/pip/issues/13912\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eAllow URL constraints to apply to requirements with extras. (\u003ccode\u003e[#12018](https://github.com/pypa/pip/issues/12018) \u0026lt;https://github.com/pypa/pip/issues/12018\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eAllow unpinned requirements to use hashes from constraints. Constraints\nlike \u003ccode\u003e{name}=={version} --hash=...\u003c/code\u003e feeds into hash verification for\na corresponding requirement. (\u003ccode\u003e[#9243](https://github.com/pypa/pip/issues/9243) \u0026lt;https://github.com/pypa/pip/issues/9243\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eImprove conflict reports that involve direct URLs. (\u003ccode\u003e[#13932](https://github.com/pypa/pip/issues/13932) \u0026lt;https://github.com/pypa/pip/issues/13932\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eShow all errors instead of first error for faulty \u003ccode\u003edependency_groups\u003c/code\u003e definitions. (\u003ccode\u003e[#13917](https://github.com/pypa/pip/issues/13917) \u0026lt;https://github.com/pypa/pip/issues/13917\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix recovery hint for missing RECORD file to use \u003ccode\u003e--ignore-installed\u003c/code\u003e\ninstead of \u003ccode\u003e--force-reinstall\u003c/code\u003e. (\u003ccode\u003e[#12645](https://github.com/pypa/pip/issues/12645) \u0026lt;https://github.com/pypa/pip/issues/12645\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix misleading error message when a constraint file cannot be opened. (\u003ccode\u003e[#13226](https://github.com/pypa/pip/issues/13226) \u0026lt;https://github.com/pypa/pip/issues/13226\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eShow the filename rather than the full URL when downloading files from non-PyPI indexes in non-verbose mode. (\u003ccode\u003e[#13494](https://github.com/pypa/pip/issues/13494) \u0026lt;https://github.com/pypa/pip/issues/13494\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eRemove the adjacent \u003ccode\u003e__pycache__\u003c/code\u003e directory when a .py file is removed. (\u003ccode\u003e[#13725](https://github.com/pypa/pip/issues/13725) \u0026lt;https://github.com/pypa/pip/issues/13725\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eForce UTF-8 encoding for :pep:\u003ccode\u003e723\u003c/code\u003e metadata. (\u003ccode\u003e[#13861](https://github.com/pypa/pip/issues/13861) \u0026lt;https://github.com/pypa/pip/issues/13861\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eMinor performance improvement when filtering candidates during resolution. (\u003ccode\u003e[#13916](https://github.com/pypa/pip/issues/13916) \u0026lt;https://github.com/pypa/pip/issues/13916\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix a hang on Windows when stdout is closed during verbose output. (\u003ccode\u003e[#13927](https://github.com/pypa/pip/issues/13927) \u0026lt;https://github.com/pypa/pip/issues/13927\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eCommon path prefixes are determined by path segment, not character by character. (\u003ccode\u003e[#13847](https://github.com/pypa/pip/issues/13847) \u0026lt;https://github.com/pypa/pip/issues/13847\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFix installing \u003ccode\u003e.tar.gz\u003c/code\u003e source distributions that look like a zip file. (\u003ccode\u003e[#13867](https://github.com/pypa/pip/issues/13867) \u0026lt;https://github.com/pypa/pip/issues/13867\u0026gt;\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/pip/commit/4432a371c6471e6a93c3eb39b3e9ab2b876b13b9\"\u003e\u003ccode\u003e4432a37\u003c/code\u003e\u003c/a\u003e Bump for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/pip/commit/4943e17e7dd079b3f58e88009d10308f2c55a3ed\"\u003e\u003ccode\u003e4943e17\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/pip/issues/13973\"\u003e#13973\u003c/a\u003e from pypa/revert-13725-vfazio-remove-all-optimizati...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/pip/commit/e9e7b90f35bfcd3c9e4ff93e0f0cc1b90f59aa68\"\u003e\u003ccode\u003ee9e7b90\u003c/code\u003e\u003c/a\u003e Add news\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/pip/commit/0ff696479aa07ea5ca78b08d205ae23854b6e0e8\"\u003e\u003ccode\u003e0ff6964\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Remove \u003cstrong\u003epycache\u003c/strong\u003e when package is removed\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/pip/commit/cc6b082d6b9350d96c5a24337b12b7a42846c410\"\u003e\u003ccode\u003ecc6b082\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/pip/issues/13951\"\u003e#13951\u003c/a\u003e from sbidoul/release/26.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/pip/commit/b2671f1cb340f33db300f0bffc062402bce3eca0\"\u003e\u003ccode\u003eb2671f1\u003c/code\u003e\u003c/a\u003e Bump for development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/pip/commit/90b2b3e0f7ef75c485155716d904e51654575803\"\u003e\u003ccode\u003e90b2b3e\u003c/code\u003e\u003c/a\u003e Bump for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/pip/commit/193f289a6201f801b23885297332461ac8a65b6b\"\u003e\u003ccode\u003e193f289\u003c/code\u003e\u003c/a\u003e Update AUTHORS.txt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/pip/commit/63c3709071c9596d7f4676502a90a3b06f241772\"\u003e\u003ccode\u003e63c3709\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/pip/issues/13876\"\u003e#13876\u003c/a\u003e from sbidoul/install-from-pylock-reqs-sbi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/pip/commit/e5fe7023ffe74a5895571eaf57bdd2989018fbf2\"\u003e\u003ccode\u003ee5fe702\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pypa/pip/issues/13949\"\u003e#13949\u003c/a\u003e from pypa/revert-13888-resolver-editable-links\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/pip/compare/26.0...26.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `json-schema-to-pydantic` from 0.4.6 to 0.4.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/richard-gyiko/json-schema-to-pydantic/releases\"\u003ejson-schema-to-pydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.4.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: support non-model types in predefined refs by \u003ca href=\"https://github.com/richard-gyiko\"\u003e\u003ccode\u003e@​richard-gyiko\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/richard-gyiko/json-schema-to-pydantic/pull/43\"\u003erichard-gyiko/json-schema-to-pydantic#43\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/richard-gyiko/json-schema-to-pydantic/compare/v0.4.10...v0.4.11\"\u003ehttps://github.com/richard-gyiko/json-schema-to-pydantic/compare/v0.4.10...v0.4.11\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.4.10\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: support predefined models for $ref resolution by \u003ca href=\"https://github.com/richard-gyiko\"\u003e\u003ccode\u003e@​richard-gyiko\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/richard-gyiko/json-schema-to-pydantic/pull/42\"\u003erichard-gyiko/json-schema-to-pydantic#42\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/richard-gyiko/json-schema-to-pydantic/compare/v0.4.9...v0.4.10\"\u003ehttps://github.com/richard-gyiko/json-schema-to-pydantic/compare/v0.4.9...v0.4.10\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.4.9\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: Add support for fields with underscores and populate by name by \u003ca href=\"https://github.com/MartinGotelli\"\u003e\u003ccode\u003e@​MartinGotelli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/richard-gyiko/json-schema-to-pydantic/pull/40\"\u003erichard-gyiko/json-schema-to-pydantic#40\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release adds support for JSON Schema fields that start with underscores (common in OpenAPI specs). Since Pydantic doesn't allow field names starting with \u003ccode\u003e_\u003c/code\u003e, the library now:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSanitizes field names by stripping leading underscores and creating aliases\u003c/li\u003e\n\u003cli\u003eAdds a \u003ccode\u003epopulate_by_name\u003c/code\u003e parameter to allow models to be populated by either the original name or the sanitized name\u003c/li\u003e\n\u003cli\u003eProperly handles \u003ccode\u003eallOf\u003c/code\u003e, \u003ccode\u003eoneOf\u003c/code\u003e, and \u003ccode\u003eanyOf\u003c/code\u003e combiners with underscore fields\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/richard-gyiko/json-schema-to-pydantic/compare/v0.4.8...v0.4.9\"\u003ehttps://github.com/richard-gyiko/json-schema-to-pydantic/compare/v0.4.8...v0.4.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.4.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix oneOf handling for simple types, refs, and add scalar root support by \u003ca href=\"https://github.com/richard-gyiko\"\u003e\u003ccode\u003e@​richard-gyiko\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/richard-gyiko/json-schema-to-pydantic/pull/38\"\u003erichard-gyiko/json-schema-to-pydantic#38\u003c/a\u003e Co-authored-by: Anatoly Zelenin \u003ca href=\"mailto:anatoly@zelenin.de\"\u003eanatoly@zelenin.de\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/richard-gyiko/json-schema-to-pydantic/compare/v0.4.7...v0.4.8\"\u003ehttps://github.com/richard-gyiko/json-schema-to-pydantic/compare/v0.4.7...v0.4.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.4.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for top-level array schemas using RootModel by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/richard-gyiko/json-schema-to-pydantic/pull/31\"\u003erichard-gyiko/json-schema-to-pydantic#31\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/richard-gyiko/json-schema-to-pydantic/compare/v0.4.6...v0.4.7\"\u003ehttps://github.com/richard-gyiko/json-schema-to-pydantic/compare/v0.4.6...v0.4.7\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/richard-gyiko/json-schema-to-pydantic/commit/59df04840aec34cc78b04a48178d0794ee9c290f\"\u003e\u003ccode\u003e59df048\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/richard-gyiko/json-schema-to-pydantic/issues/43\"\u003e#43\u003c/a\u003e from richard-gyiko/feat/predefined-refs-non-model-types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/richard-gyiko/json-schema-to-pydantic/commit/dac8e5e35b9dc95e2fe5a8191b66e3078b2a0dbb\"\u003e\u003ccode\u003edac8e5e\u003c/code\u003e\u003c/a\u003e fix: cache top-level predefined ref root models\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/richard-gyiko/json-schema-to-pydantic/commit/1cf9829044df31d3d942231517724278a7b49fdd\"\u003e\u003ccode\u003e1cf9829\u003c/code\u003e\u003c/a\u003e feat: support predefined non-model ref types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/richard-gyiko/json-schema-to-pydantic/commit/2b001755040a88817d6acd005eaef95357dd5f1f\"\u003e\u003ccode\u003e2b00175\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/richard-gyiko/json-schema-to-pydantic/issues/42\"\u003e#42\u003c/a\u003e from richard-gyiko/feat/predefined-models-ref-seeding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/richard-gyiko/json-schema-to-pydantic/commit/bf3896bd3a8d8a458a73963e96486c393a91f3ac\"\u003e\u003ccode\u003ebf3896b\u003c/code\u003e\u003c/a\u003e fix: tighten predefined model validation for refs and base type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/richard-gyiko/json-schema-to-pydantic/commit/280c83cb3de23238f704c31355534204f49a00d3\"\u003e\u003ccode\u003e280c83c\u003c/code\u003e\u003c/a\u003e feat: support predefined models for  resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/richard-gyiko/json-schema-to-pydantic/commit/34c39e0beff4e7a6e15a9e25c1568d46e042c6b0\"\u003e\u003ccode\u003e34c39e0\u003c/code\u003e\u003c/a\u003e docs: update README and features.md with recent capabilities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/richard-gyiko/json-schema-to-pydantic/commit/f4475b2b408f1fae1d20da3cd6a148c2544b1c9b\"\u003e\u003ccode\u003ef4475b2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/richard-gyiko/json-schema-to-pydantic/issues/40\"\u003e#40\u003c/a\u003e from MartinGotelli/feat/underscore_names\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/richard-gyiko/json-schema-to-pydantic/commit/d2c07ebd6b8d3bcfb4b55d7b1fca7276d1c603aa\"\u003e\u003ccode\u003ed2c07eb\u003c/code\u003e\u003c/a\u003e feat: Add support for underscore name in oneOf, allOf, and anyOf\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/richard-gyiko/json-schema-to-pydantic/commit/b1d57ceb003395f0e196b3fb95a77179f208251f\"\u003e\u003ccode\u003eb1d57ce\u003c/code\u003e\u003c/a\u003e fix: Add nested underscore properties test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/richard-gyiko/json-schema-to-pydantic/compare/v0.4.6...v0.4.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `anthropic` from 0.51.0 to 0.101.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.101.0\u003c/h2\u003e\n\u003ch2\u003e0.101.0 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.100.0...v0.101.0\"\u003ev0.100.0...v0.101.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eaws:\u003c/strong\u003e Add AWS client for Claude Platform on AWS (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/1e70e3a21d57a96721685c1eca9cedd10cdd5b63\"\u003e1e70e3a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add missing f-string prefix in file type error message (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/06d109aaf36629ec15c8fb076c96aed722933600\"\u003e06d109a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eexamples:\u003c/strong\u003e bump tools_runner.py to claude-sonnet-4-5-20250929 (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1473\"\u003e#1473\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/1aa8e410fd34d4c4971234a3ae7c7b11a5fadaf9\"\u003e1aa8e41\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexamples:\u003c/strong\u003e update shebang from poetry to uv (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1497\"\u003e#1497\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/ace8f38dccd587efc0528aba14ec09b50480b514\"\u003eace8f38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.100.0\u003c/h2\u003e\n\u003ch2\u003e0.100.0 (2026-05-06)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.99.0...v0.100.0\"\u003ev0.99.0...v0.100.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add support for Managed Agents multiagents and outcomes, webhooks, vault validation (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/3b3deee9c479ce5b54411a8572b66c5a90f1d50f\"\u003e3b3deee\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Adjust webhook configuration (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/8c3339e532458e93585f2faf4f284ccbb5829717\"\u003e8c3339e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.99.0\u003c/h2\u003e\n\u003ch2\u003e0.99.0 (2026-05-05)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.98.1...v0.99.0\"\u003ev0.98.1...v0.99.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e allow targeting a workspace for OIDC federation token exchange (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/4ba8067daa634691ea8c8a3b970d42bdaf5f04eb\"\u003e4ba8067\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.98.1\u003c/h2\u003e\n\u003ch2\u003e0.98.1 (2026-05-04)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.98.0...v0.98.1\"\u003ev0.98.0...v0.98.1\u003c/a\u003e\u003c/p\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\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.101.0 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.100.0...v0.101.0\"\u003ev0.100.0...v0.101.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eaws:\u003c/strong\u003e Add AWS client for Claude Platform on AWS (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/1e70e3a21d57a96721685c1eca9cedd10cdd5b63\"\u003e1e70e3a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add missing f-string prefix in file type error message (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/06d109aaf36629ec15c8fb076c96aed722933600\"\u003e06d109a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eexamples:\u003c/strong\u003e bump tools_runner.py to claude-sonnet-4-5-20250929 (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1473\"\u003e#1473\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/1aa8e410fd34d4c4971234a3ae7c7b11a5fadaf9\"\u003e1aa8e41\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexamples:\u003c/strong\u003e update shebang from poetry to uv (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1497\"\u003e#1497\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/ace8f38dccd587efc0528aba14ec09b50480b514\"\u003eace8f38\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.100.0 (2026-05-06)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.99.0...v0.100.0\"\u003ev0.99.0...v0.100.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e add support for Managed Agents multiagents and outcomes, webhooks, vault validation (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/3b3deee9c479ce5b54411a8572b66c5a90f1d50f\"\u003e3b3deee\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Adjust webhook configuration (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/8c3339e532458e93585f2faf4f284ccbb5829717\"\u003e8c3339e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.99.0 (2026-05-05)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.98.1...v0.99.0\"\u003ev0.98.1...v0.99.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e allow targeting a workspace for OIDC federation token exchange (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/4ba8067daa634691ea8c8a3b970d42bdaf5f04eb\"\u003e4ba8067\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.98.1 (2026-05-04)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.98.0...v0.98.1\"\u003ev0.98.0...v0.98.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix typo in example (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1754\"\u003e#1754\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/de8ba13769837f92ff00be8a1b1e9ad0749eae2f\"\u003ede8ba13\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.98.0 (2026-05-04)\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/anthropics/anthropic-sdk-python/commit/e8e6f6692632b5fdbea5df1e44cdbd0193fac521\"\u003e\u003ccode\u003ee8e6f66\u003c/code\u003e\u003c/a\u003e release: 0.101.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/c7e341122ebb4ac664ec3694fd6589f3759bf84d\"\u003e\u003ccode\u003ec7e3411\u003c/code\u003e\u003c/a\u003e feat(aws): Add AWS client for Claude Platform on AWS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/ae76de1564eac15f953d146e87a790c191c037d5\"\u003e\u003ccode\u003eae76de1\u003c/code\u003e\u003c/a\u003e fix(client): add missing f-string prefix in file type error message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/b4243318fd634c8346105acbe289f872616e8eb3\"\u003e\u003ccode\u003eb424331\u003c/code\u003e\u003c/a\u003e chore(examples): bump tools_runner.py to claude-sonn...\n\n_Description has been truncated_","html_url":"https://github.com/griptape-ai/griptape/pull/2173","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/griptape-ai%2Fgriptape/issues/2173","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2173/packages"}},{"old_version":"\u003c1.0.0,\u003e=0.3.6","new_version":"\u003e=0.4.2,\u003c1.0.0","update_type":"minor","path":"/backend","pr_created_at":"2026-05-11T00:28:21.000Z","version_change":"\u003c1.0.0,\u003e=0.3.6 → \u003e=0.4.2,\u003c1.0.0","issue":{"uuid":"4417279876","node_id":"PR_kwDORw6c6s7aEaQ_","number":107,"state":"open","title":"chore(deps)(deps): update pgvector requirement from \u003c1.0.0,\u003e=0.3.6 to \u003e=0.4.2,\u003c1.0.0 in /backend","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-11T00:28:21.000Z","updated_at":"2026-05-16T01:03:16.734Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps): update","packages":[{"name":"pgvector","old_version":"\u003c1.0.0,\u003e=0.3.6","new_version":"\u003e=0.4.2,\u003c1.0.0","repository_url":"https://github.com/pgvector/pgvector-python"}],"path":"/backend","ecosystem":"pip"},"body":"Updates the requirements on [pgvector](https://github.com/pgvector/pgvector-python) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md\"\u003epgvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2 (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 6\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estr\u003c/code\u003e objects for \u003ccode\u003ebit\u003c/code\u003e type with SQLAlchemy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 (2025-04-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eSparseVector\u003c/code\u003e constructor for SciPy sparse matrices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 (2025-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded top-level \u003ccode\u003epgvector\u003c/code\u003e package\u003c/li\u003e\n\u003cli\u003eAdded support for pg8000\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ebytes\u003c/code\u003e to \u003ccode\u003eBit\u003c/code\u003e constructor\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eglobally\u003c/code\u003e option to default to \u003ccode\u003eFalse\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003earrays\u003c/code\u003e option to default to \u003ccode\u003eTrue\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eFixed equality for \u003ccode\u003eVector\u003c/code\u003e, \u003ccode\u003eHalfVector\u003c/code\u003e, \u003ccode\u003eBit\u003c/code\u003e, and \u003ccode\u003eSparseVector\u003c/code\u003e classes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eindices\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods of \u003ccode\u003eSparseVector\u003c/code\u003e returning tuple instead of list in some cases\u003c/li\u003e\n\u003cli\u003eDropped support for Python \u0026lt; 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 (2024-10-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003earrays\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 (2024-10-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eavg\u003c/code\u003e function with type casting to SQLAlchemy\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eglobally\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.4 (2024-09-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eschema\u003c/code\u003e option for asyncpg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.3 (2024-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved support for cursor factories with Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.2 (2024-07-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error with asyncpg and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.1 (2024-07-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error parsing zero sparse vectors\u003c/li\u003e\n\u003cli\u003eFixed error with Psycopg 2 and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003cli\u003eFixed error message when \u003ccode\u003evector\u003c/code\u003e type not found with Psycopg 3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.0 (2024-06-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ehalfvec\u003c/code\u003e, \u003ccode\u003ebit\u003c/code\u003e, and \u003ccode\u003esparsevec\u003c/code\u003e types to Django\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/2968f258f9486531bd1340cbda4ff8fcaf06cdc1\"\u003e\u003ccode\u003e2968f25\u003c/code\u003e\u003c/a\u003e Version bump to 0.4.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/674f5ba3410c873d49f50fa9725b95d9db50c674\"\u003e\u003ccode\u003e674f5ba\u003c/code\u003e\u003c/a\u003e Updated checkout action [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e2986daf2b1533cc2c849f7e39350e31d57ac325\"\u003e\u003ccode\u003ee2986da\u003c/code\u003e\u003c/a\u003e Added support for Django 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e211ba4029f204734f0c001fbb90f6a594d561ae\"\u003e\u003ccode\u003ee211ba4\u003c/code\u003e\u003c/a\u003e Test with Python 3.14 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/1a72b7571adf3325174b383aca85bfb3a5b925fa\"\u003e\u003ccode\u003e1a72b75\u003c/code\u003e\u003c/a\u003e Updated pgvector on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/c820a53bfb46196551de3c3f59f81b192d890574\"\u003e\u003ccode\u003ec820a53\u003c/code\u003e\u003c/a\u003e Simplified examples [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/caf1a2e0dd7a1ba2ad0ca9f09b50516dcfffcdeb\"\u003e\u003ccode\u003ecaf1a2e\u003c/code\u003e\u003c/a\u003e Added docs for binary quantization with SQLAlchemy [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/dc9a8f959995f009649fd230139ca41193e0a801\"\u003e\u003ccode\u003edc9a8f9\u003c/code\u003e\u003c/a\u003e Added test for binary quantization with re-ranking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/33dee606229489c9ffb0cb5a1cd72bd4705ac618\"\u003e\u003ccode\u003e33dee60\u003c/code\u003e\u003c/a\u003e Added support for str objects for bit type with SQLAlchemy - \u003ca href=\"https://redirect.github.com/pgvector/pgvector-python/issues/137\"\u003e#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/ee3e71ca2c07a12a8332a3877c0ce14adc9a5da8\"\u003e\u003ccode\u003eee3e71c\u003c/code\u003e\u003c/a\u003e Updated format for license identifier\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgvector/pgvector-python/compare/v0.3.6...v0.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/hdj82-bot/classauto.live-/pull/107","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/hdj82-bot%2Fclassauto.live-/issues/107","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/107/packages"}},{"old_version":"0.2.5","new_version":"0.4.2","update_type":"minor","path":"/maritime-ai-service","pr_created_at":"2026-04-24T17:18:52.000Z","version_change":"0.2.5 → 0.4.2","issue":{"uuid":"4324507411","node_id":"PR_kwDOQeMlis7VadCb","number":38,"state":"closed","title":"chore(deps)(deps): bump pgvector from 0.2.5 to 0.4.2 in /maritime-ai-service","user":"dependabot[bot]","labels":["area:backend","dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-04-24T17:32:37.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-24T17:18:52.000Z","updated_at":"2026-04-24T17:32:39.000Z","time_to_close":825,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps)","packages":[{"name":"pgvector","old_version":"0.2.5","new_version":"0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"}],"path":"/maritime-ai-service","ecosystem":"pip"},"body":"Bumps [pgvector](https://github.com/pgvector/pgvector-python) from 0.2.5 to 0.4.2.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md\"\u003epgvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2 (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 6\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estr\u003c/code\u003e objects for \u003ccode\u003ebit\u003c/code\u003e type with SQLAlchemy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 (2025-04-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eSparseVector\u003c/code\u003e constructor for SciPy sparse matrices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 (2025-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded top-level \u003ccode\u003epgvector\u003c/code\u003e package\u003c/li\u003e\n\u003cli\u003eAdded support for pg8000\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ebytes\u003c/code\u003e to \u003ccode\u003eBit\u003c/code\u003e constructor\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eglobally\u003c/code\u003e option to default to \u003ccode\u003eFalse\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003earrays\u003c/code\u003e option to default to \u003ccode\u003eTrue\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eFixed equality for \u003ccode\u003eVector\u003c/code\u003e, \u003ccode\u003eHalfVector\u003c/code\u003e, \u003ccode\u003eBit\u003c/code\u003e, and \u003ccode\u003eSparseVector\u003c/code\u003e classes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eindices\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods of \u003ccode\u003eSparseVector\u003c/code\u003e returning tuple instead of list in some cases\u003c/li\u003e\n\u003cli\u003eDropped support for Python \u0026lt; 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 (2024-10-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003earrays\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 (2024-10-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eavg\u003c/code\u003e function with type casting to SQLAlchemy\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eglobally\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.4 (2024-09-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eschema\u003c/code\u003e option for asyncpg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.3 (2024-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved support for cursor factories with Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.2 (2024-07-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error with asyncpg and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.1 (2024-07-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error parsing zero sparse vectors\u003c/li\u003e\n\u003cli\u003eFixed error with Psycopg 2 and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003cli\u003eFixed error message when \u003ccode\u003evector\u003c/code\u003e type not found with Psycopg 3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.0 (2024-06-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ehalfvec\u003c/code\u003e, \u003ccode\u003ebit\u003c/code\u003e, and \u003ccode\u003esparsevec\u003c/code\u003e types to Django\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/2968f258f9486531bd1340cbda4ff8fcaf06cdc1\"\u003e\u003ccode\u003e2968f25\u003c/code\u003e\u003c/a\u003e Version bump to 0.4.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/674f5ba3410c873d49f50fa9725b95d9db50c674\"\u003e\u003ccode\u003e674f5ba\u003c/code\u003e\u003c/a\u003e Updated checkout action [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e2986daf2b1533cc2c849f7e39350e31d57ac325\"\u003e\u003ccode\u003ee2986da\u003c/code\u003e\u003c/a\u003e Added support for Django 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e211ba4029f204734f0c001fbb90f6a594d561ae\"\u003e\u003ccode\u003ee211ba4\u003c/code\u003e\u003c/a\u003e Test with Python 3.14 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/1a72b7571adf3325174b383aca85bfb3a5b925fa\"\u003e\u003ccode\u003e1a72b75\u003c/code\u003e\u003c/a\u003e Updated pgvector on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/c820a53bfb46196551de3c3f59f81b192d890574\"\u003e\u003ccode\u003ec820a53\u003c/code\u003e\u003c/a\u003e Simplified examples [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/caf1a2e0dd7a1ba2ad0ca9f09b50516dcfffcdeb\"\u003e\u003ccode\u003ecaf1a2e\u003c/code\u003e\u003c/a\u003e Added docs for binary quantization with SQLAlchemy [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/dc9a8f959995f009649fd230139ca41193e0a801\"\u003e\u003ccode\u003edc9a8f9\u003c/code\u003e\u003c/a\u003e Added test for binary quantization with re-ranking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/33dee606229489c9ffb0cb5a1cd72bd4705ac618\"\u003e\u003ccode\u003e33dee60\u003c/code\u003e\u003c/a\u003e Added support for str objects for bit type with SQLAlchemy - \u003ca href=\"https://redirect.github.com/pgvector/pgvector-python/issues/137\"\u003e#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/ee3e71ca2c07a12a8332a3877c0ce14adc9a5da8\"\u003e\u003ccode\u003eee3e71c\u003c/code\u003e\u003c/a\u003e Updated format for license identifier\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgvector/pgvector-python/compare/v0.2.5...v0.4.2\"\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=pgvector\u0026package-manager=pip\u0026previous-version=0.2.5\u0026new-version=0.4.2)](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/meiiie/wiii/pull/38","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/meiiie%2Fwiii/issues/38","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/38/packages"}},{"old_version":"\u003e=0.2.0","new_version":"\u003e=0.4.2","update_type":"minor","path":null,"pr_created_at":"2026-04-13T10:03:43.000Z","version_change":"\u003e=0.2.0 → \u003e=0.4.2","issue":{"uuid":"4253417053","node_id":"PR_kwDOR11zDc7R8Fe3","number":33,"state":"open","title":"chore(deps): update pgvector requirement from \u003e=0.2.0 to \u003e=0.4.2","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-13T10:03:43.000Z","updated_at":"2026-04-13T10:05:23.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): update","packages":[{"name":"pgvector","old_version":"\u003e=0.2.0","new_version":"\u003e=0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [pgvector](https://github.com/pgvector/pgvector-python) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md\"\u003epgvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2 (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 6\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estr\u003c/code\u003e objects for \u003ccode\u003ebit\u003c/code\u003e type with SQLAlchemy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 (2025-04-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eSparseVector\u003c/code\u003e constructor for SciPy sparse matrices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 (2025-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded top-level \u003ccode\u003epgvector\u003c/code\u003e package\u003c/li\u003e\n\u003cli\u003eAdded support for pg8000\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ebytes\u003c/code\u003e to \u003ccode\u003eBit\u003c/code\u003e constructor\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eglobally\u003c/code\u003e option to default to \u003ccode\u003eFalse\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003earrays\u003c/code\u003e option to default to \u003ccode\u003eTrue\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eFixed equality for \u003ccode\u003eVector\u003c/code\u003e, \u003ccode\u003eHalfVector\u003c/code\u003e, \u003ccode\u003eBit\u003c/code\u003e, and \u003ccode\u003eSparseVector\u003c/code\u003e classes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eindices\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods of \u003ccode\u003eSparseVector\u003c/code\u003e returning tuple instead of list in some cases\u003c/li\u003e\n\u003cli\u003eDropped support for Python \u0026lt; 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 (2024-10-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003earrays\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 (2024-10-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eavg\u003c/code\u003e function with type casting to SQLAlchemy\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eglobally\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.4 (2024-09-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eschema\u003c/code\u003e option for asyncpg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.3 (2024-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved support for cursor factories with Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.2 (2024-07-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error with asyncpg and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.1 (2024-07-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error parsing zero sparse vectors\u003c/li\u003e\n\u003cli\u003eFixed error with Psycopg 2 and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003cli\u003eFixed error message when \u003ccode\u003evector\u003c/code\u003e type not found with Psycopg 3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.0 (2024-06-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ehalfvec\u003c/code\u003e, \u003ccode\u003ebit\u003c/code\u003e, and \u003ccode\u003esparsevec\u003c/code\u003e types to Django\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/2968f258f9486531bd1340cbda4ff8fcaf06cdc1\"\u003e\u003ccode\u003e2968f25\u003c/code\u003e\u003c/a\u003e Version bump to 0.4.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/674f5ba3410c873d49f50fa9725b95d9db50c674\"\u003e\u003ccode\u003e674f5ba\u003c/code\u003e\u003c/a\u003e Updated checkout action [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e2986daf2b1533cc2c849f7e39350e31d57ac325\"\u003e\u003ccode\u003ee2986da\u003c/code\u003e\u003c/a\u003e Added support for Django 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e211ba4029f204734f0c001fbb90f6a594d561ae\"\u003e\u003ccode\u003ee211ba4\u003c/code\u003e\u003c/a\u003e Test with Python 3.14 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/1a72b7571adf3325174b383aca85bfb3a5b925fa\"\u003e\u003ccode\u003e1a72b75\u003c/code\u003e\u003c/a\u003e Updated pgvector on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/c820a53bfb46196551de3c3f59f81b192d890574\"\u003e\u003ccode\u003ec820a53\u003c/code\u003e\u003c/a\u003e Simplified examples [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/caf1a2e0dd7a1ba2ad0ca9f09b50516dcfffcdeb\"\u003e\u003ccode\u003ecaf1a2e\u003c/code\u003e\u003c/a\u003e Added docs for binary quantization with SQLAlchemy [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/dc9a8f959995f009649fd230139ca41193e0a801\"\u003e\u003ccode\u003edc9a8f9\u003c/code\u003e\u003c/a\u003e Added test for binary quantization with re-ranking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/33dee606229489c9ffb0cb5a1cd72bd4705ac618\"\u003e\u003ccode\u003e33dee60\u003c/code\u003e\u003c/a\u003e Added support for str objects for bit type with SQLAlchemy - \u003ca href=\"https://redirect.github.com/pgvector/pgvector-python/issues/137\"\u003e#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/ee3e71ca2c07a12a8332a3877c0ce14adc9a5da8\"\u003e\u003ccode\u003eee3e71c\u003c/code\u003e\u003c/a\u003e Updated format for license identifier\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgvector/pgvector-python/compare/v0.2.0...v0.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/evoila/meho/pull/33","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/evoila%2Fmeho/issues/33","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/33/packages"}},{"old_version":"0.2.5","new_version":"0.4.2","update_type":"minor","path":null,"pr_created_at":"2026-04-13T07:52:44.000Z","version_change":"0.2.5 → 0.4.2","issue":{"uuid":"4252425156","node_id":"PR_kwDORoU8987R57e6","number":48,"state":"closed","title":"Bump the vdb group across 1 directory with 23 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-04T08:33:58.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-13T07:52:44.000Z","updated_at":"2026-05-04T08:34:00.000Z","time_to_close":1816874,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"vdb","update_count":23,"packages":[{"name":"weaviate-client","old_version":"4.17.0","new_version":"4.20.5","repository_url":"https://github.com/weaviate/weaviate-python-client"},{"name":"chromadb","old_version":"0.5.20","new_version":"1.5.7","repository_url":"https://github.com/chroma-core/chroma"},{"name":"elasticsearch","old_version":"8.14.0","new_version":"9.3.0","repository_url":"https://github.com/elastic/elasticsearch-py"},{"name":"oracledb","old_version":"3.3.0","new_version":"3.4.2","repository_url":"https://github.com/oracle/python-oracledb"},{"name":"pgvector","old_version":"0.2.5","new_version":"0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"},{"name":"pymochow","old_version":"2.2.9","new_version":"2.4.0"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [weaviate-client](https://github.com/weaviate/weaviate-python-client), [alibabacloud-gpdb20160503](https://github.com/aliyun/alibabacloud-python-sdk), [alibabacloud-tea-openapi](https://github.com/aliyun/darabonba-openapi), [chromadb](https://github.com/chroma-core/chroma), [clickhouse-connect](https://github.com/ClickHouse/clickhouse-connect), clickzetta-connector-python, [couchbase](https://github.com/couchbase/couchbase-python-client), [elasticsearch](https://github.com/elastic/elasticsearch-py), [oracledb](https://github.com/oracle/python-oracledb), [pgvecto-rs](https://github.com/tensorchord/pgvecto.rs), [pgvector](https://github.com/pgvector/pgvector-python), [pymilvus](https://github.com/milvus-io/pymilvus), [pymochow](http://bce.baidu.com), [pyobvector](https://github.com/oceanbase/pyobvector), [qdrant-client](https://github.com/qdrant/qdrant-client), [intersystems-irispython](https://www.intersystems.com/), [tablestore](https://github.com/aliyun/aliyun-tablestore-python-sdk), tcvectordb, tidb-vector, [upstash-vector](https://github.com/upstash/vector-py), [volcengine-compat](https://github.com/yaoice/volc-sdk-python), [xinference-client](https://github.com/xorbitsai/inference-client) and [mysql-connector-python](https://github.com/mysql/mysql-connector-python) to permit the latest version.\nUpdates `weaviate-client` from 4.17.0 to 4.20.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weaviate/weaviate-python-client/releases\"\u003eweaviate-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.20.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Object TTL schema export to match server json by \u003ca href=\"https://github.com/dudanogueira\"\u003e\u003ccode\u003e@​dudanogueira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1958\"\u003eweaviate/weaviate-python-client#1958\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add support for audio modality in multi2vec-google vectorizer config by \u003ca href=\"https://github.com/antas-marcin\"\u003e\u003ccode\u003e@​antas-marcin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1983\"\u003eweaviate/weaviate-python-client#1983\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: export FilterReturn from weaviate.classes.query by \u003ca href=\"https://github.com/renaudcepre\"\u003e\u003ccode\u003e@​renaudcepre\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1993\"\u003eweaviate/weaviate-python-client#1993\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: parse asyncConfig from replication config GET response by \u003ca href=\"https://github.com/jfrancoa\"\u003e\u003ccode\u003e@​jfrancoa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1996\"\u003eweaviate/weaviate-python-client#1996\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: throw specific exception on empty list filters for time filters by \u003ca href=\"https://github.com/Maanik23\"\u003e\u003ccode\u003e@​Maanik23\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/2004\"\u003eweaviate/weaviate-python-client#2004\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): remove unmaintained deprecation package, use stdlib instead by \u003ca href=\"https://github.com/NIK-TIGER-BILL\"\u003e\u003ccode\u003e@​NIK-TIGER-BILL\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1999\"\u003eweaviate/weaviate-python-client#1999\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003euse get() instead of direct dict access by \u003ca href=\"https://github.com/DanielJanicek\"\u003e\u003ccode\u003e@​DanielJanicek\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1995\"\u003eweaviate/weaviate-python-client#1995\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/Maanik23\"\u003e\u003ccode\u003e@​Maanik23\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/2004\"\u003eweaviate/weaviate-python-client#2004\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NIK-TIGER-BILL\"\u003e\u003ccode\u003e@​NIK-TIGER-BILL\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1999\"\u003eweaviate/weaviate-python-client#1999\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.4...v4.20.5\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.4...v4.20.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd client version to GRPC headers by \u003ca href=\"https://github.com/dirkkul\"\u003e\u003ccode\u003e@​dirkkul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1980\"\u003eweaviate/weaviate-python-client#1980\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add multi2vec_google_gemini vectorizer config by \u003ca href=\"https://github.com/antas-marcin\"\u003e\u003ccode\u003e@​antas-marcin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1977\"\u003eweaviate/weaviate-python-client#1977\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.3...v4.20.4\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.3...v4.20.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump authlib to 1.6.9 to avoid high cve by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1975\"\u003eweaviate/weaviate-python-client#1975\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.2...v4.20.3\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.2...v4.20.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eperf: use deque for iterator object cache by \u003ca href=\"https://github.com/giulio-leone\"\u003e\u003ccode\u003e@​giulio-leone\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1968\"\u003eweaviate/weaviate-python-client#1968\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexpose include_last_used_time parameter, return created_at and api_key_first_letters by \u003ca href=\"https://github.com/dudanogueira\"\u003e\u003ccode\u003e@​dudanogueira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1965\"\u003eweaviate/weaviate-python-client#1965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for incremental backups by \u003ca href=\"https://github.com/dirkkul\"\u003e\u003ccode\u003e@​dirkkul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1928\"\u003eweaviate/weaviate-python-client#1928\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/giulio-leone\"\u003e\u003ccode\u003e@​giulio-leone\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1968\"\u003eweaviate/weaviate-python-client#1968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.1...v4.20.2\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.1...v4.20.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix empty list filter raising IndexError instead of WeaviateInvalidInputError by \u003ca href=\"https://github.com/dirkkul\"\u003e\u003ccode\u003e@​dirkkul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1962\"\u003eweaviate/weaviate-python-client#1962\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.0...v4.20.1\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.0...v4.20.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weaviate/weaviate-python-client/blob/main/docs/changelog.rst\"\u003eweaviate-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 4.20.5\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Fix objectTTL config export\n- Add support for audio modality in multi2vec-google\n- Export FilterReturn from weaviate.classes.query\n- Fix updating async replication config\n- Remove unmaintained \u003ccode\u003edeprecated\u003c/code\u003e dependency\n- Throw exception on empty time filters\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.4\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Include client version in GRPC requests\n- Add support for the new \u003ccode\u003emulti2vec_google_gemini\u003c/code\u003e module\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.3\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Update of \u003ccode\u003eauthlib\u003c/code\u003e dependency\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.2\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Support for incremental backups\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.1\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Raise an input error when filtering on an empty list\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.0\u003c/h2\u003e\n\u003cp\u003eThis minor version includes:\n- Support for new 1.36 features:\n- Server-side batching (SSB) is now GA via \u003ccode\u003ebatch.stream\u003c/code\u003e (\u003ccode\u003ebatch.experimental\u003c/code\u003e is deprecated)\n- Add \u003ccode\u003ecollection.data.ingest\u003c/code\u003e as a new entry point for SSB usage in sync and async clients\n- Add support for the new HFresh index type\n- Add support for async replication configuration\n- Add support for cancelling backup restore operations\n- Add \u003ccode\u003ecollection.config.delete_property_index\u003c/code\u003e to drop filterable, searchable, or range filter indices from properties\n- Add \u003ccode\u003eclient.cluster.statistics()\u003c/code\u003e method for retrieving cluster and Raft statistics\n- Allow \u003ccode\u003eimages\u003c/code\u003e and \u003ccode\u003eimage_properties\u003c/code\u003e in Cohere generative config at runtime\n- Provide options to specify custom gRPC SSL credentials for advanced connection setups\n- Remove \u003ccode\u003ecache\u003c/code\u003e option from \u003ccode\u003eSQConfig\u003c/code\u003e and deprecate the field in the factory method\n- Fix validation of nested object properties to allow \u003ccode\u003eid\u003c/code\u003e as a nested property name\u003c/p\u003e\n\u003ch2\u003eVersion 4.19.4\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/weaviate/weaviate-python-client/commit/4d66220f37faa5089334d98538a61b0ced709b00\"\u003e\u003ccode\u003e4d66220\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/2007\"\u003e#2007\u003c/a\u003e from weaviate/changelog_4_20_5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/78fa5f7f08ea50b2a1041eecd2d010f81885922f\"\u003e\u003ccode\u003e78fa5f7\u003c/code\u003e\u003c/a\u003e Update docs/changelog.rst\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/2af1289def1346ce6e21f1bc05d9966e42a7bf5e\"\u003e\u003ccode\u003e2af1289\u003c/code\u003e\u003c/a\u003e Changelog + reformat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/3e97ec929243d3dd3eedd9276830f31f93294c2a\"\u003e\u003ccode\u003e3e97ec9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1995\"\u003e#1995\u003c/a\u003e from weaviate/djanicek/safe-vector-check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/a29bbcf761fb94e1f7f9ef144ce275658c8ff1b4\"\u003e\u003ccode\u003ea29bbcf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1999\"\u003e#1999\u003c/a\u003e from NIK-TIGER-BILL/fix/remove-deprecation-package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/d409819412c59f23308667ac9c6cf197e7a3e7be\"\u003e\u003ccode\u003ed409819\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/2004\"\u003e#2004\u003c/a\u003e from Maanik23/fix/empty-list-time-filter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/3fbe8d0bc956ca66c78062d6616b3ffcb7635b3f\"\u003e\u003ccode\u003e3fbe8d0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1987\"\u003e#1987\u003c/a\u003e from vivekvar-dl/fix/remove-outdated-deprecation-notice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/5dc48870ea7973d782a9fb00658096f54fd79d19\"\u003e\u003ccode\u003e5dc4887\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into djanicek/safe-vector-check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/8d0d83589387727341056f32cb6f3a1a252e5eef\"\u003e\u003ccode\u003e8d0d835\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into fix/remove-deprecation-package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/44a53ec4bd13504c9922ea10755a7b5fde06d84c\"\u003e\u003ccode\u003e44a53ec\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into fix/empty-list-time-filter\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.17.0...v4.20.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alibabacloud-gpdb20160503` to 5.2.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aliyun/alibabacloud-python-sdk/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alibabacloud-tea-openapi` to 0.4.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aliyun/darabonba-openapi/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `chromadb` from 0.5.20 to 1.5.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/chroma-core/chroma/releases\"\u003echromadb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.5.7\u003c/h2\u003e\n\u003cp\u003eVersion: \u003ccode\u003e1.5.7\u003c/code\u003e\nGit ref: \u003ccode\u003erefs/tags/1.5.7\u003c/code\u003e\nBuild Date: \u003ccode\u003e2026-04-08T07:49\u003c/code\u003e\nPIP Package: \u003ccode\u003echroma-1.5.7.tar.gz\u003c/code\u003e\nGithub Container Registry Image: \u003ccode\u003e:1.5.7\u003c/code\u003e\nDockerHub Image: \u003ccode\u003e:1.5.7\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[CHORE] Update Rust setup for CLI workflows by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6818\"\u003echroma-core/chroma#6818\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Add getCollectionById API across all client SDKs and server by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6805\"\u003echroma-core/chroma#6805\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Pass down shard_index, num_shards and log_upper_bound_offset to query by \u003ca href=\"https://github.com/sanketkedia\"\u003e\u003ccode\u003e@​sanketkedia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6810\"\u003echroma-core/chroma#6810\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Change routing + add a helper by \u003ca href=\"https://github.com/sanketkedia\"\u003e\u003ccode\u003e@​sanketkedia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6811\"\u003echroma-core/chroma#6811\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: FE sets log upper bound from scount logs + gate by flag by \u003ca href=\"https://github.com/sanketkedia\"\u003e\u003ccode\u003e@​sanketkedia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6813\"\u003echroma-core/chroma#6813\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Use log_upper_bound_offset in query by \u003ca href=\"https://github.com/sanketkedia\"\u003e\u003ccode\u003e@​sanketkedia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6815\"\u003echroma-core/chroma#6815\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Plumb num_shards and shard_index to orchestrator by \u003ca href=\"https://github.com/sanketkedia\"\u003e\u003ccode\u003e@​sanketkedia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6822\"\u003echroma-core/chroma#6822\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CLN]: Remove indirect hnsw path by \u003ca href=\"https://github.com/tanujnay112\"\u003e\u003ccode\u003e@​tanujnay112\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6820\"\u003echroma-core/chroma#6820\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Helpers for log partitioning for non active and active shards by \u003ca href=\"https://github.com/sanketkedia\"\u003e\u003ccode\u003e@​sanketkedia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6824\"\u003echroma-core/chroma#6824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Add put_stream to chroma-storage for streaming S3 uploads by \u003ca href=\"https://github.com/philipithomas\"\u003e\u003ccode\u003e@​philipithomas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6806\"\u003echroma-core/chroma#6806\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Partition logs + plumb shard index everywhere by \u003ca href=\"https://github.com/sanketkedia\"\u003e\u003ccode\u003e@​sanketkedia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6831\"\u003echroma-core/chroma#6831\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Added SegmentWriter and Flusher abstractions over shards by \u003ca href=\"https://github.com/tanujnay112\"\u003e\u003ccode\u003e@​tanujnay112\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6814\"\u003echroma-core/chroma#6814\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Merge shard results in FE by \u003ca href=\"https://github.com/sanketkedia\"\u003e\u003ccode\u003e@​sanketkedia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6834\"\u003echroma-core/chroma#6834\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Enable stdout only tracing by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6839\"\u003echroma-core/chroma#6839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG] Return client sigint handler for CLI by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6840\"\u003echroma-core/chroma#6840\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[RELEASE] CLI 1.4.3 Python 1.5.7 JS 3.4.3 by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6845\"\u003echroma-core/chroma#6845\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chroma-core/chroma/compare/1.5.6...1.5.7\"\u003ehttps://github.com/chroma-core/chroma/compare/1.5.6...1.5.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ecli-1.4.3\u003c/h2\u003e\n\u003cp\u003eCLI release.\u003c/p\u003e\n\u003ch2\u003e1.5.6\u003c/h2\u003e\n\u003cp\u003eVersion: \u003ccode\u003e1.5.6\u003c/code\u003e\nGit ref: \u003ccode\u003erefs/tags/1.5.6\u003c/code\u003e\nBuild Date: \u003ccode\u003e2026-04-07T03:01\u003c/code\u003e\nPIP Package: \u003ccode\u003echroma-1.5.6.tar.gz\u003c/code\u003e\nGithub Container Registry Image: \u003ccode\u003e:1.5.6\u003c/code\u003e\nDockerHub Image: \u003ccode\u003e:1.5.6\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[DOC] add concrete example for query/get response by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6593\"\u003echroma-core/chroma#6593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Make delete clearer by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6596\"\u003echroma-core/chroma#6596\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Add multimodal example by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6622\"\u003echroma-core/chroma#6622\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: S3 client config improvements by \u003ca href=\"https://github.com/sanketkedia\"\u003e\u003ccode\u003e@​sanketkedia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6618\"\u003echroma-core/chroma#6618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG]  Tests for garbage collector panic on zero-attached function. by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6616\"\u003echroma-core/chroma#6616\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] 1 bit rabitq quantization implementation by \u003ca href=\"https://github.com/LLay\"\u003e\u003ccode\u003e@​LLay\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6570\"\u003echroma-core/chroma#6570\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] We don't collect product telemetry anymore by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6594\"\u003echroma-core/chroma#6594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] misc doc improvements by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6595\"\u003echroma-core/chroma#6595\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG] Fix sysdb OTEL metrics service name by \u003ca href=\"https://github.com/jasonvigil\"\u003e\u003ccode\u003e@​jasonvigil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6565\"\u003echroma-core/chroma#6565\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/84609ac27abf23a8d1485bfe7b5fa72b41cd7fce\"\u003e\u003ccode\u003e84609ac\u003c/code\u003e\u003c/a\u003e [RELEASE] CLI 1.4.3 Python 1.5.7 JS 3.4.3 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6845\"\u003e#6845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/65a56baf2a0d170027f90434b9eddf81e3d80a0b\"\u003e\u003ccode\u003e65a56ba\u003c/code\u003e\u003c/a\u003e [BUG] Return client sigint handler for CLI (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6840\"\u003e#6840\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/2b6688707ecfb600c190c25110779e2e8cc8a5e2\"\u003e\u003ccode\u003e2b66887\u003c/code\u003e\u003c/a\u003e [ENH] Enable stdout only tracing (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6839\"\u003e#6839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/8eabb4c0de6c6baf5d3d12cdc39c4fc427f11127\"\u003e\u003ccode\u003e8eabb4c\u003c/code\u003e\u003c/a\u003e [ENH]: Merge shard results in FE (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6834\"\u003e#6834\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/44b0702c6f0a0fe7529444d2aa50f9b84c98fb84\"\u003e\u003ccode\u003e44b0702\u003c/code\u003e\u003c/a\u003e [ENH]: Added SegmentWriter and Flusher abstractions over shards (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6814\"\u003e#6814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/c30928bf267213c2242a2b8a08b4e20c6b265344\"\u003e\u003ccode\u003ec30928b\u003c/code\u003e\u003c/a\u003e [ENH]: Partition logs + plumb shard index everywhere (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6831\"\u003e#6831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/057d165c629a3ef390241ec918c2637fc5d840ea\"\u003e\u003ccode\u003e057d165\u003c/code\u003e\u003c/a\u003e [ENH] Add put_stream to chroma-storage for streaming S3 uploads (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6806\"\u003e#6806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/5d69117d795751c2a10c0e7e957fb03a60f5e800\"\u003e\u003ccode\u003e5d69117\u003c/code\u003e\u003c/a\u003e [ENH]: Helpers for log partitioning for non active and active shards (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6824\"\u003e#6824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/e0f496badb34bdb03434fc812e10087997afc005\"\u003e\u003ccode\u003ee0f496b\u003c/code\u003e\u003c/a\u003e [CLN]: Remove indirect hnsw path (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6820\"\u003e#6820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/de13846b25f02040119a95fc3a4e26b472e05c12\"\u003e\u003ccode\u003ede13846\u003c/code\u003e\u003c/a\u003e [ENH]: Plumb num_shards and shard_index to orchestrator (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6822\"\u003e#6822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/chroma-core/chroma/compare/0.5.20...1.5.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `clickhouse-connect` to 0.15.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/releases\"\u003eclickhouse-connect's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.15.1\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse timezone from parameter type hint instead of \u003ccode\u003eserver_tz\u003c/code\u003e when formatting tz-aware datetimes in \u003ccode\u003e{param:Type}\u003c/code\u003e bind expressions. Fixes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/697\"\u003e#697\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/ClickHouse/clickhouse-connect/blob/main/CHANGELOG.md\"\u003eclickhouse-connect's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.1, 2026-03-30\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse timezone from parameter type hint instead of \u003ccode\u003eserver_tz\u003c/code\u003e when formatting tz-aware datetimes in \u003ccode\u003e{param:Type}\u003c/code\u003e bind expressions. Previously, \u003ccode\u003ebind_query\u003c/code\u003e always converted datetimes to the server timezone, ignoring explicit timezone declarations in type hints like \u003ccode\u003eDateTime64(6, 'UTC')\u003c/code\u003e. This caused incorrect query results when \u003ccode\u003eserver_tz\u003c/code\u003e differed from the hint timezone. Handles \u003ccode\u003eLowCardinality\u003c/code\u003e, \u003ccode\u003eNullable\u003c/code\u003e, and container type wrappers. Fixes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/697\"\u003e#697\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.15.0, 2026-03-26\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSQLAlchemy: Comprehensive ClickHouse JOIN support via the new \u003ccode\u003ech_join()\u003c/code\u003e helper. All strictness modifiers (\u003ccode\u003eALL\u003c/code\u003e, \u003ccode\u003eANY\u003c/code\u003e, \u003ccode\u003eSEMI\u003c/code\u003e, \u003ccode\u003eANTI\u003c/code\u003e, \u003ccode\u003eASOF\u003c/code\u003e), the \u003ccode\u003eGLOBAL\u003c/code\u003e distribution modifier, and explicit \u003ccode\u003eCROSS JOIN\u003c/code\u003e are now available. Use with \u003ccode\u003eselect_from()\u003c/code\u003e to generate ClickHouse-specific join syntax like \u003ccode\u003eGLOBAL ALL LEFT OUTER JOIN\u003c/code\u003e. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/635\"\u003e#635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: \u003ccode\u003earray_join()\u003c/code\u003e now supports multiple columns for parallel array expansion. Pass a list of columns and a matching list of aliases to generate \u003ccode\u003eARRAY JOIN col1 AS a, col2 AS b, col3 AS c\u003c/code\u003e. Single-column usage is unchanged. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/633\"\u003e#633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: \u003ccode\u003ech_join()\u003c/code\u003e now supports \u003ccode\u003eUSING\u003c/code\u003e syntax via the new \u003ccode\u003eusing\u003c/code\u003e parameter. Pass a list of column name strings to generate \u003ccode\u003eUSING (col1, col2)\u003c/code\u003e instead of \u003ccode\u003eON\u003c/code\u003e. This is important for \u003ccode\u003eFULL OUTER JOIN\u003c/code\u003e where \u003ccode\u003eUSING\u003c/code\u003e merges the join column correctly while \u003ccode\u003eON\u003c/code\u003e produces default values (0, '') for unmatched sides. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/636\"\u003e#636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: Add missing Replicated table engine variants: \u003ccode\u003eReplicatedReplacingMergeTree\u003c/code\u003e, \u003ccode\u003eReplicatedCollapsingMergeTree\u003c/code\u003e, \u003ccode\u003eReplicatedVersionedCollapsingMergeTree\u003c/code\u003e, and \u003ccode\u003eReplicatedGraphiteMergeTree\u003c/code\u003e. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/687\"\u003e#687\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazy imports for optional dependencies (numpy, pandas, pyarrow, polars). If installed, these heavy libraries are no longer imported at \u003ccode\u003eimport clickhouse_connect\u003c/code\u003e time. They are only imported when features that need them are actually used. The C/Numpy optimization bridge is also deferred. This speeds up bare import time of \u003ccode\u003eclickhouse-connect\u003c/code\u003e about 4X in environments where all four are installed. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/589\"\u003e#589\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003epy.typed\u003c/code\u003e marker file. The package does not have comprehensive type annotations, so the PEP 561 marker was causing false type errors for mypy/pyright users. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/691\"\u003e#691\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSQLAlchemy: Fix \u003ccode\u003e.final()\u003c/code\u003e and \u003ccode\u003e.sample()\u003c/code\u003e silently overwriting each other when chained. Both methods now store modifiers as custom attributes on the \u003ccode\u003eSelect\u003c/code\u003e instance and render them during compilation, replacing the previous \u003ccode\u003ewith_hint()\u003c/code\u003e approach that only allowed one hint per table. Chaining in either order (e.g. \u003ccode\u003eselect(t).final().sample(0.1)\u003c/code\u003e) correctly produces \u003ccode\u003eFROM t FINAL SAMPLE 0.1\u003c/code\u003e. Also fixes rendering for aliased tables (\u003ccode\u003eFROM t AS u FINAL\u003c/code\u003e) and supports explicit table targeting in joins. Fixes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/658\"\u003e#658\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: Fix \u003ccode\u003esqlalchemy.values()\u003c/code\u003e to generate ClickHouse's \u003ccode\u003eVALUES\u003c/code\u003e table function syntax. The compiler now emits \u003ccode\u003eVALUES('col1 Type1, col2 Type2', ...)\u003c/code\u003e with the column structure as the first argument, instead of the standard SQL form that places column names after the alias. Generic SQLAlchemy types are mapped to ClickHouse equivalents (e.g. \u003ccode\u003eInteger\u003c/code\u003e to \u003ccode\u003eInt32\u003c/code\u003e, \u003ccode\u003eString\u003c/code\u003e to \u003ccode\u003eString\u003c/code\u003e). Also handles CTE usage by wrapping in \u003ccode\u003eSELECT * FROM VALUES(...)\u003c/code\u003e. Fixes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/681\"\u003e#681\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: Fix \u003ccode\u003eGraphiteMergeTree\u003c/code\u003e and \u003ccode\u003eReplicatedGraphiteMergeTree\u003c/code\u003e to properly single-quote the \u003ccode\u003econfig_section\u003c/code\u003e argument as ClickHouse requires.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.14.1, 2026-03-11\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix JSON and Dynamic column read paths to properly decode shared variant data instead of returning raw binary with discriminator byte prefixes. Shared data values, used when paths exceed \u003ccode\u003emax_dynamic_paths\u003c/code\u003e or types exceed \u003ccode\u003emax_dynamic_types\u003c/code\u003e are now decoded from ClickHouse's binary variant encoding. Scalar types like integers, floats, strings, booleans, and nulls as well as nested objects are now fully decoded. Compound types like Array, Tuple, Map, DateTime, Date, Decimal, and UUID are not yet decoded and will be returned as raw bytes. Fixes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/599\"\u003e#599\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/615\"\u003e#615\u003c/a\u003e, and \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: Fixed empty ORM/DBAPI SELECT results so \u003ccode\u003ecursor.description\u003c/code\u003e is still populated when ClickHouse Native format returns no data blocks. This restores correct handling for empty result sets, including parameterized and limited queries. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/675\"\u003e#675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore the default Cython runtime path so compiled \u003ccode\u003edriverc\u003c/code\u003e modules are used again unless \u003ccode\u003eCLICKHOUSE_CONNECT_USE_C=0\u003c/code\u003e is set. Fix C/Python parity issues in streaming exception handling, \u003ccode\u003eFixedString\u003c/code\u003e string reads, nullable array helpers, and numpy conversion helpers, and expand CI and unit parity coverage to keep the optimized and pure-Python paths in sync. Addresses \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/676\"\u003e#676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSimplify \u003ccode\u003epivot\u003c/code\u003e in the Cython data conversion module to use \u003ccode\u003etuple(zip(*...))\u003c/code\u003e instead of a manual tuple-building loop which matches the pure-Python implementation and provides significant insert speedup.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.14.0, 2026-03-09\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRenamed \u003ccode\u003eapply_server_timezone\u003c/code\u003e parameter to \u003ccode\u003etz_source\u003c/code\u003e across Client and HttpClient. The new \u003ccode\u003etz_source\u003c/code\u003e parameter accepts string values: \u003ccode\u003e\u0026quot;auto\u0026quot;\u003c/code\u003e (default, was \u003ccode\u003eNone\u003c/code\u003e), \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e (was \u003ccode\u003eTrue\u003c/code\u003e or \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e), and \u003ccode\u003e\u0026quot;local\u0026quot;\u003c/code\u003e (was \u003ccode\u003eFalse\u003c/code\u003e). The old \u003ccode\u003eapply_server_timezone\u003c/code\u003e parameter is still accepted but emits a \u003ccode\u003eDeprecationWarning\u003c/code\u003e and will be removed in 1.0. Passing both \u003ccode\u003etz_source\u003c/code\u003e and \u003ccode\u003eapply_server_timezone\u003c/code\u003e raises \u003ccode\u003eProgrammingError\u003c/code\u003e. The \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e value (which had no distinct runtime behavior from \u003ccode\u003eTrue\u003c/code\u003e) maps to \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRenamed \u003ccode\u003eutc_tz_aware\u003c/code\u003e parameter to \u003ccode\u003etz_mode\u003c/code\u003e across Client, QueryContext, and all query methods. The new \u003ccode\u003etz_mode\u003c/code\u003e parameter accepts string values: \u003ccode\u003e\u0026quot;naive_utc\u0026quot;\u003c/code\u003e (default, was \u003ccode\u003eFalse\u003c/code\u003e), \u003ccode\u003e\u0026quot;aware\u0026quot;\u003c/code\u003e (was \u003ccode\u003eTrue\u003c/code\u003e), and \u003ccode\u003e\u0026quot;schema\u0026quot;\u003c/code\u003e (unchanged). The old \u003ccode\u003eutc_tz_aware\u003c/code\u003e parameter is still accepted but emits a \u003ccode\u003eDeprecationWarning\u003c/code\u003e and will be removed in 1.0. Passing both \u003ccode\u003etz_mode\u003c/code\u003e and \u003ccode\u003eutc_tz_aware\u003c/code\u003e raises \u003ccode\u003eProgrammingError\u003c/code\u003e. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/654\"\u003e#654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved the deprecated \u003ccode\u003eObject('json')\u003c/code\u003e type. This was the legacy experimental JSON type that has been superseded by the new \u003ccode\u003eJSON\u003c/code\u003e type in ClickHouse. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/556\"\u003e#556\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePandas 1.x support is now deprecated and will be removed in v1.0.0. A \u003ccode\u003eDeprecationWarning\u003c/code\u003e is emitted at import time for pandas 1.x users.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for the \u003ccode\u003eSAMPLE\u003c/code\u003e clause in SQLAlchemy statements. Note: Due to a SQLAlchemy limitation, only one hint (SAMPLE or FINAL) can be applied per table; chaining both will silently ignore one. For now, this change enables use of sample(), but chaining with final() is not yet supported.  Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/634\"\u003e#634\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eExperimental:\u003c/strong\u003e Added Python 3.14 free-threading (cp314t) wheel builds for all platforms. The full test suite currently (as of 2 MAR, 2026) passes under free-threaded Python, but is not added to the CI test matrix at this time nor has it been otherwise tested to any degree. Free-threading support should be considered experimental with no guarantees of correctness at this time. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/573\"\u003e#573\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.13.0, 2026-02-26\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBREAKING CHANGE: Implement native write path for \u003ccode\u003eVariant\u003c/code\u003e data type with type-aware dispatching.\nPreviously, all values inserted into a \u003ccode\u003eVariant\u003c/code\u003e column were stringified and sent to the server, which\nwould store them in the \u003ccode\u003eString\u003c/code\u003e member if present, or attempt server-side conversion otherwise. Values\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/05ec766c6c336812d1307eb49df33ba954cebb3d\"\u003e\u003ccode\u003e05ec766\u003c/code\u003e\u003c/a\u003e respect bind param tz type hints, bf release 0.15.1 prep\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/c4c2a4e2e1a6b1b54eff4e3effda4eab0781b0eb\"\u003e\u003ccode\u003ec4c2a4e\u003c/code\u003e\u003c/a\u003e 0.15.0 release prep (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/694\"\u003e#694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/cd8cbf48b01ebb68959745aa223f256240d0fe94\"\u003e\u003ccode\u003ecd8cbf4\u003c/code\u003e\u003c/a\u003e Joe/remove pytyped and other small cleanup issues (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/05859efdd18e4ec0d28ae7627b83bb3fd26239be\"\u003e\u003ccode\u003e05859ef\u003c/code\u003e\u003c/a\u003e implement lazy loading of heavy optional deps (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/689\"\u003e#689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/611161f54bcffa42cac313ab5c131e552fc9b2f0\"\u003e\u003ccode\u003e611161f\u003c/code\u003e\u003c/a\u003e SQLAlchemy core improvements (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/688\"\u003e#688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/5fd16eb13fc9af0861af608bdfd5c717623ae8ba\"\u003e\u003ccode\u003e5fd16eb\u003c/code\u003e\u003c/a\u003e simple ddl support for a few new engine types (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/a0e621c1e413909086e5344dbc56e3cc8a6a57da\"\u003e\u003ccode\u003ea0e621c\u003c/code\u003e\u003c/a\u003e add Peter for reviews (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/682\"\u003e#682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/c40bbacf6966cdf3bed4a0cd88d2a8cba10e5a8a\"\u003e\u003ccode\u003ec40bbac\u003c/code\u003e\u003c/a\u003e 0.14.1 bugfix release prep (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/680\"\u003e#680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/323b76809580854a84c543691ab7c9d976fdad49\"\u003e\u003ccode\u003e323b768\u003c/code\u003e\u003c/a\u003e Reenable default Cython runtime path and reestablish C/Python parity (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/679\"\u003e#679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/01149488c25e39e085d51edfcfdc8516162ff503\"\u003e\u003ccode\u003e0114948\u003c/code\u003e\u003c/a\u003e fix sqlalchemy empty result metadata for orm queries (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/678\"\u003e#678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.10.0...v0.15.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `clickzetta-connector-python` to 0.8.109\n\nUpdates `couchbase` to 4.6.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/fbceef9ed86af073f7f4144b5154a80a52130208\"\u003e\u003ccode\u003efbceef9\u003c/code\u003e\u003c/a\u003e Add typing-extensions dependency for Python versions \u0026lt; 3.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/094022654ac4f925a6b5b04a1eedf24d74446962\"\u003e\u003ccode\u003e0940226\u003c/code\u003e\u003c/a\u003e Test Improvements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/64a401a3ffacffc94b7caf5ba8e12d4744939fdc\"\u003e\u003ccode\u003e64a401a\u003c/code\u003e\u003c/a\u003e PYCBC-1756: Streaming API Improvements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/d37b5245d9efcf078c8f84593e4ddcc18360b1c0\"\u003e\u003ccode\u003ed37b524\u003c/code\u003e\u003c/a\u003e PYCBC-1754: Logging Improvements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/558dd206639e1c01890c6245f9d5c6e468004cfd\"\u003e\u003ccode\u003e558dd20\u003c/code\u003e\u003c/a\u003e PYCBC-1720: Wrapper SDK Observability Improvments - OTel Integration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/d17409c317482d324a843567d29f572a073e3c16\"\u003e\u003ccode\u003ed17409c\u003c/code\u003e\u003c/a\u003e PYCBC-1722: Wrapper SDK Observability Improvements - Metrics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/9583de78f8260d05c11e0b16fa93d0884b0d6ad8\"\u003e\u003ccode\u003e9583de7\u003c/code\u003e\u003c/a\u003e PYCBC-1750: Wrapper SDK Observability - Remaining Management APIs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/5dc9ef7a15e75a970194b19317d6eb929277653e\"\u003e\u003ccode\u003e5dc9ef7\u003c/code\u003e\u003c/a\u003e PYCBC-1721: Wrapper SDK Observability - Tracing Baseline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/47fd1f4cf2471b7c68238ec9f1de3231ff750fea\"\u003e\u003ccode\u003e47fd1f4\u003c/code\u003e\u003c/a\u003e PYCBC-1755: Update JSONType type hint to adhere to static typing standards\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/e14bbae5bb6efdaff15d93074cdeefc3ce103044\"\u003e\u003ccode\u003ee14bbae\u003c/code\u003e\u003c/a\u003e PYCBC-1715: Support JWT based authentication in Operational SDKs\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/couchbase/couchbase-python-client/compare/4.3.0...4.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `elasticsearch` from 8.14.0 to 9.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/elastic/elasticsearch-py/releases\"\u003eelasticsearch's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.3.0\u003c/h2\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epack_dense_vector\u003c/code\u003e helper function to pack dense vectors for efficient uploading (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3219\"\u003e#3219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNew and updated ES|QL functions in the ES|QL query builder for 9.3 and Serverless (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3266\"\u003e#3266\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAPI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ecat.circuit_breaker\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eesql.get_view\u003c/code\u003e, \u003ccode\u003eesql.put_view\u003c/code\u003e and \u003ccode\u003eesql.delete_view\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eindices.get_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.put_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.delete_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.get_all_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.get_sample\u003c/code\u003e, \u003ccode\u003eindices.get_sample_stats\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003einference.put_groq\u003c/code\u003e, \u003ccode\u003einference.put_openshift_ai\u003c/code\u003e, \u003ccode\u003einference.put_nvidia\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003edownsampling_method\u003c/code\u003e argument to \u003ccode\u003eindices.put_data_lifecycle\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ereturn_documents\u003c/code\u003e and \u003ccode\u003etop_n\u003c/code\u003e arguments to \u003ccode\u003einference.rerank\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eclose_job\u003c/code\u003e argument to \u003ccode\u003eml.stop_datafeed\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecertificate_identity\u003c/code\u003e to \u003ccode\u003esecurity.create_cross_cluster_api_key\u003c/code\u003e and \u003ccode\u003esecurity.update_cross_cluster_api_key\u003c/code\u003e APIs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServerless-specific\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eproject_routing\u003c/code\u003e argument to \u003ccode\u003eproject.tags\u003c/code\u003e API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDSL\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eNumpyDenseVector\u003c/code\u003e field, with support for dense vectors based on numpy arrays (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3218\"\u003e#3218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eExponentialHistogram\u003c/code\u003e field\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003etime_series_metric\u003c/code\u003e argument to \u003ccode\u003eHistogram\u003c/code\u003e field\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eon_disk_rescore\u003c/code\u003e argument from \u003ccode\u003eDenseVectorIndexOptions\u003c/code\u003e type\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eslices\u003c/code\u003e argument to \u003ccode\u003eUpdateByQueryResponse\u003c/code\u003e type\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.2.1\u003c/h2\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInstrument ping with OTel (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3160\"\u003e#3160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake positional arguments in DSL generated classes explicit  (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3233\"\u003e#3233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd warnings for private APIs (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3212\"\u003e#3212\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eES|QL query builder: fix missing assignment (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3151\"\u003e#3151\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse relative imports to fix \u003ccode\u003eelasticsearch9\u003c/code\u003e package imports (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3232\"\u003e#3232\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAPI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003etransform.get_node_stats\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003erequests_per_second\u003c/code\u003e argument to \u003ccode\u003edelete_by_query_rethrottle\u003c/code\u003e, \u003ccode\u003ereindex_rethrottle\u003c/code\u003e and \u003ccode\u003eupdate_by_query_rethrottle\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eallow_closed\u003c/code\u003e, \u003ccode\u003eallow_no_indices\u003c/code\u003e, \u003ccode\u003eexpand_wildcards\u003c/code\u003e, \u003ccode\u003eignore_throttled\u003c/code\u003e and \u003ccode\u003eignore_available\u003c/code\u003e arguments to \u003ccode\u003ecat.segments\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003echunking_settings\u003c/code\u003e argument to \u003ccode\u003einference.put_watsonxai\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eid\u003c/code\u003e argument to \u003ccode\u003eml.stop_trained_model_deployment\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003echunking_settings\u003c/code\u003e argument from \u003ccode\u003einference.put_anthropic\u003c/code\u003e, \u003ccode\u003einference.put_contextualai\u003c/code\u003e, \u003ccode\u003einference.put_deepseek\u003c/code\u003e APIs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/adae2d6d3d76f3ea75cd758ce64223bd76df45e5\"\u003e\u003ccode\u003eadae2d6\u003c/code\u003e\u003c/a\u003e Release 9.3.0 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3300\"\u003e#3300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/ea2227c743d7cacb474efecf4d8b84fa553f9eec\"\u003e\u003ccode\u003eea2227c\u003c/code\u003e\u003c/a\u003e Add Python 3.14 trove classifier (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3296\"\u003e#3296\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3299\"\u003e#3299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/b507e3e2d91ff0b6f8fb4a53ea23caa989677436\"\u003e\u003ccode\u003eb507e3e\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3293\"\u003e#3293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/76150204725b1495cad3348c573406fc1f3512d1\"\u003e\u003ccode\u003e7615020\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3280\"\u003e#3280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/ef8d102b3fc4d7572e0fd0bb56afe4291fddc529\"\u003e\u003ccode\u003eef8d102\u003c/code\u003e\u003c/a\u003e Stop using pytz (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3275\"\u003e#3275\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3278\"\u003e#3278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/65870f3504344ba7f67feb7721522bef936a92cf\"\u003e\u003ccode\u003e65870f3\u003c/code\u003e\u003c/a\u003e allow adding elasticsearch query filter for mmr searching (elastic#2638) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/32\"\u003e#32\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/b110f19a49ad492d2d6aa514afaac35360ac3c93\"\u003e\u003ccode\u003eb110f19\u003c/code\u003e\u003c/a\u003e Updates to ES|QL functions for 9.3 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3266\"\u003e#3266\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3272\"\u003e#3272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/f3d082788f52b5fe3c80926624fa8a61aa4deb37\"\u003e\u003ccode\u003ef3d0827\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3269\"\u003e#3269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/80818cc2640fcdf902919a3dc5500ae945d33271\"\u003e\u003ccode\u003e80818cc\u003c/code\u003e\u003c/a\u003e Auto-generated code for 9.3 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3262\"\u003e#3262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/6baa03faedefc90ccbc5f902626cc8cea46aed6a\"\u003e\u003ccode\u003e6baa03f\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3252\"\u003e#3252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/elastic/elasticsearch-py/compare/v8.14.0...v9.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oracledb` from 3.3.0 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oracle/python-oracledb/releases\"\u003eoracledb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.4.2\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.2 is now released. This release addresses a number of issues. See the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-2-january-2026\"\u003efull release notes\u003c/a\u003e for all of the details.\u003c/p\u003e\n\u003ch2\u003ev3.4.1\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.1 is now released. This release addresses a number of issues. See the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-1-november-2025\"\u003efull release notes\u003c/a\u003e for all of the details.\u003c/p\u003e\n\u003ch2\u003ev3.4.0\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.0 is now released. This release has the following highlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003esupport for Direct Path Load in thin mode for fast data ingestion\u003c/li\u003e\n\u003cli\u003esupport for data frames is no longer considered a pre-release\u003c/li\u003e\n\u003cli\u003esupport for type mapping when querying with data frames\u003c/li\u003e\n\u003cli\u003esupport for ingesting more Apache Arrow data types\u003c/li\u003e\n\u003cli\u003esupport for ingesting Apache Arrow data frames containing multiple chunks\u003c/li\u003e\n\u003cli\u003esupport for cursor.executemany() operating on large input data in batches\u003c/li\u003e\n\u003cli\u003efine-grained control over LOB and number handling\u003c/li\u003e\n\u003cli\u003enew optional install dependencies for plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-0-october-2025\"\u003efull release notes\u003c/a\u003e for all of the details.\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/oracle/python-oracledb/commit/51581eeb0a626fb3df4e25e00ddb3a28137d3831\"\u003e\u003ccode\u003e51581ee\u003c/code\u003e\u003c/a\u003e Preparing to release python-oracledb 3.4.2.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/81ceb554a0bfb52eb64b7b3870907d9b19bf15bd\"\u003e\u003ccode\u003e81ceb55\u003c/code\u003e\u003c/a\u003e Fixed bug which caused Connection.call_timeout to be reset to zero when\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/4a94025de99763fd0d16d1c2d79d416b9a075e12\"\u003e\u003ccode\u003e4a94025\u003c/code\u003e\u003c/a\u003e Eliminated memory leak when converting a third party data frame to one\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/36a29517530bfe311dab41218a3bc3d80700fe2c\"\u003e\u003ccode\u003e36a2951\u003c/code\u003e\u003c/a\u003e Fixed bug when decoding PL/SQL booleans in Oracle Database 12.1 (\u003ca href=\"https://redirect.github.com/oracle/python-oracledb/issues/565\"\u003e#565\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/6072f01b420af4c2d36c1b9f7b1421aab64ea336\"\u003e\u003ccode\u003e6072f01\u003c/code\u003e\u003c/a\u003e Grammar fix.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/f8be001d9862d6b0b6ec6158b67affef7a70556e\"\u003e\u003ccode\u003ef8be001\u003c/code\u003e\u003c/a\u003e Fixed bug causing hang when using asyncio and the database closes the\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/6e0d8b9da4b259e1b11ad648d354ca659f537a6a\"\u003e\u003ccode\u003e6e0d8b9\u003c/code\u003e\u003c/a\u003e Eliminated race condition in background thread/coroutine management for\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/40200bfa1cb9dde0977a509c84cfdde66f144358\"\u003e\u003ccode\u003e40200bf\u003c/code\u003e\u003c/a\u003e Adjusted code and tests to be capable of being run in environments other\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/36f8899fa71ebd4aec80b87f990633e86abc6b95\"\u003e\u003ccode\u003e36f8899\u003c/code\u003e\u003c/a\u003e Added support for ingesting Arrow arrays which only consist of null\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/7bf23b6c2061d20358b030104249bd703ac1832e\"\u003e\u003ccode\u003e7bf23b6\u003c/code\u003e\u003c/a\u003e Fixed bug when calling Cursor.executemany() with all of the values in at\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/oracle/python-oracledb/compare/v3.3.0...v3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pgvecto-rs` to 0.2.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tensorchord/pgvecto.rs/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pgvector` from 0.2.5 to 0.4.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md\"\u003epgvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2 (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 6\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estr\u003c/code\u003e objects for \u003ccode\u003ebit\u003c/code\u003e type with SQLAlchemy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 (2025-04-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eSparseVector\u003c/code\u003e constructor for SciPy sparse matrices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 (2025-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded top-level \u003ccode\u003epgvector\u003c/code\u003e package\u003c/li\u003e\n\u003cli\u003eAdded support for pg8000\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ebytes\u003c/code\u003e to \u003ccode\u003eBit\u003c/code\u003e constructor\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eglobally\u003c/code\u003e option to default to \u003ccode\u003eFalse\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003earrays\u003c/code\u003e option to default to \u003ccode\u003eTrue\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eFixed equality for \u003ccode\u003eVector\u003c/code\u003e, \u003ccode\u003eHalfVector\u003c/code\u003e, \u003ccode\u003eBit\u003c/code\u003e, and \u003ccode\u003eSparseVector\u003c/code\u003e classes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eindices\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods of \u003ccode\u003eSparseVector\u003c/code\u003e returning tuple instead of list in some cases\u003c/li\u003e\n\u003cli\u003eDropped support for Python \u0026lt; 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 (2024-10-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003earrays\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 (2024-10-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eavg\u003c/code\u003e function with type casting to SQLAlchemy\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eglobally\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.4 (2024-09-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eschema\u003c/code\u003e option for asyncpg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.3 (2024-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved support for cursor factories with Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.2 (2024-07-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error with asyncpg and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.1 (2024-07-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error parsing zero sparse vectors\u003c/li\u003e\n\u003cli\u003eFixed error with Psycopg 2 and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003cli\u003eFixed error message when \u003ccode\u003evector\u003c/code\u003e type not found with Psycopg 3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.0 (2024-06-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ehalfvec\u003c/code\u003e, \u003ccode\u003ebit\u003c/code\u003e, and \u003ccode\u003esparsevec\u003c/code\u003e types to Django\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/2968f258f9486531bd1340cbda4ff8fcaf06cdc1\"\u003e\u003ccode\u003e2968f25\u003c/code\u003e\u003c/a\u003e Version bump to 0.4.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/674f5ba3410c873d49f50fa9725b95d9db50c674\"\u003e\u003ccode\u003e674f5ba\u003c/code\u003e\u003c/a\u003e Updated checkout action [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e2986daf2b1533cc2c849f7e39350e31d57ac325\"\u003e\u003ccode\u003ee2986da\u003c/code\u003e\u003c/a\u003e Added support for Django 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e211ba4029f204734f0c001fbb90f6a594d561ae\"\u003e\u003ccode\u003ee211ba4\u003c/code\u003e\u003c/a\u003e Test with Python 3.14 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/1a72b7571adf3325174b383aca85bfb3a5b925fa\"\u003e\u003ccode\u003e1a72b75\u003c/code\u003e\u003c/a\u003e Updated pgvector on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/c820a53bfb46196551de3c3f59f81b192d890574\"\u003e\u003ccode\u003ec820a53\u003c/code\u003e\u003c/a\u003e Simplified examples [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/caf1a2e0dd7a1ba2ad0ca9f09b50516dcfffcdeb\"\u003e\u003ccode\u003ecaf1a2e\u003c/code\u003e\u003c/a\u003e Added docs for binary quantization with SQLAlchemy [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/dc9a8f959995f009649fd230139ca41193e0a801\"\u003e\u003ccode\u003edc9a8f9\u003c/code\u003e\u003c/a\u003e Added test for binary quantization with re-ranking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/33dee606229489c9ffb0cb5a1cd72bd4705ac618\"\u003e\u003ccode\u003e33dee60\u003c/code\u003e\u003c/a\u003e Added support for str objects for bit type with SQLAlchemy - \u003ca href=\"https://redirect.github.com/pgvector/pgvector-python/issues/137\"\u003e#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/ee3e71ca2c07a12a8332a3877c0ce14adc9a5da8\"\u003e\u003ccode\u003eee3e71c\u003c/code\u003e\u003c/a\u003e Updated format for license identifier\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgvector/pgvector-python/compare/v0.2.5...v0.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymilvus` to 2.6.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/milvus-io/pymilvus/releases\"\u003epymilvus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePyMilvus v2.6.12 Release Notes\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003efix: default to port 443 for https:// URIs in MilvusClient\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3372\"\u003e#3372\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3374\"\u003e#3374\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e — reported by \u003ca href=\"https://github.com/XuanYang-cn\"\u003e\u003ccode\u003e@​XuanYang-cn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3369\"\u003e#3369\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: remove duplicate timeout kwarg in Collection.__init__\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3371\"\u003e#3371\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3378\"\u003e#3378\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e — reported by \u003ca href=\"https://github.com/greenned\"\u003e\u003ccode\u003e@​greenned\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3370\"\u003e#3370\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: ensure page_retain_order is passed to search params\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3366\"\u003e#3366\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3383\"\u003e#3383\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e — reported by \u003ca href=\"https://github.com/alwayslove2013\"\u003e\u003ccode\u003e@​alwayslove2013\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/2804\"\u003e#2804\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: handle empty result set with ARRAY field in query deserialization\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3389\"\u003e#3389\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3396\"\u003e#3396\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e — reported by \u003ca href=\"https://github.com/karsten-reversefashion\"\u003e\u003ccode\u003e@​karsten-reversefashion\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3386\"\u003e#3386\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: infer_dtype_bydata returns UNKNOWN for list of strings instead of ARRAY\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3390\"\u003e#3390\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3397\"\u003e#3397\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e — reported by \u003ca href=\"https://github.com/ShirohaUmi\"\u003e\u003ccode\u003e@​ShirohaUmi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/2896\"\u003e#2896\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: rewrite _version_helper.py to use only public setuptools_scm API\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3359\"\u003e#3359\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3379\"\u003e#3379\u003c/a\u003e) by \u003ca href=\"https://github.com/XuanYang-cn\"\u003e\u003ccode\u003e@​XuanYang-cn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: remove dead code and redundant exception handling in async_grpc_handler (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3365\"\u003e#3365\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3377\"\u003e#3377\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: replace redundant raise-from-self with bare raise (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3367\"\u003e#3367\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3381\"\u003e#3381\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: fix return type annotations and bare raise in connections.py (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3373\"\u003e#3373\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3382\"\u003e#3382\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: remove dead fake_register_link method from GrpcHandler (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3391\"\u003e#3391\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3395\"\u003e#3395\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: bump actions/checkout to v6 and actions/setup-python to v6 (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3400\"\u003e#3400\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3403\"\u003e#3403\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/milvus-io/pymilvus/compare/v2.6.11...v2.6.12\"\u003ehttps://github.com/milvus-io/pymilvus/compare/v2.6.11...v2.6.12\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/milvus-io/pymilvus/commit/09307a9ce91a0a27d0e83ce8e43b74e69a7b094e\"\u003e\u003ccode\u003e09307a9\u003c/code\u003e\u003c/a\u003e [Cherry-pick 2.6] ci: bump actions/checkout to v6 and actions/setup-python to...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/2dfd20310c9f8a24cd9c3f8977853659917d0442\"\u003e\u003ccode\u003e2dfd203\u003c/code\u003e\u003c/a\u003e [Backport 2.6] fix: rewrite \u003cem\u003eversion_helper.py to use only public setuptools\u003c/em\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/8fe3cf6d4201e3839b2655b90bbbc16299e86945\"\u003e\u003ccode\u003e8fe3cf6\u003c/code\u003e\u003c/a\u003e [Backport 2.6] fix: infer_dtype_bydata returns UNKNOWN for list of strings in...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/3e531a3aac4bcff96e3828147bd522b20bed5a3d\"\u003e\u003ccode\u003e3e531a3\u003c/code\u003e\u003c/a\u003e [Backport 2.6] fix: handle empty result set with ARRAY field in query deseria...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/87b0ba2a449a7b1653a385236a6ffe746a2fa04b\"\u003e\u003ccode\u003e87b0ba2\u003c/code\u003e\u003c/a\u003e [Backport 2.6] refactor: remove dead fake_register_link method from GrpcHandl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/aec3ef6738cabf0ede39ae55aa94c76a94379ea1\"\u003e\u003ccode\u003eaec3ef6\u003c/code\u003e\u003c/a\u003e [Backport 2.6] fix: ensure page_retain_order is passed to search params (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/336\"\u003e#336\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/e27aca78c7dd2de1f749827ce036b83585496af0\"\u003e\u003ccode\u003ee27aca7\u003c/code\u003e\u003c/a\u003e [Backport 2.6] refactor: fix return type annotations and bare raise in connec...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/8fff01aa9dabc8242dca98b06b80dbf03bf53617\"\u003e\u003ccode\u003e8fff01a\u003c/code\u003e\u003c/a\u003e [Backport 2.6] refactor: replace redundant raise-from-self with bare raise (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/18e1610fdbd5d4df23cf240ce469ac184b51b7ab\"\u003e\u003ccode\u003e18e1610\u003c/code\u003e\u003c/a\u003e [Backport 2.6] fix: remove duplicate timeout kwarg in Collection.\u003cstrong\u003einit\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/0339212eccb09ae78ce03525d4c61bb10ef76cca\"\u003e\u003ccode\u003e0339212\u003c/code\u003e\u003c/a\u003e [Backport 2.6] refactor(async_grpc_handler): remove dead code and redundant e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/milvus-io/pymilvus/compare/v2.5.0...v2.6.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymochow` from 2.2.9 to 2.4.0\n\nUpdates `pyobvector` to 0.2.25\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oceanbase/pyobvector/releases\"\u003epyobvector's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003erelease-v0.2.25\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeature:Complement the connection of the embedded seekdb and preserve table options when adding sparse vector indexes by \u003ca href=\"https://github.com/xxsc0529\"\u003e\u003ccode\u003e@​xxsc0529\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/oceanbase/pyobvector/pull/62\"\u003eoceanbase/pyobvector#62\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/oceanbase/pyobvector/compare/release-v0.2.24...release-v0.2.25\"\u003ehttps://github.com/oceanbase/pyobvector/compare/release-v0.2.24...release-v0.2.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/oceanbase/pyobvector/blob/main/RELEASE_NOTES.md\"\u003epyobvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/oceanbase/pyobvector/compare/release-v0.2.24...release-v0.2.25\"\u003e0.2.25\u003c/a\u003e - 2026-03-10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: preserve table options when adding sparse vector indexes\u003c/li\u003e\n\u003cli\u003eFeat: ObClient embedded SeekDB support, docs, tests and CI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/oceanbase/pyobvector/compare/release-v0.2.23...release-v0.2.24\"\u003e0.2.24\u003c/a\u003e - 2026-02-05\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: preserve table options when adding sparse vector indexes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/oceanbase/pyobvector/compare/release-v0.2.22...release-v0.2.23\"\u003e0.2.23\u003c/a\u003e - 2026-01-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCchore: intro pre commit\u003c/li\u003e\n\u003cli\u003eFix: make SeekDB version check case-insensitive\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/oceanbase/pyobvector/compare/release-v0.2.21...release-v0.2.22\"\u003e0.2.22\u003c/a\u003e - 2026-01-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: HybridSearch.search() crashes when OceanBase returns NULL for empty results\u003c/li\u003e\n\u003cli\u003eFeat: add **kwargs support to create_table_with_index_params for heap organization\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/oceanbase/pyobvector/compare/release-v0.2.20...release-v0.2.21\"\u003e0.2.21\u003c/a\u003e - 2026-01-13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrate tool.poetry section to project section following PEP 518\u003c/li\u003e\n\u003cli\u003euse [dependency-groups] as PEP 735 defined\u003c/li\u003e\n\u003cli\u003eFeat: Add full-text index type support\u003c/li\u003e\n\u003cli\u003eFix typo in word partition\u003c/li\u003e\n\u003cli\u003eAlign required python versions and test on python version matrix\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/oceanbase/pyobvector/compare/release-v0.2.19...release-v0.2.20\"\u003e0.2.20\u003c/a\u003e - 2025-11-20\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport seekdb sparse vector index\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/oceanbase/pyobvector/compare/release-v0.2.18...release-v0.2.19\"\u003e0.2.19\u003c/a\u003e - 2025-11-10\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd SeekDB version check\u003c/li\u003e\n\u003cli\u003eDocs: add hybrid search documentation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/oceanbase/pyobvector/compare/release-v0.2.17...release-v0.2.18\"\u003e0.2.18\u003c/a\u003e - 2025-11-05\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003eHybridSearch\u003c/code\u003e client that provides methods \u003ccode\u003esearch\u003c/code\u003e and \u003ccode\u003eget_stql\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/oceanbase/pyobvector/compare/release-v0.2.16...release-v0.2.17\"\u003e0.2.17\u003c/a\u003e - 2025-11-03\u003c/h2\u003e\n\u003ch3\u003eAdded\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/oceanbase/pyobvector/commit/4b0bcc8575737470791428cfc3e424519fae54e5\"\u003e\u003ccode\u003e4b0bcc8\u003c/code\u003e\u003c/a\u003e v0.2.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oceanbase/pyobvector/commit/76812f154876fe559a7e8a3bd0afe269c9bc9da6\"\u003e\u003ccode\u003e76812f1\u003c/code\u003e\u003c/a\u003e feature:Complement the connection of the embedded seekdb and preserve table o...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oceanbase/pyobvector/commit/08d1b26489f2f19ae8dbf249757d800664019ffb\"\u003e\u003ccode\u003e08d1b26\u003c/code\u003e\u003c/a\u003e v0.2.24\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oceanbase/pyobvector/commit/9c0dc1155912d099e6a9015bd6cd39fc29551c90\"\u003e\u003ccode\u003e9c0dc11\u003c/code\u003e\u003c/a\u003e fix: preserve table options when adding sparse vector indexes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oceanbase/pyobvector/commit/a87901c...\n\n_Description has been truncated_","html_url":"https://github.com/285519099/MyDify/pull/48","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/285519099%2FMyDify/issues/48","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/48/packages"}},{"old_version":"0.2.5","new_version":"0.4.2","update_type":"minor","path":null,"pr_created_at":"2026-04-06T07:45:12.000Z","version_change":"0.2.5 → 0.4.2","issue":{"uuid":"4210347599","node_id":"PR_kwDORoU8987QJLr_","number":39,"state":"closed","title":"Bump the vdb group across 1 directory with 19 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-13T07:57:17.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-06T07:45:12.000Z","updated_at":"2026-04-13T07:57:18.000Z","time_to_close":605525,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"vdb","update_count":19,"packages":[{"name":"weaviate-client","old_version":"4.17.0","new_version":"4.20.4","repository_url":"https://github.com/weaviate/weaviate-python-client"},{"name":"alibabacloud-tea-openapi","old_version":"0.3.16","new_version":"0.4.4","repository_url":"https://github.com/aliyun/darabonba-openapi"},{"name":"chromadb","old_version":"0.5.20","new_version":"1.5.5","repository_url":"https://github.com/chroma-core/chroma"},{"name":"clickhouse-connect","old_version":"0.10.0","new_version":"0.15.1","repository_url":"https://github.com/ClickHouse/clickhouse-connect"},{"name":"couchbase","old_version":"4.3.6","new_version":"4.6.0","repository_url":"https://github.com/couchbase/couchbase-python-client"},{"name":"elasticsearch","old_version":"8.14.0","new_version":"9.3.0","repository_url":"https://github.com/elastic/elasticsearch-py"},{"name":"oracledb","old_version":"3.3.0","new_version":"3.4.2","repository_url":"https://github.com/oracle/python-oracledb"},{"name":"pgvector","old_version":"0.2.5","new_version":"0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"},{"name":"pymilvus","old_version":"2.5.17","new_version":"2.6.11","repository_url":"https://github.com/milvus-io/pymilvus"},{"name":"pymochow","old_version":"2.2.9","new_version":"2.4.0"},{"name":"pyobvector","old_version":"0.2.20","new_version":"0.2.25","repository_url":"https://github.com/oceanbase/pyobvector"},{"name":"qdrant-client","old_version":"1.9.0","new_version":"1.17.1","repository_url":"https://github.com/qdrant/qdrant-client"},{"name":"intersystems-irispython","old_version":"5.3.1","new_version":"5.3.2"},{"name":"tablestore","old_version":"6.3.7","new_version":"6.4.3","repository_url":"https://github.com/aliyun/aliyun-tablestore-python-sdk"},{"name":"tcvectordb","old_version":"1.6.4","new_version":"2.1.1"},{"name":"tidb-vector","old_version":"0.0.9","new_version":"0.0.15"},{"name":"upstash-vector","old_version":"0.6.0","new_version":"0.8.0","repository_url":"https://github.com/upstash/vector-py"},{"name":"xinference-client","old_version":"1.2.2","new_version":"2.4.0","repository_url":"https://github.com/xorbitsai/inference-client"},{"name":"mysql-connector-python","old_version":"9.5.0","new_version":"9.6.0","repository_url":"https://github.com/mysql/mysql-connector-python"}],"path":null,"ecosystem":"pip"},"body":"Bumps the vdb group with 19 updates in the /api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [weaviate-client](https://github.com/weaviate/weaviate-python-client) | `4.17.0` | `4.20.4` |\n| [alibabacloud-tea-openapi](https://github.com/aliyun/darabonba-openapi) | `0.3.16` | `0.4.4` |\n| [chromadb](https://github.com/chroma-core/chroma) | `0.5.20` | `1.5.5` |\n| [clickhouse-connect](https://github.com/ClickHouse/clickhouse-connect) | `0.10.0` | `0.15.1` |\n| [couchbase](https://github.com/couchbase/couchbase-python-client) | `4.3.6` | `4.6.0` |\n| [elasticsearch](https://github.com/elastic/elasticsearch-py) | `8.14.0` | `9.3.0` |\n| [oracledb](https://github.com/oracle/python-oracledb) | `3.3.0` | `3.4.2` |\n| [pgvector](https://github.com/pgvector/pgvector-python) | `0.2.5` | `0.4.2` |\n| [pymilvus](https://github.com/milvus-io/pymilvus) | `2.5.17` | `2.6.11` |\n| [pymochow](http://bce.baidu.com) | `2.2.9` | `2.4.0` |\n| [pyobvector](https://github.com/oceanbase/pyobvector) | `0.2.20` | `0.2.25` |\n| [qdrant-client](https://github.com/qdrant/qdrant-client) | `1.9.0` | `1.17.1` |\n| [intersystems-irispython](https://www.intersystems.com/) | `5.3.1` | `5.3.2` |\n| [tablestore](https://github.com/aliyun/aliyun-tablestore-python-sdk) | `6.3.7` | `6.4.3` |\n| tcvectordb | `1.6.4` | `2.1.1` |\n| tidb-vector | `0.0.9` | `0.0.15` |\n| [upstash-vector](https://github.com/upstash/vector-py) | `0.6.0` | `0.8.0` |\n| [xinference-client](https://github.com/xorbitsai/inference-client) | `1.2.2` | `2.4.0` |\n| [mysql-connector-python](https://github.com/mysql/mysql-connector-python) | `9.5.0` | `9.6.0` |\n\n\nUpdates `weaviate-client` from 4.17.0 to 4.20.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weaviate/weaviate-python-client/releases\"\u003eweaviate-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.20.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump authlib to 1.6.9 to avoid high cve by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1975\"\u003eweaviate/weaviate-python-client#1975\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.2...v4.20.3\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.2...v4.20.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eperf: use deque for iterator object cache by \u003ca href=\"https://github.com/giulio-leone\"\u003e\u003ccode\u003e@​giulio-leone\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1968\"\u003eweaviate/weaviate-python-client#1968\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexpose include_last_used_time parameter, return created_at and api_key_first_letters by \u003ca href=\"https://github.com/dudanogueira\"\u003e\u003ccode\u003e@​dudanogueira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1965\"\u003eweaviate/weaviate-python-client#1965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for incremental backups by \u003ca href=\"https://github.com/dirkkul\"\u003e\u003ccode\u003e@​dirkkul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1928\"\u003eweaviate/weaviate-python-client#1928\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/giulio-leone\"\u003e\u003ccode\u003e@​giulio-leone\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1968\"\u003eweaviate/weaviate-python-client#1968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.1...v4.20.2\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.1...v4.20.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix empty list filter raising IndexError instead of WeaviateInvalidInputError by \u003ca href=\"https://github.com/dirkkul\"\u003e\u003ccode\u003e@​dirkkul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1962\"\u003eweaviate/weaviate-python-client#1962\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.0...v4.20.1\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.0...v4.20.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eflat index: Add support for RQ and include cache param by \u003ca href=\"https://github.com/rlmanrique\"\u003e\u003ccode\u003e@​rlmanrique\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1844\"\u003eweaviate/weaviate-python-client#1844\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003ecollection.data.ingest\u003c/code\u003e for sync/async SSB usage by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1876\"\u003eweaviate/weaviate-python-client#1876\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd delete_property_index to collection config by \u003ca href=\"https://github.com/DanielJanicek\"\u003e\u003ccode\u003e@​DanielJanicek\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1940\"\u003eweaviate/weaviate-python-client#1940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid id invalidation in nested properties by \u003ca href=\"https://github.com/dudanogueira\"\u003e\u003ccode\u003e@​dudanogueira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1952\"\u003eweaviate/weaviate-python-client#1952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide options allowing users to specify custom grpc SSL credentials by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1946\"\u003eweaviate/weaviate-python-client#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for cancelling backup restore ops by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1956\"\u003eweaviate/weaviate-python-client#1956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove cache option from SQConfig, deprecate field in factory method by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1954\"\u003eweaviate/weaviate-python-client#1954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow imgs/img_props in cohere generative config runtime by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1955\"\u003eweaviate/weaviate-python-client#1955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce async repl conf in (re)configure and unit tests of usage by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1953\"\u003eweaviate/weaviate-python-client#1953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Hfresh index type by \u003ca href=\"https://github.com/robbespo00\"\u003e\u003ccode\u003e@​robbespo00\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1848\"\u003eweaviate/weaviate-python-client#1848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Cluster Statistics (client.cluster.statistics()) by \u003ca href=\"https://github.com/Shah91n\"\u003e\u003ccode\u003e@​Shah91n\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1959\"\u003eweaviate/weaviate-python-client#1959\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/Shah91n\"\u003e\u003ccode\u003e@​Shah91n\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1959\"\u003eweaviate/weaviate-python-client#1959\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.19.4...v4.20.0\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.19.4...v4.20.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.19.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd gRPC ping check to is_live method  by \u003ca href=\"https://github.com/sylvinho81\"\u003e\u003ccode\u003e@​sylvinho81\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1949\"\u003eweaviate/weaviate-python-client#1949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-raise in \u003ccode\u003ecollection.exists()\u003c/code\u003e if status code is not 404 by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1950\"\u003eweaviate/weaviate-python-client#1950\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weaviate/weaviate-python-client/blob/main/docs/changelog.rst\"\u003eweaviate-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 4.20.4\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Include client version in GRPC requests\n- Add support for the new \u003ccode\u003emulti2vec_google_gemini\u003c/code\u003e module\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.3\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Update of \u003ccode\u003eauthlib\u003c/code\u003e dependency\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.2\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Support for incremental backups\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.1\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Raise an input error when filtering on an empty list\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.0\u003c/h2\u003e\n\u003cp\u003eThis minor version includes:\n- Support for new 1.36 features:\n- Server-side batching (SSB) is now GA via \u003ccode\u003ebatch.stream\u003c/code\u003e (\u003ccode\u003ebatch.experimental\u003c/code\u003e is deprecated)\n- Add \u003ccode\u003ecollection.data.ingest\u003c/code\u003e as a new entry point for SSB usage in sync and async clients\n- Add support for the new HFresh index type\n- Add support for async replication configuration\n- Add support for cancelling backup restore operations\n- Add \u003ccode\u003ecollection.config.delete_property_index\u003c/code\u003e to drop filterable, searchable, or range filter indices from properties\n- Add \u003ccode\u003eclient.cluster.statistics()\u003c/code\u003e method for retrieving cluster and Raft statistics\n- Allow \u003ccode\u003eimages\u003c/code\u003e and \u003ccode\u003eimage_properties\u003c/code\u003e in Cohere generative config at runtime\n- Provide options to specify custom gRPC SSL credentials for advanced connection setups\n- Remove \u003ccode\u003ecache\u003c/code\u003e option from \u003ccode\u003eSQConfig\u003c/code\u003e and deprecate the field in the factory method\n- Fix validation of nested object properties to allow \u003ccode\u003eid\u003c/code\u003e as a nested property name\u003c/p\u003e\n\u003ch2\u003eVersion 4.19.4\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Adds the gRPC healthcheck ping to the \u003ccode\u003eis_live()\u003c/code\u003e method of the async client to provide a more accurate check of the connection status of the async client\n- Fixes bug where exceptions raised in \u003ccode\u003ecollections.exists()\u003c/code\u003e were silently ignored and the method would return \u003ccode\u003eFalse\u003c/code\u003e instead of raising the exception\u003c/p\u003e\n\u003ch2\u003eVersion 4.19.3\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Add support for VoyageAI voyage-4 model family (voyage-4, voyage-4-lite, voyage-4-large)\n- A fix for async client connection issues when \u003ccode\u003epypi\u003c/code\u003e is down\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/weaviate/weaviate-python-client/commit/c0b796e07af0fef5555d37cf78a9a47dae62bb0c\"\u003e\u003ccode\u003ec0b796e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1982\"\u003e#1982\u003c/a\u003e from weaviate/changelog_4_20_4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/dfa8ae431413db4bb66ad2054487018b3362f360\"\u003e\u003ccode\u003edfa8ae4\u003c/code\u003e\u003c/a\u003e Add changelog for v4.20.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/3a0958c19133ecb10565b66d4d0d4ab818d7a619\"\u003e\u003ccode\u003e3a0958c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1977\"\u003e#1977\u003c/a\u003e from weaviate/multi2vec-google-aistudio-vectorizer-c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/106f22584de2bc00f347534c19661af997112583\"\u003e\u003ccode\u003e106f225\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into multi2vec-google-aistudio-vectorizer-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/5ca709e0c068ae8531368d489062169cd7b9306d\"\u003e\u003ccode\u003e5ca709e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1980\"\u003e#1980\u003c/a\u003e from weaviate/client_version_grpc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/55e56f06bf0444fb4caf9f31da7b61dad10ef291\"\u003e\u003ccode\u003e55e56f0\u003c/code\u003e\u003c/a\u003e Dont overwrite version from additional headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/79ee3d030a8c9829c0ea3ca8240ebcdefe710647\"\u003e\u003ccode\u003e79ee3d0\u003c/code\u003e\u003c/a\u003e Add client version to GRPC headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/2ccdaa109a8ba599bec569b489aca3497087869e\"\u003e\u003ccode\u003e2ccdaa1\u003c/code\u003e\u003c/a\u003e chore: rename multi2vec_google_aistudio config to multi2vec_google_gemini\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/ce633119510d6b8ae71dec0310d4a5d08700e172\"\u003e\u003ccode\u003ece63311\u003c/code\u003e\u003c/a\u003e feat: add multi2vec_google_aistudio vectorizer config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/db8a91c514b042dda0871eeb7a27cc9c65f70e71\"\u003e\u003ccode\u003edb8a91c\u003c/code\u003e\u003c/a\u003e Bump authlib to 1.6.9 to avoid high cve (\u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1975\"\u003e#1975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.17.0...v4.20.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alibabacloud-tea-openapi` from 0.3.16 to 0.4.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aliyun/darabonba-openapi/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `chromadb` from 0.5.20 to 1.5.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/chroma-core/chroma/releases\"\u003echromadb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.5.5\u003c/h2\u003e\n\u003cp\u003eVersion: \u003ccode\u003e1.5.5\u003c/code\u003e\nGit ref: \u003ccode\u003erefs/tags/1.5.5\u003c/code\u003e\nBuild Date: \u003ccode\u003e2026-03-10T09:30\u003c/code\u003e\nPIP Package: \u003ccode\u003echroma-1.5.5.tar.gz\u003c/code\u003e\nGithub Container Registry Image: \u003ccode\u003e:1.5.5\u003c/code\u003e\nDockerHub Image: \u003ccode\u003e:1.5.5\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[RELEASE] Rust v0.13.2 by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6583\"\u003echroma-core/chroma#6583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Use buffer_unordered for lazy fragment fetch concurrency by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6584\"\u003echroma-core/chroma#6584\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] chroma configuration reference by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6592\"\u003echroma-core/chroma#6592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[PERF]: Dedup + filter out disbled collections before sysdb enrichment by \u003ca href=\"https://github.com/sanketkedia\"\u003e\u003ccode\u003e@​sanketkedia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6566\"\u003echroma-core/chroma#6566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[TST] Fix test_cross_version_persist by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6604\"\u003echroma-core/chroma#6604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Warn on no API key set on JS EFs by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6599\"\u003echroma-core/chroma#6599\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Add a GoogleGemini EF name alias by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6620\"\u003echroma-core/chroma#6620\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[RELEASE] Python 1.5.5 by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6602\"\u003echroma-core/chroma#6602\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chroma-core/chroma/compare/1.5.4...1.5.5\"\u003ehttps://github.com/chroma-core/chroma/compare/1.5.4...1.5.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.5.3\u003c/h2\u003e\n\u003cp\u003eVersion: \u003ccode\u003e1.5.3\u003c/code\u003e\nGit ref: \u003ccode\u003erefs/tags/1.5.3\u003c/code\u003e\nBuild Date: \u003ccode\u003e2026-03-07T19:07\u003c/code\u003e\nPIP Package: \u003ccode\u003echroma-1.5.3.tar.gz\u003c/code\u003e\nGithub Container Registry Image: \u003ccode\u003e:1.5.3\u003c/code\u003e\nDockerHub Image: \u003ccode\u003e:1.5.3\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[ENH] Thread topology name through purge-dirty pipeline by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6503\"\u003echroma-core/chroma#6503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CHORE]  Tighten down k8s resources in test. by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6509\"\u003echroma-core/chroma#6509\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Purge dirty via Spanner when topology is specified by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6504\"\u003echroma-core/chroma#6504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG]: Drop pydantic v1 compatibility layer for Python 3.14 support by \u003ca href=\"https://github.com/basnijholt\"\u003e\u003ccode\u003e@​basnijholt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6356\"\u003echroma-core/chroma#6356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[PERF] Parallelize segment reader initialization in filter and idf operators by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6522\"\u003echroma-core/chroma#6522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Preallocate during pull log parsing by \u003ca href=\"https://github.com/tanujnay112\"\u003e\u003ccode\u003e@​tanujnay112\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6528\"\u003echroma-core/chroma#6528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[TST] Make pytest use importlib by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6483\"\u003echroma-core/chroma#6483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CLN] Make telemetry a no-op and remove posthog as a dependency by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6489\"\u003echroma-core/chroma#6489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] fix forking numbers by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6530\"\u003echroma-core/chroma#6530\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/blob/HEAD/storage\"\u003eBUG\u003c/a\u003e: retry batch fetch on channel closure by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6526\"\u003echroma-core/chroma#6526\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG] CAS on version during reassignment by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6529\"\u003echroma-core/chroma#6529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] use ResourceExhausted error code for log backpressure by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6527\"\u003echroma-core/chroma#6527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Ordered sparse vector writer by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6495\"\u003echroma-core/chroma#6495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] update docs for s3 sync by \u003ca href=\"https://github.com/philipithomas\"\u003e\u003ccode\u003e@​philipithomas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6515\"\u003echroma-core/chroma#6515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG] avoid redundant manifest load in pull_logs_inner by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6544\"\u003echroma-core/chroma#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Skip record load when only id is requested by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6540\"\u003echroma-core/chroma#6540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/blob/HEAD/log\"\u003eENH\u003c/a\u003e add pointer-based log fetch via ScoutLogFragments by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6533\"\u003echroma-core/chroma#6533\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Add ReadLevel to count in be by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6539\"\u003echroma-core/chroma#6539\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Add a gauge metric in sysdb to track compaction_failure_count by \u003ca href=\"https://github.com/tanujnay112\"\u003e\u003ccode\u003e@​tanujnay112\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6550\"\u003echroma-core/chroma#6550\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Fix query param by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6557\"\u003echroma-core/chroma#6557\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/eca66b7afd4b7aea227644f8c78030f16fc2837a\"\u003e\u003ccode\u003eeca66b7\u003c/code\u003e\u003c/a\u003e [RELEASE] Python 1.5.5 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6602\"\u003e#6602\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/ce0eede5941e15017204c69387493a35ee97afa4\"\u003e\u003ccode\u003ece0eede\u003c/code\u003e\u003c/a\u003e [ENH] Add a GoogleGemini EF name alias (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6620\"\u003e#6620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/3604eea9165d26ef6eefb03893ae1b04d1803b1e\"\u003e\u003ccode\u003e3604eea\u003c/code\u003e\u003c/a\u003e [ENH] Warn on no API key set on JS EFs (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6599\"\u003e#6599\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/9e7bd7fbf91746166e56e140ed548d070f638722\"\u003e\u003ccode\u003e9e7bd7f\u003c/code\u003e\u003c/a\u003e [TST] Fix test_cross_version_persist (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6604\"\u003e#6604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/03a3169183d372360321c76a034c97f8a1e2ac4c\"\u003e\u003ccode\u003e03a3169\u003c/code\u003e\u003c/a\u003e [PERF]: Dedup + filter out disbled collections before sysdb enrichment (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6566\"\u003e#6566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/475bbfcfdba3b40c737c3a90a4f1a915298b16f6\"\u003e\u003ccode\u003e475bbfc\u003c/code\u003e\u003c/a\u003e [DOC] chroma configuration reference (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6592\"\u003e#6592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/02d2d8cd21150cd2ffdecce2c23e0234e04bb2fc\"\u003e\u003ccode\u003e02d2d8c\u003c/code\u003e\u003c/a\u003e [ENH] Use buffer_unordered for lazy fragment fetch concurrency (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6584\"\u003e#6584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/130449099a5eb756a55e4c73ed1d29fdebc5b371\"\u003e\u003ccode\u003e1304490\u003c/code\u003e\u003c/a\u003e [RELEASE] Rust v0.13.2 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6583\"\u003e#6583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/e0525a2f99589693141974a9c5a38b12299e8eef\"\u003e\u003ccode\u003ee0525a2\u003c/code\u003e\u003c/a\u003e [RELEASE] Python 1.5.4 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6585\"\u003e#6585\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/8c70b3cd112ca5608300b8e58710a4e52e5f97fb\"\u003e\u003ccode\u003e8c70b3c\u003c/code\u003e\u003c/a\u003e [ENH] Exclude yanked versions from cross-version persist test (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6588\"\u003e#6588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/chroma-core/chroma/compare/0.5.20...1.5.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `clickhouse-connect` from 0.10.0 to 0.15.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/releases\"\u003eclickhouse-connect's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.15.1\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse timezone from parameter type hint instead of \u003ccode\u003eserver_tz\u003c/code\u003e when formatting tz-aware datetimes in \u003ccode\u003e{param:Type}\u003c/code\u003e bind expressions. Fixes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/697\"\u003e#697\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.15.0\u003c/h2\u003e\n\u003ch1\u003eImprovements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eComprehensive ClickHouse \u003ccode\u003eJOIN\u003c/code\u003e support in SQLAlchemy via \u003ccode\u003ech_join()\u003c/code\u003e with all strictness/distribution modifiers and \u003ccode\u003eUSING\u003c/code\u003e syntax (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/635\"\u003e#635\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/636\"\u003e#636\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMulti-column \u003ccode\u003earray_join()\u003c/code\u003e for parallel array expansion (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/633\"\u003e#633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing Replicated engine variants (\u003ccode\u003eReplicatedReplacingMergeTree\u003c/code\u003e, etc.) (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/687\"\u003e#687\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLazy imports for \u003ccode\u003enumpy\u003c/code\u003e, \u003ccode\u003epandas\u003c/code\u003e, \u003ccode\u003epyarrow\u003c/code\u003e, and \u003ccode\u003epolars\u003c/code\u003e, ~4x faster bare import time (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/589\"\u003e#589\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003e.final()\u003c/code\u003e and \u003ccode\u003e.sample()\u003c/code\u003e silently overwriting each other when chained (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/658\"\u003e#658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003esqlalchemy.values()\u003c/code\u003e to emit ClickHouse \u003ccode\u003eVALUES\u003c/code\u003e table function syntax (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/681\"\u003e#681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eGraphiteMergeTree\u003c/code\u003e to properly quote \u003ccode\u003econfig_section\u003c/code\u003e argument\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eOther\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003epy.typed\u003c/code\u003e marker that was causing false type errors for mypy/pyright users (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/691\"\u003e#691\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.14.1...v0.15.0\"\u003ehttps://github.com/ClickHouse/clickhouse-connect/compare/v0.14.1...v0.15.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.14.1\u003c/h2\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed JSON and Dynamic column read paths to properly decode shared variant data instead of returning raw binary with discriminator byte prefixes. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/599\"\u003e#599\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/615\"\u003e#615\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed empty ORM/DBAPI \u003ccode\u003eSELECT\u003c/code\u003e results so \u003ccode\u003ecursor.description\u003c/code\u003e is still populated when ClickHouse Native format returns no data blocks. This restores correct handling for empty result sets, including parameterized and limited queries. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/675\"\u003e#675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReenabled the default Cython runtime path so compiled driverc modules are used again unless  \u003ccode\u003eCLICKHOUSE_CONNECT_USE_C=0\u003c/code\u003e is exoplicitly set. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/676\"\u003e#676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.14.0...v0.14.1\"\u003ehttps://github.com/ClickHouse/clickhouse-connect/compare/v0.14.0...v0.14.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.14.0\u003c/h2\u003e\n\u003ch2\u003eHigh level notes\u003c/h2\u003e\n\u003cp\u003eThis release is primarily focused on preparing the path to 1.0.0. It introduces a handful of breaking changes and deprecation warnings for APIs that will be removed or finalized in 1.0.0. If your code uses any of the deprecated parameters, you'll now see \u003ccode\u003eDeprecationWarning\u003c/code\u003es with clear migration guidance and highly recommend addressing these before upgrading to 1.0.0 when it ships.\u003c/p\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eapply_server_timezone\u003c/code\u003e renamed to \u003ccode\u003etz_source\u003c/code\u003e. Options are \u003ccode\u003e\u0026quot;auto\u0026quot;\u003c/code\u003e (the default), \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e, or \u003ccode\u003e\u0026quot;local\u0026quot;\u003c/code\u003e. The old parameter currently still works with a deprecation warning. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/670\"\u003eClickHouse/clickhouse-connect#670\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eutc_tz_aware\u003c/code\u003e renamed to \u003ccode\u003etz_mode\u003c/code\u003e. Options are \u003ccode\u003e\u0026quot;naive_utc\u0026quot;\u003c/code\u003e (the default), \u003ccode\u003e\u0026quot;aware\u0026quot;\u003c/code\u003e, or \u003ccode\u003e\u0026quot;schema\u0026quot;\u003c/code\u003e. The old parameter still currently still works with a deprecation warning. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/664\"\u003eClickHouse/clickhouse-connect#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003eObject('json')\u003c/code\u003e type. This was a legacy experimental JSON type has been removed in favor of the new JSON type in ClickHouse. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/666\"\u003eClickHouse/clickhouse-connect#666\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePandas 1.x support is deprecated and will be removed in 1.0.0. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/667\"\u003eClickHouse/clickhouse-connect#667\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThere's a async-native client based on clickhouse-connect v0.11.0 that is \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/releases/tag/v0.12.0rc1\"\u003eavailable\u003c/a\u003e for testing via \u003ccode\u003epip install clickhouse_connect[async]==0.12.0rc1\u003c/code\u003e. A \u003ccode\u003eFutureWarning\u003c/code\u003e advertising this will now be emitted on creation of the (to be legacy) async client. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/672\"\u003eClickHouse/clickhouse-connect#672\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eExperimental\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.14 free-threading (cp314t) wheel builds for all platforms. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/660\"\u003eClickHouse/clickhouse-connect#660\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where sending redundant settings is skipped. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/639\"\u003eClickHouse/clickhouse-connect#639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eSAMPLE\u003c/code\u003e in SQLAlchemy dialect. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/656\"\u003eClickHouse/clickhouse-connect#656\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\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/ClickHouse/clickhouse-connect/blob/main/CHANGELOG.md\"\u003eclickhouse-connect's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.1, 2026-03-30\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse timezone from parameter type hint instead of \u003ccode\u003eserver_tz\u003c/code\u003e when formatting tz-aware datetimes in \u003ccode\u003e{param:Type}\u003c/code\u003e bind expressions. Previously, \u003ccode\u003ebind_query\u003c/code\u003e always converted datetimes to the server timezone, ignoring explicit timezone declarations in type hints like \u003ccode\u003eDateTime64(6, 'UTC')\u003c/code\u003e. This caused incorrect query results when \u003ccode\u003eserver_tz\u003c/code\u003e differed from the hint timezone. Handles \u003ccode\u003eLowCardinality\u003c/code\u003e, \u003ccode\u003eNullable\u003c/code\u003e, and container type wrappers. Fixes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/697\"\u003e#697\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.15.0, 2026-03-26\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSQLAlchemy: Comprehensive ClickHouse JOIN support via the new \u003ccode\u003ech_join()\u003c/code\u003e helper. All strictness modifiers (\u003ccode\u003eALL\u003c/code\u003e, \u003ccode\u003eANY\u003c/code\u003e, \u003ccode\u003eSEMI\u003c/code\u003e, \u003ccode\u003eANTI\u003c/code\u003e, \u003ccode\u003eASOF\u003c/code\u003e), the \u003ccode\u003eGLOBAL\u003c/code\u003e distribution modifier, and explicit \u003ccode\u003eCROSS JOIN\u003c/code\u003e are now available. Use with \u003ccode\u003eselect_from()\u003c/code\u003e to generate ClickHouse-specific join syntax like \u003ccode\u003eGLOBAL ALL LEFT OUTER JOIN\u003c/code\u003e. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/635\"\u003e#635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: \u003ccode\u003earray_join()\u003c/code\u003e now supports multiple columns for parallel array expansion. Pass a list of columns and a matching list of aliases to generate \u003ccode\u003eARRAY JOIN col1 AS a, col2 AS b, col3 AS c\u003c/code\u003e. Single-column usage is unchanged. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/633\"\u003e#633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: \u003ccode\u003ech_join()\u003c/code\u003e now supports \u003ccode\u003eUSING\u003c/code\u003e syntax via the new \u003ccode\u003eusing\u003c/code\u003e parameter. Pass a list of column name strings to generate \u003ccode\u003eUSING (col1, col2)\u003c/code\u003e instead of \u003ccode\u003eON\u003c/code\u003e. This is important for \u003ccode\u003eFULL OUTER JOIN\u003c/code\u003e where \u003ccode\u003eUSING\u003c/code\u003e merges the join column correctly while \u003ccode\u003eON\u003c/code\u003e produces default values (0, '') for unmatched sides. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/636\"\u003e#636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: Add missing Replicated table engine variants: \u003ccode\u003eReplicatedReplacingMergeTree\u003c/code\u003e, \u003ccode\u003eReplicatedCollapsingMergeTree\u003c/code\u003e, \u003ccode\u003eReplicatedVersionedCollapsingMergeTree\u003c/code\u003e, and \u003ccode\u003eReplicatedGraphiteMergeTree\u003c/code\u003e. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/687\"\u003e#687\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazy imports for optional dependencies (numpy, pandas, pyarrow, polars). If installed, these heavy libraries are no longer imported at \u003ccode\u003eimport clickhouse_connect\u003c/code\u003e time. They are only imported when features that need them are actually used. The C/Numpy optimization bridge is also deferred. This speeds up bare import time of \u003ccode\u003eclickhouse-connect\u003c/code\u003e about 4X in environments where all four are installed. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/589\"\u003e#589\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003epy.typed\u003c/code\u003e marker file. The package does not have comprehensive type annotations, so the PEP 561 marker was causing false type errors for mypy/pyright users. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/691\"\u003e#691\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSQLAlchemy: Fix \u003ccode\u003e.final()\u003c/code\u003e and \u003ccode\u003e.sample()\u003c/code\u003e silently overwriting each other when chained. Both methods now store modifiers as custom attributes on the \u003ccode\u003eSelect\u003c/code\u003e instance and render them during compilation, replacing the previous \u003ccode\u003ewith_hint()\u003c/code\u003e approach that only allowed one hint per table. Chaining in either order (e.g. \u003ccode\u003eselect(t).final().sample(0.1)\u003c/code\u003e) correctly produces \u003ccode\u003eFROM t FINAL SAMPLE 0.1\u003c/code\u003e. Also fixes rendering for aliased tables (\u003ccode\u003eFROM t AS u FINAL\u003c/code\u003e) and supports explicit table targeting in joins. Fixes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/658\"\u003e#658\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: Fix \u003ccode\u003esqlalchemy.values()\u003c/code\u003e to generate ClickHouse's \u003ccode\u003eVALUES\u003c/code\u003e table function syntax. The compiler now emits \u003ccode\u003eVALUES('col1 Type1, col2 Type2', ...)\u003c/code\u003e with the column structure as the first argument, instead of the standard SQL form that places column names after the alias. Generic SQLAlchemy types are mapped to ClickHouse equivalents (e.g. \u003ccode\u003eInteger\u003c/code\u003e to \u003ccode\u003eInt32\u003c/code\u003e, \u003ccode\u003eString\u003c/code\u003e to \u003ccode\u003eString\u003c/code\u003e). Also handles CTE usage by wrapping in \u003ccode\u003eSELECT * FROM VALUES(...)\u003c/code\u003e. Fixes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/681\"\u003e#681\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: Fix \u003ccode\u003eGraphiteMergeTree\u003c/code\u003e and \u003ccode\u003eReplicatedGraphiteMergeTree\u003c/code\u003e to properly single-quote the \u003ccode\u003econfig_section\u003c/code\u003e argument as ClickHouse requires.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.14.1, 2026-03-11\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix JSON and Dynamic column read paths to properly decode shared variant data instead of returning raw binary with discriminator byte prefixes. Shared data values, used when paths exceed \u003ccode\u003emax_dynamic_paths\u003c/code\u003e or types exceed \u003ccode\u003emax_dynamic_types\u003c/code\u003e are now decoded from ClickHouse's binary variant encoding. Scalar types like integers, floats, strings, booleans, and nulls as well as nested objects are now fully decoded. Compound types like Array, Tuple, Map, DateTime, Date, Decimal, and UUID are not yet decoded and will be returned as raw bytes. Fixes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/599\"\u003e#599\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/615\"\u003e#615\u003c/a\u003e, and \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: Fixed empty ORM/DBAPI SELECT results so \u003ccode\u003ecursor.description\u003c/code\u003e is still populated when ClickHouse Native format returns no data blocks. This restores correct handling for empty result sets, including parameterized and limited queries. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/675\"\u003e#675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore the default Cython runtime path so compiled \u003ccode\u003edriverc\u003c/code\u003e modules are used again unless \u003ccode\u003eCLICKHOUSE_CONNECT_USE_C=0\u003c/code\u003e is set. Fix C/Python parity issues in streaming exception handling, \u003ccode\u003eFixedString\u003c/code\u003e string reads, nullable array helpers, and numpy conversion helpers, and expand CI and unit parity coverage to keep the optimized and pure-Python paths in sync. Addresses \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/676\"\u003e#676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSimplify \u003ccode\u003epivot\u003c/code\u003e in the Cython data conversion module to use \u003ccode\u003etuple(zip(*...))\u003c/code\u003e instead of a manual tuple-building loop which matches the pure-Python implementation and provides significant insert speedup.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.14.0, 2026-03-09\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRenamed \u003ccode\u003eapply_server_timezone\u003c/code\u003e parameter to \u003ccode\u003etz_source\u003c/code\u003e across Client and HttpClient. The new \u003ccode\u003etz_source\u003c/code\u003e parameter accepts string values: \u003ccode\u003e\u0026quot;auto\u0026quot;\u003c/code\u003e (default, was \u003ccode\u003eNone\u003c/code\u003e), \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e (was \u003ccode\u003eTrue\u003c/code\u003e or \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e), and \u003ccode\u003e\u0026quot;local\u0026quot;\u003c/code\u003e (was \u003ccode\u003eFalse\u003c/code\u003e). The old \u003ccode\u003eapply_server_timezone\u003c/code\u003e parameter is still accepted but emits a \u003ccode\u003eDeprecationWarning\u003c/code\u003e and will be removed in 1.0. Passing both \u003ccode\u003etz_source\u003c/code\u003e and \u003ccode\u003eapply_server_timezone\u003c/code\u003e raises \u003ccode\u003eProgrammingError\u003c/code\u003e. The \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e value (which had no distinct runtime behavior from \u003ccode\u003eTrue\u003c/code\u003e) maps to \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRenamed \u003ccode\u003eutc_tz_aware\u003c/code\u003e parameter to \u003ccode\u003etz_mode\u003c/code\u003e across Client, QueryContext, and all query methods. The new \u003ccode\u003etz_mode\u003c/code\u003e parameter accepts string values: \u003ccode\u003e\u0026quot;naive_utc\u0026quot;\u003c/code\u003e (default, was \u003ccode\u003eFalse\u003c/code\u003e), \u003ccode\u003e\u0026quot;aware\u0026quot;\u003c/code\u003e (was \u003ccode\u003eTrue\u003c/code\u003e), and \u003ccode\u003e\u0026quot;schema\u0026quot;\u003c/code\u003e (unchanged). The old \u003ccode\u003eutc_tz_aware\u003c/code\u003e parameter is still accepted but emits a \u003ccode\u003eDeprecationWarning\u003c/code\u003e and will be removed in 1.0. Passing both \u003ccode\u003etz_mode\u003c/code\u003e and \u003ccode\u003eutc_tz_aware\u003c/code\u003e raises \u003ccode\u003eProgrammingError\u003c/code\u003e. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/654\"\u003e#654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved the deprecated \u003ccode\u003eObject('json')\u003c/code\u003e type. This was the legacy experimental JSON type that has been superseded by the new \u003ccode\u003eJSON\u003c/code\u003e type in ClickHouse. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/556\"\u003e#556\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePandas 1.x support is now deprecated and will be removed in v1.0.0. A \u003ccode\u003eDeprecationWarning\u003c/code\u003e is emitted at import time for pandas 1.x users.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for the \u003ccode\u003eSAMPLE\u003c/code\u003e clause in SQLAlchemy statements. Note: Due to a SQLAlchemy limitation, only one hint (SAMPLE or FINAL) can be applied per table; chaining both will silently ignore one. For now, this change enables use of sample(), but chaining with final() is not yet supported.  Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/634\"\u003e#634\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eExperimental:\u003c/strong\u003e Added Python 3.14 free-threading (cp314t) wheel builds for all platforms. The full test suite currently (as of 2 MAR, 2026) passes under free-threaded Python, but is not added to the CI test matrix at this time nor has it been otherwise tested to any degree. Free-threading support should be considered experimental with no guarantees of correctness at this time. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/573\"\u003e#573\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.13.0, 2026-02-26\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBREAKING CHANGE: Implement native write path for \u003ccode\u003eVariant\u003c/code\u003e data type with type-aware dispatching.\nPreviously, all values inserted into a \u003ccode\u003eVariant\u003c/code\u003e column were stringified and sent to the server, which\nwould store them in the \u003ccode\u003eString\u003c/code\u003e member if present, or attempt server-side conversion otherwise. Values\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/05ec766c6c336812d1307eb49df33ba954cebb3d\"\u003e\u003ccode\u003e05ec766\u003c/code\u003e\u003c/a\u003e respect bind param tz type hints, bf release 0.15.1 prep\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/c4c2a4e2e1a6b1b54eff4e3effda4eab0781b0eb\"\u003e\u003ccode\u003ec4c2a4e\u003c/code\u003e\u003c/a\u003e 0.15.0 release prep (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/694\"\u003e#694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/cd8cbf48b01ebb68959745aa223f256240d0fe94\"\u003e\u003ccode\u003ecd8cbf4\u003c/code\u003e\u003c/a\u003e Joe/remove pytyped and other small cleanup issues (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/05859efdd18e4ec0d28ae7627b83bb3fd26239be\"\u003e\u003ccode\u003e05859ef\u003c/code\u003e\u003c/a\u003e implement lazy loading of heavy optional deps (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/689\"\u003e#689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/611161f54bcffa42cac313ab5c131e552fc9b2f0\"\u003e\u003ccode\u003e611161f\u003c/code\u003e\u003c/a\u003e SQLAlchemy core improvements (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/688\"\u003e#688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/5fd16eb13fc9af0861af608bdfd5c717623ae8ba\"\u003e\u003ccode\u003e5fd16eb\u003c/code\u003e\u003c/a\u003e simple ddl support for a few new engine types (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/a0e621c1e413909086e5344dbc56e3cc8a6a57da\"\u003e\u003ccode\u003ea0e621c\u003c/code\u003e\u003c/a\u003e add Peter for reviews (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/682\"\u003e#682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/c40bbacf6966cdf3bed4a0cd88d2a8cba10e5a8a\"\u003e\u003ccode\u003ec40bbac\u003c/code\u003e\u003c/a\u003e 0.14.1 bugfix release prep (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/680\"\u003e#680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/323b76809580854a84c543691ab7c9d976fdad49\"\u003e\u003ccode\u003e323b768\u003c/code\u003e\u003c/a\u003e Reenable default Cython runtime path and reestablish C/Python parity (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/679\"\u003e#679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/01149488c25e39e085d51edfcfdc8516162ff503\"\u003e\u003ccode\u003e0114948\u003c/code\u003e\u003c/a\u003e fix sqlalchemy empty result metadata for orm queries (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/678\"\u003e#678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.10.0...v0.15.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `couchbase` from 4.3.6 to 4.6.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/fbceef9ed86af073f7f4144b5154a80a52130208\"\u003e\u003ccode\u003efbceef9\u003c/code\u003e\u003c/a\u003e Add typing-extensions dependency for Python versions \u0026lt; 3.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/094022654ac4f925a6b5b04a1eedf24d74446962\"\u003e\u003ccode\u003e0940226\u003c/code\u003e\u003c/a\u003e Test Improvements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/64a401a3ffacffc94b7caf5ba8e12d4744939fdc\"\u003e\u003ccode\u003e64a401a\u003c/code\u003e\u003c/a\u003e PYCBC-1756: Streaming API Improvements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/d37b5245d9efcf078c8f84593e4ddcc18360b1c0\"\u003e\u003ccode\u003ed37b524\u003c/code\u003e\u003c/a\u003e PYCBC-1754: Logging Improvements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/558dd206639e1c01890c6245f9d5c6e468004cfd\"\u003e\u003ccode\u003e558dd20\u003c/code\u003e\u003c/a\u003e PYCBC-1720: Wrapper SDK Observability Improvments - OTel Integration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/d17409c317482d324a843567d29f572a073e3c16\"\u003e\u003ccode\u003ed17409c\u003c/code\u003e\u003c/a\u003e PYCBC-1722: Wrapper SDK Observability Improvements - Metrics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/9583de78f8260d05c11e0b16fa93d0884b0d6ad8\"\u003e\u003ccode\u003e9583de7\u003c/code\u003e\u003c/a\u003e PYCBC-1750: Wrapper SDK Observability - Remaining Management APIs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/5dc9ef7a15e75a970194b19317d6eb929277653e\"\u003e\u003ccode\u003e5dc9ef7\u003c/code\u003e\u003c/a\u003e PYCBC-1721: Wrapper SDK Observability - Tracing Baseline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/47fd1f4cf2471b7c68238ec9f1de3231ff750fea\"\u003e\u003ccode\u003e47fd1f4\u003c/code\u003e\u003c/a\u003e PYCBC-1755: Update JSONType type hint to adhere to static typing standards\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/e14bbae5bb6efdaff15d93074cdeefc3ce103044\"\u003e\u003ccode\u003ee14bbae\u003c/code\u003e\u003c/a\u003e PYCBC-1715: Support JWT based authentication in Operational SDKs\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/couchbase/couchbase-python-client/compare/4.3.6...4.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `elasticsearch` from 8.14.0 to 9.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/elastic/elasticsearch-py/releases\"\u003eelasticsearch's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.3.0\u003c/h2\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epack_dense_vector\u003c/code\u003e helper function to pack dense vectors for efficient uploading (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3219\"\u003e#3219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNew and updated ES|QL functions in the ES|QL query builder for 9.3 and Serverless (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3266\"\u003e#3266\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAPI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ecat.circuit_breaker\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eesql.get_view\u003c/code\u003e, \u003ccode\u003eesql.put_view\u003c/code\u003e and \u003ccode\u003eesql.delete_view\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eindices.get_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.put_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.delete_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.get_all_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.get_sample\u003c/code\u003e, \u003ccode\u003eindices.get_sample_stats\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003einference.put_groq\u003c/code\u003e, \u003ccode\u003einference.put_openshift_ai\u003c/code\u003e, \u003ccode\u003einference.put_nvidia\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003edownsampling_method\u003c/code\u003e argument to \u003ccode\u003eindices.put_data_lifecycle\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ereturn_documents\u003c/code\u003e and \u003ccode\u003etop_n\u003c/code\u003e arguments to \u003ccode\u003einference.rerank\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eclose_job\u003c/code\u003e argument to \u003ccode\u003eml.stop_datafeed\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecertificate_identity\u003c/code\u003e to \u003ccode\u003esecurity.create_cross_cluster_api_key\u003c/code\u003e and \u003ccode\u003esecurity.update_cross_cluster_api_key\u003c/code\u003e APIs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServerless-specific\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eproject_routing\u003c/code\u003e argument to \u003ccode\u003eproject.tags\u003c/code\u003e API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDSL\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eNumpyDenseVector\u003c/code\u003e field, with support for dense vectors based on numpy arrays (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3218\"\u003e#3218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eExponentialHistogram\u003c/code\u003e field\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003etime_series_metric\u003c/code\u003e argument to \u003ccode\u003eHistogram\u003c/code\u003e field\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eon_disk_rescore\u003c/code\u003e argument from \u003ccode\u003eDenseVectorIndexOptions\u003c/code\u003e type\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eslices\u003c/code\u003e argument to \u003ccode\u003eUpdateByQueryResponse\u003c/code\u003e type\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.2.1\u003c/h2\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInstrument ping with OTel (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3160\"\u003e#3160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake positional arguments in DSL generated classes explicit  (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3233\"\u003e#3233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd warnings for private APIs (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3212\"\u003e#3212\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eES|QL query builder: fix missing assignment (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3151\"\u003e#3151\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse relative imports to fix \u003ccode\u003eelasticsearch9\u003c/code\u003e package imports (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3232\"\u003e#3232\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAPI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003etransform.get_node_stats\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003erequests_per_second\u003c/code\u003e argument to \u003ccode\u003edelete_by_query_rethrottle\u003c/code\u003e, \u003ccode\u003ereindex_rethrottle\u003c/code\u003e and \u003ccode\u003eupdate_by_query_rethrottle\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eallow_closed\u003c/code\u003e, \u003ccode\u003eallow_no_indices\u003c/code\u003e, \u003ccode\u003eexpand_wildcards\u003c/code\u003e, \u003ccode\u003eignore_throttled\u003c/code\u003e and \u003ccode\u003eignore_available\u003c/code\u003e arguments to \u003ccode\u003ecat.segments\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003echunking_settings\u003c/code\u003e argument to \u003ccode\u003einference.put_watsonxai\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eid\u003c/code\u003e argument to \u003ccode\u003eml.stop_trained_model_deployment\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003echunking_settings\u003c/code\u003e argument from \u003ccode\u003einference.put_anthropic\u003c/code\u003e, \u003ccode\u003einference.put_contextualai\u003c/code\u003e, \u003ccode\u003einference.put_deepseek\u003c/code\u003e APIs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/adae2d6d3d76f3ea75cd758ce64223bd76df45e5\"\u003e\u003ccode\u003eadae2d6\u003c/code\u003e\u003c/a\u003e Release 9.3.0 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3300\"\u003e#3300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/ea2227c743d7cacb474efecf4d8b84fa553f9eec\"\u003e\u003ccode\u003eea2227c\u003c/code\u003e\u003c/a\u003e Add Python 3.14 trove classifier (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3296\"\u003e#3296\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3299\"\u003e#3299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/b507e3e2d91ff0b6f8fb4a53ea23caa989677436\"\u003e\u003ccode\u003eb507e3e\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3293\"\u003e#3293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/76150204725b1495cad3348c573406fc1f3512d1\"\u003e\u003ccode\u003e7615020\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3280\"\u003e#3280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/ef8d102b3fc4d7572e0fd0bb56afe4291fddc529\"\u003e\u003ccode\u003eef8d102\u003c/code\u003e\u003c/a\u003e Stop using pytz (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3275\"\u003e#3275\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3278\"\u003e#3278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/65870f3504344ba7f67feb7721522bef936a92cf\"\u003e\u003ccode\u003e65870f3\u003c/code\u003e\u003c/a\u003e allow adding elasticsearch query filter for mmr searching (elastic#2638) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/32\"\u003e#32\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/b110f19a49ad492d2d6aa514afaac35360ac3c93\"\u003e\u003ccode\u003eb110f19\u003c/code\u003e\u003c/a\u003e Updates to ES|QL functions for 9.3 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3266\"\u003e#3266\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3272\"\u003e#3272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/f3d082788f52b5fe3c80926624fa8a61aa4deb37\"\u003e\u003ccode\u003ef3d0827\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3269\"\u003e#3269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/80818cc2640fcdf902919a3dc5500ae945d33271\"\u003e\u003ccode\u003e80818cc\u003c/code\u003e\u003c/a\u003e Auto-generated code for 9.3 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3262\"\u003e#3262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/6baa03faedefc90ccbc5f902626cc8cea46aed6a\"\u003e\u003ccode\u003e6baa03f\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3252\"\u003e#3252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/elastic/elasticsearch-py/compare/v8.14.0...v9.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oracledb` from 3.3.0 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oracle/python-oracledb/releases\"\u003eoracledb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.4.2\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.2 is now released. This release addresses a number of issues. See the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-2-january-2026\"\u003efull release notes\u003c/a\u003e for all of the details.\u003c/p\u003e\n\u003ch2\u003ev3.4.1\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.1 is now released. This release addresses a number of issues. See the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-1-november-2025\"\u003efull release notes\u003c/a\u003e for all of the details.\u003c/p\u003e\n\u003ch2\u003ev3.4.0\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.0 is now released. This release has the following highlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003esupport for Direct Path Load in thin mode for fast data ingestion\u003c/li\u003e\n\u003cli\u003esupport for data frames is no longer considered a pre-release\u003c/li\u003e\n\u003cli\u003esupport for type mapping when querying with data frames\u003c/li\u003e\n\u003cli\u003esupport for ingesting more Apache Arrow data types\u003c/li\u003e\n\u003cli\u003esupport for ingesting Apache Arrow data frames containing multiple chunks\u003c/li\u003e\n\u003cli\u003esupport for cursor.executemany() operating on large input data in batches\u003c/li\u003e\n\u003cli\u003efine-grained control over LOB and number handling\u003c/li\u003e\n\u003cli\u003enew optional install dependencies for plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-0-october-2025\"\u003efull release notes\u003c/a\u003e for all of the details.\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/oracle/python-oracledb/commit/51581eeb0a626fb3df4e25e00ddb3a28137d3831\"\u003e\u003ccode\u003e51581ee\u003c/code\u003e\u003c/a\u003e Preparing to release python-oracledb 3.4.2.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/81ceb554a0bfb52eb64b7b3870907d9b19bf15bd\"\u003e\u003ccode\u003e81ceb55\u003c/code\u003e\u003c/a\u003e Fixed bug which caused Connection.call_timeout to be reset to zero when\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/4a94025de99763fd0d16d1c2d79d416b9a075e12\"\u003e\u003ccode\u003e4a94025\u003c/code\u003e\u003c/a\u003e Eliminated memory leak when converting a third party data frame to one\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/36a29517530bfe311dab41218a3bc3d80700fe2c\"\u003e\u003ccode\u003e36a2951\u003c/code\u003e\u003c/a\u003e Fixed bug when decoding PL/SQL booleans in Oracle Database 12.1 (\u003ca href=\"https://redirect.github.com/oracle/python-oracledb/issues/565\"\u003e#565\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/6072f01b420af4c2d36c1b9f7b1421aab64ea336\"\u003e\u003ccode\u003e6072f01\u003c/code\u003e\u003c/a\u003e Grammar fix.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/f8be001d9862d6b0b6ec6158b67affef7a70556e\"\u003e\u003ccode\u003ef8be001\u003c/code\u003e\u003c/a\u003e Fixed bug causing hang when using asyncio and the database closes the\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/6e0d8b9da4b259e1b11ad648d354ca659f537a6a\"\u003e\u003ccode\u003e6e0d8b9\u003c/code\u003e\u003c/a\u003e Eliminated race condition in background thread/coroutine management for\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/40200bfa1cb9dde0977a509c84cfdde66f144358\"\u003e\u003ccode\u003e40200bf\u003c/code\u003e\u003c/a\u003e Adjusted code and tests to be capable of being run in environments other\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/36f8899fa71ebd4aec80b87f990633e86abc6b95\"\u003e\u003ccode\u003e36f8899\u003c/code\u003e\u003c/a\u003e Added support for ingesting Arrow arrays which only consist of null\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/7bf23b6c2061d20358b030104249bd703ac1832e\"\u003e\u003ccode\u003e7bf23b6\u003c/code\u003e\u003c/a\u003e Fixed bug when calling Cursor.executemany() with all of the values in at\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/oracle/python-oracledb/compare/v3.3.0...v3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pgvector` from 0.2.5 to 0.4.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md\"\u003epgvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2 (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 6\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estr\u003c/code\u003e objects for \u003ccode\u003ebit\u003c/code\u003e type with SQLAlchemy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 (2025-04-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eSparseVector\u003c/code\u003e constructor for SciPy sparse matrices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 (2025-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded top-level \u003ccode\u003epgvector\u003c/code\u003e package\u003c/li\u003e\n\u003cli\u003eAdded support for pg8000\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ebytes\u003c/code\u003e to \u003ccode\u003eBit\u003c/code\u003e constructor\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eglobally\u003c/code\u003e option to default to \u003ccode\u003eFalse\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003earrays\u003c/code\u003e option to default to \u003ccode\u003eTrue\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eFixed equality for \u003ccode\u003eVector\u003c/code\u003e, \u003ccode\u003eHalfVector\u003c/code\u003e, \u003ccode\u003eBit\u003c/code\u003e, and \u003ccode\u003eSparseVector\u003c/code\u003e classes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eindices\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods of \u003ccode\u003eSparseVector\u003c/code\u003e returning tuple instead of list in some cases\u003c/li\u003e\n\u003cli\u003eDropped support for Python \u0026lt; 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 (2024-10-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003earrays\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 (2024-10-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eavg\u003c/code\u003e function with type casting to SQLAlchemy\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eglobally\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.4 (2024-09-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eschema\u003c/code\u003e option for asyncpg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.3 (2024-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved support for cursor factories with Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.2 (2024-07-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error with asyncpg and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.1 (2024-07-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error parsing zero sparse vectors\u003c/li\u003e\n\u003cli\u003eFixed error with Psycopg 2 and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003cli\u003eFixed error message when \u003ccode\u003evector\u003c/code\u003e type not found with Psycopg 3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.0 (2024-06-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ehalfvec\u003c/code\u003e, \u003ccode\u003ebit\u003c/code\u003e, and \u003ccode\u003esparsevec\u003c/code\u003e types to Django\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/2968f258f9486531bd1340cbda4ff8fcaf06cdc1\"\u003e\u003ccode\u003e2968f25\u003c/code\u003e\u003c/a\u003e Version bump to 0.4.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/674f5ba3410c873d49f50fa9725b95d9db50c674\"\u003e\u003ccode\u003e674f5ba\u003c/code\u003e\u003c/a\u003e Updated checkout action [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e2986daf2b1533cc2c849f7e39350e31d57ac325\"\u003e\u003ccode\u003ee2986da\u003c/code\u003e\u003c/a\u003e Added support for Django 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e211ba4029f204734f0c001fbb90f6a594d561ae\"\u003e\u003ccode\u003ee211ba4\u003c/code\u003e\u003c/a\u003e Test with Python 3.14 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/1a72b7571adf3325174b383aca85bfb3a5b925fa\"\u003e\u003ccode\u003e1a72b75\u003c/code\u003e\u003c/a\u003e Updated pgvector on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/c820a53bfb46196551de3c3f59f81b192d890574\"\u003e\u003ccode\u003ec820a53\u003c/code\u003e\u003c/a\u003e Simplified examples [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/caf1a2e0dd7a1ba2ad0ca9f09b50516dcfffcdeb\"\u003e\u003ccode\u003ecaf1a2e\u003c/code\u003e\u003c/a\u003e Added docs for binary quantization with SQLAlchemy [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/dc9a8f959995f009649fd230139ca41193e0a801\"\u003e\u003ccode\u003edc9a8f9\u003c/code\u003e\u003c/a\u003e Added test for binary quantization with re-ranking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/33dee606229489c9ffb0cb5a1cd72bd4705ac618\"\u003e\u003ccode\u003e33dee60\u003c/code\u003e\u003c/a\u003e Added support for str objects for bit type with SQLAlchemy - \u003ca href=\"https://redirect.github.com/pgvector/pgvector-python/issues/137\"\u003e#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/ee3e71ca2c07a12a8332a3877c0ce14adc9a5da8\"\u003e\u003ccode\u003eee3e71c\u003c/code\u003e\u003c/a\u003e Updated format for license identifier\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgvector/pgvector-python/compare/v0.2.5...v0.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymilvus` from 2.5.17 to 2.6.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/milvus-io/pymilvus/releases\"\u003epymilvus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePyMilvus v2.6.11 Release Notes\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003efix: pass address to GrpcHandler in ConnectionManager strategies\u003c/strong\u003e — fixed Milvus Lite local path broken since 2.6.10 (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3321\"\u003e#3321\u003c/a\u003e,  \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3323\"\u003e#3323\u003c/a\u003e) by \u003ca href=\"https://github.com/XuanYang-cn\"\u003e\u003ccode\u003e@​XuanYang-cn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: prevent \u0026quot;Cannot invoke RPC on closed channel\u0026quot; after connection recovery\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3326\"\u003e#3326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3345\"\u003e#3345\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: correct parameter name typos in QueryIterator causing partition filter bypass\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3324\"\u003e#3324\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3330\"\u003e#3330\u003c/a\u003e) by\n\u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: handle None response in search to prevent AttributeError\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3331\"\u003e#3331\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3332\"\u003e#3332\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: resolve bytes vector type misidentification in search path\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3334\"\u003e#3334\u003c/a\u003e) by \u003ca href=\"https://github.com/zhuwenxing\"\u003e\u003ccode\u003e@​zhuwenxing\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: guard MilvusClient._get_connection against None handler\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3337\"\u003e#3337\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3338\"\u003e#3338\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: handle None credentials in connections.connect()\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3343\"\u003e#3343\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3353\"\u003e#3353\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: use explicit length check for numpy array compatibility in search\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3342\"\u003e#3342\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3352\"\u003e#3352\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: clarify wrong-port guidance for UNIMPLEMENTED errors\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3315\"\u003e#3315\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3322\"\u003e#3322\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: display human-readable state and level in SegmentInfo repr\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3336\"\u003e#3336\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3355\"\u003e#3355\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: pin setuptools_scm\u0026lt;9 to prevent _types import breakage\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3348\"\u003e#3348\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures \u0026amp; Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003efeat: support Python 3.14\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3306\"\u003e#3306\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3318\"\u003e#3318\u003c/a\u003e) by \u003ca href=\"https://github.com/XuanYang-cn\"\u003e\u003ccode\u003e@​XuanYang-cn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: extract _get_dim helper to deduplicate dimension lookup (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3344\"\u003e#3344\u003c/a...\n\n_Description has been truncated_","html_url":"https://github.com/285519099/MyDify/pull/39","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/285519099%2FMyDify/issues/39","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/39/packages"}},{"old_version":"0.2.5","new_version":"0.4.2","update_type":"minor","path":null,"pr_created_at":"2026-04-04T21:38:08.000Z","version_change":"0.2.5 → 0.4.2","issue":{"uuid":"4205859091","node_id":"PR_kwDORmx2Bs7P_ePg","number":46,"state":"closed","title":"chore(deps-dev): bump the vdb group across 1 directory with 20 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-11T21:37:44.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-04T21:38:08.000Z","updated_at":"2026-04-11T21:37:46.000Z","time_to_close":604776,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"vdb","update_count":20,"packages":[{"name":"weaviate-client","old_version":"4.17.0","new_version":"4.20.4","repository_url":"https://github.com/weaviate/weaviate-python-client"},{"name":"alibabacloud-tea-openapi","old_version":"0.3.16","new_version":"0.4.4","repository_url":"https://github.com/aliyun/darabonba-openapi"},{"name":"chromadb","old_version":"0.5.20","new_version":"1.5.5","repository_url":"https://github.com/chroma-core/chroma"},{"name":"clickhouse-connect","old_version":"0.10.0","new_version":"0.15.1","repository_url":"https://github.com/ClickHouse/clickhouse-connect"},{"name":"clickzetta-connector-python","old_version":"0.8.107","new_version":"0.8.109"},{"name":"couchbase","old_version":"4.3.6","new_version":"4.6.0","repository_url":"https://github.com/couchbase/couchbase-python-client"},{"name":"elasticsearch","old_version":"8.14.0","new_version":"9.3.0","repository_url":"https://github.com/elastic/elasticsearch-py"},{"name":"oracledb","old_version":"3.3.0","new_version":"3.4.2","repository_url":"https://github.com/oracle/python-oracledb"},{"name":"pgvector","old_version":"0.2.5","new_version":"0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"},{"name":"pymilvus","old_version":"2.5.17","new_version":"2.6.11","repository_url":"https://github.com/milvus-io/pymilvus"},{"name":"pymochow","old_version":"2.2.9","new_version":"2.4.0"},{"name":"pyobvector","old_version":"0.2.20","new_version":"0.2.25","repository_url":"https://github.com/oceanbase/pyobvector"},{"name":"qdrant-client","old_version":"1.9.0","new_version":"1.17.1","repository_url":"https://github.com/qdrant/qdrant-client"},{"name":"intersystems-irispython","old_version":"5.3.1","new_version":"5.3.2"},{"name":"tablestore","old_version":"6.3.7","new_version":"6.4.3","repository_url":"https://github.com/aliyun/aliyun-tablestore-python-sdk"},{"name":"tcvectordb","old_version":"1.6.4","new_version":"2.1.1"},{"name":"tidb-vector","old_version":"0.0.9","new_version":"0.0.15"},{"name":"upstash-vector","old_version":"0.6.0","new_version":"0.8.0","repository_url":"https://github.com/upstash/vector-py"},{"name":"xinference-client","old_version":"1.2.2","new_version":"2.4.0","repository_url":"https://github.com/xorbitsai/inference-client"},{"name":"mysql-connector-python","old_version":"9.5.0","new_version":"9.6.0","repository_url":"https://github.com/mysql/mysql-connector-python"}],"path":null,"ecosystem":"pip"},"body":"Bumps the vdb group with 20 updates in the /api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [weaviate-client](https://github.com/weaviate/weaviate-python-client) | `4.17.0` | `4.20.4` |\n| [alibabacloud-tea-openapi](https://github.com/aliyun/darabonba-openapi) | `0.3.16` | `0.4.4` |\n| [chromadb](https://github.com/chroma-core/chroma) | `0.5.20` | `1.5.5` |\n| [clickhouse-connect](https://github.com/ClickHouse/clickhouse-connect) | `0.10.0` | `0.15.1` |\n| clickzetta-connector-python | `0.8.107` | `0.8.109` |\n| [couchbase](https://github.com/couchbase/couchbase-python-client) | `4.3.6` | `4.6.0` |\n| [elasticsearch](https://github.com/elastic/elasticsearch-py) | `8.14.0` | `9.3.0` |\n| [oracledb](https://github.com/oracle/python-oracledb) | `3.3.0` | `3.4.2` |\n| [pgvector](https://github.com/pgvector/pgvector-python) | `0.2.5` | `0.4.2` |\n| [pymilvus](https://github.com/milvus-io/pymilvus) | `2.5.17` | `2.6.11` |\n| [pymochow](http://bce.baidu.com) | `2.2.9` | `2.4.0` |\n| [pyobvector](https://github.com/oceanbase/pyobvector) | `0.2.20` | `0.2.25` |\n| [qdrant-client](https://github.com/qdrant/qdrant-client) | `1.9.0` | `1.17.1` |\n| [intersystems-irispython](https://www.intersystems.com/) | `5.3.1` | `5.3.2` |\n| [tablestore](https://github.com/aliyun/aliyun-tablestore-python-sdk) | `6.3.7` | `6.4.3` |\n| tcvectordb | `1.6.4` | `2.1.1` |\n| tidb-vector | `0.0.9` | `0.0.15` |\n| [upstash-vector](https://github.com/upstash/vector-py) | `0.6.0` | `0.8.0` |\n| [xinference-client](https://github.com/xorbitsai/inference-client) | `1.2.2` | `2.4.0` |\n| [mysql-connector-python](https://github.com/mysql/mysql-connector-python) | `9.5.0` | `9.6.0` |\n\n\nUpdates `weaviate-client` from 4.17.0 to 4.20.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weaviate/weaviate-python-client/releases\"\u003eweaviate-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.20.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump authlib to 1.6.9 to avoid high cve by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1975\"\u003eweaviate/weaviate-python-client#1975\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.2...v4.20.3\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.2...v4.20.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eperf: use deque for iterator object cache by \u003ca href=\"https://github.com/giulio-leone\"\u003e\u003ccode\u003e@​giulio-leone\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1968\"\u003eweaviate/weaviate-python-client#1968\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexpose include_last_used_time parameter, return created_at and api_key_first_letters by \u003ca href=\"https://github.com/dudanogueira\"\u003e\u003ccode\u003e@​dudanogueira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1965\"\u003eweaviate/weaviate-python-client#1965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for incremental backups by \u003ca href=\"https://github.com/dirkkul\"\u003e\u003ccode\u003e@​dirkkul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1928\"\u003eweaviate/weaviate-python-client#1928\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/giulio-leone\"\u003e\u003ccode\u003e@​giulio-leone\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1968\"\u003eweaviate/weaviate-python-client#1968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.1...v4.20.2\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.1...v4.20.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix empty list filter raising IndexError instead of WeaviateInvalidInputError by \u003ca href=\"https://github.com/dirkkul\"\u003e\u003ccode\u003e@​dirkkul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1962\"\u003eweaviate/weaviate-python-client#1962\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.0...v4.20.1\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.0...v4.20.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eflat index: Add support for RQ and include cache param by \u003ca href=\"https://github.com/rlmanrique\"\u003e\u003ccode\u003e@​rlmanrique\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1844\"\u003eweaviate/weaviate-python-client#1844\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003ecollection.data.ingest\u003c/code\u003e for sync/async SSB usage by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1876\"\u003eweaviate/weaviate-python-client#1876\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd delete_property_index to collection config by \u003ca href=\"https://github.com/DanielJanicek\"\u003e\u003ccode\u003e@​DanielJanicek\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1940\"\u003eweaviate/weaviate-python-client#1940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid id invalidation in nested properties by \u003ca href=\"https://github.com/dudanogueira\"\u003e\u003ccode\u003e@​dudanogueira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1952\"\u003eweaviate/weaviate-python-client#1952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide options allowing users to specify custom grpc SSL credentials by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1946\"\u003eweaviate/weaviate-python-client#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for cancelling backup restore ops by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1956\"\u003eweaviate/weaviate-python-client#1956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove cache option from SQConfig, deprecate field in factory method by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1954\"\u003eweaviate/weaviate-python-client#1954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow imgs/img_props in cohere generative config runtime by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1955\"\u003eweaviate/weaviate-python-client#1955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce async repl conf in (re)configure and unit tests of usage by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1953\"\u003eweaviate/weaviate-python-client#1953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Hfresh index type by \u003ca href=\"https://github.com/robbespo00\"\u003e\u003ccode\u003e@​robbespo00\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1848\"\u003eweaviate/weaviate-python-client#1848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Cluster Statistics (client.cluster.statistics()) by \u003ca href=\"https://github.com/Shah91n\"\u003e\u003ccode\u003e@​Shah91n\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1959\"\u003eweaviate/weaviate-python-client#1959\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/Shah91n\"\u003e\u003ccode\u003e@​Shah91n\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1959\"\u003eweaviate/weaviate-python-client#1959\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.19.4...v4.20.0\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.19.4...v4.20.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.19.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd gRPC ping check to is_live method  by \u003ca href=\"https://github.com/sylvinho81\"\u003e\u003ccode\u003e@​sylvinho81\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1949\"\u003eweaviate/weaviate-python-client#1949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-raise in \u003ccode\u003ecollection.exists()\u003c/code\u003e if status code is not 404 by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1950\"\u003eweaviate/weaviate-python-client#1950\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weaviate/weaviate-python-client/blob/main/docs/changelog.rst\"\u003eweaviate-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 4.20.4\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Include client version in GRPC requests\n- Add support for the new \u003ccode\u003emulti2vec_google_gemini\u003c/code\u003e module\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.3\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Update of \u003ccode\u003eauthlib\u003c/code\u003e dependency\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.2\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Support for incremental backups\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.1\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Raise an input error when filtering on an empty list\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.0\u003c/h2\u003e\n\u003cp\u003eThis minor version includes:\n- Support for new 1.36 features:\n- Server-side batching (SSB) is now GA via \u003ccode\u003ebatch.stream\u003c/code\u003e (\u003ccode\u003ebatch.experimental\u003c/code\u003e is deprecated)\n- Add \u003ccode\u003ecollection.data.ingest\u003c/code\u003e as a new entry point for SSB usage in sync and async clients\n- Add support for the new HFresh index type\n- Add support for async replication configuration\n- Add support for cancelling backup restore operations\n- Add \u003ccode\u003ecollection.config.delete_property_index\u003c/code\u003e to drop filterable, searchable, or range filter indices from properties\n- Add \u003ccode\u003eclient.cluster.statistics()\u003c/code\u003e method for retrieving cluster and Raft statistics\n- Allow \u003ccode\u003eimages\u003c/code\u003e and \u003ccode\u003eimage_properties\u003c/code\u003e in Cohere generative config at runtime\n- Provide options to specify custom gRPC SSL credentials for advanced connection setups\n- Remove \u003ccode\u003ecache\u003c/code\u003e option from \u003ccode\u003eSQConfig\u003c/code\u003e and deprecate the field in the factory method\n- Fix validation of nested object properties to allow \u003ccode\u003eid\u003c/code\u003e as a nested property name\u003c/p\u003e\n\u003ch2\u003eVersion 4.19.4\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Adds the gRPC healthcheck ping to the \u003ccode\u003eis_live()\u003c/code\u003e method of the async client to provide a more accurate check of the connection status of the async client\n- Fixes bug where exceptions raised in \u003ccode\u003ecollections.exists()\u003c/code\u003e were silently ignored and the method would return \u003ccode\u003eFalse\u003c/code\u003e instead of raising the exception\u003c/p\u003e\n\u003ch2\u003eVersion 4.19.3\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Add support for VoyageAI voyage-4 model family (voyage-4, voyage-4-lite, voyage-4-large)\n- A fix for async client connection issues when \u003ccode\u003epypi\u003c/code\u003e is down\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/weaviate/weaviate-python-client/commit/c0b796e07af0fef5555d37cf78a9a47dae62bb0c\"\u003e\u003ccode\u003ec0b796e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1982\"\u003e#1982\u003c/a\u003e from weaviate/changelog_4_20_4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/dfa8ae431413db4bb66ad2054487018b3362f360\"\u003e\u003ccode\u003edfa8ae4\u003c/code\u003e\u003c/a\u003e Add changelog for v4.20.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/3a0958c19133ecb10565b66d4d0d4ab818d7a619\"\u003e\u003ccode\u003e3a0958c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1977\"\u003e#1977\u003c/a\u003e from weaviate/multi2vec-google-aistudio-vectorizer-c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/106f22584de2bc00f347534c19661af997112583\"\u003e\u003ccode\u003e106f225\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into multi2vec-google-aistudio-vectorizer-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/5ca709e0c068ae8531368d489062169cd7b9306d\"\u003e\u003ccode\u003e5ca709e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1980\"\u003e#1980\u003c/a\u003e from weaviate/client_version_grpc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/55e56f06bf0444fb4caf9f31da7b61dad10ef291\"\u003e\u003ccode\u003e55e56f0\u003c/code\u003e\u003c/a\u003e Dont overwrite version from additional headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/79ee3d030a8c9829c0ea3ca8240ebcdefe710647\"\u003e\u003ccode\u003e79ee3d0\u003c/code\u003e\u003c/a\u003e Add client version to GRPC headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/2ccdaa109a8ba599bec569b489aca3497087869e\"\u003e\u003ccode\u003e2ccdaa1\u003c/code\u003e\u003c/a\u003e chore: rename multi2vec_google_aistudio config to multi2vec_google_gemini\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/ce633119510d6b8ae71dec0310d4a5d08700e172\"\u003e\u003ccode\u003ece63311\u003c/code\u003e\u003c/a\u003e feat: add multi2vec_google_aistudio vectorizer config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/db8a91c514b042dda0871eeb7a27cc9c65f70e71\"\u003e\u003ccode\u003edb8a91c\u003c/code\u003e\u003c/a\u003e Bump authlib to 1.6.9 to avoid high cve (\u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1975\"\u003e#1975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.17.0...v4.20.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alibabacloud-tea-openapi` from 0.3.16 to 0.4.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aliyun/darabonba-openapi/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `chromadb` from 0.5.20 to 1.5.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/chroma-core/chroma/releases\"\u003echromadb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.5.5\u003c/h2\u003e\n\u003cp\u003eVersion: \u003ccode\u003e1.5.5\u003c/code\u003e\nGit ref: \u003ccode\u003erefs/tags/1.5.5\u003c/code\u003e\nBuild Date: \u003ccode\u003e2026-03-10T09:30\u003c/code\u003e\nPIP Package: \u003ccode\u003echroma-1.5.5.tar.gz\u003c/code\u003e\nGithub Container Registry Image: \u003ccode\u003e:1.5.5\u003c/code\u003e\nDockerHub Image: \u003ccode\u003e:1.5.5\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[RELEASE] Rust v0.13.2 by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6583\"\u003echroma-core/chroma#6583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Use buffer_unordered for lazy fragment fetch concurrency by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6584\"\u003echroma-core/chroma#6584\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] chroma configuration reference by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6592\"\u003echroma-core/chroma#6592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[PERF]: Dedup + filter out disbled collections before sysdb enrichment by \u003ca href=\"https://github.com/sanketkedia\"\u003e\u003ccode\u003e@​sanketkedia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6566\"\u003echroma-core/chroma#6566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[TST] Fix test_cross_version_persist by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6604\"\u003echroma-core/chroma#6604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Warn on no API key set on JS EFs by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6599\"\u003echroma-core/chroma#6599\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Add a GoogleGemini EF name alias by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6620\"\u003echroma-core/chroma#6620\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[RELEASE] Python 1.5.5 by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6602\"\u003echroma-core/chroma#6602\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chroma-core/chroma/compare/1.5.4...1.5.5\"\u003ehttps://github.com/chroma-core/chroma/compare/1.5.4...1.5.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.5.3\u003c/h2\u003e\n\u003cp\u003eVersion: \u003ccode\u003e1.5.3\u003c/code\u003e\nGit ref: \u003ccode\u003erefs/tags/1.5.3\u003c/code\u003e\nBuild Date: \u003ccode\u003e2026-03-07T19:07\u003c/code\u003e\nPIP Package: \u003ccode\u003echroma-1.5.3.tar.gz\u003c/code\u003e\nGithub Container Registry Image: \u003ccode\u003e:1.5.3\u003c/code\u003e\nDockerHub Image: \u003ccode\u003e:1.5.3\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[ENH] Thread topology name through purge-dirty pipeline by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6503\"\u003echroma-core/chroma#6503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CHORE]  Tighten down k8s resources in test. by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6509\"\u003echroma-core/chroma#6509\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Purge dirty via Spanner when topology is specified by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6504\"\u003echroma-core/chroma#6504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG]: Drop pydantic v1 compatibility layer for Python 3.14 support by \u003ca href=\"https://github.com/basnijholt\"\u003e\u003ccode\u003e@​basnijholt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6356\"\u003echroma-core/chroma#6356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[PERF] Parallelize segment reader initialization in filter and idf operators by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6522\"\u003echroma-core/chroma#6522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Preallocate during pull log parsing by \u003ca href=\"https://github.com/tanujnay112\"\u003e\u003ccode\u003e@​tanujnay112\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6528\"\u003echroma-core/chroma#6528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[TST] Make pytest use importlib by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6483\"\u003echroma-core/chroma#6483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CLN] Make telemetry a no-op and remove posthog as a dependency by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6489\"\u003echroma-core/chroma#6489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] fix forking numbers by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6530\"\u003echroma-core/chroma#6530\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/blob/HEAD/storage\"\u003eBUG\u003c/a\u003e: retry batch fetch on channel closure by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6526\"\u003echroma-core/chroma#6526\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG] CAS on version during reassignment by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6529\"\u003echroma-core/chroma#6529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] use ResourceExhausted error code for log backpressure by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6527\"\u003echroma-core/chroma#6527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Ordered sparse vector writer by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6495\"\u003echroma-core/chroma#6495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] update docs for s3 sync by \u003ca href=\"https://github.com/philipithomas\"\u003e\u003ccode\u003e@​philipithomas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6515\"\u003echroma-core/chroma#6515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG] avoid redundant manifest load in pull_logs_inner by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6544\"\u003echroma-core/chroma#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Skip record load when only id is requested by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6540\"\u003echroma-core/chroma#6540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/blob/HEAD/log\"\u003eENH\u003c/a\u003e add pointer-based log fetch via ScoutLogFragments by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6533\"\u003echroma-core/chroma#6533\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Add ReadLevel to count in be by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6539\"\u003echroma-core/chroma#6539\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Add a gauge metric in sysdb to track compaction_failure_count by \u003ca href=\"https://github.com/tanujnay112\"\u003e\u003ccode\u003e@​tanujnay112\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6550\"\u003echroma-core/chroma#6550\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Fix query param by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6557\"\u003echroma-core/chroma#6557\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/eca66b7afd4b7aea227644f8c78030f16fc2837a\"\u003e\u003ccode\u003eeca66b7\u003c/code\u003e\u003c/a\u003e [RELEASE] Python 1.5.5 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6602\"\u003e#6602\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/ce0eede5941e15017204c69387493a35ee97afa4\"\u003e\u003ccode\u003ece0eede\u003c/code\u003e\u003c/a\u003e [ENH] Add a GoogleGemini EF name alias (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6620\"\u003e#6620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/3604eea9165d26ef6eefb03893ae1b04d1803b1e\"\u003e\u003ccode\u003e3604eea\u003c/code\u003e\u003c/a\u003e [ENH] Warn on no API key set on JS EFs (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6599\"\u003e#6599\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/9e7bd7fbf91746166e56e140ed548d070f638722\"\u003e\u003ccode\u003e9e7bd7f\u003c/code\u003e\u003c/a\u003e [TST] Fix test_cross_version_persist (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6604\"\u003e#6604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/03a3169183d372360321c76a034c97f8a1e2ac4c\"\u003e\u003ccode\u003e03a3169\u003c/code\u003e\u003c/a\u003e [PERF]: Dedup + filter out disbled collections before sysdb enrichment (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6566\"\u003e#6566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/475bbfcfdba3b40c737c3a90a4f1a915298b16f6\"\u003e\u003ccode\u003e475bbfc\u003c/code\u003e\u003c/a\u003e [DOC] chroma configuration reference (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6592\"\u003e#6592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/02d2d8cd21150cd2ffdecce2c23e0234e04bb2fc\"\u003e\u003ccode\u003e02d2d8c\u003c/code\u003e\u003c/a\u003e [ENH] Use buffer_unordered for lazy fragment fetch concurrency (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6584\"\u003e#6584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/130449099a5eb756a55e4c73ed1d29fdebc5b371\"\u003e\u003ccode\u003e1304490\u003c/code\u003e\u003c/a\u003e [RELEASE] Rust v0.13.2 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6583\"\u003e#6583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/e0525a2f99589693141974a9c5a38b12299e8eef\"\u003e\u003ccode\u003ee0525a2\u003c/code\u003e\u003c/a\u003e [RELEASE] Python 1.5.4 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6585\"\u003e#6585\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/8c70b3cd112ca5608300b8e58710a4e52e5f97fb\"\u003e\u003ccode\u003e8c70b3c\u003c/code\u003e\u003c/a\u003e [ENH] Exclude yanked versions from cross-version persist test (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6588\"\u003e#6588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/chroma-core/chroma/compare/0.5.20...1.5.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `clickhouse-connect` from 0.10.0 to 0.15.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/releases\"\u003eclickhouse-connect's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.15.1\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse timezone from parameter type hint instead of \u003ccode\u003eserver_tz\u003c/code\u003e when formatting tz-aware datetimes in \u003ccode\u003e{param:Type}\u003c/code\u003e bind expressions. Fixes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/697\"\u003e#697\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.15.0\u003c/h2\u003e\n\u003ch1\u003eImprovements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eComprehensive ClickHouse \u003ccode\u003eJOIN\u003c/code\u003e support in SQLAlchemy via \u003ccode\u003ech_join()\u003c/code\u003e with all strictness/distribution modifiers and \u003ccode\u003eUSING\u003c/code\u003e syntax (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/635\"\u003e#635\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/636\"\u003e#636\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMulti-column \u003ccode\u003earray_join()\u003c/code\u003e for parallel array expansion (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/633\"\u003e#633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing Replicated engine variants (\u003ccode\u003eReplicatedReplacingMergeTree\u003c/code\u003e, etc.) (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/687\"\u003e#687\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLazy imports for \u003ccode\u003enumpy\u003c/code\u003e, \u003ccode\u003epandas\u003c/code\u003e, \u003ccode\u003epyarrow\u003c/code\u003e, and \u003ccode\u003epolars\u003c/code\u003e, ~4x faster bare import time (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/589\"\u003e#589\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBug Fixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003e.final()\u003c/code\u003e and \u003ccode\u003e.sample()\u003c/code\u003e silently overwriting each other when chained (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/658\"\u003e#658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003esqlalchemy.values()\u003c/code\u003e to emit ClickHouse \u003ccode\u003eVALUES\u003c/code\u003e table function syntax (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/681\"\u003e#681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eGraphiteMergeTree\u003c/code\u003e to properly quote \u003ccode\u003econfig_section\u003c/code\u003e argument\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eOther\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003epy.typed\u003c/code\u003e marker that was causing false type errors for mypy/pyright users (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/691\"\u003e#691\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.14.1...v0.15.0\"\u003ehttps://github.com/ClickHouse/clickhouse-connect/compare/v0.14.1...v0.15.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.14.1\u003c/h2\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed JSON and Dynamic column read paths to properly decode shared variant data instead of returning raw binary with discriminator byte prefixes. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/599\"\u003e#599\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/615\"\u003e#615\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed empty ORM/DBAPI \u003ccode\u003eSELECT\u003c/code\u003e results so \u003ccode\u003ecursor.description\u003c/code\u003e is still populated when ClickHouse Native format returns no data blocks. This restores correct handling for empty result sets, including parameterized and limited queries. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/675\"\u003e#675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReenabled the default Cython runtime path so compiled driverc modules are used again unless  \u003ccode\u003eCLICKHOUSE_CONNECT_USE_C=0\u003c/code\u003e is exoplicitly set. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/676\"\u003e#676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.14.0...v0.14.1\"\u003ehttps://github.com/ClickHouse/clickhouse-connect/compare/v0.14.0...v0.14.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.14.0\u003c/h2\u003e\n\u003ch2\u003eHigh level notes\u003c/h2\u003e\n\u003cp\u003eThis release is primarily focused on preparing the path to 1.0.0. It introduces a handful of breaking changes and deprecation warnings for APIs that will be removed or finalized in 1.0.0. If your code uses any of the deprecated parameters, you'll now see \u003ccode\u003eDeprecationWarning\u003c/code\u003es with clear migration guidance and highly recommend addressing these before upgrading to 1.0.0 when it ships.\u003c/p\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eapply_server_timezone\u003c/code\u003e renamed to \u003ccode\u003etz_source\u003c/code\u003e. Options are \u003ccode\u003e\u0026quot;auto\u0026quot;\u003c/code\u003e (the default), \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e, or \u003ccode\u003e\u0026quot;local\u0026quot;\u003c/code\u003e. The old parameter currently still works with a deprecation warning. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/670\"\u003eClickHouse/clickhouse-connect#670\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eutc_tz_aware\u003c/code\u003e renamed to \u003ccode\u003etz_mode\u003c/code\u003e. Options are \u003ccode\u003e\u0026quot;naive_utc\u0026quot;\u003c/code\u003e (the default), \u003ccode\u003e\u0026quot;aware\u0026quot;\u003c/code\u003e, or \u003ccode\u003e\u0026quot;schema\u0026quot;\u003c/code\u003e. The old parameter still currently still works with a deprecation warning. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/664\"\u003eClickHouse/clickhouse-connect#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003eObject('json')\u003c/code\u003e type. This was a legacy experimental JSON type has been removed in favor of the new JSON type in ClickHouse. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/666\"\u003eClickHouse/clickhouse-connect#666\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePandas 1.x support is deprecated and will be removed in 1.0.0. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/667\"\u003eClickHouse/clickhouse-connect#667\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThere's a async-native client based on clickhouse-connect v0.11.0 that is \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/releases/tag/v0.12.0rc1\"\u003eavailable\u003c/a\u003e for testing via \u003ccode\u003epip install clickhouse_connect[async]==0.12.0rc1\u003c/code\u003e. A \u003ccode\u003eFutureWarning\u003c/code\u003e advertising this will now be emitted on creation of the (to be legacy) async client. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/672\"\u003eClickHouse/clickhouse-connect#672\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eExperimental\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.14 free-threading (cp314t) wheel builds for all platforms. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/660\"\u003eClickHouse/clickhouse-connect#660\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where sending redundant settings is skipped. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/639\"\u003eClickHouse/clickhouse-connect#639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eSAMPLE\u003c/code\u003e in SQLAlchemy dialect. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/656\"\u003eClickHouse/clickhouse-connect#656\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\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/ClickHouse/clickhouse-connect/blob/main/CHANGELOG.md\"\u003eclickhouse-connect's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.1, 2026-03-30\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse timezone from parameter type hint instead of \u003ccode\u003eserver_tz\u003c/code\u003e when formatting tz-aware datetimes in \u003ccode\u003e{param:Type}\u003c/code\u003e bind expressions. Previously, \u003ccode\u003ebind_query\u003c/code\u003e always converted datetimes to the server timezone, ignoring explicit timezone declarations in type hints like \u003ccode\u003eDateTime64(6, 'UTC')\u003c/code\u003e. This caused incorrect query results when \u003ccode\u003eserver_tz\u003c/code\u003e differed from the hint timezone. Handles \u003ccode\u003eLowCardinality\u003c/code\u003e, \u003ccode\u003eNullable\u003c/code\u003e, and container type wrappers. Fixes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/697\"\u003e#697\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.15.0, 2026-03-26\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSQLAlchemy: Comprehensive ClickHouse JOIN support via the new \u003ccode\u003ech_join()\u003c/code\u003e helper. All strictness modifiers (\u003ccode\u003eALL\u003c/code\u003e, \u003ccode\u003eANY\u003c/code\u003e, \u003ccode\u003eSEMI\u003c/code\u003e, \u003ccode\u003eANTI\u003c/code\u003e, \u003ccode\u003eASOF\u003c/code\u003e), the \u003ccode\u003eGLOBAL\u003c/code\u003e distribution modifier, and explicit \u003ccode\u003eCROSS JOIN\u003c/code\u003e are now available. Use with \u003ccode\u003eselect_from()\u003c/code\u003e to generate ClickHouse-specific join syntax like \u003ccode\u003eGLOBAL ALL LEFT OUTER JOIN\u003c/code\u003e. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/635\"\u003e#635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: \u003ccode\u003earray_join()\u003c/code\u003e now supports multiple columns for parallel array expansion. Pass a list of columns and a matching list of aliases to generate \u003ccode\u003eARRAY JOIN col1 AS a, col2 AS b, col3 AS c\u003c/code\u003e. Single-column usage is unchanged. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/633\"\u003e#633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: \u003ccode\u003ech_join()\u003c/code\u003e now supports \u003ccode\u003eUSING\u003c/code\u003e syntax via the new \u003ccode\u003eusing\u003c/code\u003e parameter. Pass a list of column name strings to generate \u003ccode\u003eUSING (col1, col2)\u003c/code\u003e instead of \u003ccode\u003eON\u003c/code\u003e. This is important for \u003ccode\u003eFULL OUTER JOIN\u003c/code\u003e where \u003ccode\u003eUSING\u003c/code\u003e merges the join column correctly while \u003ccode\u003eON\u003c/code\u003e produces default values (0, '') for unmatched sides. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/636\"\u003e#636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: Add missing Replicated table engine variants: \u003ccode\u003eReplicatedReplacingMergeTree\u003c/code\u003e, \u003ccode\u003eReplicatedCollapsingMergeTree\u003c/code\u003e, \u003ccode\u003eReplicatedVersionedCollapsingMergeTree\u003c/code\u003e, and \u003ccode\u003eReplicatedGraphiteMergeTree\u003c/code\u003e. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/687\"\u003e#687\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazy imports for optional dependencies (numpy, pandas, pyarrow, polars). If installed, these heavy libraries are no longer imported at \u003ccode\u003eimport clickhouse_connect\u003c/code\u003e time. They are only imported when features that need them are actually used. The C/Numpy optimization bridge is also deferred. This speeds up bare import time of \u003ccode\u003eclickhouse-connect\u003c/code\u003e about 4X in environments where all four are installed. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/589\"\u003e#589\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003epy.typed\u003c/code\u003e marker file. The package does not have comprehensive type annotations, so the PEP 561 marker was causing false type errors for mypy/pyright users. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/691\"\u003e#691\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSQLAlchemy: Fix \u003ccode\u003e.final()\u003c/code\u003e and \u003ccode\u003e.sample()\u003c/code\u003e silently overwriting each other when chained. Both methods now store modifiers as custom attributes on the \u003ccode\u003eSelect\u003c/code\u003e instance and render them during compilation, replacing the previous \u003ccode\u003ewith_hint()\u003c/code\u003e approach that only allowed one hint per table. Chaining in either order (e.g. \u003ccode\u003eselect(t).final().sample(0.1)\u003c/code\u003e) correctly produces \u003ccode\u003eFROM t FINAL SAMPLE 0.1\u003c/code\u003e. Also fixes rendering for aliased tables (\u003ccode\u003eFROM t AS u FINAL\u003c/code\u003e) and supports explicit table targeting in joins. Fixes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/658\"\u003e#658\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: Fix \u003ccode\u003esqlalchemy.values()\u003c/code\u003e to generate ClickHouse's \u003ccode\u003eVALUES\u003c/code\u003e table function syntax. The compiler now emits \u003ccode\u003eVALUES('col1 Type1, col2 Type2', ...)\u003c/code\u003e with the column structure as the first argument, instead of the standard SQL form that places column names after the alias. Generic SQLAlchemy types are mapped to ClickHouse equivalents (e.g. \u003ccode\u003eInteger\u003c/code\u003e to \u003ccode\u003eInt32\u003c/code\u003e, \u003ccode\u003eString\u003c/code\u003e to \u003ccode\u003eString\u003c/code\u003e). Also handles CTE usage by wrapping in \u003ccode\u003eSELECT * FROM VALUES(...)\u003c/code\u003e. Fixes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/681\"\u003e#681\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: Fix \u003ccode\u003eGraphiteMergeTree\u003c/code\u003e and \u003ccode\u003eReplicatedGraphiteMergeTree\u003c/code\u003e to properly single-quote the \u003ccode\u003econfig_section\u003c/code\u003e argument as ClickHouse requires.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.14.1, 2026-03-11\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix JSON and Dynamic column read paths to properly decode shared variant data instead of returning raw binary with discriminator byte prefixes. Shared data values, used when paths exceed \u003ccode\u003emax_dynamic_paths\u003c/code\u003e or types exceed \u003ccode\u003emax_dynamic_types\u003c/code\u003e are now decoded from ClickHouse's binary variant encoding. Scalar types like integers, floats, strings, booleans, and nulls as well as nested objects are now fully decoded. Compound types like Array, Tuple, Map, DateTime, Date, Decimal, and UUID are not yet decoded and will be returned as raw bytes. Fixes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/599\"\u003e#599\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/615\"\u003e#615\u003c/a\u003e, and \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: Fixed empty ORM/DBAPI SELECT results so \u003ccode\u003ecursor.description\u003c/code\u003e is still populated when ClickHouse Native format returns no data blocks. This restores correct handling for empty result sets, including parameterized and limited queries. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/675\"\u003e#675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore the default Cython runtime path so compiled \u003ccode\u003edriverc\u003c/code\u003e modules are used again unless \u003ccode\u003eCLICKHOUSE_CONNECT_USE_C=0\u003c/code\u003e is set. Fix C/Python parity issues in streaming exception handling, \u003ccode\u003eFixedString\u003c/code\u003e string reads, nullable array helpers, and numpy conversion helpers, and expand CI and unit parity coverage to keep the optimized and pure-Python paths in sync. Addresses \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/676\"\u003e#676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSimplify \u003ccode\u003epivot\u003c/code\u003e in the Cython data conversion module to use \u003ccode\u003etuple(zip(*...))\u003c/code\u003e instead of a manual tuple-building loop which matches the pure-Python implementation and provides significant insert speedup.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.14.0, 2026-03-09\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRenamed \u003ccode\u003eapply_server_timezone\u003c/code\u003e parameter to \u003ccode\u003etz_source\u003c/code\u003e across Client and HttpClient. The new \u003ccode\u003etz_source\u003c/code\u003e parameter accepts string values: \u003ccode\u003e\u0026quot;auto\u0026quot;\u003c/code\u003e (default, was \u003ccode\u003eNone\u003c/code\u003e), \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e (was \u003ccode\u003eTrue\u003c/code\u003e or \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e), and \u003ccode\u003e\u0026quot;local\u0026quot;\u003c/code\u003e (was \u003ccode\u003eFalse\u003c/code\u003e). The old \u003ccode\u003eapply_server_timezone\u003c/code\u003e parameter is still accepted but emits a \u003ccode\u003eDeprecationWarning\u003c/code\u003e and will be removed in 1.0. Passing both \u003ccode\u003etz_source\u003c/code\u003e and \u003ccode\u003eapply_server_timezone\u003c/code\u003e raises \u003ccode\u003eProgrammingError\u003c/code\u003e. The \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e value (which had no distinct runtime behavior from \u003ccode\u003eTrue\u003c/code\u003e) maps to \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRenamed \u003ccode\u003eutc_tz_aware\u003c/code\u003e parameter to \u003ccode\u003etz_mode\u003c/code\u003e across Client, QueryContext, and all query methods. The new \u003ccode\u003etz_mode\u003c/code\u003e parameter accepts string values: \u003ccode\u003e\u0026quot;naive_utc\u0026quot;\u003c/code\u003e (default, was \u003ccode\u003eFalse\u003c/code\u003e), \u003ccode\u003e\u0026quot;aware\u0026quot;\u003c/code\u003e (was \u003ccode\u003eTrue\u003c/code\u003e), and \u003ccode\u003e\u0026quot;schema\u0026quot;\u003c/code\u003e (unchanged). The old \u003ccode\u003eutc_tz_aware\u003c/code\u003e parameter is still accepted but emits a \u003ccode\u003eDeprecationWarning\u003c/code\u003e and will be removed in 1.0. Passing both \u003ccode\u003etz_mode\u003c/code\u003e and \u003ccode\u003eutc_tz_aware\u003c/code\u003e raises \u003ccode\u003eProgrammingError\u003c/code\u003e. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/654\"\u003e#654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved the deprecated \u003ccode\u003eObject('json')\u003c/code\u003e type. This was the legacy experimental JSON type that has been superseded by the new \u003ccode\u003eJSON\u003c/code\u003e type in ClickHouse. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/556\"\u003e#556\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePandas 1.x support is now deprecated and will be removed in v1.0.0. A \u003ccode\u003eDeprecationWarning\u003c/code\u003e is emitted at import time for pandas 1.x users.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for the \u003ccode\u003eSAMPLE\u003c/code\u003e clause in SQLAlchemy statements. Note: Due to a SQLAlchemy limitation, only one hint (SAMPLE or FINAL) can be applied per table; chaining both will silently ignore one. For now, this change enables use of sample(), but chaining with final() is not yet supported.  Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/634\"\u003e#634\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eExperimental:\u003c/strong\u003e Added Python 3.14 free-threading (cp314t) wheel builds for all platforms. The full test suite currently (as of 2 MAR, 2026) passes under free-threaded Python, but is not added to the CI test matrix at this time nor has it been otherwise tested to any degree. Free-threading support should be considered experimental with no guarantees of correctness at this time. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/573\"\u003e#573\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.13.0, 2026-02-26\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBREAKING CHANGE: Implement native write path for \u003ccode\u003eVariant\u003c/code\u003e data type with type-aware dispatching.\nPreviously, all values inserted into a \u003ccode\u003eVariant\u003c/code\u003e column were stringified and sent to the server, which\nwould store them in the \u003ccode\u003eString\u003c/code\u003e member if present, or attempt server-side conversion otherwise. Values\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/05ec766c6c336812d1307eb49df33ba954cebb3d\"\u003e\u003ccode\u003e05ec766\u003c/code\u003e\u003c/a\u003e respect bind param tz type hints, bf release 0.15.1 prep\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/c4c2a4e2e1a6b1b54eff4e3effda4eab0781b0eb\"\u003e\u003ccode\u003ec4c2a4e\u003c/code\u003e\u003c/a\u003e 0.15.0 release prep (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/694\"\u003e#694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/cd8cbf48b01ebb68959745aa223f256240d0fe94\"\u003e\u003ccode\u003ecd8cbf4\u003c/code\u003e\u003c/a\u003e Joe/remove pytyped and other small cleanup issues (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/05859efdd18e4ec0d28ae7627b83bb3fd26239be\"\u003e\u003ccode\u003e05859ef\u003c/code\u003e\u003c/a\u003e implement lazy loading of heavy optional deps (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/689\"\u003e#689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/611161f54bcffa42cac313ab5c131e552fc9b2f0\"\u003e\u003ccode\u003e611161f\u003c/code\u003e\u003c/a\u003e SQLAlchemy core improvements (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/688\"\u003e#688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/5fd16eb13fc9af0861af608bdfd5c717623ae8ba\"\u003e\u003ccode\u003e5fd16eb\u003c/code\u003e\u003c/a\u003e simple ddl support for a few new engine types (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/a0e621c1e413909086e5344dbc56e3cc8a6a57da\"\u003e\u003ccode\u003ea0e621c\u003c/code\u003e\u003c/a\u003e add Peter for reviews (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/682\"\u003e#682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/c40bbacf6966cdf3bed4a0cd88d2a8cba10e5a8a\"\u003e\u003ccode\u003ec40bbac\u003c/code\u003e\u003c/a\u003e 0.14.1 bugfix release prep (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/680\"\u003e#680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/323b76809580854a84c543691ab7c9d976fdad49\"\u003e\u003ccode\u003e323b768\u003c/code\u003e\u003c/a\u003e Reenable default Cython runtime path and reestablish C/Python parity (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/679\"\u003e#679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/01149488c25e39e085d51edfcfdc8516162ff503\"\u003e\u003ccode\u003e0114948\u003c/code\u003e\u003c/a\u003e fix sqlalchemy empty result metadata for orm queries (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/678\"\u003e#678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.10.0...v0.15.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `clickzetta-connector-python` from 0.8.107 to 0.8.109\n\nUpdates `couchbase` from 4.3.6 to 4.6.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/fbceef9ed86af073f7f4144b5154a80a52130208\"\u003e\u003ccode\u003efbceef9\u003c/code\u003e\u003c/a\u003e Add typing-extensions dependency for Python versions \u0026lt; 3.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/094022654ac4f925a6b5b04a1eedf24d74446962\"\u003e\u003ccode\u003e0940226\u003c/code\u003e\u003c/a\u003e Test Improvements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/64a401a3ffacffc94b7caf5ba8e12d4744939fdc\"\u003e\u003ccode\u003e64a401a\u003c/code\u003e\u003c/a\u003e PYCBC-1756: Streaming API Improvements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/d37b5245d9efcf078c8f84593e4ddcc18360b1c0\"\u003e\u003ccode\u003ed37b524\u003c/code\u003e\u003c/a\u003e PYCBC-1754: Logging Improvements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/558dd206639e1c01890c6245f9d5c6e468004cfd\"\u003e\u003ccode\u003e558dd20\u003c/code\u003e\u003c/a\u003e PYCBC-1720: Wrapper SDK Observability Improvments - OTel Integration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/d17409c317482d324a843567d29f572a073e3c16\"\u003e\u003ccode\u003ed17409c\u003c/code\u003e\u003c/a\u003e PYCBC-1722: Wrapper SDK Observability Improvements - Metrics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/9583de78f8260d05c11e0b16fa93d0884b0d6ad8\"\u003e\u003ccode\u003e9583de7\u003c/code\u003e\u003c/a\u003e PYCBC-1750: Wrapper SDK Observability - Remaining Management APIs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/5dc9ef7a15e75a970194b19317d6eb929277653e\"\u003e\u003ccode\u003e5dc9ef7\u003c/code\u003e\u003c/a\u003e PYCBC-1721: Wrapper SDK Observability - Tracing Baseline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/47fd1f4cf2471b7c68238ec9f1de3231ff750fea\"\u003e\u003ccode\u003e47fd1f4\u003c/code\u003e\u003c/a\u003e PYCBC-1755: Update JSONType type hint to adhere to static typing standards\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/e14bbae5bb6efdaff15d93074cdeefc3ce103044\"\u003e\u003ccode\u003ee14bbae\u003c/code\u003e\u003c/a\u003e PYCBC-1715: Support JWT based authentication in Operational SDKs\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/couchbase/couchbase-python-client/compare/4.3.6...4.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `elasticsearch` from 8.14.0 to 9.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/elastic/elasticsearch-py/releases\"\u003eelasticsearch's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.3.0\u003c/h2\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epack_dense_vector\u003c/code\u003e helper function to pack dense vectors for efficient uploading (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3219\"\u003e#3219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNew and updated ES|QL functions in the ES|QL query builder for 9.3 and Serverless (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3266\"\u003e#3266\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAPI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ecat.circuit_breaker\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eesql.get_view\u003c/code\u003e, \u003ccode\u003eesql.put_view\u003c/code\u003e and \u003ccode\u003eesql.delete_view\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eindices.get_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.put_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.delete_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.get_all_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.get_sample\u003c/code\u003e, \u003ccode\u003eindices.get_sample_stats\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003einference.put_groq\u003c/code\u003e, \u003ccode\u003einference.put_openshift_ai\u003c/code\u003e, \u003ccode\u003einference.put_nvidia\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003edownsampling_method\u003c/code\u003e argument to \u003ccode\u003eindices.put_data_lifecycle\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ereturn_documents\u003c/code\u003e and \u003ccode\u003etop_n\u003c/code\u003e arguments to \u003ccode\u003einference.rerank\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eclose_job\u003c/code\u003e argument to \u003ccode\u003eml.stop_datafeed\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecertificate_identity\u003c/code\u003e to \u003ccode\u003esecurity.create_cross_cluster_api_key\u003c/code\u003e and \u003ccode\u003esecurity.update_cross_cluster_api_key\u003c/code\u003e APIs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServerless-specific\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eproject_routing\u003c/code\u003e argument to \u003ccode\u003eproject.tags\u003c/code\u003e API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDSL\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eNumpyDenseVector\u003c/code\u003e field, with support for dense vectors based on numpy arrays (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3218\"\u003e#3218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eExponentialHistogram\u003c/code\u003e field\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003etime_series_metric\u003c/code\u003e argument to \u003ccode\u003eHistogram\u003c/code\u003e field\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eon_disk_rescore\u003c/code\u003e argument from \u003ccode\u003eDenseVectorIndexOptions\u003c/code\u003e type\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eslices\u003c/code\u003e argument to \u003ccode\u003eUpdateByQueryResponse\u003c/code\u003e type\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.2.1\u003c/h2\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInstrument ping with OTel (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3160\"\u003e#3160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake positional arguments in DSL generated classes explicit  (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3233\"\u003e#3233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd warnings for private APIs (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3212\"\u003e#3212\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eES|QL query builder: fix missing assignment (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3151\"\u003e#3151\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse relative imports to fix \u003ccode\u003eelasticsearch9\u003c/code\u003e package imports (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3232\"\u003e#3232\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAPI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003etransform.get_node_stats\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003erequests_per_second\u003c/code\u003e argument to \u003ccode\u003edelete_by_query_rethrottle\u003c/code\u003e, \u003ccode\u003ereindex_rethrottle\u003c/code\u003e and \u003ccode\u003eupdate_by_query_rethrottle\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eallow_closed\u003c/code\u003e, \u003ccode\u003eallow_no_indices\u003c/code\u003e, \u003ccode\u003eexpand_wildcards\u003c/code\u003e, \u003ccode\u003eignore_throttled\u003c/code\u003e and \u003ccode\u003eignore_available\u003c/code\u003e arguments to \u003ccode\u003ecat.segments\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003echunking_settings\u003c/code\u003e argument to \u003ccode\u003einference.put_watsonxai\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eid\u003c/code\u003e argument to \u003ccode\u003eml.stop_trained_model_deployment\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003echunking_settings\u003c/code\u003e argument from \u003ccode\u003einference.put_anthropic\u003c/code\u003e, \u003ccode\u003einference.put_contextualai\u003c/code\u003e, \u003ccode\u003einference.put_deepseek\u003c/code\u003e APIs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/adae2d6d3d76f3ea75cd758ce64223bd76df45e5\"\u003e\u003ccode\u003eadae2d6\u003c/code\u003e\u003c/a\u003e Release 9.3.0 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3300\"\u003e#3300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/ea2227c743d7cacb474efecf4d8b84fa553f9eec\"\u003e\u003ccode\u003eea2227c\u003c/code\u003e\u003c/a\u003e Add Python 3.14 trove classifier (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3296\"\u003e#3296\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3299\"\u003e#3299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/b507e3e2d91ff0b6f8fb4a53ea23caa989677436\"\u003e\u003ccode\u003eb507e3e\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3293\"\u003e#3293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/76150204725b1495cad3348c573406fc1f3512d1\"\u003e\u003ccode\u003e7615020\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3280\"\u003e#3280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/ef8d102b3fc4d7572e0fd0bb56afe4291fddc529\"\u003e\u003ccode\u003eef8d102\u003c/code\u003e\u003c/a\u003e Stop using pytz (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3275\"\u003e#3275\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3278\"\u003e#3278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/65870f3504344ba7f67feb7721522bef936a92cf\"\u003e\u003ccode\u003e65870f3\u003c/code\u003e\u003c/a\u003e allow adding elasticsearch query filter for mmr searching (elastic#2638) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/32\"\u003e#32\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/b110f19a49ad492d2d6aa514afaac35360ac3c93\"\u003e\u003ccode\u003eb110f19\u003c/code\u003e\u003c/a\u003e Updates to ES|QL functions for 9.3 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3266\"\u003e#3266\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3272\"\u003e#3272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/f3d082788f52b5fe3c80926624fa8a61aa4deb37\"\u003e\u003ccode\u003ef3d0827\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3269\"\u003e#3269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/80818cc2640fcdf902919a3dc5500ae945d33271\"\u003e\u003ccode\u003e80818cc\u003c/code\u003e\u003c/a\u003e Auto-generated code for 9.3 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3262\"\u003e#3262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/6baa03faedefc90ccbc5f902626cc8cea46aed6a\"\u003e\u003ccode\u003e6baa03f\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3252\"\u003e#3252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/elastic/elasticsearch-py/compare/v8.14.0...v9.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oracledb` from 3.3.0 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oracle/python-oracledb/releases\"\u003eoracledb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.4.2\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.2 is now released. This release addresses a number of issues. See the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-2-january-2026\"\u003efull release notes\u003c/a\u003e for all of the details.\u003c/p\u003e\n\u003ch2\u003ev3.4.1\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.1 is now released. This release addresses a number of issues. See the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-1-november-2025\"\u003efull release notes\u003c/a\u003e for all of the details.\u003c/p\u003e\n\u003ch2\u003ev3.4.0\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.0 is now released. This release has the following highlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003esupport for Direct Path Load in thin mode for fast data ingestion\u003c/li\u003e\n\u003cli\u003esupport for data frames is no longer considered a pre-release\u003c/li\u003e\n\u003cli\u003esupport for type mapping when querying with data frames\u003c/li\u003e\n\u003cli\u003esupport for ingesting more Apache Arrow data types\u003c/li\u003e\n\u003cli\u003esupport for ingesting Apache Arrow data frames containing multiple chunks\u003c/li\u003e\n\u003cli\u003esupport for cursor.executemany() operating on large input data in batches\u003c/li\u003e\n\u003cli\u003efine-grained control over LOB and number handling\u003c/li\u003e\n\u003cli\u003enew optional install dependencies for plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-0-october-2025\"\u003efull release notes\u003c/a\u003e for all of the details.\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/oracle/python-oracledb/commit/51581eeb0a626fb3df4e25e00ddb3a28137d3831\"\u003e\u003ccode\u003e51581ee\u003c/code\u003e\u003c/a\u003e Preparing to release python-oracledb 3.4.2.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/81ceb554a0bfb52eb64b7b3870907d9b19bf15bd\"\u003e\u003ccode\u003e81ceb55\u003c/code\u003e\u003c/a\u003e Fixed bug which caused Connection.call_timeout to be reset to zero when\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/4a94025de99763fd0d16d1c2d79d416b9a075e12\"\u003e\u003ccode\u003e4a94025\u003c/code\u003e\u003c/a\u003e Eliminated memory leak when converting a third party data frame to one\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/36a29517530bfe311dab41218a3bc3d80700fe2c\"\u003e\u003ccode\u003e36a2951\u003c/code\u003e\u003c/a\u003e Fixed bug when decoding PL/SQL booleans in Oracle Database 12.1 (\u003ca href=\"https://redirect.github.com/oracle/python-oracledb/issues/565\"\u003e#565\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/6072f01b420af4c2d36c1b9f7b1421aab64ea336\"\u003e\u003ccode\u003e6072f01\u003c/code\u003e\u003c/a\u003e Grammar fix.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/f8be001d9862d6b0b6ec6158b67affef7a70556e\"\u003e\u003ccode\u003ef8be001\u003c/code\u003e\u003c/a\u003e Fixed bug causing hang when using asyncio and the database closes the\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/6e0d8b9da4b259e1b11ad648d354ca659f537a6a\"\u003e\u003ccode\u003e6e0d8b9\u003c/code\u003e\u003c/a\u003e Eliminated race condition in background thread/coroutine management for\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/40200bfa1cb9dde0977a509c84cfdde66f144358\"\u003e\u003ccode\u003e40200bf\u003c/code\u003e\u003c/a\u003e Adjusted code and tests to be capable of being run in environments other\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/36f8899fa71ebd4aec80b87f990633e86abc6b95\"\u003e\u003ccode\u003e36f8899\u003c/code\u003e\u003c/a\u003e Added support for ingesting Arrow arrays which only consist of null\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/7bf23b6c2061d20358b030104249bd703ac1832e\"\u003e\u003ccode\u003e7bf23b6\u003c/code\u003e\u003c/a\u003e Fixed bug when calling Cursor.executemany() with all of the values in at\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/oracle/python-oracledb/compare/v3.3.0...v3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pgvector` from 0.2.5 to 0.4.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md\"\u003epgvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2 (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 6\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estr\u003c/code\u003e objects for \u003ccode\u003ebit\u003c/code\u003e type with SQLAlchemy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 (2025-04-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eSparseVector\u003c/code\u003e constructor for SciPy sparse matrices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 (2025-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded top-level \u003ccode\u003epgvector\u003c/code\u003e package\u003c/li\u003e\n\u003cli\u003eAdded support for pg8000\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ebytes\u003c/code\u003e to \u003ccode\u003eBit\u003c/code\u003e constructor\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eglobally\u003c/code\u003e option to default to \u003ccode\u003eFalse\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003earrays\u003c/code\u003e option to default to \u003ccode\u003eTrue\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eFixed equality for \u003ccode\u003eVector\u003c/code\u003e, \u003ccode\u003eHalfVector\u003c/code\u003e, \u003ccode\u003eBit\u003c/code\u003e, and \u003ccode\u003eSparseVector\u003c/code\u003e classes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eindices\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods of \u003ccode\u003eSparseVector\u003c/code\u003e returning tuple instead of list in some cases\u003c/li\u003e\n\u003cli\u003eDropped support for Python \u0026lt; 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 (2024-10-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003earrays\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 (2024-10-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eavg\u003c/code\u003e function with type casting to SQLAlchemy\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eglobally\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.4 (2024-09-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eschema\u003c/code\u003e option for asyncpg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.3 (2024-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved support for cursor factories with Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.2 (2024-07-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error with asyncpg and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.1 (2024-07-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error parsing zero sparse vectors\u003c/li\u003e\n\u003cli\u003eFixed error with Psycopg 2 and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003cli\u003eFixed error message when \u003ccode\u003evector\u003c/code\u003e type not found with Psycopg 3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.0 (2024-06-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ehalfvec\u003c/code\u003e, \u003ccode\u003ebit\u003c/code\u003e, and \u003ccode\u003esparsevec\u003c/code\u003e types to Django\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/2968f258f9486531bd1340cbda4ff8fcaf06cdc1\"\u003e\u003ccode\u003e2968f25\u003c/code\u003e\u003c/a\u003e Version bump to 0.4.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/674f5ba3410c873d49f50fa9725b95d9db50c674\"\u003e\u003ccode\u003e674f5ba\u003c/code\u003e\u003c/a\u003e Updated checkout action [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e2986daf2b1533cc2c849f7e39350e31d57ac325\"\u003e\u003ccode\u003ee2986da\u003c/code\u003e\u003c/a\u003e Added support for Django 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e211ba4029f204734f0c001fbb90f6a594d561ae\"\u003e\u003ccode\u003ee211ba4\u003c/code\u003e\u003c/a\u003e Test with Python 3.14 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/1a72b7571adf3325174b383aca85bfb3a5b925fa\"\u003e\u003ccode\u003e1a72b75\u003c/code\u003e\u003c/a\u003e Updated pgvector on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/c820a53bfb46196551de3c3f59f81b192d890574\"\u003e\u003ccode\u003ec820a53\u003c/code\u003e\u003c/a\u003e Simplified examples [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/caf1a2e0dd7a1ba2ad0ca9f09b50516dcfffcdeb\"\u003e\u003ccode\u003ecaf1a2e\u003c/code\u003e\u003c/a\u003e Added docs for binary quantization with SQLAlchemy [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/dc9a8f959995f009649fd230139ca41193e0a801\"\u003e\u003ccode\u003edc9a8f9\u003c/code\u003e\u003c/a\u003e Added test for binary quantization with re-ranking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/33dee606229489c9ffb0cb5a1cd72bd4705ac618\"\u003e\u003ccode\u003e33dee60\u003c/code\u003e\u003c/a\u003e Added support for str objects for bit type with SQLAlchemy - \u003ca href=\"https://redirect.github.com/pgvector/pgvector-python/issues/137\"\u003e#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/ee3e71ca2c07a12a8332a3877c0ce14adc9a5da8\"\u003e\u003ccode\u003eee3e71c\u003c/code\u003e\u003c/a\u003e Updated format for license identifier\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgvector/pgvector-python/compare/v0.2.5...v0.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymilvus` from 2.5.17 to 2.6.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/milvus-io/pymilvus/releases\"\u003epymilvus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePyMilvus v2.6.11 Release Notes\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003efix: pass address to GrpcHandler in ConnectionManager strategies\u003c/strong\u003e — fixed Milvus Lite local path broken since 2.6.10 (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3321\"\u003e#3321\u003c/a\u003e,  \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3323\"\u003e#3323\u003c/a\u003e) by \u003ca href=\"https://github.com/XuanYang-cn\"\u003e\u003ccode\u003e@​XuanYang-cn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: prevent \u0026quot;Cannot invoke RPC on closed channel\u0026quot; after connection recovery\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3326\"\u003e#3326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3345\"\u003e#3345\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: correct parameter name typos in QueryIterator causing partition filter bypass\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3324\"\u003e#3324\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3330\"\u003e#3330\u003c/a\u003e) by\n\u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: handle None response in search to prevent AttributeError\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3331\"\u003e#3331\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3332\"\u003e#3332\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: resolve bytes vector type misidentification in search path\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3334\"\u003e#3334\u003c/a\u003e) by \u003ca href=\"https://github.com/zhuwenxing\"\u003e\u003ccode\u003e@​zhuwenxing\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: guard MilvusClient._get_connection against None handler\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3337\"\u003e#3337\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3338\"\u003e#3338\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: handle None credentials in connections.connect()\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3343\"\u003e#3343\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3353\"\u003e#3353\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: use explicit length check for numpy array compatibility in search\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3342\"\u003e#3342\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3352\"\u003e#3352\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: clarify wrong-port guidance for UNIMPLEMENTED errors\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3315\"\u003e#3315\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3322\"\u003e#3322\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: display human-readable state and level in SegmentInfo repr\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3336\"\u003e#3336\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3355\"\u003e#3355\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efix: pin setuptools_scm\u0026lt;9 to prevent _types import breakage\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3348\"\u003e#3348\u003c/a\u003e) by \u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures \u0026amp; Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003efeat: support Python 3.14\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3306\"\u003e#3306\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3318\"\u003e#3318\u003c/a\u003e) by \u003ca href=\"https://github.com/XuanYang-cn\"\u003e\u003ccode\u003e@​XuanYang-cn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: extract _get_...\n\n_Description has been truncated_","html_url":"https://github.com/takashi1minami/oss-dify-mirror/pull/46","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/takashi1minami%2Foss-dify-mirror/issues/46","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/46/packages"}},{"old_version":"0.3.6","new_version":"0.4.2","update_type":"minor","path":null,"pr_created_at":"2026-04-04T02:10:16.000Z","version_change":"0.3.6 → 0.4.2","issue":{"uuid":"4202982025","node_id":"PR_kwDOR5TCOM7P588U","number":3,"state":"open","title":"chore(deps):(deps): bump pgvector from 0.3.6 to 0.4.2","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-04T02:10:16.000Z","updated_at":"2026-04-04T02:10:17.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps):(deps)","packages":[{"name":"pgvector","old_version":"0.3.6","new_version":"0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pgvector](https://github.com/pgvector/pgvector-python) from 0.3.6 to 0.4.2.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md\"\u003epgvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2 (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 6\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estr\u003c/code\u003e objects for \u003ccode\u003ebit\u003c/code\u003e type with SQLAlchemy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 (2025-04-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eSparseVector\u003c/code\u003e constructor for SciPy sparse matrices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 (2025-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded top-level \u003ccode\u003epgvector\u003c/code\u003e package\u003c/li\u003e\n\u003cli\u003eAdded support for pg8000\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ebytes\u003c/code\u003e to \u003ccode\u003eBit\u003c/code\u003e constructor\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eglobally\u003c/code\u003e option to default to \u003ccode\u003eFalse\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003earrays\u003c/code\u003e option to default to \u003ccode\u003eTrue\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eFixed equality for \u003ccode\u003eVector\u003c/code\u003e, \u003ccode\u003eHalfVector\u003c/code\u003e, \u003ccode\u003eBit\u003c/code\u003e, and \u003ccode\u003eSparseVector\u003c/code\u003e classes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eindices\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods of \u003ccode\u003eSparseVector\u003c/code\u003e returning tuple instead of list in some cases\u003c/li\u003e\n\u003cli\u003eDropped support for Python \u0026lt; 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/2968f258f9486531bd1340cbda4ff8fcaf06cdc1\"\u003e\u003ccode\u003e2968f25\u003c/code\u003e\u003c/a\u003e Version bump to 0.4.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/674f5ba3410c873d49f50fa9725b95d9db50c674\"\u003e\u003ccode\u003e674f5ba\u003c/code\u003e\u003c/a\u003e Updated checkout action [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e2986daf2b1533cc2c849f7e39350e31d57ac325\"\u003e\u003ccode\u003ee2986da\u003c/code\u003e\u003c/a\u003e Added support for Django 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e211ba4029f204734f0c001fbb90f6a594d561ae\"\u003e\u003ccode\u003ee211ba4\u003c/code\u003e\u003c/a\u003e Test with Python 3.14 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/1a72b7571adf3325174b383aca85bfb3a5b925fa\"\u003e\u003ccode\u003e1a72b75\u003c/code\u003e\u003c/a\u003e Updated pgvector on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/c820a53bfb46196551de3c3f59f81b192d890574\"\u003e\u003ccode\u003ec820a53\u003c/code\u003e\u003c/a\u003e Simplified examples [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/caf1a2e0dd7a1ba2ad0ca9f09b50516dcfffcdeb\"\u003e\u003ccode\u003ecaf1a2e\u003c/code\u003e\u003c/a\u003e Added docs for binary quantization with SQLAlchemy [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/dc9a8f959995f009649fd230139ca41193e0a801\"\u003e\u003ccode\u003edc9a8f9\u003c/code\u003e\u003c/a\u003e Added test for binary quantization with re-ranking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/33dee606229489c9ffb0cb5a1cd72bd4705ac618\"\u003e\u003ccode\u003e33dee60\u003c/code\u003e\u003c/a\u003e Added support for str objects for bit type with SQLAlchemy - \u003ca href=\"https://redirect.github.com/pgvector/pgvector-python/issues/137\"\u003e#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/ee3e71ca2c07a12a8332a3877c0ce14adc9a5da8\"\u003e\u003ccode\u003eee3e71c\u003c/code\u003e\u003c/a\u003e Updated format for license identifier\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgvector/pgvector-python/compare/v0.3.6...v0.4.2\"\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=pgvector\u0026package-manager=pip\u0026previous-version=0.3.6\u0026new-version=0.4.2)](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/catownsley/memento/pull/3","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/catownsley%2Fmemento/issues/3","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3/packages"}},{"old_version":"0.3.6","new_version":"0.4.2","update_type":"minor","path":null,"pr_created_at":"2026-03-18T01:09:17.000Z","version_change":"0.3.6 → 0.4.2","issue":{"uuid":"4092063636","node_id":"PR_kwDORlsS7c7LZBuf","number":15,"state":"open","title":"Bump the minor-and-patch group across 1 directory with 10 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-18T01:09:17.000Z","updated_at":"2026-03-21T08:20:56.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"minor-and-patch","update_count":10,"packages":[{"name":"anthropic","old_version":"0.52.0","new_version":"0.85.0","repository_url":"https://github.com/anthropics/anthropic-sdk-python"},{"name":"asyncpg","old_version":"0.30.0","new_version":"0.31.0","repository_url":"https://github.com/MagicStack/asyncpg"},{"name":"pgvector","old_version":"0.3.6","new_version":"0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"},{"name":"pydantic","old_version":"2.11.1","new_version":"2.12.5","repository_url":"https://github.com/pydantic/pydantic"},{"name":"pydantic-settings","old_version":"2.8.1","new_version":"2.13.1","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"pywebpush","old_version":"2.0.1","new_version":"2.3.0","repository_url":"https://github.com/web-push-libs/pywebpush"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"structlog","old_version":"25.1.0","new_version":"25.5.0","repository_url":"https://github.com/hynek/structlog"},{"name":"upstash-redis","old_version":"1.3.0","new_version":"1.6.0","repository_url":"https://github.com/upstash/redis-python"},{"name":"uvicorn","old_version":"0.34.2","new_version":"0.42.0"}],"path":null,"ecosystem":"pip"},"body":"Bumps the minor-and-patch group with 10 updates in the /backend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [anthropic](https://github.com/anthropics/anthropic-sdk-python) | `0.52.0` | `0.85.0` |\n| [asyncpg](https://github.com/MagicStack/asyncpg) | `0.30.0` | `0.31.0` |\n| [pgvector](https://github.com/pgvector/pgvector-python) | `0.3.6` | `0.4.2` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.11.1` | `2.12.5` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.8.1` | `2.13.1` |\n| [pywebpush](https://github.com/web-push-libs/pywebpush) | `2.0.1` | `2.3.0` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [structlog](https://github.com/hynek/structlog) | `25.1.0` | `25.5.0` |\n| [upstash-redis](https://github.com/upstash/redis-python) | `1.3.0` | `1.6.0` |\n| [uvicorn[standard]](https://github.com/Kludex/uvicorn) | `0.34.2` | `0.42.0` |\n\n\nUpdates `anthropic` from 0.52.0 to 0.85.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.85.0\u003c/h2\u003e\n\u003ch2\u003e0.85.0 (2026-03-16)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.84.0...v0.85.0\"\u003ev0.84.0...v0.85.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e chore(config): clean up model enum list (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/31\"\u003e#31\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/cce1a5b9e6fce4f269cec42803f37ce5e2ac2f76\"\u003ecce1a5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e GA thinking-display-setting (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/207340cc621855928f53e8ddd58f216ac0d8150d\"\u003e207340c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e update mock server (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/7dc86a4ffc9e70533a58065496c78394c6a6e97a\"\u003e7dc86a4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add missing 413 and 529 error handlers to async client (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1554\"\u003e#1554\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/9c2986fb9c046b4cffa1b03ca8762f9c9dea0bab\"\u003e9c2986f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etool runner:\u003c/strong\u003e propagate container_id for programmatic tool calling (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1462\"\u003e#1462\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/3ae7ff6ff7af8a881706ae8068b1040a23c96fbd\"\u003e3ae7ff6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etools:\u003c/strong\u003e use filtered messages list in async compaction (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1124\"\u003e#1124\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/710d666f80b7667e3551c1a68d7c0ffaad115de1\"\u003e710d666\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 bump uv version (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/09656acef77fa459d30d811bd51aa780a567182b\"\u003e09656ac\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e codegen related update (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/c9e9fc240334fc466426646d7acd64904f881a80\"\u003ec9e9fc2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e codegen related update (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/77f77d19b4657a7ad0d31de42504c25cf4ed76ef\"\u003e77f77d1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e unskip tests that are now supported in steady (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/827330b527b4af299af084752a7317b0596956af\"\u003e827330b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.84.0\u003c/h2\u003e\n\u003ch2\u003e0.84.0 (2026-02-25)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.83.0...v0.84.0\"\u003ev0.83.0...v0.84.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e change array_format to brackets (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/925d2ad6b76ad7c15de07b9b2768738775f71631\"\u003e925d2ad\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e remove publishing section from cli target (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/7bc7cebc68db70f08fce23e7e0b24acbc9ff37a7\"\u003e7bc7ceb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehelpers:\u003c/strong\u003e add conversion helpers for MCP tools, prompts, and resources (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1383\"\u003e#1383\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/9489751386d1540bf80eff63ab47ca2b3cc18fa1\"\u003e9489751\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd missing raw jsonl results method (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/1009d4aca8be42973ca39104bc9bd8087f51ff9c\"\u003e1009d4a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e add request options to SSE classes (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/4f4bc8e6241c2ccee8dfe4cdbc522081e3e30f08\"\u003e4f4bc8e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e make \u003ccode\u003etest_proxy_environment_variables\u003c/code\u003e more resilient (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/f7056e09411a45798a678be5766a7b7d6dcbc7a9\"\u003ef7056e0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e make \u003ccode\u003etest_proxy_environment_variables\u003c/code\u003e more resilient to env (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/143efccfcc20c12f920b6ba242eff7c0feeea7c4\"\u003e143efcc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e simplify http snapshots (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1092\"\u003e#1092\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/4a4dc9f6b36ab0224095790f4311c7f60c9845f7\"\u003e4a4dc9f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e update jsonl tests (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/a8e6a6e5544b9f1626e3fb5faa31a1accfc81441\"\u003ea8e6a6e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\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/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.85.0 (2026-03-16)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.84.0...v0.85.0\"\u003ev0.84.0...v0.85.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e chore(config): clean up model enum list (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/31\"\u003e#31\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/cce1a5b9e6fce4f269cec42803f37ce5e2ac2f76\"\u003ecce1a5b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e GA thinking-display-setting (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/207340cc621855928f53e8ddd58f216ac0d8150d\"\u003e207340c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e update mock server (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/7dc86a4ffc9e70533a58065496c78394c6a6e97a\"\u003e7dc86a4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add missing 413 and 529 error handlers to async client (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1554\"\u003e#1554\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/9c2986fb9c046b4cffa1b03ca8762f9c9dea0bab\"\u003e9c2986f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etool runner:\u003c/strong\u003e propagate container_id for programmatic tool calling (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1462\"\u003e#1462\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/3ae7ff6ff7af8a881706ae8068b1040a23c96fbd\"\u003e3ae7ff6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etools:\u003c/strong\u003e use filtered messages list in async compaction (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1124\"\u003e#1124\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/710d666f80b7667e3551c1a68d7c0ffaad115de1\"\u003e710d666\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 bump uv version (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/09656acef77fa459d30d811bd51aa780a567182b\"\u003e09656ac\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e codegen related update (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/c9e9fc240334fc466426646d7acd64904f881a80\"\u003ec9e9fc2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e codegen related update (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/77f77d19b4657a7ad0d31de42504c25cf4ed76ef\"\u003e77f77d1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etests:\u003c/strong\u003e unskip tests that are now supported in steady (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/827330b527b4af299af084752a7317b0596956af\"\u003e827330b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.84.0 (2026-02-25)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.83.0...v0.84.0\"\u003ev0.83.0...v0.84.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e change array_format to brackets (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/925d2ad6b76ad7c15de07b9b2768738775f71631\"\u003e925d2ad\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e remove publishing section from cli target (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/7bc7cebc68db70f08fce23e7e0b24acbc9ff37a7\"\u003e7bc7ceb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehelpers:\u003c/strong\u003e add conversion helpers for MCP tools, prompts, and resources (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1383\"\u003e#1383\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/9489751386d1540bf80eff63ab47ca2b3cc18fa1\"\u003e9489751\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd missing raw jsonl results method (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/1009d4aca8be42973ca39104bc9bd8087f51ff9c\"\u003e1009d4a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e add request options to SSE classes (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/4f4bc8e6241c2ccee8dfe4cdbc522081e3e30f08\"\u003e4f4bc8e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e make \u003ccode\u003etest_proxy_environment_variables\u003c/code\u003e more resilient (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/f7056e09411a45798a678be5766a7b7d6dcbc7a9\"\u003ef7056e0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e make \u003ccode\u003etest_proxy_environment_variables\u003c/code\u003e more resilient to env (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/143efccfcc20c12f920b6ba242eff7c0feeea7c4\"\u003e143efcc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e simplify http snapshots (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1092\"\u003e#1092\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/4a4dc9f6b36ab0224095790f4311c7f60c9845f7\"\u003e4a4dc9f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e update jsonl tests (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/a8e6a6e5544b9f1626e3fb5faa31a1accfc81441\"\u003ea8e6a6e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erebrand to Claude SDK and streamline README (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/6b544058ab19e55e1c76a4ba9816205d1eedc630\"\u003e6b54405\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/be3dd143f464a6a11a8631b990aabdb348cb53c0\"\u003e\u003ccode\u003ebe3dd14\u003c/code\u003e\u003c/a\u003e release: 0.85.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/fc9f47e8e4feaaefaef125f80de9e6177d2c3283\"\u003e\u003ccode\u003efc9f47e\u003c/code\u003e\u003c/a\u003e feat(api): GA thinking-display-setting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/42921e34a8aa72e83d900a0fed1ecb1f2e75e45e\"\u003e\u003ccode\u003e42921e3\u003c/code\u003e\u003c/a\u003e fix(client): add missing 413 and 529 error handlers to async client (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1554\"\u003e#1554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/8fe08acdd3d50b7cf32080a11e4e7d4b955f1654\"\u003e\u003ccode\u003e8fe08ac\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/1db03544023511eae24f9800c37359681ca0e10a\"\u003e\u003ccode\u003e1db0354\u003c/code\u003e\u003c/a\u003e chore(internal): codegen related update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/72cbc5c047f045acce98295bbb7432d098535150\"\u003e\u003ccode\u003e72cbc5c\u003c/code\u003e\u003c/a\u003e revert changes to tool params\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/1b6d568ba00d2c075af59972b2d0c8a0beab7700\"\u003e\u003ccode\u003e1b6d568\u003c/code\u003e\u003c/a\u003e chore(internal): codegen related update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/6b45a0592bc720fb67a299d6060e3c00c7763b10\"\u003e\u003ccode\u003e6b45a05\u003c/code\u003e\u003c/a\u003e chore(tests): unskip tests that are now supported in steady\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/6cf11eed36b55c5e55f730795f314be4f467c867\"\u003e\u003ccode\u003e6cf11ee\u003c/code\u003e\u003c/a\u003e feat(api): chore(config): clean up model enum list (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/31\"\u003e#31\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/2b8149481ead935c5e4fe4510a80c1aa768316f3\"\u003e\u003ccode\u003e2b81494\u003c/code\u003e\u003c/a\u003e feat(tests): update mock server\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.52.0...v0.85.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `asyncpg` from 0.30.0 to 0.31.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/MagicStack/asyncpg/releases\"\u003easyncpg's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.31.0\u003c/h2\u003e\n\u003cp\u003eEnable Python 3.14 with experimental subinterpreter/freethreading\nsupport.\u003c/p\u003e\n\u003ch1\u003eImprovements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Python 3.14 support, experimental subinterpreter/freethreading support (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1279\"\u003e#1279\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/elprans\"\u003e\u003ccode\u003e@​elprans\u003c/code\u003e\u003c/a\u003e in 9e42642b)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid performing type introspection on known types (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1243\"\u003e#1243\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/elprans\"\u003e\u003ccode\u003e@​elprans\u003c/code\u003e\u003c/a\u003e in 5c9986c4)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003eprepare()\u003c/code\u003e not use named statements by default when cache is disabled (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1245\"\u003e#1245\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/elprans\"\u003e\u003ccode\u003e@​elprans\u003c/code\u003e\u003c/a\u003e in 5b14653e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement connection service file functionality (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1223\"\u003e#1223\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/AndrewJackson2020\"\u003e\u003ccode\u003e@​AndrewJackson2020\u003c/code\u003e\u003c/a\u003e in 1d63bb15)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eFixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix multi port connection string issue (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1222\"\u003e#1222\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/AndrewJackson2020\"\u003e\u003ccode\u003e@​AndrewJackson2020\u003c/code\u003e\u003c/a\u003e in 01c0db7b)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid leaking connections if _can_use_connection fails (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1269\"\u003e#1269\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/yuliy-openai\"\u003e\u003ccode\u003e@​yuliy-openai\u003c/code\u003e\u003c/a\u003e in e94302d2)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eOther\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for EOL Python 3.8 (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1281\"\u003e#1281\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/elprans\"\u003e\u003ccode\u003e@​elprans\u003c/code\u003e\u003c/a\u003e in 6c2c4904)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/71775a67277fc0aa5bd2b9f15e848826d7078c4d\"\u003e\u003ccode\u003e71775a6\u003c/code\u003e\u003c/a\u003e asyncpg v0.31.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/508cae6441968ef7613a623fece7083cce66c2b3\"\u003e\u003ccode\u003e508cae6\u003c/code\u003e\u003c/a\u003e Test on PostgreSQL 18 (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/e534e5f15c73525a6509143b3828335517360f1b\"\u003e\u003ccode\u003ee534e5f\u003c/code\u003e\u003c/a\u003e Bump cibuildwheel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/07fe5122a680f5768e39fc28d68c94b185037a52\"\u003e\u003ccode\u003e07fe512\u003c/code\u003e\u003c/a\u003e Bump pgproto\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/648b35f18199ebf2a30009376a6e9060cf7ad789\"\u003e\u003ccode\u003e648b35f\u003c/code\u003e\u003c/a\u003e Bump Cython to 3.2.1 (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1288\"\u003e#1288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/9e42642b9110d206706697921b6e697a0972649d\"\u003e\u003ccode\u003e9e42642\u003c/code\u003e\u003c/a\u003e Add Python 3.14 support, experimental subinterpreter/freethreading support (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/6fe1c494ef5c3069fa9149c48bf9f8f2cd69f95e\"\u003e\u003ccode\u003e6fe1c49\u003c/code\u003e\u003c/a\u003e Move development deps away from extras and into dependency groups (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1280\"\u003e#1280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/7a548166c2b23561915c481bd332013e3a415cfb\"\u003e\u003ccode\u003e7a54816\u003c/code\u003e\u003c/a\u003e Fix a couple of missed Python version guards\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/6c2c4904e61b2cd2f502540730a24e246cff2ebd\"\u003e\u003ccode\u003e6c2c490\u003c/code\u003e\u003c/a\u003e Drop support for EOL Python 3.8 (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1281\"\u003e#1281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/4c60ae890d1f3800f889679657357f91a6923568\"\u003e\u003ccode\u003e4c60ae8\u003c/code\u003e\u003c/a\u003e Bump version to 0.31.0.dev0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/MagicStack/asyncpg/compare/v0.30.0...v0.31.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pgvector` from 0.3.6 to 0.4.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md\"\u003epgvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2 (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 6\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estr\u003c/code\u003e objects for \u003ccode\u003ebit\u003c/code\u003e type with SQLAlchemy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 (2025-04-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eSparseVector\u003c/code\u003e constructor for SciPy sparse matrices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 (2025-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded top-level \u003ccode\u003epgvector\u003c/code\u003e package\u003c/li\u003e\n\u003cli\u003eAdded support for pg8000\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ebytes\u003c/code\u003e to \u003ccode\u003eBit\u003c/code\u003e constructor\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eglobally\u003c/code\u003e option to default to \u003ccode\u003eFalse\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003earrays\u003c/code\u003e option to default to \u003ccode\u003eTrue\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eFixed equality for \u003ccode\u003eVector\u003c/code\u003e, \u003ccode\u003eHalfVector\u003c/code\u003e, \u003ccode\u003eBit\u003c/code\u003e, and \u003ccode\u003eSparseVector\u003c/code\u003e classes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eindices\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods of \u003ccode\u003eSparseVector\u003c/code\u003e returning tuple instead of list in some cases\u003c/li\u003e\n\u003cli\u003eDropped support for Python \u0026lt; 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/2968f258f9486531bd1340cbda4ff8fcaf06cdc1\"\u003e\u003ccode\u003e2968f25\u003c/code\u003e\u003c/a\u003e Version bump to 0.4.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/674f5ba3410c873d49f50fa9725b95d9db50c674\"\u003e\u003ccode\u003e674f5ba\u003c/code\u003e\u003c/a\u003e Updated checkout action [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e2986daf2b1533cc2c849f7e39350e31d57ac325\"\u003e\u003ccode\u003ee2986da\u003c/code\u003e\u003c/a\u003e Added support for Django 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e211ba4029f204734f0c001fbb90f6a594d561ae\"\u003e\u003ccode\u003ee211ba4\u003c/code\u003e\u003c/a\u003e Test with Python 3.14 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/1a72b7571adf3325174b383aca85bfb3a5b925fa\"\u003e\u003ccode\u003e1a72b75\u003c/code\u003e\u003c/a\u003e Updated pgvector on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/c820a53bfb46196551de3c3f59f81b192d890574\"\u003e\u003ccode\u003ec820a53\u003c/code\u003e\u003c/a\u003e Simplified examples [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/caf1a2e0dd7a1ba2ad0ca9f09b50516dcfffcdeb\"\u003e\u003ccode\u003ecaf1a2e\u003c/code\u003e\u003c/a\u003e Added docs for binary quantization with SQLAlchemy [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/dc9a8f959995f009649fd230139ca41193e0a801\"\u003e\u003ccode\u003edc9a8f9\u003c/code\u003e\u003c/a\u003e Added test for binary quantization with re-ranking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/33dee606229489c9ffb0cb5a1cd72bd4705ac618\"\u003e\u003ccode\u003e33dee60\u003c/code\u003e\u003c/a\u003e Added support for str objects for bit type with SQLAlchemy - \u003ca href=\"https://redirect.github.com/pgvector/pgvector-python/issues/137\"\u003e#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/ee3e71ca2c07a12a8332a3877c0ce14adc9a5da8\"\u003e\u003ccode\u003eee3e71c\u003c/code\u003e\u003c/a\u003e Updated format for license identifier\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgvector/pgvector-python/compare/v0.3.6...v0.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.11.1 to 2.12.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.5 2025-11-26\u003c/h2\u003e\n\u003ch2\u003ev2.12.5 (2025-11-26)\u003c/h2\u003e\n\u003cp\u003eThis is the fifth 2.12 patch release, addressing an issue with the \u003ccode\u003eMISSING\u003c/code\u003e sentinel and providing several documentation improvements.\u003c/p\u003e\n\u003cp\u003eThe next 2.13 minor release will be published in a couple weeks, and will include a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature addressing\nthe remaining unexpected changes to the \u003cem\u003eserialize as any\u003c/em\u003e behavior.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickle error when using \u003ccode\u003emodel_construct()\u003c/code\u003e on a model with \u003ccode\u003eMISSING\u003c/code\u003e as a default value by \u003ca href=\"https://github.com/ornariece\"\u003e\u003ccode\u003e@​ornariece\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12522\"\u003e#12522\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSeveral updates to the documentation by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.4 2025-11-05\u003c/h2\u003e\n\u003ch2\u003ev2.12.4 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003eThis is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis patch release also fixes an issue with the serialization of IP address types, when \u003ccode\u003eserialize_as_any\u003c/code\u003e is used. The next patch release\nwill try to address the remaining issues with \u003cem\u003eserialize as any\u003c/em\u003e behavior by introducing a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature, that\nshould be used in most cases in place of \u003cem\u003eserialize as any\u003c/em\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with forward references in parent \u003ccode\u003eTypedDict\u003c/code\u003e classes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12427\"\u003e#12427\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis issue is only relevant on Python 3.14 and greater.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExclude fields with \u003ccode\u003eexclude_if\u003c/code\u003e from JSON Schema required fields by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12430\"\u003e#12430\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRevert URL percent-encoding of credentials in the \u003ccode\u003ebuild()\u003c/code\u003e method of the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1833\"\u003epydantic-core#1833\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will include\nan opt-in option to percent-encode components of the URL.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type inference for IP address types by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1868\"\u003epydantic-core#1868\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThe 2.12 changes to the \u003ccode\u003eserialize_as_any\u003c/code\u003e behavior made it so that IP address types could not properly serialize to JSON.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid getting default values from defaultdict by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1853\"\u003epydantic-core#1853\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis fixes a subtle regression in the validation behavior of the \u003ca href=\"https://docs.python.org/3/library/collections.html#collections.defaultdict\"\u003e\u003ccode\u003ecollections.defaultdict\u003c/code\u003e\u003c/a\u003e\ntype.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with field serializers on nested typed dictionaries by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1879\"\u003epydantic-core#1879\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd more \u003ccode\u003epydantic-core\u003c/code\u003e builds for the three-threaded version of Python 3.14 by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1864\"\u003epydantic-core#1864\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.3...v2.12.4\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.12.3...v2.12.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.3 2025-10-17\u003c/h2\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eThis is the third 2.13 patch release, fixing issues related to the \u003ccode\u003eFieldInfo\u003c/code\u003e class, and reverting a change to the supported \u003ca href=\"https://docs.pydantic.dev/latest/concepts/validators/#model-validators\"\u003e\u003cem\u003eafter\u003c/em\u003e model validator\u003c/a\u003e function signatures.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.5 (2025-11-26)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.5\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is the fifth 2.12 patch release, addressing an issue with the \u003ccode\u003eMISSING\u003c/code\u003e sentinel and providing several documentation improvements.\u003c/p\u003e\n\u003cp\u003eThe next 2.13 minor release will be published in a couple weeks, and will include a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature addressing\nthe remaining unexpected changes to the \u003cem\u003eserialize as any\u003c/em\u003e behavior.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickle error when using \u003ccode\u003emodel_construct()\u003c/code\u003e on a model with \u003ccode\u003eMISSING\u003c/code\u003e as a default value by \u003ca href=\"https://github.com/ornariece\"\u003e\u003ccode\u003e@​ornariece\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12522\"\u003e#12522\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSeveral updates to the documentation by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.12.4 (2025-11-05)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.4\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis patch release also fixes an issue with the serialization of IP address types, when \u003ccode\u003eserialize_as_any\u003c/code\u003e is used. The next patch release\nwill try to address the remaining issues with \u003cem\u003eserialize as any\u003c/em\u003e behavior by introducing a new \u003cem\u003epolymorphic serialization\u003c/em\u003e feature, that\nshould be used in most cases in place of \u003cem\u003eserialize as any\u003c/em\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with forward references in parent \u003ccode\u003eTypedDict\u003c/code\u003e classes by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12427\"\u003e#12427\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis issue is only relevant on Python 3.14 and greater.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExclude fields with \u003ccode\u003eexclude_if\u003c/code\u003e from JSON Schema required fields by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/12430\"\u003e#12430\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRevert URL percent-encoding of credentials in the \u003ccode\u003ebuild()\u003c/code\u003e method\nof the \u003ca href=\"https://docs.pydantic.dev/latest/api/networks/\"\u003e\u003ccode\u003eAnyUrl\u003c/code\u003e and Dsn types\u003c/a\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in\n\u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1833\"\u003epydantic-core#1833\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will include\nan opt-in option to percent-encode components of the URL.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type inference for IP address types by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1868\"\u003epydantic-core#1868\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThe 2.12 changes to the \u003ccode\u003eserialize_as_any\u003c/code\u003e behavior made it so that IP address types could not properly serialize to JSON.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid getting default values from defaultdict by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1853\"\u003epydantic-core#1853\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis fixes a subtle regression in the validation behavior of the \u003ca href=\"https://docs.python.org/3/library/collections.html#collections.defaultdict\"\u003e\u003ccode\u003ecollections.defaultdict\u003c/code\u003e\u003c/a\u003e\ntype.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix issue with field serializers on nested typed dictionaries by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1879\"\u003epydantic-core#1879\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd more \u003ccode\u003epydantic-core\u003c/code\u003e builds for the three-threaded version of Python 3.14 by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-core/pull/1864\"\u003epydantic-core#1864\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.12.3 (2025-10-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.12.3\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/bd2d0dd0137dfa1a8fdff2529b9dfb1547980150\"\u003e\u003ccode\u003ebd2d0dd\u003c/code\u003e\u003c/a\u003e Prepare release v2.12.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7d0302ec7ec2cf115de3450a615522875bdd8b56\"\u003e\u003ccode\u003e7d0302e\u003c/code\u003e\u003c/a\u003e Document security implications when using \u003ccode\u003ecreate_model()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/e9ef980def726b6f59b6c495ddc9dc259a0228db\"\u003e\u003ccode\u003ee9ef980\u003c/code\u003e\u003c/a\u003e Fix typo in Standard Library Types documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f2c20c00c265a31a13c48f9bae923a87c829952e\"\u003e\u003ccode\u003ef2c20c0\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003epydantic-docs\u003c/code\u003e dev dependency, make use of versioning blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a76c1aa26f2d64a3fd080ac515d80832689197e8\"\u003e\u003ccode\u003ea76c1aa\u003c/code\u003e\u003c/a\u003e Update documentation about JSON Schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8cbc72ca489891e574fba45238ee8bd4f8e719a2\"\u003e\u003ccode\u003e8cbc72c\u003c/code\u003e\u003c/a\u003e Add documentation about custom \u003ccode\u003e__init__()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/99eba599069da137b3f708ffa74627f2b456ba73\"\u003e\u003ccode\u003e99eba59\u003c/code\u003e\u003c/a\u003e Add additional test for \u003ccode\u003eFieldInfo.get_default()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c71076988e507ea93844c77c3bf0bbb85a5716af\"\u003e\u003ccode\u003ec710769\u003c/code\u003e\u003c/a\u003e Special case \u003ccode\u003eMISSING\u003c/code\u003e sentinel in \u003ccode\u003esmart_deepcopy()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/20a9d771c210fd77d52366ac923258c4c199727f\"\u003e\u003ccode\u003e20a9d77\u003c/code\u003e\u003c/a\u003e Do not delete mock validator/serializer in \u003ccode\u003erebuild_dataclass()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/c86515a3a8f2120148fab2eaedd3bc45925779d0\"\u003e\u003ccode\u003ec86515a\u003c/code\u003e\u003c/a\u003e Update parts of the model and \u003ccode\u003erevalidate_instances\u003c/code\u003e documentation\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.11.1...v2.12.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic-settings` from 2.8.1 to 2.13.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic-settings/releases\"\u003epydantic-settings's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Deterministic alias selection when using validate_by_name by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/707\"\u003epydantic/pydantic-settings#707\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd deep merge functionality to config file sources by \u003ca href=\"https://github.com/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/698\"\u003epydantic/pydantic-settings#698\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for AWS Secrets Manager VersionId parameter by \u003ca href=\"https://github.com/jcyamacho\"\u003e\u003ccode\u003e@​jcyamacho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/708\"\u003epydantic/pydantic-settings#708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebugfix: Return \u003ccode\u003eNone\u003c/code\u003e for inaccessible GCP Secret Manager secrets by \u003ca href=\"https://github.com/zaphod72\"\u003e\u003ccode\u003e@​zaphod72\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/712\"\u003epydantic/pydantic-settings#712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBugfix for cli_kebab_case=\u0026quot;all\u0026quot; and CliImplicitFlag[bool] by \u003ca href=\"https://github.com/Digity101\"\u003e\u003ccode\u003e@​Digity101\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/702\"\u003epydantic/pydantic-settings#702\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnpack type alisases when looking for \u003ccode\u003eNoDecode\u003c/code\u003e by \u003ca href=\"https://github.com/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/695\"\u003epydantic/pydantic-settings#695\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCliToggleFlag and CliDualFlag by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/717\"\u003epydantic/pydantic-settings#717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for CLI duplicate enum field values. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/722\"\u003epydantic/pydantic-settings#722\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efixed load nested config from env by \u003ca href=\"https://github.com/Sube-py\"\u003e\u003ccode\u003e@​Sube-py\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/723\"\u003epydantic/pydantic-settings#723\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd non-Path files support (for example Traversable) and open files using Path.open method by \u003ca href=\"https://github.com/mahenzon\"\u003e\u003ccode\u003e@​mahenzon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/724\"\u003epydantic/pydantic-settings#724\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd one more traversable test by \u003ca href=\"https://github.com/mahenzon\"\u003e\u003ccode\u003e@​mahenzon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/725\"\u003epydantic/pydantic-settings#725\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI fix fox external list args. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/727\"\u003epydantic/pydantic-settings#727\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: handle case-insensitive retrieval in GoogleSecretManagerSettingsSource by \u003ca href=\"https://github.com/ezwiefel\"\u003e\u003ccode\u003e@​ezwiefel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/730\"\u003epydantic/pydantic-settings#730\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI test fixes for help text formatting. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/735\"\u003epydantic/pydantic-settings#735\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid conflicts with the \u003ccode\u003eNAME\u003c/code\u003e environment variable in WSL by \u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/747\"\u003epydantic/pydantic-settings#747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: When restoring init kwargs, use deterministic order by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/746\"\u003epydantic/pydantic-settings#746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd env_prefix_target by \u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/749\"\u003epydantic/pydantic-settings#749\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003e(default: …)\u003c/code\u003e in the help message for \u003ccode\u003eCliToggleFlag\u003c/code\u003e by \u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/740\"\u003epydantic/pydantic-settings#740\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for CLI serialize styles. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/755\"\u003epydantic/pydantic-settings#755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for overriding default help on CLI internal parser. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/758\"\u003epydantic/pydantic-settings#758\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI format_help method support by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/759\"\u003epydantic/pydantic-settings#759\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(gcp): support SecretVersion annotation for per-field secret versioning by \u003ca href=\"https://github.com/ezwiefel\"\u003e\u003ccode\u003e@​ezwiefel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/763\"\u003epydantic/pydantic-settings#763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003esnake_case_conversion\u003c/code\u003e with \u003ccode\u003eenv_prefix\u003c/code\u003e for Azure Key Vault source by \u003ca href=\"https://github.com/cstarkers\"\u003e\u003ccode\u003e@​cstarkers\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/762\"\u003epydantic/pydantic-settings#762\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Only override preferred_key when no value was found by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/767\"\u003epydantic/pydantic-settings#767\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate deps by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/768\"\u003epydantic/pydantic-settings#768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI coerce numeric types. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/769\"\u003epydantic/pydantic-settings#769\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI Union Discriminator Choices in Help by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/764\"\u003epydantic/pydantic-settings#764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd nested path support for yaml_config_section (fixes \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/772\"\u003e#772\u003c/a\u003e) by \u003ca href=\"https://github.com/hugo-romero-mm\"\u003e\u003ccode\u003e@​hugo-romero-mm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/773\"\u003epydantic/pydantic-settings#773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release 2.13.0 by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/777\"\u003epydantic/pydantic-settings#777\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/698\"\u003epydantic/pydantic-settings#698\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jcyamacho\"\u003e\u003ccode\u003e@​jcyamacho\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/708\"\u003epydantic/pydantic-settings#708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zaphod72\"\u003e\u003ccode\u003e@​zaphod72\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/712\"\u003epydantic/pydantic-settings#712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Digity101\"\u003e\u003ccode\u003e@​Digity101\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/702\"\u003epydantic/pydantic-settings#702\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Sube-py\"\u003e\u003ccode\u003e@​Sube-py\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/723\"\u003epydantic/pydantic-settings#723\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mahenzon\"\u003e\u003ccode\u003e@​mahenzon\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/724\"\u003epydantic/pydantic-settings#724\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/747\"\u003epydantic/pydantic-settings#747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cstarkers\"\u003e\u003ccode\u003e@​cstarkers\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/762\"\u003epydantic/pydantic-settings#762\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hugo-romero-mm\"\u003e\u003ccode\u003e@​hugo-romero-mm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/773\"\u003epydantic/pydantic-settings#773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.12.0...v2.13.0\"\u003ehttps://github.com/pydantic/pydantic-settings/compare/v2.12.0...v2.13.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for enum kebab case. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/686\"\u003epydantic/pydantic-settings#686\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply source order: init \u0026gt; env \u0026gt; dotenv \u0026gt; secrets \u0026gt; defaults and pres… by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/688\"\u003epydantic/pydantic-settings#688\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd NestedSecretsSettings source by \u003ca href=\"https://github.com/makukha\"\u003e\u003ccode\u003e@​makukha\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/690\"\u003epydantic/pydantic-settings#690\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/e87d12df0f42f7f72a3eb6d830cfbfb1d68b4496\"\u003e\u003ccode\u003ee87d12d\u003c/code\u003e\u003c/a\u003e v2.13.1 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/790\"\u003e#790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/acf8c14f5ec314799f5bd0d3f6a1591c4ed2ec97\"\u003e\u003ccode\u003eacf8c14\u003c/code\u003e\u003c/a\u003e Fix JSON decoding for parameterized PEP 695 type aliases (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/780\"\u003e#780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/58b236a36473e01bfe42e5f75d39d46721e0593d\"\u003e\u003ccode\u003e58b236a\u003c/code\u003e\u003c/a\u003e Fix AttributeError with nested env vars for dict fields (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/785\"\u003e#785\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/786\"\u003e#786\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4933f06402ed55e32bcdcefd6c8f59ffe1fefd24\"\u003e\u003ccode\u003e4933f06\u003c/code\u003e\u003c/a\u003e Fix CLI parsing error for set field types since 2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/787\"\u003e#787\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/788\"\u003e#788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/bd0ebe6215cf215d716e33d833cc2589a1d00a17\"\u003e\u003ccode\u003ebd0ebe6\u003c/code\u003e\u003c/a\u003e Fix RecursionError with self-referential models in CliApp (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/783\"\u003e#783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/eb7840e9f59a7969b23afdbcc4e5081e037736d8\"\u003e\u003ccode\u003eeb7840e\u003c/code\u003e\u003c/a\u003e Fix regression for bool fields since 2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/784\"\u003e#784\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/198e71cf0cd570501535de7ae93a70953150f073\"\u003e\u003ccode\u003e198e71c\u003c/code\u003e\u003c/a\u003e Prepare release 2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/777\"\u003e#777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/de71e84057b63b251ec84883b5e2ae886f82084f\"\u003e\u003ccode\u003ede71e84\u003c/code\u003e\u003c/a\u003e Add nested path support for yaml_config_section (fixes \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/772\"\u003e#772\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/773\"\u003e#773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/0f8f951b89b137bd563ce74dac016ba2c4cdc7a2\"\u003e\u003ccode\u003e0f8f951\u003c/code\u003e\u003c/a\u003e CLI Union Discriminator Choices in Help (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/764\"\u003e#764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/ce9804c4620d38f0c3b3c1e3ebe10d934fd4ba2e\"\u003e\u003ccode\u003ece9804c\u003c/code\u003e\u003c/a\u003e CLI coerce numeric types. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/769\"\u003e#769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.8.1...v2.13.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pywebpush` from 2.0.1 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/web-push-libs/pywebpush/blob/main/CHANGELOG.md\"\u003epywebpush's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0 (2026-02-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCleanup from \u003ca href=\"https://github.com/Rotzbua\"\u003e\u003ccode\u003e@​Rotzbua\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eUse modern typing for annotations\u003c/li\u003e\n\u003cli\u003eRemove legacy python 2 import\u003c/li\u003e\n\u003cli\u003eremove redundant :type annotations\u003c/li\u003e\n\u003cli\u003euse [.dev] extras in CI\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.2.1 (2026-02-06)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadd'l typing info (Thanks \u003ca href=\"https://github.com/rotzbua\"\u003e\u003ccode\u003e@​rotzbua\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.2.0 (2026-)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003erst\u003c/code\u003e files to reflect \u003ccode\u003emd\u003c/code\u003e file changes\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdd comment discussing additional work for Windows Notification Service (WNS)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate the README.md file to mention the required, non-standard headers.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003eBREAKING_CHANGE\u003c/em\u003e\nThis version also drops legacy support for GCM/FCM authorization keys, since those items\nare obsolete according to Google.\nSee \u003ca href=\"https://firebase.google.com/docs/cloud-messaging/auth-server#authorize-legacy-protocol-send-requests\"\u003ehttps://firebase.google.com/docs/cloud-messaging/auth-server#authorize-legacy-protocol-send-requests\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.1.2 (2025-11-10)\u003c/h2\u003e\n\u003cp\u003echore: fix formatting\nchore: update CHANGELOG\nchore: note admin update\u003c/p\u003e\n\u003ch2\u003e2.1.1 (2025-10-14)\u003c/h2\u003e\n\u003cp\u003eThis was an administrative push to test a new publication system.\u003c/p\u003e\n\u003ch2\u003e2.1.0 (2025-09-29)\u003c/h2\u003e\n\u003cp\u003efeat: Add a async_webpush one call func and tests (15cf848)[https://github.com/web-push-libs/pywebpush/commit/15cf84885b4bc1cd4e8e58a8fc8f84bfc9b3387e] (thanks (\u003ca href=\"https://github.com/AlexUnder2003\"\u003e\u003ccode\u003e@​AlexUnder2003\u003c/code\u003e\u003c/a\u003e)[https://github.com/web-push-libs/pywebpush/commits?author=AlexUnder2003])\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\u003eSee full diff in \u003ca href=\"https://github.com/web-push-libs/pywebpush/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyyaml` from 6.0.2 to 6.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/yaml/pyyaml/releases\"\u003epyyaml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.0.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.14 and free-threading (experimental).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/yaml/pyyaml/compare/6.0.2...6.0.3\"\u003ehttps://github.com/yaml/pyyaml/compare/6.0.2...6.0.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/yaml/pyyaml/blob/6.0.3/CHANGES\"\u003epyyaml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e6.0.3 (2025-09-25)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/yaml/pyyaml/pull/864\"\u003eyaml/pyyaml#864\u003c/a\u003e -- Support for Python 3.14 and free-threading (experimental)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yaml/pyyaml/commit/49790e73684bebad1df05ef8d828fa12f685bffb\"\u003e\u003ccode\u003e49790e7\u003c/code\u003e\u003c/a\u003e Release 6.0.3 (\u003ca href=\"https://redirect.github.com/yaml/pyyaml/issues/889\"\u003e#889\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/yaml/pyyaml/compare/6.0.2...6.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `structlog` from 25.1.0 to 25.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hynek/structlog/releases\"\u003estructlog's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.5.0\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cp\u003eHuge release! There's plenty of important little bug fixes and new features, but the headliner is definitely the improved ergonomics of \u003ccode\u003estructlog.dev.ConsoleRenderer\u003c/code\u003e. We have finally accepted that local development has different priorities than production and made it both mutable (with automatic re-configuration) and also easily retrievable (\u003ccode\u003ecr = ConsoleRenderer.get_active()\u003c/code\u003e). This allows you, for example, to disable Rich exception formatting as easily as \u003ccode\u003estructlog.dev.ConsoleRenderer.get_active().exception_formatter = structlog.dev.plain_traceback\u003c/code\u003e. Please check out the \u003ca href=\"https://www.structlog.org/en/stable/console-output.html\"\u003eupdated docs\u003c/a\u003e!\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://www.thanks.dev\"\u003ethanks.dev\u003c/a\u003e (@\u003ca href=\"https://github.com/thnxdev\"\u003ethnxdev\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=\"https://quesma.com/\"\u003eQuesma\u003c/a\u003e (\u003ca href=\"https://github.com/QuesmaOrg\"\u003e\u003ccode\u003e@​QuesmaOrg\u003c/code\u003e\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://www.lambdatest.com\"\u003eLambdaTest\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), Jeff McCarrell (@\u003ca href=\"https://github.com/jmccarrell\"\u003ejmccarrell\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), Jesse Snyder (@\u003ca href=\"https://github.com/jessesnyder\"\u003ejessesnyder\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://www.miketheman.net\"\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), \u003ca href=\"https://roboflow.com\"\u003eRoboflow\u003c/a\u003e (@\u003ca href=\"https://github.com/roboflow\"\u003eroboflow\u003c/a\u003e), and Jeff McCarrell (@\u003ca href=\"https://github.com/jmccarrell\"\u003ejmccarrell\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eFull Changelog\u003c/h2\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estructlog.dev.ConsoleRenderer()\u003c/code\u003e's \u003cem\u003epad_event\u003c/em\u003e argument has been renamed to \u003cem\u003epad_event_to\u003c/em\u003e to differentiate it from the boolean \u003cem\u003epad_level\u003c/em\u003e argument. \u003cem\u003epad_event\u003c/em\u003e is now deprecated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded \u003ccode\u003estructlog.dev.ConsoleRenderer.get_active()\u003c/code\u003e that returns the currently active \u003ccode\u003estructlog.dev.ConsoleRenderer()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/hynek/structlog/pull/749\"\u003e#749\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003estructlog.dev.ConsoleRenderer()\u003c/code\u003e now supports setting the \u003ccode\u003eexception_formatter\u003c/code\u003e attribute.\u003c/p\u003e\n\u003cp\u003eYou can now disable the pretty-printing of exceptions by setting it to \u003ccode\u003estructlog.dev.plain_traceback\u003c/code\u003e:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003ecr = structlog.dev.ConsoleRenderer.get_active()\r\ncr.exception_formatter = structlog.dev.plain_traceback\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSame goes for \u003cem\u003esort_keys\u003c/em\u003e, \u003cem\u003ecolumns\u003c/em\u003e, \u003cem\u003ecolors\u003c/em\u003e, \u003cem\u003eforce_colors\u003c/em\u003e, \u003cem\u003elevel_styles\u003c/em\u003e, \u003cem\u003epad_event_to\u003c/em\u003e, \u003cem\u003eevent_key\u003c/em\u003e, \u003cem\u003etimestamp_key\u003c/em\u003e, and \u003cem\u003erepr_native_str\u003c/em\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/749\"\u003e#749\u003c/a\u003e \u003ca href=\"https://redirect.github.com/hynek/structlog/pull/756\"\u003e#756\u003c/a\u003e \u003ca href=\"https://redirect.github.com/hynek/structlog/pull/757\"\u003e#757\u003c/a\u003e \u003ca href=\"https://redirect.github.com/hynek/structlog/pull/759\"\u003e#759\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded \u003ccode\u003estructlog.dev.ConsoleRenderer.get_default_column_styles()\u003c/code\u003e for reuse the default column styles. \u003ca href=\"https://redirect.github.com/hynek/structlog/pull/741\"\u003e#741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003estructlog.testing.capture_logs()\u003c/code\u003e now optionally accepts \u003cem\u003eprocessors\u003c/em\u003e to apply before capture. \u003ca href=\"https://redirect.github.com/hynek/structlog/pull/728\"\u003e#728\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hynek/structlog/blob/main/CHANGELOG.md\"\u003estructlog's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/hynek/structlog/compare/25.4.0...25.5.0\"\u003e25.5.0\u003c/a\u003e - 2025-10-27\u003c/h2\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estructlog.dev.ConsoleRenderer()\u003c/code\u003e's \u003cem\u003epad_event\u003c/em\u003e argument has been renamed to \u003cem\u003epad_event_to\u003c/em\u003e to differentiate it from the boolean \u003cem\u003epad_level\u003c/em\u003e argument.\n\u003cem\u003epad_event\u003c/em\u003e is now deprecated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded \u003ccode\u003estructlog.dev.ConsoleRenderer.get_active()\u003c/code\u003e that returns the currently active \u003ccode\u003estructlog.dev.ConsoleRenderer()\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/749\"\u003e#749\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003estructlog.dev.ConsoleRenderer()\u003c/code\u003e now supports setting the \u003ccode\u003eexception_formatter\u003c/code\u003e attribute.\u003c/p\u003e\n\u003cp\u003eYou can now disable the pretty-printing of exceptions by setting it to \u003ccode\u003estructlog.dev.plain_traceback\u003c/code\u003e:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003ecr = structlog.dev.ConsoleRenderer.get_active()\ncr.exception_formatter = structlog.dev.plain_traceback\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSame goes for \u003cem\u003esort_keys\u003c/em\u003e, \u003cem\u003ecolumns\u003c/em\u003e, \u003cem\u003ecolors\u003c/em\u003e, \u003cem\u003eforce_colors\u003c/em\u003e, \u003cem\u003elevel_styles\u003c/em\u003e, \u003cem\u003epad_event_to\u003c/em\u003e, \u003cem\u003eevent_key\u003c/em\u003e, \u003cem\u003etimestamp_key\u003c/em\u003e, and \u003cem\u003erepr_native_str\u003c/em\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/749\"\u003e#749\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/756\"\u003e#756\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/757\"\u003e#757\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/759\"\u003e#759\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded \u003ccode\u003estructlog.dev.ConsoleRenderer.get_default_column_styles()\u003c/code\u003e for reuse the default column styles.\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/741\"\u003e#741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003estructlog.testing.capture_logs()\u003c/code\u003e now optionally accepts \u003cem\u003eprocessors\u003c/em\u003e to apply before capture.\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/728\"\u003e#728\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003estructlog.dev.RichTracebackFormatter\u003c/code\u003e now exposes the upstream \u003cem\u003ecode_width\u003c/em\u003e parameter.\nDefault \u003cem\u003ewidth\u003c/em\u003e is now \u003ccode\u003eNone\u003c/code\u003e for full terminal width.\nFull terminal width is now handled by Rich itself, bringing support for reflow and \u003ccode\u003eCOLUMN\u003c/code\u003e environment variable.\nPassing \u003ccode\u003e-1\u003c/code\u003e for \u003cem\u003ewidth\u003c/em\u003e is now deprecated and automatically replaced by \u003ccode\u003eNone\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/717\"\u003e#717\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNative loggers now allow the passing of a dictionary for dictionary-based interpolation \u003ccode\u003elog.info(\u0026quot;hello %(name)s!\u0026quot;, {\u0026quot;name\u0026quot;: \u0026quot;world\u0026quot;})\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/748\"\u003e#748\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eOn Python 3.11+, \u003ccode\u003estructlog.processors.CallsiteParameterAdder\u003c/code\u003e now supports \u003ccode\u003eCallsiteParameter.QUAL_NAME\u003c/code\u003e that adds the qualified name of the callsite, including scope and class names.\nThis is only available for \u003cem\u003estructlog\u003c/em\u003e-originated events since the standard library has no equivalent.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003estructlog.stdlib.LoggerFactory\u003c/code\u003e now supports the \u003cem\u003estacklevel\u003c/em\u003e parameter.\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/763\"\u003e#763\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/c0ef9e09e7a536cae65e33c1ac1c8b4e6a6f7511\"\u003e\u003ccode\u003ec0ef9e0\u003c/code\u003e\u003c/a\u003e Prepare 25.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/9cb662fe32046f92f08346c58089a2dcba7cb4bf\"\u003e\u003ccode\u003e9cb662f\u003c/code\u003e\u003c/a\u003e docs: nit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/5400612735ad07bbe8ee9f2279f3040aa2e69ca4\"\u003e\u003ccode\u003e5400612\u003c/code\u003e\u003c/a\u003e docs/stdlib: add warning about ProcessorFormatter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/1c2c19aa19c8f30330b76465b7a0d9993b9e8360\"\u003e\u003ccode\u003e1c2c19a\u003c/code\u003e\u003c/a\u003e Try validating pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/aca10f23dd12bd9e14cfe712f1ce66c9cb5f4400\"\u003e\u003ccode\u003eaca10f2\u003c/code\u003e\u003c/a\u003e Drop pretend dependency (\u003ca href=\"https://redirect.github.com/hynek/structlog/issues/766\"\u003e#766\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/3800d401db2c682c7c83b2d3eec38d81c9791f4d\"\u003e\u003ccode\u003e3800d40\u003c/code\u003e\u003c/a\u003e docs: use native\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/ecaa15ac6b166ebca9f2b4f5cfdb4c4ec138a602\"\u003e\u003ccode\u003eecaa15a\u003c/code\u003e\u003c/a\u003e stdlib: add support for stacklevel (\u003ca href=\"https://redirect.github.com/hynek/structlog/issues/763\"\u003e#763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/7f7a221aed6bbff3c13cefd7effe14cc4f0cfc24\"\u003e\u003ccode\u003e7f7a221\u003c/code\u003e\u003c/a\u003e update dev (\u003ca href=\"https://redirect.github.com/hynek/structlog/issues/765\"\u003e#765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/5acfc85e3c3fa821dc65b55a226900d40dc0831c\"\u003e\u003ccode\u003e5acfc85\u003c/code\u003e\u003c/a\u003e docs: 5% bigger still\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/c102862e3f30de84c898c4501418dede15056c6d\"\u003e\u003ccode\u003ec102862\u003c/code\u003e\u003c/a\u003e docs: bigger font\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hynek/structlog/compare/25.1.0...25.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `upstash-redis` from 1.3.0 to 1.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/upstash/redis-python/releases\"\u003eupstash-redis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v1.6.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDX-2353 - Add commands HGETDEL, HGETEX, HSETEX, XDELEX, XACKDEL, CLIENT SETINFO and add new options to BITOP and XADD by \u003ca href=\"https://github.com/alitariksahin\"\u003e\u003ccode\u003e@​alitariksahin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/redis-py/pull/68\"\u003eupstash/redis-py#68\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/alitariksahin\"\u003e\u003ccode\u003e@​alitariksahin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/upstash/redis-py/pull/68\"\u003eupstash/redis-py#68\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/upstash/redis-py/compare/v1.5.0...v1.6.0\"\u003ehttps://github.com/upstash/redis-py/compare/v1.5.0...v1.6.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRelease v1.5.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDX-2204: add telemetry data collection and opt-out option by \u003ca href=\"https://github.com/CahidArda\"\u003e\u003ccode\u003e@​CahidArda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/redis-py/pull/67\"\u003eupstash/redis-py#67\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDX-2186: Add Redis stream commands by \u003ca href=\"https://github.com/CahidArda\"\u003e\u003ccode\u003e@​CahidArda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/redis-py/pull/66\"\u003eupstash/redis-py#66\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/upstash/redis-py/compare/v1.4.0...v1.5.0\"\u003ehttps://github.com/upstash/redis-py/compare/v1.4.0...v1.5.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRelease v1.4.0\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\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/upstash/redis-py/commit/e3379e95c2b5f8c6f6627ebb3083de01bcbea27d\"\u003e\u003ccode\u003ee3379e9\u003c/code\u003e\u003c/a\u003e fix: bump version to 1.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/redis-py/commit/1033c5046d7bc2ff0edfe18f7af12e1030243e59\"\u003e\u003ccode\u003e1033c50\u003c/code\u003e\u003c/a\u003e Dx 2353 - Update Redis API compat page for v1.15 (\u003ca href=\"https://redirect.github.com/upstash/redis-python/issues/68\"\u003e#68\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/redis-py/commit/bed0d54d74d69c73baa3267293c5e5651708c9a1\"\u003e\u003ccode\u003ebed0d54\u003c/code\u003e\u003c/a\u003e DX-2186: Add Redis stream commands (\u003ca href=\"https://redirect.github.com/upstash/redis-python/issues/66\"\u003e#66\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/redis-py/commit/4e3a25406343592321e235bfc965c513ea0fd22c\"\u003e\u003ccode\u003e4e3a254\u003c/code\u003e\u003c/a\u003e DX-2204: add telemetry data collection and opt-out option (\u003ca href=\"https://redirect.github.com/upstash/redis-python/issues/67\"\u003e#67\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/redis-py/commit/38d27f60c0219a427e4471781eaf8daeedb642a7\"\u003e\u003ccode\u003e38d27f6\u003c/code\u003e\u003c/a\u003e fix: bump version to 1.4.0 (\u003ca href=\"https://redirect.github.com/upstash/redis-python/issues/61\"\u003e#61\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/redis-py/commit/8c1d029789572534572c0aa550da4796d7d44f15\"\u003e\u003ccode\u003e8c1d029\u003c/code\u003e\u003c/a\u003e Add hash expiration commands (\u003ca href=\"https://redirect.github.com/upstash/redis-python/issues/62\"\u003e#62\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/redis-py/commit/14432d4aee650ccf5107ed3ca8e1d9a29748e2cd\"\u003e\u003ccode\u003e14432d4\u003c/code\u003e\u003c/a\u003e DX-1780: add HEXPIRE command (\u003ca href=\"https://redirect.github.com/upstash/redis-python/issues/60\"\u003e#60\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/redis-py/commit/f3f2a51eabc94985425856cdf28d8c285b6399fc\"\u003e\u003ccode\u003ef3f2a51\u003c/code\u003e\u003c/a\u003e feat: add eval_ro and evalsha_ro commands (\u003ca href=\"https://redirect.github.com/upstash/redis-python/issues/59\"\u003e#59\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/upstash/redis-python/compare/v1.3.0...v1.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn[standard]` from 0.34.2 to 0.42.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[standard]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0....\n\n_Description has been truncated_","html_url":"https://github.com/konf-dev/unspool/pull/15","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/konf-dev%2Funspool/issues/15","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/15/packages"}},{"old_version":"0.2.5","new_version":"0.4.2","update_type":"minor","path":null,"pr_created_at":"2026-03-16T02:34:22.000Z","version_change":"0.2.5 → 0.4.2","issue":{"uuid":"4079875822","node_id":"PR_kwDOJVxJus7KylMB","number":33492,"state":"open","title":"chore(deps-dev): bump the vdb group across 1 directory with 18 updates","user":"dependabot[bot]","labels":["dependencies","size:M","python:uv"],"assignees":[],"locked":false,"comments_count":12,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-16T02:34:22.000Z","updated_at":"2026-03-16T06:08:18.020Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"vdb","update_count":18,"packages":[{"name":"weaviate-client","old_version":"4.17.0","new_version":"4.20.4","repository_url":"https://github.com/weaviate/weaviate-python-client"},{"name":"alibabacloud-tea-openapi","old_version":"0.3.16","new_version":"0.4.3","repository_url":"https://github.com/aliyun/darabonba-openapi"},{"name":"chromadb","old_version":"0.5.20","new_version":"1.5.5","repository_url":"https://github.com/chroma-core/chroma"},{"name":"clickhouse-connect","old_version":"0.10.0","new_version":"0.14.1","repository_url":"https://github.com/ClickHouse/clickhouse-connect"},{"name":"couchbase","old_version":"4.3.6","new_version":"4.5.0","repository_url":"https://github.com/couchbase/couchbase-python-client"},{"name":"elasticsearch","old_version":"8.14.0","new_version":"9.3.0","repository_url":"https://github.com/elastic/elasticsearch-py"},{"name":"oracledb","old_version":"3.3.0","new_version":"3.4.2","repository_url":"https://github.com/oracle/python-oracledb"},{"name":"pgvector","old_version":"0.2.5","new_version":"0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"},{"name":"pymilvus","old_version":"2.5.17","new_version":"2.6.10","repository_url":"https://github.com/milvus-io/pymilvus"},{"name":"pymochow","old_version":"2.2.9","new_version":"2.3.6"},{"name":"pyobvector","old_version":"0.2.20","new_version":"0.2.25","repository_url":"https://github.com/oceanbase/pyobvector"},{"name":"qdrant-client","old_version":"1.9.0","new_version":"1.17.1","repository_url":"https://github.com/qdrant/qdrant-client"},{"name":"tablestore","old_version":"6.3.7","new_version":"6.4.1","repository_url":"https://github.com/aliyun/aliyun-tablestore-python-sdk"},{"name":"tcvectordb","old_version":"1.6.4","new_version":"2.0.0"},{"name":"tidb-vector","old_version":"0.0.9","new_version":"0.0.15"},{"name":"upstash-vector","old_version":"0.6.0","new_version":"0.8.0","repository_url":"https://github.com/upstash/vector-py"},{"name":"xinference-client","old_version":"1.2.2","new_version":"2.3.1","repository_url":"https://github.com/xorbitsai/inference-client"},{"name":"mysql-connector-python","old_version":"9.5.0","new_version":"9.6.0","repository_url":"https://github.com/mysql/mysql-connector-python"}],"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 vdb group with 18 updates in the /api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [weaviate-client](https://github.com/weaviate/weaviate-python-client) | `4.17.0` | `4.20.4` |\n| [alibabacloud-tea-openapi](https://github.com/aliyun/darabonba-openapi) | `0.3.16` | `0.4.3` |\n| [chromadb](https://github.com/chroma-core/chroma) | `0.5.20` | `1.5.5` |\n| [clickhouse-connect](https://github.com/ClickHouse/clickhouse-connect) | `0.10.0` | `0.14.1` |\n| [couchbase](https://github.com/couchbase/couchbase-python-client) | `4.3.6` | `4.5.0` |\n| [elasticsearch](https://github.com/elastic/elasticsearch-py) | `8.14.0` | `9.3.0` |\n| [oracledb](https://github.com/oracle/python-oracledb) | `3.3.0` | `3.4.2` |\n| [pgvector](https://github.com/pgvector/pgvector-python) | `0.2.5` | `0.4.2` |\n| [pymilvus](https://github.com/milvus-io/pymilvus) | `2.5.17` | `2.6.10` |\n| [pymochow](http://bce.baidu.com) | `2.2.9` | `2.3.6` |\n| [pyobvector](https://github.com/oceanbase/pyobvector) | `0.2.20` | `0.2.25` |\n| [qdrant-client](https://github.com/qdrant/qdrant-client) | `1.9.0` | `1.17.1` |\n| [tablestore](https://github.com/aliyun/aliyun-tablestore-python-sdk) | `6.3.7` | `6.4.1` |\n| tcvectordb | `1.6.4` | `2.0.0` |\n| tidb-vector | `0.0.9` | `0.0.15` |\n| [upstash-vector](https://github.com/upstash/vector-py) | `0.6.0` | `0.8.0` |\n| [xinference-client](https://github.com/xorbitsai/inference-client) | `1.2.2` | `2.3.1` |\n| [mysql-connector-python](https://github.com/mysql/mysql-connector-python) | `9.5.0` | `9.6.0` |\n\n\nUpdates `weaviate-client` from 4.17.0 to 4.20.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weaviate/weaviate-python-client/releases\"\u003eweaviate-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.20.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump authlib to 1.6.9 to avoid high cve by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1975\"\u003eweaviate/weaviate-python-client#1975\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.2...v4.20.3\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.2...v4.20.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eperf: use deque for iterator object cache by \u003ca href=\"https://github.com/giulio-leone\"\u003e\u003ccode\u003e@​giulio-leone\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1968\"\u003eweaviate/weaviate-python-client#1968\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexpose include_last_used_time parameter, return created_at and api_key_first_letters by \u003ca href=\"https://github.com/dudanogueira\"\u003e\u003ccode\u003e@​dudanogueira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1965\"\u003eweaviate/weaviate-python-client#1965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for incremental backups by \u003ca href=\"https://github.com/dirkkul\"\u003e\u003ccode\u003e@​dirkkul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1928\"\u003eweaviate/weaviate-python-client#1928\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/giulio-leone\"\u003e\u003ccode\u003e@​giulio-leone\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1968\"\u003eweaviate/weaviate-python-client#1968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.1...v4.20.2\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.1...v4.20.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix empty list filter raising IndexError instead of WeaviateInvalidInputError by \u003ca href=\"https://github.com/dirkkul\"\u003e\u003ccode\u003e@​dirkkul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1962\"\u003eweaviate/weaviate-python-client#1962\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.0...v4.20.1\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.0...v4.20.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eflat index: Add support for RQ and include cache param by \u003ca href=\"https://github.com/rlmanrique\"\u003e\u003ccode\u003e@​rlmanrique\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1844\"\u003eweaviate/weaviate-python-client#1844\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003ecollection.data.ingest\u003c/code\u003e for sync/async SSB usage by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1876\"\u003eweaviate/weaviate-python-client#1876\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd delete_property_index to collection config by \u003ca href=\"https://github.com/DanielJanicek\"\u003e\u003ccode\u003e@​DanielJanicek\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1940\"\u003eweaviate/weaviate-python-client#1940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid id invalidation in nested properties by \u003ca href=\"https://github.com/dudanogueira\"\u003e\u003ccode\u003e@​dudanogueira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1952\"\u003eweaviate/weaviate-python-client#1952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide options allowing users to specify custom grpc SSL credentials by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1946\"\u003eweaviate/weaviate-python-client#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for cancelling backup restore ops by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1956\"\u003eweaviate/weaviate-python-client#1956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove cache option from SQConfig, deprecate field in factory method by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1954\"\u003eweaviate/weaviate-python-client#1954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow imgs/img_props in cohere generative config runtime by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1955\"\u003eweaviate/weaviate-python-client#1955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce async repl conf in (re)configure and unit tests of usage by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1953\"\u003eweaviate/weaviate-python-client#1953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Hfresh index type by \u003ca href=\"https://github.com/robbespo00\"\u003e\u003ccode\u003e@​robbespo00\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1848\"\u003eweaviate/weaviate-python-client#1848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Cluster Statistics (client.cluster.statistics()) by \u003ca href=\"https://github.com/Shah91n\"\u003e\u003ccode\u003e@​Shah91n\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1959\"\u003eweaviate/weaviate-python-client#1959\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/Shah91n\"\u003e\u003ccode\u003e@​Shah91n\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1959\"\u003eweaviate/weaviate-python-client#1959\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.19.4...v4.20.0\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.19.4...v4.20.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.19.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd gRPC ping check to is_live method  by \u003ca href=\"https://github.com/sylvinho81\"\u003e\u003ccode\u003e@​sylvinho81\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1949\"\u003eweaviate/weaviate-python-client#1949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-raise in \u003ccode\u003ecollection.exists()\u003c/code\u003e if status code is not 404 by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1950\"\u003eweaviate/weaviate-python-client#1950\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weaviate/weaviate-python-client/blob/main/docs/changelog.rst\"\u003eweaviate-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 4.20.4\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Include client version in GRPC requests\n- Add support for the new \u003ccode\u003emulti2vec_google_gemini\u003c/code\u003e module\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.3\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Update of \u003ccode\u003eauthlib\u003c/code\u003e dependency\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.2\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Support for incremental backups\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.1\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Raise an input error when filtering on an empty list\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.0\u003c/h2\u003e\n\u003cp\u003eThis minor version includes:\n- Support for new 1.36 features:\n- Server-side batching (SSB) is now GA via \u003ccode\u003ebatch.stream\u003c/code\u003e (\u003ccode\u003ebatch.experimental\u003c/code\u003e is deprecated)\n- Add \u003ccode\u003ecollection.data.ingest\u003c/code\u003e as a new entry point for SSB usage in sync and async clients\n- Add support for the new HFresh index type\n- Add support for async replication configuration\n- Add support for cancelling backup restore operations\n- Add \u003ccode\u003ecollection.config.delete_property_index\u003c/code\u003e to drop filterable, searchable, or range filter indices from properties\n- Add \u003ccode\u003eclient.cluster.statistics()\u003c/code\u003e method for retrieving cluster and Raft statistics\n- Allow \u003ccode\u003eimages\u003c/code\u003e and \u003ccode\u003eimage_properties\u003c/code\u003e in Cohere generative config at runtime\n- Provide options to specify custom gRPC SSL credentials for advanced connection setups\n- Remove \u003ccode\u003ecache\u003c/code\u003e option from \u003ccode\u003eSQConfig\u003c/code\u003e and deprecate the field in the factory method\n- Fix validation of nested object properties to allow \u003ccode\u003eid\u003c/code\u003e as a nested property name\u003c/p\u003e\n\u003ch2\u003eVersion 4.19.4\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Adds the gRPC healthcheck ping to the \u003ccode\u003eis_live()\u003c/code\u003e method of the async client to provide a more accurate check of the connection status of the async client\n- Fixes bug where exceptions raised in \u003ccode\u003ecollections.exists()\u003c/code\u003e were silently ignored and the method would return \u003ccode\u003eFalse\u003c/code\u003e instead of raising the exception\u003c/p\u003e\n\u003ch2\u003eVersion 4.19.3\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Add support for VoyageAI voyage-4 model family (voyage-4, voyage-4-lite, voyage-4-large)\n- A fix for async client connection issues when \u003ccode\u003epypi\u003c/code\u003e is down\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/weaviate/weaviate-python-client/commit/c0b796e07af0fef5555d37cf78a9a47dae62bb0c\"\u003e\u003ccode\u003ec0b796e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1982\"\u003e#1982\u003c/a\u003e from weaviate/changelog_4_20_4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/dfa8ae431413db4bb66ad2054487018b3362f360\"\u003e\u003ccode\u003edfa8ae4\u003c/code\u003e\u003c/a\u003e Add changelog for v4.20.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/3a0958c19133ecb10565b66d4d0d4ab818d7a619\"\u003e\u003ccode\u003e3a0958c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1977\"\u003e#1977\u003c/a\u003e from weaviate/multi2vec-google-aistudio-vectorizer-c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/106f22584de2bc00f347534c19661af997112583\"\u003e\u003ccode\u003e106f225\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into multi2vec-google-aistudio-vectorizer-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/5ca709e0c068ae8531368d489062169cd7b9306d\"\u003e\u003ccode\u003e5ca709e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1980\"\u003e#1980\u003c/a\u003e from weaviate/client_version_grpc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/55e56f06bf0444fb4caf9f31da7b61dad10ef291\"\u003e\u003ccode\u003e55e56f0\u003c/code\u003e\u003c/a\u003e Dont overwrite version from additional headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/79ee3d030a8c9829c0ea3ca8240ebcdefe710647\"\u003e\u003ccode\u003e79ee3d0\u003c/code\u003e\u003c/a\u003e Add client version to GRPC headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/2ccdaa109a8ba599bec569b489aca3497087869e\"\u003e\u003ccode\u003e2ccdaa1\u003c/code\u003e\u003c/a\u003e chore: rename multi2vec_google_aistudio config to multi2vec_google_gemini\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/ce633119510d6b8ae71dec0310d4a5d08700e172\"\u003e\u003ccode\u003ece63311\u003c/code\u003e\u003c/a\u003e feat: add multi2vec_google_aistudio vectorizer config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/db8a91c514b042dda0871eeb7a27cc9c65f70e71\"\u003e\u003ccode\u003edb8a91c\u003c/code\u003e\u003c/a\u003e Bump authlib to 1.6.9 to avoid high cve (\u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1975\"\u003e#1975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.17.0...v4.20.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alibabacloud-tea-openapi` from 0.3.16 to 0.4.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aliyun/darabonba-openapi/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `chromadb` from 0.5.20 to 1.5.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/chroma-core/chroma/releases\"\u003echromadb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.5.5\u003c/h2\u003e\n\u003cp\u003eVersion: \u003ccode\u003e1.5.5\u003c/code\u003e\nGit ref: \u003ccode\u003erefs/tags/1.5.5\u003c/code\u003e\nBuild Date: \u003ccode\u003e2026-03-10T09:30\u003c/code\u003e\nPIP Package: \u003ccode\u003echroma-1.5.5.tar.gz\u003c/code\u003e\nGithub Container Registry Image: \u003ccode\u003e:1.5.5\u003c/code\u003e\nDockerHub Image: \u003ccode\u003e:1.5.5\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[RELEASE] Rust v0.13.2 by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6583\"\u003echroma-core/chroma#6583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Use buffer_unordered for lazy fragment fetch concurrency by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6584\"\u003echroma-core/chroma#6584\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] chroma configuration reference by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6592\"\u003echroma-core/chroma#6592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[PERF]: Dedup + filter out disbled collections before sysdb enrichment by \u003ca href=\"https://github.com/sanketkedia\"\u003e\u003ccode\u003e@​sanketkedia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6566\"\u003echroma-core/chroma#6566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[TST] Fix test_cross_version_persist by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6604\"\u003echroma-core/chroma#6604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Warn on no API key set on JS EFs by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6599\"\u003echroma-core/chroma#6599\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Add a GoogleGemini EF name alias by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6620\"\u003echroma-core/chroma#6620\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[RELEASE] Python 1.5.5 by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6602\"\u003echroma-core/chroma#6602\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chroma-core/chroma/compare/1.5.4...1.5.5\"\u003ehttps://github.com/chroma-core/chroma/compare/1.5.4...1.5.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.5.3\u003c/h2\u003e\n\u003cp\u003eVersion: \u003ccode\u003e1.5.3\u003c/code\u003e\nGit ref: \u003ccode\u003erefs/tags/1.5.3\u003c/code\u003e\nBuild Date: \u003ccode\u003e2026-03-07T19:07\u003c/code\u003e\nPIP Package: \u003ccode\u003echroma-1.5.3.tar.gz\u003c/code\u003e\nGithub Container Registry Image: \u003ccode\u003e:1.5.3\u003c/code\u003e\nDockerHub Image: \u003ccode\u003e:1.5.3\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[ENH] Thread topology name through purge-dirty pipeline by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6503\"\u003echroma-core/chroma#6503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CHORE]  Tighten down k8s resources in test. by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6509\"\u003echroma-core/chroma#6509\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Purge dirty via Spanner when topology is specified by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6504\"\u003echroma-core/chroma#6504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG]: Drop pydantic v1 compatibility layer for Python 3.14 support by \u003ca href=\"https://github.com/basnijholt\"\u003e\u003ccode\u003e@​basnijholt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6356\"\u003echroma-core/chroma#6356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[PERF] Parallelize segment reader initialization in filter and idf operators by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6522\"\u003echroma-core/chroma#6522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Preallocate during pull log parsing by \u003ca href=\"https://github.com/tanujnay112\"\u003e\u003ccode\u003e@​tanujnay112\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6528\"\u003echroma-core/chroma#6528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[TST] Make pytest use importlib by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6483\"\u003echroma-core/chroma#6483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CLN] Make telemetry a no-op and remove posthog as a dependency by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6489\"\u003echroma-core/chroma#6489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] fix forking numbers by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6530\"\u003echroma-core/chroma#6530\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/blob/HEAD/storage\"\u003eBUG\u003c/a\u003e: retry batch fetch on channel closure by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6526\"\u003echroma-core/chroma#6526\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG] CAS on version during reassignment by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6529\"\u003echroma-core/chroma#6529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] use ResourceExhausted error code for log backpressure by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6527\"\u003echroma-core/chroma#6527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Ordered sparse vector writer by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6495\"\u003echroma-core/chroma#6495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] update docs for s3 sync by \u003ca href=\"https://github.com/philipithomas\"\u003e\u003ccode\u003e@​philipithomas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6515\"\u003echroma-core/chroma#6515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG] avoid redundant manifest load in pull_logs_inner by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6544\"\u003echroma-core/chroma#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Skip record load when only id is requested by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6540\"\u003echroma-core/chroma#6540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/blob/HEAD/log\"\u003eENH\u003c/a\u003e add pointer-based log fetch via ScoutLogFragments by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6533\"\u003echroma-core/chroma#6533\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Add ReadLevel to count in be by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6539\"\u003echroma-core/chroma#6539\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Add a gauge metric in sysdb to track compaction_failure_count by \u003ca href=\"https://github.com/tanujnay112\"\u003e\u003ccode\u003e@​tanujnay112\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6550\"\u003echroma-core/chroma#6550\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Fix query param by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6557\"\u003echroma-core/chroma#6557\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/eca66b7afd4b7aea227644f8c78030f16fc2837a\"\u003e\u003ccode\u003eeca66b7\u003c/code\u003e\u003c/a\u003e [RELEASE] Python 1.5.5 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6602\"\u003e#6602\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/ce0eede5941e15017204c69387493a35ee97afa4\"\u003e\u003ccode\u003ece0eede\u003c/code\u003e\u003c/a\u003e [ENH] Add a GoogleGemini EF name alias (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6620\"\u003e#6620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/3604eea9165d26ef6eefb03893ae1b04d1803b1e\"\u003e\u003ccode\u003e3604eea\u003c/code\u003e\u003c/a\u003e [ENH] Warn on no API key set on JS EFs (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6599\"\u003e#6599\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/9e7bd7fbf91746166e56e140ed548d070f638722\"\u003e\u003ccode\u003e9e7bd7f\u003c/code\u003e\u003c/a\u003e [TST] Fix test_cross_version_persist (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6604\"\u003e#6604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/03a3169183d372360321c76a034c97f8a1e2ac4c\"\u003e\u003ccode\u003e03a3169\u003c/code\u003e\u003c/a\u003e [PERF]: Dedup + filter out disbled collections before sysdb enrichment (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6566\"\u003e#6566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/475bbfcfdba3b40c737c3a90a4f1a915298b16f6\"\u003e\u003ccode\u003e475bbfc\u003c/code\u003e\u003c/a\u003e [DOC] chroma configuration reference (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6592\"\u003e#6592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/02d2d8cd21150cd2ffdecce2c23e0234e04bb2fc\"\u003e\u003ccode\u003e02d2d8c\u003c/code\u003e\u003c/a\u003e [ENH] Use buffer_unordered for lazy fragment fetch concurrency (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6584\"\u003e#6584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/130449099a5eb756a55e4c73ed1d29fdebc5b371\"\u003e\u003ccode\u003e1304490\u003c/code\u003e\u003c/a\u003e [RELEASE] Rust v0.13.2 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6583\"\u003e#6583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/e0525a2f99589693141974a9c5a38b12299e8eef\"\u003e\u003ccode\u003ee0525a2\u003c/code\u003e\u003c/a\u003e [RELEASE] Python 1.5.4 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6585\"\u003e#6585\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/8c70b3cd112ca5608300b8e58710a4e52e5f97fb\"\u003e\u003ccode\u003e8c70b3c\u003c/code\u003e\u003c/a\u003e [ENH] Exclude yanked versions from cross-version persist test (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6588\"\u003e#6588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/chroma-core/chroma/compare/0.5.20...1.5.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `clickhouse-connect` from 0.10.0 to 0.14.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/releases\"\u003eclickhouse-connect's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.1\u003c/h2\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed JSON and Dynamic column read paths to properly decode shared variant data instead of returning raw binary with discriminator byte prefixes. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/599\"\u003e#599\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/615\"\u003e#615\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed empty ORM/DBAPI \u003ccode\u003eSELECT\u003c/code\u003e results so \u003ccode\u003ecursor.description\u003c/code\u003e is still populated when ClickHouse Native format returns no data blocks. This restores correct handling for empty result sets, including parameterized and limited queries. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/675\"\u003e#675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReenabled the default Cython runtime path so compiled driverc modules are used again unless  \u003ccode\u003eCLICKHOUSE_CONNECT_USE_C=0\u003c/code\u003e is exoplicitly set. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/676\"\u003e#676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.14.0...v0.14.1\"\u003ehttps://github.com/ClickHouse/clickhouse-connect/compare/v0.14.0...v0.14.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.14.0\u003c/h2\u003e\n\u003ch2\u003eHigh level notes\u003c/h2\u003e\n\u003cp\u003eThis release is primarily focused on preparing the path to 1.0.0. It introduces a handful of breaking changes and deprecation warnings for APIs that will be removed or finalized in 1.0.0. If your code uses any of the deprecated parameters, you'll now see \u003ccode\u003eDeprecationWarning\u003c/code\u003es with clear migration guidance and highly recommend addressing these before upgrading to 1.0.0 when it ships.\u003c/p\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eapply_server_timezone\u003c/code\u003e renamed to \u003ccode\u003etz_source\u003c/code\u003e. Options are \u003ccode\u003e\u0026quot;auto\u0026quot;\u003c/code\u003e (the default), \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e, or \u003ccode\u003e\u0026quot;local\u0026quot;\u003c/code\u003e. The old parameter currently still works with a deprecation warning. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/670\"\u003eClickHouse/clickhouse-connect#670\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eutc_tz_aware\u003c/code\u003e renamed to \u003ccode\u003etz_mode\u003c/code\u003e. Options are \u003ccode\u003e\u0026quot;naive_utc\u0026quot;\u003c/code\u003e (the default), \u003ccode\u003e\u0026quot;aware\u0026quot;\u003c/code\u003e, or \u003ccode\u003e\u0026quot;schema\u0026quot;\u003c/code\u003e. The old parameter still currently still works with a deprecation warning. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/664\"\u003eClickHouse/clickhouse-connect#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003eObject('json')\u003c/code\u003e type. This was a legacy experimental JSON type has been removed in favor of the new JSON type in ClickHouse. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/666\"\u003eClickHouse/clickhouse-connect#666\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePandas 1.x support is deprecated and will be removed in 1.0.0. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/667\"\u003eClickHouse/clickhouse-connect#667\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThere's a async-native client based on clickhouse-connect v0.11.0 that is \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/releases/tag/v0.12.0rc1\"\u003eavailable\u003c/a\u003e for testing via \u003ccode\u003epip install clickhouse_connect[async]==0.12.0rc1\u003c/code\u003e. A \u003ccode\u003eFutureWarning\u003c/code\u003e advertising this will now be emitted on creation of the (to be legacy) async client. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/672\"\u003eClickHouse/clickhouse-connect#672\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eExperimental\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.14 free-threading (cp314t) wheel builds for all platforms. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/660\"\u003eClickHouse/clickhouse-connect#660\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where sending redundant settings is skipped. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/639\"\u003eClickHouse/clickhouse-connect#639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eSAMPLE\u003c/code\u003e in SQLAlchemy dialect. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/656\"\u003eClickHouse/clickhouse-connect#656\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/bsushmith\"\u003e\u003ccode\u003e@​bsushmith\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/656\"\u003eClickHouse/clickhouse-connect#656\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.13.0...v0.14.0\"\u003ehttps://github.com/ClickHouse/clickhouse-connect/compare/v0.13.0...v0.14.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.13.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eBREAKING CHANGE\u003c/strong\u003e: Implement native write path for \u003ccode\u003eVariant\u003c/code\u003e data type with type-aware dispatching. Previously, all values inserted into a \u003ccode\u003eVariant\u003c/code\u003e column were stringified and sent to the server, which would store them in the \u003ccode\u003eString\u003c/code\u003e member if present, or attempt server-side conversion otherwise. Values are now serialized using their native ClickHouse types client-side (e.g. inserting \u003ccode\u003e100\u003c/code\u003e into \u003ccode\u003eVariant(Int64, String)\u003c/code\u003e stores \u003ccode\u003eInt64(100)\u003c/code\u003e instead of \u003ccode\u003eString(\u0026quot;100\u0026quot;)\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003eKey changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eValues that don't match any variant member now raise \u003ccode\u003eDataError\u003c/code\u003e instead of being stringified and\ndelegated to the server.\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003etyped_variant(value, 'TypeName')\u003c/code\u003e helper is provided for cases where automatic dispatch\ncannot resolve the target type, such as when multiple variant members map to the same Python\ntype (e.g. \u003ccode\u003eArray(UInt32)\u003c/code\u003e vs \u003ccode\u003eArray(String)\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded \u003ccode\u003eutc_tz_aware=\u0026quot;schema\u0026quot;\u003c/code\u003e mode which returns timezone-aware datetimes only when the server's column schema explicitly defines a timezone (e.g. \u003ccode\u003eDateTime('UTC')\u003c/code\u003e), and naive datetimes for bare \u003ccode\u003eDateTime\u003c/code\u003e columns. This matches the ClickHouse schema definition exactly. Not yet supported for Arrow-based query methods. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/645\"\u003e#645\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type annotations to public API methods in \u003ccode\u003eClient\u003c/code\u003e, \u003ccode\u003eAsyncClient\u003c/code\u003e, \u003ccode\u003eHttpClient\u003c/code\u003e, and \u003ccode\u003eQueryResult\u003c/code\u003e. Ref \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/567\"\u003e#567\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003edict_add\u003c/code\u003e parameter typed as builtin \u003ccode\u003eany\u003c/code\u003e instead of \u003ccode\u003etyping.Any\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRecognize \u003ccode\u003eUPDATE\u003c/code\u003e as a command so lightweight updates work correctly via \u003ccode\u003eclient.query()\u003c/code\u003e and SQLAlchemy.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/blob/main/CHANGELOG.md\"\u003eclickhouse-connect's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.1, 2026-03-11\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix JSON and Dynamic column read paths to properly decode shared variant data instead of returning raw binary with discriminator byte prefixes. Shared data values, used when paths exceed \u003ccode\u003emax_dynamic_paths\u003c/code\u003e or types exceed \u003ccode\u003emax_dynamic_types\u003c/code\u003e are now decoded from ClickHouse's binary variant encoding. Scalar types like integers, floats, strings, booleans, and nulls as well as nested objects are now fully decoded. Compound types like Array, Tuple, Map, DateTime, Date, Decimal, and UUID are not yet decoded and will be returned as raw bytes. Fixes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/599\"\u003e#599\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/615\"\u003e#615\u003c/a\u003e, and \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: Fixed empty ORM/DBAPI SELECT results so \u003ccode\u003ecursor.description\u003c/code\u003e is still populated when ClickHouse Native format returns no data blocks. This restores correct handling for empty result sets, including parameterized and limited queries. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/675\"\u003e#675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore the default Cython runtime path so compiled \u003ccode\u003edriverc\u003c/code\u003e modules are used again unless \u003ccode\u003eCLICKHOUSE_CONNECT_USE_C=0\u003c/code\u003e is set. Fix C/Python parity issues in streaming exception handling, \u003ccode\u003eFixedString\u003c/code\u003e string reads, nullable array helpers, and numpy conversion helpers, and expand CI and unit parity coverage to keep the optimized and pure-Python paths in sync. Addresses \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/676\"\u003e#676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSimplify \u003ccode\u003epivot\u003c/code\u003e in the Cython data conversion module to use \u003ccode\u003etuple(zip(*...))\u003c/code\u003e instead of a manual tuple-building loop which matches the pure-Python implementation and provides significant insert speedup.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.14.0, 2026-03-09\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRenamed \u003ccode\u003eapply_server_timezone\u003c/code\u003e parameter to \u003ccode\u003etz_source\u003c/code\u003e across Client and HttpClient. The new \u003ccode\u003etz_source\u003c/code\u003e parameter accepts string values: \u003ccode\u003e\u0026quot;auto\u0026quot;\u003c/code\u003e (default, was \u003ccode\u003eNone\u003c/code\u003e), \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e (was \u003ccode\u003eTrue\u003c/code\u003e or \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e), and \u003ccode\u003e\u0026quot;local\u0026quot;\u003c/code\u003e (was \u003ccode\u003eFalse\u003c/code\u003e). The old \u003ccode\u003eapply_server_timezone\u003c/code\u003e parameter is still accepted but emits a \u003ccode\u003eDeprecationWarning\u003c/code\u003e and will be removed in 1.0. Passing both \u003ccode\u003etz_source\u003c/code\u003e and \u003ccode\u003eapply_server_timezone\u003c/code\u003e raises \u003ccode\u003eProgrammingError\u003c/code\u003e. The \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e value (which had no distinct runtime behavior from \u003ccode\u003eTrue\u003c/code\u003e) maps to \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRenamed \u003ccode\u003eutc_tz_aware\u003c/code\u003e parameter to \u003ccode\u003etz_mode\u003c/code\u003e across Client, QueryContext, and all query methods. The new \u003ccode\u003etz_mode\u003c/code\u003e parameter accepts string values: \u003ccode\u003e\u0026quot;naive_utc\u0026quot;\u003c/code\u003e (default, was \u003ccode\u003eFalse\u003c/code\u003e), \u003ccode\u003e\u0026quot;aware\u0026quot;\u003c/code\u003e (was \u003ccode\u003eTrue\u003c/code\u003e), and \u003ccode\u003e\u0026quot;schema\u0026quot;\u003c/code\u003e (unchanged). The old \u003ccode\u003eutc_tz_aware\u003c/code\u003e parameter is still accepted but emits a \u003ccode\u003eDeprecationWarning\u003c/code\u003e and will be removed in 1.0. Passing both \u003ccode\u003etz_mode\u003c/code\u003e and \u003ccode\u003eutc_tz_aware\u003c/code\u003e raises \u003ccode\u003eProgrammingError\u003c/code\u003e. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/654\"\u003e#654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved the deprecated \u003ccode\u003eObject('json')\u003c/code\u003e type. This was the legacy experimental JSON type that has been superseded by the new \u003ccode\u003eJSON\u003c/code\u003e type in ClickHouse. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/556\"\u003e#556\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePandas 1.x support is now deprecated and will be removed in v1.0.0. A \u003ccode\u003eDeprecationWarning\u003c/code\u003e is emitted at import time for pandas 1.x users.\u003c/li\u003e\n\u003cli\u003eThe current \u003ccode\u003eAsyncClient\u003c/code\u003e is a thread-pool wrapper around the sync client and now emits a \u003ccode\u003eFutureWarning\u003c/code\u003e on creation, pointing users to the fully native async client available as a prerelease: \u003ccode\u003epip install 'clickhouse-connect[async]==0.12.0rc1'\u003c/code\u003e. This prerelease branch is based on 0.11.0 and is gathering feedback ahead of 1.0.0, where it will become the default async implementation. It is a drop-in replacement with the same API surface.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for the \u003ccode\u003eSAMPLE\u003c/code\u003e clause in SQLAlchemy statements. Note: Due to a SQLAlchemy limitation, only one hint (SAMPLE or FINAL) can be applied per table; chaining both will silently ignore one. For now, this change enables use of sample(), but chaining with final() is not yet supported.  Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/634\"\u003e#634\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eExperimental:\u003c/strong\u003e Added Python 3.14 free-threading (cp314t) wheel builds for all platforms. The full test suite currently (as of 2 MAR, 2026) passes under free-threaded Python, but is not added to the CI test matrix at this time nor has it been otherwise tested to any degree. Free-threading support should be considered experimental with no guarantees of correctness at this time. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/573\"\u003e#573\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.13.0, 2026-02-26\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBREAKING CHANGE: Implement native write path for \u003ccode\u003eVariant\u003c/code\u003e data type with type-aware dispatching.\nPreviously, all values inserted into a \u003ccode\u003eVariant\u003c/code\u003e column were stringified and sent to the server, which\nwould store them in the \u003ccode\u003eString\u003c/code\u003e member if present, or attempt server-side conversion otherwise. Values\nare now serialized using their native ClickHouse types client-side (e.g. inserting \u003ccode\u003e100\u003c/code\u003e into\n\u003ccode\u003eVariant(Int64, String)\u003c/code\u003e stores \u003ccode\u003eInt64(100)\u003c/code\u003e instead of \u003ccode\u003eString(\u0026quot;100\u0026quot;)\u003c/code\u003e). Key changes:\n\u003cul\u003e\n\u003cli\u003eValues that don't match any variant member now raise \u003ccode\u003eDataError\u003c/code\u003e instead of being stringified and\ndelegated to the server.\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003etyped_variant(value, 'TypeName')\u003c/code\u003e helper is provided for cases where automatic dispatch\ncannot resolve the target type, such as when multiple variant members map to the same Python\ntype (e.g. \u003ccode\u003eArray(UInt32)\u003c/code\u003e vs \u003ccode\u003eArray(String)\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eutc_tz_aware=\u0026quot;schema\u0026quot;\u003c/code\u003e mode which returns timezone-aware datetimes only when the server's column schema explicitly defines a timezone (e.g. \u003ccode\u003eDateTime('UTC')\u003c/code\u003e), and naive datetimes for bare \u003ccode\u003eDateTime\u003c/code\u003e columns. This matches the ClickHouse schema definition exactly. Not yet supported for Arrow-based query methods. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/645\"\u003e#645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd type annotations to public API methods in \u003ccode\u003eClient\u003c/code\u003e, \u003ccode\u003eAsyncClient\u003c/code\u003e, \u003ccode\u003eHttpClient\u003c/code\u003e, and \u003ccode\u003eQueryResult\u003c/code\u003e. Ref \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/567\"\u003e#567\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003edict_add\u003c/code\u003e parameter typed as builtin \u003ccode\u003eany\u003c/code\u003e instead of \u003ccode\u003etyping.Any\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRecognize \u003ccode\u003eUPDATE\u003c/code\u003e as a command so lightweight updates work correctly via \u003ccode\u003eclient.query()\u003c/code\u003e and SQLAlchemy.\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: \u003ccode\u003eGROUP BY\u003c/code\u003e now renders label aliases instead of full expressions which avoids circular reference errors when an alias shadows a source column name in ClickHouse.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.11.0, 2026-02-10\u003c/h2\u003e\n\u003ch3\u003ePython 3.9 Deprecation\u003c/h3\u003e\n\u003cp\u003ePython 3.9 EOL'd Oct 2025. Support for Python 3.9 is now softly deprecated and has been removed from our CI test matrix but\ndistribution wheels will continue to be built until the 1.0 release or until the builds naturally fail, whichever comes first.\nA \u003ccode\u003eDeprecationWarning\u003c/code\u003e will now be displayed when initializing the client on Python 3.9. Users should plan to upgrade to\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/ClickHouse/clickhouse-connect/commit/c40bbacf6966cdf3bed4a0cd88d2a8cba10e5a8a\"\u003e\u003ccode\u003ec40bbac\u003c/code\u003e\u003c/a\u003e 0.14.1 bugfix release prep (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/680\"\u003e#680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/323b76809580854a84c543691ab7c9d976fdad49\"\u003e\u003ccode\u003e323b768\u003c/code\u003e\u003c/a\u003e Reenable default Cython runtime path and reestablish C/Python parity (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/679\"\u003e#679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/01149488c25e39e085d51edfcfdc8516162ff503\"\u003e\u003ccode\u003e0114948\u003c/code\u003e\u003c/a\u003e fix sqlalchemy empty result metadata for orm queries (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/678\"\u003e#678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/60ca78c1cd397a4c8983f14c0539c0d09d9ce21f\"\u003e\u003ccode\u003e60ca78c\u003c/code\u003e\u003c/a\u003e Fix shared variant decoding for JSON and Dynamic columns (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/677\"\u003e#677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/2dda7152c59b417b4b153d1dd8a061d475ae7c2f\"\u003e\u003ccode\u003e2dda715\u003c/code\u003e\u003c/a\u003e release prep for 0.14.0 (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/673\"\u003e#673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/5d5c3f24c9f7e864536e2aac52c3b8e2349ef2a9\"\u003e\u003ccode\u003e5d5c3f2\u003c/code\u003e\u003c/a\u003e async native future warning (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/672\"\u003e#672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/436050f1b3765605848d9765e3ee0e350b4c6758\"\u003e\u003ccode\u003e436050f\u003c/code\u003e\u003c/a\u003e add bare import smoke test to CI (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/671\"\u003e#671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/a5fbad0fcbac92279874b9214024d6087e307cb0\"\u003e\u003ccode\u003ea5fbad0\u003c/code\u003e\u003c/a\u003e rename apply_server_timezone to tz_source (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/670\"\u003e#670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/01e7ca036a26458acf7a22ca170bd4a1765aa6b1\"\u003e\u003ccode\u003e01e7ca0\u003c/code\u003e\u003c/a\u003e add pandas 1.x deprecation warning for 1.0.0 (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/667\"\u003e#667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/c65f54a079c790673d7f87bb2a303784d9081b8d\"\u003e\u003ccode\u003ec65f54a\u003c/code\u003e\u003c/a\u003e rename utc_tz_aware to tz_mode (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/664\"\u003e#664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.10.0...v0.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `couchbase` from 4.3.6 to 4.5.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/9338788daddf9ff1755bfcd86d845ddc8d331860\"\u003e\u003ccode\u003e9338788\u003c/code\u003e\u003c/a\u003e Update C++ core to 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/c3504fa193467a3eec47b23b16f12806fbebf9c1\"\u003e\u003ccode\u003ec3504fa\u003c/code\u003e\u003c/a\u003e PYCBC-1705: Fix FLE imports and exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/70fbc324ec9379cce5652a16ba1a2252efb0cabb\"\u003e\u003ccode\u003e70fbc32\u003c/code\u003e\u003c/a\u003e Update C++ core to 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/9b9164f8e42cca942439049301fd738317fcb1d5\"\u003e\u003ccode\u003e9b9164f\u003c/code\u003e\u003c/a\u003e PYCBC-1711: Don't set bucketType, replicaIndex, flushEnabled when creating bu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/5319285921c7077baf8f347b6cf0377d363d5c26\"\u003e\u003ccode\u003e5319285\u003c/code\u003e\u003c/a\u003e PYCBC-1704: Allow eventing function mgmt test fixtures to ignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/970621968dd2b3463cc450c49c1479297ea087a5\"\u003e\u003ccode\u003e9706219\u003c/code\u003e\u003c/a\u003e Update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/5485046fd3cd853c695d17a999aff9842de3c83e\"\u003e\u003ccode\u003e5485046\u003c/code\u003e\u003c/a\u003e Update eventing mgmt tests for recent 8.0 changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/1351bfae64ddf50e942ee52360735a6961ed076d\"\u003e\u003ccode\u003e1351bfa\u003c/code\u003e\u003c/a\u003e PYCBC-1699: Update SDK Build Setup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/83478e273fcee4748115b949d6809973519343a4\"\u003e\u003ccode\u003e83478e2\u003c/code\u003e\u003c/a\u003e Search User Experience Improvements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/593019056f414ea452f32a229a3c46d24e738285\"\u003e\u003ccode\u003e5930190\u003c/code\u003e\u003c/a\u003e PYCBC-1698: Improve Jenkins Integration Tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/couchbase/couchbase-python-client/compare/4.3.6...4.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `elasticsearch` from 8.14.0 to 9.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/elastic/elasticsearch-py/releases\"\u003eelasticsearch's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.3.0\u003c/h2\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epack_dense_vector\u003c/code\u003e helper function to pack dense vectors for efficient uploading (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3219\"\u003e#3219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNew and updated ES|QL functions in the ES|QL query builder for 9.3 and Serverless (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3266\"\u003e#3266\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAPI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ecat.circuit_breaker\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eesql.get_view\u003c/code\u003e, \u003ccode\u003eesql.put_view\u003c/code\u003e and \u003ccode\u003eesql.delete_view\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eindices.get_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.put_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.delete_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.get_all_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.get_sample\u003c/code\u003e, \u003ccode\u003eindices.get_sample_stats\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003einference.put_groq\u003c/code\u003e, \u003ccode\u003einference.put_openshift_ai\u003c/code\u003e, \u003ccode\u003einference.put_nvidia\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003edownsampling_method\u003c/code\u003e argument to \u003ccode\u003eindices.put_data_lifecycle\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ereturn_documents\u003c/code\u003e and \u003ccode\u003etop_n\u003c/code\u003e arguments to \u003ccode\u003einference.rerank\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eclose_job\u003c/code\u003e argument to \u003ccode\u003eml.stop_datafeed\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecertificate_identity\u003c/code\u003e to \u003ccode\u003esecurity.create_cross_cluster_api_key\u003c/code\u003e and \u003ccode\u003esecurity.update_cross_cluster_api_key\u003c/code\u003e APIs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServerless-specific\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eproject_routing\u003c/code\u003e argument to \u003ccode\u003eproject.tags\u003c/code\u003e API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDSL\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eNumpyDenseVector\u003c/code\u003e field, with support for dense vectors based on numpy arrays (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3218\"\u003e#3218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eExponentialHistogram\u003c/code\u003e field\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003etime_series_metric\u003c/code\u003e argument to \u003ccode\u003eHistogram\u003c/code\u003e field\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eon_disk_rescore\u003c/code\u003e argument from \u003ccode\u003eDenseVectorIndexOptions\u003c/code\u003e type\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eslices\u003c/code\u003e argument to \u003ccode\u003eUpdateByQueryResponse\u003c/code\u003e type\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.2.1\u003c/h2\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInstrument ping with OTel (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3160\"\u003e#3160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake positional arguments in DSL generated classes explicit  (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3233\"\u003e#3233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd warnings for private APIs (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3212\"\u003e#3212\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eES|QL query builder: fix missing assignment (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3151\"\u003e#3151\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse relative imports to fix \u003ccode\u003eelasticsearch9\u003c/code\u003e package imports (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3232\"\u003e#3232\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAPI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003etransform.get_node_stats\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003erequests_per_second\u003c/code\u003e argument to \u003ccode\u003edelete_by_query_rethrottle\u003c/code\u003e, \u003ccode\u003ereindex_rethrottle\u003c/code\u003e and \u003ccode\u003eupdate_by_query_rethrottle\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eallow_closed\u003c/code\u003e, \u003ccode\u003eallow_no_indices\u003c/code\u003e, \u003ccode\u003eexpand_wildcards\u003c/code\u003e, \u003ccode\u003eignore_throttled\u003c/code\u003e and \u003ccode\u003eignore_available\u003c/code\u003e arguments to \u003ccode\u003ecat.segments\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003echunking_settings\u003c/code\u003e argument to \u003ccode\u003einference.put_watsonxai\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eid\u003c/code\u003e argument to \u003ccode\u003eml.stop_trained_model_deployment\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003echunking_settings\u003c/code\u003e argument from \u003ccode\u003einference.put_anthropic\u003c/code\u003e, \u003ccode\u003einference.put_contextualai\u003c/code\u003e, \u003ccode\u003einference.put_deepseek\u003c/code\u003e APIs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/adae2d6d3d76f3ea75cd758ce64223bd76df45e5\"\u003e\u003ccode\u003eadae2d6\u003c/code\u003e\u003c/a\u003e Release 9.3.0 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3300\"\u003e#3300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/ea2227c743d7cacb474efecf4d8b84fa553f9eec\"\u003e\u003ccode\u003eea2227c\u003c/code\u003e\u003c/a\u003e Add Python 3.14 trove classifier (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3296\"\u003e#3296\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3299\"\u003e#3299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/b507e3e2d91ff0b6f8fb4a53ea23caa989677436\"\u003e\u003ccode\u003eb507e3e\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3293\"\u003e#3293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/76150204725b1495cad3348c573406fc1f3512d1\"\u003e\u003ccode\u003e7615020\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3280\"\u003e#3280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/ef8d102b3fc4d7572e0fd0bb56afe4291fddc529\"\u003e\u003ccode\u003eef8d102\u003c/code\u003e\u003c/a\u003e Stop using pytz (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3275\"\u003e#3275\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3278\"\u003e#3278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/65870f3504344ba7f67feb7721522bef936a92cf\"\u003e\u003ccode\u003e65870f3\u003c/code\u003e\u003c/a\u003e allow adding elasticsearch query filter for mmr searching (elastic#2638) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/32\"\u003e#32\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/b110f19a49ad492d2d6aa514afaac35360ac3c93\"\u003e\u003ccode\u003eb110f19\u003c/code\u003e\u003c/a\u003e Updates to ES|QL functions for 9.3 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3266\"\u003e#3266\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3272\"\u003e#3272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/f3d082788f52b5fe3c80926624fa8a61aa4deb37\"\u003e\u003ccode\u003ef3d0827\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3269\"\u003e#3269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/80818cc2640fcdf902919a3dc5500ae945d33271\"\u003e\u003ccode\u003e80818cc\u003c/code\u003e\u003c/a\u003e Auto-generated code for 9.3 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3262\"\u003e#3262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/6baa03faedefc90ccbc5f902626cc8cea46aed6a\"\u003e\u003ccode\u003e6baa03f\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3252\"\u003e#3252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/elastic/elasticsearch-py/compare/v8.14.0...v9.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oracledb` from 3.3.0 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oracle/python-oracledb/releases\"\u003eoracledb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.4.2\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.2 is now released. This release addresses a number of issues. See the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-2-january-2026\"\u003efull release notes\u003c/a\u003e for all of the details.\u003c/p\u003e\n\u003ch2\u003ev3.4.1\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.1 is now released. This release addresses a number of issues. See the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-1-november-2025\"\u003efull release notes\u003c/a\u003e for all of the details.\u003c/p\u003e\n\u003ch2\u003ev3.4.0\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.0 is now released. This release has the following highlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003esupport for Direct Path Load in thin mode for fast data ingestion\u003c/li\u003e\n\u003cli\u003esupport for data frames is no longer considered a pre-release\u003c/li\u003e\n\u003cli\u003esupport for type mapping when querying with data frames\u003c/li\u003e\n\u003cli\u003esupport for ingesting more Apache Arrow data types\u003c/li\u003e\n\u003cli\u003esupport for ingesting Apache Arrow data frames containing multiple chunks\u003c/li\u003e\n\u003cli\u003esupport for cursor.executemany() operating on large input data in batches\u003c/li\u003e\n\u003cli\u003efine-grained control over LOB and number handling\u003c/li\u003e\n\u003cli\u003enew optional install dependencies for plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-0-october-2025\"\u003efull release notes\u003c/a\u003e for all of the details.\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/oracle/python-oracledb/commit/51581eeb0a626fb3df4e25e00ddb3a28137d3831\"\u003e\u003ccode\u003e51581ee\u003c/code\u003e\u003c/a\u003e Preparing to release python-oracledb 3.4.2.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/81ceb554a0bfb52eb64b7b3870907d9b19bf15bd\"\u003e\u003ccode\u003e81ceb55\u003c/code\u003e\u003c/a\u003e Fixed bug which caused Connection.call_timeout to be reset to zero when\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/4a94025de99763fd0d16d1c2d79d416b9a075e12\"\u003e\u003ccode\u003e4a94025\u003c/code\u003e\u003c/a\u003e Eliminated memory leak when converting a third party data frame to one\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/36a29517530bfe311dab41218a3bc3d80700fe2c\"\u003e\u003ccode\u003e36a2951\u003c/code\u003e\u003c/a\u003e Fixed bug when decoding PL/SQL booleans in Oracle Database 12.1 (\u003ca href=\"https://redirect.github.com/oracle/python-oracledb/issues/565\"\u003e#565\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/6072f01b420af4c2d36c1b9f7b1421aab64ea336\"\u003e\u003ccode\u003e6072f01\u003c/code\u003e\u003c/a\u003e Grammar fix.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/f8be001d9862d6b0b6ec6158b67affef7a70556e\"\u003e\u003ccode\u003ef8be001\u003c/code\u003e\u003c/a\u003e Fixed bug causing hang when using asyncio and the database closes the\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/6e0d8b9da4b259e1b11ad648d354ca659f537a6a\"\u003e\u003ccode\u003e6e0d8b9\u003c/code\u003e\u003c/a\u003e Eliminated race condition in background thread/coroutine management for\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/40200bfa1cb9dde0977a509c84cfdde66f144358\"\u003e\u003ccode\u003e40200bf\u003c/code\u003e\u003c/a\u003e Adjusted code and tests to be capable of being run in environments other\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/36f8899fa71ebd4aec80b87f990633e86abc6b95\"\u003e\u003ccode\u003e36f8899\u003c/code\u003e\u003c/a\u003e Added support for ingesting Arrow arrays which only consist of null\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/7bf23b6c2061d20358b030104249bd703ac1832e\"\u003e\u003ccode\u003e7bf23b6\u003c/code\u003e\u003c/a\u003e Fixed bug when calling Cursor.executemany() with all of the values in at\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/oracle/python-oracledb/compare/v3.3.0...v3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pgvector` from 0.2.5 to 0.4.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md\"\u003epgvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2 (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 6\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estr\u003c/code\u003e objects for \u003ccode\u003ebit\u003c/code\u003e type with SQLAlchemy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 (2025-04-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eSparseVector\u003c/code\u003e constructor for SciPy sparse matrices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 (2025-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded top-level \u003ccode\u003epgvector\u003c/code\u003e package\u003c/li\u003e\n\u003cli\u003eAdded support for pg8000\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ebytes\u003c/code\u003e to \u003ccode\u003eBit\u003c/code\u003e constructor\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eglobally\u003c/code\u003e option to default to \u003ccode\u003eFalse\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003earrays\u003c/code\u003e option to default to \u003ccode\u003eTrue\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eFixed equality for \u003ccode\u003eVector\u003c/code\u003e, \u003ccode\u003eHalfVector\u003c/code\u003e, \u003ccode\u003eBit\u003c/code\u003e, and \u003ccode\u003eSparseVector\u003c/code\u003e classes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eindices\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods of \u003ccode\u003eSparseVector\u003c/code\u003e returning tuple instead of list in some cases\u003c/li\u003e\n\u003cli\u003eDropped support for Python \u0026lt; 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 (2024-10-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003earrays\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 (2024-10-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eavg\u003c/code\u003e function with type casting to SQLAlchemy\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eglobally\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.4 (2024-09-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eschema\u003c/code\u003e option for asyncpg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.3 (2024-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved support for cursor factories with Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.2 (2024-07-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error with asyncpg and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.1 (2024-07-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error parsing zero sparse vectors\u003c/li\u003e\n\u003cli\u003eFixed error with Psycopg 2 and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003cli\u003eFixed error message when \u003ccode\u003evector\u003c/code\u003e type not found with Psycopg 3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.0 (2024-06-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ehalfvec\u003c/code\u003e, \u003ccode\u003ebit\u003c/code\u003e, and \u003ccode\u003esparsevec\u003c/code\u003e types to Django\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/2968f258f9486531bd1340cbda4ff8fcaf06cdc1\"\u003e\u003ccode\u003e2968f25\u003c/code\u003e\u003c/a\u003e Version bump to 0.4.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/674f5ba3410c873d49f50fa9725b95d9db50c674\"\u003e\u003ccode\u003e674f5ba\u003c/code\u003e\u003c/a\u003e Updated checkout action [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e2986daf2b1533cc2c849f7e39350e31d57ac325\"\u003e\u003ccode\u003ee2986da\u003c/code\u003e\u003c/a\u003e Added support for Django 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e211ba4029f204734f0c001fbb90f6a594d561ae\"\u003e\u003ccode\u003ee211ba4\u003c/code\u003e\u003c/a\u003e Test with Python 3.14 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/1a72b7571adf3325174b383aca85bfb3a5b925fa\"\u003e\u003ccode\u003e1a72b75\u003c/code\u003e\u003c/a\u003e Updated pgvector on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/c820a53bfb46196551de3c3f59f81b192d890574\"\u003e\u003ccode\u003ec820a53\u003c/code\u003e\u003c/a\u003e Simplified examples [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/caf1a2e0dd7a1ba2ad0ca9f09b50516dcfffcdeb\"\u003e\u003ccode\u003ecaf1a2e\u003c/code\u003e\u003c/a\u003e Added docs for binary quantization with SQLAlchemy [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/dc9a8f959995f009649fd230139ca41193e0a801\"\u003e\u003ccode\u003edc9a8f9\u003c/code\u003e\u003c/a\u003e Added test for binary quantization with re-ranking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/33dee606229489c9ffb0cb5a1cd72bd4705ac618\"\u003e\u003ccode\u003e33dee60\u003c/code\u003e\u003c/a\u003e Added support for str objects for bit type with SQLAlchemy - \u003ca href=\"https://redirect.github.com/pgvector/pgvector-python/issues/137\"\u003e#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/ee3e71ca2c07a12a8332a3877c0ce14adc9a5da8\"\u003e\u003ccode\u003eee3e71c\u003c/code\u003e\u003c/a\u003e Updated format for license identifier\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgvector/pgvector-python/compare/v0.2.5...v0.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymilvus` from 2.5.17 to 2.6.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/milvus-io/pymilvus/releases\"\u003epymilvus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePyMilvus v2.6.10 Release Notes\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add global cluster client support (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3264\"\u003e#3264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: add ConnectionManager to replace connections singleton for MilvusClient (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3307\"\u003e#3307\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: is_legal_ids() to accept negative int64 primary keys (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3281\"\u003e#3281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: avoid calling len() on scipy sparse matrix in entity_to_field_data (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3294\"\u003e#3294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry on REPLICATE_VIOLATION for global cluster region switch (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3298\"\u003e#3298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: support non-float vectors in struct array in search (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3299\"\u003e#3299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enforce timeout for async operations when server is unreachable (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3304\"\u003e#3304\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add debounce to prevent concurrent topology refresh in global client (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3309\"\u003e#3309\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenhance: general performance improvements across MilvusClient path (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3280\"\u003e#3280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eenhance: remote bulk writer support virtual_style_endpoint (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3302\"\u003e#3302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eenhance: update the milvus-proto commit (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3310\"\u003e#3310\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTesting \u0026amp; CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenhance: requires 90% patch unit test coverage for new PRs (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3297\"\u003e#3297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eenhance: increase ORM unit test coverage to 90%+ per file (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3312\"\u003e#3312\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/milvus-io/pymilvus/compare/v2.6.9...v2.6.10\"\u003ehttps://github.com/milvus-io/pymilvus/compare/v2.6.9...v2.6.10\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePyMilvus v2.6.9 Release Notes\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003efix: pass context to \u003ccode\u003edescribe_collection\u003c/code\u003e in \u003ccode\u003eSearchIteratorV2\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3271\"\u003e#3271\u003c/a\u003e) — Forward \u003ccode\u003ekwargs\u003c/code\u003e (including \u003ccode\u003econtext\u003c/code\u003e carrying \u003ccode\u003edb_name\u003c/code\u003e) from \u003ccode\u003eSearchIteratorV2.__init__\u003c/code\u003e to \u003ccode\u003edescribe_collection\u003c/code\u003e, matching the existing \u003ccode\u003eQueryIterator\u003c/code\u003e pattern. Without this fix, \u003ccode\u003eSearchIteratorV2\u003c/code\u003e always queries the \u003ccode\u003edefault\u003c/code\u003e database, causing \u0026quot;can't find collection\u0026quot; errors for non-default databases.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003efix: unpack \u003ccode\u003e_get_schema\u003c/code\u003e tuple return in \u003ccode\u003e_list_vector_indexes\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3275\"\u003e#3275\u003c/a\u003e) — Fix tuple unpacking issue in \u003ccode\u003e_list_vector_indexes\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eenhance: optimize gRPC keepalive defaults and support user-configurable \u003ccode\u003egrpc_options\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3258\"\u003e#3258\u003c/a\u003e) — Improve gRPC keepalive defaults and allow users to configure gRPC channel options.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eenhance: support warmup type params for \u003ccode\u003eFieldSchema\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3255\"\u003e#3255\u003c/a\u003e) — Add warmup type parameter support in field schema definitions.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTests\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eenhance: increase unit test coverage\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3233\"\u003e#3233\u003c/a\u003e) — Comprehensive tests added for \u003ccode\u003eclient/types.py\u003c/code\u003e, iterator utilities, \u003ccode\u003eorm/utility.py\u003c/code\u003e, request builder methods, \u003ccode\u003eclient/abstract.py\u003c/code\u003e, decorators, and \u003ccode\u003eclient/utils.py\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/milvus-io/pymilvus/compare/v2.6.8...v2.6.9\"\u003ehttps://github.com/milvus-io/pymilvus/compare/v2.6.8...v2.6.9\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/0b1ca2ee3dbf8424a5cbe67b5dda4dae7425880c\"\u003e\u003ccode\u003e0b1ca2e\u003c/code\u003e\u003c/a\u003e [Backport 2.6] enhance: increase ORM unit test coverage to 90%+ per file (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/33\"\u003e#33\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/a86a24d74e3040409f73ad6d1c4574fe0463e06f\"\u003e\u003ccode\u003ea86a24d\u003c/code\u003e\u003c/a\u003e enhance: update the milvus-proto commit (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3310\"\u003e#3310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/b706e408a8122fc2efe66eaf1bc9a822929173a8\"\u003e\u003ccode\u003eb706e40\u003c/code\u003e\u003c/a\u003e fix: [cp2.6] add debounce to prevent concurrent topology refresh in global cl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/9053d7a3d122f3ef5e5c13257410b59a81a960b6\"\u003e\u003ccode\u003e9053d7a\u003c/code\u003e\u003c/a\u003e feat: [cp26]add ConnectionManager to replace connections singleton for MC (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/bda4914046257a02e6b1531f049cc1dfa1cfcd8b\"\u003e\u003ccode\u003ebda4914\u003c/code\u003e\u003c/a\u003e [Backport 2.6] fix: enforce timeout for async operations when server is unrea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/d1b2c99d830ae9596310d5c006fbb27a05e06659\"\u003e\u003ccode\u003ed1b2c99\u003c/code\u003e\u003c/a\u003e [Backport 2.6] enhance: remote bulket writer support virtual_style_endpoint...\n\n_Description has been truncated_","html_url":"https://github.com/langgenius/dify/pull/33492","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/langgenius%2Fdify/issues/33492","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/33492/packages"}},{"old_version":"0.3.6","new_version":"0.4.2","update_type":"minor","path":"/backend","pr_created_at":"2026-03-15T21:28:16.000Z","version_change":"0.3.6 → 0.4.2","issue":{"uuid":"4079232831","node_id":"PR_kwDORgr02M7KwrBu","number":23,"state":"open","title":"chore(deps): Bump pgvector from 0.3.6 to 0.4.2 in /backend","user":"dependabot[bot]","labels":[],"assignees":["ori129"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-15T21:28:16.000Z","updated_at":"2026-03-15T21:28:16.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","packages":[{"name":"pgvector","old_version":"0.3.6","new_version":"0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"}],"path":"/backend","ecosystem":"pip"},"body":"Bumps [pgvector](https://github.com/pgvector/pgvector-python) from 0.3.6 to 0.4.2.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md\"\u003epgvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2 (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 6\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estr\u003c/code\u003e objects for \u003ccode\u003ebit\u003c/code\u003e type with SQLAlchemy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 (2025-04-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eSparseVector\u003c/code\u003e constructor for SciPy sparse matrices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 (2025-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded top-level \u003ccode\u003epgvector\u003c/code\u003e package\u003c/li\u003e\n\u003cli\u003eAdded support for pg8000\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ebytes\u003c/code\u003e to \u003ccode\u003eBit\u003c/code\u003e constructor\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eglobally\u003c/code\u003e option to default to \u003ccode\u003eFalse\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003earrays\u003c/code\u003e option to default to \u003ccode\u003eTrue\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eFixed equality for \u003ccode\u003eVector\u003c/code\u003e, \u003ccode\u003eHalfVector\u003c/code\u003e, \u003ccode\u003eBit\u003c/code\u003e, and \u003ccode\u003eSparseVector\u003c/code\u003e classes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eindices\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods of \u003ccode\u003eSparseVector\u003c/code\u003e returning tuple instead of list in some cases\u003c/li\u003e\n\u003cli\u003eDropped support for Python \u0026lt; 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/2968f258f9486531bd1340cbda4ff8fcaf06cdc1\"\u003e\u003ccode\u003e2968f25\u003c/code\u003e\u003c/a\u003e Version bump to 0.4.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/674f5ba3410c873d49f50fa9725b95d9db50c674\"\u003e\u003ccode\u003e674f5ba\u003c/code\u003e\u003c/a\u003e Updated checkout action [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e2986daf2b1533cc2c849f7e39350e31d57ac325\"\u003e\u003ccode\u003ee2986da\u003c/code\u003e\u003c/a\u003e Added support for Django 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e211ba4029f204734f0c001fbb90f6a594d561ae\"\u003e\u003ccode\u003ee211ba4\u003c/code\u003e\u003c/a\u003e Test with Python 3.14 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/1a72b7571adf3325174b383aca85bfb3a5b925fa\"\u003e\u003ccode\u003e1a72b75\u003c/code\u003e\u003c/a\u003e Updated pgvector on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/c820a53bfb46196551de3c3f59f81b192d890574\"\u003e\u003ccode\u003ec820a53\u003c/code\u003e\u003c/a\u003e Simplified examples [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/caf1a2e0dd7a1ba2ad0ca9f09b50516dcfffcdeb\"\u003e\u003ccode\u003ecaf1a2e\u003c/code\u003e\u003c/a\u003e Added docs for binary quantization with SQLAlchemy [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/dc9a8f959995f009649fd230139ca41193e0a801\"\u003e\u003ccode\u003edc9a8f9\u003c/code\u003e\u003c/a\u003e Added test for binary quantization with re-ranking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/33dee606229489c9ffb0cb5a1cd72bd4705ac618\"\u003e\u003ccode\u003e33dee60\u003c/code\u003e\u003c/a\u003e Added support for str objects for bit type with SQLAlchemy - \u003ca href=\"https://redirect.github.com/pgvector/pgvector-python/issues/137\"\u003e#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/ee3e71ca2c07a12a8332a3877c0ce14adc9a5da8\"\u003e\u003ccode\u003eee3e71c\u003c/code\u003e\u003c/a\u003e Updated format for license identifier\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgvector/pgvector-python/compare/v0.3.6...v0.4.2\"\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=pgvector\u0026package-manager=pip\u0026previous-version=0.3.6\u0026new-version=0.4.2)](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/ori129/agentsorg/pull/23","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ori129%2Fagentsorg/issues/23","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/23/packages"}},{"old_version":"0.2.5","new_version":"0.4.2","update_type":"minor","path":"/api","pr_created_at":"2026-03-14T21:36:48.000Z","version_change":"0.2.5 → 0.4.2","issue":{"uuid":"4076796752","node_id":"PR_kwDORmx2Bs7KpfpN","number":17,"state":"closed","title":"chore(deps): bump the vdb group in /api with 17 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-11T21:33:34.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-14T21:36:48.000Z","updated_at":"2026-04-11T21:33:36.000Z","time_to_close":2419006,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"vdb","update_count":17,"packages":[{"name":"weaviate-client","old_version":"4.17.0","new_version":"4.20.4","repository_url":"https://github.com/weaviate/weaviate-python-client"},{"name":"chromadb","old_version":"0.5.20","new_version":"1.5.5","repository_url":"https://github.com/chroma-core/chroma"},{"name":"elasticsearch","old_version":"8.14.0","new_version":"9.3.0","repository_url":"https://github.com/elastic/elasticsearch-py"},{"name":"oracledb","old_version":"3.3.0","new_version":"3.4.2","repository_url":"https://github.com/oracle/python-oracledb"},{"name":"pgvector","old_version":"0.2.5","new_version":"0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"},{"name":"pymochow","old_version":"2.2.9","new_version":"2.3.6"},{"name":"qdrant-client","old_version":"1.9.0","new_version":"1.17.1","repository_url":"https://github.com/qdrant/qdrant-client"}],"path":"/api","ecosystem":"pip"},"body":"Updates the requirements on [weaviate-client](https://github.com/weaviate/weaviate-python-client), [alibabacloud-gpdb20160503](https://github.com/aliyun/alibabacloud-python-sdk), [alibabacloud-tea-openapi](https://github.com/aliyun/darabonba-openapi), [chromadb](https://github.com/chroma-core/chroma), [clickhouse-connect](https://github.com/ClickHouse/clickhouse-connect), [couchbase](https://github.com/couchbase/couchbase-python-client), [elasticsearch](https://github.com/elastic/elasticsearch-py), [oracledb](https://github.com/oracle/python-oracledb), [pgvector](https://github.com/pgvector/pgvector-python), [pymilvus](https://github.com/milvus-io/pymilvus), [pymochow](http://bce.baidu.com), [qdrant-client](https://github.com/qdrant/qdrant-client), [tablestore](https://github.com/aliyun/aliyun-tablestore-python-sdk), tcvectordb, tidb-vector, [upstash-vector](https://github.com/upstash/vector-py) and [xinference-client](https://github.com/xorbitsai/inference-client) to permit the latest version.\nUpdates `weaviate-client` from 4.17.0 to 4.20.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weaviate/weaviate-python-client/releases\"\u003eweaviate-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.20.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump authlib to 1.6.9 to avoid high cve by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1975\"\u003eweaviate/weaviate-python-client#1975\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.2...v4.20.3\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.2...v4.20.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eperf: use deque for iterator object cache by \u003ca href=\"https://github.com/giulio-leone\"\u003e\u003ccode\u003e@​giulio-leone\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1968\"\u003eweaviate/weaviate-python-client#1968\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexpose include_last_used_time parameter, return created_at and api_key_first_letters by \u003ca href=\"https://github.com/dudanogueira\"\u003e\u003ccode\u003e@​dudanogueira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1965\"\u003eweaviate/weaviate-python-client#1965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for incremental backups by \u003ca href=\"https://github.com/dirkkul\"\u003e\u003ccode\u003e@​dirkkul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1928\"\u003eweaviate/weaviate-python-client#1928\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/giulio-leone\"\u003e\u003ccode\u003e@​giulio-leone\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1968\"\u003eweaviate/weaviate-python-client#1968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.1...v4.20.2\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.1...v4.20.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix empty list filter raising IndexError instead of WeaviateInvalidInputError by \u003ca href=\"https://github.com/dirkkul\"\u003e\u003ccode\u003e@​dirkkul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1962\"\u003eweaviate/weaviate-python-client#1962\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.0...v4.20.1\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.0...v4.20.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eflat index: Add support for RQ and include cache param by \u003ca href=\"https://github.com/rlmanrique\"\u003e\u003ccode\u003e@​rlmanrique\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1844\"\u003eweaviate/weaviate-python-client#1844\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003ecollection.data.ingest\u003c/code\u003e for sync/async SSB usage by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1876\"\u003eweaviate/weaviate-python-client#1876\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd delete_property_index to collection config by \u003ca href=\"https://github.com/DanielJanicek\"\u003e\u003ccode\u003e@​DanielJanicek\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1940\"\u003eweaviate/weaviate-python-client#1940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid id invalidation in nested properties by \u003ca href=\"https://github.com/dudanogueira\"\u003e\u003ccode\u003e@​dudanogueira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1952\"\u003eweaviate/weaviate-python-client#1952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide options allowing users to specify custom grpc SSL credentials by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1946\"\u003eweaviate/weaviate-python-client#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for cancelling backup restore ops by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1956\"\u003eweaviate/weaviate-python-client#1956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove cache option from SQConfig, deprecate field in factory method by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1954\"\u003eweaviate/weaviate-python-client#1954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow imgs/img_props in cohere generative config runtime by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1955\"\u003eweaviate/weaviate-python-client#1955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce async repl conf in (re)configure and unit tests of usage by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1953\"\u003eweaviate/weaviate-python-client#1953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Hfresh index type by \u003ca href=\"https://github.com/robbespo00\"\u003e\u003ccode\u003e@​robbespo00\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1848\"\u003eweaviate/weaviate-python-client#1848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Cluster Statistics (client.cluster.statistics()) by \u003ca href=\"https://github.com/Shah91n\"\u003e\u003ccode\u003e@​Shah91n\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1959\"\u003eweaviate/weaviate-python-client#1959\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/Shah91n\"\u003e\u003ccode\u003e@​Shah91n\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1959\"\u003eweaviate/weaviate-python-client#1959\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.19.4...v4.20.0\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.19.4...v4.20.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.19.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd gRPC ping check to is_live method  by \u003ca href=\"https://github.com/sylvinho81\"\u003e\u003ccode\u003e@​sylvinho81\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1949\"\u003eweaviate/weaviate-python-client#1949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-raise in \u003ccode\u003ecollection.exists()\u003c/code\u003e if status code is not 404 by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1950\"\u003eweaviate/weaviate-python-client#1950\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weaviate/weaviate-python-client/blob/main/docs/changelog.rst\"\u003eweaviate-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 4.20.4\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Include client version in GRPC requests\n- Add support for the new \u003ccode\u003emulti2vec_google_gemini\u003c/code\u003e module\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.3\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Update of \u003ccode\u003eauthlib\u003c/code\u003e dependency\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.2\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Support for incremental backups\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.1\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Raise an input error when filtering on an empty list\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.0\u003c/h2\u003e\n\u003cp\u003eThis minor version includes:\n- Support for new 1.36 features:\n- Server-side batching (SSB) is now GA via \u003ccode\u003ebatch.stream\u003c/code\u003e (\u003ccode\u003ebatch.experimental\u003c/code\u003e is deprecated)\n- Add \u003ccode\u003ecollection.data.ingest\u003c/code\u003e as a new entry point for SSB usage in sync and async clients\n- Add support for the new HFresh index type\n- Add support for async replication configuration\n- Add support for cancelling backup restore operations\n- Add \u003ccode\u003ecollection.config.delete_property_index\u003c/code\u003e to drop filterable, searchable, or range filter indices from properties\n- Add \u003ccode\u003eclient.cluster.statistics()\u003c/code\u003e method for retrieving cluster and Raft statistics\n- Allow \u003ccode\u003eimages\u003c/code\u003e and \u003ccode\u003eimage_properties\u003c/code\u003e in Cohere generative config at runtime\n- Provide options to specify custom gRPC SSL credentials for advanced connection setups\n- Remove \u003ccode\u003ecache\u003c/code\u003e option from \u003ccode\u003eSQConfig\u003c/code\u003e and deprecate the field in the factory method\n- Fix validation of nested object properties to allow \u003ccode\u003eid\u003c/code\u003e as a nested property name\u003c/p\u003e\n\u003ch2\u003eVersion 4.19.4\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Adds the gRPC healthcheck ping to the \u003ccode\u003eis_live()\u003c/code\u003e method of the async client to provide a more accurate check of the connection status of the async client\n- Fixes bug where exceptions raised in \u003ccode\u003ecollections.exists()\u003c/code\u003e were silently ignored and the method would return \u003ccode\u003eFalse\u003c/code\u003e instead of raising the exception\u003c/p\u003e\n\u003ch2\u003eVersion 4.19.3\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Add support for VoyageAI voyage-4 model family (voyage-4, voyage-4-lite, voyage-4-large)\n- A fix for async client connection issues when \u003ccode\u003epypi\u003c/code\u003e is down\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/weaviate/weaviate-python-client/commit/c0b796e07af0fef5555d37cf78a9a47dae62bb0c\"\u003e\u003ccode\u003ec0b796e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1982\"\u003e#1982\u003c/a\u003e from weaviate/changelog_4_20_4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/dfa8ae431413db4bb66ad2054487018b3362f360\"\u003e\u003ccode\u003edfa8ae4\u003c/code\u003e\u003c/a\u003e Add changelog for v4.20.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/3a0958c19133ecb10565b66d4d0d4ab818d7a619\"\u003e\u003ccode\u003e3a0958c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1977\"\u003e#1977\u003c/a\u003e from weaviate/multi2vec-google-aistudio-vectorizer-c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/106f22584de2bc00f347534c19661af997112583\"\u003e\u003ccode\u003e106f225\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into multi2vec-google-aistudio-vectorizer-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/5ca709e0c068ae8531368d489062169cd7b9306d\"\u003e\u003ccode\u003e5ca709e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1980\"\u003e#1980\u003c/a\u003e from weaviate/client_version_grpc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/55e56f06bf0444fb4caf9f31da7b61dad10ef291\"\u003e\u003ccode\u003e55e56f0\u003c/code\u003e\u003c/a\u003e Dont overwrite version from additional headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/79ee3d030a8c9829c0ea3ca8240ebcdefe710647\"\u003e\u003ccode\u003e79ee3d0\u003c/code\u003e\u003c/a\u003e Add client version to GRPC headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/2ccdaa109a8ba599bec569b489aca3497087869e\"\u003e\u003ccode\u003e2ccdaa1\u003c/code\u003e\u003c/a\u003e chore: rename multi2vec_google_aistudio config to multi2vec_google_gemini\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/ce633119510d6b8ae71dec0310d4a5d08700e172\"\u003e\u003ccode\u003ece63311\u003c/code\u003e\u003c/a\u003e feat: add multi2vec_google_aistudio vectorizer config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/db8a91c514b042dda0871eeb7a27cc9c65f70e71\"\u003e\u003ccode\u003edb8a91c\u003c/code\u003e\u003c/a\u003e Bump authlib to 1.6.9 to avoid high cve (\u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1975\"\u003e#1975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.17.0...v4.20.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alibabacloud-gpdb20160503` to 5.0.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aliyun/alibabacloud-python-sdk/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alibabacloud-tea-openapi` to 0.4.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aliyun/darabonba-openapi/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `chromadb` from 0.5.20 to 1.5.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/chroma-core/chroma/releases\"\u003echromadb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.5.5\u003c/h2\u003e\n\u003cp\u003eVersion: \u003ccode\u003e1.5.5\u003c/code\u003e\nGit ref: \u003ccode\u003erefs/tags/1.5.5\u003c/code\u003e\nBuild Date: \u003ccode\u003e2026-03-10T09:30\u003c/code\u003e\nPIP Package: \u003ccode\u003echroma-1.5.5.tar.gz\u003c/code\u003e\nGithub Container Registry Image: \u003ccode\u003e:1.5.5\u003c/code\u003e\nDockerHub Image: \u003ccode\u003e:1.5.5\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[RELEASE] Rust v0.13.2 by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6583\"\u003echroma-core/chroma#6583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Use buffer_unordered for lazy fragment fetch concurrency by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6584\"\u003echroma-core/chroma#6584\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] chroma configuration reference by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6592\"\u003echroma-core/chroma#6592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[PERF]: Dedup + filter out disbled collections before sysdb enrichment by \u003ca href=\"https://github.com/sanketkedia\"\u003e\u003ccode\u003e@​sanketkedia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6566\"\u003echroma-core/chroma#6566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[TST] Fix test_cross_version_persist by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6604\"\u003echroma-core/chroma#6604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Warn on no API key set on JS EFs by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6599\"\u003echroma-core/chroma#6599\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Add a GoogleGemini EF name alias by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6620\"\u003echroma-core/chroma#6620\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[RELEASE] Python 1.5.5 by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6602\"\u003echroma-core/chroma#6602\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chroma-core/chroma/compare/1.5.4...1.5.5\"\u003ehttps://github.com/chroma-core/chroma/compare/1.5.4...1.5.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.5.3\u003c/h2\u003e\n\u003cp\u003eVersion: \u003ccode\u003e1.5.3\u003c/code\u003e\nGit ref: \u003ccode\u003erefs/tags/1.5.3\u003c/code\u003e\nBuild Date: \u003ccode\u003e2026-03-07T19:07\u003c/code\u003e\nPIP Package: \u003ccode\u003echroma-1.5.3.tar.gz\u003c/code\u003e\nGithub Container Registry Image: \u003ccode\u003e:1.5.3\u003c/code\u003e\nDockerHub Image: \u003ccode\u003e:1.5.3\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[ENH] Thread topology name through purge-dirty pipeline by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6503\"\u003echroma-core/chroma#6503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CHORE]  Tighten down k8s resources in test. by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6509\"\u003echroma-core/chroma#6509\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Purge dirty via Spanner when topology is specified by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6504\"\u003echroma-core/chroma#6504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG]: Drop pydantic v1 compatibility layer for Python 3.14 support by \u003ca href=\"https://github.com/basnijholt\"\u003e\u003ccode\u003e@​basnijholt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6356\"\u003echroma-core/chroma#6356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[PERF] Parallelize segment reader initialization in filter and idf operators by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6522\"\u003echroma-core/chroma#6522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Preallocate during pull log parsing by \u003ca href=\"https://github.com/tanujnay112\"\u003e\u003ccode\u003e@​tanujnay112\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6528\"\u003echroma-core/chroma#6528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[TST] Make pytest use importlib by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6483\"\u003echroma-core/chroma#6483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CLN] Make telemetry a no-op and remove posthog as a dependency by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6489\"\u003echroma-core/chroma#6489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] fix forking numbers by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6530\"\u003echroma-core/chroma#6530\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/blob/HEAD/storage\"\u003eBUG\u003c/a\u003e: retry batch fetch on channel closure by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6526\"\u003echroma-core/chroma#6526\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG] CAS on version during reassignment by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6529\"\u003echroma-core/chroma#6529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] use ResourceExhausted error code for log backpressure by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6527\"\u003echroma-core/chroma#6527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Ordered sparse vector writer by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6495\"\u003echroma-core/chroma#6495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] update docs for s3 sync by \u003ca href=\"https://github.com/philipithomas\"\u003e\u003ccode\u003e@​philipithomas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6515\"\u003echroma-core/chroma#6515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG] avoid redundant manifest load in pull_logs_inner by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6544\"\u003echroma-core/chroma#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Skip record load when only id is requested by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6540\"\u003echroma-core/chroma#6540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/blob/HEAD/log\"\u003eENH\u003c/a\u003e add pointer-based log fetch via ScoutLogFragments by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6533\"\u003echroma-core/chroma#6533\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Add ReadLevel to count in be by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6539\"\u003echroma-core/chroma#6539\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Add a gauge metric in sysdb to track compaction_failure_count by \u003ca href=\"https://github.com/tanujnay112\"\u003e\u003ccode\u003e@​tanujnay112\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6550\"\u003echroma-core/chroma#6550\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Fix query param by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6557\"\u003echroma-core/chroma#6557\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/eca66b7afd4b7aea227644f8c78030f16fc2837a\"\u003e\u003ccode\u003eeca66b7\u003c/code\u003e\u003c/a\u003e [RELEASE] Python 1.5.5 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6602\"\u003e#6602\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/ce0eede5941e15017204c69387493a35ee97afa4\"\u003e\u003ccode\u003ece0eede\u003c/code\u003e\u003c/a\u003e [ENH] Add a GoogleGemini EF name alias (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6620\"\u003e#6620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/3604eea9165d26ef6eefb03893ae1b04d1803b1e\"\u003e\u003ccode\u003e3604eea\u003c/code\u003e\u003c/a\u003e [ENH] Warn on no API key set on JS EFs (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6599\"\u003e#6599\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/9e7bd7fbf91746166e56e140ed548d070f638722\"\u003e\u003ccode\u003e9e7bd7f\u003c/code\u003e\u003c/a\u003e [TST] Fix test_cross_version_persist (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6604\"\u003e#6604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/03a3169183d372360321c76a034c97f8a1e2ac4c\"\u003e\u003ccode\u003e03a3169\u003c/code\u003e\u003c/a\u003e [PERF]: Dedup + filter out disbled collections before sysdb enrichment (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6566\"\u003e#6566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/475bbfcfdba3b40c737c3a90a4f1a915298b16f6\"\u003e\u003ccode\u003e475bbfc\u003c/code\u003e\u003c/a\u003e [DOC] chroma configuration reference (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6592\"\u003e#6592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/02d2d8cd21150cd2ffdecce2c23e0234e04bb2fc\"\u003e\u003ccode\u003e02d2d8c\u003c/code\u003e\u003c/a\u003e [ENH] Use buffer_unordered for lazy fragment fetch concurrency (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6584\"\u003e#6584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/130449099a5eb756a55e4c73ed1d29fdebc5b371\"\u003e\u003ccode\u003e1304490\u003c/code\u003e\u003c/a\u003e [RELEASE] Rust v0.13.2 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6583\"\u003e#6583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/e0525a2f99589693141974a9c5a38b12299e8eef\"\u003e\u003ccode\u003ee0525a2\u003c/code\u003e\u003c/a\u003e [RELEASE] Python 1.5.4 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6585\"\u003e#6585\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/8c70b3cd112ca5608300b8e58710a4e52e5f97fb\"\u003e\u003ccode\u003e8c70b3c\u003c/code\u003e\u003c/a\u003e [ENH] Exclude yanked versions from cross-version persist test (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6588\"\u003e#6588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/chroma-core/chroma/compare/0.5.20...1.5.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `clickhouse-connect` to 0.14.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/releases\"\u003eclickhouse-connect's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.1\u003c/h2\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed JSON and Dynamic column read paths to properly decode shared variant data instead of returning raw binary with discriminator byte prefixes. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/599\"\u003e#599\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/615\"\u003e#615\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed empty ORM/DBAPI \u003ccode\u003eSELECT\u003c/code\u003e results so \u003ccode\u003ecursor.description\u003c/code\u003e is still populated when ClickHouse Native format returns no data blocks. This restores correct handling for empty result sets, including parameterized and limited queries. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/675\"\u003e#675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReenabled the default Cython runtime path so compiled driverc modules are used again unless  \u003ccode\u003eCLICKHOUSE_CONNECT_USE_C=0\u003c/code\u003e is exoplicitly set. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/676\"\u003e#676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.14.0...v0.14.1\"\u003ehttps://github.com/ClickHouse/clickhouse-connect/compare/v0.14.0...v0.14.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/ClickHouse/clickhouse-connect/blob/main/CHANGELOG.md\"\u003eclickhouse-connect's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.1, 2026-03-11\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix JSON and Dynamic column read paths to properly decode shared variant data instead of returning raw binary with discriminator byte prefixes. Shared data values, used when paths exceed \u003ccode\u003emax_dynamic_paths\u003c/code\u003e or types exceed \u003ccode\u003emax_dynamic_types\u003c/code\u003e are now decoded from ClickHouse's binary variant encoding. Scalar types like integers, floats, strings, booleans, and nulls as well as nested objects are now fully decoded. Compound types like Array, Tuple, Map, DateTime, Date, Decimal, and UUID are not yet decoded and will be returned as raw bytes. Fixes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/599\"\u003e#599\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/615\"\u003e#615\u003c/a\u003e, and \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/674\"\u003e#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: Fixed empty ORM/DBAPI SELECT results so \u003ccode\u003ecursor.description\u003c/code\u003e is still populated when ClickHouse Native format returns no data blocks. This restores correct handling for empty result sets, including parameterized and limited queries. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/675\"\u003e#675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore the default Cython runtime path so compiled \u003ccode\u003edriverc\u003c/code\u003e modules are used again unless \u003ccode\u003eCLICKHOUSE_CONNECT_USE_C=0\u003c/code\u003e is set. Fix C/Python parity issues in streaming exception handling, \u003ccode\u003eFixedString\u003c/code\u003e string reads, nullable array helpers, and numpy conversion helpers, and expand CI and unit parity coverage to keep the optimized and pure-Python paths in sync. Addresses \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/676\"\u003e#676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSimplify \u003ccode\u003epivot\u003c/code\u003e in the Cython data conversion module to use \u003ccode\u003etuple(zip(*...))\u003c/code\u003e instead of a manual tuple-building loop which matches the pure-Python implementation and provides significant insert speedup.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.14.0, 2026-03-09\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRenamed \u003ccode\u003eapply_server_timezone\u003c/code\u003e parameter to \u003ccode\u003etz_source\u003c/code\u003e across Client and HttpClient. The new \u003ccode\u003etz_source\u003c/code\u003e parameter accepts string values: \u003ccode\u003e\u0026quot;auto\u0026quot;\u003c/code\u003e (default, was \u003ccode\u003eNone\u003c/code\u003e), \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e (was \u003ccode\u003eTrue\u003c/code\u003e or \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e), and \u003ccode\u003e\u0026quot;local\u0026quot;\u003c/code\u003e (was \u003ccode\u003eFalse\u003c/code\u003e). The old \u003ccode\u003eapply_server_timezone\u003c/code\u003e parameter is still accepted but emits a \u003ccode\u003eDeprecationWarning\u003c/code\u003e and will be removed in 1.0. Passing both \u003ccode\u003etz_source\u003c/code\u003e and \u003ccode\u003eapply_server_timezone\u003c/code\u003e raises \u003ccode\u003eProgrammingError\u003c/code\u003e. The \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e value (which had no distinct runtime behavior from \u003ccode\u003eTrue\u003c/code\u003e) maps to \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRenamed \u003ccode\u003eutc_tz_aware\u003c/code\u003e parameter to \u003ccode\u003etz_mode\u003c/code\u003e across Client, QueryContext, and all query methods. The new \u003ccode\u003etz_mode\u003c/code\u003e parameter accepts string values: \u003ccode\u003e\u0026quot;naive_utc\u0026quot;\u003c/code\u003e (default, was \u003ccode\u003eFalse\u003c/code\u003e), \u003ccode\u003e\u0026quot;aware\u0026quot;\u003c/code\u003e (was \u003ccode\u003eTrue\u003c/code\u003e), and \u003ccode\u003e\u0026quot;schema\u0026quot;\u003c/code\u003e (unchanged). The old \u003ccode\u003eutc_tz_aware\u003c/code\u003e parameter is still accepted but emits a \u003ccode\u003eDeprecationWarning\u003c/code\u003e and will be removed in 1.0. Passing both \u003ccode\u003etz_mode\u003c/code\u003e and \u003ccode\u003eutc_tz_aware\u003c/code\u003e raises \u003ccode\u003eProgrammingError\u003c/code\u003e. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/654\"\u003e#654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved the deprecated \u003ccode\u003eObject('json')\u003c/code\u003e type. This was the legacy experimental JSON type that has been superseded by the new \u003ccode\u003eJSON\u003c/code\u003e type in ClickHouse. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/556\"\u003e#556\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePandas 1.x support is now deprecated and will be removed in v1.0.0. A \u003ccode\u003eDeprecationWarning\u003c/code\u003e is emitted at import time for pandas 1.x users.\u003c/li\u003e\n\u003cli\u003eThe current \u003ccode\u003eAsyncClient\u003c/code\u003e is a thread-pool wrapper around the sync client and now emits a \u003ccode\u003eFutureWarning\u003c/code\u003e on creation, pointing users to the fully native async client available as a prerelease: \u003ccode\u003epip install 'clickhouse-connect[async]==0.12.0rc1'\u003c/code\u003e. This prerelease branch is based on 0.11.0 and is gathering feedback ahead of 1.0.0, where it will become the default async implementation. It is a drop-in replacement with the same API surface.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for the \u003ccode\u003eSAMPLE\u003c/code\u003e clause in SQLAlchemy statements. Note: Due to a SQLAlchemy limitation, only one hint (SAMPLE or FINAL) can be applied per table; chaining both will silently ignore one. For now, this change enables use of sample(), but chaining with final() is not yet supported.  Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/634\"\u003e#634\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eExperimental:\u003c/strong\u003e Added Python 3.14 free-threading (cp314t) wheel builds for all platforms. The full test suite currently (as of 2 MAR, 2026) passes under free-threaded Python, but is not added to the CI test matrix at this time nor has it been otherwise tested to any degree. Free-threading support should be considered experimental with no guarantees of correctness at this time. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/573\"\u003e#573\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.13.0, 2026-02-26\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBREAKING CHANGE: Implement native write path for \u003ccode\u003eVariant\u003c/code\u003e data type with type-aware dispatching.\nPreviously, all values inserted into a \u003ccode\u003eVariant\u003c/code\u003e column were stringified and sent to the server, which\nwould store them in the \u003ccode\u003eString\u003c/code\u003e member if present, or attempt server-side conversion otherwise. Values\nare now serialized using their native ClickHouse types client-side (e.g. inserting \u003ccode\u003e100\u003c/code\u003e into\n\u003ccode\u003eVariant(Int64, String)\u003c/code\u003e stores \u003ccode\u003eInt64(100)\u003c/code\u003e instead of \u003ccode\u003eString(\u0026quot;100\u0026quot;)\u003c/code\u003e). Key changes:\n\u003cul\u003e\n\u003cli\u003eValues that don't match any variant member now raise \u003ccode\u003eDataError\u003c/code\u003e instead of being stringified and\ndelegated to the server.\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003etyped_variant(value, 'TypeName')\u003c/code\u003e helper is provided for cases where automatic dispatch\ncannot resolve the target type, such as when multiple variant members map to the same Python\ntype (e.g. \u003ccode\u003eArray(UInt32)\u003c/code\u003e vs \u003ccode\u003eArray(String)\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eutc_tz_aware=\u0026quot;schema\u0026quot;\u003c/code\u003e mode which returns timezone-aware datetimes only when the server's column schema explicitly defines a timezone (e.g. \u003ccode\u003eDateTime('UTC')\u003c/code\u003e), and naive datetimes for bare \u003ccode\u003eDateTime\u003c/code\u003e columns. This matches the ClickHouse schema definition exactly. Not yet supported for Arrow-based query methods. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/645\"\u003e#645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd type annotations to public API methods in \u003ccode\u003eClient\u003c/code\u003e, \u003ccode\u003eAsyncClient\u003c/code\u003e, \u003ccode\u003eHttpClient\u003c/code\u003e, and \u003ccode\u003eQueryResult\u003c/code\u003e. Ref \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/567\"\u003e#567\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003edict_add\u003c/code\u003e parameter typed as builtin \u003ccode\u003eany\u003c/code\u003e instead of \u003ccode\u003etyping.Any\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRecognize \u003ccode\u003eUPDATE\u003c/code\u003e as a command so lightweight updates work correctly via \u003ccode\u003eclient.query()\u003c/code\u003e and SQLAlchemy.\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: \u003ccode\u003eGROUP BY\u003c/code\u003e now renders label aliases instead of full expressions which avoids circular reference errors when an alias shadows a source column name in ClickHouse.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.11.0, 2026-02-10\u003c/h2\u003e\n\u003ch3\u003ePython 3.9 Deprecation\u003c/h3\u003e\n\u003cp\u003ePython 3.9 EOL'd Oct 2025. Support for Python 3.9 is now softly deprecated and has been removed from our CI test matrix but\ndistribution wheels will continue to be built until the 1.0 release or until the builds naturally fail, whichever comes first.\nA \u003ccode\u003eDeprecationWarning\u003c/code\u003e will now be displayed when initializing the client on Python 3.9. Users should plan to upgrade to\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/ClickHouse/clickhouse-connect/commit/c40bbacf6966cdf3bed4a0cd88d2a8cba10e5a8a\"\u003e\u003ccode\u003ec40bbac\u003c/code\u003e\u003c/a\u003e 0.14.1 bugfix release prep (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/680\"\u003e#680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/323b76809580854a84c543691ab7c9d976fdad49\"\u003e\u003ccode\u003e323b768\u003c/code\u003e\u003c/a\u003e Reenable default Cython runtime path and reestablish C/Python parity (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/679\"\u003e#679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/01149488c25e39e085d51edfcfdc8516162ff503\"\u003e\u003ccode\u003e0114948\u003c/code\u003e\u003c/a\u003e fix sqlalchemy empty result metadata for orm queries (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/678\"\u003e#678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/60ca78c1cd397a4c8983f14c0539c0d09d9ce21f\"\u003e\u003ccode\u003e60ca78c\u003c/code\u003e\u003c/a\u003e Fix shared variant decoding for JSON and Dynamic columns (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/677\"\u003e#677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/2dda7152c59b417b4b153d1dd8a061d475ae7c2f\"\u003e\u003ccode\u003e2dda715\u003c/code\u003e\u003c/a\u003e release prep for 0.14.0 (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/673\"\u003e#673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/5d5c3f24c9f7e864536e2aac52c3b8e2349ef2a9\"\u003e\u003ccode\u003e5d5c3f2\u003c/code\u003e\u003c/a\u003e async native future warning (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/672\"\u003e#672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/436050f1b3765605848d9765e3ee0e350b4c6758\"\u003e\u003ccode\u003e436050f\u003c/code\u003e\u003c/a\u003e add bare import smoke test to CI (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/671\"\u003e#671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/a5fbad0fcbac92279874b9214024d6087e307cb0\"\u003e\u003ccode\u003ea5fbad0\u003c/code\u003e\u003c/a\u003e rename apply_server_timezone to tz_source (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/670\"\u003e#670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/01e7ca036a26458acf7a22ca170bd4a1765aa6b1\"\u003e\u003ccode\u003e01e7ca0\u003c/code\u003e\u003c/a\u003e add pandas 1.x deprecation warning for 1.0.0 (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/667\"\u003e#667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/c65f54a079c790673d7f87bb2a303784d9081b8d\"\u003e\u003ccode\u003ec65f54a\u003c/code\u003e\u003c/a\u003e rename utc_tz_aware to tz_mode (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/664\"\u003e#664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.10.0...v0.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `couchbase` to 4.5.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/9338788daddf9ff1755bfcd86d845ddc8d331860\"\u003e\u003ccode\u003e9338788\u003c/code\u003e\u003c/a\u003e Update C++ core to 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/c3504fa193467a3eec47b23b16f12806fbebf9c1\"\u003e\u003ccode\u003ec3504fa\u003c/code\u003e\u003c/a\u003e PYCBC-1705: Fix FLE imports and exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/70fbc324ec9379cce5652a16ba1a2252efb0cabb\"\u003e\u003ccode\u003e70fbc32\u003c/code\u003e\u003c/a\u003e Update C++ core to 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/9b9164f8e42cca942439049301fd738317fcb1d5\"\u003e\u003ccode\u003e9b9164f\u003c/code\u003e\u003c/a\u003e PYCBC-1711: Don't set bucketType, replicaIndex, flushEnabled when creating bu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/5319285921c7077baf8f347b6cf0377d363d5c26\"\u003e\u003ccode\u003e5319285\u003c/code\u003e\u003c/a\u003e PYCBC-1704: Allow eventing function mgmt test fixtures to ignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/970621968dd2b3463cc450c49c1479297ea087a5\"\u003e\u003ccode\u003e9706219\u003c/code\u003e\u003c/a\u003e Update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/5485046fd3cd853c695d17a999aff9842de3c83e\"\u003e\u003ccode\u003e5485046\u003c/code\u003e\u003c/a\u003e Update eventing mgmt tests for recent 8.0 changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/1351bfae64ddf50e942ee52360735a6961ed076d\"\u003e\u003ccode\u003e1351bfa\u003c/code\u003e\u003c/a\u003e PYCBC-1699: Update SDK Build Setup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/83478e273fcee4748115b949d6809973519343a4\"\u003e\u003ccode\u003e83478e2\u003c/code\u003e\u003c/a\u003e Search User Experience Improvements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/593019056f414ea452f32a229a3c46d24e738285\"\u003e\u003ccode\u003e5930190\u003c/code\u003e\u003c/a\u003e PYCBC-1698: Improve Jenkins Integration Tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/couchbase/couchbase-python-client/compare/4.3.0...4.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `elasticsearch` from 8.14.0 to 9.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/elastic/elasticsearch-py/releases\"\u003eelasticsearch's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.3.0\u003c/h2\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epack_dense_vector\u003c/code\u003e helper function to pack dense vectors for efficient uploading (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3219\"\u003e#3219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNew and updated ES|QL functions in the ES|QL query builder for 9.3 and Serverless (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3266\"\u003e#3266\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAPI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ecat.circuit_breaker\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eesql.get_view\u003c/code\u003e, \u003ccode\u003eesql.put_view\u003c/code\u003e and \u003ccode\u003eesql.delete_view\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eindices.get_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.put_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.delete_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.get_all_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.get_sample\u003c/code\u003e, \u003ccode\u003eindices.get_sample_stats\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003einference.put_groq\u003c/code\u003e, \u003ccode\u003einference.put_openshift_ai\u003c/code\u003e, \u003ccode\u003einference.put_nvidia\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003edownsampling_method\u003c/code\u003e argument to \u003ccode\u003eindices.put_data_lifecycle\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ereturn_documents\u003c/code\u003e and \u003ccode\u003etop_n\u003c/code\u003e arguments to \u003ccode\u003einference.rerank\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eclose_job\u003c/code\u003e argument to \u003ccode\u003eml.stop_datafeed\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecertificate_identity\u003c/code\u003e to \u003ccode\u003esecurity.create_cross_cluster_api_key\u003c/code\u003e and \u003ccode\u003esecurity.update_cross_cluster_api_key\u003c/code\u003e APIs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServerless-specific\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eproject_routing\u003c/code\u003e argument to \u003ccode\u003eproject.tags\u003c/code\u003e API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDSL\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eNumpyDenseVector\u003c/code\u003e field, with support for dense vectors based on numpy arrays (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3218\"\u003e#3218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eExponentialHistogram\u003c/code\u003e field\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003etime_series_metric\u003c/code\u003e argument to \u003ccode\u003eHistogram\u003c/code\u003e field\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eon_disk_rescore\u003c/code\u003e argument from \u003ccode\u003eDenseVectorIndexOptions\u003c/code\u003e type\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eslices\u003c/code\u003e argument to \u003ccode\u003eUpdateByQueryResponse\u003c/code\u003e type\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.2.1\u003c/h2\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInstrument ping with OTel (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3160\"\u003e#3160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake positional arguments in DSL generated classes explicit  (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3233\"\u003e#3233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd warnings for private APIs (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3212\"\u003e#3212\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eES|QL query builder: fix missing assignment (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3151\"\u003e#3151\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse relative imports to fix \u003ccode\u003eelasticsearch9\u003c/code\u003e package imports (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3232\"\u003e#3232\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAPI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003etransform.get_node_stats\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003erequests_per_second\u003c/code\u003e argument to \u003ccode\u003edelete_by_query_rethrottle\u003c/code\u003e, \u003ccode\u003ereindex_rethrottle\u003c/code\u003e and \u003ccode\u003eupdate_by_query_rethrottle\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eallow_closed\u003c/code\u003e, \u003ccode\u003eallow_no_indices\u003c/code\u003e, \u003ccode\u003eexpand_wildcards\u003c/code\u003e, \u003ccode\u003eignore_throttled\u003c/code\u003e and \u003ccode\u003eignore_available\u003c/code\u003e arguments to \u003ccode\u003ecat.segments\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003echunking_settings\u003c/code\u003e argument to \u003ccode\u003einference.put_watsonxai\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eid\u003c/code\u003e argument to \u003ccode\u003eml.stop_trained_model_deployment\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003echunking_settings\u003c/code\u003e argument from \u003ccode\u003einference.put_anthropic\u003c/code\u003e, \u003ccode\u003einference.put_contextualai\u003c/code\u003e, \u003ccode\u003einference.put_deepseek\u003c/code\u003e APIs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/adae2d6d3d76f3ea75cd758ce64223bd76df45e5\"\u003e\u003ccode\u003eadae2d6\u003c/code\u003e\u003c/a\u003e Release 9.3.0 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3300\"\u003e#3300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/ea2227c743d7cacb474efecf4d8b84fa553f9eec\"\u003e\u003ccode\u003eea2227c\u003c/code\u003e\u003c/a\u003e Add Python 3.14 trove classifier (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3296\"\u003e#3296\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3299\"\u003e#3299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/b507e3e2d91ff0b6f8fb4a53ea23caa989677436\"\u003e\u003ccode\u003eb507e3e\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3293\"\u003e#3293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/76150204725b1495cad3348c573406fc1f3512d1\"\u003e\u003ccode\u003e7615020\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3280\"\u003e#3280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/ef8d102b3fc4d7572e0fd0bb56afe4291fddc529\"\u003e\u003ccode\u003eef8d102\u003c/code\u003e\u003c/a\u003e Stop using pytz (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3275\"\u003e#3275\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3278\"\u003e#3278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/65870f3504344ba7f67feb7721522bef936a92cf\"\u003e\u003ccode\u003e65870f3\u003c/code\u003e\u003c/a\u003e allow adding elasticsearch query filter for mmr searching (elastic#2638) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/32\"\u003e#32\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/b110f19a49ad492d2d6aa514afaac35360ac3c93\"\u003e\u003ccode\u003eb110f19\u003c/code\u003e\u003c/a\u003e Updates to ES|QL functions for 9.3 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3266\"\u003e#3266\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3272\"\u003e#3272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/f3d082788f52b5fe3c80926624fa8a61aa4deb37\"\u003e\u003ccode\u003ef3d0827\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3269\"\u003e#3269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/80818cc2640fcdf902919a3dc5500ae945d33271\"\u003e\u003ccode\u003e80818cc\u003c/code\u003e\u003c/a\u003e Auto-generated code for 9.3 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3262\"\u003e#3262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/6baa03faedefc90ccbc5f902626cc8cea46aed6a\"\u003e\u003ccode\u003e6baa03f\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3252\"\u003e#3252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/elastic/elasticsearch-py/compare/v8.14.0...v9.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oracledb` from 3.3.0 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oracle/python-oracledb/releases\"\u003eoracledb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.4.2\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.2 is now released. This release addresses a number of issues. See the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-2-january-2026\"\u003efull release notes\u003c/a\u003e for all of the details.\u003c/p\u003e\n\u003ch2\u003ev3.4.1\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.1 is now released. This release addresses a number of issues. See the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-1-november-2025\"\u003efull release notes\u003c/a\u003e for all of the details.\u003c/p\u003e\n\u003ch2\u003ev3.4.0\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.0 is now released. This release has the following highlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003esupport for Direct Path Load in thin mode for fast data ingestion\u003c/li\u003e\n\u003cli\u003esupport for data frames is no longer considered a pre-release\u003c/li\u003e\n\u003cli\u003esupport for type mapping when querying with data frames\u003c/li\u003e\n\u003cli\u003esupport for ingesting more Apache Arrow data types\u003c/li\u003e\n\u003cli\u003esupport for ingesting Apache Arrow data frames containing multiple chunks\u003c/li\u003e\n\u003cli\u003esupport for cursor.executemany() operating on large input data in batches\u003c/li\u003e\n\u003cli\u003efine-grained control over LOB and number handling\u003c/li\u003e\n\u003cli\u003enew optional install dependencies for plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-0-october-2025\"\u003efull release notes\u003c/a\u003e for all of the details.\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/oracle/python-oracledb/commit/51581eeb0a626fb3df4e25e00ddb3a28137d3831\"\u003e\u003ccode\u003e51581ee\u003c/code\u003e\u003c/a\u003e Preparing to release python-oracledb 3.4.2.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/81ceb554a0bfb52eb64b7b3870907d9b19bf15bd\"\u003e\u003ccode\u003e81ceb55\u003c/code\u003e\u003c/a\u003e Fixed bug which caused Connection.call_timeout to be reset to zero when\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/4a94025de99763fd0d16d1c2d79d416b9a075e12\"\u003e\u003ccode\u003e4a94025\u003c/code\u003e\u003c/a\u003e Eliminated memory leak when converting a third party data frame to one\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/36a29517530bfe311dab41218a3bc3d80700fe2c\"\u003e\u003ccode\u003e36a2951\u003c/code\u003e\u003c/a\u003e Fixed bug when decoding PL/SQL booleans in Oracle Database 12.1 (\u003ca href=\"https://redirect.github.com/oracle/python-oracledb/issues/565\"\u003e#565\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/6072f01b420af4c2d36c1b9f7b1421aab64ea336\"\u003e\u003ccode\u003e6072f01\u003c/code\u003e\u003c/a\u003e Grammar fix.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/f8be001d9862d6b0b6ec6158b67affef7a70556e\"\u003e\u003ccode\u003ef8be001\u003c/code\u003e\u003c/a\u003e Fixed bug causing hang when using asyncio and the database closes the\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/6e0d8b9da4b259e1b11ad648d354ca659f537a6a\"\u003e\u003ccode\u003e6e0d8b9\u003c/code\u003e\u003c/a\u003e Eliminated race condition in background thread/coroutine management for\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/40200bfa1cb9dde0977a509c84cfdde66f144358\"\u003e\u003ccode\u003e40200bf\u003c/code\u003e\u003c/a\u003e Adjusted code and tests to be capable of being run in environments other\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/36f8899fa71ebd4aec80b87f990633e86abc6b95\"\u003e\u003ccode\u003e36f8899\u003c/code\u003e\u003c/a\u003e Added support for ingesting Arrow arrays which only consist of null\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/7bf23b6c2061d20358b030104249bd703ac1832e\"\u003e\u003ccode\u003e7bf23b6\u003c/code\u003e\u003c/a\u003e Fixed bug when calling Cursor.executemany() with all of the values in at\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/oracle/python-oracledb/compare/v3.3.0...v3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pgvector` from 0.2.5 to 0.4.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md\"\u003epgvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2 (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 6\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estr\u003c/code\u003e objects for \u003ccode\u003ebit\u003c/code\u003e type with SQLAlchemy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 (2025-04-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eSparseVector\u003c/code\u003e constructor for SciPy sparse matrices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 (2025-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded top-level \u003ccode\u003epgvector\u003c/code\u003e package\u003c/li\u003e\n\u003cli\u003eAdded support for pg8000\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ebytes\u003c/code\u003e to \u003ccode\u003eBit\u003c/code\u003e constructor\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eglobally\u003c/code\u003e option to default to \u003ccode\u003eFalse\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003earrays\u003c/code\u003e option to default to \u003ccode\u003eTrue\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eFixed equality for \u003ccode\u003eVector\u003c/code\u003e, \u003ccode\u003eHalfVector\u003c/code\u003e, \u003ccode\u003eBit\u003c/code\u003e, and \u003ccode\u003eSparseVector\u003c/code\u003e classes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eindices\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods of \u003ccode\u003eSparseVector\u003c/code\u003e returning tuple instead of list in some cases\u003c/li\u003e\n\u003cli\u003eDropped support for Python \u0026lt; 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 (2024-10-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003earrays\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 (2024-10-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eavg\u003c/code\u003e function with type casting to SQLAlchemy\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eglobally\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.4 (2024-09-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eschema\u003c/code\u003e option for asyncpg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.3 (2024-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved support for cursor factories with Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.2 (2024-07-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error with asyncpg and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.1 (2024-07-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error parsing zero sparse vectors\u003c/li\u003e\n\u003cli\u003eFixed error with Psycopg 2 and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003cli\u003eFixed error message when \u003ccode\u003evector\u003c/code\u003e type not found with Psycopg 3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.0 (2024-06-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ehalfvec\u003c/code\u003e, \u003ccode\u003ebit\u003c/code\u003e, and \u003ccode\u003esparsevec\u003c/code\u003e types to Django\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/2968f258f9486531bd1340cbda4ff8fcaf06cdc1\"\u003e\u003ccode\u003e2968f25\u003c/code\u003e\u003c/a\u003e Version bump to 0.4.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/674f5ba3410c873d49f50fa9725b95d9db50c674\"\u003e\u003ccode\u003e674f5ba\u003c/code\u003e\u003c/a\u003e Updated checkout action [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e2986daf2b1533cc2c849f7e39350e31d57ac325\"\u003e\u003ccode\u003ee2986da\u003c/code\u003e\u003c/a\u003e Added support for Django 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e211ba4029f204734f0c001fbb90f6a594d561ae\"\u003e\u003ccode\u003ee211ba4\u003c/code\u003e\u003c/a\u003e Test with Python 3.14 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/1a72b7571adf3325174b383aca85bfb3a5b925fa\"\u003e\u003ccode\u003e1a72b75\u003c/code\u003e\u003c/a\u003e Updated pgvector on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/c820a53bfb46196551de3c3f59f81b192d890574\"\u003e\u003ccode\u003ec820a53\u003c/code\u003e\u003c/a\u003e Simplified examples [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/caf1a2e0dd7a1ba2ad0ca9f09b50516dcfffcdeb\"\u003e\u003ccode\u003ecaf1a2e\u003c/code\u003e\u003c/a\u003e Added docs for binary quantization with SQLAlchemy [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/dc9a8f959995f009649fd230139ca41193e0a801\"\u003e\u003ccode\u003edc9a8f9\u003c/code\u003e\u003c/a\u003e Added test for binary quantization with re-ranking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/33dee606229489c9ffb0cb5a1cd72bd4705ac618\"\u003e\u003ccode\u003e33dee60\u003c/code\u003e\u003c/a\u003e Added support for str objects for bit type with SQLAlchemy - \u003ca href=\"https://redirect.github.com/pgvector/pgvector-python/issues/137\"\u003e#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/ee3e71ca2c07a12a8332a3877c0ce14adc9a5da8\"\u003e\u003ccode\u003eee3e71c\u003c/code\u003e\u003c/a\u003e Updated format for license identifier\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgvector/pgvector-python/compare/v0.2.5...v0.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymilvus` to 2.6.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/milvus-io/pymilvus/releases\"\u003epymilvus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePyMilvus v2.6.10 Release Notes\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add global cluster client support (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3264\"\u003e#3264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: add ConnectionManager to replace connections singleton for MilvusClient (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3307\"\u003e#3307\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: is_legal_ids() to accept negative int64 primary keys (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3281\"\u003e#3281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: avoid calling len() on scipy sparse matrix in entity_to_field_data (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3294\"\u003e#3294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry on REPLICATE_VIOLATION for global cluster region switch (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3298\"\u003e#3298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: support non-float vectors in struct array in search (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3299\"\u003e#3299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enforce timeout for async operations when server is unreachable (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3304\"\u003e#3304\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add debounce to prevent concurrent topology refresh in global client (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3309\"\u003e#3309\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenhance: general performance improvements across MilvusClient path (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3280\"\u003e#3280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eenhance: remote bulk writer support virtual_style_endpoint (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3302\"\u003e#3302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eenhance: update the milvus-proto commit (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3310\"\u003e#3310\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTesting \u0026amp; CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenhance: requires 90% patch unit test coverage for new PRs (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3297\"\u003e#3297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eenhance: increase ORM unit test coverage to 90%+ per file (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3312\"\u003e#3312\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/milvus-io/pymilvus/compare/v2.6.9...v2.6.10\"\u003ehttps://github.com/milvus-io/pymilvus/compare/v2.6.9...v2.6.10\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/milvus-io/pymilvus/commit/0b1ca2ee3dbf8424a5cbe67b5dda4dae7425880c\"\u003e\u003ccode\u003e0b1ca2e\u003c/code\u003e\u003c/a\u003e [Backport 2.6] enhance: increase ORM unit test coverage to 90%+ per file (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/33\"\u003e#33\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/a86a24d74e3040409f73ad6d1c4574fe0463e06f\"\u003e\u003ccode\u003ea86a24d\u003c/code\u003e\u003c/a\u003e enhance: update the milvus-proto commit (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3310\"\u003e#3310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/b706e408a8122fc2efe66eaf1bc9a822929173a8\"\u003e\u003ccode\u003eb706e40\u003c/code\u003e\u003c/a\u003e fix: [cp2.6] add debounce to prevent concurrent topology refresh in global cl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/9053d7a3d122f3ef5e5c13257410b59a81a960b6\"\u003e\u003ccode\u003e9053d7a\u003c/code\u003e\u003c/a\u003e feat: [cp26]add ConnectionManager to replace connections singleton for MC (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/bda4914046257a02e6b1531f049cc1dfa1cfcd8b\"\u003e\u003ccode\u003ebda4914\u003c/code\u003e\u003c/a\u003e [Backport 2.6] fix: enforce timeout for async operations when server is unrea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/d1b2c99d830ae9596310d5c006fbb27a05e06659\"\u003e\u003ccode\u003ed1b2c99\u003c/code\u003e\u003c/a\u003e [Backport 2.6] enhance: remote bulket writer support virtual_style_endpoint (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/92e6a1bc8c177e1355f52dd585d1a6ecb4c90493\"\u003e\u003ccode\u003e92e6a1b\u003c/code\u003e\u003c/a\u003e [Backport 2.6] fix: support non-float vectors in struct array in search (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/327\"\u003e#327\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/c1a4b5936fa47dbfc9c0b571bcc144c2bf9ba717\"\u003e\u003ccode\u003ec1a4b59\u003c/code\u003e\u003c/a\u003e [Backport 2.6] fix: retry on REPLICATE_VIOLATION for global cluster region sw...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/bb8744744815882271396dd7659d7649e3b2f590\"\u003e\u003ccode\u003ebb87447\u003c/code\u003e\u003c/a\u003e enhance: requires 90% patch ut coverage for new PR (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3297\"\u003e#3297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/630faabfadb6191e5290d46d61d2ab9ddedffe11\"\u003e\u003ccode\u003e630faab\u003c/code\u003e\u003c/a\u003e [Backport 2.6] feat: add global cluster client support (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3251\"\u003e#3251\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3260\"\u003e#3260\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3264\"\u003e#3264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/milvus-io/pymilvus/compare/v2.5.0...v2.6.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymochow` from 2.2.9 to 2.3.6\n\nUpdates `qdrant-client` from 1.9.0 to 1.17.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/qdrant/qdrant-client/releases\"\u003eqdrant-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.17.1\u003c/h2\u003e\n\u003ch1\u003eChange Log\u003c/h1\u003e\n\u003ch2\u003eFeatures 🌊\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1162\"\u003e#1162\u003c/a\u003e - add a way to provide custom headers in http and grpc by \u003ca href=\"https://github.com/Anush008\"\u003e\u003ccode\u003e@​Anush008\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1166\"\u003e#1166\u003c/a\u003e - do not use fastembed for bm25 inference with hosted qdrant by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes 🔧\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1169\"\u003e#1169\u003c/a\u003e - do not modify date filters in local mode by \u003ca href=\"https://github.com/jnMetaCode\"\u003e\u003ccode\u003e@​jnMetaCode\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1168\"\u003e#1168\u003c/a\u003e - run server version check in a thread to avoid blocking async client by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1157\"\u003e#1157\u003c/a\u003e - fix type hint error in grpc_uploader with older versions of protobuf by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to everyone who contributed to the current release!\n\u003ca href=\"https://github.com/jnMetaCode\"\u003e\u003ccode\u003e@​jnMetaCode\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/Anush008\"\u003e\u003ccode\u003e@​Anush008\u003c/code\u003e\u003c/a\u003e  \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.17.0\u003c/h2\u003e\n\u003ch1\u003eChange Log\u003c/h1\u003e\n\u003ch2\u003eFeatures 🚢\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1154\"\u003e#1154\u003c/a\u003e - introduce relevance feedback, add enable_hnsw option to payload indexes, add timeouts to upsert methods, weighted RRF, and more by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/coszio\"\u003e\u003ccode\u003e@​coszio\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/generall\"\u003e\u003ccode\u003e@​generall\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes ⚙️\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1138\"\u003e#1138\u003c/a\u003e - fix score threshold for fusion queries by \u003ca href=\"https://github.com/cbcoutinho\"\u003e\u003ccode\u003e@​cbcoutinho\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to everyone who contributed to the current release!\n\u003ca href=\"https://github.com/cbcoutinho\"\u003e\u003ccode\u003e@​cbcoutinho\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/generall\"\u003e\u003ccode\u003e@​generall\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/coszio\"\u003e\u003ccode\u003e@​coszio\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.16.2\u003c/h2\u003e\n\u003ch1\u003eChange Log\u003c/h1\u003e\n\u003ch2\u003eDeprecations ⏳\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1110\"\u003e#1110\u003c/a\u003e - drop python3.9 support by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes ⚙️\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e#1132- adjust numpy versioning by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1133\"\u003e#1133\u003c/a\u003e - propagate \u003ccode\u003elookup_from\u003c/code\u003e correctly in query_points_groups by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1134\"\u003e#1134\u003c/a\u003e - fix qdrant-client import in read-only systems by \u003ca href=\"https://github.com/holyMolyTolli\"\u003e\u003ccode\u003e@​holyMolyTolli\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to everyone who contributed to the current release!\n\u003ca href=\"https://github.com/holyMolyTolli\"\u003e\u003ccode\u003e@​holyMolyTolli\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.16.1\u003c/h2\u003e\n\u003ch1\u003eChange Log\u003c/h1\u003e\n\u003ch2\u003eFeatures 🪐\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1116\"\u003e#1116\u003c/a\u003e - implement grpc version of \u003ccode\u003ecluster_collection_update\u003c/code\u003e by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\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/qdrant/qdrant-client/commit/cd5eb259dd7a8448fd4ebea209f742a6eb16b4a3\"\u003e\u003ccode\u003ecd5eb25\u003c/code\u003e\u003c/a\u003e bump version to v1.17.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/1699d30899945df178bde288df5b8390848d51d2\"\u003e\u003ccode\u003e1699d30\u003c/code\u003e\u003c/a\u003e feat: Add support for custom headers (\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1162\"\u003e#1162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/a410b9d60224a80fb06ba957e5acbd888cd9c5c7\"\u003e\u003ccode\u003ea410b9d\u003c/code\u003e\u003c/a\u003e fix: do not modify payload filters in local mode in-place (\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1169\"\u003e#1169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/7a01e54e9ae31d39c9dc38aaa8fe2f7f97aeff25\"\u003e\u003ccode\u003e7a01e54\u003c/code\u003e\u003c/a\u003e new: run server version check in a thread, don't check bm25 availabil… (\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1168\"\u003e#1168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/cb4af4f657d6716f829f6bd0d54bc5b06c837515\"\u003e\u003ccode\u003ecb4af4f\u003c/code\u003e\u003c/a\u003e deprecate: completely replace fastembed bm25 with qdrant core bm25 in hosted ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/27633971dfc6eb4ae1866ad7f29343ceea3d0e20\"\u003e\u003ccode\u003e2763397\u003c/code\u003e\u003c/a\u003e fix: fix type hint union with grpc enum with old protobuf (\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1157\"\u003e#1157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/e7101dc5baf4d3ce7d6321e1500311619aa95a99\"\u003e\u003ccode\u003ee7101dc\u003c/code\u003e\u003c/a\u003e bump version to v1.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/e50eb17f49851eb710c1f6f502e16cd338898703\"\u003e\u003ccode\u003ee50eb17\u003c/code\u003e\u003c/a\u003e Update models 1.17 (\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1154\"\u003e#1154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/52344500a5309527820c92be030d0561a8c2c842\"\u003e\u003ccode\u003e5234450\u003c/code\u003e\u003c/a\u003e fix: apply score_threshold filtering after fusion queries in local mode (\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1138\"\u003e#1138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/49fa101696e092a09b9bbf1c3383d03d8f992bcb\"\u003e\u003ccode\u003e49fa101\u003c/code\u003e\u003c/a\u003e bump version to 1.16.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/qdrant/qdrant-client/compare/v1.9.0...v1.17.1\"\u003ecompare vi...\n\n_Description has been truncated_","html_url":"https://github.com/takashi1minami/oss-dify-mirror/pull/17","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/takashi1minami%2Foss-dify-mirror/issues/17","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/17/packages"}},{"old_version":"0.2.5","new_version":"0.4.2","update_type":"minor","path":null,"pr_created_at":"2026-03-12T01:54:10.000Z","version_change":"0.2.5 → 0.4.2","issue":{"uuid":"4061604035","node_id":"PR_kwDOJVxJus7J4ZTT","number":33336,"state":"closed","title":"chore(deps-dev): bump the vdb group across 1 directory with 19 updates","user":"dependabot[bot]","labels":["dependencies","size:M","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-16T02:33:34.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-12T01:54:10.000Z","updated_at":"2026-03-16T02:33:35.000Z","time_to_close":347964,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"vdb","update_count":19,"packages":[{"name":"weaviate-client","old_version":"4.17.0","new_version":"4.20.4","repository_url":"https://github.com/weaviate/weaviate-python-client"},{"name":"alibabacloud-tea-openapi","old_version":"0.3.16","new_version":"0.4.3","repository_url":"https://github.com/aliyun/darabonba-openapi"},{"name":"chromadb","old_version":"0.5.20","new_version":"1.5.5","repository_url":"https://github.com/chroma-core/chroma"},{"name":"clickhouse-connect","old_version":"0.10.0","new_version":"0.14.0","repository_url":"https://github.com/ClickHouse/clickhouse-connect"},{"name":"clickzetta-connector-python","old_version":"0.8.107","new_version":"0.8.109"},{"name":"couchbase","old_version":"4.3.6","new_version":"4.5.0","repository_url":"https://github.com/couchbase/couchbase-python-client"},{"name":"elasticsearch","old_version":"8.14.0","new_version":"9.3.0","repository_url":"https://github.com/elastic/elasticsearch-py"},{"name":"oracledb","old_version":"3.3.0","new_version":"3.4.2","repository_url":"https://github.com/oracle/python-oracledb"},{"name":"pgvector","old_version":"0.2.5","new_version":"0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"},{"name":"pymilvus","old_version":"2.5.17","new_version":"2.6.9","repository_url":"https://github.com/milvus-io/pymilvus"},{"name":"pymochow","old_version":"2.2.9","new_version":"2.3.6"},{"name":"pyobvector","old_version":"0.2.20","new_version":"0.2.25","repository_url":"https://github.com/oceanbase/pyobvector"},{"name":"qdrant-client","old_version":"1.9.0","new_version":"1.17.0","repository_url":"https://github.com/qdrant/qdrant-client"},{"name":"tablestore","old_version":"6.3.7","new_version":"6.4.1","repository_url":"https://github.com/aliyun/aliyun-tablestore-python-sdk"},{"name":"tcvectordb","old_version":"1.6.4","new_version":"2.0.0"},{"name":"tidb-vector","old_version":"0.0.9","new_version":"0.0.15"},{"name":"upstash-vector","old_version":"0.6.0","new_version":"0.8.0","repository_url":"https://github.com/upstash/vector-py"},{"name":"xinference-client","old_version":"1.2.2","new_version":"2.2.0","repository_url":"https://github.com/xorbitsai/inference-client"},{"name":"mysql-connector-python","old_version":"9.5.0","new_version":"9.6.0","repository_url":"https://github.com/mysql/mysql-connector-python"}],"path":null,"ecosystem":"pip"},"body":"Bumps the vdb group with 19 updates in the /api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [weaviate-client](https://github.com/weaviate/weaviate-python-client) | `4.17.0` | `4.20.4` |\n| [alibabacloud-tea-openapi](https://github.com/aliyun/darabonba-openapi) | `0.3.16` | `0.4.3` |\n| [chromadb](https://github.com/chroma-core/chroma) | `0.5.20` | `1.5.5` |\n| [clickhouse-connect](https://github.com/ClickHouse/clickhouse-connect) | `0.10.0` | `0.14.0` |\n| clickzetta-connector-python | `0.8.107` | `0.8.109` |\n| [couchbase](https://github.com/couchbase/couchbase-python-client) | `4.3.6` | `4.5.0` |\n| [elasticsearch](https://github.com/elastic/elasticsearch-py) | `8.14.0` | `9.3.0` |\n| [oracledb](https://github.com/oracle/python-oracledb) | `3.3.0` | `3.4.2` |\n| [pgvector](https://github.com/pgvector/pgvector-python) | `0.2.5` | `0.4.2` |\n| [pymilvus](https://github.com/milvus-io/pymilvus) | `2.5.17` | `2.6.9` |\n| [pymochow](http://bce.baidu.com) | `2.2.9` | `2.3.6` |\n| [pyobvector](https://github.com/oceanbase/pyobvector) | `0.2.20` | `0.2.25` |\n| [qdrant-client](https://github.com/qdrant/qdrant-client) | `1.9.0` | `1.17.0` |\n| [tablestore](https://github.com/aliyun/aliyun-tablestore-python-sdk) | `6.3.7` | `6.4.1` |\n| tcvectordb | `1.6.4` | `2.0.0` |\n| tidb-vector | `0.0.9` | `0.0.15` |\n| [upstash-vector](https://github.com/upstash/vector-py) | `0.6.0` | `0.8.0` |\n| [xinference-client](https://github.com/xorbitsai/inference-client) | `1.2.2` | `2.2.0` |\n| [mysql-connector-python](https://github.com/mysql/mysql-connector-python) | `9.5.0` | `9.6.0` |\n\n\nUpdates `weaviate-client` from 4.17.0 to 4.20.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weaviate/weaviate-python-client/releases\"\u003eweaviate-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.20.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump authlib to 1.6.9 to avoid high cve by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1975\"\u003eweaviate/weaviate-python-client#1975\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.2...v4.20.3\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.2...v4.20.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eperf: use deque for iterator object cache by \u003ca href=\"https://github.com/giulio-leone\"\u003e\u003ccode\u003e@​giulio-leone\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1968\"\u003eweaviate/weaviate-python-client#1968\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexpose include_last_used_time parameter, return created_at and api_key_first_letters by \u003ca href=\"https://github.com/dudanogueira\"\u003e\u003ccode\u003e@​dudanogueira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1965\"\u003eweaviate/weaviate-python-client#1965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for incremental backups by \u003ca href=\"https://github.com/dirkkul\"\u003e\u003ccode\u003e@​dirkkul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1928\"\u003eweaviate/weaviate-python-client#1928\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/giulio-leone\"\u003e\u003ccode\u003e@​giulio-leone\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1968\"\u003eweaviate/weaviate-python-client#1968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.1...v4.20.2\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.1...v4.20.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix empty list filter raising IndexError instead of WeaviateInvalidInputError by \u003ca href=\"https://github.com/dirkkul\"\u003e\u003ccode\u003e@​dirkkul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1962\"\u003eweaviate/weaviate-python-client#1962\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.0...v4.20.1\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.0...v4.20.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eflat index: Add support for RQ and include cache param by \u003ca href=\"https://github.com/rlmanrique\"\u003e\u003ccode\u003e@​rlmanrique\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1844\"\u003eweaviate/weaviate-python-client#1844\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003ecollection.data.ingest\u003c/code\u003e for sync/async SSB usage by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1876\"\u003eweaviate/weaviate-python-client#1876\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd delete_property_index to collection config by \u003ca href=\"https://github.com/DanielJanicek\"\u003e\u003ccode\u003e@​DanielJanicek\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1940\"\u003eweaviate/weaviate-python-client#1940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid id invalidation in nested properties by \u003ca href=\"https://github.com/dudanogueira\"\u003e\u003ccode\u003e@​dudanogueira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1952\"\u003eweaviate/weaviate-python-client#1952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide options allowing users to specify custom grpc SSL credentials by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1946\"\u003eweaviate/weaviate-python-client#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for cancelling backup restore ops by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1956\"\u003eweaviate/weaviate-python-client#1956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove cache option from SQConfig, deprecate field in factory method by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1954\"\u003eweaviate/weaviate-python-client#1954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow imgs/img_props in cohere generative config runtime by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1955\"\u003eweaviate/weaviate-python-client#1955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce async repl conf in (re)configure and unit tests of usage by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1953\"\u003eweaviate/weaviate-python-client#1953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Hfresh index type by \u003ca href=\"https://github.com/robbespo00\"\u003e\u003ccode\u003e@​robbespo00\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1848\"\u003eweaviate/weaviate-python-client#1848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Cluster Statistics (client.cluster.statistics()) by \u003ca href=\"https://github.com/Shah91n\"\u003e\u003ccode\u003e@​Shah91n\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1959\"\u003eweaviate/weaviate-python-client#1959\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/Shah91n\"\u003e\u003ccode\u003e@​Shah91n\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1959\"\u003eweaviate/weaviate-python-client#1959\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.19.4...v4.20.0\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.19.4...v4.20.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.19.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd gRPC ping check to is_live method  by \u003ca href=\"https://github.com/sylvinho81\"\u003e\u003ccode\u003e@​sylvinho81\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1949\"\u003eweaviate/weaviate-python-client#1949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-raise in \u003ccode\u003ecollection.exists()\u003c/code\u003e if status code is not 404 by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1950\"\u003eweaviate/weaviate-python-client#1950\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weaviate/weaviate-python-client/blob/main/docs/changelog.rst\"\u003eweaviate-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 4.20.4\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Include client version in GRPC requests\n- Add support for the new \u003ccode\u003emulti2vec_google_gemini\u003c/code\u003e module\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.3\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Update of \u003ccode\u003eauthlib\u003c/code\u003e dependency\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.2\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Support for incremental backups\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.1\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Raise an input error when filtering on an empty list\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.0\u003c/h2\u003e\n\u003cp\u003eThis minor version includes:\n- Support for new 1.36 features:\n- Server-side batching (SSB) is now GA via \u003ccode\u003ebatch.stream\u003c/code\u003e (\u003ccode\u003ebatch.experimental\u003c/code\u003e is deprecated)\n- Add \u003ccode\u003ecollection.data.ingest\u003c/code\u003e as a new entry point for SSB usage in sync and async clients\n- Add support for the new HFresh index type\n- Add support for async replication configuration\n- Add support for cancelling backup restore operations\n- Add \u003ccode\u003ecollection.config.delete_property_index\u003c/code\u003e to drop filterable, searchable, or range filter indices from properties\n- Add \u003ccode\u003eclient.cluster.statistics()\u003c/code\u003e method for retrieving cluster and Raft statistics\n- Allow \u003ccode\u003eimages\u003c/code\u003e and \u003ccode\u003eimage_properties\u003c/code\u003e in Cohere generative config at runtime\n- Provide options to specify custom gRPC SSL credentials for advanced connection setups\n- Remove \u003ccode\u003ecache\u003c/code\u003e option from \u003ccode\u003eSQConfig\u003c/code\u003e and deprecate the field in the factory method\n- Fix validation of nested object properties to allow \u003ccode\u003eid\u003c/code\u003e as a nested property name\u003c/p\u003e\n\u003ch2\u003eVersion 4.19.4\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Adds the gRPC healthcheck ping to the \u003ccode\u003eis_live()\u003c/code\u003e method of the async client to provide a more accurate check of the connection status of the async client\n- Fixes bug where exceptions raised in \u003ccode\u003ecollections.exists()\u003c/code\u003e were silently ignored and the method would return \u003ccode\u003eFalse\u003c/code\u003e instead of raising the exception\u003c/p\u003e\n\u003ch2\u003eVersion 4.19.3\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Add support for VoyageAI voyage-4 model family (voyage-4, voyage-4-lite, voyage-4-large)\n- A fix for async client connection issues when \u003ccode\u003epypi\u003c/code\u003e is down\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/weaviate/weaviate-python-client/commit/c0b796e07af0fef5555d37cf78a9a47dae62bb0c\"\u003e\u003ccode\u003ec0b796e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1982\"\u003e#1982\u003c/a\u003e from weaviate/changelog_4_20_4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/dfa8ae431413db4bb66ad2054487018b3362f360\"\u003e\u003ccode\u003edfa8ae4\u003c/code\u003e\u003c/a\u003e Add changelog for v4.20.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/3a0958c19133ecb10565b66d4d0d4ab818d7a619\"\u003e\u003ccode\u003e3a0958c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1977\"\u003e#1977\u003c/a\u003e from weaviate/multi2vec-google-aistudio-vectorizer-c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/106f22584de2bc00f347534c19661af997112583\"\u003e\u003ccode\u003e106f225\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into multi2vec-google-aistudio-vectorizer-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/5ca709e0c068ae8531368d489062169cd7b9306d\"\u003e\u003ccode\u003e5ca709e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1980\"\u003e#1980\u003c/a\u003e from weaviate/client_version_grpc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/55e56f06bf0444fb4caf9f31da7b61dad10ef291\"\u003e\u003ccode\u003e55e56f0\u003c/code\u003e\u003c/a\u003e Dont overwrite version from additional headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/79ee3d030a8c9829c0ea3ca8240ebcdefe710647\"\u003e\u003ccode\u003e79ee3d0\u003c/code\u003e\u003c/a\u003e Add client version to GRPC headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/2ccdaa109a8ba599bec569b489aca3497087869e\"\u003e\u003ccode\u003e2ccdaa1\u003c/code\u003e\u003c/a\u003e chore: rename multi2vec_google_aistudio config to multi2vec_google_gemini\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/ce633119510d6b8ae71dec0310d4a5d08700e172\"\u003e\u003ccode\u003ece63311\u003c/code\u003e\u003c/a\u003e feat: add multi2vec_google_aistudio vectorizer config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/db8a91c514b042dda0871eeb7a27cc9c65f70e71\"\u003e\u003ccode\u003edb8a91c\u003c/code\u003e\u003c/a\u003e Bump authlib to 1.6.9 to avoid high cve (\u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1975\"\u003e#1975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.17.0...v4.20.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alibabacloud-tea-openapi` from 0.3.16 to 0.4.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aliyun/darabonba-openapi/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `chromadb` from 0.5.20 to 1.5.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/chroma-core/chroma/releases\"\u003echromadb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.5.5\u003c/h2\u003e\n\u003cp\u003eVersion: \u003ccode\u003e1.5.5\u003c/code\u003e\nGit ref: \u003ccode\u003erefs/tags/1.5.5\u003c/code\u003e\nBuild Date: \u003ccode\u003e2026-03-10T09:30\u003c/code\u003e\nPIP Package: \u003ccode\u003echroma-1.5.5.tar.gz\u003c/code\u003e\nGithub Container Registry Image: \u003ccode\u003e:1.5.5\u003c/code\u003e\nDockerHub Image: \u003ccode\u003e:1.5.5\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[RELEASE] Rust v0.13.2 by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6583\"\u003echroma-core/chroma#6583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Use buffer_unordered for lazy fragment fetch concurrency by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6584\"\u003echroma-core/chroma#6584\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] chroma configuration reference by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6592\"\u003echroma-core/chroma#6592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[PERF]: Dedup + filter out disbled collections before sysdb enrichment by \u003ca href=\"https://github.com/sanketkedia\"\u003e\u003ccode\u003e@​sanketkedia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6566\"\u003echroma-core/chroma#6566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[TST] Fix test_cross_version_persist by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6604\"\u003echroma-core/chroma#6604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Warn on no API key set on JS EFs by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6599\"\u003echroma-core/chroma#6599\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Add a GoogleGemini EF name alias by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6620\"\u003echroma-core/chroma#6620\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[RELEASE] Python 1.5.5 by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6602\"\u003echroma-core/chroma#6602\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chroma-core/chroma/compare/1.5.4...1.5.5\"\u003ehttps://github.com/chroma-core/chroma/compare/1.5.4...1.5.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.5.3\u003c/h2\u003e\n\u003cp\u003eVersion: \u003ccode\u003e1.5.3\u003c/code\u003e\nGit ref: \u003ccode\u003erefs/tags/1.5.3\u003c/code\u003e\nBuild Date: \u003ccode\u003e2026-03-07T19:07\u003c/code\u003e\nPIP Package: \u003ccode\u003echroma-1.5.3.tar.gz\u003c/code\u003e\nGithub Container Registry Image: \u003ccode\u003e:1.5.3\u003c/code\u003e\nDockerHub Image: \u003ccode\u003e:1.5.3\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[ENH] Thread topology name through purge-dirty pipeline by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6503\"\u003echroma-core/chroma#6503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CHORE]  Tighten down k8s resources in test. by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6509\"\u003echroma-core/chroma#6509\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Purge dirty via Spanner when topology is specified by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6504\"\u003echroma-core/chroma#6504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG]: Drop pydantic v1 compatibility layer for Python 3.14 support by \u003ca href=\"https://github.com/basnijholt\"\u003e\u003ccode\u003e@​basnijholt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6356\"\u003echroma-core/chroma#6356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[PERF] Parallelize segment reader initialization in filter and idf operators by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6522\"\u003echroma-core/chroma#6522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Preallocate during pull log parsing by \u003ca href=\"https://github.com/tanujnay112\"\u003e\u003ccode\u003e@​tanujnay112\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6528\"\u003echroma-core/chroma#6528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[TST] Make pytest use importlib by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6483\"\u003echroma-core/chroma#6483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CLN] Make telemetry a no-op and remove posthog as a dependency by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6489\"\u003echroma-core/chroma#6489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] fix forking numbers by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6530\"\u003echroma-core/chroma#6530\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/blob/HEAD/storage\"\u003eBUG\u003c/a\u003e: retry batch fetch on channel closure by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6526\"\u003echroma-core/chroma#6526\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG] CAS on version during reassignment by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6529\"\u003echroma-core/chroma#6529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] use ResourceExhausted error code for log backpressure by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6527\"\u003echroma-core/chroma#6527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Ordered sparse vector writer by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6495\"\u003echroma-core/chroma#6495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] update docs for s3 sync by \u003ca href=\"https://github.com/philipithomas\"\u003e\u003ccode\u003e@​philipithomas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6515\"\u003echroma-core/chroma#6515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG] avoid redundant manifest load in pull_logs_inner by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6544\"\u003echroma-core/chroma#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Skip record load when only id is requested by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6540\"\u003echroma-core/chroma#6540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/blob/HEAD/log\"\u003eENH\u003c/a\u003e add pointer-based log fetch via ScoutLogFragments by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6533\"\u003echroma-core/chroma#6533\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Add ReadLevel to count in be by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6539\"\u003echroma-core/chroma#6539\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Add a gauge metric in sysdb to track compaction_failure_count by \u003ca href=\"https://github.com/tanujnay112\"\u003e\u003ccode\u003e@​tanujnay112\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6550\"\u003echroma-core/chroma#6550\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Fix query param by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6557\"\u003echroma-core/chroma#6557\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/eca66b7afd4b7aea227644f8c78030f16fc2837a\"\u003e\u003ccode\u003eeca66b7\u003c/code\u003e\u003c/a\u003e [RELEASE] Python 1.5.5 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6602\"\u003e#6602\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/ce0eede5941e15017204c69387493a35ee97afa4\"\u003e\u003ccode\u003ece0eede\u003c/code\u003e\u003c/a\u003e [ENH] Add a GoogleGemini EF name alias (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6620\"\u003e#6620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/3604eea9165d26ef6eefb03893ae1b04d1803b1e\"\u003e\u003ccode\u003e3604eea\u003c/code\u003e\u003c/a\u003e [ENH] Warn on no API key set on JS EFs (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6599\"\u003e#6599\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/9e7bd7fbf91746166e56e140ed548d070f638722\"\u003e\u003ccode\u003e9e7bd7f\u003c/code\u003e\u003c/a\u003e [TST] Fix test_cross_version_persist (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6604\"\u003e#6604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/03a3169183d372360321c76a034c97f8a1e2ac4c\"\u003e\u003ccode\u003e03a3169\u003c/code\u003e\u003c/a\u003e [PERF]: Dedup + filter out disbled collections before sysdb enrichment (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6566\"\u003e#6566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/475bbfcfdba3b40c737c3a90a4f1a915298b16f6\"\u003e\u003ccode\u003e475bbfc\u003c/code\u003e\u003c/a\u003e [DOC] chroma configuration reference (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6592\"\u003e#6592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/02d2d8cd21150cd2ffdecce2c23e0234e04bb2fc\"\u003e\u003ccode\u003e02d2d8c\u003c/code\u003e\u003c/a\u003e [ENH] Use buffer_unordered for lazy fragment fetch concurrency (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6584\"\u003e#6584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/130449099a5eb756a55e4c73ed1d29fdebc5b371\"\u003e\u003ccode\u003e1304490\u003c/code\u003e\u003c/a\u003e [RELEASE] Rust v0.13.2 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6583\"\u003e#6583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/e0525a2f99589693141974a9c5a38b12299e8eef\"\u003e\u003ccode\u003ee0525a2\u003c/code\u003e\u003c/a\u003e [RELEASE] Python 1.5.4 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6585\"\u003e#6585\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/8c70b3cd112ca5608300b8e58710a4e52e5f97fb\"\u003e\u003ccode\u003e8c70b3c\u003c/code\u003e\u003c/a\u003e [ENH] Exclude yanked versions from cross-version persist test (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6588\"\u003e#6588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/chroma-core/chroma/compare/0.5.20...1.5.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `clickhouse-connect` from 0.10.0 to 0.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/releases\"\u003eclickhouse-connect's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.0\u003c/h2\u003e\n\u003ch2\u003eHigh level notes\u003c/h2\u003e\n\u003cp\u003eThis release is primarily focused on preparing the path to 1.0.0. It introduces a handful of breaking changes and deprecation warnings for APIs that will be removed or finalized in 1.0.0. If your code uses any of the deprecated parameters, you'll now see \u003ccode\u003eDeprecationWarning\u003c/code\u003es with clear migration guidance and highly recommend addressing these before upgrading to 1.0.0 when it ships.\u003c/p\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eapply_server_timezone\u003c/code\u003e renamed to \u003ccode\u003etz_source\u003c/code\u003e. Options are \u003ccode\u003e\u0026quot;auto\u0026quot;\u003c/code\u003e (the default), \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e, or \u003ccode\u003e\u0026quot;local\u0026quot;\u003c/code\u003e. The old parameter currently still works with a deprecation warning. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/670\"\u003eClickHouse/clickhouse-connect#670\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eutc_tz_aware\u003c/code\u003e renamed to \u003ccode\u003etz_mode\u003c/code\u003e. Options are \u003ccode\u003e\u0026quot;naive_utc\u0026quot;\u003c/code\u003e (the default), \u003ccode\u003e\u0026quot;aware\u0026quot;\u003c/code\u003e, or \u003ccode\u003e\u0026quot;schema\u0026quot;\u003c/code\u003e. The old parameter still currently still works with a deprecation warning. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/664\"\u003eClickHouse/clickhouse-connect#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003eObject('json')\u003c/code\u003e type. This was a legacy experimental JSON type has been removed in favor of the new JSON type in ClickHouse. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/666\"\u003eClickHouse/clickhouse-connect#666\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePandas 1.x support is deprecated and will be removed in 1.0.0. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/667\"\u003eClickHouse/clickhouse-connect#667\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThere's a async-native client based on clickhouse-connect v0.11.0 that is \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/releases/tag/v0.12.0rc1\"\u003eavailable\u003c/a\u003e for testing via \u003ccode\u003epip install clickhouse_connect[async]==0.12.0rc1\u003c/code\u003e. A \u003ccode\u003eFutureWarning\u003c/code\u003e advertising this will now be emitted on creation of the (to be legacy) async client. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/672\"\u003eClickHouse/clickhouse-connect#672\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eExperimental\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.14 free-threading (cp314t) wheel builds for all platforms. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/660\"\u003eClickHouse/clickhouse-connect#660\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where sending redundant settings is skipped. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/639\"\u003eClickHouse/clickhouse-connect#639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eSAMPLE\u003c/code\u003e in SQLAlchemy dialect. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/656\"\u003eClickHouse/clickhouse-connect#656\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/bsushmith\"\u003e\u003ccode\u003e@​bsushmith\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/656\"\u003eClickHouse/clickhouse-connect#656\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.13.0...v0.14.0\"\u003ehttps://github.com/ClickHouse/clickhouse-connect/compare/v0.13.0...v0.14.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.13.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eBREAKING CHANGE\u003c/strong\u003e: Implement native write path for \u003ccode\u003eVariant\u003c/code\u003e data type with type-aware dispatching. Previously, all values inserted into a \u003ccode\u003eVariant\u003c/code\u003e column were stringified and sent to the server, which would store them in the \u003ccode\u003eString\u003c/code\u003e member if present, or attempt server-side conversion otherwise. Values are now serialized using their native ClickHouse types client-side (e.g. inserting \u003ccode\u003e100\u003c/code\u003e into \u003ccode\u003eVariant(Int64, String)\u003c/code\u003e stores \u003ccode\u003eInt64(100)\u003c/code\u003e instead of \u003ccode\u003eString(\u0026quot;100\u0026quot;)\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003eKey changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eValues that don't match any variant member now raise \u003ccode\u003eDataError\u003c/code\u003e instead of being stringified and\ndelegated to the server.\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003etyped_variant(value, 'TypeName')\u003c/code\u003e helper is provided for cases where automatic dispatch\ncannot resolve the target type, such as when multiple variant members map to the same Python\ntype (e.g. \u003ccode\u003eArray(UInt32)\u003c/code\u003e vs \u003ccode\u003eArray(String)\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded \u003ccode\u003eutc_tz_aware=\u0026quot;schema\u0026quot;\u003c/code\u003e mode which returns timezone-aware datetimes only when the server's column schema explicitly defines a timezone (e.g. \u003ccode\u003eDateTime('UTC')\u003c/code\u003e), and naive datetimes for bare \u003ccode\u003eDateTime\u003c/code\u003e columns. This matches the ClickHouse schema definition exactly. Not yet supported for Arrow-based query methods. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/645\"\u003e#645\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type annotations to public API methods in \u003ccode\u003eClient\u003c/code\u003e, \u003ccode\u003eAsyncClient\u003c/code\u003e, \u003ccode\u003eHttpClient\u003c/code\u003e, and \u003ccode\u003eQueryResult\u003c/code\u003e. Ref \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/567\"\u003e#567\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003edict_add\u003c/code\u003e parameter typed as builtin \u003ccode\u003eany\u003c/code\u003e instead of \u003ccode\u003etyping.Any\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRecognize \u003ccode\u003eUPDATE\u003c/code\u003e as a command so lightweight updates work correctly via \u003ccode\u003eclient.query()\u003c/code\u003e and SQLAlchemy.\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: \u003ccode\u003eGROUP BY\u003c/code\u003e now renders label aliases instead of full expressions which avoids circular reference errors when an alias shadows a source column name in ClickHouse.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.11.0...v0.13.0\"\u003ehttps://github.com/ClickHouse/clickhouse-connect/compare/v0.11.0...v0.13.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.12.0rc1\u003c/h2\u003e\n\u003ch1\u003eNative Async Client (Pre-release)\u003c/h1\u003e\n\u003cp\u003eThis is a pre-release for testing and feedback on the new native async client built on \u003ca href=\"https://github.com/aio-libs/aiohttp\"\u003eaiohttp\u003c/a\u003e. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/141\"\u003e#141\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/ClickHouse/clickhouse-connect/blob/main/CHANGELOG.md\"\u003eclickhouse-connect's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.0, 2026-03-09\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRenamed \u003ccode\u003eapply_server_timezone\u003c/code\u003e parameter to \u003ccode\u003etz_source\u003c/code\u003e across Client and HttpClient. The new \u003ccode\u003etz_source\u003c/code\u003e parameter accepts string values: \u003ccode\u003e\u0026quot;auto\u0026quot;\u003c/code\u003e (default, was \u003ccode\u003eNone\u003c/code\u003e), \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e (was \u003ccode\u003eTrue\u003c/code\u003e or \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e), and \u003ccode\u003e\u0026quot;local\u0026quot;\u003c/code\u003e (was \u003ccode\u003eFalse\u003c/code\u003e). The old \u003ccode\u003eapply_server_timezone\u003c/code\u003e parameter is still accepted but emits a \u003ccode\u003eDeprecationWarning\u003c/code\u003e and will be removed in 1.0. Passing both \u003ccode\u003etz_source\u003c/code\u003e and \u003ccode\u003eapply_server_timezone\u003c/code\u003e raises \u003ccode\u003eProgrammingError\u003c/code\u003e. The \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e value (which had no distinct runtime behavior from \u003ccode\u003eTrue\u003c/code\u003e) maps to \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRenamed \u003ccode\u003eutc_tz_aware\u003c/code\u003e parameter to \u003ccode\u003etz_mode\u003c/code\u003e across Client, QueryContext, and all query methods. The new \u003ccode\u003etz_mode\u003c/code\u003e parameter accepts string values: \u003ccode\u003e\u0026quot;naive_utc\u0026quot;\u003c/code\u003e (default, was \u003ccode\u003eFalse\u003c/code\u003e), \u003ccode\u003e\u0026quot;aware\u0026quot;\u003c/code\u003e (was \u003ccode\u003eTrue\u003c/code\u003e), and \u003ccode\u003e\u0026quot;schema\u0026quot;\u003c/code\u003e (unchanged). The old \u003ccode\u003eutc_tz_aware\u003c/code\u003e parameter is still accepted but emits a \u003ccode\u003eDeprecationWarning\u003c/code\u003e and will be removed in 1.0. Passing both \u003ccode\u003etz_mode\u003c/code\u003e and \u003ccode\u003eutc_tz_aware\u003c/code\u003e raises \u003ccode\u003eProgrammingError\u003c/code\u003e. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/654\"\u003e#654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved the deprecated \u003ccode\u003eObject('json')\u003c/code\u003e type. This was the legacy experimental JSON type that has been superseded by the new \u003ccode\u003eJSON\u003c/code\u003e type in ClickHouse. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/556\"\u003e#556\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePandas 1.x support is now deprecated and will be removed in v1.0.0. A \u003ccode\u003eDeprecationWarning\u003c/code\u003e is emitted at import time for pandas 1.x users.\u003c/li\u003e\n\u003cli\u003eThe current \u003ccode\u003eAsyncClient\u003c/code\u003e is a thread-pool wrapper around the sync client and now emits a \u003ccode\u003eFutureWarning\u003c/code\u003e on creation, pointing users to the fully native async client available as a prerelease: \u003ccode\u003epip install 'clickhouse-connect[async]==0.12.0rc1'\u003c/code\u003e. This prerelease branch is based on 0.11.0 and is gathering feedback ahead of 1.0.0, where it will become the default async implementation. It is a drop-in replacement with the same API surface.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for the \u003ccode\u003eSAMPLE\u003c/code\u003e clause in SQLAlchemy statements. Note: Due to a SQLAlchemy limitation, only one hint (SAMPLE or FINAL) can be applied per table; chaining both will silently ignore one. For now, this change enables use of sample(), but chaining with final() is not yet supported.  Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/634\"\u003e#634\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eExperimental:\u003c/strong\u003e Added Python 3.14 free-threading (cp314t) wheel builds for all platforms. The full test suite currently (as of 2 MAR, 2026) passes under free-threaded Python, but is not added to the CI test matrix at this time nor has it been otherwise tested to any degree. Free-threading support should be considered experimental with no guarantees of correctness at this time. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/573\"\u003e#573\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.13.0, 2026-02-26\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBREAKING CHANGE: Implement native write path for \u003ccode\u003eVariant\u003c/code\u003e data type with type-aware dispatching.\nPreviously, all values inserted into a \u003ccode\u003eVariant\u003c/code\u003e column were stringified and sent to the server, which\nwould store them in the \u003ccode\u003eString\u003c/code\u003e member if present, or attempt server-side conversion otherwise. Values\nare now serialized using their native ClickHouse types client-side (e.g. inserting \u003ccode\u003e100\u003c/code\u003e into\n\u003ccode\u003eVariant(Int64, String)\u003c/code\u003e stores \u003ccode\u003eInt64(100)\u003c/code\u003e instead of \u003ccode\u003eString(\u0026quot;100\u0026quot;)\u003c/code\u003e). Key changes:\n\u003cul\u003e\n\u003cli\u003eValues that don't match any variant member now raise \u003ccode\u003eDataError\u003c/code\u003e instead of being stringified and\ndelegated to the server.\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003etyped_variant(value, 'TypeName')\u003c/code\u003e helper is provided for cases where automatic dispatch\ncannot resolve the target type, such as when multiple variant members map to the same Python\ntype (e.g. \u003ccode\u003eArray(UInt32)\u003c/code\u003e vs \u003ccode\u003eArray(String)\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eutc_tz_aware=\u0026quot;schema\u0026quot;\u003c/code\u003e mode which returns timezone-aware datetimes only when the server's column schema explicitly defines a timezone (e.g. \u003ccode\u003eDateTime('UTC')\u003c/code\u003e), and naive datetimes for bare \u003ccode\u003eDateTime\u003c/code\u003e columns. This matches the ClickHouse schema definition exactly. Not yet supported for Arrow-based query methods. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/645\"\u003e#645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd type annotations to public API methods in \u003ccode\u003eClient\u003c/code\u003e, \u003ccode\u003eAsyncClient\u003c/code\u003e, \u003ccode\u003eHttpClient\u003c/code\u003e, and \u003ccode\u003eQueryResult\u003c/code\u003e. Ref \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/567\"\u003e#567\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003edict_add\u003c/code\u003e parameter typed as builtin \u003ccode\u003eany\u003c/code\u003e instead of \u003ccode\u003etyping.Any\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRecognize \u003ccode\u003eUPDATE\u003c/code\u003e as a command so lightweight updates work correctly via \u003ccode\u003eclient.query()\u003c/code\u003e and SQLAlchemy.\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: \u003ccode\u003eGROUP BY\u003c/code\u003e now renders label aliases instead of full expressions which avoids circular reference errors when an alias shadows a source column name in ClickHouse.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.11.0, 2026-02-10\u003c/h2\u003e\n\u003ch3\u003ePython 3.9 Deprecation\u003c/h3\u003e\n\u003cp\u003ePython 3.9 EOL'd Oct 2025. Support for Python 3.9 is now softly deprecated and has been removed from our CI test matrix but\ndistribution wheels will continue to be built until the 1.0 release or until the builds naturally fail, whichever comes first.\nA \u003ccode\u003eDeprecationWarning\u003c/code\u003e will now be displayed when initializing the client on Python 3.9. Users should plan to upgrade to\nPython 3.10+ as 3.9 compatibility may break unexpectedly in future updates.\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where settings matching server defaults were not stored on client during initialization. Explicitly setting a default value is now respected (e.g., to prevent ClickHouse from auto-enabling optimizations). Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/638\"\u003e#638\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRaise OperationalError when ResponseSource hits network failure before any data is received. Previously, empty result would be returned. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/620\"\u003e#620\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix issue with DROP table in client temp table test.\u003c/li\u003e\n\u003cli\u003eFixed a bug where InsertContext state was not reset on insert failure, leading to reuse errors when data was passed separately.\u003c/li\u003e\n\u003cli\u003eFixed UTC-equivalent timezone recognition issue where servers returning \u003ccode\u003eEtc/UCT\u003c/code\u003e, \u003ccode\u003eGMT\u003c/code\u003e, or other UTC-equivalent timezone names caused inconsistent behavior with \u003ccode\u003eutc_tz_aware=False\u003c/code\u003e. DateTime columns with explicit UTC timezones now correctly return naive datetimes when \u003ccode\u003eutc_tz_aware=False\u003c/code\u003e regardless of the specific UTC-equivalent timezone name returned by the server. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/629\"\u003e#629\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/2dda7152c59b417b4b153d1dd8a061d475ae7c2f\"\u003e\u003ccode\u003e2dda715\u003c/code\u003e\u003c/a\u003e release prep for 0.14.0 (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/673\"\u003e#673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/5d5c3f24c9f7e864536e2aac52c3b8e2349ef2a9\"\u003e\u003ccode\u003e5d5c3f2\u003c/code\u003e\u003c/a\u003e async native future warning (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/672\"\u003e#672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/436050f1b3765605848d9765e3ee0e350b4c6758\"\u003e\u003ccode\u003e436050f\u003c/code\u003e\u003c/a\u003e add bare import smoke test to CI (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/671\"\u003e#671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/a5fbad0fcbac92279874b9214024d6087e307cb0\"\u003e\u003ccode\u003ea5fbad0\u003c/code\u003e\u003c/a\u003e rename apply_server_timezone to tz_source (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/670\"\u003e#670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/01e7ca036a26458acf7a22ca170bd4a1765aa6b1\"\u003e\u003ccode\u003e01e7ca0\u003c/code\u003e\u003c/a\u003e add pandas 1.x deprecation warning for 1.0.0 (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/667\"\u003e#667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/c65f54a079c790673d7f87bb2a303784d9081b8d\"\u003e\u003ccode\u003ec65f54a\u003c/code\u003e\u003c/a\u003e rename utc_tz_aware to tz_mode (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/664\"\u003e#664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/e3ac6a4fbde2e8e613d4b89ff6714ce2743c7381\"\u003e\u003ccode\u003ee3ac6a4\u003c/code\u003e\u003c/a\u003e remove deprecated experimental Object(JSON) type (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/666\"\u003e#666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/1fbddb505a4fed4eb149c3b142a98ccbfe4440fe\"\u003e\u003ccode\u003e1fbddb5\u003c/code\u003e\u003c/a\u003e Joe/638 fix issue where sending redundant settings is skipped (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/639\"\u003e#639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/314b7c71219b7c39e2098c90211d63b8b8eacceb\"\u003e\u003ccode\u003e314b7c7\u003c/code\u003e\u003c/a\u003e Add Python 3.14 free-threading (cp314t) wheel builds (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/660\"\u003e#660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/0a93e44be05a108fcd35d28814cfd478a95a4994\"\u003e\u003ccode\u003e0a93e44\u003c/code\u003e\u003c/a\u003e assert summary plumbing works e2e through sqa cursor (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/659\"\u003e#659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.10.0...v0.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `clickzetta-connector-python` from 0.8.107 to 0.8.109\n\nUpdates `couchbase` from 4.3.6 to 4.5.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/9338788daddf9ff1755bfcd86d845ddc8d331860\"\u003e\u003ccode\u003e9338788\u003c/code\u003e\u003c/a\u003e Update C++ core to 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/c3504fa193467a3eec47b23b16f12806fbebf9c1\"\u003e\u003ccode\u003ec3504fa\u003c/code\u003e\u003c/a\u003e PYCBC-1705: Fix FLE imports and exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/70fbc324ec9379cce5652a16ba1a2252efb0cabb\"\u003e\u003ccode\u003e70fbc32\u003c/code\u003e\u003c/a\u003e Update C++ core to 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/9b9164f8e42cca942439049301fd738317fcb1d5\"\u003e\u003ccode\u003e9b9164f\u003c/code\u003e\u003c/a\u003e PYCBC-1711: Don't set bucketType, replicaIndex, flushEnabled when creating bu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/5319285921c7077baf8f347b6cf0377d363d5c26\"\u003e\u003ccode\u003e5319285\u003c/code\u003e\u003c/a\u003e PYCBC-1704: Allow eventing function mgmt test fixtures to ignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/970621968dd2b3463cc450c49c1479297ea087a5\"\u003e\u003ccode\u003e9706219\u003c/code\u003e\u003c/a\u003e Update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/5485046fd3cd853c695d17a999aff9842de3c83e\"\u003e\u003ccode\u003e5485046\u003c/code\u003e\u003c/a\u003e Update eventing mgmt tests for recent 8.0 changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/1351bfae64ddf50e942ee52360735a6961ed076d\"\u003e\u003ccode\u003e1351bfa\u003c/code\u003e\u003c/a\u003e PYCBC-1699: Update SDK Build Setup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/83478e273fcee4748115b949d6809973519343a4\"\u003e\u003ccode\u003e83478e2\u003c/code\u003e\u003c/a\u003e Search User Experience Improvements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/593019056f414ea452f32a229a3c46d24e738285\"\u003e\u003ccode\u003e5930190\u003c/code\u003e\u003c/a\u003e PYCBC-1698: Improve Jenkins Integration Tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/couchbase/couchbase-python-client/compare/4.3.6...4.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `elasticsearch` from 8.14.0 to 9.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/elastic/elasticsearch-py/releases\"\u003eelasticsearch's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.3.0\u003c/h2\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epack_dense_vector\u003c/code\u003e helper function to pack dense vectors for efficient uploading (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3219\"\u003e#3219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNew and updated ES|QL functions in the ES|QL query builder for 9.3 and Serverless (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3266\"\u003e#3266\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAPI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ecat.circuit_breaker\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eesql.get_view\u003c/code\u003e, \u003ccode\u003eesql.put_view\u003c/code\u003e and \u003ccode\u003eesql.delete_view\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eindices.get_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.put_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.delete_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.get_all_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.get_sample\u003c/code\u003e, \u003ccode\u003eindices.get_sample_stats\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003einference.put_groq\u003c/code\u003e, \u003ccode\u003einference.put_openshift_ai\u003c/code\u003e, \u003ccode\u003einference.put_nvidia\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003edownsampling_method\u003c/code\u003e argument to \u003ccode\u003eindices.put_data_lifecycle\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ereturn_documents\u003c/code\u003e and \u003ccode\u003etop_n\u003c/code\u003e arguments to \u003ccode\u003einference.rerank\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eclose_job\u003c/code\u003e argument to \u003ccode\u003eml.stop_datafeed\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecertificate_identity\u003c/code\u003e to \u003ccode\u003esecurity.create_cross_cluster_api_key\u003c/code\u003e and \u003ccode\u003esecurity.update_cross_cluster_api_key\u003c/code\u003e APIs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServerless-specific\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eproject_routing\u003c/code\u003e argument to \u003ccode\u003eproject.tags\u003c/code\u003e API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDSL\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eNumpyDenseVector\u003c/code\u003e field, with support for dense vectors based on numpy arrays (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3218\"\u003e#3218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eExponentialHistogram\u003c/code\u003e field\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003etime_series_metric\u003c/code\u003e argument to \u003ccode\u003eHistogram\u003c/code\u003e field\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eon_disk_rescore\u003c/code\u003e argument from \u003ccode\u003eDenseVectorIndexOptions\u003c/code\u003e type\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eslices\u003c/code\u003e argument to \u003ccode\u003eUpdateByQueryResponse\u003c/code\u003e type\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.2.1\u003c/h2\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInstrument ping with OTel (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3160\"\u003e#3160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake positional arguments in DSL generated classes explicit  (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3233\"\u003e#3233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd warnings for private APIs (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3212\"\u003e#3212\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eES|QL query builder: fix missing assignment (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3151\"\u003e#3151\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse relative imports to fix \u003ccode\u003eelasticsearch9\u003c/code\u003e package imports (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3232\"\u003e#3232\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAPI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003etransform.get_node_stats\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003erequests_per_second\u003c/code\u003e argument to \u003ccode\u003edelete_by_query_rethrottle\u003c/code\u003e, \u003ccode\u003ereindex_rethrottle\u003c/code\u003e and \u003ccode\u003eupdate_by_query_rethrottle\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eallow_closed\u003c/code\u003e, \u003ccode\u003eallow_no_indices\u003c/code\u003e, \u003ccode\u003eexpand_wildcards\u003c/code\u003e, \u003ccode\u003eignore_throttled\u003c/code\u003e and \u003ccode\u003eignore_available\u003c/code\u003e arguments to \u003ccode\u003ecat.segments\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003echunking_settings\u003c/code\u003e argument to \u003ccode\u003einference.put_watsonxai\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eid\u003c/code\u003e argument to \u003ccode\u003eml.stop_trained_model_deployment\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003echunking_settings\u003c/code\u003e argument from \u003ccode\u003einference.put_anthropic\u003c/code\u003e, \u003ccode\u003einference.put_contextualai\u003c/code\u003e, \u003ccode\u003einference.put_deepseek\u003c/code\u003e APIs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/adae2d6d3d76f3ea75cd758ce64223bd76df45e5\"\u003e\u003ccode\u003eadae2d6\u003c/code\u003e\u003c/a\u003e Release 9.3.0 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3300\"\u003e#3300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/ea2227c743d7cacb474efecf4d8b84fa553f9eec\"\u003e\u003ccode\u003eea2227c\u003c/code\u003e\u003c/a\u003e Add Python 3.14 trove classifier (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3296\"\u003e#3296\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3299\"\u003e#3299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/b507e3e2d91ff0b6f8fb4a53ea23caa989677436\"\u003e\u003ccode\u003eb507e3e\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3293\"\u003e#3293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/76150204725b1495cad3348c573406fc1f3512d1\"\u003e\u003ccode\u003e7615020\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3280\"\u003e#3280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/ef8d102b3fc4d7572e0fd0bb56afe4291fddc529\"\u003e\u003ccode\u003eef8d102\u003c/code\u003e\u003c/a\u003e Stop using pytz (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3275\"\u003e#3275\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3278\"\u003e#3278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/65870f3504344ba7f67feb7721522bef936a92cf\"\u003e\u003ccode\u003e65870f3\u003c/code\u003e\u003c/a\u003e allow adding elasticsearch query filter for mmr searching (elastic#2638) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/32\"\u003e#32\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/b110f19a49ad492d2d6aa514afaac35360ac3c93\"\u003e\u003ccode\u003eb110f19\u003c/code\u003e\u003c/a\u003e Updates to ES|QL functions for 9.3 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3266\"\u003e#3266\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3272\"\u003e#3272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/f3d082788f52b5fe3c80926624fa8a61aa4deb37\"\u003e\u003ccode\u003ef3d0827\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3269\"\u003e#3269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/80818cc2640fcdf902919a3dc5500ae945d33271\"\u003e\u003ccode\u003e80818cc\u003c/code\u003e\u003c/a\u003e Auto-generated code for 9.3 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3262\"\u003e#3262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/6baa03faedefc90ccbc5f902626cc8cea46aed6a\"\u003e\u003ccode\u003e6baa03f\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3252\"\u003e#3252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/elastic/elasticsearch-py/compare/v8.14.0...v9.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oracledb` from 3.3.0 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oracle/python-oracledb/releases\"\u003eoracledb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.4.2\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.2 is now released. This release addresses a number of issues. See the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-2-january-2026\"\u003efull release notes\u003c/a\u003e for all of the details.\u003c/p\u003e\n\u003ch2\u003ev3.4.1\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.1 is now released. This release addresses a number of issues. See the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-1-november-2025\"\u003efull release notes\u003c/a\u003e for all of the details.\u003c/p\u003e\n\u003ch2\u003ev3.4.0\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.0 is now released. This release has the following highlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003esupport for Direct Path Load in thin mode for fast data ingestion\u003c/li\u003e\n\u003cli\u003esupport for data frames is no longer considered a pre-release\u003c/li\u003e\n\u003cli\u003esupport for type mapping when querying with data frames\u003c/li\u003e\n\u003cli\u003esupport for ingesting more Apache Arrow data types\u003c/li\u003e\n\u003cli\u003esupport for ingesting Apache Arrow data frames containing multiple chunks\u003c/li\u003e\n\u003cli\u003esupport for cursor.executemany() operating on large input data in batches\u003c/li\u003e\n\u003cli\u003efine-grained control over LOB and number handling\u003c/li\u003e\n\u003cli\u003enew optional install dependencies for plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-0-october-2025\"\u003efull release notes\u003c/a\u003e for all of the details.\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/oracle/python-oracledb/commit/51581eeb0a626fb3df4e25e00ddb3a28137d3831\"\u003e\u003ccode\u003e51581ee\u003c/code\u003e\u003c/a\u003e Preparing to release python-oracledb 3.4.2.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/81ceb554a0bfb52eb64b7b3870907d9b19bf15bd\"\u003e\u003ccode\u003e81ceb55\u003c/code\u003e\u003c/a\u003e Fixed bug which caused Connection.call_timeout to be reset to zero when\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/4a94025de99763fd0d16d1c2d79d416b9a075e12\"\u003e\u003ccode\u003e4a94025\u003c/code\u003e\u003c/a\u003e Eliminated memory leak when converting a third party data frame to one\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/36a29517530bfe311dab41218a3bc3d80700fe2c\"\u003e\u003ccode\u003e36a2951\u003c/code\u003e\u003c/a\u003e Fixed bug when decoding PL/SQL booleans in Oracle Database 12.1 (\u003ca href=\"https://redirect.github.com/oracle/python-oracledb/issues/565\"\u003e#565\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/6072f01b420af4c2d36c1b9f7b1421aab64ea336\"\u003e\u003ccode\u003e6072f01\u003c/code\u003e\u003c/a\u003e Grammar fix.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/f8be001d9862d6b0b6ec6158b67affef7a70556e\"\u003e\u003ccode\u003ef8be001\u003c/code\u003e\u003c/a\u003e Fixed bug causing hang when using asyncio and the database closes the\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/6e0d8b9da4b259e1b11ad648d354ca659f537a6a\"\u003e\u003ccode\u003e6e0d8b9\u003c/code\u003e\u003c/a\u003e Eliminated race condition in background thread/coroutine management for\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/40200bfa1cb9dde0977a509c84cfdde66f144358\"\u003e\u003ccode\u003e40200bf\u003c/code\u003e\u003c/a\u003e Adjusted code and tests to be capable of being run in environments other\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/36f8899fa71ebd4aec80b87f990633e86abc6b95\"\u003e\u003ccode\u003e36f8899\u003c/code\u003e\u003c/a\u003e Added support for ingesting Arrow arrays which only consist of null\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/7bf23b6c2061d20358b030104249bd703ac1832e\"\u003e\u003ccode\u003e7bf23b6\u003c/code\u003e\u003c/a\u003e Fixed bug when calling Cursor.executemany() with all of the values in at\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/oracle/python-oracledb/compare/v3.3.0...v3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pgvector` from 0.2.5 to 0.4.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md\"\u003epgvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2 (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 6\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estr\u003c/code\u003e objects for \u003ccode\u003ebit\u003c/code\u003e type with SQLAlchemy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 (2025-04-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eSparseVector\u003c/code\u003e constructor for SciPy sparse matrices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 (2025-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded top-level \u003ccode\u003epgvector\u003c/code\u003e package\u003c/li\u003e\n\u003cli\u003eAdded support for pg8000\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ebytes\u003c/code\u003e to \u003ccode\u003eBit\u003c/code\u003e constructor\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eglobally\u003c/code\u003e option to default to \u003ccode\u003eFalse\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003earrays\u003c/code\u003e option to default to \u003ccode\u003eTrue\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eFixed equality for \u003ccode\u003eVector\u003c/code\u003e, \u003ccode\u003eHalfVector\u003c/code\u003e, \u003ccode\u003eBit\u003c/code\u003e, and \u003ccode\u003eSparseVector\u003c/code\u003e classes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eindices\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods of \u003ccode\u003eSparseVector\u003c/code\u003e returning tuple instead of list in some cases\u003c/li\u003e\n\u003cli\u003eDropped support for Python \u0026lt; 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 (2024-10-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003earrays\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 (2024-10-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eavg\u003c/code\u003e function with type casting to SQLAlchemy\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eglobally\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.4 (2024-09-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eschema\u003c/code\u003e option for asyncpg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.3 (2024-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved support for cursor factories with Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.2 (2024-07-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error with asyncpg and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.1 (2024-07-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error parsing zero sparse vectors\u003c/li\u003e\n\u003cli\u003eFixed error with Psycopg 2 and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003cli\u003eFixed error message when \u003ccode\u003evector\u003c/code\u003e type not found with Psycopg 3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.0 (2024-06-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ehalfvec\u003c/code\u003e, \u003ccode\u003ebit\u003c/code\u003e, and \u003ccode\u003esparsevec\u003c/code\u003e types to Django\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/2968f258f9486531bd1340cbda4ff8fcaf06cdc1\"\u003e\u003ccode\u003e2968f25\u003c/code\u003e\u003c/a\u003e Version bump to 0.4.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/674f5ba3410c873d49f50fa9725b95d9db50c674\"\u003e\u003ccode\u003e674f5ba\u003c/code\u003e\u003c/a\u003e Updated checkout action [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e2986daf2b1533cc2c849f7e39350e31d57ac325\"\u003e\u003ccode\u003ee2986da\u003c/code\u003e\u003c/a\u003e Added support for Django 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e211ba4029f204734f0c001fbb90f6a594d561ae\"\u003e\u003ccode\u003ee211ba4\u003c/code\u003e\u003c/a\u003e Test with Python 3.14 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/1a72b7571adf3325174b383aca85bfb3a5b925fa\"\u003e\u003ccode\u003e1a72b75\u003c/code\u003e\u003c/a\u003e Updated pgvector on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/c820a53bfb46196551de3c3f59f81b192d890574\"\u003e\u003ccode\u003ec820a53\u003c/code\u003e\u003c/a\u003e Simplified examples [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/caf1a2e0dd7a1ba2ad0ca9f09b50516dcfffcdeb\"\u003e\u003ccode\u003ecaf1a2e\u003c/code\u003e\u003c/a\u003e Added docs for binary quantization with SQLAlchemy [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/dc9a8f959995f009649fd230139ca41193e0a801\"\u003e\u003ccode\u003edc9a8f9\u003c/code\u003e\u003c/a\u003e Added test for binary quantization with re-ranking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/33dee606229489c9ffb0cb5a1cd72bd4705ac618\"\u003e\u003ccode\u003e33dee60\u003c/code\u003e\u003c/a\u003e Added support for str objects for bit type with SQLAlchemy - \u003ca href=\"https://redirect.github.com/pgvector/pgvector-python/issues/137\"\u003e#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/ee3e71ca2c07a12a8332a3877c0ce14adc9a5da8\"\u003e\u003ccode\u003eee3e71c\u003c/code\u003e\u003c/a\u003e Updated format for license identifier\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgvector/pgvector-python/compare/v0.2.5...v0.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymilvus` from 2.5.17 to 2.6.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/milvus-io/pymilvus/releases\"\u003epymilvus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePyMilvus v2.6.9 Release Notes\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003efix: pass context to \u003ccode\u003edescribe_collection\u003c/code\u003e in \u003ccode\u003eSearchIteratorV2\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3271\"\u003e#3271\u003c/a\u003e) — Forward \u003ccode\u003ekwargs\u003c/code\u003e (including \u003ccode\u003econtext\u003c/code\u003e carrying \u003ccode\u003edb_name\u003c/code\u003e) from \u003ccode\u003eSearchIteratorV2.__init__\u003c/code\u003e to \u003ccode\u003edescribe_collection\u003c/code\u003e, matching the existing \u003ccode\u003eQueryIterator\u003c/code\u003e pattern. Without this fix, \u003ccode\u003eSearchIteratorV2\u003c/code\u003e always queries the \u003ccode\u003edefault\u003c/code\u003e database, causing \u0026quot;can't find collection\u0026quot; errors for non-default databases.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003efix: unpack \u003ccode\u003e_get_schema\u003c/code\u003e tuple return in \u003ccode\u003e_list_vector_indexes\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3275\"\u003e#3275\u003c/a\u003e) — Fix tuple unpacking issue in \u003ccode\u003e_list_vector_indexes\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eenhance: optimize gRPC keepalive defaults and support user-configurable \u003ccode\u003egrpc_options\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3258\"\u003e#3258\u003c/a\u003e) — Improve gRPC keepalive defaults and allow users to configure gRPC channel options.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eenhance: support warmup type params for \u003ccode\u003eFieldSchema\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3255\"\u003e#3255\u003c/a\u003e) — Add warmup type parameter support in field schema definitions.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTests\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eenhance: increase unit test coverage\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3233\"\u003e#3233\u003c/a\u003e) — Comprehensive tests added for \u003ccode\u003eclient/types.py\u003c/code\u003e, iterator utilities, \u003ccode\u003eorm/utility.py\u003c/code\u003e, request builder methods, \u003ccode\u003eclient/abstract.py\u003c/code\u003e, decorators, and \u003ccode\u003eclient/utils.py\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/milvus-io/pymilvus/compare/v2.6.8...v2.6.9\"\u003ehttps://github.com/milvus-io/pymilvus/compare/v2.6.8...v2.6.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePyMilvus v2.6.8 Release Notes\u003c/h2\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eParse dbname from uri\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3247\"\u003e#3247\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🔧 Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eRemove the usage of grpcio-testing\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3225\"\u003e#3225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eExclude data generation time from benchmark\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3246\"\u003e#3246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eOptimize search result performance (Hit class, HybridHits init)\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3248\"\u003e#3248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAdd channel_state and debug_error_string to gRPC error diagnostics\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3249\"\u003e#3249\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📝 Contributors\u003c/h2\u003e\n\u003cp\u003eWe would like to thank all contributors who made this release possible:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/XuanYang-cn\"\u003e\u003ccode\u003e@​XuanYang-cn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zhuwenxing\"\u003e\u003ccode\u003e@​zhuwenxing\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sijie-ni-0214\"\u003e\u003ccode\u003e@​sijie-ni-0214\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/milvus-io/pymilvus/compare/v2.6.7...v2.6.8\"\u003ehttps://github.com/milvus-io/pymilvus/compare/v2.6.7...v2.6.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePyMilvus v2.6.7 Release Notes\u003c/h2\u003e\n\u003ch2\u003e🎉 New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSupport semantic-highlighter\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3180\"\u003e#3180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSupport async client list_persistent_segments\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3207\"\u003e#3207\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\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/milvus-io/pymilvus/commit/93bd7d75da6963878435d933f6af6dcdf73135e0\"\u003e\u003ccode\u003e93bd7d7\u003c/code\u003e\u003c/a\u003e [Backport 2.6] fix: unpack _get_schema tuple return in _list_vector_indexes (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/c1200a4b38daa909b0a181a960032cfd60c6e008\"\u003e\u003ccode\u003ec1200a4\u003c/code\u003e\u003c/a\u003e fix: pass context to describe_collection in SearchIteratorV2 (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3271\"\u003e#3271\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3274\"\u003e#3274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/bc8c7074f9340a5b65cfc400d46a4e0d26c9c113\"\u003e\u003ccode\u003ebc8c707\u003c/code\u003e\u003c/a\u003e [Backport 2.6] enhance: optimize gRPC keepalive defaults and support user-con...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/111eae33dfe05f825808a61c494fba3b508c19ca\"\u003e\u003ccode\u003e111eae3\u003c/code\u003e\u003c/a\u003e [Backport 2.6] support warmup type params for fieldschema (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3255\"\u003e#3255\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3256\"\u003e#3256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/7e634e604352634a0cb13922f9614e14592767f7\"\u003e\u003ccode\u003e7e634e6\u003c/code\u003e\u003c/a\u003e enhance: Add ut to increase ut coverage (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3233\"\u003e#3233\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3254\"\u003e#3254\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/3e482a8b73bf23f8571e5a72eeec0c8c881b8c3a\"\u003e\u003ccode\u003e3e482a8\u003c/code\u003e\u003c/a\u003e fix: Correct milvus-proto commit (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3252\"\u003e#3252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/b06fc4e5a3f59682831f3768413bfeb6ebc8f679\"\u003e\u003ccode\u003eb06fc4e\u003c/code\u003e\u003c/a\u003e [Backport 2.6] enhance: add channel_state and debug_error_string to gRPC erro...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/64de51d42164b3e099498d5af0a767fc620ddf76\"\u003e\u003ccode\u003e64de51d\u003c/code\u003e\u003c/a\u003e [Backport 2.6] [enhance]:Optimize search result performance (Hit class, Hybri...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/c27f496b3db03489e942e831e2e856536ffd8f58\"\u003e\u003ccode\u003ec27f496\u003c/code\u003e\u003c/a\u003e [Backport 2.6] fix:parse dbname from uri (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3237\"\u003e#3237\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3247\"\u003e#3247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/26bd0fc7a3166f85604f5e59474507f183ea3d58\"\u003e\u003ccode\u003e26bd0fc\u003c/code\u003e\u003c/a\u003e feat: [2.6] support truncate collection api (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3238\"\u003e#3238\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/milvus-io/pymilvus/compare/v2.5.17...v2.6.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymochow` from 2.2.9 to 2.3.6\n\nUpdates `pyobvector` from 0.2.20 to 0.2.25\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eS...\n\n_Description has been truncated_","html_url":"https://github.com/langgenius/dify/pull/33336","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/langgenius%2Fdify/issues/33336","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/33336/packages"}},{"old_version":"0.2.5","new_version":"0.4.2","update_type":"minor","path":null,"pr_created_at":"2026-03-11T16:29:22.000Z","version_change":"0.2.5 → 0.4.2","issue":{"uuid":"4059268715","node_id":"PR_kwDOJVxJus7Jw1cI","number":33326,"state":"closed","title":"chore(deps-dev): bump the vdb group across 1 directory with 18 updates","user":"dependabot[bot]","labels":["dependencies","size:M","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-12T01:53:27.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-11T16:29:22.000Z","updated_at":"2026-03-12T01:53:28.000Z","time_to_close":33845,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"vdb","update_count":18,"packages":[{"name":"weaviate-client","old_version":"4.17.0","new_version":"4.20.4","repository_url":"https://github.com/weaviate/weaviate-python-client"},{"name":"alibabacloud-tea-openapi","old_version":"0.3.16","new_version":"0.4.3","repository_url":"https://github.com/aliyun/darabonba-openapi"},{"name":"chromadb","old_version":"0.5.20","new_version":"1.5.5","repository_url":"https://github.com/chroma-core/chroma"},{"name":"clickhouse-connect","old_version":"0.10.0","new_version":"0.14.0","repository_url":"https://github.com/ClickHouse/clickhouse-connect"},{"name":"couchbase","old_version":"4.3.6","new_version":"4.5.0","repository_url":"https://github.com/couchbase/couchbase-python-client"},{"name":"elasticsearch","old_version":"8.14.0","new_version":"9.3.0","repository_url":"https://github.com/elastic/elasticsearch-py"},{"name":"oracledb","old_version":"3.3.0","new_version":"3.4.2","repository_url":"https://github.com/oracle/python-oracledb"},{"name":"pgvector","old_version":"0.2.5","new_version":"0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"},{"name":"pymilvus","old_version":"2.5.17","new_version":"2.6.9","repository_url":"https://github.com/milvus-io/pymilvus"},{"name":"pymochow","old_version":"2.2.9","new_version":"2.3.6"},{"name":"pyobvector","old_version":"0.2.20","new_version":"0.2.25","repository_url":"https://github.com/oceanbase/pyobvector"},{"name":"qdrant-client","old_version":"1.9.0","new_version":"1.17.0","repository_url":"https://github.com/qdrant/qdrant-client"},{"name":"tablestore","old_version":"6.3.7","new_version":"6.4.1","repository_url":"https://github.com/aliyun/aliyun-tablestore-python-sdk"},{"name":"tcvectordb","old_version":"1.6.4","new_version":"2.0.0"},{"name":"tidb-vector","old_version":"0.0.9","new_version":"0.0.15"},{"name":"upstash-vector","old_version":"0.6.0","new_version":"0.8.0","repository_url":"https://github.com/upstash/vector-py"},{"name":"xinference-client","old_version":"1.2.2","new_version":"2.2.0","repository_url":"https://github.com/xorbitsai/inference-client"},{"name":"mysql-connector-python","old_version":"9.5.0","new_version":"9.6.0","repository_url":"https://github.com/mysql/mysql-connector-python"}],"path":null,"ecosystem":"pip"},"body":"Bumps the vdb group with 18 updates in the /api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [weaviate-client](https://github.com/weaviate/weaviate-python-client) | `4.17.0` | `4.20.4` |\n| [alibabacloud-tea-openapi](https://github.com/aliyun/darabonba-openapi) | `0.3.16` | `0.4.3` |\n| [chromadb](https://github.com/chroma-core/chroma) | `0.5.20` | `1.5.5` |\n| [clickhouse-connect](https://github.com/ClickHouse/clickhouse-connect) | `0.10.0` | `0.14.0` |\n| [couchbase](https://github.com/couchbase/couchbase-python-client) | `4.3.6` | `4.5.0` |\n| [elasticsearch](https://github.com/elastic/elasticsearch-py) | `8.14.0` | `9.3.0` |\n| [oracledb](https://github.com/oracle/python-oracledb) | `3.3.0` | `3.4.2` |\n| [pgvector](https://github.com/pgvector/pgvector-python) | `0.2.5` | `0.4.2` |\n| [pymilvus](https://github.com/milvus-io/pymilvus) | `2.5.17` | `2.6.9` |\n| [pymochow](http://bce.baidu.com) | `2.2.9` | `2.3.6` |\n| [pyobvector](https://github.com/oceanbase/pyobvector) | `0.2.20` | `0.2.25` |\n| [qdrant-client](https://github.com/qdrant/qdrant-client) | `1.9.0` | `1.17.0` |\n| [tablestore](https://github.com/aliyun/aliyun-tablestore-python-sdk) | `6.3.7` | `6.4.1` |\n| tcvectordb | `1.6.4` | `2.0.0` |\n| tidb-vector | `0.0.9` | `0.0.15` |\n| [upstash-vector](https://github.com/upstash/vector-py) | `0.6.0` | `0.8.0` |\n| [xinference-client](https://github.com/xorbitsai/inference-client) | `1.2.2` | `2.2.0` |\n| [mysql-connector-python](https://github.com/mysql/mysql-connector-python) | `9.5.0` | `9.6.0` |\n\n\nUpdates `weaviate-client` from 4.17.0 to 4.20.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weaviate/weaviate-python-client/releases\"\u003eweaviate-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.20.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump authlib to 1.6.9 to avoid high cve by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1975\"\u003eweaviate/weaviate-python-client#1975\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.2...v4.20.3\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.2...v4.20.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eperf: use deque for iterator object cache by \u003ca href=\"https://github.com/giulio-leone\"\u003e\u003ccode\u003e@​giulio-leone\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1968\"\u003eweaviate/weaviate-python-client#1968\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexpose include_last_used_time parameter, return created_at and api_key_first_letters by \u003ca href=\"https://github.com/dudanogueira\"\u003e\u003ccode\u003e@​dudanogueira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1965\"\u003eweaviate/weaviate-python-client#1965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for incremental backups by \u003ca href=\"https://github.com/dirkkul\"\u003e\u003ccode\u003e@​dirkkul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1928\"\u003eweaviate/weaviate-python-client#1928\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/giulio-leone\"\u003e\u003ccode\u003e@​giulio-leone\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1968\"\u003eweaviate/weaviate-python-client#1968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.1...v4.20.2\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.1...v4.20.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix empty list filter raising IndexError instead of WeaviateInvalidInputError by \u003ca href=\"https://github.com/dirkkul\"\u003e\u003ccode\u003e@​dirkkul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1962\"\u003eweaviate/weaviate-python-client#1962\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.0...v4.20.1\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.0...v4.20.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eflat index: Add support for RQ and include cache param by \u003ca href=\"https://github.com/rlmanrique\"\u003e\u003ccode\u003e@​rlmanrique\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1844\"\u003eweaviate/weaviate-python-client#1844\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003ecollection.data.ingest\u003c/code\u003e for sync/async SSB usage by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1876\"\u003eweaviate/weaviate-python-client#1876\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd delete_property_index to collection config by \u003ca href=\"https://github.com/DanielJanicek\"\u003e\u003ccode\u003e@​DanielJanicek\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1940\"\u003eweaviate/weaviate-python-client#1940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid id invalidation in nested properties by \u003ca href=\"https://github.com/dudanogueira\"\u003e\u003ccode\u003e@​dudanogueira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1952\"\u003eweaviate/weaviate-python-client#1952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide options allowing users to specify custom grpc SSL credentials by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1946\"\u003eweaviate/weaviate-python-client#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for cancelling backup restore ops by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1956\"\u003eweaviate/weaviate-python-client#1956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove cache option from SQConfig, deprecate field in factory method by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1954\"\u003eweaviate/weaviate-python-client#1954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow imgs/img_props in cohere generative config runtime by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1955\"\u003eweaviate/weaviate-python-client#1955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce async repl conf in (re)configure and unit tests of usage by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1953\"\u003eweaviate/weaviate-python-client#1953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Hfresh index type by \u003ca href=\"https://github.com/robbespo00\"\u003e\u003ccode\u003e@​robbespo00\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1848\"\u003eweaviate/weaviate-python-client#1848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Cluster Statistics (client.cluster.statistics()) by \u003ca href=\"https://github.com/Shah91n\"\u003e\u003ccode\u003e@​Shah91n\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1959\"\u003eweaviate/weaviate-python-client#1959\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/Shah91n\"\u003e\u003ccode\u003e@​Shah91n\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1959\"\u003eweaviate/weaviate-python-client#1959\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.19.4...v4.20.0\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.19.4...v4.20.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.19.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd gRPC ping check to is_live method  by \u003ca href=\"https://github.com/sylvinho81\"\u003e\u003ccode\u003e@​sylvinho81\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1949\"\u003eweaviate/weaviate-python-client#1949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-raise in \u003ccode\u003ecollection.exists()\u003c/code\u003e if status code is not 404 by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1950\"\u003eweaviate/weaviate-python-client#1950\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weaviate/weaviate-python-client/blob/main/docs/changelog.rst\"\u003eweaviate-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 4.20.4\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Include client version in GRPC requests\n- Add support for the new \u003ccode\u003emulti2vec_google_gemini\u003c/code\u003e module\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.3\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Update of \u003ccode\u003eauthlib\u003c/code\u003e dependency\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.2\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Support for incremental backups\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.1\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Raise an input error when filtering on an empty list\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.0\u003c/h2\u003e\n\u003cp\u003eThis minor version includes:\n- Support for new 1.36 features:\n- Server-side batching (SSB) is now GA via \u003ccode\u003ebatch.stream\u003c/code\u003e (\u003ccode\u003ebatch.experimental\u003c/code\u003e is deprecated)\n- Add \u003ccode\u003ecollection.data.ingest\u003c/code\u003e as a new entry point for SSB usage in sync and async clients\n- Add support for the new HFresh index type\n- Add support for async replication configuration\n- Add support for cancelling backup restore operations\n- Add \u003ccode\u003ecollection.config.delete_property_index\u003c/code\u003e to drop filterable, searchable, or range filter indices from properties\n- Add \u003ccode\u003eclient.cluster.statistics()\u003c/code\u003e method for retrieving cluster and Raft statistics\n- Allow \u003ccode\u003eimages\u003c/code\u003e and \u003ccode\u003eimage_properties\u003c/code\u003e in Cohere generative config at runtime\n- Provide options to specify custom gRPC SSL credentials for advanced connection setups\n- Remove \u003ccode\u003ecache\u003c/code\u003e option from \u003ccode\u003eSQConfig\u003c/code\u003e and deprecate the field in the factory method\n- Fix validation of nested object properties to allow \u003ccode\u003eid\u003c/code\u003e as a nested property name\u003c/p\u003e\n\u003ch2\u003eVersion 4.19.4\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Adds the gRPC healthcheck ping to the \u003ccode\u003eis_live()\u003c/code\u003e method of the async client to provide a more accurate check of the connection status of the async client\n- Fixes bug where exceptions raised in \u003ccode\u003ecollections.exists()\u003c/code\u003e were silently ignored and the method would return \u003ccode\u003eFalse\u003c/code\u003e instead of raising the exception\u003c/p\u003e\n\u003ch2\u003eVersion 4.19.3\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Add support for VoyageAI voyage-4 model family (voyage-4, voyage-4-lite, voyage-4-large)\n- A fix for async client connection issues when \u003ccode\u003epypi\u003c/code\u003e is down\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/weaviate/weaviate-python-client/commit/c0b796e07af0fef5555d37cf78a9a47dae62bb0c\"\u003e\u003ccode\u003ec0b796e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1982\"\u003e#1982\u003c/a\u003e from weaviate/changelog_4_20_4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/dfa8ae431413db4bb66ad2054487018b3362f360\"\u003e\u003ccode\u003edfa8ae4\u003c/code\u003e\u003c/a\u003e Add changelog for v4.20.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/3a0958c19133ecb10565b66d4d0d4ab818d7a619\"\u003e\u003ccode\u003e3a0958c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1977\"\u003e#1977\u003c/a\u003e from weaviate/multi2vec-google-aistudio-vectorizer-c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/106f22584de2bc00f347534c19661af997112583\"\u003e\u003ccode\u003e106f225\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into multi2vec-google-aistudio-vectorizer-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/5ca709e0c068ae8531368d489062169cd7b9306d\"\u003e\u003ccode\u003e5ca709e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1980\"\u003e#1980\u003c/a\u003e from weaviate/client_version_grpc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/55e56f06bf0444fb4caf9f31da7b61dad10ef291\"\u003e\u003ccode\u003e55e56f0\u003c/code\u003e\u003c/a\u003e Dont overwrite version from additional headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/79ee3d030a8c9829c0ea3ca8240ebcdefe710647\"\u003e\u003ccode\u003e79ee3d0\u003c/code\u003e\u003c/a\u003e Add client version to GRPC headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/2ccdaa109a8ba599bec569b489aca3497087869e\"\u003e\u003ccode\u003e2ccdaa1\u003c/code\u003e\u003c/a\u003e chore: rename multi2vec_google_aistudio config to multi2vec_google_gemini\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/ce633119510d6b8ae71dec0310d4a5d08700e172\"\u003e\u003ccode\u003ece63311\u003c/code\u003e\u003c/a\u003e feat: add multi2vec_google_aistudio vectorizer config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/db8a91c514b042dda0871eeb7a27cc9c65f70e71\"\u003e\u003ccode\u003edb8a91c\u003c/code\u003e\u003c/a\u003e Bump authlib to 1.6.9 to avoid high cve (\u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1975\"\u003e#1975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.17.0...v4.20.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alibabacloud-tea-openapi` from 0.3.16 to 0.4.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aliyun/darabonba-openapi/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `chromadb` from 0.5.20 to 1.5.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/chroma-core/chroma/releases\"\u003echromadb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.5.5\u003c/h2\u003e\n\u003cp\u003eVersion: \u003ccode\u003e1.5.5\u003c/code\u003e\nGit ref: \u003ccode\u003erefs/tags/1.5.5\u003c/code\u003e\nBuild Date: \u003ccode\u003e2026-03-10T09:30\u003c/code\u003e\nPIP Package: \u003ccode\u003echroma-1.5.5.tar.gz\u003c/code\u003e\nGithub Container Registry Image: \u003ccode\u003e:1.5.5\u003c/code\u003e\nDockerHub Image: \u003ccode\u003e:1.5.5\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[RELEASE] Rust v0.13.2 by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6583\"\u003echroma-core/chroma#6583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Use buffer_unordered for lazy fragment fetch concurrency by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6584\"\u003echroma-core/chroma#6584\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] chroma configuration reference by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6592\"\u003echroma-core/chroma#6592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[PERF]: Dedup + filter out disbled collections before sysdb enrichment by \u003ca href=\"https://github.com/sanketkedia\"\u003e\u003ccode\u003e@​sanketkedia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6566\"\u003echroma-core/chroma#6566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[TST] Fix test_cross_version_persist by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6604\"\u003echroma-core/chroma#6604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Warn on no API key set on JS EFs by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6599\"\u003echroma-core/chroma#6599\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Add a GoogleGemini EF name alias by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6620\"\u003echroma-core/chroma#6620\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[RELEASE] Python 1.5.5 by \u003ca href=\"https://github.com/itaismith\"\u003e\u003ccode\u003e@​itaismith\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6602\"\u003echroma-core/chroma#6602\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/chroma-core/chroma/compare/1.5.4...1.5.5\"\u003ehttps://github.com/chroma-core/chroma/compare/1.5.4...1.5.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.5.3\u003c/h2\u003e\n\u003cp\u003eVersion: \u003ccode\u003e1.5.3\u003c/code\u003e\nGit ref: \u003ccode\u003erefs/tags/1.5.3\u003c/code\u003e\nBuild Date: \u003ccode\u003e2026-03-07T19:07\u003c/code\u003e\nPIP Package: \u003ccode\u003echroma-1.5.3.tar.gz\u003c/code\u003e\nGithub Container Registry Image: \u003ccode\u003e:1.5.3\u003c/code\u003e\nDockerHub Image: \u003ccode\u003e:1.5.3\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[ENH] Thread topology name through purge-dirty pipeline by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6503\"\u003echroma-core/chroma#6503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CHORE]  Tighten down k8s resources in test. by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6509\"\u003echroma-core/chroma#6509\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Purge dirty via Spanner when topology is specified by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6504\"\u003echroma-core/chroma#6504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG]: Drop pydantic v1 compatibility layer for Python 3.14 support by \u003ca href=\"https://github.com/basnijholt\"\u003e\u003ccode\u003e@​basnijholt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6356\"\u003echroma-core/chroma#6356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[PERF] Parallelize segment reader initialization in filter and idf operators by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6522\"\u003echroma-core/chroma#6522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Preallocate during pull log parsing by \u003ca href=\"https://github.com/tanujnay112\"\u003e\u003ccode\u003e@​tanujnay112\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6528\"\u003echroma-core/chroma#6528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[TST] Make pytest use importlib by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6483\"\u003echroma-core/chroma#6483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CLN] Make telemetry a no-op and remove posthog as a dependency by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6489\"\u003echroma-core/chroma#6489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] fix forking numbers by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6530\"\u003echroma-core/chroma#6530\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/blob/HEAD/storage\"\u003eBUG\u003c/a\u003e: retry batch fetch on channel closure by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6526\"\u003echroma-core/chroma#6526\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG] CAS on version during reassignment by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6529\"\u003echroma-core/chroma#6529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] use ResourceExhausted error code for log backpressure by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6527\"\u003echroma-core/chroma#6527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Ordered sparse vector writer by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6495\"\u003echroma-core/chroma#6495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] update docs for s3 sync by \u003ca href=\"https://github.com/philipithomas\"\u003e\u003ccode\u003e@​philipithomas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6515\"\u003echroma-core/chroma#6515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG] avoid redundant manifest load in pull_logs_inner by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6544\"\u003echroma-core/chroma#6544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Skip record load when only id is requested by \u003ca href=\"https://github.com/Sicheng-Pan\"\u003e\u003ccode\u003e@​Sicheng-Pan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6540\"\u003echroma-core/chroma#6540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/blob/HEAD/log\"\u003eENH\u003c/a\u003e add pointer-based log fetch via ScoutLogFragments by \u003ca href=\"https://github.com/rescrv\"\u003e\u003ccode\u003e@​rescrv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6533\"\u003echroma-core/chroma#6533\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Add ReadLevel to count in be by \u003ca href=\"https://github.com/HammadB\"\u003e\u003ccode\u003e@​HammadB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6539\"\u003echroma-core/chroma#6539\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Add a gauge metric in sysdb to track compaction_failure_count by \u003ca href=\"https://github.com/tanujnay112\"\u003e\u003ccode\u003e@​tanujnay112\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6550\"\u003echroma-core/chroma#6550\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Fix query param by \u003ca href=\"https://github.com/kylediaz\"\u003e\u003ccode\u003e@​kylediaz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/chroma-core/chroma/pull/6557\"\u003echroma-core/chroma#6557\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/eca66b7afd4b7aea227644f8c78030f16fc2837a\"\u003e\u003ccode\u003eeca66b7\u003c/code\u003e\u003c/a\u003e [RELEASE] Python 1.5.5 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6602\"\u003e#6602\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/ce0eede5941e15017204c69387493a35ee97afa4\"\u003e\u003ccode\u003ece0eede\u003c/code\u003e\u003c/a\u003e [ENH] Add a GoogleGemini EF name alias (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6620\"\u003e#6620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/3604eea9165d26ef6eefb03893ae1b04d1803b1e\"\u003e\u003ccode\u003e3604eea\u003c/code\u003e\u003c/a\u003e [ENH] Warn on no API key set on JS EFs (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6599\"\u003e#6599\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/9e7bd7fbf91746166e56e140ed548d070f638722\"\u003e\u003ccode\u003e9e7bd7f\u003c/code\u003e\u003c/a\u003e [TST] Fix test_cross_version_persist (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6604\"\u003e#6604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/03a3169183d372360321c76a034c97f8a1e2ac4c\"\u003e\u003ccode\u003e03a3169\u003c/code\u003e\u003c/a\u003e [PERF]: Dedup + filter out disbled collections before sysdb enrichment (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6566\"\u003e#6566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/475bbfcfdba3b40c737c3a90a4f1a915298b16f6\"\u003e\u003ccode\u003e475bbfc\u003c/code\u003e\u003c/a\u003e [DOC] chroma configuration reference (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6592\"\u003e#6592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/02d2d8cd21150cd2ffdecce2c23e0234e04bb2fc\"\u003e\u003ccode\u003e02d2d8c\u003c/code\u003e\u003c/a\u003e [ENH] Use buffer_unordered for lazy fragment fetch concurrency (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6584\"\u003e#6584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/130449099a5eb756a55e4c73ed1d29fdebc5b371\"\u003e\u003ccode\u003e1304490\u003c/code\u003e\u003c/a\u003e [RELEASE] Rust v0.13.2 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6583\"\u003e#6583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/e0525a2f99589693141974a9c5a38b12299e8eef\"\u003e\u003ccode\u003ee0525a2\u003c/code\u003e\u003c/a\u003e [RELEASE] Python 1.5.4 (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6585\"\u003e#6585\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chroma-core/chroma/commit/8c70b3cd112ca5608300b8e58710a4e52e5f97fb\"\u003e\u003ccode\u003e8c70b3c\u003c/code\u003e\u003c/a\u003e [ENH] Exclude yanked versions from cross-version persist test (\u003ca href=\"https://redirect.github.com/chroma-core/chroma/issues/6588\"\u003e#6588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/chroma-core/chroma/compare/0.5.20...1.5.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `clickhouse-connect` from 0.10.0 to 0.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/releases\"\u003eclickhouse-connect's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.0\u003c/h2\u003e\n\u003ch2\u003eHigh level notes\u003c/h2\u003e\n\u003cp\u003eThis release is primarily focused on preparing the path to 1.0.0. It introduces a handful of breaking changes and deprecation warnings for APIs that will be removed or finalized in 1.0.0. If your code uses any of the deprecated parameters, you'll now see \u003ccode\u003eDeprecationWarning\u003c/code\u003es with clear migration guidance and highly recommend addressing these before upgrading to 1.0.0 when it ships.\u003c/p\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eapply_server_timezone\u003c/code\u003e renamed to \u003ccode\u003etz_source\u003c/code\u003e. Options are \u003ccode\u003e\u0026quot;auto\u0026quot;\u003c/code\u003e (the default), \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e, or \u003ccode\u003e\u0026quot;local\u0026quot;\u003c/code\u003e. The old parameter currently still works with a deprecation warning. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/670\"\u003eClickHouse/clickhouse-connect#670\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eutc_tz_aware\u003c/code\u003e renamed to \u003ccode\u003etz_mode\u003c/code\u003e. Options are \u003ccode\u003e\u0026quot;naive_utc\u0026quot;\u003c/code\u003e (the default), \u003ccode\u003e\u0026quot;aware\u0026quot;\u003c/code\u003e, or \u003ccode\u003e\u0026quot;schema\u0026quot;\u003c/code\u003e. The old parameter still currently still works with a deprecation warning. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/664\"\u003eClickHouse/clickhouse-connect#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003eObject('json')\u003c/code\u003e type. This was a legacy experimental JSON type has been removed in favor of the new JSON type in ClickHouse. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/666\"\u003eClickHouse/clickhouse-connect#666\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePandas 1.x support is deprecated and will be removed in 1.0.0. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/667\"\u003eClickHouse/clickhouse-connect#667\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThere's a async-native client based on clickhouse-connect v0.11.0 that is \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/releases/tag/v0.12.0rc1\"\u003eavailable\u003c/a\u003e for testing via \u003ccode\u003epip install clickhouse_connect[async]==0.12.0rc1\u003c/code\u003e. A \u003ccode\u003eFutureWarning\u003c/code\u003e advertising this will now be emitted on creation of the (to be legacy) async client. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/672\"\u003eClickHouse/clickhouse-connect#672\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eExperimental\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.14 free-threading (cp314t) wheel builds for all platforms. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/660\"\u003eClickHouse/clickhouse-connect#660\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where sending redundant settings is skipped. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/639\"\u003eClickHouse/clickhouse-connect#639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eSAMPLE\u003c/code\u003e in SQLAlchemy dialect. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/656\"\u003eClickHouse/clickhouse-connect#656\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/bsushmith\"\u003e\u003ccode\u003e@​bsushmith\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/656\"\u003eClickHouse/clickhouse-connect#656\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.13.0...v0.14.0\"\u003ehttps://github.com/ClickHouse/clickhouse-connect/compare/v0.13.0...v0.14.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.13.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eBREAKING CHANGE\u003c/strong\u003e: Implement native write path for \u003ccode\u003eVariant\u003c/code\u003e data type with type-aware dispatching. Previously, all values inserted into a \u003ccode\u003eVariant\u003c/code\u003e column were stringified and sent to the server, which would store them in the \u003ccode\u003eString\u003c/code\u003e member if present, or attempt server-side conversion otherwise. Values are now serialized using their native ClickHouse types client-side (e.g. inserting \u003ccode\u003e100\u003c/code\u003e into \u003ccode\u003eVariant(Int64, String)\u003c/code\u003e stores \u003ccode\u003eInt64(100)\u003c/code\u003e instead of \u003ccode\u003eString(\u0026quot;100\u0026quot;)\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003eKey changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eValues that don't match any variant member now raise \u003ccode\u003eDataError\u003c/code\u003e instead of being stringified and\ndelegated to the server.\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003etyped_variant(value, 'TypeName')\u003c/code\u003e helper is provided for cases where automatic dispatch\ncannot resolve the target type, such as when multiple variant members map to the same Python\ntype (e.g. \u003ccode\u003eArray(UInt32)\u003c/code\u003e vs \u003ccode\u003eArray(String)\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded \u003ccode\u003eutc_tz_aware=\u0026quot;schema\u0026quot;\u003c/code\u003e mode which returns timezone-aware datetimes only when the server's column schema explicitly defines a timezone (e.g. \u003ccode\u003eDateTime('UTC')\u003c/code\u003e), and naive datetimes for bare \u003ccode\u003eDateTime\u003c/code\u003e columns. This matches the ClickHouse schema definition exactly. Not yet supported for Arrow-based query methods. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/645\"\u003e#645\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type annotations to public API methods in \u003ccode\u003eClient\u003c/code\u003e, \u003ccode\u003eAsyncClient\u003c/code\u003e, \u003ccode\u003eHttpClient\u003c/code\u003e, and \u003ccode\u003eQueryResult\u003c/code\u003e. Ref \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/567\"\u003e#567\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003edict_add\u003c/code\u003e parameter typed as builtin \u003ccode\u003eany\u003c/code\u003e instead of \u003ccode\u003etyping.Any\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRecognize \u003ccode\u003eUPDATE\u003c/code\u003e as a command so lightweight updates work correctly via \u003ccode\u003eclient.query()\u003c/code\u003e and SQLAlchemy.\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: \u003ccode\u003eGROUP BY\u003c/code\u003e now renders label aliases instead of full expressions which avoids circular reference errors when an alias shadows a source column name in ClickHouse.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.11.0...v0.13.0\"\u003ehttps://github.com/ClickHouse/clickhouse-connect/compare/v0.11.0...v0.13.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.12.0rc1\u003c/h2\u003e\n\u003ch1\u003eNative Async Client (Pre-release)\u003c/h1\u003e\n\u003cp\u003eThis is a pre-release for testing and feedback on the new native async client built on \u003ca href=\"https://github.com/aio-libs/aiohttp\"\u003eaiohttp\u003c/a\u003e. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/141\"\u003e#141\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/ClickHouse/clickhouse-connect/blob/main/CHANGELOG.md\"\u003eclickhouse-connect's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.0, 2026-03-09\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRenamed \u003ccode\u003eapply_server_timezone\u003c/code\u003e parameter to \u003ccode\u003etz_source\u003c/code\u003e across Client and HttpClient. The new \u003ccode\u003etz_source\u003c/code\u003e parameter accepts string values: \u003ccode\u003e\u0026quot;auto\u0026quot;\u003c/code\u003e (default, was \u003ccode\u003eNone\u003c/code\u003e), \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e (was \u003ccode\u003eTrue\u003c/code\u003e or \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e), and \u003ccode\u003e\u0026quot;local\u0026quot;\u003c/code\u003e (was \u003ccode\u003eFalse\u003c/code\u003e). The old \u003ccode\u003eapply_server_timezone\u003c/code\u003e parameter is still accepted but emits a \u003ccode\u003eDeprecationWarning\u003c/code\u003e and will be removed in 1.0. Passing both \u003ccode\u003etz_source\u003c/code\u003e and \u003ccode\u003eapply_server_timezone\u003c/code\u003e raises \u003ccode\u003eProgrammingError\u003c/code\u003e. The \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e value (which had no distinct runtime behavior from \u003ccode\u003eTrue\u003c/code\u003e) maps to \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRenamed \u003ccode\u003eutc_tz_aware\u003c/code\u003e parameter to \u003ccode\u003etz_mode\u003c/code\u003e across Client, QueryContext, and all query methods. The new \u003ccode\u003etz_mode\u003c/code\u003e parameter accepts string values: \u003ccode\u003e\u0026quot;naive_utc\u0026quot;\u003c/code\u003e (default, was \u003ccode\u003eFalse\u003c/code\u003e), \u003ccode\u003e\u0026quot;aware\u0026quot;\u003c/code\u003e (was \u003ccode\u003eTrue\u003c/code\u003e), and \u003ccode\u003e\u0026quot;schema\u0026quot;\u003c/code\u003e (unchanged). The old \u003ccode\u003eutc_tz_aware\u003c/code\u003e parameter is still accepted but emits a \u003ccode\u003eDeprecationWarning\u003c/code\u003e and will be removed in 1.0. Passing both \u003ccode\u003etz_mode\u003c/code\u003e and \u003ccode\u003eutc_tz_aware\u003c/code\u003e raises \u003ccode\u003eProgrammingError\u003c/code\u003e. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/654\"\u003e#654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved the deprecated \u003ccode\u003eObject('json')\u003c/code\u003e type. This was the legacy experimental JSON type that has been superseded by the new \u003ccode\u003eJSON\u003c/code\u003e type in ClickHouse. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/556\"\u003e#556\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePandas 1.x support is now deprecated and will be removed in v1.0.0. A \u003ccode\u003eDeprecationWarning\u003c/code\u003e is emitted at import time for pandas 1.x users.\u003c/li\u003e\n\u003cli\u003eThe current \u003ccode\u003eAsyncClient\u003c/code\u003e is a thread-pool wrapper around the sync client and now emits a \u003ccode\u003eFutureWarning\u003c/code\u003e on creation, pointing users to the fully native async client available as a prerelease: \u003ccode\u003epip install 'clickhouse-connect[async]==0.12.0rc1'\u003c/code\u003e. This prerelease branch is based on 0.11.0 and is gathering feedback ahead of 1.0.0, where it will become the default async implementation. It is a drop-in replacement with the same API surface.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for the \u003ccode\u003eSAMPLE\u003c/code\u003e clause in SQLAlchemy statements. Note: Due to a SQLAlchemy limitation, only one hint (SAMPLE or FINAL) can be applied per table; chaining both will silently ignore one. For now, this change enables use of sample(), but chaining with final() is not yet supported.  Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/634\"\u003e#634\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eExperimental:\u003c/strong\u003e Added Python 3.14 free-threading (cp314t) wheel builds for all platforms. The full test suite currently (as of 2 MAR, 2026) passes under free-threaded Python, but is not added to the CI test matrix at this time nor has it been otherwise tested to any degree. Free-threading support should be considered experimental with no guarantees of correctness at this time. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/573\"\u003e#573\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.13.0, 2026-02-26\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBREAKING CHANGE: Implement native write path for \u003ccode\u003eVariant\u003c/code\u003e data type with type-aware dispatching.\nPreviously, all values inserted into a \u003ccode\u003eVariant\u003c/code\u003e column were stringified and sent to the server, which\nwould store them in the \u003ccode\u003eString\u003c/code\u003e member if present, or attempt server-side conversion otherwise. Values\nare now serialized using their native ClickHouse types client-side (e.g. inserting \u003ccode\u003e100\u003c/code\u003e into\n\u003ccode\u003eVariant(Int64, String)\u003c/code\u003e stores \u003ccode\u003eInt64(100)\u003c/code\u003e instead of \u003ccode\u003eString(\u0026quot;100\u0026quot;)\u003c/code\u003e). Key changes:\n\u003cul\u003e\n\u003cli\u003eValues that don't match any variant member now raise \u003ccode\u003eDataError\u003c/code\u003e instead of being stringified and\ndelegated to the server.\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003etyped_variant(value, 'TypeName')\u003c/code\u003e helper is provided for cases where automatic dispatch\ncannot resolve the target type, such as when multiple variant members map to the same Python\ntype (e.g. \u003ccode\u003eArray(UInt32)\u003c/code\u003e vs \u003ccode\u003eArray(String)\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eutc_tz_aware=\u0026quot;schema\u0026quot;\u003c/code\u003e mode which returns timezone-aware datetimes only when the server's column schema explicitly defines a timezone (e.g. \u003ccode\u003eDateTime('UTC')\u003c/code\u003e), and naive datetimes for bare \u003ccode\u003eDateTime\u003c/code\u003e columns. This matches the ClickHouse schema definition exactly. Not yet supported for Arrow-based query methods. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/645\"\u003e#645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd type annotations to public API methods in \u003ccode\u003eClient\u003c/code\u003e, \u003ccode\u003eAsyncClient\u003c/code\u003e, \u003ccode\u003eHttpClient\u003c/code\u003e, and \u003ccode\u003eQueryResult\u003c/code\u003e. Ref \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/567\"\u003e#567\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003edict_add\u003c/code\u003e parameter typed as builtin \u003ccode\u003eany\u003c/code\u003e instead of \u003ccode\u003etyping.Any\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRecognize \u003ccode\u003eUPDATE\u003c/code\u003e as a command so lightweight updates work correctly via \u003ccode\u003eclient.query()\u003c/code\u003e and SQLAlchemy.\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: \u003ccode\u003eGROUP BY\u003c/code\u003e now renders label aliases instead of full expressions which avoids circular reference errors when an alias shadows a source column name in ClickHouse.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.11.0, 2026-02-10\u003c/h2\u003e\n\u003ch3\u003ePython 3.9 Deprecation\u003c/h3\u003e\n\u003cp\u003ePython 3.9 EOL'd Oct 2025. Support for Python 3.9 is now softly deprecated and has been removed from our CI test matrix but\ndistribution wheels will continue to be built until the 1.0 release or until the builds naturally fail, whichever comes first.\nA \u003ccode\u003eDeprecationWarning\u003c/code\u003e will now be displayed when initializing the client on Python 3.9. Users should plan to upgrade to\nPython 3.10+ as 3.9 compatibility may break unexpectedly in future updates.\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where settings matching server defaults were not stored on client during initialization. Explicitly setting a default value is now respected (e.g., to prevent ClickHouse from auto-enabling optimizations). Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/638\"\u003e#638\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRaise OperationalError when ResponseSource hits network failure before any data is received. Previously, empty result would be returned. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/620\"\u003e#620\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix issue with DROP table in client temp table test.\u003c/li\u003e\n\u003cli\u003eFixed a bug where InsertContext state was not reset on insert failure, leading to reuse errors when data was passed separately.\u003c/li\u003e\n\u003cli\u003eFixed UTC-equivalent timezone recognition issue where servers returning \u003ccode\u003eEtc/UCT\u003c/code\u003e, \u003ccode\u003eGMT\u003c/code\u003e, or other UTC-equivalent timezone names caused inconsistent behavior with \u003ccode\u003eutc_tz_aware=False\u003c/code\u003e. DateTime columns with explicit UTC timezones now correctly return naive datetimes when \u003ccode\u003eutc_tz_aware=False\u003c/code\u003e regardless of the specific UTC-equivalent timezone name returned by the server. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/629\"\u003e#629\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/2dda7152c59b417b4b153d1dd8a061d475ae7c2f\"\u003e\u003ccode\u003e2dda715\u003c/code\u003e\u003c/a\u003e release prep for 0.14.0 (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/673\"\u003e#673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/5d5c3f24c9f7e864536e2aac52c3b8e2349ef2a9\"\u003e\u003ccode\u003e5d5c3f2\u003c/code\u003e\u003c/a\u003e async native future warning (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/672\"\u003e#672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/436050f1b3765605848d9765e3ee0e350b4c6758\"\u003e\u003ccode\u003e436050f\u003c/code\u003e\u003c/a\u003e add bare import smoke test to CI (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/671\"\u003e#671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/a5fbad0fcbac92279874b9214024d6087e307cb0\"\u003e\u003ccode\u003ea5fbad0\u003c/code\u003e\u003c/a\u003e rename apply_server_timezone to tz_source (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/670\"\u003e#670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/01e7ca036a26458acf7a22ca170bd4a1765aa6b1\"\u003e\u003ccode\u003e01e7ca0\u003c/code\u003e\u003c/a\u003e add pandas 1.x deprecation warning for 1.0.0 (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/667\"\u003e#667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/c65f54a079c790673d7f87bb2a303784d9081b8d\"\u003e\u003ccode\u003ec65f54a\u003c/code\u003e\u003c/a\u003e rename utc_tz_aware to tz_mode (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/664\"\u003e#664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/e3ac6a4fbde2e8e613d4b89ff6714ce2743c7381\"\u003e\u003ccode\u003ee3ac6a4\u003c/code\u003e\u003c/a\u003e remove deprecated experimental Object(JSON) type (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/666\"\u003e#666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/1fbddb505a4fed4eb149c3b142a98ccbfe4440fe\"\u003e\u003ccode\u003e1fbddb5\u003c/code\u003e\u003c/a\u003e Joe/638 fix issue where sending redundant settings is skipped (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/639\"\u003e#639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/314b7c71219b7c39e2098c90211d63b8b8eacceb\"\u003e\u003ccode\u003e314b7c7\u003c/code\u003e\u003c/a\u003e Add Python 3.14 free-threading (cp314t) wheel builds (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/660\"\u003e#660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/0a93e44be05a108fcd35d28814cfd478a95a4994\"\u003e\u003ccode\u003e0a93e44\u003c/code\u003e\u003c/a\u003e assert summary plumbing works e2e through sqa cursor (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/659\"\u003e#659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.10.0...v0.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `couchbase` from 4.3.6 to 4.5.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/9338788daddf9ff1755bfcd86d845ddc8d331860\"\u003e\u003ccode\u003e9338788\u003c/code\u003e\u003c/a\u003e Update C++ core to 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/c3504fa193467a3eec47b23b16f12806fbebf9c1\"\u003e\u003ccode\u003ec3504fa\u003c/code\u003e\u003c/a\u003e PYCBC-1705: Fix FLE imports and exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/70fbc324ec9379cce5652a16ba1a2252efb0cabb\"\u003e\u003ccode\u003e70fbc32\u003c/code\u003e\u003c/a\u003e Update C++ core to 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/9b9164f8e42cca942439049301fd738317fcb1d5\"\u003e\u003ccode\u003e9b9164f\u003c/code\u003e\u003c/a\u003e PYCBC-1711: Don't set bucketType, replicaIndex, flushEnabled when creating bu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/5319285921c7077baf8f347b6cf0377d363d5c26\"\u003e\u003ccode\u003e5319285\u003c/code\u003e\u003c/a\u003e PYCBC-1704: Allow eventing function mgmt test fixtures to ignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/970621968dd2b3463cc450c49c1479297ea087a5\"\u003e\u003ccode\u003e9706219\u003c/code\u003e\u003c/a\u003e Update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/5485046fd3cd853c695d17a999aff9842de3c83e\"\u003e\u003ccode\u003e5485046\u003c/code\u003e\u003c/a\u003e Update eventing mgmt tests for recent 8.0 changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/1351bfae64ddf50e942ee52360735a6961ed076d\"\u003e\u003ccode\u003e1351bfa\u003c/code\u003e\u003c/a\u003e PYCBC-1699: Update SDK Build Setup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/83478e273fcee4748115b949d6809973519343a4\"\u003e\u003ccode\u003e83478e2\u003c/code\u003e\u003c/a\u003e Search User Experience Improvements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/593019056f414ea452f32a229a3c46d24e738285\"\u003e\u003ccode\u003e5930190\u003c/code\u003e\u003c/a\u003e PYCBC-1698: Improve Jenkins Integration Tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/couchbase/couchbase-python-client/compare/4.3.6...4.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `elasticsearch` from 8.14.0 to 9.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/elastic/elasticsearch-py/releases\"\u003eelasticsearch's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.3.0\u003c/h2\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epack_dense_vector\u003c/code\u003e helper function to pack dense vectors for efficient uploading (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3219\"\u003e#3219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNew and updated ES|QL functions in the ES|QL query builder for 9.3 and Serverless (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3266\"\u003e#3266\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAPI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ecat.circuit_breaker\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eesql.get_view\u003c/code\u003e, \u003ccode\u003eesql.put_view\u003c/code\u003e and \u003ccode\u003eesql.delete_view\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eindices.get_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.put_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.delete_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.get_all_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.get_sample\u003c/code\u003e, \u003ccode\u003eindices.get_sample_stats\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003einference.put_groq\u003c/code\u003e, \u003ccode\u003einference.put_openshift_ai\u003c/code\u003e, \u003ccode\u003einference.put_nvidia\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003edownsampling_method\u003c/code\u003e argument to \u003ccode\u003eindices.put_data_lifecycle\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ereturn_documents\u003c/code\u003e and \u003ccode\u003etop_n\u003c/code\u003e arguments to \u003ccode\u003einference.rerank\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eclose_job\u003c/code\u003e argument to \u003ccode\u003eml.stop_datafeed\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecertificate_identity\u003c/code\u003e to \u003ccode\u003esecurity.create_cross_cluster_api_key\u003c/code\u003e and \u003ccode\u003esecurity.update_cross_cluster_api_key\u003c/code\u003e APIs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServerless-specific\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eproject_routing\u003c/code\u003e argument to \u003ccode\u003eproject.tags\u003c/code\u003e API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDSL\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eNumpyDenseVector\u003c/code\u003e field, with support for dense vectors based on numpy arrays (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3218\"\u003e#3218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eExponentialHistogram\u003c/code\u003e field\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003etime_series_metric\u003c/code\u003e argument to \u003ccode\u003eHistogram\u003c/code\u003e field\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eon_disk_rescore\u003c/code\u003e argument from \u003ccode\u003eDenseVectorIndexOptions\u003c/code\u003e type\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eslices\u003c/code\u003e argument to \u003ccode\u003eUpdateByQueryResponse\u003c/code\u003e type\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.2.1\u003c/h2\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInstrument ping with OTel (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3160\"\u003e#3160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake positional arguments in DSL generated classes explicit  (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3233\"\u003e#3233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd warnings for private APIs (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3212\"\u003e#3212\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eES|QL query builder: fix missing assignment (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3151\"\u003e#3151\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse relative imports to fix \u003ccode\u003eelasticsearch9\u003c/code\u003e package imports (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3232\"\u003e#3232\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAPI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003etransform.get_node_stats\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003erequests_per_second\u003c/code\u003e argument to \u003ccode\u003edelete_by_query_rethrottle\u003c/code\u003e, \u003ccode\u003ereindex_rethrottle\u003c/code\u003e and \u003ccode\u003eupdate_by_query_rethrottle\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eallow_closed\u003c/code\u003e, \u003ccode\u003eallow_no_indices\u003c/code\u003e, \u003ccode\u003eexpand_wildcards\u003c/code\u003e, \u003ccode\u003eignore_throttled\u003c/code\u003e and \u003ccode\u003eignore_available\u003c/code\u003e arguments to \u003ccode\u003ecat.segments\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003echunking_settings\u003c/code\u003e argument to \u003ccode\u003einference.put_watsonxai\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eid\u003c/code\u003e argument to \u003ccode\u003eml.stop_trained_model_deployment\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003echunking_settings\u003c/code\u003e argument from \u003ccode\u003einference.put_anthropic\u003c/code\u003e, \u003ccode\u003einference.put_contextualai\u003c/code\u003e, \u003ccode\u003einference.put_deepseek\u003c/code\u003e APIs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/adae2d6d3d76f3ea75cd758ce64223bd76df45e5\"\u003e\u003ccode\u003eadae2d6\u003c/code\u003e\u003c/a\u003e Release 9.3.0 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3300\"\u003e#3300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/ea2227c743d7cacb474efecf4d8b84fa553f9eec\"\u003e\u003ccode\u003eea2227c\u003c/code\u003e\u003c/a\u003e Add Python 3.14 trove classifier (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3296\"\u003e#3296\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3299\"\u003e#3299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/b507e3e2d91ff0b6f8fb4a53ea23caa989677436\"\u003e\u003ccode\u003eb507e3e\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3293\"\u003e#3293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/76150204725b1495cad3348c573406fc1f3512d1\"\u003e\u003ccode\u003e7615020\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3280\"\u003e#3280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/ef8d102b3fc4d7572e0fd0bb56afe4291fddc529\"\u003e\u003ccode\u003eef8d102\u003c/code\u003e\u003c/a\u003e Stop using pytz (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3275\"\u003e#3275\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3278\"\u003e#3278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/65870f3504344ba7f67feb7721522bef936a92cf\"\u003e\u003ccode\u003e65870f3\u003c/code\u003e\u003c/a\u003e allow adding elasticsearch query filter for mmr searching (elastic#2638) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/32\"\u003e#32\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/b110f19a49ad492d2d6aa514afaac35360ac3c93\"\u003e\u003ccode\u003eb110f19\u003c/code\u003e\u003c/a\u003e Updates to ES|QL functions for 9.3 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3266\"\u003e#3266\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3272\"\u003e#3272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/f3d082788f52b5fe3c80926624fa8a61aa4deb37\"\u003e\u003ccode\u003ef3d0827\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3269\"\u003e#3269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/80818cc2640fcdf902919a3dc5500ae945d33271\"\u003e\u003ccode\u003e80818cc\u003c/code\u003e\u003c/a\u003e Auto-generated code for 9.3 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3262\"\u003e#3262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/6baa03faedefc90ccbc5f902626cc8cea46aed6a\"\u003e\u003ccode\u003e6baa03f\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3252\"\u003e#3252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/elastic/elasticsearch-py/compare/v8.14.0...v9.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oracledb` from 3.3.0 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oracle/python-oracledb/releases\"\u003eoracledb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.4.2\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.2 is now released. This release addresses a number of issues. See the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-2-january-2026\"\u003efull release notes\u003c/a\u003e for all of the details.\u003c/p\u003e\n\u003ch2\u003ev3.4.1\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.1 is now released. This release addresses a number of issues. See the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-1-november-2025\"\u003efull release notes\u003c/a\u003e for all of the details.\u003c/p\u003e\n\u003ch2\u003ev3.4.0\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.0 is now released. This release has the following highlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003esupport for Direct Path Load in thin mode for fast data ingestion\u003c/li\u003e\n\u003cli\u003esupport for data frames is no longer considered a pre-release\u003c/li\u003e\n\u003cli\u003esupport for type mapping when querying with data frames\u003c/li\u003e\n\u003cli\u003esupport for ingesting more Apache Arrow data types\u003c/li\u003e\n\u003cli\u003esupport for ingesting Apache Arrow data frames containing multiple chunks\u003c/li\u003e\n\u003cli\u003esupport for cursor.executemany() operating on large input data in batches\u003c/li\u003e\n\u003cli\u003efine-grained control over LOB and number handling\u003c/li\u003e\n\u003cli\u003enew optional install dependencies for plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-0-october-2025\"\u003efull release notes\u003c/a\u003e for all of the details.\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/oracle/python-oracledb/commit/51581eeb0a626fb3df4e25e00ddb3a28137d3831\"\u003e\u003ccode\u003e51581ee\u003c/code\u003e\u003c/a\u003e Preparing to release python-oracledb 3.4.2.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/81ceb554a0bfb52eb64b7b3870907d9b19bf15bd\"\u003e\u003ccode\u003e81ceb55\u003c/code\u003e\u003c/a\u003e Fixed bug which caused Connection.call_timeout to be reset to zero when\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/4a94025de99763fd0d16d1c2d79d416b9a075e12\"\u003e\u003ccode\u003e4a94025\u003c/code\u003e\u003c/a\u003e Eliminated memory leak when converting a third party data frame to one\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/36a29517530bfe311dab41218a3bc3d80700fe2c\"\u003e\u003ccode\u003e36a2951\u003c/code\u003e\u003c/a\u003e Fixed bug when decoding PL/SQL booleans in Oracle Database 12.1 (\u003ca href=\"https://redirect.github.com/oracle/python-oracledb/issues/565\"\u003e#565\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/6072f01b420af4c2d36c1b9f7b1421aab64ea336\"\u003e\u003ccode\u003e6072f01\u003c/code\u003e\u003c/a\u003e Grammar fix.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/f8be001d9862d6b0b6ec6158b67affef7a70556e\"\u003e\u003ccode\u003ef8be001\u003c/code\u003e\u003c/a\u003e Fixed bug causing hang when using asyncio and the database closes the\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/6e0d8b9da4b259e1b11ad648d354ca659f537a6a\"\u003e\u003ccode\u003e6e0d8b9\u003c/code\u003e\u003c/a\u003e Eliminated race condition in background thread/coroutine management for\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/40200bfa1cb9dde0977a509c84cfdde66f144358\"\u003e\u003ccode\u003e40200bf\u003c/code\u003e\u003c/a\u003e Adjusted code and tests to be capable of being run in environments other\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/36f8899fa71ebd4aec80b87f990633e86abc6b95\"\u003e\u003ccode\u003e36f8899\u003c/code\u003e\u003c/a\u003e Added support for ingesting Arrow arrays which only consist of null\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/7bf23b6c2061d20358b030104249bd703ac1832e\"\u003e\u003ccode\u003e7bf23b6\u003c/code\u003e\u003c/a\u003e Fixed bug when calling Cursor.executemany() with all of the values in at\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/oracle/python-oracledb/compare/v3.3.0...v3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pgvector` from 0.2.5 to 0.4.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md\"\u003epgvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2 (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 6\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estr\u003c/code\u003e objects for \u003ccode\u003ebit\u003c/code\u003e type with SQLAlchemy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 (2025-04-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eSparseVector\u003c/code\u003e constructor for SciPy sparse matrices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 (2025-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded top-level \u003ccode\u003epgvector\u003c/code\u003e package\u003c/li\u003e\n\u003cli\u003eAdded support for pg8000\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ebytes\u003c/code\u003e to \u003ccode\u003eBit\u003c/code\u003e constructor\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eglobally\u003c/code\u003e option to default to \u003ccode\u003eFalse\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003earrays\u003c/code\u003e option to default to \u003ccode\u003eTrue\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eFixed equality for \u003ccode\u003eVector\u003c/code\u003e, \u003ccode\u003eHalfVector\u003c/code\u003e, \u003ccode\u003eBit\u003c/code\u003e, and \u003ccode\u003eSparseVector\u003c/code\u003e classes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eindices\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods of \u003ccode\u003eSparseVector\u003c/code\u003e returning tuple instead of list in some cases\u003c/li\u003e\n\u003cli\u003eDropped support for Python \u0026lt; 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 (2024-10-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003earrays\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 (2024-10-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eavg\u003c/code\u003e function with type casting to SQLAlchemy\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eglobally\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.4 (2024-09-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eschema\u003c/code\u003e option for asyncpg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.3 (2024-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved support for cursor factories with Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.2 (2024-07-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error with asyncpg and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.1 (2024-07-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error parsing zero sparse vectors\u003c/li\u003e\n\u003cli\u003eFixed error with Psycopg 2 and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003cli\u003eFixed error message when \u003ccode\u003evector\u003c/code\u003e type not found with Psycopg 3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.0 (2024-06-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ehalfvec\u003c/code\u003e, \u003ccode\u003ebit\u003c/code\u003e, and \u003ccode\u003esparsevec\u003c/code\u003e types to Django\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/2968f258f9486531bd1340cbda4ff8fcaf06cdc1\"\u003e\u003ccode\u003e2968f25\u003c/code\u003e\u003c/a\u003e Version bump to 0.4.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/674f5ba3410c873d49f50fa9725b95d9db50c674\"\u003e\u003ccode\u003e674f5ba\u003c/code\u003e\u003c/a\u003e Updated checkout action [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e2986daf2b1533cc2c849f7e39350e31d57ac325\"\u003e\u003ccode\u003ee2986da\u003c/code\u003e\u003c/a\u003e Added support for Django 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e211ba4029f204734f0c001fbb90f6a594d561ae\"\u003e\u003ccode\u003ee211ba4\u003c/code\u003e\u003c/a\u003e Test with Python 3.14 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/1a72b7571adf3325174b383aca85bfb3a5b925fa\"\u003e\u003ccode\u003e1a72b75\u003c/code\u003e\u003c/a\u003e Updated pgvector on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/c820a53bfb46196551de3c3f59f81b192d890574\"\u003e\u003ccode\u003ec820a53\u003c/code\u003e\u003c/a\u003e Simplified examples [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/caf1a2e0dd7a1ba2ad0ca9f09b50516dcfffcdeb\"\u003e\u003ccode\u003ecaf1a2e\u003c/code\u003e\u003c/a\u003e Added docs for binary quantization with SQLAlchemy [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/dc9a8f959995f009649fd230139ca41193e0a801\"\u003e\u003ccode\u003edc9a8f9\u003c/code\u003e\u003c/a\u003e Added test for binary quantization with re-ranking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/33dee606229489c9ffb0cb5a1cd72bd4705ac618\"\u003e\u003ccode\u003e33dee60\u003c/code\u003e\u003c/a\u003e Added support for str objects for bit type with SQLAlchemy - \u003ca href=\"https://redirect.github.com/pgvector/pgvector-python/issues/137\"\u003e#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/ee3e71ca2c07a12a8332a3877c0ce14adc9a5da8\"\u003e\u003ccode\u003eee3e71c\u003c/code\u003e\u003c/a\u003e Updated format for license identifier\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgvector/pgvector-python/compare/v0.2.5...v0.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymilvus` from 2.5.17 to 2.6.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/milvus-io/pymilvus/releases\"\u003epymilvus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePyMilvus v2.6.9 Release Notes\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003efix: pass context to \u003ccode\u003edescribe_collection\u003c/code\u003e in \u003ccode\u003eSearchIteratorV2\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3271\"\u003e#3271\u003c/a\u003e) — Forward \u003ccode\u003ekwargs\u003c/code\u003e (including \u003ccode\u003econtext\u003c/code\u003e carrying \u003ccode\u003edb_name\u003c/code\u003e) from \u003ccode\u003eSearchIteratorV2.__init__\u003c/code\u003e to \u003ccode\u003edescribe_collection\u003c/code\u003e, matching the existing \u003ccode\u003eQueryIterator\u003c/code\u003e pattern. Without this fix, \u003ccode\u003eSearchIteratorV2\u003c/code\u003e always queries the \u003ccode\u003edefault\u003c/code\u003e database, causing \u0026quot;can't find collection\u0026quot; errors for non-default databases.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003efix: unpack \u003ccode\u003e_get_schema\u003c/code\u003e tuple return in \u003ccode\u003e_list_vector_indexes\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3275\"\u003e#3275\u003c/a\u003e) — Fix tuple unpacking issue in \u003ccode\u003e_list_vector_indexes\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eenhance: optimize gRPC keepalive defaults and support user-configurable \u003ccode\u003egrpc_options\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3258\"\u003e#3258\u003c/a\u003e) — Improve gRPC keepalive defaults and allow users to configure gRPC channel options.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eenhance: support warmup type params for \u003ccode\u003eFieldSchema\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3255\"\u003e#3255\u003c/a\u003e) — Add warmup type parameter support in field schema definitions.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTests\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eenhance: increase unit test coverage\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3233\"\u003e#3233\u003c/a\u003e) — Comprehensive tests added for \u003ccode\u003eclient/types.py\u003c/code\u003e, iterator utilities, \u003ccode\u003eorm/utility.py\u003c/code\u003e, request builder methods, \u003ccode\u003eclient/abstract.py\u003c/code\u003e, decorators, and \u003ccode\u003eclient/utils.py\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/milvus-io/pymilvus/compare/v2.6.8...v2.6.9\"\u003ehttps://github.com/milvus-io/pymilvus/compare/v2.6.8...v2.6.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePyMilvus v2.6.8 Release Notes\u003c/h2\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eParse dbname from uri\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3247\"\u003e#3247\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🔧 Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eRemove the usage of grpcio-testing\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3225\"\u003e#3225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eExclude data generation time from benchmark\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3246\"\u003e#3246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eOptimize search result performance (Hit class, HybridHits init)\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3248\"\u003e#3248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAdd channel_state and debug_error_string to gRPC error diagnostics\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3249\"\u003e#3249\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📝 Contributors\u003c/h2\u003e\n\u003cp\u003eWe would like to thank all contributors who made this release possible:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/XuanYang-cn\"\u003e\u003ccode\u003e@​XuanYang-cn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pymilvus-bot\"\u003e\u003ccode\u003e@​pymilvus-bot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zhuwenxing\"\u003e\u003ccode\u003e@​zhuwenxing\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sijie-ni-0214\"\u003e\u003ccode\u003e@​sijie-ni-0214\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/milvus-io/pymilvus/compare/v2.6.7...v2.6.8\"\u003ehttps://github.com/milvus-io/pymilvus/compare/v2.6.7...v2.6.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePyMilvus v2.6.7 Release Notes\u003c/h2\u003e\n\u003ch2\u003e🎉 New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSupport semantic-highlighter\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3180\"\u003e#3180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSupport async client list_persistent_segments\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3207\"\u003e#3207\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\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/milvus-io/pymilvus/commit/93bd7d75da6963878435d933f6af6dcdf73135e0\"\u003e\u003ccode\u003e93bd7d7\u003c/code\u003e\u003c/a\u003e [Backport 2.6] fix: unpack _get_schema tuple return in _list_vector_indexes (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/c1200a4b38daa909b0a181a960032cfd60c6e008\"\u003e\u003ccode\u003ec1200a4\u003c/code\u003e\u003c/a\u003e fix: pass context to describe_collection in SearchIteratorV2 (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3271\"\u003e#3271\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3274\"\u003e#3274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/bc8c7074f9340a5b65cfc400d46a4e0d26c9c113\"\u003e\u003ccode\u003ebc8c707\u003c/code\u003e\u003c/a\u003e [Backport 2.6] enhance: optimize gRPC keepalive defaults and support user-con...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/111eae33dfe05f825808a61c494fba3b508c19ca\"\u003e\u003ccode\u003e111eae3\u003c/code\u003e\u003c/a\u003e [Backport 2.6] support warmup type params for fieldschema (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3255\"\u003e#3255\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3256\"\u003e#3256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/7e634e604352634a0cb13922f9614e14592767f7\"\u003e\u003ccode\u003e7e634e6\u003c/code\u003e\u003c/a\u003e enhance: Add ut to increase ut coverage (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3233\"\u003e#3233\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3254\"\u003e#3254\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/3e482a8b73bf23f8571e5a72eeec0c8c881b8c3a\"\u003e\u003ccode\u003e3e482a8\u003c/code\u003e\u003c/a\u003e fix: Correct milvus-proto commit (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3252\"\u003e#3252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/b06fc4e5a3f59682831f3768413bfeb6ebc8f679\"\u003e\u003ccode\u003eb06fc4e\u003c/code\u003e\u003c/a\u003e [Backport 2.6] enhance: add channel_state and debug_error_string to gRPC erro...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/64de51d42164b3e099498d5af0a767fc620ddf76\"\u003e\u003ccode\u003e64de51d\u003c/code\u003e\u003c/a\u003e [Backport 2.6] [enhance]:Optimize search result performance (Hit class, Hybri...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/c27f496b3db03489e942e831e2e856536ffd8f58\"\u003e\u003ccode\u003ec27f496\u003c/code\u003e\u003c/a\u003e [Backport 2.6] fix:parse dbname from uri (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3237\"\u003e#3237\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3247\"\u003e#3247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/26bd0fc7a3166f85604f5e59474507f183ea3d58\"\u003e\u003ccode\u003e26bd0fc\u003c/code\u003e\u003c/a\u003e feat: [2.6] support truncate collection api (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3238\"\u003e#3238\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/milvus-io/pymilvus/compare/v2.5.17...v2.6.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymochow` from 2.2.9 to 2.3.6\n\nUpdates `pyobvector` from 0.2.20 to 0.2.25\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oceanbase/pyobvector/releases\"\u003epyobvector's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e...\n\n_Description has been truncated_","html_url":"https://github.com/langgenius/dify/pull/33326","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/langgenius%2Fdify/issues/33326","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/33326/packages"}},{"old_version":"0.2.5","new_version":"0.4.2","update_type":"minor","path":"/api","pr_created_at":"2026-03-11T15:00:07.000Z","version_change":"0.2.5 → 0.4.2","issue":{"uuid":"4058762096","node_id":"PR_kwDOJVxJus7JvJpy","number":33311,"state":"open","title":"chore(deps): bump the vdb group in /api with 16 updates","user":"dependabot[bot]","labels":["dependencies","size:M","python"],"assignees":[],"locked":false,"comments_count":6,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-11T15:00:07.000Z","updated_at":"2026-03-11T18:01:00.766Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"vdb","update_count":16,"packages":[{"name":"weaviate-client","old_version":"4.17.0","new_version":"4.20.4","repository_url":"https://github.com/weaviate/weaviate-python-client"},{"name":"elasticsearch","old_version":"8.14.0","new_version":"9.3.0","repository_url":"https://github.com/elastic/elasticsearch-py"},{"name":"oracledb","old_version":"3.3.0","new_version":"3.4.2","repository_url":"https://github.com/oracle/python-oracledb"},{"name":"pgvector","old_version":"0.2.5","new_version":"0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"},{"name":"pymochow","old_version":"2.2.9","new_version":"2.3.6"},{"name":"qdrant-client","old_version":"1.9.0","new_version":"1.17.0","repository_url":"https://github.com/qdrant/qdrant-client"},{"name":"tablestore","old_version":"6.3.7","new_version":"6.4.1","repository_url":"https://github.com/aliyun/aliyun-tablestore-python-sdk"},{"name":"tidb-vector","old_version":"0.0.9","new_version":"0.0.15"},{"name":"upstash-vector","old_version":"0.6.0","new_version":"0.8.0","repository_url":"https://github.com/upstash/vector-py"}],"path":"/api","ecosystem":"pip"},"body":"Updates the requirements on [weaviate-client](https://github.com/weaviate/weaviate-python-client), [alibabacloud-gpdb20160503](https://github.com/aliyun/alibabacloud-python-sdk), [alibabacloud-tea-openapi](https://github.com/aliyun/darabonba-openapi), [clickhouse-connect](https://github.com/ClickHouse/clickhouse-connect), [couchbase](https://github.com/couchbase/couchbase-python-client), [elasticsearch](https://github.com/elastic/elasticsearch-py), [oracledb](https://github.com/oracle/python-oracledb), [pgvector](https://github.com/pgvector/pgvector-python), [pymilvus](https://github.com/milvus-io/pymilvus), [pymochow](http://bce.baidu.com), [qdrant-client](https://github.com/qdrant/qdrant-client), [tablestore](https://github.com/aliyun/aliyun-tablestore-python-sdk), tcvectordb, tidb-vector, [upstash-vector](https://github.com/upstash/vector-py) and [xinference-client](https://github.com/xorbitsai/inference-client) to permit the latest version.\nUpdates `weaviate-client` from 4.17.0 to 4.20.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weaviate/weaviate-python-client/releases\"\u003eweaviate-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.20.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump authlib to 1.6.9 to avoid high cve by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1975\"\u003eweaviate/weaviate-python-client#1975\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.2...v4.20.3\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.2...v4.20.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eperf: use deque for iterator object cache by \u003ca href=\"https://github.com/giulio-leone\"\u003e\u003ccode\u003e@​giulio-leone\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1968\"\u003eweaviate/weaviate-python-client#1968\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eexpose include_last_used_time parameter, return created_at and api_key_first_letters by \u003ca href=\"https://github.com/dudanogueira\"\u003e\u003ccode\u003e@​dudanogueira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1965\"\u003eweaviate/weaviate-python-client#1965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for incremental backups by \u003ca href=\"https://github.com/dirkkul\"\u003e\u003ccode\u003e@​dirkkul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1928\"\u003eweaviate/weaviate-python-client#1928\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/giulio-leone\"\u003e\u003ccode\u003e@​giulio-leone\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1968\"\u003eweaviate/weaviate-python-client#1968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.1...v4.20.2\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.1...v4.20.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix empty list filter raising IndexError instead of WeaviateInvalidInputError by \u003ca href=\"https://github.com/dirkkul\"\u003e\u003ccode\u003e@​dirkkul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1962\"\u003eweaviate/weaviate-python-client#1962\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.20.0...v4.20.1\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.20.0...v4.20.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eflat index: Add support for RQ and include cache param by \u003ca href=\"https://github.com/rlmanrique\"\u003e\u003ccode\u003e@​rlmanrique\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1844\"\u003eweaviate/weaviate-python-client#1844\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003ecollection.data.ingest\u003c/code\u003e for sync/async SSB usage by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1876\"\u003eweaviate/weaviate-python-client#1876\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd delete_property_index to collection config by \u003ca href=\"https://github.com/DanielJanicek\"\u003e\u003ccode\u003e@​DanielJanicek\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1940\"\u003eweaviate/weaviate-python-client#1940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid id invalidation in nested properties by \u003ca href=\"https://github.com/dudanogueira\"\u003e\u003ccode\u003e@​dudanogueira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1952\"\u003eweaviate/weaviate-python-client#1952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide options allowing users to specify custom grpc SSL credentials by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1946\"\u003eweaviate/weaviate-python-client#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for cancelling backup restore ops by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1956\"\u003eweaviate/weaviate-python-client#1956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove cache option from SQConfig, deprecate field in factory method by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1954\"\u003eweaviate/weaviate-python-client#1954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow imgs/img_props in cohere generative config runtime by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1955\"\u003eweaviate/weaviate-python-client#1955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce async repl conf in (re)configure and unit tests of usage by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1953\"\u003eweaviate/weaviate-python-client#1953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Hfresh index type by \u003ca href=\"https://github.com/robbespo00\"\u003e\u003ccode\u003e@​robbespo00\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1848\"\u003eweaviate/weaviate-python-client#1848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Cluster Statistics (client.cluster.statistics()) by \u003ca href=\"https://github.com/Shah91n\"\u003e\u003ccode\u003e@​Shah91n\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1959\"\u003eweaviate/weaviate-python-client#1959\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/Shah91n\"\u003e\u003ccode\u003e@​Shah91n\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1959\"\u003eweaviate/weaviate-python-client#1959\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.19.4...v4.20.0\"\u003ehttps://github.com/weaviate/weaviate-python-client/compare/v4.19.4...v4.20.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.19.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd gRPC ping check to is_live method  by \u003ca href=\"https://github.com/sylvinho81\"\u003e\u003ccode\u003e@​sylvinho81\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1949\"\u003eweaviate/weaviate-python-client#1949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-raise in \u003ccode\u003ecollection.exists()\u003c/code\u003e if status code is not 404 by \u003ca href=\"https://github.com/tsmith023\"\u003e\u003ccode\u003e@​tsmith023\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/pull/1950\"\u003eweaviate/weaviate-python-client#1950\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/weaviate/weaviate-python-client/blob/main/docs/changelog.rst\"\u003eweaviate-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 4.20.4\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Include client version in GRPC requests\n- Add support for the new \u003ccode\u003emulti2vec_google_gemini\u003c/code\u003e module\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.3\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Update of \u003ccode\u003eauthlib\u003c/code\u003e dependency\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.2\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Support for incremental backups\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.1\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Raise an input error when filtering on an empty list\u003c/p\u003e\n\u003ch2\u003eVersion 4.20.0\u003c/h2\u003e\n\u003cp\u003eThis minor version includes:\n- Support for new 1.36 features:\n- Server-side batching (SSB) is now GA via \u003ccode\u003ebatch.stream\u003c/code\u003e (\u003ccode\u003ebatch.experimental\u003c/code\u003e is deprecated)\n- Add \u003ccode\u003ecollection.data.ingest\u003c/code\u003e as a new entry point for SSB usage in sync and async clients\n- Add support for the new HFresh index type\n- Add support for async replication configuration\n- Add support for cancelling backup restore operations\n- Add \u003ccode\u003ecollection.config.delete_property_index\u003c/code\u003e to drop filterable, searchable, or range filter indices from properties\n- Add \u003ccode\u003eclient.cluster.statistics()\u003c/code\u003e method for retrieving cluster and Raft statistics\n- Allow \u003ccode\u003eimages\u003c/code\u003e and \u003ccode\u003eimage_properties\u003c/code\u003e in Cohere generative config at runtime\n- Provide options to specify custom gRPC SSL credentials for advanced connection setups\n- Remove \u003ccode\u003ecache\u003c/code\u003e option from \u003ccode\u003eSQConfig\u003c/code\u003e and deprecate the field in the factory method\n- Fix validation of nested object properties to allow \u003ccode\u003eid\u003c/code\u003e as a nested property name\u003c/p\u003e\n\u003ch2\u003eVersion 4.19.4\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Adds the gRPC healthcheck ping to the \u003ccode\u003eis_live()\u003c/code\u003e method of the async client to provide a more accurate check of the connection status of the async client\n- Fixes bug where exceptions raised in \u003ccode\u003ecollections.exists()\u003c/code\u003e were silently ignored and the method would return \u003ccode\u003eFalse\u003c/code\u003e instead of raising the exception\u003c/p\u003e\n\u003ch2\u003eVersion 4.19.3\u003c/h2\u003e\n\u003cp\u003eThis patch version includes:\n- Add support for VoyageAI voyage-4 model family (voyage-4, voyage-4-lite, voyage-4-large)\n- A fix for async client connection issues when \u003ccode\u003epypi\u003c/code\u003e is down\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/weaviate/weaviate-python-client/commit/c0b796e07af0fef5555d37cf78a9a47dae62bb0c\"\u003e\u003ccode\u003ec0b796e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1982\"\u003e#1982\u003c/a\u003e from weaviate/changelog_4_20_4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/dfa8ae431413db4bb66ad2054487018b3362f360\"\u003e\u003ccode\u003edfa8ae4\u003c/code\u003e\u003c/a\u003e Add changelog for v4.20.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/3a0958c19133ecb10565b66d4d0d4ab818d7a619\"\u003e\u003ccode\u003e3a0958c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1977\"\u003e#1977\u003c/a\u003e from weaviate/multi2vec-google-aistudio-vectorizer-c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/106f22584de2bc00f347534c19661af997112583\"\u003e\u003ccode\u003e106f225\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into multi2vec-google-aistudio-vectorizer-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/5ca709e0c068ae8531368d489062169cd7b9306d\"\u003e\u003ccode\u003e5ca709e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1980\"\u003e#1980\u003c/a\u003e from weaviate/client_version_grpc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/55e56f06bf0444fb4caf9f31da7b61dad10ef291\"\u003e\u003ccode\u003e55e56f0\u003c/code\u003e\u003c/a\u003e Dont overwrite version from additional headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/79ee3d030a8c9829c0ea3ca8240ebcdefe710647\"\u003e\u003ccode\u003e79ee3d0\u003c/code\u003e\u003c/a\u003e Add client version to GRPC headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/2ccdaa109a8ba599bec569b489aca3497087869e\"\u003e\u003ccode\u003e2ccdaa1\u003c/code\u003e\u003c/a\u003e chore: rename multi2vec_google_aistudio config to multi2vec_google_gemini\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/ce633119510d6b8ae71dec0310d4a5d08700e172\"\u003e\u003ccode\u003ece63311\u003c/code\u003e\u003c/a\u003e feat: add multi2vec_google_aistudio vectorizer config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/weaviate/weaviate-python-client/commit/db8a91c514b042dda0871eeb7a27cc9c65f70e71\"\u003e\u003ccode\u003edb8a91c\u003c/code\u003e\u003c/a\u003e Bump authlib to 1.6.9 to avoid high cve (\u003ca href=\"https://redirect.github.com/weaviate/weaviate-python-client/issues/1975\"\u003e#1975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/weaviate/weaviate-python-client/compare/v4.17.0...v4.20.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alibabacloud-gpdb20160503` to 5.0.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aliyun/alibabacloud-python-sdk/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `alibabacloud-tea-openapi` to 0.4.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aliyun/darabonba-openapi/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `clickhouse-connect` to 0.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/releases\"\u003eclickhouse-connect's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.0\u003c/h2\u003e\n\u003ch2\u003eHigh level notes\u003c/h2\u003e\n\u003cp\u003eThis release is primarily focused on preparing the path to 1.0.0. It introduces a handful of breaking changes and deprecation warnings for APIs that will be removed or finalized in 1.0.0. If your code uses any of the deprecated parameters, you'll now see \u003ccode\u003eDeprecationWarning\u003c/code\u003es with clear migration guidance and highly recommend addressing these before upgrading to 1.0.0 when it ships.\u003c/p\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eapply_server_timezone\u003c/code\u003e renamed to \u003ccode\u003etz_source\u003c/code\u003e. Options are \u003ccode\u003e\u0026quot;auto\u0026quot;\u003c/code\u003e (the default), \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e, or \u003ccode\u003e\u0026quot;local\u0026quot;\u003c/code\u003e. The old parameter currently still works with a deprecation warning. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/670\"\u003eClickHouse/clickhouse-connect#670\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eutc_tz_aware\u003c/code\u003e renamed to \u003ccode\u003etz_mode\u003c/code\u003e. Options are \u003ccode\u003e\u0026quot;naive_utc\u0026quot;\u003c/code\u003e (the default), \u003ccode\u003e\u0026quot;aware\u0026quot;\u003c/code\u003e, or \u003ccode\u003e\u0026quot;schema\u0026quot;\u003c/code\u003e. The old parameter still currently still works with a deprecation warning. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/664\"\u003eClickHouse/clickhouse-connect#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003eObject('json')\u003c/code\u003e type. This was a legacy experimental JSON type has been removed in favor of the new JSON type in ClickHouse. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/666\"\u003eClickHouse/clickhouse-connect#666\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeprecations\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePandas 1.x support is deprecated and will be removed in 1.0.0. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/667\"\u003eClickHouse/clickhouse-connect#667\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThere's a async-native client based on clickhouse-connect v0.11.0 that is \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/releases/tag/v0.12.0rc1\"\u003eavailable\u003c/a\u003e for testing via \u003ccode\u003epip install clickhouse_connect[async]==0.12.0rc1\u003c/code\u003e. A \u003ccode\u003eFutureWarning\u003c/code\u003e advertising this will now be emitted on creation of the (to be legacy) async client. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/672\"\u003eClickHouse/clickhouse-connect#672\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eExperimental\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.14 free-threading (cp314t) wheel builds for all platforms. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/660\"\u003eClickHouse/clickhouse-connect#660\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where sending redundant settings is skipped. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/639\"\u003eClickHouse/clickhouse-connect#639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eSAMPLE\u003c/code\u003e in SQLAlchemy dialect. \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/656\"\u003eClickHouse/clickhouse-connect#656\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/bsushmith\"\u003e\u003ccode\u003e@​bsushmith\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/pull/656\"\u003eClickHouse/clickhouse-connect#656\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.13.0...v0.14.0\"\u003ehttps://github.com/ClickHouse/clickhouse-connect/compare/v0.13.0...v0.14.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/ClickHouse/clickhouse-connect/blob/main/CHANGELOG.md\"\u003eclickhouse-connect's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.0, 2026-03-09\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRenamed \u003ccode\u003eapply_server_timezone\u003c/code\u003e parameter to \u003ccode\u003etz_source\u003c/code\u003e across Client and HttpClient. The new \u003ccode\u003etz_source\u003c/code\u003e parameter accepts string values: \u003ccode\u003e\u0026quot;auto\u0026quot;\u003c/code\u003e (default, was \u003ccode\u003eNone\u003c/code\u003e), \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e (was \u003ccode\u003eTrue\u003c/code\u003e or \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e), and \u003ccode\u003e\u0026quot;local\u0026quot;\u003c/code\u003e (was \u003ccode\u003eFalse\u003c/code\u003e). The old \u003ccode\u003eapply_server_timezone\u003c/code\u003e parameter is still accepted but emits a \u003ccode\u003eDeprecationWarning\u003c/code\u003e and will be removed in 1.0. Passing both \u003ccode\u003etz_source\u003c/code\u003e and \u003ccode\u003eapply_server_timezone\u003c/code\u003e raises \u003ccode\u003eProgrammingError\u003c/code\u003e. The \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e value (which had no distinct runtime behavior from \u003ccode\u003eTrue\u003c/code\u003e) maps to \u003ccode\u003e\u0026quot;server\u0026quot;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRenamed \u003ccode\u003eutc_tz_aware\u003c/code\u003e parameter to \u003ccode\u003etz_mode\u003c/code\u003e across Client, QueryContext, and all query methods. The new \u003ccode\u003etz_mode\u003c/code\u003e parameter accepts string values: \u003ccode\u003e\u0026quot;naive_utc\u0026quot;\u003c/code\u003e (default, was \u003ccode\u003eFalse\u003c/code\u003e), \u003ccode\u003e\u0026quot;aware\u0026quot;\u003c/code\u003e (was \u003ccode\u003eTrue\u003c/code\u003e), and \u003ccode\u003e\u0026quot;schema\u0026quot;\u003c/code\u003e (unchanged). The old \u003ccode\u003eutc_tz_aware\u003c/code\u003e parameter is still accepted but emits a \u003ccode\u003eDeprecationWarning\u003c/code\u003e and will be removed in 1.0. Passing both \u003ccode\u003etz_mode\u003c/code\u003e and \u003ccode\u003eutc_tz_aware\u003c/code\u003e raises \u003ccode\u003eProgrammingError\u003c/code\u003e. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/654\"\u003e#654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved the deprecated \u003ccode\u003eObject('json')\u003c/code\u003e type. This was the legacy experimental JSON type that has been superseded by the new \u003ccode\u003eJSON\u003c/code\u003e type in ClickHouse. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/556\"\u003e#556\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePandas 1.x support is now deprecated and will be removed in v1.0.0. A \u003ccode\u003eDeprecationWarning\u003c/code\u003e is emitted at import time for pandas 1.x users.\u003c/li\u003e\n\u003cli\u003eThe current \u003ccode\u003eAsyncClient\u003c/code\u003e is a thread-pool wrapper around the sync client and now emits a \u003ccode\u003eFutureWarning\u003c/code\u003e on creation, pointing users to the fully native async client available as a prerelease: \u003ccode\u003epip install 'clickhouse-connect[async]==0.12.0rc1'\u003c/code\u003e. This prerelease branch is based on 0.11.0 and is gathering feedback ahead of 1.0.0, where it will become the default async implementation. It is a drop-in replacement with the same API surface.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for the \u003ccode\u003eSAMPLE\u003c/code\u003e clause in SQLAlchemy statements. Note: Due to a SQLAlchemy limitation, only one hint (SAMPLE or FINAL) can be applied per table; chaining both will silently ignore one. For now, this change enables use of sample(), but chaining with final() is not yet supported.  Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/634\"\u003e#634\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eExperimental:\u003c/strong\u003e Added Python 3.14 free-threading (cp314t) wheel builds for all platforms. The full test suite currently (as of 2 MAR, 2026) passes under free-threaded Python, but is not added to the CI test matrix at this time nor has it been otherwise tested to any degree. Free-threading support should be considered experimental with no guarantees of correctness at this time. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/573\"\u003e#573\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.13.0, 2026-02-26\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBREAKING CHANGE: Implement native write path for \u003ccode\u003eVariant\u003c/code\u003e data type with type-aware dispatching.\nPreviously, all values inserted into a \u003ccode\u003eVariant\u003c/code\u003e column were stringified and sent to the server, which\nwould store them in the \u003ccode\u003eString\u003c/code\u003e member if present, or attempt server-side conversion otherwise. Values\nare now serialized using their native ClickHouse types client-side (e.g. inserting \u003ccode\u003e100\u003c/code\u003e into\n\u003ccode\u003eVariant(Int64, String)\u003c/code\u003e stores \u003ccode\u003eInt64(100)\u003c/code\u003e instead of \u003ccode\u003eString(\u0026quot;100\u0026quot;)\u003c/code\u003e). Key changes:\n\u003cul\u003e\n\u003cli\u003eValues that don't match any variant member now raise \u003ccode\u003eDataError\u003c/code\u003e instead of being stringified and\ndelegated to the server.\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003etyped_variant(value, 'TypeName')\u003c/code\u003e helper is provided for cases where automatic dispatch\ncannot resolve the target type, such as when multiple variant members map to the same Python\ntype (e.g. \u003ccode\u003eArray(UInt32)\u003c/code\u003e vs \u003ccode\u003eArray(String)\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eutc_tz_aware=\u0026quot;schema\u0026quot;\u003c/code\u003e mode which returns timezone-aware datetimes only when the server's column schema explicitly defines a timezone (e.g. \u003ccode\u003eDateTime('UTC')\u003c/code\u003e), and naive datetimes for bare \u003ccode\u003eDateTime\u003c/code\u003e columns. This matches the ClickHouse schema definition exactly. Not yet supported for Arrow-based query methods. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/645\"\u003e#645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd type annotations to public API methods in \u003ccode\u003eClient\u003c/code\u003e, \u003ccode\u003eAsyncClient\u003c/code\u003e, \u003ccode\u003eHttpClient\u003c/code\u003e, and \u003ccode\u003eQueryResult\u003c/code\u003e. Ref \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/567\"\u003e#567\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003edict_add\u003c/code\u003e parameter typed as builtin \u003ccode\u003eany\u003c/code\u003e instead of \u003ccode\u003etyping.Any\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRecognize \u003ccode\u003eUPDATE\u003c/code\u003e as a command so lightweight updates work correctly via \u003ccode\u003eclient.query()\u003c/code\u003e and SQLAlchemy.\u003c/li\u003e\n\u003cli\u003eSQLAlchemy: \u003ccode\u003eGROUP BY\u003c/code\u003e now renders label aliases instead of full expressions which avoids circular reference errors when an alias shadows a source column name in ClickHouse.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.11.0, 2026-02-10\u003c/h2\u003e\n\u003ch3\u003ePython 3.9 Deprecation\u003c/h3\u003e\n\u003cp\u003ePython 3.9 EOL'd Oct 2025. Support for Python 3.9 is now softly deprecated and has been removed from our CI test matrix but\ndistribution wheels will continue to be built until the 1.0 release or until the builds naturally fail, whichever comes first.\nA \u003ccode\u003eDeprecationWarning\u003c/code\u003e will now be displayed when initializing the client on Python 3.9. Users should plan to upgrade to\nPython 3.10+ as 3.9 compatibility may break unexpectedly in future updates.\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue where settings matching server defaults were not stored on client during initialization. Explicitly setting a default value is now respected (e.g., to prevent ClickHouse from auto-enabling optimizations). Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/638\"\u003e#638\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRaise OperationalError when ResponseSource hits network failure before any data is received. Previously, empty result would be returned. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/620\"\u003e#620\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix issue with DROP table in client temp table test.\u003c/li\u003e\n\u003cli\u003eFixed a bug where InsertContext state was not reset on insert failure, leading to reuse errors when data was passed separately.\u003c/li\u003e\n\u003cli\u003eFixed UTC-equivalent timezone recognition issue where servers returning \u003ccode\u003eEtc/UCT\u003c/code\u003e, \u003ccode\u003eGMT\u003c/code\u003e, or other UTC-equivalent timezone names caused inconsistent behavior with \u003ccode\u003eutc_tz_aware=False\u003c/code\u003e. DateTime columns with explicit UTC timezones now correctly return naive datetimes when \u003ccode\u003eutc_tz_aware=False\u003c/code\u003e regardless of the specific UTC-equivalent timezone name returned by the server. Closes \u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/629\"\u003e#629\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/2dda7152c59b417b4b153d1dd8a061d475ae7c2f\"\u003e\u003ccode\u003e2dda715\u003c/code\u003e\u003c/a\u003e release prep for 0.14.0 (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/673\"\u003e#673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/5d5c3f24c9f7e864536e2aac52c3b8e2349ef2a9\"\u003e\u003ccode\u003e5d5c3f2\u003c/code\u003e\u003c/a\u003e async native future warning (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/672\"\u003e#672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/436050f1b3765605848d9765e3ee0e350b4c6758\"\u003e\u003ccode\u003e436050f\u003c/code\u003e\u003c/a\u003e add bare import smoke test to CI (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/671\"\u003e#671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/a5fbad0fcbac92279874b9214024d6087e307cb0\"\u003e\u003ccode\u003ea5fbad0\u003c/code\u003e\u003c/a\u003e rename apply_server_timezone to tz_source (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/670\"\u003e#670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/01e7ca036a26458acf7a22ca170bd4a1765aa6b1\"\u003e\u003ccode\u003e01e7ca0\u003c/code\u003e\u003c/a\u003e add pandas 1.x deprecation warning for 1.0.0 (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/667\"\u003e#667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/c65f54a079c790673d7f87bb2a303784d9081b8d\"\u003e\u003ccode\u003ec65f54a\u003c/code\u003e\u003c/a\u003e rename utc_tz_aware to tz_mode (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/664\"\u003e#664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/e3ac6a4fbde2e8e613d4b89ff6714ce2743c7381\"\u003e\u003ccode\u003ee3ac6a4\u003c/code\u003e\u003c/a\u003e remove deprecated experimental Object(JSON) type (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/666\"\u003e#666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/1fbddb505a4fed4eb149c3b142a98ccbfe4440fe\"\u003e\u003ccode\u003e1fbddb5\u003c/code\u003e\u003c/a\u003e Joe/638 fix issue where sending redundant settings is skipped (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/639\"\u003e#639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/314b7c71219b7c39e2098c90211d63b8b8eacceb\"\u003e\u003ccode\u003e314b7c7\u003c/code\u003e\u003c/a\u003e Add Python 3.14 free-threading (cp314t) wheel builds (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/660\"\u003e#660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/commit/0a93e44be05a108fcd35d28814cfd478a95a4994\"\u003e\u003ccode\u003e0a93e44\u003c/code\u003e\u003c/a\u003e assert summary plumbing works e2e through sqa cursor (\u003ca href=\"https://redirect.github.com/ClickHouse/clickhouse-connect/issues/659\"\u003e#659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ClickHouse/clickhouse-connect/compare/v0.10.0...v0.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `couchbase` to 4.5.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/9338788daddf9ff1755bfcd86d845ddc8d331860\"\u003e\u003ccode\u003e9338788\u003c/code\u003e\u003c/a\u003e Update C++ core to 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/c3504fa193467a3eec47b23b16f12806fbebf9c1\"\u003e\u003ccode\u003ec3504fa\u003c/code\u003e\u003c/a\u003e PYCBC-1705: Fix FLE imports and exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/70fbc324ec9379cce5652a16ba1a2252efb0cabb\"\u003e\u003ccode\u003e70fbc32\u003c/code\u003e\u003c/a\u003e Update C++ core to 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/9b9164f8e42cca942439049301fd738317fcb1d5\"\u003e\u003ccode\u003e9b9164f\u003c/code\u003e\u003c/a\u003e PYCBC-1711: Don't set bucketType, replicaIndex, flushEnabled when creating bu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/5319285921c7077baf8f347b6cf0377d363d5c26\"\u003e\u003ccode\u003e5319285\u003c/code\u003e\u003c/a\u003e PYCBC-1704: Allow eventing function mgmt test fixtures to ignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/970621968dd2b3463cc450c49c1479297ea087a5\"\u003e\u003ccode\u003e9706219\u003c/code\u003e\u003c/a\u003e Update dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/5485046fd3cd853c695d17a999aff9842de3c83e\"\u003e\u003ccode\u003e5485046\u003c/code\u003e\u003c/a\u003e Update eventing mgmt tests for recent 8.0 changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/1351bfae64ddf50e942ee52360735a6961ed076d\"\u003e\u003ccode\u003e1351bfa\u003c/code\u003e\u003c/a\u003e PYCBC-1699: Update SDK Build Setup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/83478e273fcee4748115b949d6809973519343a4\"\u003e\u003ccode\u003e83478e2\u003c/code\u003e\u003c/a\u003e Search User Experience Improvements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/couchbase/couchbase-python-client/commit/593019056f414ea452f32a229a3c46d24e738285\"\u003e\u003ccode\u003e5930190\u003c/code\u003e\u003c/a\u003e PYCBC-1698: Improve Jenkins Integration Tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/couchbase/couchbase-python-client/compare/4.3.0...4.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `elasticsearch` from 8.14.0 to 9.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/elastic/elasticsearch-py/releases\"\u003eelasticsearch's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.3.0\u003c/h2\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003epack_dense_vector\u003c/code\u003e helper function to pack dense vectors for efficient uploading (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3219\"\u003e#3219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNew and updated ES|QL functions in the ES|QL query builder for 9.3 and Serverless (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3266\"\u003e#3266\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAPI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ecat.circuit_breaker\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eesql.get_view\u003c/code\u003e, \u003ccode\u003eesql.put_view\u003c/code\u003e and \u003ccode\u003eesql.delete_view\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded experimental \u003ccode\u003eindices.get_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.put_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.delete_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.get_all_sample_configuration\u003c/code\u003e, \u003ccode\u003eindices.get_sample\u003c/code\u003e, \u003ccode\u003eindices.get_sample_stats\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003einference.put_groq\u003c/code\u003e, \u003ccode\u003einference.put_openshift_ai\u003c/code\u003e, \u003ccode\u003einference.put_nvidia\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003edownsampling_method\u003c/code\u003e argument to \u003ccode\u003eindices.put_data_lifecycle\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ereturn_documents\u003c/code\u003e and \u003ccode\u003etop_n\u003c/code\u003e arguments to \u003ccode\u003einference.rerank\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eclose_job\u003c/code\u003e argument to \u003ccode\u003eml.stop_datafeed\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecertificate_identity\u003c/code\u003e to \u003ccode\u003esecurity.create_cross_cluster_api_key\u003c/code\u003e and \u003ccode\u003esecurity.update_cross_cluster_api_key\u003c/code\u003e APIs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eServerless-specific\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eproject_routing\u003c/code\u003e argument to \u003ccode\u003eproject.tags\u003c/code\u003e API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDSL\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eNumpyDenseVector\u003c/code\u003e field, with support for dense vectors based on numpy arrays (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3218\"\u003e#3218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eExponentialHistogram\u003c/code\u003e field\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003etime_series_metric\u003c/code\u003e argument to \u003ccode\u003eHistogram\u003c/code\u003e field\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eon_disk_rescore\u003c/code\u003e argument from \u003ccode\u003eDenseVectorIndexOptions\u003c/code\u003e type\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eslices\u003c/code\u003e argument to \u003ccode\u003eUpdateByQueryResponse\u003c/code\u003e type\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.2.1\u003c/h2\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInstrument ping with OTel (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3160\"\u003e#3160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake positional arguments in DSL generated classes explicit  (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3233\"\u003e#3233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd warnings for private APIs (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3212\"\u003e#3212\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eES|QL query builder: fix missing assignment (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3151\"\u003e#3151\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse relative imports to fix \u003ccode\u003eelasticsearch9\u003c/code\u003e package imports (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/pull/3232\"\u003e#3232\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAPI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003etransform.get_node_stats\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003erequests_per_second\u003c/code\u003e argument to \u003ccode\u003edelete_by_query_rethrottle\u003c/code\u003e, \u003ccode\u003ereindex_rethrottle\u003c/code\u003e and \u003ccode\u003eupdate_by_query_rethrottle\u003c/code\u003e APIs\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eallow_closed\u003c/code\u003e, \u003ccode\u003eallow_no_indices\u003c/code\u003e, \u003ccode\u003eexpand_wildcards\u003c/code\u003e, \u003ccode\u003eignore_throttled\u003c/code\u003e and \u003ccode\u003eignore_available\u003c/code\u003e arguments to \u003ccode\u003ecat.segments\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003echunking_settings\u003c/code\u003e argument to \u003ccode\u003einference.put_watsonxai\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eid\u003c/code\u003e argument to \u003ccode\u003eml.stop_trained_model_deployment\u003c/code\u003e API\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003echunking_settings\u003c/code\u003e argument from \u003ccode\u003einference.put_anthropic\u003c/code\u003e, \u003ccode\u003einference.put_contextualai\u003c/code\u003e, \u003ccode\u003einference.put_deepseek\u003c/code\u003e APIs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/adae2d6d3d76f3ea75cd758ce64223bd76df45e5\"\u003e\u003ccode\u003eadae2d6\u003c/code\u003e\u003c/a\u003e Release 9.3.0 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3300\"\u003e#3300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/ea2227c743d7cacb474efecf4d8b84fa553f9eec\"\u003e\u003ccode\u003eea2227c\u003c/code\u003e\u003c/a\u003e Add Python 3.14 trove classifier (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3296\"\u003e#3296\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3299\"\u003e#3299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/b507e3e2d91ff0b6f8fb4a53ea23caa989677436\"\u003e\u003ccode\u003eb507e3e\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3293\"\u003e#3293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/76150204725b1495cad3348c573406fc1f3512d1\"\u003e\u003ccode\u003e7615020\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3280\"\u003e#3280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/ef8d102b3fc4d7572e0fd0bb56afe4291fddc529\"\u003e\u003ccode\u003eef8d102\u003c/code\u003e\u003c/a\u003e Stop using pytz (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3275\"\u003e#3275\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3278\"\u003e#3278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/65870f3504344ba7f67feb7721522bef936a92cf\"\u003e\u003ccode\u003e65870f3\u003c/code\u003e\u003c/a\u003e allow adding elasticsearch query filter for mmr searching (elastic#2638) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/32\"\u003e#32\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/b110f19a49ad492d2d6aa514afaac35360ac3c93\"\u003e\u003ccode\u003eb110f19\u003c/code\u003e\u003c/a\u003e Updates to ES|QL functions for 9.3 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3266\"\u003e#3266\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3272\"\u003e#3272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/f3d082788f52b5fe3c80926624fa8a61aa4deb37\"\u003e\u003ccode\u003ef3d0827\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3269\"\u003e#3269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/80818cc2640fcdf902919a3dc5500ae945d33271\"\u003e\u003ccode\u003e80818cc\u003c/code\u003e\u003c/a\u003e Auto-generated code for 9.3 (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3262\"\u003e#3262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elastic/elasticsearch-py/commit/6baa03faedefc90ccbc5f902626cc8cea46aed6a\"\u003e\u003ccode\u003e6baa03f\u003c/code\u003e\u003c/a\u003e Auto-generated API code (\u003ca href=\"https://redirect.github.com/elastic/elasticsearch-py/issues/3252\"\u003e#3252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/elastic/elasticsearch-py/compare/v8.14.0...v9.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oracledb` from 3.3.0 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oracle/python-oracledb/releases\"\u003eoracledb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.4.2\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.2 is now released. This release addresses a number of issues. See the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-2-january-2026\"\u003efull release notes\u003c/a\u003e for all of the details.\u003c/p\u003e\n\u003ch2\u003ev3.4.1\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.1 is now released. This release addresses a number of issues. See the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-1-november-2025\"\u003efull release notes\u003c/a\u003e for all of the details.\u003c/p\u003e\n\u003ch2\u003ev3.4.0\u003c/h2\u003e\n\u003cp\u003epython-oracledb 3.4.0 is now released. This release has the following highlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003esupport for Direct Path Load in thin mode for fast data ingestion\u003c/li\u003e\n\u003cli\u003esupport for data frames is no longer considered a pre-release\u003c/li\u003e\n\u003cli\u003esupport for type mapping when querying with data frames\u003c/li\u003e\n\u003cli\u003esupport for ingesting more Apache Arrow data types\u003c/li\u003e\n\u003cli\u003esupport for ingesting Apache Arrow data frames containing multiple chunks\u003c/li\u003e\n\u003cli\u003esupport for cursor.executemany() operating on large input data in batches\u003c/li\u003e\n\u003cli\u003efine-grained control over LOB and number handling\u003c/li\u003e\n\u003cli\u003enew optional install dependencies for plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee the \u003ca href=\"https://python-oracledb.readthedocs.io/en/latest/release_notes.html#oracledb-3-4-0-october-2025\"\u003efull release notes\u003c/a\u003e for all of the details.\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/oracle/python-oracledb/commit/51581eeb0a626fb3df4e25e00ddb3a28137d3831\"\u003e\u003ccode\u003e51581ee\u003c/code\u003e\u003c/a\u003e Preparing to release python-oracledb 3.4.2.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/81ceb554a0bfb52eb64b7b3870907d9b19bf15bd\"\u003e\u003ccode\u003e81ceb55\u003c/code\u003e\u003c/a\u003e Fixed bug which caused Connection.call_timeout to be reset to zero when\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/4a94025de99763fd0d16d1c2d79d416b9a075e12\"\u003e\u003ccode\u003e4a94025\u003c/code\u003e\u003c/a\u003e Eliminated memory leak when converting a third party data frame to one\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/36a29517530bfe311dab41218a3bc3d80700fe2c\"\u003e\u003ccode\u003e36a2951\u003c/code\u003e\u003c/a\u003e Fixed bug when decoding PL/SQL booleans in Oracle Database 12.1 (\u003ca href=\"https://redirect.github.com/oracle/python-oracledb/issues/565\"\u003e#565\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/6072f01b420af4c2d36c1b9f7b1421aab64ea336\"\u003e\u003ccode\u003e6072f01\u003c/code\u003e\u003c/a\u003e Grammar fix.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/f8be001d9862d6b0b6ec6158b67affef7a70556e\"\u003e\u003ccode\u003ef8be001\u003c/code\u003e\u003c/a\u003e Fixed bug causing hang when using asyncio and the database closes the\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/6e0d8b9da4b259e1b11ad648d354ca659f537a6a\"\u003e\u003ccode\u003e6e0d8b9\u003c/code\u003e\u003c/a\u003e Eliminated race condition in background thread/coroutine management for\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/40200bfa1cb9dde0977a509c84cfdde66f144358\"\u003e\u003ccode\u003e40200bf\u003c/code\u003e\u003c/a\u003e Adjusted code and tests to be capable of being run in environments other\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/36f8899fa71ebd4aec80b87f990633e86abc6b95\"\u003e\u003ccode\u003e36f8899\u003c/code\u003e\u003c/a\u003e Added support for ingesting Arrow arrays which only consist of null\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/python-oracledb/commit/7bf23b6c2061d20358b030104249bd703ac1832e\"\u003e\u003ccode\u003e7bf23b6\u003c/code\u003e\u003c/a\u003e Fixed bug when calling Cursor.executemany() with all of the values in at\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/oracle/python-oracledb/compare/v3.3.0...v3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pgvector` from 0.2.5 to 0.4.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md\"\u003epgvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2 (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 6\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estr\u003c/code\u003e objects for \u003ccode\u003ebit\u003c/code\u003e type with SQLAlchemy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 (2025-04-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eSparseVector\u003c/code\u003e constructor for SciPy sparse matrices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 (2025-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded top-level \u003ccode\u003epgvector\u003c/code\u003e package\u003c/li\u003e\n\u003cli\u003eAdded support for pg8000\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ebytes\u003c/code\u003e to \u003ccode\u003eBit\u003c/code\u003e constructor\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eglobally\u003c/code\u003e option to default to \u003ccode\u003eFalse\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003earrays\u003c/code\u003e option to default to \u003ccode\u003eTrue\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eFixed equality for \u003ccode\u003eVector\u003c/code\u003e, \u003ccode\u003eHalfVector\u003c/code\u003e, \u003ccode\u003eBit\u003c/code\u003e, and \u003ccode\u003eSparseVector\u003c/code\u003e classes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eindices\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods of \u003ccode\u003eSparseVector\u003c/code\u003e returning tuple instead of list in some cases\u003c/li\u003e\n\u003cli\u003eDropped support for Python \u0026lt; 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 (2024-10-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003earrays\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 (2024-10-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eavg\u003c/code\u003e function with type casting to SQLAlchemy\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eglobally\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.4 (2024-09-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eschema\u003c/code\u003e option for asyncpg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.3 (2024-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved support for cursor factories with Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.2 (2024-07-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error with asyncpg and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.1 (2024-07-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error parsing zero sparse vectors\u003c/li\u003e\n\u003cli\u003eFixed error with Psycopg 2 and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003cli\u003eFixed error message when \u003ccode\u003evector\u003c/code\u003e type not found with Psycopg 3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.0 (2024-06-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ehalfvec\u003c/code\u003e, \u003ccode\u003ebit\u003c/code\u003e, and \u003ccode\u003esparsevec\u003c/code\u003e types to Django\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/2968f258f9486531bd1340cbda4ff8fcaf06cdc1\"\u003e\u003ccode\u003e2968f25\u003c/code\u003e\u003c/a\u003e Version bump to 0.4.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/674f5ba3410c873d49f50fa9725b95d9db50c674\"\u003e\u003ccode\u003e674f5ba\u003c/code\u003e\u003c/a\u003e Updated checkout action [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e2986daf2b1533cc2c849f7e39350e31d57ac325\"\u003e\u003ccode\u003ee2986da\u003c/code\u003e\u003c/a\u003e Added support for Django 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e211ba4029f204734f0c001fbb90f6a594d561ae\"\u003e\u003ccode\u003ee211ba4\u003c/code\u003e\u003c/a\u003e Test with Python 3.14 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/1a72b7571adf3325174b383aca85bfb3a5b925fa\"\u003e\u003ccode\u003e1a72b75\u003c/code\u003e\u003c/a\u003e Updated pgvector on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/c820a53bfb46196551de3c3f59f81b192d890574\"\u003e\u003ccode\u003ec820a53\u003c/code\u003e\u003c/a\u003e Simplified examples [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/caf1a2e0dd7a1ba2ad0ca9f09b50516dcfffcdeb\"\u003e\u003ccode\u003ecaf1a2e\u003c/code\u003e\u003c/a\u003e Added docs for binary quantization with SQLAlchemy [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/dc9a8f959995f009649fd230139ca41193e0a801\"\u003e\u003ccode\u003edc9a8f9\u003c/code\u003e\u003c/a\u003e Added test for binary quantization with re-ranking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/33dee606229489c9ffb0cb5a1cd72bd4705ac618\"\u003e\u003ccode\u003e33dee60\u003c/code\u003e\u003c/a\u003e Added support for str objects for bit type with SQLAlchemy - \u003ca href=\"https://redirect.github.com/pgvector/pgvector-python/issues/137\"\u003e#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/ee3e71ca2c07a12a8332a3877c0ce14adc9a5da8\"\u003e\u003ccode\u003eee3e71c\u003c/code\u003e\u003c/a\u003e Updated format for license identifier\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgvector/pgvector-python/compare/v0.2.5...v0.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymilvus` to 2.6.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/milvus-io/pymilvus/releases\"\u003epymilvus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePyMilvus v2.6.9 Release Notes\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003efix: pass context to \u003ccode\u003edescribe_collection\u003c/code\u003e in \u003ccode\u003eSearchIteratorV2\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3271\"\u003e#3271\u003c/a\u003e) — Forward \u003ccode\u003ekwargs\u003c/code\u003e (including \u003ccode\u003econtext\u003c/code\u003e carrying \u003ccode\u003edb_name\u003c/code\u003e) from \u003ccode\u003eSearchIteratorV2.__init__\u003c/code\u003e to \u003ccode\u003edescribe_collection\u003c/code\u003e, matching the existing \u003ccode\u003eQueryIterator\u003c/code\u003e pattern. Without this fix, \u003ccode\u003eSearchIteratorV2\u003c/code\u003e always queries the \u003ccode\u003edefault\u003c/code\u003e database, causing \u0026quot;can't find collection\u0026quot; errors for non-default databases.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003efix: unpack \u003ccode\u003e_get_schema\u003c/code\u003e tuple return in \u003ccode\u003e_list_vector_indexes\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3275\"\u003e#3275\u003c/a\u003e) — Fix tuple unpacking issue in \u003ccode\u003e_list_vector_indexes\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eenhance: optimize gRPC keepalive defaults and support user-configurable \u003ccode\u003egrpc_options\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3258\"\u003e#3258\u003c/a\u003e) — Improve gRPC keepalive defaults and allow users to configure gRPC channel options.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eenhance: support warmup type params for \u003ccode\u003eFieldSchema\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3255\"\u003e#3255\u003c/a\u003e) — Add warmup type parameter support in field schema definitions.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTests\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eenhance: increase unit test coverage\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/pull/3233\"\u003e#3233\u003c/a\u003e) — Comprehensive tests added for \u003ccode\u003eclient/types.py\u003c/code\u003e, iterator utilities, \u003ccode\u003eorm/utility.py\u003c/code\u003e, request builder methods, \u003ccode\u003eclient/abstract.py\u003c/code\u003e, decorators, and \u003ccode\u003eclient/utils.py\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/milvus-io/pymilvus/compare/v2.6.8...v2.6.9\"\u003ehttps://github.com/milvus-io/pymilvus/compare/v2.6.8...v2.6.9\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/milvus-io/pymilvus/commit/93bd7d75da6963878435d933f6af6dcdf73135e0\"\u003e\u003ccode\u003e93bd7d7\u003c/code\u003e\u003c/a\u003e [Backport 2.6] fix: unpack _get_schema tuple return in _list_vector_indexes (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/c1200a4b38daa909b0a181a960032cfd60c6e008\"\u003e\u003ccode\u003ec1200a4\u003c/code\u003e\u003c/a\u003e fix: pass context to describe_collection in SearchIteratorV2 (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3271\"\u003e#3271\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3274\"\u003e#3274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/bc8c7074f9340a5b65cfc400d46a4e0d26c9c113\"\u003e\u003ccode\u003ebc8c707\u003c/code\u003e\u003c/a\u003e [Backport 2.6] enhance: optimize gRPC keepalive defaults and support user-con...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/111eae33dfe05f825808a61c494fba3b508c19ca\"\u003e\u003ccode\u003e111eae3\u003c/code\u003e\u003c/a\u003e [Backport 2.6] support warmup type params for fieldschema (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3255\"\u003e#3255\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3256\"\u003e#3256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/7e634e604352634a0cb13922f9614e14592767f7\"\u003e\u003ccode\u003e7e634e6\u003c/code\u003e\u003c/a\u003e enhance: Add ut to increase ut coverage (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3233\"\u003e#3233\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3254\"\u003e#3254\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/3e482a8b73bf23f8571e5a72eeec0c8c881b8c3a\"\u003e\u003ccode\u003e3e482a8\u003c/code\u003e\u003c/a\u003e fix: Correct milvus-proto commit (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3252\"\u003e#3252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/b06fc4e5a3f59682831f3768413bfeb6ebc8f679\"\u003e\u003ccode\u003eb06fc4e\u003c/code\u003e\u003c/a\u003e [Backport 2.6] enhance: add channel_state and debug_error_string to gRPC erro...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/64de51d42164b3e099498d5af0a767fc620ddf76\"\u003e\u003ccode\u003e64de51d\u003c/code\u003e\u003c/a\u003e [Backport 2.6] [enhance]:Optimize search result performance (Hit class, Hybri...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/c27f496b3db03489e942e831e2e856536ffd8f58\"\u003e\u003ccode\u003ec27f496\u003c/code\u003e\u003c/a\u003e [Backport 2.6] fix:parse dbname from uri (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3237\"\u003e#3237\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3247\"\u003e#3247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/milvus-io/pymilvus/commit/26bd0fc7a3166f85604f5e59474507f183ea3d58\"\u003e\u003ccode\u003e26bd0fc\u003c/code\u003e\u003c/a\u003e feat: [2.6] support truncate collection api (\u003ca href=\"https://redirect.github.com/milvus-io/pymilvus/issues/3238\"\u003e#3238\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/milvus-io/pymilvus/compare/v2.5.0...v2.6.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pymochow` from 2.2.9 to 2.3.6\n\nUpdates `qdrant-client` from 1.9.0 to 1.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/qdrant/qdrant-client/releases\"\u003eqdrant-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.17.0\u003c/h2\u003e\n\u003ch1\u003eChange Log\u003c/h1\u003e\n\u003ch2\u003eFeatures 🚢\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1154\"\u003e#1154\u003c/a\u003e - introduce relevance feedback, add enable_hnsw option to payload indexes, add timeouts to upsert methods, weighted RRF, and more by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/coszio\"\u003e\u003ccode\u003e@​coszio\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/generall\"\u003e\u003ccode\u003e@​generall\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes ⚙️\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1138\"\u003e#1138\u003c/a\u003e - fix score threshold for fusion queries by \u003ca href=\"https://github.com/cbcoutinho\"\u003e\u003ccode\u003e@​cbcoutinho\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to everyone who contributed to the current release!\n\u003ca href=\"https://github.com/cbcoutinho\"\u003e\u003ccode\u003e@​cbcoutinho\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/generall\"\u003e\u003ccode\u003e@​generall\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/coszio\"\u003e\u003ccode\u003e@​coszio\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.16.2\u003c/h2\u003e\n\u003ch1\u003eChange Log\u003c/h1\u003e\n\u003ch2\u003eDeprecations ⏳\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1110\"\u003e#1110\u003c/a\u003e - drop python3.9 support by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes ⚙️\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e#1132- adjust numpy versioning by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1133\"\u003e#1133\u003c/a\u003e - propagate \u003ccode\u003elookup_from\u003c/code\u003e correctly in query_points_groups by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1134\"\u003e#1134\u003c/a\u003e - fix qdrant-client import in read-only systems by \u003ca href=\"https://github.com/holyMolyTolli\"\u003e\u003ccode\u003e@​holyMolyTolli\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to everyone who contributed to the current release!\n\u003ca href=\"https://github.com/holyMolyTolli\"\u003e\u003ccode\u003e@​holyMolyTolli\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.16.1\u003c/h2\u003e\n\u003ch1\u003eChange Log\u003c/h1\u003e\n\u003ch2\u003eFeatures 🪐\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1116\"\u003e#1116\u003c/a\u003e - implement grpc version of \u003ccode\u003ecluster_collection_update\u003c/code\u003e by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1123\"\u003e#1123\u003c/a\u003e - expose the remaining cluster methods: \u003ccode\u003eremove_peer\u003c/code\u003e, \u003ccode\u003ecollection_cluster_info\u003c/code\u003e, \u003ccode\u003erecover_current_peer\u003c/code\u003e, \u003ccode\u003ecluster_status\u003c/code\u003e by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes 😮\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1125\"\u003e#1125\u003c/a\u003e - rename \u003ccode\u003ecommon.proto\u003c/code\u003e to \u003ccode\u003eqdrant_common.proto\u003c/code\u003e to avoid conflicts with other libraries by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1124\"\u003e#1124\u003c/a\u003e - fix local mode with persistence backward compatibility by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1121\"\u003e#1121\u003c/a\u003e - add .pyi files for grpc files to help static code analyzers by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.16.0\u003c/h2\u003e\n\u003ch1\u003eChange Log\u003c/h1\u003e\n\u003ch2\u003eFeatures 🪐\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1060\"\u003e#1060\u003c/a\u003e - builtin BM25 support (fastembed is not longer required to generate bm25 embeddings) by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1071\"\u003e#1071\u003c/a\u003e - grpc connection pooling by \u003ca href=\"https://github.com/JojiiOfficial\"\u003e\u003ccode\u003e@​JojiiOfficial\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1088\"\u003e#1088\u003c/a\u003e - queryless scores is now equal to 1 by \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1077\"\u003e#1077\u003c/a\u003e - pass grpc credentials to grpc channels by \u003ca href=\"https://github.com/ivandasch\"\u003e\u003ccode\u003e@​ivandasch\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/joein\"\u003e\u003ccode\u003e@​joein\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/qdrant/qdrant-client/commit/e7101dc5baf4d3ce7d6321e1500311619aa95a99\"\u003e\u003ccode\u003ee7101dc\u003c/code\u003e\u003c/a\u003e bump version to v1.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/e50eb17f49851eb710c1f6f502e16cd338898703\"\u003e\u003ccode\u003ee50eb17\u003c/code\u003e\u003c/a\u003e Update models 1.17 (\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1154\"\u003e#1154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/52344500a5309527820c92be030d0561a8c2c842\"\u003e\u003ccode\u003e5234450\u003c/code\u003e\u003c/a\u003e fix: apply score_threshold filtering after fusion queries in local mode (\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1138\"\u003e#1138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/49fa101696e092a09b9bbf1c3383d03d8f992bcb\"\u003e\u003ccode\u003e49fa101\u003c/code\u003e\u003c/a\u003e bump version to 1.16.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/5bd87e49188577caeef9da3f9e86673b897c5179\"\u003e\u003ccode\u003e5bd87e4\u003c/code\u003e\u003c/a\u003e Fix/lazy load local mode (\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1134\"\u003e#1134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/1b142af0f1e20ee1a794137a23d1d295f82a4294\"\u003e\u003ccode\u003e1b142af\u003c/code\u003e\u003c/a\u003e fix: propagate lookup from correctly in query_points_groups (\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1133\"\u003e#1133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/9e61a6965257c4f88c769953daa7b19ff71f66e6\"\u003e\u003ccode\u003e9e61a69\u003c/code\u003e\u003c/a\u003e Drop python3.9 (\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1110\"\u003e#1110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/2c45a536152ce3fd0a41f880306f186a847be7ba\"\u003e\u003ccode\u003e2c45a53\u003c/code\u003e\u003c/a\u003e new: adjust numpy versioning (\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1132\"\u003e#1132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/67836fc367ea10037d36333ff68dcc7b3288e793\"\u003e\u003ccode\u003e67836fc\u003c/code\u003e\u003c/a\u003e tests: speed up tests (\u003ca href=\"https://redirect.github.com/qdrant/qdrant-client/issues/1130\"\u003e#1130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qdrant/qdrant-client/commit/750d735b2917a30b0cbf468ddccbc47d12704e32\"\u003e\u003ccode\u003e750d735\u003c/code\u003e\u003c/a\u003e bump version to 1.16.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/qdrant/qdrant-client/compare/v1.9.0...v1.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tablestore` from 6.3.7 to 6.4.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aliyun/aliyun-tablestore-python-sdk/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tcvectordb` to 2.0.0\n\nUpdates `tidb-vector` from 0.0.9 to 0.0.15\n\nUpdates `upstash-vector` from 0.6.0 to 0.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/upstash/vector-py/releases\"\u003eupstash-vector's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.8.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow ranging over vectors with prefix by \u003ca href=\"https://github.com/mdumandag\"\u003e\u003ccode\u003e@​mdumandag\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/vector-py/pull/45\"\u003eupstash/vector-py#45\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow fetching vectors with prefix by \u003ca href=\"https://github.com/mdumandag\"\u003e\u003ccode\u003e@​mdumandag\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/vector-py/pull/44\"\u003eupstash/vector-py#44\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow deleting vectors with prefix or filter by \u003ca href=\"https://github.com/mdumandag\"\u003e\u003ccode\u003e@​mdumandag\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/vector-py/pull/43\"\u003eupstash/vector-py#43\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow users to opt out for telemetry by \u003ca href=\"https://github.com/mdumandag\"\u003e\u003ccode\u003e@​mdumandag\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/vector-py/pull/42\"\u003eupstash/vector-py#42\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 0.8.0 by \u003ca href=\"https://github.com/mdumandag\"\u003e\u003ccode\u003e@​mdumandag\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/vector-py/pull/46\"\u003eupstash/vector-py#46\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/upstash/vector-py/compare/v0.7.1...v0.8.0\"\u003ehttps://github.com/upstash/vector-py/compare/v0.7.1...v0.8.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.7.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow upserting data as vector by \u003ca href=\"https://github.com/mdumandag\"\u003e\u003ccode\u003e@​mdumandag\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/vector-py/pull/41\"\u003eupstash/vector-py#41\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for new info endpoint fields by \u003ca href=\"https://github.com/mdumandag\"\u003e\u003ccode\u003e@​mdumandag\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/vector-py/pull/40\"\u003eupstash/vector-py#40\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/upstash/vector-py/compare/v0.7.0...v0.7.1\"\u003ehttps://github.com/upstash/vector-py/compare/v0.7.0...v0.7.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.7.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Handle None Namespace Case Properly by \u003ca href=\"https://github.com/fahreddinozcan\"\u003e\u003ccode\u003e@​fahreddinozcan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/vector-py/pull/33\"\u003eupstash/vector-py#33\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not retry in case of an nginx timeout error by \u003ca href=\"https://github.com/mdumandag\"\u003e\u003ccode\u003e@​mdumandag\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/vector-py/pull/35\"\u003eupstash/vector-py#35\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncrease http read/write timeout by \u003ca href=\"https://github.com/mdumandag\"\u003e\u003ccode\u003e@​mdumandag\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/vector-py/pull/38\"\u003eupstash/vector-py#38\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVEC-224: Add support for sparse and hybrid indexes by \u003ca href=\"https://github.com/mdumandag\"\u003e\u003ccode\u003e@​mdumandag\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/vector-py/pull/37\"\u003eupstash/vector-py#37\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 0.7.0 by \u003ca href=\"https://github.com/mdumandag\"\u003e\u003ccode\u003e@​mdumandag\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/vector-py/pull/39\"\u003eupstash/vector-py#39\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/upstash/vector-py/compare/v0.6.0...v0.7.0\"\u003ehttps://github.com/upstash/vector-py/compare/v0.6.0...v0.7.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/upstash/vector-py/commit/c354216302b6b39b971c1e7902e88eecbc361771\"\u003e\u003ccode\u003ec354216\u003c/code\u003e\u003c/a\u003e Bump version to 0.8.0 (\u003ca href=\"https://redirect.github.com/upstash/vector-py/issues/46\"\u003e#46\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/vector-py/commit/22bc162cb2db49994ffc701e71faf0d2f80223c5\"\u003e\u003ccode\u003e22bc162\u003c/code\u003e\u003c/a\u003e Allow users to opt out for telemetry (\u003ca href=\"https://redirect.github.com/upstash/vector-py/issues/42\"\u003e#42\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/vector-py/commit/ced4d9003c1b652012effa7f6d01f32d12461221\"\u003e\u003ccode\u003eced4d90\u003c/code\u003e\u003c/a\u003e Allow deleting vectors with prefix or filter (\u003ca href=\"https://redirect.github.com/upstash/vector-py/issues/43\"\u003e#43\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/vector-py/commit/0cb004b02f91df6ae08cf40e1f8971bd81997363\"\u003e\u003ccode\u003e0cb004b\u003c/code\u003e\u003c/a\u003e Allow fetching vectors with prefix (\u003ca href=\"https://redirect.github.com/upstash/vector-py/issues/44\"\u003e#44\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/vector-py/commit/084183aec2da985c3833da4ea91658e4c981a270\"\u003e\u003ccode\u003e084183a\u003c/code\u003e\u003c/a\u003e Allow ranging over vectors with prefix (\u003ca href=\"https://redirect.github.com/upstash/vector-py/issues/45\"\u003e#45\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/vector-py/commit/0a851d62dd9c2f719bcbe6798ee55fbeb5de0c89\"\u003e\u003ccode\u003e0a851d6\u003c/code\u003e\u003c/a\u003e Add support for new info endpoint fields (\u003ca href=\"https://redirect.github.com/upstash/vector-py/issues/40\"\u003e#40\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/vector-py/commit/8753faefba9844c16f051b9b96edb3d64cc7a7f6\"\u003e\u003ccode\u003e8753fae\u003c/code\u003e\u003c/a\u003e Allow upserting data as vector (\u003ca href=\"https://redirect.github.com/upstash/vector-py/issues/41\"\u003e#41\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/vector-py/commit/17e719611db4896e6d22746592a37ccaa17599e2\"\u003e\u003ccode\u003e17e7196\u003c/code\u003e\u003c/a\u003e Bump version to 0.7.0 (\u003ca href=\"https://redirect.github.com/upstash/vector-py/issues/39\"\u003e#39\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/vector-py/commit/c4f878d6889d5d5224fd7683864ff450f416ccd8\"\u003e\u003ccode\u003ec4f878d\u003c/code\u003e\u003c/a\u003e VEC-224: Add support for sparse and hybrid indexes (\u003ca href=\"https://redirect.github.com/upstash/vector-py/issues/37\"\u003e#37\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/vector-py/commit/cafb37b2ca98ba44e30a08c7c12f6dc0fee4758b\"\u003e\u003ccode\u003ecafb37b\u003c/code\u003e\u003c/a\u003e Increase http read/write timeout (\u003ca href=\"https://redirect.github.com/upstash/vector-py/issues/38\"\u003e#38\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/upstash/vector-py/compare/v0.6.0...v0.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `xinference-client` to 2.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/xorbitsai/inference-client/releases\"\u003exinference-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.2.0\u003c/h2\u003e\n\u003ch1\u003eWhat's new in 2.2.0 (2026-02-28)\u003c/h1\u003e\n\u003cp\u003eThese are the changes in inference-client v2.2.0.\u003c/p\u003e\n\u003ch2\u003eOthers\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChore: update submodule by \u003ca href=\"https://github.com/XprobeBot\"\u003e\u003ccode\u003e@​XprobeBot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/xorbitsai/inference-client/pull/123\"\u003exorbitsai/inference-client#123\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/xorbitsai/inference-client/compare/v2.1.0...v2.2.0\"\u003ehttps://github.com/xorbitsai/inference-client/compare/v2.1.0...v2.2.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/xorbitsai/inference-client/commit/8d9970f448282205c763ec5ef1b89d1b62abcd1b\"\u003e\u003ccode\u003e8d9970f\u003c/code\u003e\u003c/a\u003e Chore: update submodule (\u003ca href=\"https://redirect.github.com/xorbitsai/inference-client/issues/123\"\u003e#123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xorbitsai/inference-client/commit/90917cbf732f81222b0f4e49dbcf1a829edf9bd5\"\u003e\u003ccode\u003e90917cb\u003c/code\u003e\u003c/a\u003e Chore: update submodule (\u003ca href=\"https://redirect.github.com/xorbitsai/inference-client/issues/122\"\u003e#122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xorbitsai/inference-client/commit/0e063ef1e4a045d4dd23f72055cd68f7b5763700\"\u003e\u003ccode\u003e0e063ef\u003c/code\u003e\u003c/a\u003e Chore: update submodule (\u003ca href=\"https://redirect.github.com/xorbitsai/inference-client/issues/121\"\u003e#121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xorbitsai/inference-client/commit/21d574d7e7a14d1f60a30e8e2981b6b3356a11f9\"\u003e\u003ccode\u003e21d574d\u003c/code\u003e\u003c/a\u003e Chore: update submodule (\u003ca href=\"https://redirect.github.com/xorbitsai/inference-client/issues/120\"\u003e#120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xorbitsai/inference-client/commit/9b13806371fede877b6df851fdb2ae27cf9177c8\"\u003e\u003ccode\u003e9b13806\u003c/code\u003e\u003c/a\u003e BLD: fix test_import macos (\u003ca href=\"https://redirect.github.com/xorbitsai/inference-client/issues/119\"\u003e#119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xorbitsai/inference-client/commit/5d9fc3b01cb65daaded13897e4a0a8...\n\n_Description has been truncated_","html_url":"https://github.com/langgenius/dify/pull/33311","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/langgenius%2Fdify/issues/33311","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/33311/packages"}},{"old_version":"==0.3.*","new_version":"==0.4.*","update_type":"minor","path":"/ai","pr_created_at":"2026-03-05T23:16:06.000Z","version_change":"==0.3.* → ==0.4.*","issue":{"uuid":"4031193231","node_id":"PR_kwDOOI20JM7IWaO0","number":1,"state":"open","title":"chore(deps): update pgvector requirement from ==0.3.* to ==0.4.* in /ai","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-05T23:16:06.000Z","updated_at":"2026-03-05T23:16:06.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): update","packages":[{"name":"pgvector","old_version":"==0.3.*","new_version":"==0.4.*","repository_url":"https://github.com/pgvector/pgvector-python"}],"path":"/ai","ecosystem":"pip"},"body":"Updates the requirements on [pgvector](https://github.com/pgvector/pgvector-python) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md\"\u003epgvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2 (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 6\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estr\u003c/code\u003e objects for \u003ccode\u003ebit\u003c/code\u003e type with SQLAlchemy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 (2025-04-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eSparseVector\u003c/code\u003e constructor for SciPy sparse matrices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 (2025-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded top-level \u003ccode\u003epgvector\u003c/code\u003e package\u003c/li\u003e\n\u003cli\u003eAdded support for pg8000\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ebytes\u003c/code\u003e to \u003ccode\u003eBit\u003c/code\u003e constructor\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eglobally\u003c/code\u003e option to default to \u003ccode\u003eFalse\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003earrays\u003c/code\u003e option to default to \u003ccode\u003eTrue\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eFixed equality for \u003ccode\u003eVector\u003c/code\u003e, \u003ccode\u003eHalfVector\u003c/code\u003e, \u003ccode\u003eBit\u003c/code\u003e, and \u003ccode\u003eSparseVector\u003c/code\u003e classes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eindices\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods of \u003ccode\u003eSparseVector\u003c/code\u003e returning tuple instead of list in some cases\u003c/li\u003e\n\u003cli\u003eDropped support for Python \u0026lt; 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 (2024-10-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003earrays\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 (2024-10-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eavg\u003c/code\u003e function with type casting to SQLAlchemy\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eglobally\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.4 (2024-09-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eschema\u003c/code\u003e option for asyncpg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.3 (2024-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved support for cursor factories with Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.2 (2024-07-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error with asyncpg and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.1 (2024-07-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed error parsing zero sparse vectors\u003c/li\u003e\n\u003cli\u003eFixed error with Psycopg 2 and pgvector \u0026lt; 0.7\u003c/li\u003e\n\u003cli\u003eFixed error message when \u003ccode\u003evector\u003c/code\u003e type not found with Psycopg 3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.0 (2024-06-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ehalfvec\u003c/code\u003e, \u003ccode\u003ebit\u003c/code\u003e, and \u003ccode\u003esparsevec\u003c/code\u003e types to Django\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/2968f258f9486531bd1340cbda4ff8fcaf06cdc1\"\u003e\u003ccode\u003e2968f25\u003c/code\u003e\u003c/a\u003e Version bump to 0.4.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/674f5ba3410c873d49f50fa9725b95d9db50c674\"\u003e\u003ccode\u003e674f5ba\u003c/code\u003e\u003c/a\u003e Updated checkout action [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e2986daf2b1533cc2c849f7e39350e31d57ac325\"\u003e\u003ccode\u003ee2986da\u003c/code\u003e\u003c/a\u003e Added support for Django 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e211ba4029f204734f0c001fbb90f6a594d561ae\"\u003e\u003ccode\u003ee211ba4\u003c/code\u003e\u003c/a\u003e Test with Python 3.14 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/1a72b7571adf3325174b383aca85bfb3a5b925fa\"\u003e\u003ccode\u003e1a72b75\u003c/code\u003e\u003c/a\u003e Updated pgvector on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/c820a53bfb46196551de3c3f59f81b192d890574\"\u003e\u003ccode\u003ec820a53\u003c/code\u003e\u003c/a\u003e Simplified examples [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/caf1a2e0dd7a1ba2ad0ca9f09b50516dcfffcdeb\"\u003e\u003ccode\u003ecaf1a2e\u003c/code\u003e\u003c/a\u003e Added docs for binary quantization with SQLAlchemy [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/dc9a8f959995f009649fd230139ca41193e0a801\"\u003e\u003ccode\u003edc9a8f9\u003c/code\u003e\u003c/a\u003e Added test for binary quantization with re-ranking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/33dee606229489c9ffb0cb5a1cd72bd4705ac618\"\u003e\u003ccode\u003e33dee60\u003c/code\u003e\u003c/a\u003e Added support for str objects for bit type with SQLAlchemy - \u003ca href=\"https://redirect.github.com/pgvector/pgvector-python/issues/137\"\u003e#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/ee3e71ca2c07a12a8332a3877c0ce14adc9a5da8\"\u003e\u003ccode\u003eee3e71c\u003c/code\u003e\u003c/a\u003e Updated format for license identifier\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgvector/pgvector-python/compare/v0.3.0...v0.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/sudoshi/Parthenon/pull/1","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sudoshi%2FParthenon/issues/1","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1/packages"}},{"old_version":"0.3.6","new_version":"0.4.2","update_type":"minor","path":"/backend","pr_created_at":"2026-03-03T07:50:33.000Z","version_change":"0.3.6 → 0.4.2","issue":{"uuid":"4015247633","node_id":"PR_kwDORLiPwM7HiPbb","number":6,"state":"closed","title":"chore(deps): Bump the python-minor-patch group in /backend with 37 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-03T07:50:54.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-03T07:50:33.000Z","updated_at":"2026-03-03T07:51:02.000Z","time_to_close":21,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","group_name":"python-minor-patch","update_count":37,"packages":[{"name":"fastapi","old_version":"0.104.1","new_version":"0.135.1","repository_url":"https://github.com/fastapi/fastapi"},{"name":"uvicorn","old_version":"0.24.0","new_version":"0.41.0"},{"name":"pydantic-settings","old_version":"2.1.0","new_version":"2.13.1","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"python-multipart","old_version":"0.0.6","new_version":"0.0.22","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"uvloop","old_version":"0.19.0","new_version":"0.22.1","repository_url":"https://github.com/MagicStack/uvloop"},{"name":"httptools","old_version":"0.6.1","new_version":"0.7.1","repository_url":"https://github.com/MagicStack/httptools"},{"name":"sqlalchemy","old_version":"2.0.23","new_version":"2.0.48","repository_url":"https://github.com/sqlalchemy/sqlalchemy"},{"name":"asyncpg","old_version":"0.29.0","new_version":"0.31.0","repository_url":"https://github.com/MagicStack/asyncpg"},{"name":"aiosqlite","old_version":"0.20.0","new_version":"0.22.1","repository_url":"https://github.com/omnilib/aiosqlite"},{"name":"psycopg2-binary","old_version":"2.9.9","new_version":"2.9.11","repository_url":"https://github.com/psycopg/psycopg2"},{"name":"alembic","old_version":"1.13.0","new_version":"1.18.4","repository_url":"https://github.com/sqlalchemy/alembic"},{"name":"greenlet","old_version":"3.2.4","new_version":"3.3.2","repository_url":"https://github.com/python-greenlet/greenlet"},{"name":"python-jose","old_version":"3.3.0","new_version":"3.5.0"},{"name":"email-validator","old_version":"2.1.0","new_version":"2.3.0","repository_url":"https://github.com/JoshData/python-email-validator"},{"name":"google-generativeai","old_version":"0.8.4","new_version":"0.8.6","repository_url":"https://github.com/google/generative-ai-python"},{"name":"anthropic","old_version":"0.42.0","new_version":"0.84.0","repository_url":"https://github.com/anthropics/anthropic-sdk-python"},{"name":"elevenlabs","old_version":"2.35.0","new_version":"2.37.0","repository_url":"https://github.com/elevenlabs/elevenlabs-python"},{"name":"paypalrestsdk","old_version":"1.13.1","new_version":"1.13.3","repository_url":"https://github.com/paypal/PayPal-Python-SDK"},{"name":"requests","old_version":"2.31.0","new_version":"2.32.5","repository_url":"https://github.com/psf/requests"},{"name":"pgvector","old_version":"0.3.6","new_version":"0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"},{"name":"pywebpush","old_version":"2.0.1","new_version":"2.3.0","repository_url":"https://github.com/web-push-libs/pywebpush"},{"name":"tiktoken","old_version":"0.8.0","new_version":"0.12.0","repository_url":"https://github.com/openai/tiktoken"},{"name":"pybreaker","old_version":"1.2.0","new_version":"1.4.1","repository_url":"https://github.com/danielfm/pybreaker"},{"name":"prometheus-client","old_version":"0.20.0","new_version":"0.24.1","repository_url":"https://github.com/prometheus/client_python"},{"name":"sentry-sdk","old_version":"2.19.2","new_version":"2.54.0"},{"name":"opentelemetry-api","old_version":"1.27.0","new_version":"1.39.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-sdk","old_version":"1.27.0","new_version":"1.39.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-exporter-otlp-proto-grpc","old_version":"1.27.0","new_version":"1.39.1","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-instrumentation-fastapi","old_version":"0.48b0","new_version":"0.60b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-sqlalchemy","old_version":"0.48b0","new_version":"0.60b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-httpx","old_version":"0.48b0","new_version":"0.60b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"opentelemetry-instrumentation-redis","old_version":"0.48b0","new_version":"0.60b1","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"python-dotenv","old_version":"1.0.0","new_version":"1.2.2","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"httpx","old_version":"0.25.2","new_version":"0.28.1","repository_url":"https://github.com/encode/httpx"},{"name":"locust","old_version":"2.20.1","new_version":"2.43.3","repository_url":"https://github.com/locustio/locust"},{"name":"mypy","old_version":"1.7.1","new_version":"1.19.1","repository_url":"https://github.com/python/mypy"},{"name":"bleach","old_version":"6.1.0","new_version":"6.3.0","repository_url":"https://github.com/mozilla/bleach"}],"path":"/backend","ecosystem":"pip"},"body":"Bumps the python-minor-patch group in /backend with 37 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.104.1` | `0.135.1` |\n| [uvicorn[standard]](https://github.com/Kludex/uvicorn) | `0.24.0` | `0.41.0` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.1.0` | `2.13.1` |\n| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.6` | `0.0.22` |\n| [uvloop](https://github.com/MagicStack/uvloop) | `0.19.0` | `0.22.1` |\n| [httptools](https://github.com/MagicStack/httptools) | `0.6.1` | `0.7.1` |\n| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.23` | `2.0.48` |\n| [asyncpg](https://github.com/MagicStack/asyncpg) | `0.29.0` | `0.31.0` |\n| [aiosqlite](https://github.com/omnilib/aiosqlite) | `0.20.0` | `0.22.1` |\n| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.9` | `2.9.11` |\n| [alembic](https://github.com/sqlalchemy/alembic) | `1.13.0` | `1.18.4` |\n| [greenlet](https://github.com/python-greenlet/greenlet) | `3.2.4` | `3.3.2` |\n| [python-jose[cryptography]](https://github.com/mpdavis/python-jose) | `3.3.0` | `3.5.0` |\n| [email-validator](https://github.com/JoshData/python-email-validator) | `2.1.0` | `2.3.0` |\n| [google-generativeai](https://github.com/google/generative-ai-python) | `0.8.4` | `0.8.6` |\n| [anthropic](https://github.com/anthropics/anthropic-sdk-python) | `0.42.0` | `0.84.0` |\n| [elevenlabs](https://github.com/elevenlabs/elevenlabs-python) | `2.35.0` | `2.37.0` |\n| [paypalrestsdk](https://github.com/paypal/PayPal-Python-SDK) | `1.13.1` | `1.13.3` |\n| [requests](https://github.com/psf/requests) | `2.31.0` | `2.32.5` |\n| [pgvector](https://github.com/pgvector/pgvector-python) | `0.3.6` | `0.4.2` |\n| [pywebpush](https://github.com/web-push-libs/pywebpush) | `2.0.1` | `2.3.0` |\n| [tiktoken](https://github.com/openai/tiktoken) | `0.8.0` | `0.12.0` |\n| [pybreaker](https://github.com/danielfm/pybreaker) | `1.2.0` | `1.4.1` |\n| [prometheus-client](https://github.com/prometheus/client_python) | `0.20.0` | `0.24.1` |\n| [sentry-sdk[fastapi]](https://github.com/getsentry/sentry-python) | `2.19.2` | `2.54.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.27.0` | `1.39.1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.27.0` | `1.39.1` |\n| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.27.0` | `1.39.1` |\n| [opentelemetry-instrumentation-fastapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.48b0` | `0.60b1` |\n| [opentelemetry-instrumentation-sqlalchemy](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.48b0` | `0.60b1` |\n| [opentelemetry-instrumentation-httpx](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.48b0` | `0.60b1` |\n| [opentelemetry-instrumentation-redis](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.48b0` | `0.60b1` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.0` | `1.2.2` |\n| [httpx](https://github.com/encode/httpx) | `0.25.2` | `0.28.1` |\n| [locust](https://github.com/locustio/locust) | `2.20.1` | `2.43.3` |\n| [mypy](https://github.com/python/mypy) | `1.7.1` | `1.19.1` |\n| [bleach](https://github.com/mozilla/bleach) | `6.1.0` | `6.3.0` |\n\nUpdates `fastapi` from 0.104.1 to 0.135.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.135.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix, avoid yield from a TaskGroup, only as an async context manager, closed in the request async exit stack. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15038\"\u003e#15038\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✏️ Fix typo in \u003ccode\u003edocs/en/docs/_llm-test.md\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15007\"\u003e#15007\u003c/a\u003e by \u003ca href=\"https://github.com/adityagiri3600\"\u003e\u003ccode\u003e@​adityagiri3600\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update Skill, optimize context, trim and refactor into references. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15031\"\u003e#15031\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👥 Update FastAPI People - Experts. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15037\"\u003e#15037\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👥 Update FastAPI People - Contributors and Translators. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15029\"\u003e#15029\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e👥 Update FastAPI GitHub topic repositories. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15036\"\u003e#15036\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.135.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add support for Server Sent Events. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15030\"\u003e#15030\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eNew docs: \u003ca href=\"https://fastapi.tiangolo.com/tutorial/server-sent-events/\"\u003eServer-Sent Events (SSE)\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.134.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add support for streaming JSON Lines and binary data with \u003ccode\u003eyield\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15022\"\u003e#15022\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eThis also upgrades Starlette from \u003ccode\u003e\u0026gt;=0.40.0\u003c/code\u003e to \u003ccode\u003e\u0026gt;=0.46.0\u003c/code\u003e, as it's needed to properly unrwap and re-raise exceptions from exception groups.\u003c/li\u003e\n\u003cli\u003eNew docs: \u003ca href=\"https://fastapi.tiangolo.com/tutorial/stream-json-lines/\"\u003eStream JSON Lines\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAnd new docs: \u003ca href=\"https://fastapi.tiangolo.com/advanced/stream-data/\"\u003eStream Data\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Update Library Agent Skill with streaming responses. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15024\"\u003e#15024\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Update docs for responses and new stream with \u003ccode\u003eyield\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/15023\"\u003e#15023\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Add \u003ccode\u003eawait\u003c/code\u003e in \u003ccode\u003eStreamingResponse\u003c/code\u003e code example to allow cancellation. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14681\"\u003e#14681\u003c/a\u003e by \u003ca href=\"https://github.com/casperdcl\"\u003e\u003ccode\u003e@​casperdcl\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e📝 Rename \u003ccode\u003edocs_src/websockets\u003c/code\u003e to \u003ccode\u003edocs_src/websockets_\u003c/code\u003e to avoid import errors. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14979\"\u003e#14979\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔨 Run tests with \u003ccode\u003epytest-xdist\u003c/code\u003e and \u003ccode\u003epytest-cov\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14992\"\u003e#14992\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.133.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Add FastAPI Agent Skill. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14982\"\u003e#14982\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\n\u003cul\u003e\n\u003cli\u003eRead more about it in \u003ca href=\"https://tiangolo.com/ideas/library-agent-skills/\"\u003eLibrary Agent Skills\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Fix all tests are skipped on Windows. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14994\"\u003e#14994\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/ca5f60ee72f35fb2134d8b5d26bbb75965bcff66\"\u003e\u003ccode\u003eca5f60e\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.135.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/87f75aa62c1dde90f4dfbfa7fc2c33127d757d34\"\u003e\u003ccode\u003e87f75aa\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/8a9258b169dce3e321f614c14b1877c18750d6c7\"\u003e\u003ccode\u003e8a9258b\u003c/code\u003e\u003c/a\u003e 🐛 Fix, avoid yield from a TaskGroup, only as an async context manager, closed...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/60385078233e00f9f13307ff038f12f88fc5c240\"\u003e\u003ccode\u003e6038507\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/c796ba4f46a6e81477ce44eabe13fd01d82f2c4a\"\u003e\u003ccode\u003ec796ba4\u003c/code\u003e\u003c/a\u003e 👥 Update FastAPI People - Experts (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15037\"\u003e#15037\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/b24aa03b888b78dd2ec6540d47c84a8676d6a7cb\"\u003e\u003ccode\u003eb24aa03\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/2c6104752a97273976c8a63e897de98a48f19ce0\"\u003e\u003ccode\u003e2c61047\u003c/code\u003e\u003c/a\u003e ✏️ Fix typo in \u003ccode\u003edocs/en/docs/_llm-test.md\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15007\"\u003e#15007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/e3bbeef8a2687fdf34d4de2d304a59135a30e63c\"\u003e\u003ccode\u003ee3bbeef\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/d726c8cb2b8e00279487fa8661a5276d2ff2125f\"\u003e\u003ccode\u003ed726c8c\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/cf514e6d3839ca69ca45a55a6f862e74892339b9\"\u003e\u003ccode\u003ecf514e6\u003c/code\u003e\u003c/a\u003e 👥 Update FastAPI People - Contributors and Translators (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/15029\"\u003e#15029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.104.1...0.135.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn[standard]` from 0.24.0 to 0.41.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[standard]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.41.0\u003c/h2\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--limit-max-requests-jitter\u003c/code\u003e to stagger worker restarts (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd socket path to \u003ccode\u003escope[\u0026quot;server\u0026quot;]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2561\"\u003e#2561\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRename \u003ccode\u003eLifespanOn.error_occured\u003c/code\u003e to \u003ccode\u003eerror_occurred\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2776\"\u003e#2776\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore permission denied errors in watchfiles reloader (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2817\"\u003e#2817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure lifespan shutdown runs when \u003ccode\u003eshould_exit\u003c/code\u003e is set during startup (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2812\"\u003e#2812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce the log level of 'request limit exceeded' messages (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2788\"\u003e#2788\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/t-kawasumi\"\u003e\u003ccode\u003e@​t-kawasumi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2776\"\u003eKludex/uvicorn#2776\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fardyn\"\u003e\u003ccode\u003e@​fardyn\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2800\"\u003eKludex/uvicorn#2800\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ewie\"\u003e\u003ccode\u003e@​ewie\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2807\"\u003eKludex/uvicorn#2807\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/shevron\"\u003e\u003ccode\u003e@​shevron\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2788\"\u003eKludex/uvicorn#2788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jonashaag\"\u003e\u003ccode\u003e@​jonashaag\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2707\"\u003eKludex/uvicorn#2707\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.40.0...0.41.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.40.0...0.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.40.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop Python 3.9 by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2772\"\u003eKludex/uvicorn#2772\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.39.0...0.40.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.39.0...0.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.39.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eexplicitly start ASGI run with empty context by \u003ca href=\"https://github.com/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2742\"\u003eKludex/uvicorn#2742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(websockets): Send close frame on ASGI return by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2769\"\u003eKludex/uvicorn#2769\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2742\"\u003eKludex/uvicorn#2742\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.38.0...0.39.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.38.0...0.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.38.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2723\"\u003eKludex/uvicorn#2723\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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[standard]'s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.41.0 (February 16, 2026)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--limit-max-requests-jitter\u003c/code\u003e to stagger worker restarts (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd socket path to \u003ccode\u003escope[\u0026quot;server\u0026quot;]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2561\"\u003e#2561\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRename \u003ccode\u003eLifespanOn.error_occured\u003c/code\u003e to \u003ccode\u003eerror_occurred\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2776\"\u003e#2776\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore permission denied errors in watchfiles reloader (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2817\"\u003e#2817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure lifespan shutdown runs when \u003ccode\u003eshould_exit\u003c/code\u003e is set during startup (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2812\"\u003e#2812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce the log level of 'request limit exceeded' messages (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2788\"\u003e#2788\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.40.0 (December 21, 2025)\u003c/h2\u003e\n\u003ch3\u003eRemove\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2772\"\u003e#2772\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.39.0 (December 21, 2025)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSend close frame on ASGI return for WebSockets (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2769\"\u003e#2769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExplicitly start ASGI run with empty context (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2742\"\u003e#2742\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.38.0 (October 18, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.14 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2723\"\u003e#2723\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.37.0 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--timeout-worker-healthcheck\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2711\"\u003e#2711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eos.PathLike[str]\u003c/code\u003e type to \u003ccode\u003essl_ca_certs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2676\"\u003e#2676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.36.1 (September 23, 2025)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRaise an exception when calling removed \u003ccode\u003eConfig.setup_event_loop()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2709\"\u003e#2709\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.36.0 (September 20, 2025)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/9283c0f15cfa82307f57daba4d1b1880902adfb2\"\u003e\u003ccode\u003e9283c0f\u003c/code\u003e\u003c/a\u003e Version 0.41.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2821\"\u003e#2821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/a01a33eb8f3ac044cab5964421b9aa308a2bcfca\"\u003e\u003ccode\u003ea01a33e\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e--limit-max-requests-jitter\u003c/code\u003e to stagger worker restarts (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2707\"\u003e#2707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/2ce65bde1509faa958775df8153bdeb5dbaf6f58\"\u003e\u003ccode\u003e2ce65bd\u003c/code\u003e\u003c/a\u003e Ignore permission denied errors in watchfiles reloader (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2817\"\u003e#2817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/654f2ed7d7c1a014116d8662e6544f5309375137\"\u003e\u003ccode\u003e654f2ed\u003c/code\u003e\u003c/a\u003e Ensure lifespan shutdown runs when \u003ccode\u003eshould_exit\u003c/code\u003e is set during startup (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2812\"\u003e#2812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/a03d9f6f0e99383c76934a82def5a83aeb6b0a47\"\u003e\u003ccode\u003ea03d9f6\u003c/code\u003e\u003c/a\u003e Reduce the log level of 'request limit exceeded' messages (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2788\"\u003e#2788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/e377de40d0a2a1b1d9f55483ee4c1cceb2474502\"\u003e\u003ccode\u003ee377de4\u003c/code\u003e\u003c/a\u003e Add socket path to scope[\u0026quot;server\u0026quot;] (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2561\"\u003e#2561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/0779f7f8a4df1cc98433eb30d69027499a0cb7f8\"\u003e\u003ccode\u003e0779f7f\u003c/code\u003e\u003c/a\u003e Poll for readiness in \u003ccode\u003etest_multiprocess_health_check\u003c/code\u003e and \u003ccode\u003erun_server\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2816\"\u003e#2816\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/7e9ce2c974f1d78d192e81caa7890e2bbae8e711\"\u003e\u003ccode\u003e7e9ce2c\u003c/code\u003e\u003c/a\u003e Poll for PID changes in \u003ccode\u003etest_multiprocess_sighup\u003c/code\u003e instead of fixed sleep (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2\"\u003e#2\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/99f0d8734d441bf4a1467093766c779a5a1c9868\"\u003e\u003ccode\u003e99f0d87\u003c/code\u003e\u003c/a\u003e Fix grep warning in scripts/sync-version (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2807\"\u003e#2807\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/7ae2e6375a90b2e6a3370aa252f5ac2dc06ab892\"\u003e\u003ccode\u003e7ae2e63\u003c/code\u003e\u003c/a\u003e chore(deps): bump the python-packages group with 18 updates (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2801\"\u003e#2801\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.24.0...0.41.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic-settings` from 2.1.0 to 2.13.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic-settings/releases\"\u003epydantic-settings's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Deterministic alias selection when using validate_by_name by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/707\"\u003epydantic/pydantic-settings#707\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd deep merge functionality to config file sources by \u003ca href=\"https://github.com/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/698\"\u003epydantic/pydantic-settings#698\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for AWS Secrets Manager VersionId parameter by \u003ca href=\"https://github.com/jcyamacho\"\u003e\u003ccode\u003e@​jcyamacho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/708\"\u003epydantic/pydantic-settings#708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebugfix: Return \u003ccode\u003eNone\u003c/code\u003e for inaccessible GCP Secret Manager secrets by \u003ca href=\"https://github.com/zaphod72\"\u003e\u003ccode\u003e@​zaphod72\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/712\"\u003epydantic/pydantic-settings#712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBugfix for cli_kebab_case=\u0026quot;all\u0026quot; and CliImplicitFlag[bool] by \u003ca href=\"https://github.com/Digity101\"\u003e\u003ccode\u003e@​Digity101\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/702\"\u003epydantic/pydantic-settings#702\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnpack type alisases when looking for \u003ccode\u003eNoDecode\u003c/code\u003e by \u003ca href=\"https://github.com/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/695\"\u003epydantic/pydantic-settings#695\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCliToggleFlag and CliDualFlag by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/717\"\u003epydantic/pydantic-settings#717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for CLI duplicate enum field values. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/722\"\u003epydantic/pydantic-settings#722\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efixed load nested config from env by \u003ca href=\"https://github.com/Sube-py\"\u003e\u003ccode\u003e@​Sube-py\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/723\"\u003epydantic/pydantic-settings#723\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd non-Path files support (for example Traversable) and open files using Path.open method by \u003ca href=\"https://github.com/mahenzon\"\u003e\u003ccode\u003e@​mahenzon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/724\"\u003epydantic/pydantic-settings#724\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd one more traversable test by \u003ca href=\"https://github.com/mahenzon\"\u003e\u003ccode\u003e@​mahenzon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/725\"\u003epydantic/pydantic-settings#725\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI fix fox external list args. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/727\"\u003epydantic/pydantic-settings#727\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: handle case-insensitive retrieval in GoogleSecretManagerSettingsSource by \u003ca href=\"https://github.com/ezwiefel\"\u003e\u003ccode\u003e@​ezwiefel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/730\"\u003epydantic/pydantic-settings#730\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI test fixes for help text formatting. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/735\"\u003epydantic/pydantic-settings#735\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid conflicts with the \u003ccode\u003eNAME\u003c/code\u003e environment variable in WSL by \u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/747\"\u003epydantic/pydantic-settings#747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: When restoring init kwargs, use deterministic order by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/746\"\u003epydantic/pydantic-settings#746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd env_prefix_target by \u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/749\"\u003epydantic/pydantic-settings#749\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003e(default: …)\u003c/code\u003e in the help message for \u003ccode\u003eCliToggleFlag\u003c/code\u003e by \u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/740\"\u003epydantic/pydantic-settings#740\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for CLI serialize styles. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/755\"\u003epydantic/pydantic-settings#755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for overriding default help on CLI internal parser. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/758\"\u003epydantic/pydantic-settings#758\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI format_help method support by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/759\"\u003epydantic/pydantic-settings#759\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(gcp): support SecretVersion annotation for per-field secret versioning by \u003ca href=\"https://github.com/ezwiefel\"\u003e\u003ccode\u003e@​ezwiefel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/763\"\u003epydantic/pydantic-settings#763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003esnake_case_conversion\u003c/code\u003e with \u003ccode\u003eenv_prefix\u003c/code\u003e for Azure Key Vault source by \u003ca href=\"https://github.com/cstarkers\"\u003e\u003ccode\u003e@​cstarkers\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/762\"\u003epydantic/pydantic-settings#762\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Only override preferred_key when no value was found by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/767\"\u003epydantic/pydantic-settings#767\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate deps by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/768\"\u003epydantic/pydantic-settings#768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI coerce numeric types. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/769\"\u003epydantic/pydantic-settings#769\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI Union Discriminator Choices in Help by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/764\"\u003epydantic/pydantic-settings#764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd nested path support for yaml_config_section (fixes \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/772\"\u003e#772\u003c/a\u003e) by \u003ca href=\"https://github.com/hugo-romero-mm\"\u003e\u003ccode\u003e@​hugo-romero-mm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/773\"\u003epydantic/pydantic-settings#773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release 2.13.0 by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/777\"\u003epydantic/pydantic-settings#777\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/698\"\u003epydantic/pydantic-settings#698\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jcyamacho\"\u003e\u003ccode\u003e@​jcyamacho\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/708\"\u003epydantic/pydantic-settings#708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zaphod72\"\u003e\u003ccode\u003e@​zaphod72\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/712\"\u003epydantic/pydantic-settings#712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Digity101\"\u003e\u003ccode\u003e@​Digity101\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/702\"\u003epydantic/pydantic-settings#702\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Sube-py\"\u003e\u003ccode\u003e@​Sube-py\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/723\"\u003epydantic/pydantic-settings#723\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mahenzon\"\u003e\u003ccode\u003e@​mahenzon\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/724\"\u003epydantic/pydantic-settings#724\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/747\"\u003epydantic/pydantic-settings#747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cstarkers\"\u003e\u003ccode\u003e@​cstarkers\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/762\"\u003epydantic/pydantic-settings#762\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hugo-romero-mm\"\u003e\u003ccode\u003e@​hugo-romero-mm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/773\"\u003epydantic/pydantic-settings#773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.12.0...v2.13.0\"\u003ehttps://github.com/pydantic/pydantic-settings/compare/v2.12.0...v2.13.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.12.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for enum kebab case. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/686\"\u003epydantic/pydantic-settings#686\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply source order: init \u0026gt; env \u0026gt; dotenv \u0026gt; secrets \u0026gt; defaults and pres… by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/688\"\u003epydantic/pydantic-settings#688\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd NestedSecretsSettings source by \u003ca href=\"https://github.com/makukha\"\u003e\u003ccode\u003e@​makukha\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/690\"\u003epydantic/pydantic-settings#690\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/e87d12df0f42f7f72a3eb6d830cfbfb1d68b4496\"\u003e\u003ccode\u003ee87d12d\u003c/code\u003e\u003c/a\u003e v2.13.1 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/790\"\u003e#790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/acf8c14f5ec314799f5bd0d3f6a1591c4ed2ec97\"\u003e\u003ccode\u003eacf8c14\u003c/code\u003e\u003c/a\u003e Fix JSON decoding for parameterized PEP 695 type aliases (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/780\"\u003e#780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/58b236a36473e01bfe42e5f75d39d46721e0593d\"\u003e\u003ccode\u003e58b236a\u003c/code\u003e\u003c/a\u003e Fix AttributeError with nested env vars for dict fields (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/785\"\u003e#785\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/786\"\u003e#786\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4933f06402ed55e32bcdcefd6c8f59ffe1fefd24\"\u003e\u003ccode\u003e4933f06\u003c/code\u003e\u003c/a\u003e Fix CLI parsing error for set field types since 2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/787\"\u003e#787\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/788\"\u003e#788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/bd0ebe6215cf215d716e33d833cc2589a1d00a17\"\u003e\u003ccode\u003ebd0ebe6\u003c/code\u003e\u003c/a\u003e Fix RecursionError with self-referential models in CliApp (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/783\"\u003e#783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/eb7840e9f59a7969b23afdbcc4e5081e037736d8\"\u003e\u003ccode\u003eeb7840e\u003c/code\u003e\u003c/a\u003e Fix regression for bool fields since 2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/784\"\u003e#784\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/198e71cf0cd570501535de7ae93a70953150f073\"\u003e\u003ccode\u003e198e71c\u003c/code\u003e\u003c/a\u003e Prepare release 2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/777\"\u003e#777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/de71e84057b63b251ec84883b5e2ae886f82084f\"\u003e\u003ccode\u003ede71e84\u003c/code\u003e\u003c/a\u003e Add nested path support for yaml_config_section (fixes \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/772\"\u003e#772\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/773\"\u003e#773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/0f8f951b89b137bd563ce74dac016ba2c4cdc7a2\"\u003e\u003ccode\u003e0f8f951\u003c/code\u003e\u003c/a\u003e CLI Union Discriminator Choices in Help (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/764\"\u003e#764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/ce9804c4620d38f0c3b3c1e3ebe10d934fd4ba2e\"\u003e\u003ccode\u003ece9804c\u003c/code\u003e\u003c/a\u003e CLI coerce numeric types. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/769\"\u003e#769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.1.0...v2.13.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-multipart` from 0.0.6 to 0.0.22\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/python-multipart/releases\"\u003epython-multipart's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.0.22\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop directory path from filename in \u003ccode\u003eFile\u003c/code\u003e \u003ca href=\"https://github.com/Kludex/python-multipart/commit/9433f4bbc9652bdde82bbe380984e32f8cfc89c4\"\u003e9433f4b\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.21...0.0.22\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.21...0.0.22\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.21\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14 and drop EOL 3.8 and 3.9 by \u003ca href=\"https://github.com/hugovk\"\u003e\u003ccode\u003e@​hugovk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/216\"\u003eKludex/python-multipart#216\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/waketzheng\"\u003e\u003ccode\u003e@​waketzheng\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/203\"\u003eKludex/python-multipart#203\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.20...0.0.21\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.20...0.0.21\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.20\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle messages containing only end boundary, fixes \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/38\"\u003e#38\u003c/a\u003e by \u003ca href=\"https://github.com/jhnstrk\"\u003e\u003ccode\u003e@​jhnstrk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/142\"\u003eKludex/python-multipart#142\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/Mr-Sunglasses\"\u003e\u003ccode\u003e@​Mr-Sunglasses\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/185\"\u003eKludex/python-multipart#185\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.19...0.0.20\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.19...0.0.20\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.19\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDon't warn when CRLF is found after last boundary by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/193\"\u003eKludex/python-multipart#193\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/python-multipart/compare/0.0.18...0.0.19\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.18...0.0.19\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.18\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHard break if found data after last boundary on \u003ccode\u003eMultipartParser\u003c/code\u003e by \u003ca href=\"https://github.com/Kludex\"\u003e\u003ccode\u003e@​Kludex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/189\"\u003eKludex/python-multipart#189\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/python-multipart/compare/0.0.17...0.0.18\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.17...0.0.18\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.17\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle PermissionError in fallback code for old import name by \u003ca href=\"https://github.com/defnull\"\u003e\u003ccode\u003e@​defnull\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/182\"\u003eKludex/python-multipart#182\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kludex/python-multipart/blob/master/CHANGELOG.md\"\u003epython-multipart's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.22 (2026-01-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop directory path from filename in \u003ccode\u003eFile\u003c/code\u003e \u003ca href=\"https://github.com/Kludex/python-multipart/commit/9433f4bbc9652bdde82bbe380984e32f8cfc89c4\"\u003e9433f4b\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.21 (2025-12-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14 and drop EOL 3.8 and 3.9 \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/216\"\u003e#216\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.20 (2024-12-16)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle messages containing only end boundary \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/142\"\u003e#142\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.19 (2024-11-30)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDon't warn when CRLF is found after last boundary on \u003ccode\u003eMultipartParser\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/193\"\u003e#193\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.18 (2024-11-28)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHard break if found data after last boundary on \u003ccode\u003eMultipartParser\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/189\"\u003e#189\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.17 (2024-10-31)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle PermissionError in fallback code for old import name \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/182\"\u003e#182\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.16 (2024-10-27)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd dunder attributes to \u003ccode\u003emultipart\u003c/code\u003e package \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/177\"\u003e#177\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.15 (2024-10-27)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace \u003ccode\u003eFutureWarning\u003c/code\u003e to \u003ccode\u003ePendingDeprecationWarning\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/174\"\u003e#174\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd missing files to SDist \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/171\"\u003e#171\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.14 (2024-10-24)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix import scheme for \u003ccode\u003emultipart\u003c/code\u003e module (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/168\"\u003e#168\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.13 (2024-10-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRename import to \u003ccode\u003epython_multipart\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/166\"\u003e#166\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.12 (2024-09-29)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove error message when boundary character does not match \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/124\"\u003e#124\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd mypy strict typing \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/140\"\u003e#140\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnforce 100% coverage \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/159\"\u003e#159\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.11 (2024-09-28)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove performance, especially in data with many CR-LF \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/137\"\u003e#137\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/bea7bbb2904da8ce39123a845088dc72464eaddf\"\u003e\u003ccode\u003ebea7bbb\u003c/code\u003e\u003c/a\u003e Version 0.0.22 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/222\"\u003e#222\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/0fb59a9df0f273bfde99740b302ccb2ae45e2b8a\"\u003e\u003ccode\u003e0fb59a9\u003c/code\u003e\u003c/a\u003e chore: add return type on test (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/221\"\u003e#221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/9433f4bbc9652bdde82bbe380984e32f8cfc89c4\"\u003e\u003ccode\u003e9433f4b\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/d5c91ecb0aa1cae03fe2d9811d193c952e714f17\"\u003e\u003ccode\u003ed5c91ec\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/219\"\u003e#219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/5a90631b484f8d3284b691d453c24be3db57f5cb\"\u003e\u003ccode\u003e5a90631\u003c/code\u003e\u003c/a\u003e bump uv (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/218\"\u003e#218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/1f72955602445706b5517a6f58a720796ad3d96a\"\u003e\u003ccode\u003e1f72955\u003c/code\u003e\u003c/a\u003e Version 0.0.21 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/217\"\u003e#217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/47ecfed3533ed8dcafd800508dbf594438fd0949\"\u003e\u003ccode\u003e47ecfed\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop EOL 3.8 and 3.9 (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/216\"\u003e#216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/f18b70941b727c947f7e6b17e1c3321f5ad3afb6\"\u003e\u003ccode\u003ef18b709\u003c/code\u003e\u003c/a\u003e Bump the github-actions group across 1 directory with 4 updates (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/214\"\u003e#214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/b388e9a7a82605cc8613798926afe8f6074cb372\"\u003e\u003ccode\u003eb388e9a\u003c/code\u003e\u003c/a\u003e chore: use depedency-groups in \u003ccode\u003epyproject.toml\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/212\"\u003e#212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/python-multipart/commit/6113e750971918a51f79c3bb2585e95ed1c53245\"\u003e\u003ccode\u003e6113e75\u003c/code\u003e\u003c/a\u003e Bump the github-actions group across 1 directory with 3 updates (\u003ca href=\"https://redirect.github.com/Kludex/python-multipart/issues/210\"\u003e#210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/python-multipart/compare/0.0.6...0.0.22\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvloop` from 0.19.0 to 0.22.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/MagicStack/uvloop/releases\"\u003euvloop's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.22.1\u003c/h2\u003e\n\u003cp\u003eThis is identical to 0.22.0, re-ran with CI fixes\u003c/p\u003e\n\u003ch2\u003ev0.22.0\u003c/h2\u003e\n\u003ch1\u003eChanges\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixes for Python 3.14 (\u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/638\"\u003e#638\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/graingert\"\u003e\u003ccode\u003e@​graingert\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/hroncok\"\u003e\u003ccode\u003e@​hroncok\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/paulocheque\"\u003e\u003ccode\u003e@​paulocheque\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/fantix\"\u003e\u003ccode\u003e@​fantix\u003c/code\u003e\u003c/a\u003e in 46456b6a for \u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/637\"\u003e#637\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd free-threading support (\u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/693\"\u003e#693\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/kumaraditya303\"\u003e\u003ccode\u003e@​kumaraditya303\u003c/code\u003e\u003c/a\u003e in 286b3707 for \u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/642\"\u003e#642\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eFixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUse Cython \u003ccode\u003eenum\u003c/code\u003e for \u003ccode\u003e__PREALLOCED_BUFS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/634\"\u003e#634\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/jakirkham\"\u003e\u003ccode\u003e@​jakirkham\u003c/code\u003e\u003c/a\u003e in 7bb12a17 for \u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/634\"\u003e#634\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003etest: fix getaddrinfo test (\u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/663\"\u003e#663\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/fantix\"\u003e\u003ccode\u003e@​fantix\u003c/code\u003e\u003c/a\u003e in 56807922 for \u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/663\"\u003e#663\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003etest: fix task name for Python 3.13.3/3.14 (\u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/662\"\u003e#662\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/cjwatson\"\u003e\u003ccode\u003e@​cjwatson\u003c/code\u003e\u003c/a\u003e in 96b7ed31 for \u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/662\"\u003e#662\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.21.0\u003c/h2\u003e\n\u003ch1\u003eChanges\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd cleanup_socket param on create_unix_server()\n(\u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/623\"\u003e#623\u003c/a\u003e) (by \u003ca href=\"https://github.com/fantix\"\u003e\u003ccode\u003e@​fantix\u003c/code\u003e\u003c/a\u003e in d6114d2)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eFixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUse cythonized SO_REUSEPORT rather than the unwrapped native one. (\u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/609\"\u003e#609\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/ptribble\"\u003e\u003ccode\u003e@​ptribble\u003c/code\u003e\u003c/a\u003e in 4083a94e for \u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/550\"\u003e#550\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUDP errors should result in protocol.error_received (\u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/601\"\u003e#601\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/jensbjorgensen\"\u003e\u003ccode\u003e@​jensbjorgensen\u003c/code\u003e\u003c/a\u003e in 3c3bbeff)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdates for Cython3 (\u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/587\"\u003e#587\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/alan-brooks\"\u003e\u003ccode\u003e@​alan-brooks\u003c/code\u003e\u003c/a\u003e in 3fba9fab for \u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/587\"\u003e#587\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTest with Python 3.13 (\u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/610\"\u003e#610\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/edgarrmondragon\"\u003e\u003ccode\u003e@​edgarrmondragon\u003c/code\u003e\u003c/a\u003e in fb5a139)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.21.0beta1\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\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/MagicStack/uvloop/commit/74f4c96d3fc5281b1820491d2568de771ea7851b\"\u003e\u003ccode\u003e74f4c96\u003c/code\u003e\u003c/a\u003e uvloop 0.22.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/uvloop/commit/321d345bdadd4d9f244a22ab9778a66d6cdd7f4f\"\u003e\u003ccode\u003e321d345\u003c/code\u003e\u003c/a\u003e ci: bump pypa/gh-action-pypi-publish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/uvloop/commit/3cf6b44fb39e0a865c812b8070fc8af640750476\"\u003e\u003ccode\u003e3cf6b44\u003c/code\u003e\u003c/a\u003e uvloop 0.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/uvloop/commit/e4d569e244ba1c44305254a89e1abb7484759f73\"\u003e\u003ccode\u003ee4d569e\u003c/code\u003e\u003c/a\u003e ci: use native ubuntu-24.04-arm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/uvloop/commit/d9fa054cf882615f7810081ed2bbb7820544371d\"\u003e\u003ccode\u003ed9fa054\u003c/code\u003e\u003c/a\u003e ci: fix test and release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/uvloop/commit/7effa903f6f4e6d66a6f330afac63079135826ec\"\u003e\u003ccode\u003e7effa90\u003c/code\u003e\u003c/a\u003e ci: fix artifact handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/uvloop/commit/286b370702109f84f60cfe80deae9abf8da2a2e4\"\u003e\u003ccode\u003e286b370\u003c/code\u003e\u003c/a\u003e add free-threading support (\u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/uvloop/commit/46456b6abd7e98b70e1dd38252272a98533cc75b\"\u003e\u003ccode\u003e46456b6\u003c/code\u003e\u003c/a\u003e Fixes for Python 3.14 (\u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/638\"\u003e#638\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/uvloop/commit/96b7ed31afaf02800d779a395591da6a2c8c50e1\"\u003e\u003ccode\u003e96b7ed3\u003c/code\u003e\u003c/a\u003e test: fix task name for Python 3.13.3/3.14 (\u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/662\"\u003e#662\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/uvloop/commit/56807922f847ddac231a53d5b03eef70092b987c\"\u003e\u003ccode\u003e5680792\u003c/code\u003e\u003c/a\u003e test: fix getaddrinfo test (\u003ca href=\"https://redirect.github.com/MagicStack/uvloop/issues/663\"\u003e#663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/MagicStack/uvloop/compare/v0.19.0...v0.22.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `httptools` from 0.6.1 to 0.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/MagicStack/httptools/releases\"\u003ehttptools's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.7.1\u003c/h2\u003e\n\u003cp\u003eThis is identical to 0.7.0 whose CI failed uploading\u003c/p\u003e\n\u003ch2\u003ev0.7.0\u003c/h2\u003e\n\u003ch1\u003eChanges\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eModernize packaging and fix CI (\u003ca href=\"https://redirect.github.com/MagicStack/httptools/issues/130\"\u003e#130\u003c/a\u003e)\nDrop Python 3.8, add Python 3.14\nUse Cython 3.1.0\nBump llhttp to 9.3.0\n(by \u003ca href=\"https://github.com/ngoldbaum\"\u003e\u003ccode\u003e@​ngoldbaum\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/fantix\"\u003e\u003ccode\u003e@​fantix\u003c/code\u003e\u003c/a\u003e in 59bf94fc for \u003ca href=\"https://redirect.github.com/MagicStack/httptools/issues/129\"\u003e#129\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eStatic Type-checking for httptools (\u003ca href=\"https://redirect.github.com/MagicStack/httptools/issues/100\"\u003e#100\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/Vizonex\"\u003e\u003ccode\u003e@​Vizonex\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/KRRT7\"\u003e\u003ccode\u003e@​KRRT7\u003c/code\u003e\u003c/a\u003e in b55f5fe2 for \u003ca href=\"https://redirect.github.com/MagicStack/httptools/issues/100\"\u003e#100\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.6.4\u003c/h2\u003e\n\u003ch1\u003eFixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eInclude Cython source files in sdist\n(by \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e in 2287a95a for \u003ca href=\"https://redirect.github.com/MagicStack/httptools/issues/115\"\u003e#115\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.6.3\u003c/h2\u003e\n\u003ch1\u003eFixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix missing CR is some tests\n(by \u003ca href=\"https://github.com/mgorny\"\u003e\u003ccode\u003e@​mgorny\u003c/code\u003e\u003c/a\u003e in 21a199d3 for \u003ca href=\"https://redirect.github.com/MagicStack/httptools/issues/112\"\u003e#112\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBump bundled llhttp to 9.2.1\nFixes CVE-2024-27982\n(by \u003ca href=\"https://github.com/elprans\"\u003e\u003ccode\u003e@​elprans\u003c/code\u003e\u003c/a\u003e in 560bd9ea for \u003ca href=\"https://redirect.github.com/MagicStack/httptools/issues/113\"\u003e#113\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.6.2\u003c/h2\u003e\n\u003ch1\u003eFixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix build and run tests on Python 3.13 (\u003ca href=\"https://redirect.github.com/MagicStack/httptools/issues/107\"\u003e#107\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/jameshilliard\"\u003e\u003ccode\u003e@​jameshilliard\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/tacaswell\"\u003e\u003ccode\u003e@​tacaswell\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/fafanoulele\"\u003e\u003ccode\u003e@​fafanoulele\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/fantix\"\u003e\u003ccode\u003e@​fantix\u003c/code\u003e\u003c/a\u003e in ad9765b3 for \u003ca href=\"https://redirect.github.com/MagicStack/httptools/issues/98\"\u003e#98\u003c/a\u003e \u003ca href=\"https://redirect.github.com/MagicStack/httptools/issues/104\"\u003e#104\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/MagicStack/httptools/commit/26461dae5a108d8e8b1e6cc206779055999f7905\"\u003e\u003ccode\u003e26461da\u003c/code\u003e\u003c/a\u003e httptools 0.7.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/httptools/commit/cd7cab8ea5417a2af0a15a097b241fc2dd392ae3\"\u003e\u003ccode\u003ecd7cab8\u003c/code\u003e\u003c/a\u003e bump pypa/gh-action-pypi-publish to 1.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/httptools/commit/96ac6efae3216ba7448190e500ad9e78df8b6655\"\u003e\u003ccode\u003e96ac6ef\u003c/code\u003e\u003c/a\u003e allow releasing on 0.7.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/httptools/commit/b04ab824f23c8925d00d38e1ed0cfe4718ba1ba7\"\u003e\u003ccode\u003eb04ab82\u003c/code\u003e\u003c/a\u003e httptools 0.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/httptools/commit/b55f5fe22782640d1a163c77c277b053c156ad1f\"\u003e\u003ccode\u003eb55f5fe\u003c/code\u003e\u003c/a\u003e Static Type-checking for httptools (\u003ca href=\"https://redirect.github.com/MagicStack/httptools/issues/100\"\u003e#100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/httptools/commit/59bf94fcca09db7b42a4b55707f0f4b89fe665ce\"\u003e\u003ccode\u003e59bf94f\u003c/code\u003e\u003c/a\u003e Modernize packaging and fix CI (\u003ca href=\"https://redirect.github.com/MagicStack/httptools/issues/130\"\u003e#130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/httptools/commit/922f366068f3a0b505cdfd22ff51c4c457e8e6df\"\u003e\u003ccode\u003e922f366\u003c/code\u003e\u003c/a\u003e Post-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/httptools/commit/e265ae033d3d7212f92a614963a349e315f82df3\"\u003e\u003ccode\u003ee265ae0\u003c/code\u003e\u003c/a\u003e httptools 0.6.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/httptools/commit/2287a95af7a14b0fa178700e05c17a849242ef5d\"\u003e\u003ccode\u003e2287a95\u003c/code\u003e\u003c/a\u003e Include Cython source files in sdist (\u003ca href=\"https://redirect.github.com/MagicStack/httptools/issues/115\"\u003e#115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/httptools/commit/5e720bf037edef03a517e25e096893638b6af801\"\u003e\u003ccode\u003e5e720bf\u003c/code\u003e\u003c/a\u003e httptools 0.6.3\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/MagicStack/httptools/compare/v0.6.1...v0.7.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlalchemy` from 2.0.23 to 2.0.48\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.48\u003c/h1\u003e\n\u003cp\u003eReleased: March 2, 2026\u003c/p\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[engine] [bug]\u003c/strong\u003e Fixed a critical issue in \u003ccode\u003eEngine\u003c/code\u003e where connections created in\nconjunction with the \u003ccode\u003eDialectEvents.do_connect()\u003c/code\u003e event listeners\nwould receive shared, mutable collections for the connection arguments,\nleading to a variety of potential issues including unlimited growth of the\nargument list as well as elements within the parameter dictionary being\nshared among concurrent connection calls.  In particular this could impact\ndo_connect routines making use of complex mutable authentication\nstructures.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13144\"\u003e#13144\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.0.47\u003c/h1\u003e\n\u003cp\u003eReleased: February 24, 2026\u003c/p\u003e\n\u003ch2\u003eorm\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[orm] [bug]\u003c/strong\u003e Fixed issue when using ORM mappings with Python 3.14's \u003ca href=\"https://peps.python.org/pep-0649\"\u003ePEP 649\u003c/a\u003e feature\nthat no longer requires \u0026quot;future annotations\u0026quot;, where the ORM's introspection\nof the \u003ccode\u003e__init__\u003c/code\u003e method of mapped classes would fail if non-present\nidentifiers in annotations were present.  The vendored \u003ccode\u003egetfullargspec()\u003c/code\u003e\nmethod has been amended to use \u003ccode\u003eFormat.FORWARDREF\u003c/code\u003e under Python 3.14 to\nprevent resolution of names that aren't present.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13104\"\u003e#13104\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eengine\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[engine] [usecase]\u003c/strong\u003e The connection object returned by \u003ccode\u003e_engine.Engine.raw_connection()\u003c/code\u003e\nnow supports the context manager protocol, automatically returning the\nconnection to the pool when exiting the context.\u003c/p\u003e\n\u003cp\u003eReferences: \u003ca href=\"https://www.sqlalchemy.org/trac/ticket/13116\"\u003e#13116\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epostgresql\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[postgresql] [bug]\u003c/strong\u003e Fixed an issue in the PostgreSQL dialect where foreign key constraint\nreflection would incorrectly swap or fail to capture \u003ccode\u003eonupdate\u003c/code\u003e and\n\u003ccode\u003eondelete\u003c/code\u003e values when these clauses appeared in a different order than\nexpected in the constraint definition. This issue primarily affected\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sqlalchemy/sqlalchemy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `asyncpg` from 0.29.0 to 0.31.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/MagicStack/asyncpg/releases\"\u003easyncpg's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.31.0\u003c/h2\u003e\n\u003cp\u003eEnable Python 3.14 with experimental subinterpreter/freethreading\nsupport.\u003c/p\u003e\n\u003ch1\u003eImprovements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Python 3.14 support, experimental subinterpreter/freethreading support (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1279\"\u003e#1279\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/elprans\"\u003e\u003ccode\u003e@​elprans\u003c/code\u003e\u003c/a\u003e in 9e42642b)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid performing type introspection on known types (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1243\"\u003e#1243\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/elprans\"\u003e\u003ccode\u003e@​elprans\u003c/code\u003e\u003c/a\u003e in 5c9986c4)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003eprepare()\u003c/code\u003e not use named statements by default when cache is disabled (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1245\"\u003e#1245\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/elprans\"\u003e\u003ccode\u003e@​elprans\u003c/code\u003e\u003c/a\u003e in 5b14653e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement connection service file functionality (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1223\"\u003e#1223\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/AndrewJackson2020\"\u003e\u003ccode\u003e@​AndrewJackson2020\u003c/code\u003e\u003c/a\u003e in 1d63bb15)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eFixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix multi port connection string issue (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1222\"\u003e#1222\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/AndrewJackson2020\"\u003e\u003ccode\u003e@​AndrewJackson2020\u003c/code\u003e\u003c/a\u003e in 01c0db7b)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAvoid leaking connections if _can_use_connection fails (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1269\"\u003e#1269\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/yuliy-openai\"\u003e\u003ccode\u003e@​yuliy-openai\u003c/code\u003e\u003c/a\u003e in e94302d2)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eOther\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for EOL Python 3.8 (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1281\"\u003e#1281\u003c/a\u003e)\n(by \u003ca href=\"https://github.com/elprans\"\u003e\u003ccode\u003e@​elprans\u003c/code\u003e\u003c/a\u003e in 6c2c4904)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.30.0\u003c/h2\u003e\n\u003cp\u003eSupport Python 3.13 and PostgreSQL 17.\u003c/p\u003e\n\u003ch1\u003eImprovements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eImplement GSSAPI authentication\n(by \u003ca href=\"https://github.com/eltoder\"\u003e\u003ccode\u003e@​eltoder\u003c/code\u003e\u003c/a\u003e in 1d4e5680 for \u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1122\"\u003e#1122\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement SSPI authentication\n(by \u003ca href=\"https://github.com/eltoder\"\u003e\u003ccode\u003e@​eltoder\u003c/code\u003e\u003c/a\u003e in 1aab2094 for \u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1128\"\u003e#1128\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd initial typings\n(by \u003ca href=\"https://github.com/bryanforbes\"\u003e\u003ccode\u003e@​bryanforbes\u003c/code\u003e\u003c/a\u003e in d42432bf for \u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1127\"\u003e#1127\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow building with Cython 3\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/71775a67277fc0aa5bd2b9f15e848826d7078c4d\"\u003e\u003ccode\u003e71775a6\u003c/code\u003e\u003c/a\u003e asyncpg v0.31.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/508cae6441968ef7613a623fece7083cce66c2b3\"\u003e\u003ccode\u003e508cae6\u003c/code\u003e\u003c/a\u003e Test on PostgreSQL 18 (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1290\"\u003e#1290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/e534e5f15c73525a6509143b3828335517360f1b\"\u003e\u003ccode\u003ee534e5f\u003c/code\u003e\u003c/a\u003e Bump cibuildwheel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/07fe5122a680f5768e39fc28d68c94b185037a52\"\u003e\u003ccode\u003e07fe512\u003c/code\u003e\u003c/a\u003e Bump pgproto\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/648b35f18199ebf2a30009376a6e9060cf7ad789\"\u003e\u003ccode\u003e648b35f\u003c/code\u003e\u003c/a\u003e Bump Cython to 3.2.1 (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1288\"\u003e#1288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/9e42642b9110d206706697921b6e697a0972649d\"\u003e\u003ccode\u003e9e42642\u003c/code\u003e\u003c/a\u003e Add Python 3.14 support, experimental subinterpreter/freethreading support (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/6fe1c494ef5c3069fa9149c48bf9f8f2cd69f95e\"\u003e\u003ccode\u003e6fe1c49\u003c/code\u003e\u003c/a\u003e Move development deps away from extras and into dependency groups (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1280\"\u003e#1280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/7a548166c2b23561915c481bd332013e3a415cfb\"\u003e\u003ccode\u003e7a54816\u003c/code\u003e\u003c/a\u003e Fix a couple of missed Python version guards\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/6c2c4904e61b2cd2f502540730a24e246cff2ebd\"\u003e\u003ccode\u003e6c2c490\u003c/code\u003e\u003c/a\u003e Drop support for EOL Python 3.8 (\u003ca href=\"https://redirect.github.com/MagicStack/asyncpg/issues/1281\"\u003e#1281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MagicStack/asyncpg/commit/4c60ae890d1f3800f889679657357f91a6923568\"\u003e\u003ccode\u003e4c60ae8\u003c/code\u003e\u003c/a\u003e Bump version to 0.31.0.dev0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/MagicStack/asyncpg/compare/v0.29.0...v0.31.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aiosqlite` from 0.20.0 to 0.22.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/omnilib/aiosqlite/blob/main/CHANGELOG.md\"\u003eaiosqlite's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.22.1\u003c/h2\u003e\n\u003cp\u003eBug fix release\u003c/p\u003e\n\u003cp\u003eNOTE: Starting with \u003ccode\u003ev0.22.0\u003c/code\u003e, the \u003ccode\u003eaiosqlite.Connection\u003c/code\u003e object no longer\ninherits from \u003ccode\u003ethreading.Thread\u003c/code\u003e. If not using aiosqlite as a context manager,\nclients must \u003ccode\u003eawait connection.close()\u003c/code\u003e or call \u003ccode\u003econnection.stop()\u003c/code\u003e to ensure\nthe helper thread is completed and terminated correctly. A \u003ccode\u003eResourceWarning\u003c/code\u003e\nwill be emitted for any connection that is garbage collected without being\nclosed or stopped.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded synchronous \u003ccode\u003estop()\u003c/code\u003e method to \u003ccode\u003eaiosqlite.Connection\u003c/code\u003e to enable safe\ncleanup and termination of the background thread without dependence\non having an active event loop (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/370\"\u003e#370\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"text\"\u003e\u003ccode\u003e$ git shortlog -s v0.22.0...v0.22.1\n     2\tAmethyst Reese\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003ev0.22.0\u003c/h2\u003e\n\u003cp\u003eFeature release\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003eset_authorizer\u003c/code\u003e query access controls (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/349\"\u003e#349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWait for transaction queue to complete when closing connection (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/305\"\u003e#305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit warning when connection goes out of scope without being closed (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/355\"\u003e#355\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove dependency on \u003ccode\u003etyping_extensions\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/365\"\u003e#365\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"text\"\u003e\u003ccode\u003e$ git shortlog -s v0.21.0...v0.22.0\n     1\tAlec Berryman\n     1\tAmethyst Reese\n     1\tDavid Andreoletti\n     1\tMarkus Heidelberg\n     1\tbeerpsi\n    19\tdependabot[bot]\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003ev0.21.0\u003c/h2\u003e\n\u003cp\u003eMaintenance release\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix: close connection correctly when BaseException raised in connection (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/317\"\u003e#317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMetadata improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/9b127cecc7de843bf4f343b6da63b641866533fb\"\u003e\u003ccode\u003e9b127ce\u003c/code\u003e\u003c/a\u003e Version bump v0.22.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/5c3f61c1ea49401f2716d8f58d494e76ca766921\"\u003e\u003ccode\u003e5c3f61c\u003c/code\u003e\u003c/a\u003e Improve stop semantics for connections (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/370\"\u003e#370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/a869d73678adbc14472e4ac2c31f4e706efe8ef3\"\u003e\u003ccode\u003ea869d73\u003c/code\u003e\u003c/a\u003e Version bump v0.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/1cd60adcab12347577150a6fa6c7d92b7b86d989\"\u003e\u003ccode\u003e1cd60ad\u003c/code\u003e\u003c/a\u003e Emit warning if connection is deleted before it is closed (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/355\"\u003e#355\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/611d7b4f29fc3d7df6c173b2e79b0892e9d249aa\"\u003e\u003ccode\u003e611d7b4\u003c/code\u003e\u003c/a\u003e Add set_authorizer support for fine-grained access control (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/349\"\u003e#349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/81d00c8f1676851c8634ca98f99e0973083ea75f\"\u003e\u003ccode\u003e81d00c8\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6 (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/7a26722f7e6da6a1ae0febf515b4624794173fcc\"\u003e\u003ccode\u003e7a26722\u003c/code\u003e\u003c/a\u003e Bump coverage[toml] from 7.8.0 to 7.10.7 (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/358\"\u003e#358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/445754087ec452f888cc152debf79590d8a25d86\"\u003e\u003ccode\u003e4457540\u003c/code\u003e\u003c/a\u003e Bump flake8 from 7.2.0 to 7.3.0 (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/346\"\u003e#346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/b650dad318ad72e582b7ba1143cc05f270f8ab6b\"\u003e\u003ccode\u003eb650dad\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/366\"\u003e#366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omnilib/aiosqlite/commit/065ffdd1291693c5e69d2f3efff17e351d9a0163\"\u003e\u003ccode\u003e065ffdd\u003c/code\u003e\u003c/a\u003e Bump mypy from 1.15.0 to 1.19.0 (\u003ca href=\"https://redirect.github.com/omnilib/aiosqlite/issues/367\"\u003e#367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/omnilib/aiosqlite/compare/v0.20.0...v0.22.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `psycopg2-binary` from 2.9.9 to 2.9.11\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psycopg/psycopg2/blob/master/NEWS\"\u003epsycopg2-binary's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eCurrent release\u003c/h2\u003e\n\u003cp\u003eWhat's new in psycopg 2.9.11\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eAvoid a segfault passing more arguments than placeholders if Python is built\nwith assertions enabled (:ticket:\u003ccode\u003e[#1791](https://github.com/psycopg/psycopg2/issues/1791)\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eAdd riscv64 platform...\n\n_Description has been truncated_","html_url":"https://github.com/EdwinAdvine/Youth-and-Urbanism/pull/6","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/EdwinAdvine%2FYouth-and-Urbanism/issues/6","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6/packages"}},{"old_version":"0.3.2","new_version":"0.4.2","update_type":"minor","path":null,"pr_created_at":"2026-03-02T08:27:38.000Z","version_change":"0.3.2 → 0.4.2","issue":{"uuid":"4009967463","node_id":"PR_kwDORV_iMM7HQ7jF","number":31,"state":"open","title":"chore(deps): Bump pgvector from 0.3.2 to 0.4.2","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-02T08:27:38.000Z","updated_at":"2026-03-02T08:27:38.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","packages":[{"name":"pgvector","old_version":"0.3.2","new_version":"0.4.2","repository_url":"https://github.com/pgvector/pgvector-python"}],"path":null,"ecosystem":"pip"},"body":"Bumps [pgvector](https://github.com/pgvector/pgvector-python) from 0.3.2 to 0.4.2.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgvector/pgvector-python/blob/master/CHANGELOG.md\"\u003epgvector's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2 (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 6\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estr\u003c/code\u003e objects for \u003ccode\u003ebit\u003c/code\u003e type with SQLAlchemy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1 (2025-04-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eSparseVector\u003c/code\u003e constructor for SciPy sparse matrices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.0 (2025-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded top-level \u003ccode\u003epgvector\u003c/code\u003e package\u003c/li\u003e\n\u003cli\u003eAdded support for pg8000\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ebytes\u003c/code\u003e to \u003ccode\u003eBit\u003c/code\u003e constructor\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eglobally\u003c/code\u003e option to default to \u003ccode\u003eFalse\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003earrays\u003c/code\u003e option to default to \u003ccode\u003eTrue\u003c/code\u003e for Psycopg 2\u003c/li\u003e\n\u003cli\u003eFixed equality for \u003ccode\u003eVector\u003c/code\u003e, \u003ccode\u003eHalfVector\u003c/code\u003e, \u003ccode\u003eBit\u003c/code\u003e, and \u003ccode\u003eSparseVector\u003c/code\u003e classes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eindices\u003c/code\u003e and \u003ccode\u003evalues\u003c/code\u003e methods of \u003ccode\u003eSparseVector\u003c/code\u003e returning tuple instead of list in some cases\u003c/li\u003e\n\u003cli\u003eDropped support for Python \u0026lt; 3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.6 (2024-10-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003earrays\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.5 (2024-10-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eavg\u003c/code\u003e function with type casting to SQLAlchemy\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eglobally\u003c/code\u003e option for Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.4 (2024-09-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eschema\u003c/code\u003e option for asyncpg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.3.3 (2024-09-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved support for cursor factories with Psycopg 2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/2968f258f9486531bd1340cbda4ff8fcaf06cdc1\"\u003e\u003ccode\u003e2968f25\u003c/code\u003e\u003c/a\u003e Version bump to 0.4.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/674f5ba3410c873d49f50fa9725b95d9db50c674\"\u003e\u003ccode\u003e674f5ba\u003c/code\u003e\u003c/a\u003e Updated checkout action [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e2986daf2b1533cc2c849f7e39350e31d57ac325\"\u003e\u003ccode\u003ee2986da\u003c/code\u003e\u003c/a\u003e Added support for Django 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/e211ba4029f204734f0c001fbb90f6a594d561ae\"\u003e\u003ccode\u003ee211ba4\u003c/code\u003e\u003c/a\u003e Test with Python 3.14 on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/1a72b7571adf3325174b383aca85bfb3a5b925fa\"\u003e\u003ccode\u003e1a72b75\u003c/code\u003e\u003c/a\u003e Updated pgvector on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/c820a53bfb46196551de3c3f59f81b192d890574\"\u003e\u003ccode\u003ec820a53\u003c/code\u003e\u003c/a\u003e Simplified examples [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/caf1a2e0dd7a1ba2ad0ca9f09b50516dcfffcdeb\"\u003e\u003ccode\u003ecaf1a2e\u003c/code\u003e\u003c/a\u003e Added docs for binary quantization with SQLAlchemy [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/dc9a8f959995f009649fd230139ca41193e0a801\"\u003e\u003ccode\u003edc9a8f9\u003c/code\u003e\u003c/a\u003e Added test for binary quantization with re-ranking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/33dee606229489c9ffb0cb5a1cd72bd4705ac618\"\u003e\u003ccode\u003e33dee60\u003c/code\u003e\u003c/a\u003e Added support for str objects for bit type with SQLAlchemy - \u003ca href=\"https://redirect.github.com/pgvector/pgvector-python/issues/137\"\u003e#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgvector/pgvector-python/commit/ee3e71ca2c07a12a8332a3877c0ce14adc9a5da8\"\u003e\u003ccode\u003eee3e71c\u003c/code\u003e\u003c/a\u003e Updated format for license identifier\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgvector/pgvector-python/compare/v0.3.2...v0.4.2\"\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=pgvector\u0026package-manager=pip\u0026previous-version=0.3.2\u0026new-version=0.4.2)](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/shubhamsWEB/NexusCode/pull/31","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/shubhamsWEB%2FNexusCode/issues/31","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/31/packages"}}]}