{"id":26133,"name":"openai-agents","ecosystem":"pip","repository_url":"https://github.com/openai/openai-agents-python","issues_count":77,"created_at":"2025-06-07T04:36:22.803Z","updated_at":"2025-06-07T04:36:22.803Z","purl":"pkg:pypi/openai-agents","metadata":{"id":11403593,"name":"openai-agents","ecosystem":"pypi","description":"OpenAI Agents SDK","homepage":"https://github.com/openai/openai-agents-python","licenses":"MIT License","normalized_licenses":["MIT"],"repository_url":"https://github.com/openai/openai-agents-python","keywords_array":[],"namespace":null,"versions_count":16,"first_release_published_at":"2025-03-04T18:16:20.000Z","latest_release_published_at":"2025-05-21T20:07:37.000Z","latest_release_number":"0.0.16","last_synced_at":"2025-06-03T15:15:51.264Z","created_at":"2025-03-04T18:31:54.210Z","updated_at":"2025-06-03T15:16:19.269Z","registry_url":"https://pypi.org/project/openai-agents/","install_command":"pip install openai-agents --index-url https://pypi.org/simple","documentation_url":"https://openai-agents.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Intended Audience :: Developers","License :: OSI Approved :: MIT License","Operating System :: OS Independent","Programming Language :: Python :: 3","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.9","Topic :: Software Development :: Libraries :: Python Modules","Typing :: Typed"],"normalized_name":"openai-agents"},"repo_metadata":{"id":281887741,"uuid":"946380199","full_name":"openai/openai-agents-python","owner":"openai","description":"A lightweight, powerful framework for multi-agent workflows","archived":false,"fork":false,"pushed_at":"2025-06-02T19:33:39.000Z","size":5126,"stargazers_count":11003,"open_issues_count":196,"forks_count":1586,"subscribers_count":152,"default_branch":"main","last_synced_at":"2025-06-03T04:16:51.397Z","etag":null,"topics":["agents","ai","framework","llm","openai","python"],"latest_commit_sha":null,"homepage":"https://openai.github.io/openai-agents-python/","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/openai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-03-11T03:42:36.000Z","updated_at":"2025-06-03T04:09:59.000Z","dependencies_parsed_at":"2025-03-11T17:48:08.888Z","dependency_job_id":"b2c7ec30-c6c8-40b3-a889-2c365bfbf8fd","html_url":"https://github.com/openai/openai-agents-python","commit_stats":null,"previous_names":["openai/openai-agents-python"],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai%2Fopenai-agents-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai%2Fopenai-agents-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai%2Fopenai-agents-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai%2Fopenai-agents-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openai","download_url":"https://codeload.github.com/openai/openai-agents-python/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai%2Fopenai-agents-python/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":257750544,"owners_count":22596001,"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":"openai","name":"OpenAI","uuid":"14957082","kind":"organization","description":"","email":null,"website":"https://openai.com/","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/14957082?v=4","repositories_count":168,"last_synced_at":"2024-06-07T17:46:10.929Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/openai","funding_links":[],"total_stars":455261,"followers":80613,"following":0,"created_at":"2022-11-09T08:54:56.299Z","updated_at":"2024-06-07T17:46:14.764Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openai","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openai/repositories"},"tags":[{"name":"v0.0.14","sha":"f9763495b86afcf0c421451a92200e1141fa8dcb","kind":"commit","published_at":"2025-04-30T15:15:35.000Z","download_url":"https://codeload.github.com/openai/openai-agents-python/tar.gz/v0.0.14","html_url":"https://github.com/openai/openai-agents-python/releases/tag/v0.0.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai%2Fopenai-agents-python/tags/v0.0.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai%2Fopenai-agents-python/tags/v0.0.14/manifests"},{"name":"v0.0.13","sha":"3bbc7c48cb9ee80ed4b3dfbbd55efddf7f77d6a3","kind":"commit","published_at":"2025-04-24T18:58:38.000Z","download_url":"https://codeload.github.com/openai/openai-agents-python/tar.gz/v0.0.13","html_url":"https://github.com/openai/openai-agents-python/releases/tag/v0.0.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai%2Fopenai-agents-python/tags/v0.0.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai%2Fopenai-agents-python/tags/v0.0.13/manifests"},{"name":"v0.0.12","sha":"83ce49ec7e065a9688783341507b21af6a919de9","kind":"commit","published_at":"2025-04-22T03:06:09.000Z","download_url":"https://codeload.github.com/openai/openai-agents-python/tar.gz/v0.0.12","html_url":"https://github.com/openai/openai-agents-python/releases/tag/v0.0.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai%2Fopenai-agents-python/tags/v0.0.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai%2Fopenai-agents-python/tags/v0.0.12/manifests"},{"name":"v0.0.11","sha":"ca8e8bed5d0f33e8a0bc3eabd5f1b0a183e73765","kind":"commit","published_at":"2025-04-15T18:37:16.000Z","download_url":"https://codeload.github.com/openai/openai-agents-python/tar.gz/v0.0.11","html_url":"https://github.com/openai/openai-agents-python/releases/tag/v0.0.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai%2Fopenai-agents-python/tags/v0.0.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai%2Fopenai-agents-python/tags/v0.0.11/manifests"},{"name":"v0.0.10","sha":"b978b4382ef7e6b7f78982e0d0a9c3c758ec886c","kind":"commit","published_at":"2025-04-15T02:48:01.000Z","download_url":"https://codeload.github.com/openai/openai-agents-python/tar.gz/v0.0.10","html_url":"https://github.com/openai/openai-agents-python/releases/tag/v0.0.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai%2Fopenai-agents-python/tags/v0.0.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai%2Fopenai-agents-python/tags/v0.0.10/manifests"},{"name":"v0.0.9","sha":"9d3d6a58e56e1f2c114ed0530666bd4b50e54449","kind":"commit","published_at":"2025-04-07T23:27:19.000Z","download_url":"https://codeload.github.com/openai/openai-agents-python/tar.gz/v0.0.9","html_url":"https://github.com/openai/openai-agents-python/releases/tag/v0.0.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai%2Fopenai-agents-python/tags/v0.0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai%2Fopenai-agents-python/tags/v0.0.9/manifests"},{"name":"v0.0.8","sha":"0396052dcd0290fceae0cec88ce2a8e5831fd6b0","kind":"commit","published_at":"2025-04-03T23:46:26.000Z","download_url":"https://codeload.github.com/openai/openai-agents-python/tar.gz/v0.0.8","html_url":"https://github.com/openai/openai-agents-python/releases/tag/v0.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai%2Fopenai-agents-python/tags/v0.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai%2Fopenai-agents-python/tags/v0.0.8/manifests"},{"name":"v0.0.7","sha":"7f02967156ba9dde363d440c269792c93dfb32d4","kind":"commit","published_at":"2025-03-26T16:06:24.000Z","download_url":"https://codeload.github.com/openai/openai-agents-python/tar.gz/v0.0.7","html_url":"https://github.com/openai/openai-agents-python/releases/tag/v0.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai%2Fopenai-agents-python/tags/v0.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai%2Fopenai-agents-python/tags/v0.0.7/manifests"},{"name":"v0.0.6","sha":"1e8930d6ae658f6e2f4e45746e52931ff7212076","kind":"commit","published_at":"2025-03-20T17:13:00.000Z","download_url":"https://codeload.github.com/openai/openai-agents-python/tar.gz/v0.0.6","html_url":"https://github.com/openai/openai-agents-python/releases/tag/v0.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai%2Fopenai-agents-python/tags/v0.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai%2Fopenai-agents-python/tags/v0.0.6/manifests"},{"name":"v0.0.5","sha":"82754c7a8539f5a596a9accd2beddd322360b3e1","kind":"commit","published_at":"2025-03-19T16:35:15.000Z","download_url":"https://codeload.github.com/openai/openai-agents-python/tar.gz/v0.0.5","html_url":"https://github.com/openai/openai-agents-python/releases/tag/v0.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai%2Fopenai-agents-python/tags/v0.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai%2Fopenai-agents-python/tags/v0.0.5/manifests"},{"name":"v0.0.4","sha":"691be073399a5a5fe5eaed14e3f2845e27c734ac","kind":"commit","published_at":"2025-03-13T15:19:46.000Z","download_url":"https://codeload.github.com/openai/openai-agents-python/tar.gz/v0.0.4","html_url":"https://github.com/openai/openai-agents-python/releases/tag/v0.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai%2Fopenai-agents-python/tags/v0.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai%2Fopenai-agents-python/tags/v0.0.4/manifests"},{"name":"v0.0.3","sha":"8326dd9fa098bd9da2bfe03adfcbcd88c1ea612e","kind":"commit","published_at":"2025-03-11T22:30:57.000Z","download_url":"https://codeload.github.com/openai/openai-agents-python/tar.gz/v0.0.3","html_url":"https://github.com/openai/openai-agents-python/releases/tag/v0.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai%2Fopenai-agents-python/tags/v0.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai%2Fopenai-agents-python/tags/v0.0.3/manifests"},{"name":"v0.0.2","sha":"72f443149a7b61c0661780ad1c5a2505c6abf6e3","kind":"commit","published_at":"2025-03-11T17:16:04.000Z","download_url":"https://codeload.github.com/openai/openai-agents-python/tar.gz/v0.0.2","html_url":"https://github.com/openai/openai-agents-python/releases/tag/v0.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai%2Fopenai-agents-python/tags/v0.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai%2Fopenai-agents-python/tags/v0.0.2/manifests"},{"name":"v0.0.1","sha":"f21b0c108c9aaaba48b98ca94e9c7b6d68aced2d","kind":"commit","published_at":"2025-03-11T17:09:52.000Z","download_url":"https://codeload.github.com/openai/openai-agents-python/tar.gz/v0.0.1","html_url":"https://github.com/openai/openai-agents-python/releases/tag/v0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai%2Fopenai-agents-python/tags/v0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openai%2Fopenai-agents-python/tags/v0.0.1/manifests"}]},"repo_metadata_updated_at":"2025-06-03T15:16:19.269Z","dependent_packages_count":0,"downloads":856575,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":53.72384373871586,"dependent_packages_count":9.540647396155281,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":31.632245567435568},"purl":"pkg:pypi/openai-agents","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/openai-agents","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/openai-agents","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/openai-agents/dependencies","status":null,"funding_links":[],"critical":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/openai-agents/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/openai-agents/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/openai-agents/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/openai-agents/related_packages","maintainers":[{"uuid":"kwhinnery-openai","login":"kwhinnery-openai","name":null,"email":null,"url":null,"packages_count":1,"html_url":"https://pypi.org/user/kwhinnery-openai/","role":"Owner","created_at":"2025-03-04T20:07:08.233Z","updated_at":"2025-03-04T20:07:08.233Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/kwhinnery-openai/packages"},{"uuid":"rm-openai","login":"rm-openai","name":null,"email":null,"url":null,"packages_count":1,"html_url":"https://pypi.org/user/rm-openai/","role":"Owner","created_at":"2025-03-10T02:12:56.214Z","updated_at":"2025-03-10T02:12:56.214Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/rm-openai/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":690055,"maintainers_count":292646,"namespaces_count":0,"keywords_count":228482,"github":"pypi","metadata":{"funded_packages_count":48953},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-06-05T05:19:27.498Z","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":24,"unique_repositories_count_past_30_days":5,"recent_issues":[{"uuid":"4610972370","node_id":"PR_kwDONtiFDc7jzYl9","number":1976,"state":"open","title":"chore(deps): bump the python-minor-patch group across 1 directory with 14 updates","user":"dependabot[bot]","labels":["ignore-for-release"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-08T07:45:47.000Z","updated_at":"2026-06-08T07:45:56.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-minor-patch","update_count":14,"packages":[{"name":"pytest-asyncio","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/pytest-dev/pytest-asyncio"},{"name":"ruff","old_version":"0.15.13","new_version":"0.15.16","repository_url":"https://github.com/astral-sh/ruff"},{"name":"typer","old_version":"0.25.1","new_version":"0.26.7","repository_url":"https://github.com/fastapi/typer"},{"name":"uvicorn","old_version":"0.47.0","new_version":"0.49.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"openai","old_version":"2.37.0","new_version":"2.41.0","repository_url":"https://github.com/openai/openai-python"},{"name":"mcp","old_version":"1.27.1","new_version":"1.27.2","repository_url":"https://github.com/modelcontextprotocol/python-sdk"},{"name":"fastapi","old_version":"0.136.1","new_version":"0.136.3","repository_url":"https://github.com/fastapi/fastapi"},{"name":"filelock","old_version":"3.29.0","new_version":"3.29.1","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"python-multipart","old_version":"0.0.29","new_version":"0.0.32","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"boto3","old_version":"1.43.9","new_version":"1.43.24","repository_url":"https://github.com/boto/boto3"},{"name":"langgraph","old_version":"1.2.0","new_version":"1.2.4","repository_url":"https://github.com/langchain-ai/langgraph"},{"name":"langchain-core","old_version":"1.4.0","new_version":"1.4.1","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"openai-agents","old_version":"0.17.2","new_version":"0.17.4","repository_url":"https://github.com/openai/openai-agents-python"},{"name":"langchain-openai","old_version":"1.2.1","new_version":"1.2.2","repository_url":"https://github.com/langchain-ai/langchain"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor-patch group with 14 updates in the /python directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `1.3.0` | `1.4.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.13` | `0.15.16` |\n| [typer](https://github.com/fastapi/typer) | `0.25.1` | `0.26.7` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.47.0` | `0.49.0` |\n| [openai](https://github.com/openai/openai-python) | `2.37.0` | `2.41.0` |\n| [mcp](https://github.com/modelcontextprotocol/python-sdk) | `1.27.1` | `1.27.2` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.136.1` | `0.136.3` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.29.0` | `3.29.1` |\n| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.29` | `0.0.32` |\n| [boto3](https://github.com/boto/boto3) | `1.43.9` | `1.43.24` |\n| [langgraph](https://github.com/langchain-ai/langgraph) | `1.2.0` | `1.2.4` |\n| [langchain-core](https://github.com/langchain-ai/langchain) | `1.4.0` | `1.4.1` |\n| [openai-agents](https://github.com/openai/openai-agents-python) | `0.17.2` | `0.17.4` |\n| [langchain-openai](https://github.com/langchain-ai/langchain) | `1.2.1` | `1.2.2` |\n\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 `ruff` from 0.15.13 to 0.15.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.16\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (\u003ccode\u003eASYNC119\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24644\"\u003e#24644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Narrow diagnostic range and exclude cases without exception handlers (\u003ccode\u003ePLW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25440\"\u003e#25440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Treat \u003ccode\u003eyield\u003c/code\u003e before \u003ccode\u003ebreak\u003c/code\u003e from a terminal loop as terminal (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25447\"\u003e#25447\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Avoid flagging \u003ccode\u003eruff:ignore\u003c/code\u003e comments as code (\u003ccode\u003eERA001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25537\"\u003e#25537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Fix \u003ccode\u003eERA001\u003c/code\u003e/\u003ccode\u003eRUF100\u003c/code\u003e conflict when \u003ccode\u003enoqa\u003c/code\u003e is on commented-out code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25414\"\u003e#25414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Avoid removing the \u003ccode\u003eformat\u003c/code\u003e call when it would change behavior (\u003ccode\u003eF523\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25320\"\u003e#25320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid syntax errors in invalid character replacements in f-strings before Python 3.12 (\u003ccode\u003ePLE2510\u003c/code\u003e, \u003ccode\u003ePLE2512\u003c/code\u003e, \u003ccode\u003ePLE2513\u003c/code\u003e, \u003ccode\u003ePLE2514\u003c/code\u003e, \u003ccode\u003ePLE2515\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25544\"\u003e#25544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Avoid converting \u003ccode\u003eformat\u003c/code\u003e calls with more kinds of side effects (\u003ccode\u003eUP032\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25484\"\u003e#25484\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Avoid fixes for ambiguous \u003ccode\u003eargnames\u003c/code\u003e and \u003ccode\u003eargvalues\u003c/code\u003e combinations (\u003ccode\u003ePT006\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24776\"\u003e#24776\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop excess capacity from statement suites during parsing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25368\"\u003e#25368\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epydocstyle\u003c/code\u003e] Improve discoverability of rules enabled for each convention (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24973\"\u003e#24973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Restore example code for Python versions before 3.15 (\u003ccode\u003eRUF017\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25439\"\u003e#25439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix typo \u003ccode\u003ebin/active\u003c/code\u003e → \u003ccode\u003ebin/activate\u003c/code\u003e in tutorial (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25473\"\u003e#25473\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25465\"\u003e#25465\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redslayer112\"\u003e\u003ccode\u003e@​Redslayer112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/koriyoshi2041\"\u003e\u003ccode\u003e@​koriyoshi2041\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/George-Ogden\"\u003e\u003ccode\u003e@​George-Ogden\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TejasAmle\"\u003e\u003ccode\u003e@​TejasAmle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/loganrosen\"\u003e\u003ccode\u003e@​loganrosen\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RafaelJohn9\"\u003e\u003ccode\u003e@​RafaelJohn9\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.16\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (\u003ccode\u003eASYNC119\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24644\"\u003e#24644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Narrow diagnostic range and exclude cases without exception handlers (\u003ccode\u003ePLW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25440\"\u003e#25440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Treat \u003ccode\u003eyield\u003c/code\u003e before \u003ccode\u003ebreak\u003c/code\u003e from a terminal loop as terminal (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25447\"\u003e#25447\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Avoid flagging \u003ccode\u003eruff:ignore\u003c/code\u003e comments as code (\u003ccode\u003eERA001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25537\"\u003e#25537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Fix \u003ccode\u003eERA001\u003c/code\u003e/\u003ccode\u003eRUF100\u003c/code\u003e conflict when \u003ccode\u003enoqa\u003c/code\u003e is on commented-out code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25414\"\u003e#25414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Avoid removing the \u003ccode\u003eformat\u003c/code\u003e call when it would change behavior (\u003ccode\u003eF523\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25320\"\u003e#25320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid syntax errors in invalid character replacements in f-strings before Python 3.12 (\u003ccode\u003ePLE2510\u003c/code\u003e, \u003ccode\u003ePLE2512\u003c/code\u003e, \u003ccode\u003ePLE2513\u003c/code\u003e, \u003ccode\u003ePLE2514\u003c/code\u003e, \u003ccode\u003ePLE2515\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25544\"\u003e#25544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Avoid converting \u003ccode\u003eformat\u003c/code\u003e calls with more kinds of side effects (\u003ccode\u003eUP032\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25484\"\u003e#25484\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Avoid fixes for ambiguous \u003ccode\u003eargnames\u003c/code\u003e and \u003ccode\u003eargvalues\u003c/code\u003e combinations (\u003ccode\u003ePT006\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24776\"\u003e#24776\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop excess capacity from statement suites during parsing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25368\"\u003e#25368\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epydocstyle\u003c/code\u003e] Improve discoverability of rules enabled for each convention (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24973\"\u003e#24973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Restore example code for Python versions before 3.15 (\u003ccode\u003eRUF017\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25439\"\u003e#25439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix typo \u003ccode\u003ebin/active\u003c/code\u003e → \u003ccode\u003ebin/activate\u003c/code\u003e in tutorial (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25473\"\u003e#25473\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25465\"\u003e#25465\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redslayer112\"\u003e\u003ccode\u003e@​Redslayer112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/koriyoshi2041\"\u003e\u003ccode\u003e@​koriyoshi2041\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/George-Ogden\"\u003e\u003ccode\u003e@​George-Ogden\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TejasAmle\"\u003e\u003ccode\u003e@​TejasAmle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/loganrosen\"\u003e\u003ccode\u003e@​loganrosen\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RafaelJohn9\"\u003e\u003ccode\u003e@​RafaelJohn9\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.15.15\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/astral-sh/ruff/commit/6c498ab5394edc5622d7f348e12956bf86203716\"\u003e\u003ccode\u003e6c498ab\u003c/code\u003e\u003c/a\u003e Bump 0.15.16 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25635\"\u003e#25635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e51e132831c4e1c4a5ac00fca4c9256354ab99bf\"\u003e\u003ccode\u003ee51e132\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (`AS...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7c6dcd9f2611999c449143d241c582dedf287964\"\u003e\u003ccode\u003e7c6dcd9\u003c/code\u003e\u003c/a\u003e [ty] Add caching for pattern match narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25613\"\u003e#25613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/27058fc071b542bf06395ba89cabed061d313ca6\"\u003e\u003ccode\u003e27058fc\u003c/code\u003e\u003c/a\u003e [ty] Compact retained definition and expression identities (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25606\"\u003e#25606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/bf80d05f007c939799f530c9e775ed9449f5b2eb\"\u003e\u003ccode\u003ebf80d05\u003c/code\u003e\u003c/a\u003e Fix CODEOWNERS syntax (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25622\"\u003e#25622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/10ccd511e94a81d1e836b174f1c553a73ff3f1b3\"\u003e\u003ccode\u003e10ccd51\u003c/code\u003e\u003c/a\u003e Shrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25465\"\u003e#25465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/0d7135f4d23e7f4d8404daed16b9ef11d14f3fb9\"\u003e\u003ccode\u003e0d7135f\u003c/code\u003e\u003c/a\u003e [ty] Upgrade Salsa (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25545\"\u003e#25545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/49493a3cea83a08fa9aa143695017c816a540f1d\"\u003e\u003ccode\u003e49493a3\u003c/code\u003e\u003c/a\u003e [ty] Show type alias value on hover (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25381\"\u003e#25381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/85207d3b7657a84252f266766cb0d56034dc21cc\"\u003e\u003ccode\u003e85207d3\u003c/code\u003e\u003c/a\u003e [ty] sys.implementation.version is not sys.version_info (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25608\"\u003e#25608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a8a0614348c1fcf47fc9b666eff61a103914d520\"\u003e\u003ccode\u003ea8a0614\u003c/code\u003e\u003c/a\u003e [ty] Avoid retaining duplicate function signatures (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25609\"\u003e#25609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.13...0.15.16\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typer` from 0.25.1 to 0.26.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/typer/releases\"\u003etyper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.26.7\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Respect wait=False when launching URLs with xdg-open. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1820\"\u003e#1820\u003c/a\u003e by \u003ca href=\"https://github.com/patrick91\"\u003e\u003ccode\u003e@​patrick91\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.26.6\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Ensure that the default of a list argument is used correctly. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1821\"\u003e#1821\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Speed up the CI by shuffling the test matrix. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1815\"\u003e#1815\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.26.5\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Ensure that hidden commands are not shown when Rich markup is disabled. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1812\"\u003e#1812\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔥 Remove old stub packages. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1810\"\u003e#1810\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.26.4\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Update AI Library Skill to avoid verbose code for CLI Options. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1808\"\u003e#1808\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Add CI to create draft release after merging a \u003ccode\u003erelease\u003c/code\u003e PR. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1807\"\u003e#1807\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 labeler to accept label \u003ccode\u003erelease\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1806\"\u003e#1806\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 GitHub Action permissions for prepare-release. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1804\"\u003e#1804\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 GitHub Actions prepare release workflow. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1802\"\u003e#1802\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 publish action, do not use uv cache. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1803\"\u003e#1803\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 the python-packages group across 1 directory with 5 updates. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1793\"\u003e#1793\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.26.3\u003c/h2\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Unify the testing functionality. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1792\"\u003e#1792\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Update version of latest-changes GitHub action. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1798\"\u003e#1798\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.26.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Ensure that an envvar set for a \u003ccode\u003etyper.Option\u003c/code\u003e list is split on whitespace. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1791\"\u003e#1791\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/typer/blob/master/docs/release-notes.md\"\u003etyper's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.26.7 (2026-06-03)\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Respect wait=False when launching URLs with xdg-open. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1820\"\u003e#1820\u003c/a\u003e by \u003ca href=\"https://github.com/patrick91\"\u003e\u003ccode\u003e@​patrick91\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.26.6 (2026-06-02)\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Ensure that the default of a list argument is used correctly. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1821\"\u003e#1821\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Speed up the CI by shuffling the test matrix. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1815\"\u003e#1815\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.26.5 (2026-06-01)\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Ensure that hidden commands are not shown when Rich markup is disabled. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1812\"\u003e#1812\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔥 Remove old stub packages. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1810\"\u003e#1810\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.26.4 (2026-05-30)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Update AI Library Skill to avoid verbose code for CLI Options. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1808\"\u003e#1808\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Add CI to create draft release after merging a \u003ccode\u003erelease\u003c/code\u003e PR. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1807\"\u003e#1807\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 labeler to accept label \u003ccode\u003erelease\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1806\"\u003e#1806\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 GitHub Action permissions for prepare-release. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1804\"\u003e#1804\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 GitHub Actions prepare release workflow. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1802\"\u003e#1802\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 publish action, do not use uv cache. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1803\"\u003e#1803\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 the python-packages group across 1 directory with 5 updates. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1793\"\u003e#1793\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.26.3 (2026-05-28)\u003c/h2\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Unify the testing functionality. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1792\"\u003e#1792\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Update version of latest-changes GitHub action. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1798\"\u003e#1798\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/4e10334990db4e7e1e9a71aff363bcae7f7fc76d\"\u003e\u003ccode\u003e4e10334\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.26.7 (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1823\"\u003e#1823\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/08a8a032d3524035505babd5cb52eae93eab3f96\"\u003e\u003ccode\u003e08a8a03\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/8e75bc3565d5dc270cd4ef3b09b5b2abf9f8491a\"\u003e\u003ccode\u003e8e75bc3\u003c/code\u003e\u003c/a\u003e 🐛 Respect wait=False when launching URLs with xdg-open (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1820\"\u003e#1820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/d2e002ab0d0afc9527cfacc00dd4c359a44898e9\"\u003e\u003ccode\u003ed2e002a\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.26.6 (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1822\"\u003e#1822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/2fe5d0c2b63db2243b3f3ad37d9f164791a390b1\"\u003e\u003ccode\u003e2fe5d0c\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/06fce7dc851de662792c840320abe990ddd3566e\"\u003e\u003ccode\u003e06fce7d\u003c/code\u003e\u003c/a\u003e 🐛 Ensure that the default of a list argument is used correctly (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1821\"\u003e#1821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/7f888b24c867458ab9547702720b71dc920c8925\"\u003e\u003ccode\u003e7f888b2\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/2e9bf9e49401e58c59947a28f062566343f94c8f\"\u003e\u003ccode\u003e2e9bf9e\u003c/code\u003e\u003c/a\u003e 👷 Speed up the CI by shuffling the test matrix (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1815\"\u003e#1815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/1888fa2eb494564634a0f9080f4701d71c26225d\"\u003e\u003ccode\u003e1888fa2\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.26.5 (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1813\"\u003e#1813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/a493a98a342b6565c37f9a4100b6eb1ae5a1b410\"\u003e\u003ccode\u003ea493a98\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/typer/compare/0.25.1...0.26.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.47.0 to 0.49.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.49.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump httptools minimum version to 0.8.0 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/2962\"\u003eKludex/uvicorn#2962\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConsume duplicate forwarding headers in ProxyHeadersMiddleware (reverses the 0.48.0 behavior of ignoring them) 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/2971\"\u003eKludex/uvicorn#2971\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.48.0...0.49.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.48.0...0.49.0\u003c/a\u003e\u003c/p\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\u003c/blockquote\u003e\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.49.0 (June 3, 2026)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump \u003ccode\u003ehttptools\u003c/code\u003e minimum version to 0.8.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2962\"\u003e#2962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsume duplicate forwarding headers in \u003ccode\u003eProxyHeadersMiddleware\u003c/code\u003e (reverses the 0.48.0 behavior of ignoring them) (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2971\"\u003e#2971\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\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\u003c/blockquote\u003e\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/3ef2e3e08e3d9ad9572800f8bc54f3eaed9eab0a\"\u003e\u003ccode\u003e3ef2e3e\u003c/code\u003e\u003c/a\u003e Version 0.49.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2973\"\u003e#2973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/eeb64b1d1c95a14096ed3313377c74b485f558fc\"\u003e\u003ccode\u003eeeb64b1\u003c/code\u003e\u003c/a\u003e Consume duplicate forwarding headers in ProxyHeadersMiddleware (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2971\"\u003e#2971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/630f4aca14e79183617c71be714030842a1041c5\"\u003e\u003ccode\u003e630f4ac\u003c/code\u003e\u003c/a\u003e Make the watchfiles reload tests deterministic (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2972\"\u003e#2972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9154922e3730f7aba68ecc3ecbf536680ee8fd1c\"\u003e\u003ccode\u003e9154922\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group across 1 directory with 6 updates ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/739727a1d80e468d1e47e98bbd824ee9e3c9554b\"\u003e\u003ccode\u003e739727a\u003c/code\u003e\u003c/a\u003e Migrate docs deploy from Cloudflare Pages to Workers (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2967\"\u003e#2967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/be4a240488d3fb678a11b8e8f83505266f5f1de7\"\u003e\u003ccode\u003ebe4a240\u003c/code\u003e\u003c/a\u003e Gate docs preview deploy on Cloudflare token presence (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2966\"\u003e#2966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/c489d7e10dfe653a2bba914feedf2a632a026e6f\"\u003e\u003ccode\u003ec489d7e\u003c/code\u003e\u003c/a\u003e Bump httptools minimum version to 0.8.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2962\"\u003e#2962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9f547bd82ef52bcba206e04170b359bd6daa25b3\"\u003e\u003ccode\u003e9f547bd\u003c/code\u003e\u003c/a\u003e Skip docs preview deploy for Dependabot PRs (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2961\"\u003e#2961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/44446b894e37ca76830d6aa83df4349795400ed4\"\u003e\u003ccode\u003e44446b8\u003c/code\u003e\u003c/a\u003e Migrate documentation from MkDocs Material to Zensical (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2959\"\u003e#2959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/cfd659c4f18b526adce9c255c96707bab20af40c\"\u003e\u003ccode\u003ecfd659c\u003c/code\u003e\u003c/a\u003e Bump pymdown-extensions to 10.21.3 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2958\"\u003e#2958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.47.0...0.49.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai` from 2.37.0 to 2.41.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/releases\"\u003eopenai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.41.0\u003c/h2\u003e\n\u003ch2\u003e2.41.0 (2026-06-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.40.0...v2.41.0\"\u003ev2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e responses.moderation and chat_completions.moderation (\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e87e46c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.40.0\u003c/h2\u003e\n\u003ch2\u003e2.40.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.39.0...v2.40.0\"\u003ev2.39.0...v2.40.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 Amazon Bedrock Responses support\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 allow setting bedrock api keys on the client directly (\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e4d5bfde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.39.0\u003c/h2\u003e\n\u003ch2\u003e2.39.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.38.0...v2.39.0\"\u003ev2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e workload identity in audit logs, additional_tools item in responses, fix ActionSearch.query to be optional. (\u003ca href=\"https://github.com/openai/openai-python/commit/ab60d7a52c310bb0490ff36b8bdc33b8d4ea725f\"\u003eab60d7a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.38.0\u003c/h2\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e docs updates (\u003ca href=\"https://github.com/openai/openai-python/commit/ee101520d49e22c09cf8096f8cbb3848ea58a1f9\"\u003eee10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echeck release PR custom code sync (\u003ca href=\"https://github.com/openai/openai-python/commit/2638779a5b8fffaa8fdb6eebc1d734f15d2491f8\"\u003e2638779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove release automation trigger (\u003ca href=\"https://github.com/openai/openai-python/commit/bd6eea559f2996d914258a65e645981bdce3cad4\"\u003ebd6eea5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etrigger release automation (\u003ca href=\"https://github.com/openai/openai-python/commit/f62d08201eea8e08d4bb3385662f934d4adccb29\"\u003ef62d082\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/openai/openai-python/blob/main/CHANGELOG.md\"\u003eopenai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.41.0 (2026-06-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.40.0...v2.41.0\"\u003ev2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e responses.moderation and chat_completions.moderation (\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e87e46c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.40.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.39.0...v2.40.0\"\u003ev2.39.0...v2.40.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 Amazon Bedrock Responses support\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 allow setting bedrock api keys on the client directly (\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e4d5bfde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.39.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.38.0...v2.39.0\"\u003ev2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e workload identity in audit logs, additional_tools item in responses, fix ActionSearch.query to be optional. (\u003ca href=\"https://github.com/openai/openai-python/commit/ab60d7a52c310bb0490ff36b8bdc33b8d4ea725f\"\u003eab60d7a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e docs updates (\u003ca href=\"https://github.com/openai/openai-python/commit/ee101520d49e22c09cf8096f8cbb3848ea58a1f9\"\u003eee10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echeck release PR custom code sync (\u003ca href=\"https://github.com/openai/openai-python/commit/2638779a5b8fffaa8fdb6eebc1d734f15d2491f8\"\u003e2638779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove release automation trigger (\u003ca href=\"https://github.com/openai/openai-python/commit/bd6eea559f2996d914258a65e645981bdce3cad4\"\u003ebd6eea5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etrigger release automation (\u003ca href=\"https://github.com/openai/openai-python/commit/f62d08201eea8e08d4bb3385662f934d4adccb29\"\u003ef62d082\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/openai/openai-python/commit/2d955a1ac69df0288b8072bbcd25905639e9b2ed\"\u003e\u003ccode\u003e2d955a1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3359\"\u003e#3359\u003c/a\u003e from openai/release-please--branches--main--changes-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/519cd027919fa5b73bd8fe237e80c7a01b3e0b2f\"\u003e\u003ccode\u003e519cd02\u003c/code\u003e\u003c/a\u003e release: 2.41.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e\u003ccode\u003e87e46c2\u003c/code\u003e\u003c/a\u003e feat(api): responses.moderation and chat_completions.moderation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a28a3f6aa34f5ac6fcc2fafeb50112f2140c45ae\"\u003e\u003ccode\u003ea28a3f6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3352\"\u003e#3352\u003c/a\u003e from openai/release-please--branches--main--changes-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/db6ccafa7b74b72caefbda6fb63bd5c904521770\"\u003e\u003ccode\u003edb6ccaf\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2264f700dad91e4f570eb7c0a6f10bbd22d34520\"\u003e\u003ccode\u003e2264f70\u003c/code\u003e\u003c/a\u003e release: 2.40.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e\u003ccode\u003e4d5bfde\u003c/code\u003e\u003c/a\u003e fix(api): allow setting bedrock api keys on the client directly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/ccef1436d9f52b5014597047e450eef543a87540\"\u003e\u003ccode\u003eccef143\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3326\"\u003e#3326\u003c/a\u003e from openai/codex/bedrock-responses-review\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a50ff0a19084306a09012ff85f730ea2c129eef9\"\u003e\u003ccode\u003ea50ff0a\u003c/code\u003e\u003c/a\u003e Fix Bedrock with_options overrides\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/fdf4901e301fa01b368ede0b5b407dca42f07acc\"\u003e\u003ccode\u003efdf4901\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.41.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mcp` from 1.27.1 to 1.27.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/releases\"\u003emcp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.27.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[v1.x] ci: deploy docs to py.sdk.modelcontextprotocol.io via Pages artifact by \u003ca href=\"https://github.com/maxisbey\"\u003e\u003ccode\u003e@​maxisbey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2635\"\u003emodelcontextprotocol/python-sdk#2635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[v1.x] Add subject and claims to AccessToken by \u003ca href=\"https://github.com/maxisbey\"\u003e\u003ccode\u003e@​maxisbey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2690\"\u003emodelcontextprotocol/python-sdk#2690\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[v1.x] Bind transport sessions to the authenticated principal by \u003ca href=\"https://github.com/maxisbey\"\u003e\u003ccode\u003e@​maxisbey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2719\"\u003emodelcontextprotocol/python-sdk#2719\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[v1.x] Scope experimental tasks to the session that created them by \u003ca href=\"https://github.com/maxisbey\"\u003e\u003ccode\u003e@​maxisbey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2720\"\u003emodelcontextprotocol/python-sdk#2720\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v1.27.1...v1.27.2\"\u003ehttps://github.com/modelcontextprotocol/python-sdk/compare/v1.27.1...v1.27.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/modelcontextprotocol/python-sdk/commit/62137874ff26dd74d2fea80ff528a7fd9ca7a5e7\"\u003e\u003ccode\u003e6213787\u003c/code\u003e\u003c/a\u003e [v1.x] Scope experimental tasks to the session that created them (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/2720\"\u003e#2720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/ce267b6fc515dc4efc1dc70b6975b16ff0feef0a\"\u003e\u003ccode\u003ece267b6\u003c/code\u003e\u003c/a\u003e [v1.x] Bind transport sessions to the authenticated principal (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/2719\"\u003e#2719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/1abcca2408a6b50e10ec601181f63f9978705c00\"\u003e\u003ccode\u003e1abcca2\u003c/code\u003e\u003c/a\u003e [v1.x] Add subject and claims to AccessToken (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/2690\"\u003e#2690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/9773a3f75edab3157253c8e612db1bc338cb9a1b\"\u003e\u003ccode\u003e9773a3f\u003c/code\u003e\u003c/a\u003e [v1.x] ci: deploy docs to py.sdk.modelcontextprotocol.io via Pages artifact (...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v1.27.1...v1.27.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\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 `filelock` from 3.29.0 to 3.29.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/py-filelock/releases\"\u003efilelock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.29.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs: fix API docs of \u003ccode\u003erelease()\u003c/code\u003e by \u003ca href=\"https://github.com/MrAnno\"\u003e\u003ccode\u003e@​MrAnno\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/540\"\u003etox-dev/filelock#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: clarify per-thread scope of FileLock configuration by \u003ca href=\"https://github.com/Gares95\"\u003e\u003ccode\u003e@​Gares95\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/543\"\u003etox-dev/filelock#543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: improve filelock maintenance path by \u003ca href=\"https://github.com/lphuc2250gma\"\u003e\u003ccode\u003e@​lphuc2250gma\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/542\"\u003etox-dev/filelock#542\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: improve filelock maintenance path by \u003ca href=\"https://github.com/lphuc2250gma\"\u003e\u003ccode\u003e@​lphuc2250gma\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/544\"\u003etox-dev/filelock#544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: improve filelock maintenance path by \u003ca href=\"https://github.com/lphuc2250gma\"\u003e\u003ccode\u003e@​lphuc2250gma\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/545\"\u003etox-dev/filelock#545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): refuse to follow symlinks when reading the lock file by \u003ca href=\"https://github.com/dxbjavid\"\u003e\u003ccode\u003e@​dxbjavid\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/548\"\u003etox-dev/filelock#548\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MrAnno\"\u003e\u003ccode\u003e@​MrAnno\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/540\"\u003etox-dev/filelock#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Gares95\"\u003e\u003ccode\u003e@​Gares95\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/543\"\u003etox-dev/filelock#543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lphuc2250gma\"\u003e\u003ccode\u003e@​lphuc2250gma\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/542\"\u003etox-dev/filelock#542\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dxbjavid\"\u003e\u003ccode\u003e@​dxbjavid\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/548\"\u003etox-dev/filelock#548\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/filelock/compare/3.29.0...3.29.1\"\u003ehttps://github.com/tox-dev/filelock/compare/3.29.0...3.29.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/tox-dev/filelock/blob/main/docs/changelog.rst\"\u003efilelock's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e###########\nChangelog\n###########\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003e3.29.1 (2026-06-03)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(soft): refuse to follow symlinks when reading the lock file :pr:\u003ccode\u003e548\u003c/code\u003e - by :user:\u003ccode\u003edxbjavid\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate :pr:\u003ccode\u003e547\u003c/code\u003e - by :user:\u003ccode\u003epre-commit-ci[bot]\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate :pr:\u003ccode\u003e546\u003c/code\u003e - by :user:\u003ccode\u003epre-commit-ci[bot]\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003echore: improve filelock maintenance path :pr:\u003ccode\u003e545\u003c/code\u003e - by :user:\u003ccode\u003elphuc2250gma\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003echore: improve filelock maintenance path :pr:\u003ccode\u003e544\u003c/code\u003e - by :user:\u003ccode\u003elphuc2250gma\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003echore: improve filelock maintenance path :pr:\u003ccode\u003e542\u003c/code\u003e - by :user:\u003ccode\u003elphuc2250gma\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edocs: clarify per-thread scope of FileLock configuration :pr:\u003ccode\u003e543\u003c/code\u003e - by :user:\u003ccode\u003eGares95\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate :pr:\u003ccode\u003e541\u003c/code\u003e - by :user:\u003ccode\u003epre-commit-ci[bot]\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix API docs of \u003ccode\u003erelease()\u003c/code\u003e :pr:\u003ccode\u003e540\u003c/code\u003e - by :user:\u003ccode\u003eMrAnno\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate :pr:\u003ccode\u003e539\u003c/code\u003e - by :user:\u003ccode\u003epre-commit-ci[bot]\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate :pr:\u003ccode\u003e538\u003c/code\u003e - by :user:\u003ccode\u003epre-commit-ci[bot]\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate :pr:\u003ccode\u003e537\u003c/code\u003e - by :user:\u003ccode\u003epre-commit-ci[bot]\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump astral-sh/setup-uv from 8.0.0 to 8.1.0 :pr:\u003ccode\u003e536\u003c/code\u003e - by :user:\u003ccode\u003edependabot[bot]\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate :pr:\u003ccode\u003e535\u003c/code\u003e - by :user:\u003ccode\u003epre-commit-ci[bot]\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e3.29.0 (2026-04-19)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e✨ feat(soft): enable stale lock detection on Windows :pr:\u003ccode\u003e534\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(async): use single-thread executor for lock consistency :pr:\u003ccode\u003e533\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 :pr:\u003ccode\u003e530\u003c/code\u003e - by :user:\u003ccode\u003edependabot[bot]\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e3.28.0 (2026-04-14)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(ci): unbreak release workflow, publish to PyPI again :pr:\u003ccode\u003e529\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e3.26.1 (2026-04-09)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(asyncio): add \u003cstrong\u003eexit\u003c/strong\u003e to BaseAsyncFileLock and fix \u003cstrong\u003edel\u003c/strong\u003e loop handling :pr:\u003ccode\u003e518\u003c/code\u003e - by :user:\u003ccode\u003enaarob\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump pypa/gh-action-pypi-publish from 1.13.0 to 1.14.0 :pr:\u003ccode\u003e525\u003c/code\u003e - by :user:\u003ccode\u003edependabot[bot]\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e3.26.0 (2026-04-06)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e✨ feat(soft): add PID inspection and lock breaking :pr:\u003ccode\u003e524\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate :pr:\u003ccode\u003e523\u003c/code\u003e - by :user:\u003ccode\u003epre-commit-ci[bot]\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/tox-dev/filelock/commit/438b6fe991411a104a01baa543a9466c73f1fc79\"\u003e\u003ccode\u003e438b6fe\u003c/code\u003e\u003c/a\u003e Release 3.29.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/bfbfa76c1b5069a7af1cbcddafe22fbf3f1a1aae\"\u003e\u003ccode\u003ebfbfa76\u003c/code\u003e\u003c/a\u003e 🐛 fix(soft): refuse to follow symlinks when reading the lock file (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/548\"\u003e#548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/c51a72cb4913a1e451f892d238b81e39f4f64340\"\u003e\u003ccode\u003ec51a72c\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/547\"\u003e#547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/cc05fd7f91030bc7f93c1467e3d7fbd3d401d624\"\u003e\u003ccode\u003ecc05fd7\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/546\"\u003e#546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/cb947e58c22d8f352abe8ae02078596eeb33fd2f\"\u003e\u003ccode\u003ecb947e5\u003c/code\u003e\u003c/a\u003e chore: improve filelock maintenance path (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/545\"\u003e#545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/e087ca9d94091336c4256f3a6794b5dfed9595e4\"\u003e\u003ccode\u003ee087ca9\u003c/code\u003e\u003c/a\u003e chore: improve filelock maintenance path (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/544\"\u003e#544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/f9dd949b1976c9d124e9cd6b15102bfb8340ba4d\"\u003e\u003ccode\u003ef9dd949\u003c/code\u003e\u003c/a\u003e chore: improve filelock maintenance path (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/542\"\u003e#542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/9200f1f53d924d6425cc663af03f9835bf53382a\"\u003e\u003ccode\u003e9200f1f\u003c/code\u003e\u003c/a\u003e docs: clarify per-thread scope of FileLock configuration (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/543\"\u003e#543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/9d8985fc953d1301a56a74bc58d8a6b580bce5fa\"\u003e\u003ccode\u003e9d8985f\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/541\"\u003e#541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/7d1f48ccef189397896e55e4121d0fa74edb3be2\"\u003e\u003ccode\u003e7d1f48c\u003c/code\u003e\u003c/a\u003e docs: fix API docs of \u003ccode\u003erelease()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/540\"\u003e#540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/py-filelock/compare/3.29.0...3.29.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.29 to 0.0.32\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.32\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace per-byte partial-boundary scan with rfind lookbehind 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/300\"\u003eKludex/python-multipart#300\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.31...0.0.32\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.31...0.0.32\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.31\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up multipart header parsing and callback dispatch 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/295\"\u003eKludex/python-multipart#295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBound header field name size before validating 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/296\"\u003eKludex/python-multipart#296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eValidate Content-Length is non-negative in parse_form 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/297\"\u003eKludex/python-multipart#297\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.30...0.0.31\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.30...0.0.31\u003c/a\u003e\u003c/p\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\u003c/blockquote\u003e\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.32 (2026-06-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up partial-boundary scanning for CR/LF-dense part data \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/300\"\u003e#300\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.31 (2026-06-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up multipart header parsing and callback dispatch \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/295\"\u003e#295\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBound header field name size before validating \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/296\"\u003e#296\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eValidate \u003ccode\u003eContent-Length\u003c/code\u003e is non-negative in \u003ccode\u003eparse_form\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/297\"\u003e#297\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.30 (2026-05-31)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eParse \u003ccode\u003eap...\n\n_Description has been truncated_","html_url":"https://github.com/kagent-dev/kagent/pull/1976","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kagent-dev%2Fkagent/issues/1976","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1976/packages"},{"uuid":"4520310526","node_id":"PR_kwDOSKFNzM7fNcsi","number":38,"state":"open","title":"chore(deps): bump the python-minor-patch group across 1 directory with 28 updates","user":"dependabot[bot]","labels":["ignore-for-release"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-26T00:23:31.000Z","updated_at":"2026-05-26T00:23:40.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-minor-patch","update_count":28,"packages":[{"name":"ruff","old_version":"0.15.11","new_version":"0.15.14","repository_url":"https://github.com/astral-sh/ruff"},{"name":"authlib","old_version":"1.7.0","new_version":"1.7.2","repository_url":"https://github.com/authlib/authlib"},{"name":"google-auth","old_version":"2.47.0","new_version":"2.53.0","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"pydantic","old_version":"2.12.5","new_version":"2.13.4","repository_url":"https://github.com/pydantic/pydantic"},{"name":"typing-extensions","old_version":"4.14.1","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"anyio","old_version":"4.10.0","new_version":"4.13.0","repository_url":"https://github.com/agronholm/anyio"},{"name":"typer","old_version":"0.16.0","new_version":"0.25.1","repository_url":"https://github.com/fastapi/typer"},{"name":"uvicorn","old_version":"0.35.0","new_version":"0.48.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"openai","old_version":"2.14.0","new_version":"2.38.0","repository_url":"https://github.com/openai/openai-python"},{"name":"mcp","old_version":"1.25.0","new_version":"1.27.1","repository_url":"https://github.com/modelcontextprotocol/python-sdk"},{"name":"fastapi","old_version":"0.129.0","new_version":"0.136.3","repository_url":"https://github.com/fastapi/fastapi"},{"name":"urllib3","old_version":"2.6.3","new_version":"2.7.0","repository_url":"https://github.com/urllib3/urllib3"},{"name":"filelock","old_version":"3.20.3","new_version":"3.29.0","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"python-multipart","old_version":"0.0.22","new_version":"0.0.29","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"boto3","old_version":"1.42.28","new_version":"1.43.14","repository_url":"https://github.com/boto/boto3"},{"name":"ollama","old_version":"0.6.1","new_version":"0.6.2","repository_url":"https://github.com/ollama/ollama-python"},{"name":"psutil","old_version":"7.0.0","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"opentelemetry-instrumentation-openai","old_version":"0.52.5","new_version":"0.60.0","repository_url":"https://github.com/traceloop/openllmetry"},{"name":"langgraph","old_version":"1.0.6","new_version":"1.2.1","repository_url":"https://github.com/langchain-ai/langgraph"},{"name":"openai-agents","old_version":"0.6.5","new_version":"0.17.3","repository_url":"https://github.com/openai/openai-agents-python"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"langchain-openai","old_version":"1.1.7","new_version":"1.2.2","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langgraph-checkpoint-sqlite","old_version":"3.0.3","new_version":"3.1.0","repository_url":"https://github.com/langchain-ai/langgraph"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor-patch group with 23 updates in the /python directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.11` | `0.15.14` |\n| [authlib](https://github.com/authlib/authlib) | `1.7.0` | `1.7.2` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.47.0` | `2.53.0` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.12.5` | `2.13.4` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.14.1` | `4.15.0` |\n| [anyio](https://github.com/agronholm/anyio) | `4.10.0` | `4.13.0` |\n| [typer](https://github.com/fastapi/typer) | `0.16.0` | `0.25.1` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.35.0` | `0.48.0` |\n| [openai](https://github.com/openai/openai-python) | `2.14.0` | `2.38.0` |\n| [mcp](https://github.com/modelcontextprotocol/python-sdk) | `1.25.0` | `1.27.1` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.129.0` | `0.136.3` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.6.3` | `2.7.0` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.20.3` | `3.29.0` |\n| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.22` | `0.0.29` |\n| [boto3](https://github.com/boto/boto3) | `1.42.28` | `1.43.14` |\n| [ollama](https://github.com/ollama/ollama-python) | `0.6.1` | `0.6.2` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [opentelemetry-instrumentation-openai](https://github.com/traceloop/openllmetry) | `0.52.5` | `0.60.0` |\n| [langgraph](https://github.com/langchain-ai/langgraph) | `1.0.6` | `1.2.1` |\n| [openai-agents](https://github.com/openai/openai-agents-python) | `0.6.5` | `0.17.3` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [langchain-openai](https://github.com/langchain-ai/langchain) | `1.1.7` | `1.2.2` |\n| [langgraph-checkpoint-sqlite](https://github.com/langchain-ai/langgraph) | `3.0.3` | `3.1.0` |\n\n\nUpdates `ruff` from 0.15.11 to 0.15.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.14\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-21.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Implement \u003ccode\u003eairflow-task-implicit-multiple-outputs\u003c/code\u003e (\u003ccode\u003eAIR202\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25152\"\u003e#25152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark \u003ccode\u003ePTH101\u003c/code\u003e fix as unsafe when first argument is a class attribute annotated as \u003ccode\u003eint\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25086\"\u003e#25086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Implement \u003ccode\u003etoo-many-try-statements\u003c/code\u003e (\u003ccode\u003eW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23970\"\u003e#23970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003eincorrect-decorator-order\u003c/code\u003e (\u003ccode\u003eRUF074\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23461\"\u003e#23461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003efallible-context-manager\u003c/code\u003e (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22844\"\u003e#22844\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix lambda formatting in interpolated string expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25144\"\u003e#25144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat generic \u003ccode\u003efrozenset\u003c/code\u003e annotations as immutable (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25251\"\u003e#25251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Avoid \u003ccode\u003estrict\u003c/code\u003e behavior when \u003ccode\u003efuture-annotations\u003c/code\u003e are enabled (\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, \u003ccode\u003eTC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25035\"\u003e#25035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid false positives in \u003ccode\u003eelse\u003c/code\u003e clause (\u003ccode\u003ePLR1733\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25177\"\u003e#25177\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Skip \u003ccode\u003eC417\u003c/code\u003e for lambdas with positional-only parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25272\"\u003e#25272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Preserve f-string source verbatim in \u003ccode\u003eSIM101\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25061\"\u003e#25061\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid unnecessary parser lookahead for operators (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25290\"\u003e#25290\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate code example setting Neovim LSP log level (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25284\"\u003e#25284\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd full PEP 798 support (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25104\"\u003e#25104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a parser recursion limit (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24810\"\u003e#24810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate various \u003ccode\u003eruff_python_stdlib\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25273\"\u003e#25273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ocaballeror\"\u003e\u003ccode\u003e@​ocaballeror\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lerebear\"\u003e\u003ccode\u003e@​lerebear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samuelcolvin\"\u003e\u003ccode\u003e@​samuelcolvin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baltasarblanco\"\u003e\u003ccode\u003e@​baltasarblanco\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aconal-com\"\u003e\u003ccode\u003e@​aconal-com\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JelleZijlstra\"\u003e\u003ccode\u003e@​JelleZijlstra\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AlexWaygood\"\u003e\u003ccode\u003e@​AlexWaygood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.14\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-21.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Implement \u003ccode\u003eairflow-task-implicit-multiple-outputs\u003c/code\u003e (\u003ccode\u003eAIR202\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25152\"\u003e#25152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark \u003ccode\u003ePTH101\u003c/code\u003e fix as unsafe when first argument is a class attribute annotated as \u003ccode\u003eint\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25086\"\u003e#25086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Implement \u003ccode\u003etoo-many-try-statements\u003c/code\u003e (\u003ccode\u003eW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23970\"\u003e#23970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003eincorrect-decorator-order\u003c/code\u003e (\u003ccode\u003eRUF074\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23461\"\u003e#23461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003efallible-context-manager\u003c/code\u003e (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22844\"\u003e#22844\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix lambda formatting in interpolated string expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25144\"\u003e#25144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat generic \u003ccode\u003efrozenset\u003c/code\u003e annotations as immutable (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25251\"\u003e#25251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Avoid \u003ccode\u003estrict\u003c/code\u003e behavior when \u003ccode\u003efuture-annotations\u003c/code\u003e are enabled (\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, \u003ccode\u003eTC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25035\"\u003e#25035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid false positives in \u003ccode\u003eelse\u003c/code\u003e clause (\u003ccode\u003ePLR1733\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25177\"\u003e#25177\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Skip \u003ccode\u003eC417\u003c/code\u003e for lambdas with positional-only parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25272\"\u003e#25272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Preserve f-string source verbatim in \u003ccode\u003eSIM101\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25061\"\u003e#25061\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid unnecessary parser lookahead for operators (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25290\"\u003e#25290\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate code example setting Neovim LSP log level (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25284\"\u003e#25284\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd full PEP 798 support (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25104\"\u003e#25104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a parser recursion limit (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24810\"\u003e#24810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate various \u003ccode\u003eruff_python_stdlib\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25273\"\u003e#25273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ocaballeror\"\u003e\u003ccode\u003e@​ocaballeror\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lerebear\"\u003e\u003ccode\u003e@​lerebear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samuelcolvin\"\u003e\u003ccode\u003e@​samuelcolvin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baltasarblanco\"\u003e\u003ccode\u003e@​baltasarblanco\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aconal-com\"\u003e\u003ccode\u003e@​aconal-com\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JelleZijlstra\"\u003e\u003ccode\u003e@​JelleZijlstra\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AlexWaygood\"\u003e\u003ccode\u003e@​AlexWaygood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9ad2da3015e5faf73bdc5f1d09df3e47238e3edf\"\u003e\u003ccode\u003e9ad2da3\u003c/code\u003e\u003c/a\u003e Bump 0.15.14 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25295\"\u003e#25295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c714e84952510696c05ec21b0158a3548898f594\"\u003e\u003ccode\u003ec714e84\u003c/code\u003e\u003c/a\u003e [ty] Modernize setup of union types in mdtests (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25291\"\u003e#25291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8a8e35ebfe318e2467a0f276e5d1a3a9032a55ad\"\u003e\u003ccode\u003e8a8e35e\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Skip \u003ccode\u003eC417\u003c/code\u003e for lambdas with positional-only parame...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/aea5ed4d278017057c2e842c6c3a2e92ad71495f\"\u003e\u003ccode\u003eaea5ed4\u003c/code\u003e\u003c/a\u003e Avoid unnecessary parser lookahead for operators (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25290\"\u003e#25290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e9d72bb420f26c23e6660bfce4dfa0028b931bff\"\u003e\u003ccode\u003ee9d72bb\u003c/code\u003e\u003c/a\u003e [ty] Allow enum member accesses on \u003ccode\u003eself\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25077\"\u003e#25077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/6cbd59b511a92d5f408db57bde33367c0d47b672\"\u003e\u003ccode\u003e6cbd59b\u003c/code\u003e\u003c/a\u003e Set \u003ccode\u003eexclude-newer = \u0026quot;7 days\u0026quot;\u003c/code\u003e in our PEP-723 scripts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25285\"\u003e#25285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9999a3967ae28fe3295131e8883b6947f272a076\"\u003e\u003ccode\u003e9999a39\u003c/code\u003e\u003c/a\u003e Update code example on how to update Neovim LSP log level (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25284\"\u003e#25284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/67d8c544f0d1c526a2fc60d4bb1358fd7956d178\"\u003e\u003ccode\u003e67d8c54\u003c/code\u003e\u003c/a\u003e [ty] Retain recursively-defined state in binary expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25277\"\u003e#25277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/25a3191140dc0467f9d196f35c128fefde269261\"\u003e\u003ccode\u003e25a3191\u003c/code\u003e\u003c/a\u003e [ty] Refine Callable class-decorator fallback for unknown results (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25250\"\u003e#25250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c423054dc09e5b644c926b6b527b6accfbe693e9\"\u003e\u003ccode\u003ec423054\u003c/code\u003e\u003c/a\u003e Add a recursion limit to the parser (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24810\"\u003e#24810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.11...0.15.14\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `authlib` from 1.7.0 to 1.7.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/authlib/authlib/releases\"\u003eauthlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.7.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix the readme links by \u003ca href=\"https://github.com/azmeuk\"\u003e\u003ccode\u003e@​azmeuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/886\"\u003eauthlib/authlib#886\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow non-recommended algorithms in ClientSecretJWT and PrivateKey by \u003ca href=\"https://github.com/azmeuk\"\u003e\u003ccode\u003e@​azmeuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/887\"\u003eauthlib/authlib#887\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eValidate BCP47 language tags with a regex by \u003ca href=\"https://github.com/azmeuk\"\u003e\u003ccode\u003e@​azmeuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/873\"\u003eauthlib/authlib#873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix RFC7523 signing with non RSA keys by \u003ca href=\"https://github.com/azmeuk\"\u003e\u003ccode\u003e@​azmeuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/884\"\u003eauthlib/authlib#884\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/authlib/authlib/compare/v1.7.1...v1.7.2\"\u003ehttps://github.com/authlib/authlib/compare/v1.7.1...v1.7.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.7.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix authlib.jose deprecation warning poping from _joserfc_helpers by \u003ca href=\"https://github.com/azmeuk\"\u003e\u003ccode\u003e@​azmeuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/881\"\u003eauthlib/authlib#881\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix redirecting to unvalidated \u003ccode\u003eredirect_uri\u003c/code\u003e on \u003ccode\u003eInvalidScopeError\u003c/code\u003e  in \u003ccode\u003eOpenIDImplicitGrant\u003c/code\u003e and \u003ccode\u003eOpenIDHybridGrant\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/authlib/authlib/compare/v1.7.0...v1.7.1\"\u003ehttps://github.com/authlib/authlib/compare/v1.7.0...v1.7.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/authlib/authlib/commit/a0b76fac3fa114d7759af2010546bfc332364b63\"\u003e\u003ccode\u003ea0b76fa\u003c/code\u003e\u003c/a\u003e chore: bump to 1.7.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/c85c7f2b02faf2667f62b27aa60df042dbc9b4ab\"\u003e\u003ccode\u003ec85c7f2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/884\"\u003e#884\u003c/a\u003e from azmeuk/852-rfc7523-key-import\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/a3b2adda43b4452ba9f384d224f95848974b4eb4\"\u003e\u003ccode\u003ea3b2add\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/873\"\u003e#873\u003c/a\u003e from azmeuk/bcp47\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/f2578eaa198aedbaaaf3bb00eccc451e15e45e3a\"\u003e\u003ccode\u003ef2578ea\u003c/code\u003e\u003c/a\u003e fix: Import RSAKey in auth.py for additional key support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/b57182cf46a53da19623208dd852270ddec8ebcc\"\u003e\u003ccode\u003eb57182c\u003c/code\u003e\u003c/a\u003e fix: fallback support RSAKey when client_secret is text\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/4e7590292ca9f948a0766640b27025618750e6c1\"\u003e\u003ccode\u003e4e75902\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into 852-rfc7523-key-import\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/5eb4a860600ea2f3acc1a2a9c3e621a430da9d0f\"\u003e\u003ccode\u003e5eb4a86\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/887\"\u003e#887\u003c/a\u003e from azmeuk/883-alg\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/5633f37c47bd8352b962f982cb916bc8b95bb5d5\"\u003e\u003ccode\u003e5633f37\u003c/code\u003e\u003c/a\u003e fix: allow non-recommended algorithms in ClientSecretJWT and PrivateKeyJWT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/4c8e7b381aaef68f60e2323a25ba96cdb346f82f\"\u003e\u003ccode\u003e4c8e7b3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/886\"\u003e#886\u003c/a\u003e from azmeuk/885-readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/23b333e48a17ebf9f032a0e0f9eb3f990a06f97b\"\u003e\u003ccode\u003e23b333e\u003c/code\u003e\u003c/a\u003e docs: fix the readme links\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/authlib/authlib/compare/v1.7.0...v1.7.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-auth` from 2.47.0 to 2.53.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/releases\"\u003egoogle-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.49.0.dev0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.48.0...v2.49.0-dev0\"\u003e2.49.0-dev0\u003c/a\u003e (2026-01-26)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eremove deprecated rsa dependency (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/e98cf69284d3620619a70b54fb0b9533caf11878\"\u003ee98cf69284d3620619a70b54fb0b9533caf11878\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-auth 2.48.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.47.0...v2.48.0\"\u003e2.48.0\u003c/a\u003e (2026-01-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ehonor \u003ccode\u003eNO_GCE_CHECK\u003c/code\u003e environment variable (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1610\"\u003e#1610\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/383c9827\"\u003e383c9827\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd configurable GCE Metadata Server retries (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1488\"\u003e#1488\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/454b441b\"\u003e454b441b\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd cryptography as required dependency (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1929\"\u003e#1929\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/52558ae2\"\u003e52558ae2\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport the mTLS IAM domain for Certificate based Access (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1938\"\u003e#1938\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/8dcf91a1\"\u003e8dcf91a1\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\u003e\n\u003cp\u003eresolve circular imports (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1942\"\u003e#1942\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/25c1b064\"\u003e25c1b064\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse \u003ccode\u003euser_verification=preferred\u003c/code\u003e for ReAuth WebAuthn challenge (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1798\"\u003e#1798\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/3f88a240\"\u003e3f88a240\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eremoves \u003ccode\u003econtent-header\u003c/code\u003e from AWS IMDS get request (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1934\"\u003e#1934\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/97bfea9e\"\u003e97bfea9e\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edetect correct auth when ADC env var is set but empty (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1374\"\u003e#1374\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/bfc07e10\"\u003ebfc07e10\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ereplace deprecated utcfromtimestamp (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1799\"\u003e#1799\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/e431f20c\"\u003ee431f20c\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.48.0rc0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.47.0...v2.48.0rc0\"\u003e2.48.0rc0\u003c/a\u003e (2026-01-20)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehonor NO_GCE_CHECK environment variable (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1610\"\u003e#1610\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/383c9827536d9376e8248370ce4c2b83e468d027\"\u003e383c98\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd configurable GCE Metadata Server retries (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1488\"\u003e#1488\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/454b441b478ec62bbf1a6ad5bceb6c7cbbfd0c37\"\u003e454b44\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport mTLS IAM domain for Certificate based Access (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1938\"\u003e#1938\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/8dcf91a1b05c85fbbd0bcee78d66e498099102ab\"\u003e8dcf91\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd cryptography as required dependency (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1929\"\u003e#1929\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/52558ae2881b1e6555f6f5c0d76365c15807ead9\"\u003e52558a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse user_verification=preferred for ReAuth WebAuthn challenge (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1798\"\u003e#1798\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/3f88a24089c4ee6822d510de0db210b54260d873\"\u003e3f88a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated utcfromtimestamp (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1799\"\u003e#1799\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/e431f20cf73ccac71926a23ec454468cea92e053\"\u003ee431f2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edetect correct auth when ADC env var is set by empty (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1374\"\u003e#1374\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/bfc07e1050bd0aa86fa3b08cdf70c9b68b5fe6a2\"\u003ebfc07e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremoved content-header from AWS IMDS (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1934\"\u003e#1934\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/97bfea9e02ede953fc8ee154e0deed3a3cfc6dcc\"\u003e97bfea\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/google-auth-library-python/blob/main/CHANGELOG.md\"\u003egoogle-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://pypi.org/project/google-auth/#history\"\u003ePyPI History\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.47.0...v2.48.0\"\u003e2.48.0\u003c/a\u003e (2026-01-22)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd cryptography as required dependency (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1929\"\u003e#1929\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/52558ae2881b1e6555f6f5c0d76365c15807ead9\"\u003e52558ae2881b1e6555f6f5c0d76365c15807ead9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport the mTLS IAM domain for Certificate based Access (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1938\"\u003e#1938\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/8dcf91a1b05c85fbbd0bcee78d66e498099102ab\"\u003e8dcf91a1b05c85fbbd0bcee78d66e498099102ab\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd configurable GCE Metadata Server retries (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1488\"\u003e#1488\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/454b441b478ec62bbf1a6ad5bceb6c7cbbfd0c37\"\u003e454b441b478ec62bbf1a6ad5bceb6c7cbbfd0c37\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ehonor \u003ccode\u003eNO_GCE_CHECK\u003c/code\u003e environment variable (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1610\"\u003e#1610\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/383c9827536d9376e8248370ce4c2b83e468d027\"\u003e383c9827536d9376e8248370ce4c2b83e468d027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eresolve circular imports (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1942\"\u003e#1942\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/25c1b064545702cbef087cfcd15fbbb6ef1af74f\"\u003e25c1b064545702cbef087cfcd15fbbb6ef1af74f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremoves \u003ccode\u003econtent-header\u003c/code\u003e from AWS IMDS get request (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1934\"\u003e#1934\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/97bfea9e02ede953fc8ee154e0deed3a3cfc6dcc\"\u003e97bfea9e02ede953fc8ee154e0deed3a3cfc6dcc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edetect correct auth when ADC env var is set but empty (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1374\"\u003e#1374\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/bfc07e1050bd0aa86fa3b08cdf70c9b68b5fe6a2\"\u003ebfc07e1050bd0aa86fa3b08cdf70c9b68b5fe6a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated utcfromtimestamp (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1799\"\u003e#1799\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/e431f20cf73ccac71926a23ec454468cea92e053\"\u003ee431f20cf73ccac71926a23ec454468cea92e053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003euser_verification=preferred\u003c/code\u003e for ReAuth WebAuthn challenge (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1798\"\u003e#1798\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/3f88a24089c4ee6822d510de0db210b54260d873\"\u003e3f88a24089c4ee6822d510de0db210b54260d873\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/googleapis/google-auth-library-python/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.12.5 to 2.13.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.4 2026-05-06\u003c/h2\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13129\"\u003e#13129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.3 2026-04-20\u003c/h2\u003e\n\u003ch2\u003ev2.13.3 (2026-04-20)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13096\"\u003e#13096\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.2...v2.13.3\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.2...v2.13.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.2 2026-04-17\u003c/h2\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13084\"\u003e#13084\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.1...v2.13.2\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.1...v2.13.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.1 2026-04-15\u003c/h2\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13079\"\u003e#13079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.1\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.0 2026-04-13\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.4\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13129\"\u003e#13129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.3 (2026-04-20)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.3\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13096\"\u003e#13096\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.2\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13084\"\u003e#13084\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.1\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13079\"\u003e#13079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.0 (2026-04-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.0\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe highlights of the v2.13 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-13-release\"\u003eblog post\u003c/a\u003e.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/cf67d4b3193c3fe43ede18612ed62785eee11382\"\u003e\u003ccode\u003ecf67d4b\u003c/code\u003e\u003c/a\u003e Fix linting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f0d8a214a5803036db46a56b1f62f1e56b81d662\"\u003e\u003ccode\u003ef0d8a21\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/5e3fe1d41a00f441204241c66078003ae0391f9a\"\u003e\u003ccode\u003e5e3fe1d\u003c/code\u003e\u003c/a\u003e Check for pydantic tag pattern in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7f9edcc2a191d2eaa9751220eb910914e716a686\"\u003e\u003ccode\u003e7f9edcc\u003c/code\u003e\u003c/a\u003e Document tagging conventions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b46a0c9b8a4dd967fda8ec1a92f6437076bf262c\"\u003e\u003ccode\u003eb46a0c9\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/50629c851e61d887d5420452c311ec6203f1f400\"\u003e\u003ccode\u003e50629c8\u003c/code\u003e\u003c/a\u003e Update to PyPy 7.3.22\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8522ebb71e5e9a6f7188af5f009f01785b8cf725\"\u003e\u003ccode\u003e8522ebb\u003c/code\u003e\u003c/a\u003e Preserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a37f3aff090ca342dc5f48304889963530b993f8\"\u003e\u003ccode\u003ea37f3af\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003eMISSING\u003c/code\u003e sentinel test to work with unreleased \u003ccode\u003etyping_extensions\u003c/code\u003e ver...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/909259a9df660518033aa686b689f045a6eaf9d2\"\u003e\u003ccode\u003e909259a\u003c/code\u003e\u003c/a\u003e Remove Logfire example in documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/2c4174c366606fc2dc46cb806833a080aefa77df\"\u003e\u003ccode\u003e2c4174c\u003c/code\u003e\u003c/a\u003e Bump libc from 0.2.155 to 0.2.185\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.5...v2.13.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typing-extensions` from 4.14.1 to 4.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/typing_extensions/releases\"\u003etyping-extensions's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.15.0\u003c/h2\u003e\n\u003cp\u003eNo user-facing changes since 4.15.0rc1.\u003c/p\u003e\n\u003cp\u003eNew features since 4.14.1:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.15.0rc1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/typing_extensions/blob/main/CHANGELOG.md\"\u003etyping-extensions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease 4.15.0 (August 25, 2025)\u003c/h1\u003e\n\u003cp\u003eNo user-facing changes since 4.15.0rc1.\u003c/p\u003e\n\u003ch1\u003eRelease 4.15.0rc1 (August 18, 2025)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/typing_extensions/commit/9d1637e264b5c1a6b7acee3e907015f89b20c2c9\"\u003e\u003ccode\u003e9d1637e\u003c/code\u003e\u003c/a\u003e Prepare release 4.15.0 (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/658\"\u003e#658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/4bd67c5be5d9443c7d33c314d02a56ee125eb88d\"\u003e\u003ccode\u003e4bd67c5\u003c/code\u003e\u003c/a\u003e Coverage: exclude some noise (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/656\"\u003e#656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/e589a26da73b075c5276bae40b86db1af0144f84\"\u003e\u003ccode\u003ee589a26\u003c/code\u003e\u003c/a\u003e Coverage: add detailed report to job summary (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/655\"\u003e#655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/67d37fed1298e050f74d5acc95b2621bd37837ad\"\u003e\u003ccode\u003e67d37fe\u003c/code\u003e\u003c/a\u003e Coverage: Implement fail_under (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/654\"\u003e#654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/e9ae26f5286edee9262727755ecb9ad16e999192\"\u003e\u003ccode\u003ee9ae26f\u003c/code\u003e\u003c/a\u003e Don't delete previous coverage comment (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/653\"\u003e#653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/ac80bb728a3006fc88ef7373b92f0c25cfcc7895\"\u003e\u003ccode\u003eac80bb7\u003c/code\u003e\u003c/a\u003e Add Coverage workflow (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/623\"\u003e#623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/abaaafd98c1cc7e5baf098ec287a3d22cb339670\"\u003e\u003ccode\u003eabaaafd\u003c/code\u003e\u003c/a\u003e Prepare release 4.15.0rc1 (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/650\"\u003e#650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/98104053ea8d49bcdd247804e5fa9f73136acbd4\"\u003e\u003ccode\u003e9810405\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e@disjoint_base\u003c/code\u003e (PEP 800) (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/634\"\u003e#634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/7ee9e05fd484d06899ce56e80f5e1aa4c760fc03\"\u003e\u003ccode\u003e7ee9e05\u003c/code\u003e\u003c/a\u003e Backport type_params fix from CPython (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/646\"\u003e#646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/1e8eb9c06ef51b3a1e1f05303a16feca13f5ed98\"\u003e\u003ccode\u003e1e8eb9c\u003c/code\u003e\u003c/a\u003e Do not refer to PEP 705 as being experimental (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/648\"\u003e#648\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/typing_extensions/compare/4.14.1...4.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `anyio` from 4.10.0 to 4.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/agronholm/anyio/releases\"\u003eanyio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ettl\u003c/code\u003e parameter to the \u003ccode\u003eanyio.functools.lru_cache\u003c/code\u003e wrapper (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1073\"\u003e#1073\u003c/a\u003e; PR by \u003ca href=\"https://github.com/Graeme22\"\u003e\u003ccode\u003e@​Graeme22\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWidened the type annotations of file I/O streams to accept \u003ccode\u003eIO[bytes]\u003c/code\u003e instead of just \u003ccode\u003eBinaryIO\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1078\"\u003e#1078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eanyio.Path\u003c/code\u003e not being compatible with Python 3.15 due to the removal of \u003ccode\u003epathlib.Path.is_reserved()\u003c/code\u003e and the addition of \u003ccode\u003epathlib.Path.__vfspath__()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1061\"\u003e#1061\u003c/a\u003e; PR by \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003eBrokenResourceError\u003c/code\u003e raised by the asyncio \u003ccode\u003eSocketStream\u003c/code\u003e not having the original exception as its cause (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1055\"\u003e#1055\u003c/a\u003e; PR by \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003eTypeError\u003c/code\u003e raised when using \u0026quot;func\u0026quot; as a parameter name in \u003ccode\u003epytest.mark.parametrize\u003c/code\u003e when using the pytest plugin (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1068\"\u003e#1068\u003c/a\u003e; PR by \u003ca href=\"https://github.com/JohnnyDeuss\"\u003e\u003ccode\u003e@​JohnnyDeuss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the pytest plugin not running tests that had the \u003ccode\u003eanyio\u003c/code\u003e marker added programmatically via \u003ccode\u003epytest_collection_modifyitems\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/422\"\u003e#422\u003c/a\u003e; PR by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed cancellation exceptions leaking from a \u003ccode\u003eCancelScope\u003c/code\u003e on asyncio when they are contained in an exception group alongside non-cancellation exceptions (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1091\"\u003e#1091\u003c/a\u003e; PR by \u003ca href=\"https://github.com/gschaffner\"\u003e\u003ccode\u003e@​gschaffner\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCondition.wait()\u003c/code\u003e not passing on a notification when the task is cancelled but already received a notification\u003c/li\u003e\n\u003cli\u003eFixed inverted condition in the process pool shutdown phase which would cause still-running pooled processes not to be terminated (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1074\"\u003e#1074\u003c/a\u003e; PR by \u003ca href=\"https://github.com/bysiber\"\u003e\u003ccode\u003e@​bysiber\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.12.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChanged all functions currently raising the private \u003ccode\u003eNoCurrentAsyncBackend\u003c/code\u003e exception (since v4.12.0) to instead raise the public \u003ccode\u003eNoEventLoopError\u003c/code\u003e exception (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1048\"\u003e#1048\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eanyio.functools.lru_cache\u003c/code\u003e not working with instance methods (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1042\"\u003e#1042\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.12.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for asyncio's \u003ca href=\"https://docs.python.org/3/library/asyncio-graph.html\"\u003etask call graphs\u003c/a\u003e on Python 3.14 and later when using AnyIO's task groups (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded an asynchronous implementation of the \u003ccode\u003efunctools\u003c/code\u003e module (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1001\"\u003e#1001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003euvloop=True\u003c/code\u003e on Windows via the \u003ca href=\"https://github.com/Vizonex/Winloop\"\u003ewinloop\u003c/a\u003e implementation (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/960\"\u003e#960\u003c/a\u003e; PR by \u003ca href=\"https://github.com/Vizonex\"\u003e\u003ccode\u003e@​Vizonex\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded support for use as a context manager to \u003ccode\u003eanyio.lowlevel.RunVar\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1003\"\u003e#1003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003e__all__\u003c/code\u003e declarations to public submodules (\u003ccode\u003eanyio.lowlevel\u003c/code\u003e etc.) (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1009\"\u003e#1009\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded the ability to set the token count of a \u003ccode\u003eCapacityLimiter\u003c/code\u003e to zero (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1019\"\u003e#1019\u003c/a\u003e; requires Python 3.10 or later when using Trio)\u003c/li\u003e\n\u003cli\u003eAdded parameters \u003ccode\u003ecase_sensitive\u003c/code\u003e and \u003ccode\u003erecurse_symlinks\u003c/code\u003e along with support for path-like objects to \u003ccode\u003eanyio.Path.glob()\u003c/code\u003e and \u003ccode\u003eanyio.Path.rglob()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1033\"\u003e#1033\u003c/a\u003e; PR by \u003ca href=\"https://github.com/northisup\"\u003e\u003ccode\u003e@​northisup\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDropped \u003ccode\u003esniffio\u003c/code\u003e as a direct dependency and added the \u003ccode\u003eget_available_backends()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1021\"\u003e#1021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eProcess.stdin.send()\u003c/code\u003e not raising \u003ccode\u003eClosedResourceError\u003c/code\u003e and \u003ccode\u003eBrokenResourceError\u003c/code\u003e on asyncio. Previously, a non-AnyIO exception was raised in such cases (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/671\"\u003e#671\u003c/a\u003e; PR by \u003ca href=\"https://github.com/gschaffner\"\u003e\u003ccode\u003e@​gschaffner\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eProcess.stdin.send()\u003c/code\u003e not checkpointing before writing data on asyncio (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1002\"\u003e#1002\u003c/a\u003e; PR by \u003ca href=\"https://github.com/gschaffner\"\u003e\u003ccode\u003e@​gschaffner\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a race condition where cancelling a \u003ccode\u003eFuture\u003c/code\u003e from \u003ccode\u003eBlockingPortal.start_task_soon()\u003c/code\u003e would sometimes not cancel the async function (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1011\"\u003e#1011\u003c/a\u003e; PR by \u003ca href=\"https://github.com/gschaffner\"\u003e\u003ccode\u003e@​gschaffner\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the presence of the pytest plugin causing breakage with older versions of pytest (\u0026lt;= 6.1.2) (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1028\"\u003e#1028\u003c/a\u003e; PR by \u003ca href=\"https://github.com/saper\"\u003e\u003ccode\u003e@​saper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a rarely occurring \u003ccode\u003eRuntimeError: Set changed size during iteration\u003c/code\u003e while shutting down the process pool when using the asyncio backend (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.11.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for cancellation reasons (the \u003ccode\u003ereason\u003c/code\u003e parameter to \u003ccode\u003eCancelScope.cancel()\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/975\"\u003e#975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBumped the minimum version of Trio to v0.31.0\u003c/li\u003e\n\u003cli\u003eAdded the ability to enter the event loop from foreign (non-worker) threads by passing the return value of \u003ccode\u003eanyio.lowlevel.current_token()\u003c/code\u003e to \u003ccode\u003eanyio.from_thread.run()\u003c/code\u003e and \u003ccode\u003eanyio.from_thread.run_sync()\u003c/code\u003e as the \u003ccode\u003etoken\u003c/code\u003e keyword argument (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/256\"\u003e#256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded pytest option (\u003ccode\u003eanyio_mode = \u0026quot;auto\u0026quot;\u003c/code\u003e) to make the pytest plugin automatically handle all async tests (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/971\"\u003e#971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded the \u003ccode\u003eanyio.Condition.wait_for()\u003c/code\u003e method for feature parity with asyncio (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/974\"\u003e#974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged the default type argument of \u003ccode\u003eanyio.abc.TaskStatus\u003c/code\u003e from \u003ccode\u003eAny\u003c/code\u003e to \u003ccode\u003eNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/964\"\u003e#964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed TCP listener behavior to guarantee the same ephemeral port is used for all socket listeners when \u003ccode\u003elocal_port=0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/857\"\u003e#857\u003c/a\u003e; PR by \u003ca href=\"https://github.com/11kkw\"\u003e\u003ccode\u003e@​11kkw\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/agronholm\"\u003e\u003ccode\u003e@​agronholm\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed inconsistency between Trio and asyncio where a TCP stream that previously raised a \u003ccode\u003eBrokenResourceError\u003c/code\u003e on \u003ccode\u003esend()\u003c/code\u003e would still raise \u003ccode\u003eBrokenResourceError\u003c/code\u003e after the stream was closed on asyncio, but \u003ccode\u003eClosedResourceError\u003c/code\u003e on Trio. They now both raise a \u003ccode\u003eClosedResourceError\u003c/code\u003e in this scenario. (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/671\"\u003e#671\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/afbe93ca9d0c447adf26e9c1715ac20870622bf2\"\u003e\u003ccode\u003eafbe93c\u003c/code\u003e\u003c/a\u003e Bumped up the version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/33bdf2e4b4f40c2df178123746147a6d2471808d\"\u003e\u003ccode\u003e33bdf2e\u003c/code\u003e\u003c/a\u003e Rearranged the changelog entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/19e09e25bc5a23dd78a577d8c3909dd377057c78\"\u003e\u003ccode\u003e19e09e2\u003c/code\u003e\u003c/a\u003e Fixed inverted condition in _forcibly_shutdown_process_pool_on_exit (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1074\"\u003e#1074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/9369d80b9e8292f2a892a9d5c73923c6a28aa08c\"\u003e\u003ccode\u003e9369d80\u003c/code\u003e\u003c/a\u003e Fixed Condition.wait() not handing over notification when cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/6f122abdc6f6b166c6b6ac27d36d55cdf8fa08e8\"\u003e\u003ccode\u003e6f122ab\u003c/code\u003e\u003c/a\u003e Fixed cancellation exceptions leaking from a \u003ccode\u003eCancelScope\u003c/code\u003e on asyncio when th...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/beaa45aff568a4020f2faf317321dd92f0e1f4a0\"\u003e\u003ccode\u003ebeaa45a\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1097\"\u003e#1097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/602f6606dcf3f37702686a4f3e161328c537b07f\"\u003e\u003ccode\u003e602f660\u003c/code\u003e\u003c/a\u003e Widened type annotations to accept IO[bytes] in file streams\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/b5dcd45170701a756ba634197398f05d4710cab3\"\u003e\u003ccode\u003eb5dcd45\u003c/code\u003e\u003c/a\u003e Added note about erasing the template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/d68670b3b4e0917d4caff2de082e03220f3e05a1\"\u003e\u003ccode\u003ed68670b\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1090\"\u003e#1090\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/fc17a22dd948e6a3d90d99908813f0010dfc3d2c\"\u003e\u003ccode\u003efc17a22\u003c/code\u003e\u003c/a\u003e tweak to_thread docs about abandon_on_cancel (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1088\"\u003e#1088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/agronholm/anyio/compare/4.10.0...4.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typer` from 0.16.0 to 0.25.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/typer/releases\"\u003etyper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.25.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Add Typer Library Skill for Agents. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1620\"\u003e#1620\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.11 to 0.15.12. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1722\"\u003e#1722\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.10 to 0.3.11. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1723\"\u003e#1723\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.25.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🚸 Don't truncate code lines in traceback when formatted with Rich. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1695\"\u003e#1695\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.24.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Ensure that \u003ccode\u003etyper.launch\u003c/code\u003e forwards correctly when launching a file. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1708\"\u003e#1708\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🎨 Ensure \u003ccode\u003ety\u003c/code\u003e runs without errors. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1628\"\u003e#1628\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Add dates to release notes. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1612\"\u003e#1612\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 code blocks in reference docs overflowing table width. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1630\"\u003e#1630\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 broken link to FastAPI and Friends newsletter. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1540\"\u003e#1540\u003c/a\u003e by \u003ca href=\"https://github.com/Karlemami\"\u003e\u003ccode\u003e@​Karlemami\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔨 Handle external links \u003ccode\u003etarget=_blank\u003c/code\u003e and CSS automatically in JS and CSS. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1622\"\u003e#1622\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📝 Remove link to Typer developer survey. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1609\"\u003e#1609\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✏️ Clean up documentation in \u003ccode\u003einstall.md\u003c/code\u003e file. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1606\"\u003e#1606\u003c/a\u003e by \u003ca href=\"https://github.com/Johandielangman\"\u003e\u003ccode\u003e@​Johandielangman\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump mypy from 1.20.1 to 1.20.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1715\"\u003e#1715\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.9 to 0.3.10. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1716\"\u003e#1716\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic-settings from 2.13.1 to 2.14.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1713\"\u003e#1713\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 ty from 0.0.31 to 0.0.32. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1711\"\u003e#1711\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic from 2.13.2 to 2.13.3. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1712\"\u003e#1712\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pygments from 2.19.2 to 2.20.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1667\"\u003e#1667\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pymdown-extensions from 10.20 to 10.21.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1710\"\u003e#1710\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/cache from 5.0.4 to 5.0.5. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1700\"\u003e#1700\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic from 2.13.1 to 2.13.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1703\"\u003e#1703\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/upload-artifact from 7.0.0 to 7.0.1. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1701\"\u003e#1701\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.10 to 0.15.11. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1704\"\u003e#1704\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump cloudflare/wrangler-action from 3.14.1 to 3.15.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1702\"\u003e#1702\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 astral-sh/setup-uv from 7.6.0 to 8.1.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1699\"\u003e#1699\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 ty from 0.0.30 to 0.0.31. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1696\"\u003e#1696\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic from 2.13.0 to 2.13.1. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1697\"\u003e#1697\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/typer/blob/master/docs/release-notes.md\"\u003etyper's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.25.1 (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Add Typer Library Skill for Agents. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1620\"\u003e#1620\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.11 to 0.15.12. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1722\"\u003e#1722\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.10 to 0.3.11. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1723\"\u003e#1723\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.25.0 (2026-04-26)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🚸 Don't truncate code lines in traceback when formatted with Rich. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1695\"\u003e#1695\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.24.2 (2026-04-22)\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Ensure that \u003ccode\u003etyper.launch\u003c/code\u003e forwards correctly when launching a file. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1708\"\u003e#1708\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🎨 Ensure \u003ccode\u003ety\u003c/code\u003e runs without errors. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1628\"\u003e#1628\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Add dates to release notes. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1612\"\u003e#1612\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 code blocks in reference docs overflowing table width. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1630\"\u003e#1630\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 broken link to FastAPI and Friends newsletter. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1540\"\u003e#1540\u003c/a\u003e by \u003ca href=\"https://github.com/Karlemami\"\u003e\u003ccode\u003e@​Karlemami\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔨 Handle external links \u003ccode\u003etarget=_blank\u003c/code\u003e and CSS automatically in JS and CSS. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1622\"\u003e#1622\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📝 Remove link to Typer developer survey. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1609\"\u003e#1609\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✏️ Clean up documentation in \u003ccode\u003einstall.md\u003c/code\u003e file. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1606\"\u003e#1606\u003c/a\u003e by \u003ca href=\"https://github.com/Johandielangman\"\u003e\u003ccode\u003e@​Johandielangman\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump mypy from 1.20.1 to 1.20.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1715\"\u003e#1715\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.9 to 0.3.10. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1716\"\u003e#1716\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic-settings from 2.13.1 to 2.14.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1713\"\u003e#1713\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 ty from 0.0.31 to 0.0.32. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1711\"\u003e#1711\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic from 2.13.2 to 2.13.3. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1712\"\u003e#1712\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pygments from 2.19.2 to 2.20.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1667\"\u003e#1667\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pymdown-extensions from 10.20 to 10.21.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1710\"\u003e#1710\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/cache from 5.0.4 to 5.0.5. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1700\"\u003e#1700\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic from 2.13.1 to 2.13.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1703\"\u003e#1703\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/upload-artifact from 7.0.0 to 7.0.1. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1701\"\u003e#1701\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.10 to 0.15.11. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1704\"\u003e#1704\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump cloudflare/wrangler-action from 3.14.1 to 3.15.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1702\"\u003e#1702\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/cfcc2ef9f948bcce67897a6c7e689d39da690bf9\"\u003e\u003ccode\u003ecfcc2ef\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.25.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/13846cc59bd574567a9a1f56eae3cd42b9aa2a4f\"\u003e\u003ccode\u003e13846cc\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/a43746997ad6f2b4a8829c69c919f4d4c2cc0698\"\u003e\u003ccode\u003ea437469\u003c/code\u003e\u003c/a\u003e 🔧 Add Typer Library Skill for Agents (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1620\"\u003e#1620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/ba6cc2c9e7cba35f891c91118e228e1d2da35edb\"\u003e\u003ccode\u003eba6cc2c\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/0f3ead07c2bb384fdd590e895ca6705582c58d89\"\u003e\u003ccode\u003e0f3ead0\u003c/code\u003e\u003c/a\u003e ⬆ Bump ruff from 0.15.11 to 0.15.12 (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1722\"\u003e#1722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/db4ade64936599b3460f2fc0a7c550c3fedc33b0\"\u003e\u003ccode\u003edb4ade6\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/5a5206ceed2afdf234f88a6e2ef74ad9ebdf0d92\"\u003e\u003ccode\u003e5a5206c\u003c/code\u003e\u003c/a\u003e ⬆ Bump prek from 0.3.10 to 0.3.11 (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1723\"\u003e#1723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/959845e173b4bec0d606d99247815c2710613ca8\"\u003e\u003ccode\u003e959845e\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.25.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/5e1fcfb5935e7ac3ff3c7526ef297eae31bd4822\"\u003e\u003ccode\u003e5e1fcfb\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/dfb21ad034804584702d553ebfba40d8f4d791b9\"\u003e\u003ccode\u003edfb21ad\u003c/code\u003e\u003c/a\u003e 🚸 Don't truncate code lines in traceback when formatted with Rich (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1695\"\u003e#1695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/typer/compare/0.16.0...0.25.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.35.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#...\n\n_Description has been truncated_","html_url":"https://github.com/tmohanvamsi/kagent/pull/38","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmohanvamsi%2Fkagent/issues/38","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/38/packages"},{"uuid":"4488938007","node_id":"PR_kwDORT9AZc7dps4t","number":502,"state":"open","title":"build(deps): bump openai-agents from 0.10.4 to 0.17.3","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-05-20T18:26:43.000Z","updated_at":"2026-05-20T21:56:50.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"openai-agents","old_version":"0.10.4","new_version":"0.17.3","repository_url":"https://github.com/openai/openai-agents-python"}],"path":null,"ecosystem":"pip"},"body":"Bumps [openai-agents](https://github.com/openai/openai-agents-python) from 0.10.4 to 0.17.3.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-agents-python/releases\"\u003eopenai-agents's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.17.3\u003c/h2\u003e\n\u003cp\u003ea## What's Changed\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: keep mountpoint credentials out of sandbox commands by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3429\"\u003eopenai/openai-agents-python#3429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: unify memory optional dependency import errors by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3389\"\u003eopenai/openai-agents-python#3389\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: guard None text in text_message_output and add output guardrail count to RunErrorDetails by \u003ca href=\"https://github.com/zhoufengen\"\u003e\u003ccode\u003e@​zhoufengen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3375\"\u003eopenai/openai-agents-python#3375\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: avoid mutating FunctionTool params_json_schema by \u003ca href=\"https://github.com/ioleksiuk\"\u003e\u003ccode\u003e@​ioleksiuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3382\"\u003eopenai/openai-agents-python#3382\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: avoid mutating codex output schema input by \u003ca href=\"https://github.com/ioleksiuk\"\u003e\u003ccode\u003e@​ioleksiuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3385\"\u003eopenai/openai-agents-python#3385\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3357\"\u003e#3357\u003c/a\u003e output schema names for Literal types by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3358\"\u003eopenai/openai-agents-python#3358\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: skip wait_for_status when Vercel sandbox is in a terminal state by \u003ca href=\"https://github.com/cty-ut\"\u003e\u003ccode\u003e@​cty-ut\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3410\"\u003eopenai/openai-agents-python#3410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: filter hosted_tool_call types in remove_all_tools handoff filter by \u003ca href=\"https://github.com/ioleksiuk\"\u003e\u003ccode\u003e@​ioleksiuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3386\"\u003eopenai/openai-agents-python#3386\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: guard None text in ItemHelpers.extract_last_content by \u003ca href=\"https://github.com/ioleksiuk\"\u003e\u003ccode\u003e@​ioleksiuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3394\"\u003eopenai/openai-agents-python#3394\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: log exception when output guardrail raises instead of silently ignoring by \u003ca href=\"https://github.com/cty-ut\"\u003e\u003ccode\u003e@​cty-ut\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3411\"\u003eopenai/openai-agents-python#3411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: reject relative sandbox workspace roots by \u003ca href=\"https://github.com/matthewflint\"\u003e\u003ccode\u003e@​matthewflint\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3422\"\u003eopenai/openai-agents-python#3422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: normalize leading question marks in exposed port queries by \u003ca href=\"https://github.com/matthewflint\"\u003e\u003ccode\u003e@​matthewflint\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3424\"\u003eopenai/openai-agents-python#3424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3363\"\u003e#3363\u003c/a\u003e honor short custom voice splitter chunks by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3364\"\u003eopenai/openai-agents-python#3364\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: runtime handling updates by \u003ca href=\"https://github.com/adrianbravo-oai\"\u003e\u003ccode\u003e@​adrianbravo-oai\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/ioleksiuk\"\u003e\u003ccode\u003e@​ioleksiuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3451\"\u003eopenai/openai-agents-python#3451\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: add SDK review guidance by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3376\"\u003eopenai/openai-agents-python#3376\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: mark Agent.instructions as optional by \u003ca href=\"https://github.com/ioleksiuk\"\u003e\u003ccode\u003e@​ioleksiuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3384\"\u003eopenai/openai-agents-python#3384\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: translate all pages using new settings by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3392\"\u003eopenai/openai-agents-python#3392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: document auto_previous_response_id by \u003ca href=\"https://github.com/ioleksiuk\"\u003e\u003ccode\u003e@​ioleksiuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3383\"\u003eopenai/openai-agents-python#3383\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix LiteLLM API reference redirect by \u003ca href=\"https://github.com/ynachiket\"\u003e\u003ccode\u003e@​ynachiket\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3444\"\u003eopenai/openai-agents-python#3444\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix duplicated word in usaspending glossary example by \u003ca href=\"https://github.com/LeSingh1\"\u003e\u003ccode\u003e@​LeSingh1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3445\"\u003eopenai/openai-agents-python#3445\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: clean up CI jobs and update uv pin by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3400\"\u003eopenai/openai-agents-python#3400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: harden release tag workflow by \u003ca href=\"https://github.com/hintz-openai\"\u003e\u003ccode\u003e@​hintz-openai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3399\"\u003eopenai/openai-agents-python#3399\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.17.3 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3417\"\u003eopenai/openai-agents-python#3417\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zhoufengen\"\u003e\u003ccode\u003e@​zhoufengen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3375\"\u003eopenai/openai-agents-python#3375\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hintz-openai\"\u003e\u003ccode\u003e@​hintz-openai\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3399\"\u003eopenai/openai-agents-python#3399\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cty-ut\"\u003e\u003ccode\u003e@​cty-ut\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3410\"\u003eopenai/openai-agents-python#3410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ynachiket\"\u003e\u003ccode\u003e@​ynachiket\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3444\"\u003eopenai/openai-agents-python#3444\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LeSingh1\"\u003e\u003ccode\u003e@​LeSingh1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3445\"\u003eopenai/openai-agents-python#3445\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adrianbravo-oai\"\u003e\u003ccode\u003e@​adrianbravo-oai\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3451\"\u003eopenai/openai-agents-python#3451\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.17.2...v0.17.3\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.17.2...v0.17.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.17.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3268\"\u003e#3268\u003c/a\u003e fix OpenAI Conversations reasoning persistence by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3352\"\u003eopenai/openai-agents-python#3352\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: avoid auto response for unknown realtime tools (ref: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3287\"\u003e#3287\u003c/a\u003e) by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3366\"\u003eopenai/openai-agents-python#3366\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3354\"\u003e#3354\u003c/a\u003e interrupt tracing retry backoff on shutdown by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3355\"\u003eopenai/openai-agents-python#3355\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3359\"\u003e#3359\u003c/a\u003e preserve local approval rejection reasons by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3360\"\u003eopenai/openai-agents-python#3360\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3361\"\u003e#3361\u003c/a\u003e honor session settings in AsyncSQLiteSession by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3362\"\u003eopenai/openai-agents-python#3362\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3310\"\u003e#3310\u003c/a\u003e avoid empty chat tool outputs by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3312\"\u003eopenai/openai-agents-python#3312\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/openai/openai-agents-python/blob/main/docs/release.md\"\u003eopenai-agents's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease process/changelog\u003c/h1\u003e\n\u003cp\u003eThe project follows a slightly modified version of semantic versioning using the form \u003ccode\u003e0.Y.Z\u003c/code\u003e. The leading \u003ccode\u003e0\u003c/code\u003e indicates the SDK is still evolving rapidly. Increment the components as follows:\u003c/p\u003e\n\u003ch2\u003eMinor (\u003ccode\u003eY\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increase minor versions \u003ccode\u003eY\u003c/code\u003e for \u003cstrong\u003ebreaking changes\u003c/strong\u003e to any public interfaces that are not marked as beta. For example, going from \u003ccode\u003e0.0.x\u003c/code\u003e to \u003ccode\u003e0.1.x\u003c/code\u003e might include breaking changes.\u003c/p\u003e\n\u003cp\u003eIf you don't want breaking changes, we recommend pinning to \u003ccode\u003e0.0.x\u003c/code\u003e versions in your project.\u003c/p\u003e\n\u003ch2\u003ePatch (\u003ccode\u003eZ\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increment \u003ccode\u003eZ\u003c/code\u003e for non-breaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes\u003c/li\u003e\n\u003cli\u003eNew features\u003c/li\u003e\n\u003cli\u003eChanges to private interfaces\u003c/li\u003e\n\u003cli\u003eUpdates to beta features\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBreaking change changelog\u003c/h2\u003e\n\u003ch3\u003e0.17.0\u003c/h3\u003e\n\u003cp\u003eIn this version, sandbox local source materialization keeps \u003ccode\u003eLocalFile.src\u003c/code\u003e and \u003ccode\u003eLocalDir.src\u003c/code\u003e within the materialization \u003ccode\u003ebase_dir\u003c/code\u003e unless the source path is covered by \u003ccode\u003eManifest.extra_path_grants\u003c/code\u003e. The \u003ccode\u003ebase_dir\u003c/code\u003e is the SDK process current working directory when the manifest is applied; relative local sources are resolved from that directory, while absolute local sources must already be inside it or under an explicit grant. This closes a local artifact boundary issue, but it can affect applications that intentionally copy trusted host files or directories from outside that base directory into a sandbox workspace.\u003c/p\u003e\n\u003cp\u003eTo migrate, grant trusted host roots at the manifest level with \u003ccode\u003eSandboxPathGrant\u003c/code\u003e, preferably as read-only when the sandbox only needs to read those files:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003efrom pathlib import Path\n\u003cp\u003efrom agents.sandbox import Manifest, SandboxPathGrant\nfrom agents.sandbox.entries import Dir, LocalDir\u003c/p\u003e\n\u003ch1\u003eThis is an absolute host path outside the SDK process base_dir.\u003c/h1\u003e\n\u003cp\u003eTRUSTED_DOCS_ROOT = Path(\u0026quot;/opt/my-app/docs\u0026quot;)\u003c/p\u003e\n\u003cp\u003emanifest = Manifest(\nextra_path_grants=(\n# This host root is outside the SDK process base_dir, so the manifest must grant it.\nSandboxPathGrant(path=str(TRUSTED_DOCS_ROOT), read_only=True),\n),\nentries={\n# No grant is needed for local sources that stay under the SDK process base_dir.\n\u0026quot;fixtures\u0026quot;: LocalDir(src=Path(\u0026quot;fixtures\u0026quot;), description=\u0026quot;Local test fixtures.\u0026quot;),\n# This entry reads from the granted host root and copies it into the sandbox workspace.\n\u0026quot;docs\u0026quot;: LocalDir(src=TRUSTED_DOCS_ROOT, description=\u0026quot;Trusted local documents.\u0026quot;),\n# Dir creates a sandbox workspace directory; it does not read from the host filesystem.\n\u0026quot;output\u0026quot;: Dir(description=\u0026quot;Generated artifacts.\u0026quot;),\n},\n)\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/17f7caeaa33d97eee7152f9834af5e706b8f90e2\"\u003e\u003ccode\u003e17f7cae\u003c/code\u003e\u003c/a\u003e Release 0.17.3 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3417\"\u003e#3417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/f6ba91b120b97e38a4cdb3e61b226cef348679eb\"\u003e\u003ccode\u003ef6ba91b\u003c/code\u003e\u003c/a\u003e Runtime handling updates (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3451\"\u003e#3451\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/65774ce88d98b12fa3b0f5ede2b2f705a25e053d\"\u003e\u003ccode\u003e65774ce\u003c/code\u003e\u003c/a\u003e docs: fix duplicated word in usaspending glossary example (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3445\"\u003e#3445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/13d1815218251155dbf7fe9aa395e0db64b2d118\"\u003e\u003ccode\u003e13d1815\u003c/code\u003e\u003c/a\u003e docs: re-fix \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3444\"\u003e#3444\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/41fe113dd0623cbbe326996e536d570ded4179ba\"\u003e\u003ccode\u003e41fe113\u003c/code\u003e\u003c/a\u003e docs: fix LiteLLM API reference redirect (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3444\"\u003e#3444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/4970fd6ce4fc1019a4b70787706ce35c1e0ea030\"\u003e\u003ccode\u003e4970fd6\u003c/code\u003e\u003c/a\u003e fix: keep mountpoint credentials out of sandbox commands (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3429\"\u003e#3429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/4bd459e403ac826c87b17fef8ffcbdf42a70b09a\"\u003e\u003ccode\u003e4bd459e\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3363\"\u003e#3363\u003c/a\u003e honor short custom voice splitter chunks (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3364\"\u003e#3364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/e37b3d266b4061109a03906882325807fc05e85f\"\u003e\u003ccode\u003ee37b3d2\u003c/code\u003e\u003c/a\u003e fix: normalize leading question marks in exposed port queries (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3424\"\u003e#3424\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/94523f946eada821a3847af4a8a851071fb2a93d\"\u003e\u003ccode\u003e94523f9\u003c/code\u003e\u003c/a\u003e fix: reject relative sandbox workspace roots (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3422\"\u003e#3422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/cb0461d177ce1a931d24db05103a2d8b02f3cd36\"\u003e\u003ccode\u003ecb0461d\u003c/code\u003e\u003c/a\u003e fix: log exception when output guardrail raises instead of silently ignoring ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.10.4...v0.17.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/tryskian/polinko/pull/502","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/tryskian%2Fpolinko/issues/502","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/502/packages"},{"uuid":"4461602939","node_id":"PR_kwDORl2wQc7cSa99","number":34,"state":"closed","title":"Bump openai-agents from 0.0.7 to 0.17.2 in /openai-agents","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-23T23:12:47.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-16T23:12:35.000Z","updated_at":"2026-05-23T23:12:48.000Z","time_to_close":604812,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"openai-agents","old_version":"0.0.7","new_version":"0.17.2","repository_url":"https://github.com/openai/openai-agents-python"}],"path":"/openai-agents","ecosystem":"pip"},"body":"Bumps [openai-agents](https://github.com/openai/openai-agents-python) from 0.0.7 to 0.17.2.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-agents-python/releases\"\u003eopenai-agents's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.17.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3268\"\u003e#3268\u003c/a\u003e fix OpenAI Conversations reasoning persistence by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3352\"\u003eopenai/openai-agents-python#3352\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: avoid auto response for unknown realtime tools (ref: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3287\"\u003e#3287\u003c/a\u003e) by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3366\"\u003eopenai/openai-agents-python#3366\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3354\"\u003e#3354\u003c/a\u003e interrupt tracing retry backoff on shutdown by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3355\"\u003eopenai/openai-agents-python#3355\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3359\"\u003e#3359\u003c/a\u003e preserve local approval rejection reasons by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3360\"\u003eopenai/openai-agents-python#3360\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3361\"\u003e#3361\u003c/a\u003e honor session settings in AsyncSQLiteSession by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3362\"\u003eopenai/openai-agents-python#3362\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3310\"\u003e#3310\u003c/a\u003e avoid empty chat tool outputs by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3312\"\u003eopenai/openai-agents-python#3312\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: clarify max_delay for retries works by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3350\"\u003eopenai/openai-agents-python#3350\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3351\"\u003eopenai/openai-agents-python#3351\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: normalize memory docstring cross-references by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3370\"\u003eopenai/openai-agents-python#3370\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: document sandbox archive limits after \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3278\"\u003e#3278\u003c/a\u003e release by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3311\"\u003eopenai/openai-agents-python#3311\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3371\"\u003eopenai/openai-agents-python#3371\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.17.2 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3368\"\u003eopenai/openai-agents-python#3368\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.17.1...v0.17.2\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.17.1...v0.17.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.17.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eSandboxes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: include sandbox provider error details by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3326\"\u003eopenai/openai-agents-python#3326\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3274\"\u003e#3274\u003c/a\u003e limit sandbox archive extraction by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3278\"\u003eopenai/openai-agents-python#3278\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3273\"\u003e#3273\u003c/a\u003e validate git repo subpaths by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3276\"\u003eopenai/openai-agents-python#3276\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003efix: allow empty GitRepo subpaths as repository root by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3299\"\u003eopenai/openai-agents-python#3299\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: preserve GitRepo root subpath aliases by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3303\"\u003eopenai/openai-agents-python#3303\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTracing\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: make tracing shutdown best-effort on process exit by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3343\"\u003eopenai/openai-agents-python#3343\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: keep BatchTraceProcessor worker alive on exporter errors by \u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3216\"\u003eopenai/openai-agents-python#3216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: guard no-op tracing span IDs by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3296\"\u003eopenai/openai-agents-python#3296\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSessions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3267\"\u003e#3267\u003c/a\u003e preserve required hosted tool IDs in OpenAI conversation sessions by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3341\"\u003eopenai/openai-agents-python#3341\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3304\"\u003e#3304\u003c/a\u003e skip corrupt items during pop (sessions) by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3305\"\u003eopenai/openai-agents-python#3305\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3306\"\u003e#3306\u003c/a\u003e track MongoDB metadata timestamps by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3307\"\u003eopenai/openai-agents-python#3307\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: preserve created_at across writes (redis-session) by \u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3202\"\u003eopenai/openai-agents-python#3202\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: skip corrupt docs in MongoDBSession.pop_item by \u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3247\"\u003eopenai/openai-agents-python#3247\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRealtime Agents\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3333\"\u003e#3333\u003c/a\u003e scope Realtime tool approvals by qualified key by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3340\"\u003eopenai/openai-agents-python#3340\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/openai/openai-agents-python/blob/main/docs/release.md\"\u003eopenai-agents's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease process/changelog\u003c/h1\u003e\n\u003cp\u003eThe project follows a slightly modified version of semantic versioning using the form \u003ccode\u003e0.Y.Z\u003c/code\u003e. The leading \u003ccode\u003e0\u003c/code\u003e indicates the SDK is still evolving rapidly. Increment the components as follows:\u003c/p\u003e\n\u003ch2\u003eMinor (\u003ccode\u003eY\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increase minor versions \u003ccode\u003eY\u003c/code\u003e for \u003cstrong\u003ebreaking changes\u003c/strong\u003e to any public interfaces that are not marked as beta. For example, going from \u003ccode\u003e0.0.x\u003c/code\u003e to \u003ccode\u003e0.1.x\u003c/code\u003e might include breaking changes.\u003c/p\u003e\n\u003cp\u003eIf you don't want breaking changes, we recommend pinning to \u003ccode\u003e0.0.x\u003c/code\u003e versions in your project.\u003c/p\u003e\n\u003ch2\u003ePatch (\u003ccode\u003eZ\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increment \u003ccode\u003eZ\u003c/code\u003e for non-breaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes\u003c/li\u003e\n\u003cli\u003eNew features\u003c/li\u003e\n\u003cli\u003eChanges to private interfaces\u003c/li\u003e\n\u003cli\u003eUpdates to beta features\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBreaking change changelog\u003c/h2\u003e\n\u003ch3\u003e0.17.0\u003c/h3\u003e\n\u003cp\u003eIn this version, sandbox local source materialization keeps \u003ccode\u003eLocalFile.src\u003c/code\u003e and \u003ccode\u003eLocalDir.src\u003c/code\u003e within the materialization \u003ccode\u003ebase_dir\u003c/code\u003e unless the source path is covered by \u003ccode\u003eManifest.extra_path_grants\u003c/code\u003e. The \u003ccode\u003ebase_dir\u003c/code\u003e is the SDK process current working directory when the manifest is applied; relative local sources are resolved from that directory, while absolute local sources must already be inside it or under an explicit grant. This closes a local artifact boundary issue, but it can affect applications that intentionally copy trusted host files or directories from outside that base directory into a sandbox workspace.\u003c/p\u003e\n\u003cp\u003eTo migrate, grant trusted host roots at the manifest level with \u003ccode\u003eSandboxPathGrant\u003c/code\u003e, preferably as read-only when the sandbox only needs to read those files:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003efrom pathlib import Path\n\u003cp\u003efrom agents.sandbox import Manifest, SandboxPathGrant\nfrom agents.sandbox.entries import Dir, LocalDir\u003c/p\u003e\n\u003ch1\u003eThis is an absolute host path outside the SDK process base_dir.\u003c/h1\u003e\n\u003cp\u003eTRUSTED_DOCS_ROOT = Path(\u0026quot;/opt/my-app/docs\u0026quot;)\u003c/p\u003e\n\u003cp\u003emanifest = Manifest(\nextra_path_grants=(\n# This host root is outside the SDK process base_dir, so the manifest must grant it.\nSandboxPathGrant(path=str(TRUSTED_DOCS_ROOT), read_only=True),\n),\nentries={\n# No grant is needed for local sources that stay under the SDK process base_dir.\n\u0026quot;fixtures\u0026quot;: LocalDir(src=Path(\u0026quot;fixtures\u0026quot;), description=\u0026quot;Local test fixtures.\u0026quot;),\n# This entry reads from the granted host root and copies it into the sandbox workspace.\n\u0026quot;docs\u0026quot;: LocalDir(src=TRUSTED_DOCS_ROOT, description=\u0026quot;Trusted local documents.\u0026quot;),\n# Dir creates a sandbox workspace directory; it does not read from the host filesystem.\n\u0026quot;output\u0026quot;: Dir(description=\u0026quot;Generated artifacts.\u0026quot;),\n},\n)\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/55e4a850fce820a1816af0b413d03a39f2e5f817\"\u003e\u003ccode\u003e55e4a85\u003c/code\u003e\u003c/a\u003e Release 0.17.2 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3368\"\u003e#3368\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/5594fb464d45b3280c3395aeb071b9d77c611889\"\u003e\u003ccode\u003e5594fb4\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3371\"\u003e#3371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/64de1cb211bf23f25f7147983b8e2286da566e0c\"\u003e\u003ccode\u003e64de1cb\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3310\"\u003e#3310\u003c/a\u003e avoid empty chat tool outputs (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3312\"\u003e#3312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/1d3df7fa0418700201337fa38c94a82e8fc4872f\"\u003e\u003ccode\u003e1d3df7f\u003c/code\u003e\u003c/a\u003e docs: document sandbox archive limits after \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3278\"\u003e#3278\u003c/a\u003e release (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3311\"\u003e#3311\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/ae3263b8400b66ecf443720ce9bb2fa24d6cb571\"\u003e\u003ccode\u003eae3263b\u003c/code\u003e\u003c/a\u003e docs: normalize memory docstring cross-references (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3370\"\u003e#3370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/e3c99d99641f53ab0d4b13ead6435f451985c5b6\"\u003e\u003ccode\u003ee3c99d9\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3361\"\u003e#3361\u003c/a\u003e honor session settings in AsyncSQLiteSession (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3362\"\u003e#3362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/b2bd8218c6bf15334cc18bce1fe6a54a4ac4ca76\"\u003e\u003ccode\u003eb2bd821\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3359\"\u003e#3359\u003c/a\u003e preserve local approval rejection reasons (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3360\"\u003e#3360\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/8715a0585a5d9549c79c267f479f91831ef72241\"\u003e\u003ccode\u003e8715a05\u003c/code\u003e\u003c/a\u003e fix: avoid auto response for unknown realtime tools (ref: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3287\"\u003e#3287\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3366\"\u003e#3366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/4a95659892eccf52013038de625c45090f825c3c\"\u003e\u003ccode\u003e4a95659\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3354\"\u003e#3354\u003c/a\u003e interrupt tracing retry backoff on shutdown (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3355\"\u003e#3355\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/5635fab9d36123d5bc85d8ae17d9f09b84c56697\"\u003e\u003ccode\u003e5635fab\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3268\"\u003e#3268\u003c/a\u003e fix OpenAI Conversations reasoning persistence (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3352\"\u003e#3352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.0.7...v0.17.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=openai-agents\u0026package-manager=pip\u0026previous-version=0.0.7\u0026new-version=0.17.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/delega-dev/delega-examples/pull/34","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/delega-dev%2Fdelega-examples/issues/34","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/34/packages"},{"uuid":"4416977439","node_id":"PR_kwDOSRS2eM7aDgyh","number":5,"state":"open","title":"build(deps): bump the backend-dependencies group in /server with 2 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-10T22:07:49.000Z","updated_at":"2026-05-10T22:08:10.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"backend-dependencies","update_count":2,"packages":[{"name":"openai-agents","old_version":"0.15.1","new_version":"0.17.0","repository_url":"https://github.com/openai/openai-agents-python"},{"name":"pydantic","old_version":"2.13.3","new_version":"2.13.4","repository_url":"https://github.com/pydantic/pydantic"}],"path":"/server","ecosystem":"pip"},"body":"Bumps the backend-dependencies group in /server with 2 updates: [openai-agents](https://github.com/openai/openai-agents-python) and [pydantic](https://github.com/pydantic/pydantic).\n\nUpdates `openai-agents` from 0.15.1 to 0.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-agents-python/releases\"\u003eopenai-agents's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.17.0\u003c/h2\u003e\n\u003ch2\u003eKey Changes\u003c/h2\u003e\n\u003ch3\u003eRealtimeAgent's default is now gpt-realtime-2\u003c/h3\u003e\n\u003cp\u003eSince this version, the default model for RealtimeAgents is gpt-realtime-2: \u003ca href=\"https://developers.openai.com/api/docs/models/gpt-realtime-2\"\u003ehttps://developers.openai.com/api/docs/models/gpt-realtime-2\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eSandbox local source materialization change\u003c/h3\u003e\n\u003cp\u003eIn this version, sandbox local source materialization keeps \u003ccode\u003eLocalFile.src\u003c/code\u003e and \u003ccode\u003eLocalDir.src\u003c/code\u003e within the materialization \u003ccode\u003ebase_dir\u003c/code\u003e unless the source path is covered by \u003ccode\u003eManifest.extra_path_grants\u003c/code\u003e. The \u003ccode\u003ebase_dir\u003c/code\u003e is the SDK process current working directory when the manifest is applied; relative local sources are resolved from that directory, while absolute local sources must already be inside it or under an explicit grant. This closes a local artifact boundary issue, but it can affect applications that intentionally copy trusted host files or directories from outside that base directory into a sandbox workspace.Expand commentComment on line R24Resolved\u003c/p\u003e\n\u003cp\u003eTo migrate, grant trusted host roots at the manifest level with \u003ccode\u003eSandboxPathGrant\u003c/code\u003e, preferably as read-only when the sandbox only needs to read those files:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003efrom pathlib import Path\r\n\u003cp\u003efrom agents.sandbox import Manifest, SandboxPathGrant\nfrom agents.sandbox.entries import Dir, LocalDir\u003c/p\u003e\n\u003ch1\u003eThis is an absolute host path outside the SDK process base_dir.\u003c/h1\u003e\n\u003cp\u003eTRUSTED_DOCS_ROOT = Path(\u0026quot;/opt/my-app/docs\u0026quot;)\u003c/p\u003e\n\u003cp\u003emanifest = Manifest(\nextra_path_grants=(\n# This host root is outside the SDK process base_dir, so the manifest must grant it.\nSandboxPathGrant(path=str(TRUSTED_DOCS_ROOT), read_only=True),\n),\nentries={\n# No grant is needed for local sources that stay under the SDK process base_dir.\n\u0026quot;fixtures\u0026quot;: LocalDir(src=Path(\u0026quot;fixtures\u0026quot;), description=\u0026quot;Local test fixtures.\u0026quot;),\n# This entry reads from the granted host root and copies it into the sandbox workspace.\n\u0026quot;docs\u0026quot;: LocalDir(src=TRUSTED_DOCS_ROOT, description=\u0026quot;Trusted local documents.\u0026quot;),\n# Dir creates a sandbox workspace directory; it does not read from the host filesystem.\n\u0026quot;output\u0026quot;: Dir(description=\u0026quot;Generated artifacts.\u0026quot;),\n},\n)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eTreat \u003ccode\u003eextra_path_grants\u003c/code\u003e as trusted application configuration. Do not populate grants from model output or other untrusted manifest input unless your application has already approved those host paths.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: default realtime sessions to gpt-realtime-2 by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3190\"\u003eopenai/openai-agents-python#3190\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3169\"\u003e#3169\u003c/a\u003e constrain local sandbox artifact sources to base dir by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3177\"\u003eopenai/openai-agents-python#3177\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Responses context-management extra_args collision by \u003ca href=\"https://github.com/alfozan\"\u003e\u003ccode\u003e@​alfozan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3185\"\u003eopenai/openai-agents-python#3185\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRelease 0.17.0 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3191\"\u003eopenai/openai-agents-python#3191\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/openai/openai-agents-python/blob/main/docs/release.md\"\u003eopenai-agents's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e0.17.0\u003c/h3\u003e\n\u003cp\u003eIn this version, sandbox local source materialization keeps \u003ccode\u003eLocalFile.src\u003c/code\u003e and \u003ccode\u003eLocalDir.src\u003c/code\u003e within the materialization \u003ccode\u003ebase_dir\u003c/code\u003e unless the source path is covered by \u003ccode\u003eManifest.extra_path_grants\u003c/code\u003e. The \u003ccode\u003ebase_dir\u003c/code\u003e is the SDK process current working directory when the manifest is applied; relative local sources are resolved from that directory, while absolute local sources must already be inside it or under an explicit grant. This closes a local artifact boundary issue, but it can affect applications that intentionally copy trusted host files or directories from outside that base directory into a sandbox workspace.\u003c/p\u003e\n\u003cp\u003eTo migrate, grant trusted host roots at the manifest level with \u003ccode\u003eSandboxPathGrant\u003c/code\u003e, preferably as read-only when the sandbox only needs to read those files:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003efrom pathlib import Path\n\u003cp\u003efrom agents.sandbox import Manifest, SandboxPathGrant\nfrom agents.sandbox.entries import Dir, LocalDir\u003c/p\u003e\n\u003ch1\u003eThis is an absolute host path outside the SDK process base_dir.\u003c/h1\u003e\n\u003cp\u003eTRUSTED_DOCS_ROOT = Path(\u0026quot;/opt/my-app/docs\u0026quot;)\u003c/p\u003e\n\u003cp\u003emanifest = Manifest(\nextra_path_grants=(\n# This host root is outside the SDK process base_dir, so the manifest must grant it.\nSandboxPathGrant(path=str(TRUSTED_DOCS_ROOT), read_only=True),\n),\nentries={\n# No grant is needed for local sources that stay under the SDK process base_dir.\n\u0026quot;fixtures\u0026quot;: LocalDir(src=Path(\u0026quot;fixtures\u0026quot;), description=\u0026quot;Local test fixtures.\u0026quot;),\n# This entry reads from the granted host root and copies it into the sandbox workspace.\n\u0026quot;docs\u0026quot;: LocalDir(src=TRUSTED_DOCS_ROOT, description=\u0026quot;Trusted local documents.\u0026quot;),\n# Dir creates a sandbox workspace directory; it does not read from the host filesystem.\n\u0026quot;output\u0026quot;: Dir(description=\u0026quot;Generated artifacts.\u0026quot;),\n},\n)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eTreat \u003ccode\u003eextra_path_grants\u003c/code\u003e as trusted application configuration. Do not populate grants from model output or other untrusted manifest input unless your application has already approved those host paths.\u003c/p\u003e\n\u003ch3\u003e0.16.0\u003c/h3\u003e\n\u003cp\u003eIn this version, the SDK default model is now \u003ccode\u003egpt-5.4-mini\u003c/code\u003e instead of \u003ccode\u003egpt-4.1\u003c/code\u003e. This affects agents and runs that do not explicitly set a model. Because the new default is a GPT-5 model, implicit default model settings now include GPT-5 defaults such as \u003ccode\u003ereasoning.effort=\u0026quot;none\u0026quot;\u003c/code\u003e and \u003ccode\u003everbosity=\u0026quot;low\u0026quot;\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eIf you need to keep the previous default model behavior, set a model explicitly on the agent or run config, or set the \u003ccode\u003eOPENAI_DEFAULT_MODEL\u003c/code\u003e environment variable:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003eagent = Agent(name=\u0026quot;Assistant\u0026quot;, model=\u0026quot;gpt-4.1\u0026quot;)\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eHighlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eRunner.run\u003c/code\u003e, \u003ccode\u003eRunner.run_sync\u003c/code\u003e, and \u003ccode\u003eRunner.run_streamed\u003c/code\u003e now accept \u003ccode\u003emax_turns=None\u003c/code\u003e to disable the turn limit.\u003c/li\u003e\n\u003cli\u003eSandbox workspace hydration now rejects tar archives with symlinks that point outside the archive root, including absolute symlink targets, across local, Docker, and provider-backed sandbox implementations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e0.15.0\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/0fea7e83471b8ff6b87c784e99b4d19d84b4bc46\"\u003e\u003ccode\u003e0fea7e8\u003c/code\u003e\u003c/a\u003e Release 0.17.0 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3191\"\u003e#3191\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/0a76dd03cecde32a7223355328c3a3f273fd8b61\"\u003e\u003ccode\u003e0a76dd0\u003c/code\u003e\u003c/a\u003e docs: improve auto run for examples\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/f47d486985e074ac6831bdef0711cd2b4fa8ae3b\"\u003e\u003ccode\u003ef47d486\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3169\"\u003e#3169\u003c/a\u003e constrain local sandbox artifact sources to base dir (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3177\"\u003e#3177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/1660d306b579580a4e374cee57834e2b7feecab8\"\u003e\u003ccode\u003e1660d30\u003c/code\u003e\u003c/a\u003e feat: default realtime sessions to gpt-realtime-2 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3190\"\u003e#3190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/ee36d4358499939b5cee5d8851b656a84d2112ee\"\u003e\u003ccode\u003eee36d43\u003c/code\u003e\u003c/a\u003e Fix Responses extra_args collision with omitted kwargs (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3185\"\u003e#3185\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/a91f630f79e96cc345a1a84ddf28a861e6670b54\"\u003e\u003ccode\u003ea91f630\u003c/code\u003e\u003c/a\u003e fix: skip prerequisite-bound examples in auto runs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/bd84b65258af0473b541ef6c6ccf2882288c2430\"\u003e\u003ccode\u003ebd84b65\u003c/code\u003e\u003c/a\u003e Release 0.16.1 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3167\"\u003e#3167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/28de3652d3ba39958d75813c5958fe5e30483b67\"\u003e\u003ccode\u003e28de365\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3168\"\u003e#3168\u003c/a\u003e validate MCP require_approval policies (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3179\"\u003e#3179\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/a67d95f58a94cb57accc70bc9b3151e6e3bfbdf4\"\u003e\u003ccode\u003ea67d95f\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3174\"\u003e#3174\u003c/a\u003e count valid encrypted session items for limits (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3175\"\u003e#3175\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/3a11cf52250616fd7fcf779d808762666507a4e8\"\u003e\u003ccode\u003e3a11cf5\u003c/code\u003e\u003c/a\u003e fix: reject non-object function tool input JSON (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3166\"\u003e#3166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.15.1...v0.17.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/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\u003c/blockquote\u003e\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\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/shenqistart/circle/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/shenqistart%2Fcircle/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"},{"uuid":"4381365585","node_id":"PR_kwDOSNt2dc7YQRzP","number":2,"state":"closed","title":"build(deps): bump openai-agents from 0.14.6 to 0.15.1","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-12T06:52:44.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-05T03:46:48.000Z","updated_at":"2026-05-12T06:52:46.000Z","time_to_close":615956,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"openai-agents","old_version":"0.14.6","new_version":"0.15.1","repository_url":"https://github.com/openai/openai-agents-python"}],"path":null,"ecosystem":"pip"},"body":"Bumps [openai-agents](https://github.com/openai/openai-agents-python) from 0.14.6 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/openai/openai-agents-python/releases\"\u003eopenai-agents's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.15.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: expose Responses WebSocket keepalive options by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3080\"\u003eopenai/openai-agents-python#3080\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: restore UnixLocal PTY terminal signal defaults by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3082\"\u003eopenai/openai-agents-python#3082\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3074\"\u003e#3074\u003c/a\u003e restore SIGINT defaults for UnixLocal PTY children by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3075\"\u003eopenai/openai-agents-python#3075\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: add 0.15 changelog by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3058\"\u003eopenai/openai-agents-python#3058\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3064\"\u003eopenai/openai-agents-python#3064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: improve quickstart documentation for Windows OS users by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3071\"\u003eopenai/openai-agents-python#3071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3072\"\u003eopenai/openai-agents-python#3072\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: cover guardrail name fallback to function \u003cstrong\u003ename\u003c/strong\u003e by \u003ca href=\"https://github.com/Quratulain-bilal\"\u003e\u003ccode\u003e@​Quratulain-bilal\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3073\"\u003eopenai/openai-agents-python#3073\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: harden Dapr Redis integration fixture loading by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3078\"\u003eopenai/openai-agents-python#3078\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.15.1 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3083\"\u003eopenai/openai-agents-python#3083\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3078\"\u003eopenai/openai-agents-python#3078\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.15.0...v0.15.1\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.15.0...v0.15.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.15.0\u003c/h2\u003e\n\u003ch2\u003eKey Changes\u003c/h2\u003e\n\u003ch3\u003eBetter model refusal handling\u003c/h3\u003e\n\u003cp\u003eIn this version, model refusals are now surfaced explicitly as \u003ccode\u003eModelRefusalError\u003c/code\u003e instead of being treated as empty text output or, for structured outputs, causing the run loop to retry until \u003ccode\u003eMaxTurnsExceeded\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThis affects code that previously expected a refusal-only model response to complete with \u003ccode\u003efinal_output == \u0026quot;\u0026quot;\u003c/code\u003e. To handle refusals without raising, provide a \u003ccode\u003emodel_refusal\u003c/code\u003e run error handler:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003eresult = Runner.run_sync(\r\n    agent,\r\n    input,\r\n    error_handlers={\u0026quot;model_refusal\u0026quot;: lambda data: data.error.refusal},\r\n)\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eFor structured-output agents, the handler can return a value matching the agent's output schema, and the SDK will validate it like other run error handler final outputs.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3055\"\u003e#3055\u003c/a\u003e surface model refusals during run resolution by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3057\"\u003eopenai/openai-agents-python#3057\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: add missing space after period in MCPServerStdio docstring by \u003ca href=\"https://github.com/GopalGB\"\u003e\u003ccode\u003e@​GopalGB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3053\"\u003eopenai/openai-agents-python#3053\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump actions/github-script from 8.0.0 to 9.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3059\"\u003eopenai/openai-agents-python#3059\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/openai/openai-agents-python/blob/main/docs/release.md\"\u003eopenai-agents's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease process/changelog\u003c/h1\u003e\n\u003cp\u003eThe project follows a slightly modified version of semantic versioning using the form \u003ccode\u003e0.Y.Z\u003c/code\u003e. The leading \u003ccode\u003e0\u003c/code\u003e indicates the SDK is still evolving rapidly. Increment the components as follows:\u003c/p\u003e\n\u003ch2\u003eMinor (\u003ccode\u003eY\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increase minor versions \u003ccode\u003eY\u003c/code\u003e for \u003cstrong\u003ebreaking changes\u003c/strong\u003e to any public interfaces that are not marked as beta. For example, going from \u003ccode\u003e0.0.x\u003c/code\u003e to \u003ccode\u003e0.1.x\u003c/code\u003e might include breaking changes.\u003c/p\u003e\n\u003cp\u003eIf you don't want breaking changes, we recommend pinning to \u003ccode\u003e0.0.x\u003c/code\u003e versions in your project.\u003c/p\u003e\n\u003ch2\u003ePatch (\u003ccode\u003eZ\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increment \u003ccode\u003eZ\u003c/code\u003e for non-breaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes\u003c/li\u003e\n\u003cli\u003eNew features\u003c/li\u003e\n\u003cli\u003eChanges to private interfaces\u003c/li\u003e\n\u003cli\u003eUpdates to beta features\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBreaking change changelog\u003c/h2\u003e\n\u003ch3\u003e0.15.0\u003c/h3\u003e\n\u003cp\u003eIn this version, model refusals are now surfaced explicitly as \u003ccode\u003eModelRefusalError\u003c/code\u003e instead of being treated as empty text output or, for structured outputs, causing the run loop to retry until \u003ccode\u003eMaxTurnsExceeded\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThis affects code that previously expected a refusal-only model response to complete with \u003ccode\u003efinal_output == \u0026quot;\u0026quot;\u003c/code\u003e. To handle refusals without raising, provide a \u003ccode\u003emodel_refusal\u003c/code\u003e run error handler:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003eresult = Runner.run_sync(\n    agent,\n    input,\n    error_handlers={\u0026quot;model_refusal\u0026quot;: lambda data: data.error.refusal},\n)\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eFor structured-output agents, the handler can return a value matching the agent's output schema, and the SDK will validate it like other run error handler final outputs.\u003c/p\u003e\n\u003ch3\u003e0.14.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change, but it adds a major new beta feature area: Sandbox Agents, plus the runtime, backend, and documentation support needed to use them across local, containerized, and hosted environments.\u003c/p\u003e\n\u003cp\u003eHighlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a new beta sandbox runtime surface centered on \u003ccode\u003eSandboxAgent\u003c/code\u003e, \u003ccode\u003eManifest\u003c/code\u003e, and \u003ccode\u003eSandboxRunConfig\u003c/code\u003e, letting agents work inside persistent isolated workspaces with files, directories, Git repos, mounts, snapshots, and resume support.\u003c/li\u003e\n\u003cli\u003eAdded sandbox execution backends for local and containerized development via \u003ccode\u003eUnixLocalSandboxClient\u003c/code\u003e and \u003ccode\u003eDockerSandboxClient\u003c/code\u003e, plus hosted provider integrations for Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop, and Vercel through optional extras.\u003c/li\u003e\n\u003cli\u003eAdded sandbox memory support so future runs can reuse lessons from prior runs, with progressive disclosure, multi-turn grouping, configurable isolation boundaries, and persisted-memory examples including S3-backed workflows.\u003c/li\u003e\n\u003cli\u003eAdded a broader workspace and resume model, including local and synthetic workspace entries, remote storage mounts for S3/R2/GCS/Azure Blob Storage/S3 Files, portable snapshots, and resume flows via \u003ccode\u003eRunState\u003c/code\u003e, \u003ccode\u003eSandboxSessionState\u003c/code\u003e, or saved snapshots.\u003c/li\u003e\n\u003cli\u003eAdded substantial sandbox examples and tutorials under \u003ccode\u003eexamples/sandbox/\u003c/code\u003e, covering coding tasks with skills, handoffs, memory, provider-specific setups, and end-to-end workflows such as code review, dataroom QA, and website cloning.\u003c/li\u003e\n\u003cli\u003eExtended the core runtime and tracing stack with sandbox-aware session preparation, capability binding, state serialization, unified tracing, prompt cache key defaults, and safer sensitive MCP output redaction.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/ceb238fd1bd341c38c43ab191874f142515bb813\"\u003e\u003ccode\u003eceb238f\u003c/code\u003e\u003c/a\u003e Release 0.15.1 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3083\"\u003e#3083\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/41c646d89862c59f536b3cdb7947bf104353ff8d\"\u003e\u003ccode\u003e41c646d\u003c/code\u003e\u003c/a\u003e fix: restore UnixLocal PTY terminal signal defaults (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3082\"\u003e#3082\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/4b2881c7c4d572f1f091e4530bb3af712f1f99a0\"\u003e\u003ccode\u003e4b2881c\u003c/code\u003e\u003c/a\u003e feat: expose Responses WebSocket keepalive options (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3080\"\u003e#3080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/a47b7ea7eced7f88c830979b0caea47d260fafd5\"\u003e\u003ccode\u003ea47b7ea\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3074\"\u003e#3074\u003c/a\u003e restore SIGINT defaults for UnixLocal PTY children (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3075\"\u003e#3075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/42c30155181b1a9913d1c3a32befc4638ab9d062\"\u003e\u003ccode\u003e42c3015\u003c/code\u003e\u003c/a\u003e chore: harden Dapr Redis integration fixture loading (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3078\"\u003e#3078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/ae224b4449c1831d2e44b03b2677845a89aefd0e\"\u003e\u003ccode\u003eae224b4\u003c/code\u003e\u003c/a\u003e test: cover guardrail name fallback to function \u003cstrong\u003ename\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3073\"\u003e#3073\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/756fa431a7ecc896e26d6556b40f761830cb7cf6\"\u003e\u003ccode\u003e756fa43\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3072\"\u003e#3072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/841f72f296d15aa28f11f9c167506181b13af5e1\"\u003e\u003ccode\u003e841f72f\u003c/code\u003e\u003c/a\u003e docs: improve quickstart documentation for Windows OS users (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3071\"\u003e#3071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/611d080ff048134fb2e5e40baf56b8a8cc69592e\"\u003e\u003ccode\u003e611d080\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3064\"\u003e#3064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/48d7e9cae7190e579c518fd571bdd317a1711e09\"\u003e\u003ccode\u003e48d7e9c\u003c/code\u003e\u003c/a\u003e docs: add 0.15 changelog (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3058\"\u003e#3058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.14.6...v0.15.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=openai-agents\u0026package-manager=uv\u0026previous-version=0.14.6\u0026new-version=0.15.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/pyama86/owncall/pull/2","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyama86%2Fowncall/issues/2","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2/packages"},{"uuid":"4378796075","node_id":"PR_kwDOKBSOF87YH069","number":89,"state":"closed","title":"chore(deps): bump openai-agents from 0.7.0 to 0.17.4","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-05-26T21:33:30.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-04T18:39:08.000Z","updated_at":"2026-05-26T21:33:32.000Z","time_to_close":1911262,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"openai-agents","old_version":"0.7.0","new_version":"0.17.4","repository_url":"https://github.com/openai/openai-agents-python"}],"path":null,"ecosystem":"pip"},"body":"Bumps [openai-agents](https://github.com/openai/openai-agents-python) from 0.7.0 to 0.17.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-agents-python/releases\"\u003eopenai-agents's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.17.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: support Realtime custom voice objects by \u003ca href=\"https://github.com/lionel-oai\"\u003e\u003ccode\u003e@​lionel-oai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3473\"\u003eopenai/openai-agents-python#3473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3459\"\u003e#3459\u003c/a\u003e add opt-in recovery for missing function tools by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3461\"\u003eopenai/openai-agents-python#3461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply hardened http client default to MCP SSE transport by \u003ca href=\"https://github.com/ioleksiuk\"\u003e\u003ccode\u003e@​ioleksiuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3466\"\u003eopenai/openai-agents-python#3466\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: use non-None value for output in FunctionSpanData by \u003ca href=\"https://github.com/rmotgi1227\"\u003e\u003ccode\u003e@​rmotgi1227\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3475\"\u003eopenai/openai-agents-python#3475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add missing entries to span \u003cstrong\u003eslots\u003c/strong\u003e by \u003ca href=\"https://github.com/rmotgi1227\"\u003e\u003ccode\u003e@​rmotgi1227\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3483\"\u003eopenai/openai-agents-python#3483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: redact invalid JSON payload in ModelBehaviorError data by \u003ca href=\"https://github.com/LeSingh1\"\u003e\u003ccode\u003e@​LeSingh1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3485\"\u003eopenai/openai-agents-python#3485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: export more tracing related functions \u0026amp; types from agents by \u003ca href=\"https://github.com/rmotgi1227\"\u003e\u003ccode\u003e@​rmotgi1227\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3489\"\u003eopenai/openai-agents-python#3489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: export MCPListToolsItem, ToolSearchCallItem, and ToolSearchOutputItem from agents by \u003ca href=\"https://github.com/rmotgi1227\"\u003e\u003ccode\u003e@​rmotgi1227\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3490\"\u003eopenai/openai-agents-python#3490\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRelease 0.17.4 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3505\"\u003eopenai/openai-agents-python#3505\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rmotgi1227\"\u003e\u003ccode\u003e@​rmotgi1227\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3475\"\u003eopenai/openai-agents-python#3475\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.17.3...v0.17.4\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.17.3...v0.17.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.17.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: keep mountpoint credentials out of sandbox commands by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3429\"\u003eopenai/openai-agents-python#3429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: unify memory optional dependency import errors by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3389\"\u003eopenai/openai-agents-python#3389\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: guard None text in text_message_output and add output guardrail count to RunErrorDetails by \u003ca href=\"https://github.com/zhoufengen\"\u003e\u003ccode\u003e@​zhoufengen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3375\"\u003eopenai/openai-agents-python#3375\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: avoid mutating FunctionTool params_json_schema by \u003ca href=\"https://github.com/ioleksiuk\"\u003e\u003ccode\u003e@​ioleksiuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3382\"\u003eopenai/openai-agents-python#3382\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: avoid mutating codex output schema input by \u003ca href=\"https://github.com/ioleksiuk\"\u003e\u003ccode\u003e@​ioleksiuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3385\"\u003eopenai/openai-agents-python#3385\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3357\"\u003e#3357\u003c/a\u003e output schema names for Literal types by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3358\"\u003eopenai/openai-agents-python#3358\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: skip wait_for_status when Vercel sandbox is in a terminal state by \u003ca href=\"https://github.com/cty-ut\"\u003e\u003ccode\u003e@​cty-ut\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3410\"\u003eopenai/openai-agents-python#3410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: filter hosted_tool_call types in remove_all_tools handoff filter by \u003ca href=\"https://github.com/ioleksiuk\"\u003e\u003ccode\u003e@​ioleksiuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3386\"\u003eopenai/openai-agents-python#3386\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: guard None text in ItemHelpers.extract_last_content by \u003ca href=\"https://github.com/ioleksiuk\"\u003e\u003ccode\u003e@​ioleksiuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3394\"\u003eopenai/openai-agents-python#3394\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: log exception when output guardrail raises instead of silently ignoring by \u003ca href=\"https://github.com/cty-ut\"\u003e\u003ccode\u003e@​cty-ut\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3411\"\u003eopenai/openai-agents-python#3411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: reject relative sandbox workspace roots by \u003ca href=\"https://github.com/matthewflint\"\u003e\u003ccode\u003e@​matthewflint\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3422\"\u003eopenai/openai-agents-python#3422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: normalize leading question marks in exposed port queries by \u003ca href=\"https://github.com/matthewflint\"\u003e\u003ccode\u003e@​matthewflint\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3424\"\u003eopenai/openai-agents-python#3424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3363\"\u003e#3363\u003c/a\u003e honor short custom voice splitter chunks by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3364\"\u003eopenai/openai-agents-python#3364\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: runtime handling updates by \u003ca href=\"https://github.com/adrianbravo-oai\"\u003e\u003ccode\u003e@​adrianbravo-oai\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/ioleksiuk\"\u003e\u003ccode\u003e@​ioleksiuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3451\"\u003eopenai/openai-agents-python#3451\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: add SDK review guidance by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3376\"\u003eopenai/openai-agents-python#3376\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: mark Agent.instructions as optional by \u003ca href=\"https://github.com/ioleksiuk\"\u003e\u003ccode\u003e@​ioleksiuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3384\"\u003eopenai/openai-agents-python#3384\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: translate all pages using new settings by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3392\"\u003eopenai/openai-agents-python#3392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: document auto_previous_response_id by \u003ca href=\"https://github.com/ioleksiuk\"\u003e\u003ccode\u003e@​ioleksiuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3383\"\u003eopenai/openai-agents-python#3383\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix LiteLLM API reference redirect by \u003ca href=\"https://github.com/ynachiket\"\u003e\u003ccode\u003e@​ynachiket\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3444\"\u003eopenai/openai-agents-python#3444\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix duplicated word in usaspending glossary example by \u003ca href=\"https://github.com/LeSingh1\"\u003e\u003ccode\u003e@​LeSingh1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3445\"\u003eopenai/openai-agents-python#3445\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: clean up CI jobs and update uv pin by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3400\"\u003eopenai/openai-agents-python#3400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: harden release tag workflow by \u003ca href=\"https://github.com/hintz-openai\"\u003e\u003ccode\u003e@​hintz-openai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3399\"\u003eopenai/openai-agents-python#3399\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.17.3 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3417\"\u003eopenai/openai-agents-python#3417\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/openai/openai-agents-python/blob/main/docs/release.md\"\u003eopenai-agents's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease process/changelog\u003c/h1\u003e\n\u003cp\u003eThe project follows a slightly modified version of semantic versioning using the form \u003ccode\u003e0.Y.Z\u003c/code\u003e. The leading \u003ccode\u003e0\u003c/code\u003e indicates the SDK is still evolving rapidly. Increment the components as follows:\u003c/p\u003e\n\u003ch2\u003eMinor (\u003ccode\u003eY\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increase minor versions \u003ccode\u003eY\u003c/code\u003e for \u003cstrong\u003ebreaking changes\u003c/strong\u003e to any public interfaces that are not marked as beta. For example, going from \u003ccode\u003e0.0.x\u003c/code\u003e to \u003ccode\u003e0.1.x\u003c/code\u003e might include breaking changes.\u003c/p\u003e\n\u003cp\u003eIf you don't want breaking changes, we recommend pinning to \u003ccode\u003e0.0.x\u003c/code\u003e versions in your project.\u003c/p\u003e\n\u003ch2\u003ePatch (\u003ccode\u003eZ\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increment \u003ccode\u003eZ\u003c/code\u003e for non-breaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes\u003c/li\u003e\n\u003cli\u003eNew features\u003c/li\u003e\n\u003cli\u003eChanges to private interfaces\u003c/li\u003e\n\u003cli\u003eUpdates to beta features\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBreaking change changelog\u003c/h2\u003e\n\u003ch3\u003e0.17.0\u003c/h3\u003e\n\u003cp\u003eIn this version, sandbox local source materialization keeps \u003ccode\u003eLocalFile.src\u003c/code\u003e and \u003ccode\u003eLocalDir.src\u003c/code\u003e within the materialization \u003ccode\u003ebase_dir\u003c/code\u003e unless the source path is covered by \u003ccode\u003eManifest.extra_path_grants\u003c/code\u003e. The \u003ccode\u003ebase_dir\u003c/code\u003e is the SDK process current working directory when the manifest is applied; relative local sources are resolved from that directory, while absolute local sources must already be inside it or under an explicit grant. This closes a local artifact boundary issue, but it can affect applications that intentionally copy trusted host files or directories from outside that base directory into a sandbox workspace.\u003c/p\u003e\n\u003cp\u003eTo migrate, grant trusted host roots at the manifest level with \u003ccode\u003eSandboxPathGrant\u003c/code\u003e, preferably as read-only when the sandbox only needs to read those files:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003efrom pathlib import Path\n\u003cp\u003efrom agents.sandbox import Manifest, SandboxPathGrant\nfrom agents.sandbox.entries import Dir, LocalDir\u003c/p\u003e\n\u003ch1\u003eThis is an absolute host path outside the SDK process base_dir.\u003c/h1\u003e\n\u003cp\u003eTRUSTED_DOCS_ROOT = Path(\u0026quot;/opt/my-app/docs\u0026quot;)\u003c/p\u003e\n\u003cp\u003emanifest = Manifest(\nextra_path_grants=(\n# This host root is outside the SDK process base_dir, so the manifest must grant it.\nSandboxPathGrant(path=str(TRUSTED_DOCS_ROOT), read_only=True),\n),\nentries={\n# No grant is needed for local sources that stay under the SDK process base_dir.\n\u0026quot;fixtures\u0026quot;: LocalDir(src=Path(\u0026quot;fixtures\u0026quot;), description=\u0026quot;Local test fixtures.\u0026quot;),\n# This entry reads from the granted host root and copies it into the sandbox workspace.\n\u0026quot;docs\u0026quot;: LocalDir(src=TRUSTED_DOCS_ROOT, description=\u0026quot;Trusted local documents.\u0026quot;),\n# Dir creates a sandbox workspace directory; it does not read from the host filesystem.\n\u0026quot;output\u0026quot;: Dir(description=\u0026quot;Generated artifacts.\u0026quot;),\n},\n)\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/6d5b888f6f57b8356398bea883b45172fec54b95\"\u003e\u003ccode\u003e6d5b888\u003c/code\u003e\u003c/a\u003e Release 0.17.4 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3505\"\u003e#3505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/9a92ea4c8e4c2bff05b81041d0d1f3df41360bfb\"\u003e\u003ccode\u003e9a92ea4\u003c/code\u003e\u003c/a\u003e Support Realtime custom voice objects (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3473\"\u003e#3473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/fedc809afd5abb492df21c8e6bf365653b06c21f\"\u003e\u003ccode\u003efedc809\u003c/code\u003e\u003c/a\u003e fix: export MCPListToolsItem, ToolSearchCallItem, and ToolSearchOutputItem fr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/573530febb67ff561d02e57cce639e792d4d716e\"\u003e\u003ccode\u003e573530f\u003c/code\u003e\u003c/a\u003e fix: export more tracing related functions \u0026amp; types from agents (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3489\"\u003e#3489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/813a00324e8165eacefd3ec4760d27b1d65d2a46\"\u003e\u003ccode\u003e813a003\u003c/code\u003e\u003c/a\u003e fix: redact invalid JSON payload in ModelBehaviorError data (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3485\"\u003e#3485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/eda7b51aeae663204dc3b8a1431688fa5fc50620\"\u003e\u003ccode\u003eeda7b51\u003c/code\u003e\u003c/a\u003e fix: add missing entries to span \u003cstrong\u003eslots\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3483\"\u003e#3483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/45effb4b7d7de1226ebba7ba304bccfcf0a37fdf\"\u003e\u003ccode\u003e45effb4\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3459\"\u003e#3459\u003c/a\u003e add opt-in recovery for missing function tools (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3461\"\u003e#3461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/9303389d8452995b18ba151614489fb93eaefad5\"\u003e\u003ccode\u003e9303389\u003c/code\u003e\u003c/a\u003e fix: use non-None value for output in FunctionSpanData (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3475\"\u003e#3475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/9514473c234c8419b812b658157a5c3d4341713f\"\u003e\u003ccode\u003e9514473\u003c/code\u003e\u003c/a\u003e fix: apply hardened http client default to MCP SSE transport (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3466\"\u003e#3466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/445ad2273c2b527fc98dd8c1e53b3108d6bd93ea\"\u003e\u003ccode\u003e445ad22\u003c/code\u003e\u003c/a\u003e docs: add SECURITY.md in the same way with openai-agents-js repo\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.7.0...v0.17.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/performlikemj/sautai/pull/89","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/performlikemj%2Fsautai/issues/89","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/89/packages"},{"uuid":"4378190840","node_id":"PR_kwDORT9AZc7YF1O2","number":378,"state":"closed","title":"build(deps): bump openai-agents from 0.10.4 to 0.15.1","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-05-06T04:22:51.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-04T16:54:30.000Z","updated_at":"2026-05-06T04:22:59.000Z","time_to_close":127701,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"openai-agents","old_version":"0.10.4","new_version":"0.15.1","repository_url":"https://github.com/openai/openai-agents-python"}],"path":null,"ecosystem":"pip"},"body":"Bumps [openai-agents](https://github.com/openai/openai-agents-python) from 0.10.4 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/openai/openai-agents-python/releases\"\u003eopenai-agents's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.15.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: expose Responses WebSocket keepalive options by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3080\"\u003eopenai/openai-agents-python#3080\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: restore UnixLocal PTY terminal signal defaults by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3082\"\u003eopenai/openai-agents-python#3082\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3074\"\u003e#3074\u003c/a\u003e restore SIGINT defaults for UnixLocal PTY children by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3075\"\u003eopenai/openai-agents-python#3075\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: add 0.15 changelog by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3058\"\u003eopenai/openai-agents-python#3058\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3064\"\u003eopenai/openai-agents-python#3064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: improve quickstart documentation for Windows OS users by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3071\"\u003eopenai/openai-agents-python#3071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3072\"\u003eopenai/openai-agents-python#3072\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: cover guardrail name fallback to function \u003cstrong\u003ename\u003c/strong\u003e by \u003ca href=\"https://github.com/Quratulain-bilal\"\u003e\u003ccode\u003e@​Quratulain-bilal\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3073\"\u003eopenai/openai-agents-python#3073\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: harden Dapr Redis integration fixture loading by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3078\"\u003eopenai/openai-agents-python#3078\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.15.1 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3083\"\u003eopenai/openai-agents-python#3083\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3078\"\u003eopenai/openai-agents-python#3078\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.15.0...v0.15.1\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.15.0...v0.15.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.15.0\u003c/h2\u003e\n\u003ch2\u003eKey Changes\u003c/h2\u003e\n\u003ch3\u003eBetter model refusal handling\u003c/h3\u003e\n\u003cp\u003eIn this version, model refusals are now surfaced explicitly as \u003ccode\u003eModelRefusalError\u003c/code\u003e instead of being treated as empty text output or, for structured outputs, causing the run loop to retry until \u003ccode\u003eMaxTurnsExceeded\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThis affects code that previously expected a refusal-only model response to complete with \u003ccode\u003efinal_output == \u0026quot;\u0026quot;\u003c/code\u003e. To handle refusals without raising, provide a \u003ccode\u003emodel_refusal\u003c/code\u003e run error handler:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003eresult = Runner.run_sync(\r\n    agent,\r\n    input,\r\n    error_handlers={\u0026quot;model_refusal\u0026quot;: lambda data: data.error.refusal},\r\n)\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eFor structured-output agents, the handler can return a value matching the agent's output schema, and the SDK will validate it like other run error handler final outputs.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3055\"\u003e#3055\u003c/a\u003e surface model refusals during run resolution by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3057\"\u003eopenai/openai-agents-python#3057\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: add missing space after period in MCPServerStdio docstring by \u003ca href=\"https://github.com/GopalGB\"\u003e\u003ccode\u003e@​GopalGB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3053\"\u003eopenai/openai-agents-python#3053\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump actions/github-script from 8.0.0 to 9.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3059\"\u003eopenai/openai-agents-python#3059\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/openai/openai-agents-python/blob/main/docs/release.md\"\u003eopenai-agents's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease process/changelog\u003c/h1\u003e\n\u003cp\u003eThe project follows a slightly modified version of semantic versioning using the form \u003ccode\u003e0.Y.Z\u003c/code\u003e. The leading \u003ccode\u003e0\u003c/code\u003e indicates the SDK is still evolving rapidly. Increment the components as follows:\u003c/p\u003e\n\u003ch2\u003eMinor (\u003ccode\u003eY\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increase minor versions \u003ccode\u003eY\u003c/code\u003e for \u003cstrong\u003ebreaking changes\u003c/strong\u003e to any public interfaces that are not marked as beta. For example, going from \u003ccode\u003e0.0.x\u003c/code\u003e to \u003ccode\u003e0.1.x\u003c/code\u003e might include breaking changes.\u003c/p\u003e\n\u003cp\u003eIf you don't want breaking changes, we recommend pinning to \u003ccode\u003e0.0.x\u003c/code\u003e versions in your project.\u003c/p\u003e\n\u003ch2\u003ePatch (\u003ccode\u003eZ\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increment \u003ccode\u003eZ\u003c/code\u003e for non-breaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes\u003c/li\u003e\n\u003cli\u003eNew features\u003c/li\u003e\n\u003cli\u003eChanges to private interfaces\u003c/li\u003e\n\u003cli\u003eUpdates to beta features\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBreaking change changelog\u003c/h2\u003e\n\u003ch3\u003e0.15.0\u003c/h3\u003e\n\u003cp\u003eIn this version, model refusals are now surfaced explicitly as \u003ccode\u003eModelRefusalError\u003c/code\u003e instead of being treated as empty text output or, for structured outputs, causing the run loop to retry until \u003ccode\u003eMaxTurnsExceeded\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThis affects code that previously expected a refusal-only model response to complete with \u003ccode\u003efinal_output == \u0026quot;\u0026quot;\u003c/code\u003e. To handle refusals without raising, provide a \u003ccode\u003emodel_refusal\u003c/code\u003e run error handler:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003eresult = Runner.run_sync(\n    agent,\n    input,\n    error_handlers={\u0026quot;model_refusal\u0026quot;: lambda data: data.error.refusal},\n)\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eFor structured-output agents, the handler can return a value matching the agent's output schema, and the SDK will validate it like other run error handler final outputs.\u003c/p\u003e\n\u003ch3\u003e0.14.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change, but it adds a major new beta feature area: Sandbox Agents, plus the runtime, backend, and documentation support needed to use them across local, containerized, and hosted environments.\u003c/p\u003e\n\u003cp\u003eHighlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a new beta sandbox runtime surface centered on \u003ccode\u003eSandboxAgent\u003c/code\u003e, \u003ccode\u003eManifest\u003c/code\u003e, and \u003ccode\u003eSandboxRunConfig\u003c/code\u003e, letting agents work inside persistent isolated workspaces with files, directories, Git repos, mounts, snapshots, and resume support.\u003c/li\u003e\n\u003cli\u003eAdded sandbox execution backends for local and containerized development via \u003ccode\u003eUnixLocalSandboxClient\u003c/code\u003e and \u003ccode\u003eDockerSandboxClient\u003c/code\u003e, plus hosted provider integrations for Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop, and Vercel through optional extras.\u003c/li\u003e\n\u003cli\u003eAdded sandbox memory support so future runs can reuse lessons from prior runs, with progressive disclosure, multi-turn grouping, configurable isolation boundaries, and persisted-memory examples including S3-backed workflows.\u003c/li\u003e\n\u003cli\u003eAdded a broader workspace and resume model, including local and synthetic workspace entries, remote storage mounts for S3/R2/GCS/Azure Blob Storage/S3 Files, portable snapshots, and resume flows via \u003ccode\u003eRunState\u003c/code\u003e, \u003ccode\u003eSandboxSessionState\u003c/code\u003e, or saved snapshots.\u003c/li\u003e\n\u003cli\u003eAdded substantial sandbox examples and tutorials under \u003ccode\u003eexamples/sandbox/\u003c/code\u003e, covering coding tasks with skills, handoffs, memory, provider-specific setups, and end-to-end workflows such as code review, dataroom QA, and website cloning.\u003c/li\u003e\n\u003cli\u003eExtended the core runtime and tracing stack with sandbox-aware session preparation, capability binding, state serialization, unified tracing, prompt cache key defaults, and safer sensitive MCP output redaction.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/ceb238fd1bd341c38c43ab191874f142515bb813\"\u003e\u003ccode\u003eceb238f\u003c/code\u003e\u003c/a\u003e Release 0.15.1 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3083\"\u003e#3083\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/41c646d89862c59f536b3cdb7947bf104353ff8d\"\u003e\u003ccode\u003e41c646d\u003c/code\u003e\u003c/a\u003e fix: restore UnixLocal PTY terminal signal defaults (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3082\"\u003e#3082\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/4b2881c7c4d572f1f091e4530bb3af712f1f99a0\"\u003e\u003ccode\u003e4b2881c\u003c/code\u003e\u003c/a\u003e feat: expose Responses WebSocket keepalive options (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3080\"\u003e#3080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/a47b7ea7eced7f88c830979b0caea47d260fafd5\"\u003e\u003ccode\u003ea47b7ea\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3074\"\u003e#3074\u003c/a\u003e restore SIGINT defaults for UnixLocal PTY children (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3075\"\u003e#3075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/42c30155181b1a9913d1c3a32befc4638ab9d062\"\u003e\u003ccode\u003e42c3015\u003c/code\u003e\u003c/a\u003e chore: harden Dapr Redis integration fixture loading (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3078\"\u003e#3078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/ae224b4449c1831d2e44b03b2677845a89aefd0e\"\u003e\u003ccode\u003eae224b4\u003c/code\u003e\u003c/a\u003e test: cover guardrail name fallback to function \u003cstrong\u003ename\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3073\"\u003e#3073\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/756fa431a7ecc896e26d6556b40f761830cb7cf6\"\u003e\u003ccode\u003e756fa43\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3072\"\u003e#3072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/841f72f296d15aa28f11f9c167506181b13af5e1\"\u003e\u003ccode\u003e841f72f\u003c/code\u003e\u003c/a\u003e docs: improve quickstart documentation for Windows OS users (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3071\"\u003e#3071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/611d080ff048134fb2e5e40baf56b8a8cc69592e\"\u003e\u003ccode\u003e611d080\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3064\"\u003e#3064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/48d7e9cae7190e579c518fd571bdd317a1711e09\"\u003e\u003ccode\u003e48d7e9c\u003c/code\u003e\u003c/a\u003e docs: add 0.15 changelog (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3058\"\u003e#3058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.10.4...v0.15.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=openai-agents\u0026package-manager=pip\u0026previous-version=0.10.4\u0026new-version=0.15.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/tryskian/polinko/pull/378","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/tryskian%2Fpolinko/issues/378","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/378/packages"},{"uuid":"4330167484","node_id":"PR_kwDORzsKKM7VsC0v","number":99,"state":"open","title":"chore(deps): bump openai-agents from 0.13.6 to 0.14.6 in /addons/formula-chat/api","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-26T06:06:10.000Z","updated_at":"2026-04-26T06:09:54.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"openai-agents","old_version":"0.13.6","new_version":"0.14.6","repository_url":"https://github.com/openai/openai-agents-python"}],"path":"/addons/formula-chat/api","ecosystem":"pip"},"body":"Bumps [openai-agents](https://github.com/openai/openai-agents-python) from 0.13.6 to 0.14.6.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-agents-python/releases\"\u003eopenai-agents's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: update examples and defaults to GPT-5.5 by \u003ca href=\"https://github.com/alfozan\"\u003e\u003ccode\u003e@​alfozan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3016\"\u003eopenai/openai-agents-python#3016\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: relax websockets upper bound from \u0026lt;16 to \u0026lt;17 by \u003ca href=\"https://github.com/mathisobadia\"\u003e\u003ccode\u003e@​mathisobadia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3013\"\u003eopenai/openai-agents-python#3013\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: harden uv dependency resolution by \u003ca href=\"https://github.com/mcgrew-oai\"\u003e\u003ccode\u003e@​mcgrew-oai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3014\"\u003eopenai/openai-agents-python#3014\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3021\"\u003eopenai/openai-agents-python#3021\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add MongoDB session documentation by \u003ca href=\"https://github.com/alexbevi\"\u003e\u003ccode\u003e@​alexbevi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3015\"\u003eopenai/openai-agents-python#3015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3023\"\u003eopenai/openai-agents-python#3023\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.14.6 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3022\"\u003eopenai/openai-agents-python#3022\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mcgrew-oai\"\u003e\u003ccode\u003e@​mcgrew-oai\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3014\"\u003eopenai/openai-agents-python#3014\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mathisobadia\"\u003e\u003ccode\u003e@​mathisobadia\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3013\"\u003eopenai/openai-agents-python#3013\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.14.5...v0.14.6\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.14.5...v0.14.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.14.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3001\"\u003e#3001\u003c/a\u003e add Modal sandbox idle timeout option by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3005\"\u003eopenai/openai-agents-python#3005\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3004\"\u003e#3004\u003c/a\u003e serve HITL resume tool outputs by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3006\"\u003eopenai/openai-agents-python#3006\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: backfill streamed terminal output by \u003ca href=\"https://github.com/ankitphogat\"\u003e\u003ccode\u003e@​ankitphogat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3000\"\u003eopenai/openai-agents-python#3000\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: clarify lazy skill source host paths by \u003ca href=\"https://github.com/alfozan\"\u003e\u003ccode\u003e@​alfozan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2998\"\u003eopenai/openai-agents-python#2998\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2999\"\u003eopenai/openai-agents-python#2999\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.14.5 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3007\"\u003eopenai/openai-agents-python#3007\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankitphogat\"\u003e\u003ccode\u003e@​ankitphogat\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3000\"\u003eopenai/openai-agents-python#3000\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.14.4...v0.14.5\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.14.4...v0.14.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.14.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add BoxMount support by \u003ca href=\"https://github.com/alfozan\"\u003e\u003ccode\u003e@​alfozan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2988\"\u003eopenai/openai-agents-python#2988\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: ignore relative snapshot base overrides by \u003ca href=\"https://github.com/matthewflint\"\u003e\u003ccode\u003e@​matthewflint\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2976\"\u003eopenai/openai-agents-python#2976\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: share sandbox ephemeral mount lifecycle by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2986\"\u003eopenai/openai-agents-python#2986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: share sandbox tar exclude arg generation by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2987\"\u003eopenai/openai-agents-python#2987\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: extract sandbox session helper operations by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2985\"\u003eopenai/openai-agents-python#2985\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: remove duplicate word in voice interruptions section by \u003ca href=\"https://github.com/abhicris\"\u003e\u003ccode\u003e@​abhicris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2981\"\u003eopenai/openai-agents-python#2981\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/openai/openai-agents-python/blob/main/docs/release.md\"\u003eopenai-agents's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease process/changelog\u003c/h1\u003e\n\u003cp\u003eThe project follows a slightly modified version of semantic versioning using the form \u003ccode\u003e0.Y.Z\u003c/code\u003e. The leading \u003ccode\u003e0\u003c/code\u003e indicates the SDK is still evolving rapidly. Increment the components as follows:\u003c/p\u003e\n\u003ch2\u003eMinor (\u003ccode\u003eY\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increase minor versions \u003ccode\u003eY\u003c/code\u003e for \u003cstrong\u003ebreaking changes\u003c/strong\u003e to any public interfaces that are not marked as beta. For example, going from \u003ccode\u003e0.0.x\u003c/code\u003e to \u003ccode\u003e0.1.x\u003c/code\u003e might include breaking changes.\u003c/p\u003e\n\u003cp\u003eIf you don't want breaking changes, we recommend pinning to \u003ccode\u003e0.0.x\u003c/code\u003e versions in your project.\u003c/p\u003e\n\u003ch2\u003ePatch (\u003ccode\u003eZ\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increment \u003ccode\u003eZ\u003c/code\u003e for non-breaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes\u003c/li\u003e\n\u003cli\u003eNew features\u003c/li\u003e\n\u003cli\u003eChanges to private interfaces\u003c/li\u003e\n\u003cli\u003eUpdates to beta features\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBreaking change changelog\u003c/h2\u003e\n\u003ch3\u003e0.14.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change, but it adds a major new beta feature area: Sandbox Agents, plus the runtime, backend, and documentation support needed to use them across local, containerized, and hosted environments.\u003c/p\u003e\n\u003cp\u003eHighlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a new beta sandbox runtime surface centered on \u003ccode\u003eSandboxAgent\u003c/code\u003e, \u003ccode\u003eManifest\u003c/code\u003e, and \u003ccode\u003eSandboxRunConfig\u003c/code\u003e, letting agents work inside persistent isolated workspaces with files, directories, Git repos, mounts, snapshots, and resume support.\u003c/li\u003e\n\u003cli\u003eAdded sandbox execution backends for local and containerized development via \u003ccode\u003eUnixLocalSandboxClient\u003c/code\u003e and \u003ccode\u003eDockerSandboxClient\u003c/code\u003e, plus hosted provider integrations for Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop, and Vercel through optional extras.\u003c/li\u003e\n\u003cli\u003eAdded sandbox memory support so future runs can reuse lessons from prior runs, with progressive disclosure, multi-turn grouping, configurable isolation boundaries, and persisted-memory examples including S3-backed workflows.\u003c/li\u003e\n\u003cli\u003eAdded a broader workspace and resume model, including local and synthetic workspace entries, remote storage mounts for S3/R2/GCS/Azure Blob Storage/S3 Files, portable snapshots, and resume flows via \u003ccode\u003eRunState\u003c/code\u003e, \u003ccode\u003eSandboxSessionState\u003c/code\u003e, or saved snapshots.\u003c/li\u003e\n\u003cli\u003eAdded substantial sandbox examples and tutorials under \u003ccode\u003eexamples/sandbox/\u003c/code\u003e, covering coding tasks with skills, handoffs, memory, provider-specific setups, and end-to-end workflows such as code review, dataroom QA, and website cloning.\u003c/li\u003e\n\u003cli\u003eExtended the core runtime and tracing stack with sandbox-aware session preparation, capability binding, state serialization, unified tracing, prompt cache key defaults, and safer sensitive MCP output redaction.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e0.13.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change, but it includes a notable Realtime default update plus new MCP capabilities and runtime stability fixes.\u003c/p\u003e\n\u003cp\u003eHighlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe default websocket Realtime model is now \u003ccode\u003egpt-realtime-1.5\u003c/code\u003e, so new Realtime agent setups use the newer model without extra configuration.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMCPServer\u003c/code\u003e now exposes \u003ccode\u003elist_resources()\u003c/code\u003e, \u003ccode\u003elist_resource_templates()\u003c/code\u003e, and \u003ccode\u003eread_resource()\u003c/code\u003e, and \u003ccode\u003eMCPServerStreamableHttp\u003c/code\u003e now exposes \u003ccode\u003esession_id\u003c/code\u003e so streamable HTTP sessions can be resumed across reconnects or stateless workers.\u003c/li\u003e\n\u003cli\u003eChat Completions integrations can now opt into reasoning-content replay via \u003ccode\u003eshould_replay_reasoning_content\u003c/code\u003e, improving provider-specific reasoning/tool-call continuity for adapters such as LiteLLM/DeepSeek.\u003c/li\u003e\n\u003cli\u003eFixed several runtime and session edge cases, including concurrent first writes in \u003ccode\u003eSQLAlchemySession\u003c/code\u003e, compaction requests with orphaned assistant message IDs after reasoning stripping, \u003ccode\u003eremove_all_tools()\u003c/code\u003e leaving MCP/reasoning items behind, and a race in the function-tool batch executor.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e0.12.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change. Check \u003ca href=\"https://github.com/openai/openai-agents-python/releases/tag/v0.12.0\"\u003ethe release notes\u003c/a\u003e for major feature additions.\u003c/p\u003e\n\u003ch3\u003e0.11.0\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/9a207b6938699d87d2d17dd67dd628ca3af0232d\"\u003e\u003ccode\u003e9a207b6\u003c/code\u003e\u003c/a\u003e Release 0.14.6 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3022\"\u003e#3022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/9af6ad111cab2defd5ef76404d575c35067af8de\"\u003e\u003ccode\u003e9af6ad1\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3023\"\u003e#3023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/1821bf8094a21fee53c4e48f9346943c4a49dc5d\"\u003e\u003ccode\u003e1821bf8\u003c/code\u003e\u003c/a\u003e docs: add MongoDB session documentation (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3015\"\u003e#3015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/071e2b68f6b73bc96badfdee92e862cd41427eac\"\u003e\u003ccode\u003e071e2b6\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3021\"\u003e#3021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/c88f339d32f2c1fc22ab5c71b0c86328379b6881\"\u003e\u003ccode\u003ec88f339\u003c/code\u003e\u003c/a\u003e Update examples and defaults to GPT-5.5 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3016\"\u003e#3016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/5ffc1ecee444157447eca830275ff347adaa8c16\"\u003e\u003ccode\u003e5ffc1ec\u003c/code\u003e\u003c/a\u003e relax websockets upper bound from \u0026lt;16 to \u0026lt;17 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3013\"\u003e#3013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/c2cb03146163e650518f9ed7d9a293352620881b\"\u003e\u003ccode\u003ec2cb031\u003c/code\u003e\u003c/a\u003e chore: harden uv dependency resolution (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3014\"\u003e#3014\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/fe3a5e6c271839107be2e554f96438436787331c\"\u003e\u003ccode\u003efe3a5e6\u003c/code\u003e\u003c/a\u003e Release 0.14.5 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3007\"\u003e#3007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/16e040929b76058e2776068eded0df40c4887445\"\u003e\u003ccode\u003e16e0409\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3004\"\u003e#3004\u003c/a\u003e serve HITL resume tool outputs (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3006\"\u003e#3006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/5be06a16a9aba93adff8539cde4a7a9519998a51\"\u003e\u003ccode\u003e5be06a1\u003c/code\u003e\u003c/a\u003e feat: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3001\"\u003e#3001\u003c/a\u003e add Modal sandbox idle timeout option (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3005\"\u003e#3005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.13.6...v0.14.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=openai-agents\u0026package-manager=pip\u0026previous-version=0.13.6\u0026new-version=0.14.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/HARISHMARAN/Harry-s-F1-data/pull/99","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/HARISHMARAN%2FHarry-s-F1-data/issues/99","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/99/packages"},{"uuid":"4329474464","node_id":"PR_kwDORl2wQc7Vp9zt","number":27,"state":"closed","title":"Bump openai-agents from 0.0.7 to 0.14.6 in /openai-agents","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-02T23:12:48.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-25T23:12:39.000Z","updated_at":"2026-05-02T23:12:50.000Z","time_to_close":604809,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"openai-agents","old_version":"0.0.7","new_version":"0.14.6","repository_url":"https://github.com/openai/openai-agents-python"}],"path":"/openai-agents","ecosystem":"pip"},"body":"Bumps [openai-agents](https://github.com/openai/openai-agents-python) from 0.0.7 to 0.14.6.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-agents-python/releases\"\u003eopenai-agents's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: update examples and defaults to GPT-5.5 by \u003ca href=\"https://github.com/alfozan\"\u003e\u003ccode\u003e@​alfozan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3016\"\u003eopenai/openai-agents-python#3016\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: relax websockets upper bound from \u0026lt;16 to \u0026lt;17 by \u003ca href=\"https://github.com/mathisobadia\"\u003e\u003ccode\u003e@​mathisobadia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3013\"\u003eopenai/openai-agents-python#3013\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: harden uv dependency resolution by \u003ca href=\"https://github.com/mcgrew-oai\"\u003e\u003ccode\u003e@​mcgrew-oai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3014\"\u003eopenai/openai-agents-python#3014\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3021\"\u003eopenai/openai-agents-python#3021\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add MongoDB session documentation by \u003ca href=\"https://github.com/alexbevi\"\u003e\u003ccode\u003e@​alexbevi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3015\"\u003eopenai/openai-agents-python#3015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3023\"\u003eopenai/openai-agents-python#3023\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.14.6 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3022\"\u003eopenai/openai-agents-python#3022\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mcgrew-oai\"\u003e\u003ccode\u003e@​mcgrew-oai\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3014\"\u003eopenai/openai-agents-python#3014\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mathisobadia\"\u003e\u003ccode\u003e@​mathisobadia\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3013\"\u003eopenai/openai-agents-python#3013\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.14.5...v0.14.6\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.14.5...v0.14.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.14.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3001\"\u003e#3001\u003c/a\u003e add Modal sandbox idle timeout option by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3005\"\u003eopenai/openai-agents-python#3005\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3004\"\u003e#3004\u003c/a\u003e serve HITL resume tool outputs by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3006\"\u003eopenai/openai-agents-python#3006\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: backfill streamed terminal output by \u003ca href=\"https://github.com/ankitphogat\"\u003e\u003ccode\u003e@​ankitphogat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3000\"\u003eopenai/openai-agents-python#3000\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: clarify lazy skill source host paths by \u003ca href=\"https://github.com/alfozan\"\u003e\u003ccode\u003e@​alfozan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2998\"\u003eopenai/openai-agents-python#2998\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2999\"\u003eopenai/openai-agents-python#2999\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.14.5 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3007\"\u003eopenai/openai-agents-python#3007\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankitphogat\"\u003e\u003ccode\u003e@​ankitphogat\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3000\"\u003eopenai/openai-agents-python#3000\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.14.4...v0.14.5\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.14.4...v0.14.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.14.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add BoxMount support by \u003ca href=\"https://github.com/alfozan\"\u003e\u003ccode\u003e@​alfozan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2988\"\u003eopenai/openai-agents-python#2988\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: ignore relative snapshot base overrides by \u003ca href=\"https://github.com/matthewflint\"\u003e\u003ccode\u003e@​matthewflint\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2976\"\u003eopenai/openai-agents-python#2976\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: share sandbox ephemeral mount lifecycle by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2986\"\u003eopenai/openai-agents-python#2986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: share sandbox tar exclude arg generation by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2987\"\u003eopenai/openai-agents-python#2987\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: extract sandbox session helper operations by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2985\"\u003eopenai/openai-agents-python#2985\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: remove duplicate word in voice interruptions section by \u003ca href=\"https://github.com/abhicris\"\u003e\u003ccode\u003e@​abhicris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2981\"\u003eopenai/openai-agents-python#2981\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/openai/openai-agents-python/blob/main/docs/release.md\"\u003eopenai-agents's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease process/changelog\u003c/h1\u003e\n\u003cp\u003eThe project follows a slightly modified version of semantic versioning using the form \u003ccode\u003e0.Y.Z\u003c/code\u003e. The leading \u003ccode\u003e0\u003c/code\u003e indicates the SDK is still evolving rapidly. Increment the components as follows:\u003c/p\u003e\n\u003ch2\u003eMinor (\u003ccode\u003eY\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increase minor versions \u003ccode\u003eY\u003c/code\u003e for \u003cstrong\u003ebreaking changes\u003c/strong\u003e to any public interfaces that are not marked as beta. For example, going from \u003ccode\u003e0.0.x\u003c/code\u003e to \u003ccode\u003e0.1.x\u003c/code\u003e might include breaking changes.\u003c/p\u003e\n\u003cp\u003eIf you don't want breaking changes, we recommend pinning to \u003ccode\u003e0.0.x\u003c/code\u003e versions in your project.\u003c/p\u003e\n\u003ch2\u003ePatch (\u003ccode\u003eZ\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increment \u003ccode\u003eZ\u003c/code\u003e for non-breaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes\u003c/li\u003e\n\u003cli\u003eNew features\u003c/li\u003e\n\u003cli\u003eChanges to private interfaces\u003c/li\u003e\n\u003cli\u003eUpdates to beta features\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBreaking change changelog\u003c/h2\u003e\n\u003ch3\u003e0.14.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change, but it adds a major new beta feature area: Sandbox Agents, plus the runtime, backend, and documentation support needed to use them across local, containerized, and hosted environments.\u003c/p\u003e\n\u003cp\u003eHighlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a new beta sandbox runtime surface centered on \u003ccode\u003eSandboxAgent\u003c/code\u003e, \u003ccode\u003eManifest\u003c/code\u003e, and \u003ccode\u003eSandboxRunConfig\u003c/code\u003e, letting agents work inside persistent isolated workspaces with files, directories, Git repos, mounts, snapshots, and resume support.\u003c/li\u003e\n\u003cli\u003eAdded sandbox execution backends for local and containerized development via \u003ccode\u003eUnixLocalSandboxClient\u003c/code\u003e and \u003ccode\u003eDockerSandboxClient\u003c/code\u003e, plus hosted provider integrations for Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop, and Vercel through optional extras.\u003c/li\u003e\n\u003cli\u003eAdded sandbox memory support so future runs can reuse lessons from prior runs, with progressive disclosure, multi-turn grouping, configurable isolation boundaries, and persisted-memory examples including S3-backed workflows.\u003c/li\u003e\n\u003cli\u003eAdded a broader workspace and resume model, including local and synthetic workspace entries, remote storage mounts for S3/R2/GCS/Azure Blob Storage/S3 Files, portable snapshots, and resume flows via \u003ccode\u003eRunState\u003c/code\u003e, \u003ccode\u003eSandboxSessionState\u003c/code\u003e, or saved snapshots.\u003c/li\u003e\n\u003cli\u003eAdded substantial sandbox examples and tutorials under \u003ccode\u003eexamples/sandbox/\u003c/code\u003e, covering coding tasks with skills, handoffs, memory, provider-specific setups, and end-to-end workflows such as code review, dataroom QA, and website cloning.\u003c/li\u003e\n\u003cli\u003eExtended the core runtime and tracing stack with sandbox-aware session preparation, capability binding, state serialization, unified tracing, prompt cache key defaults, and safer sensitive MCP output redaction.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e0.13.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change, but it includes a notable Realtime default update plus new MCP capabilities and runtime stability fixes.\u003c/p\u003e\n\u003cp\u003eHighlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe default websocket Realtime model is now \u003ccode\u003egpt-realtime-1.5\u003c/code\u003e, so new Realtime agent setups use the newer model without extra configuration.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMCPServer\u003c/code\u003e now exposes \u003ccode\u003elist_resources()\u003c/code\u003e, \u003ccode\u003elist_resource_templates()\u003c/code\u003e, and \u003ccode\u003eread_resource()\u003c/code\u003e, and \u003ccode\u003eMCPServerStreamableHttp\u003c/code\u003e now exposes \u003ccode\u003esession_id\u003c/code\u003e so streamable HTTP sessions can be resumed across reconnects or stateless workers.\u003c/li\u003e\n\u003cli\u003eChat Completions integrations can now opt into reasoning-content replay via \u003ccode\u003eshould_replay_reasoning_content\u003c/code\u003e, improving provider-specific reasoning/tool-call continuity for adapters such as LiteLLM/DeepSeek.\u003c/li\u003e\n\u003cli\u003eFixed several runtime and session edge cases, including concurrent first writes in \u003ccode\u003eSQLAlchemySession\u003c/code\u003e, compaction requests with orphaned assistant message IDs after reasoning stripping, \u003ccode\u003eremove_all_tools()\u003c/code\u003e leaving MCP/reasoning items behind, and a race in the function-tool batch executor.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e0.12.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change. Check \u003ca href=\"https://github.com/openai/openai-agents-python/releases/tag/v0.12.0\"\u003ethe release notes\u003c/a\u003e for major feature additions.\u003c/p\u003e\n\u003ch3\u003e0.11.0\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/9a207b6938699d87d2d17dd67dd628ca3af0232d\"\u003e\u003ccode\u003e9a207b6\u003c/code\u003e\u003c/a\u003e Release 0.14.6 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3022\"\u003e#3022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/9af6ad111cab2defd5ef76404d575c35067af8de\"\u003e\u003ccode\u003e9af6ad1\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3023\"\u003e#3023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/1821bf8094a21fee53c4e48f9346943c4a49dc5d\"\u003e\u003ccode\u003e1821bf8\u003c/code\u003e\u003c/a\u003e docs: add MongoDB session documentation (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3015\"\u003e#3015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/071e2b68f6b73bc96badfdee92e862cd41427eac\"\u003e\u003ccode\u003e071e2b6\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3021\"\u003e#3021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/c88f339d32f2c1fc22ab5c71b0c86328379b6881\"\u003e\u003ccode\u003ec88f339\u003c/code\u003e\u003c/a\u003e Update examples and defaults to GPT-5.5 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3016\"\u003e#3016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/5ffc1ecee444157447eca830275ff347adaa8c16\"\u003e\u003ccode\u003e5ffc1ec\u003c/code\u003e\u003c/a\u003e relax websockets upper bound from \u0026lt;16 to \u0026lt;17 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3013\"\u003e#3013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/c2cb03146163e650518f9ed7d9a293352620881b\"\u003e\u003ccode\u003ec2cb031\u003c/code\u003e\u003c/a\u003e chore: harden uv dependency resolution (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3014\"\u003e#3014\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/fe3a5e6c271839107be2e554f96438436787331c\"\u003e\u003ccode\u003efe3a5e6\u003c/code\u003e\u003c/a\u003e Release 0.14.5 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3007\"\u003e#3007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/16e040929b76058e2776068eded0df40c4887445\"\u003e\u003ccode\u003e16e0409\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3004\"\u003e#3004\u003c/a\u003e serve HITL resume tool outputs (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3006\"\u003e#3006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/5be06a16a9aba93adff8539cde4a7a9519998a51\"\u003e\u003ccode\u003e5be06a1\u003c/code\u003e\u003c/a\u003e feat: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3001\"\u003e#3001\u003c/a\u003e add Modal sandbox idle timeout option (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3005\"\u003e#3005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.0.7...v0.14.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=openai-agents\u0026package-manager=pip\u0026previous-version=0.0.7\u0026new-version=0.14.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/delega-dev/delega-examples/pull/27","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/delega-dev%2Fdelega-examples/issues/27","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/27/packages"},{"uuid":"4313214957","node_id":"PR_kwDOR7dI1c7U1b4j","number":199,"state":"closed","title":"chore(deps): bump openai-agents from 0.13.6 to 0.14.1 in /apps/orchestrator","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-27T03:15:29.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-23T03:09:26.000Z","updated_at":"2026-04-27T03:15:31.000Z","time_to_close":345963,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"openai-agents","old_version":"0.13.6","new_version":"0.14.1","repository_url":"https://github.com/openai/openai-agents-python"}],"path":"/apps/orchestrator","ecosystem":"pip"},"body":"Bumps [openai-agents](https://github.com/openai/openai-agents-python) from 0.13.6 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/openai/openai-agents-python/releases\"\u003eopenai-agents's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: sanitize OpenAI tracing export payloads by \u003ca href=\"https://github.com/alfozan\"\u003e\u003ccode\u003e@​alfozan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2896\"\u003eopenai/openai-agents-python#2896\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2873\"\u003e#2873\u003c/a\u003e preserve computer driver compatibility for modifier keys by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2877\"\u003eopenai/openai-agents-python#2877\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2151\"\u003e#2151\u003c/a\u003e shield server-managed handoffs from unsupported history rewrites by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2747\"\u003eopenai/openai-agents-python#2747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: stop streamed tool execution after known input guardrail tripwire by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2688\"\u003eopenai/openai-agents-python#2688\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2891\"\u003eopenai/openai-agents-python#2891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: align translated sandbox nav and refresh generated refs by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2892\"\u003eopenai/openai-agents-python#2892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: clarify ToolContext availability in function-tool lifecycle hooks by \u003ca href=\"https://github.com/HuxleyHu98\"\u003e\u003ccode\u003e@​HuxleyHu98\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2687\"\u003eopenai/openai-agents-python#2687\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2893\"\u003eopenai/openai-agents-python#2893\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add sandbox auto-label mapping by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2894\"\u003eopenai/openai-agents-python#2894\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.14.1 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2895\"\u003eopenai/openai-agents-python#2895\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HuxleyHu98\"\u003e\u003ccode\u003e@​HuxleyHu98\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2687\"\u003eopenai/openai-agents-python#2687\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alfozan\"\u003e\u003ccode\u003e@​alfozan\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2896\"\u003eopenai/openai-agents-python#2896\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.14.0...v0.14.1\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.14.0...v0.14.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.14.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eSandbox Agents\u003c/h3\u003e\n\u003cp\u003eThis release adds \u003cstrong\u003eSandbox Agents\u003c/strong\u003e, a beta SDK surface for running agents with a persistent, isolated workspace. Sandbox agents keep the normal \u003ccode\u003eAgent\u003c/code\u003e and \u003ccode\u003eRunner\u003c/code\u003e flow, but add workspace manifests, sandbox-native capabilities, sandbox clients, snapshots, and resume support so agents can work over real files, run commands, edit repositories, generate artifacts, and continue work across runs.\u003c/p\u003e\n\u003cp\u003eKey pieces:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSandboxAgent\u003c/code\u003e: an \u003ccode\u003eAgent\u003c/code\u003e with sandbox defaults such as \u003ccode\u003edefault_manifest\u003c/code\u003e, sandbox instructions, capabilities, and \u003ccode\u003erun_as\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eManifest\u003c/code\u003e: a fresh-workspace contract for files, directories, local files, local directories, Git repos, environment, users, groups, and mounts.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSandboxRunConfig\u003c/code\u003e: per-run sandbox wiring for client creation, live session injection, serialized session resume, manifest overrides, snapshots, and materialization concurrency limits.\u003c/li\u003e\n\u003cli\u003eBuilt-in capabilities for shell access, filesystem editing and image inspection, skills, memory, and compaction.\u003c/li\u003e\n\u003cli\u003eWorkspace snapshots and serialized sandbox session state for reconnecting to existing work or seeding a fresh sandbox from saved contents.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSandbox clients and hosted providers\u003c/h3\u003e\n\u003cp\u003eSandbox agents now support local, containerized, and hosted execution backends:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eUnixLocalSandboxClient\u003c/code\u003e for fast local development.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eDockerSandboxClient\u003c/code\u003e for container isolation and image parity.\u003c/li\u003e\n\u003cli\u003eHosted sandbox clients for Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop, and Vercel through optional extras.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe release also adds provider-specific examples and mount strategies for common storage backends, including S3, Cloudflare R2, Google Cloud Storage, Azure Blob Storage, and S3 Files where supported by the selected backend.\u003c/p\u003e\n\u003ch3\u003eSandbox memory\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/openai/openai-agents-python/blob/main/docs/release.md\"\u003eopenai-agents's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease process/changelog\u003c/h1\u003e\n\u003cp\u003eThe project follows a slightly modified version of semantic versioning using the form \u003ccode\u003e0.Y.Z\u003c/code\u003e. The leading \u003ccode\u003e0\u003c/code\u003e indicates the SDK is still evolving rapidly. Increment the components as follows:\u003c/p\u003e\n\u003ch2\u003eMinor (\u003ccode\u003eY\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increase minor versions \u003ccode\u003eY\u003c/code\u003e for \u003cstrong\u003ebreaking changes\u003c/strong\u003e to any public interfaces that are not marked as beta. For example, going from \u003ccode\u003e0.0.x\u003c/code\u003e to \u003ccode\u003e0.1.x\u003c/code\u003e might include breaking changes.\u003c/p\u003e\n\u003cp\u003eIf you don't want breaking changes, we recommend pinning to \u003ccode\u003e0.0.x\u003c/code\u003e versions in your project.\u003c/p\u003e\n\u003ch2\u003ePatch (\u003ccode\u003eZ\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increment \u003ccode\u003eZ\u003c/code\u003e for non-breaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes\u003c/li\u003e\n\u003cli\u003eNew features\u003c/li\u003e\n\u003cli\u003eChanges to private interfaces\u003c/li\u003e\n\u003cli\u003eUpdates to beta features\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBreaking change changelog\u003c/h2\u003e\n\u003ch3\u003e0.14.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change, but it adds a major new beta feature area: Sandbox Agents, plus the runtime, backend, and documentation support needed to use them across local, containerized, and hosted environments.\u003c/p\u003e\n\u003cp\u003eHighlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a new beta sandbox runtime surface centered on \u003ccode\u003eSandboxAgent\u003c/code\u003e, \u003ccode\u003eManifest\u003c/code\u003e, and \u003ccode\u003eSandboxRunConfig\u003c/code\u003e, letting agents work inside persistent isolated workspaces with files, directories, Git repos, mounts, snapshots, and resume support.\u003c/li\u003e\n\u003cli\u003eAdded sandbox execution backends for local and containerized development via \u003ccode\u003eUnixLocalSandboxClient\u003c/code\u003e and \u003ccode\u003eDockerSandboxClient\u003c/code\u003e, plus hosted provider integrations for Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop, and Vercel through optional extras.\u003c/li\u003e\n\u003cli\u003eAdded sandbox memory support so future runs can reuse lessons from prior runs, with progressive disclosure, multi-turn grouping, configurable isolation boundaries, and persisted-memory examples including S3-backed workflows.\u003c/li\u003e\n\u003cli\u003eAdded a broader workspace and resume model, including local and synthetic workspace entries, remote storage mounts for S3/R2/GCS/Azure Blob Storage/S3 Files, portable snapshots, and resume flows via \u003ccode\u003eRunState\u003c/code\u003e, \u003ccode\u003eSandboxSessionState\u003c/code\u003e, or saved snapshots.\u003c/li\u003e\n\u003cli\u003eAdded substantial sandbox examples and tutorials under \u003ccode\u003eexamples/sandbox/\u003c/code\u003e, covering coding tasks with skills, handoffs, memory, provider-specific setups, and end-to-end workflows such as code review, dataroom QA, and website cloning.\u003c/li\u003e\n\u003cli\u003eExtended the core runtime and tracing stack with sandbox-aware session preparation, capability binding, state serialization, unified tracing, prompt cache key defaults, and safer sensitive MCP output redaction.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e0.13.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change, but it includes a notable Realtime default update plus new MCP capabilities and runtime stability fixes.\u003c/p\u003e\n\u003cp\u003eHighlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe default websocket Realtime model is now \u003ccode\u003egpt-realtime-1.5\u003c/code\u003e, so new Realtime agent setups use the newer model without extra configuration.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMCPServer\u003c/code\u003e now exposes \u003ccode\u003elist_resources()\u003c/code\u003e, \u003ccode\u003elist_resource_templates()\u003c/code\u003e, and \u003ccode\u003eread_resource()\u003c/code\u003e, and \u003ccode\u003eMCPServerStreamableHttp\u003c/code\u003e now exposes \u003ccode\u003esession_id\u003c/code\u003e so streamable HTTP sessions can be resumed across reconnects or stateless workers.\u003c/li\u003e\n\u003cli\u003eChat Completions integrations can now opt into reasoning-content replay via \u003ccode\u003eshould_replay_reasoning_content\u003c/code\u003e, improving provider-specific reasoning/tool-call continuity for adapters such as LiteLLM/DeepSeek.\u003c/li\u003e\n\u003cli\u003eFixed several runtime and session edge cases, including concurrent first writes in \u003ccode\u003eSQLAlchemySession\u003c/code\u003e, compaction requests with orphaned assistant message IDs after reasoning stripping, \u003ccode\u003eremove_all_tools()\u003c/code\u003e leaving MCP/reasoning items behind, and a race in the function-tool batch executor.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e0.12.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change. Check \u003ca href=\"https://github.com/openai/openai-agents-python/releases/tag/v0.12.0\"\u003ethe release notes\u003c/a\u003e for major feature additions.\u003c/p\u003e\n\u003ch3\u003e0.11.0\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/3dffa4ba9351ee38b964af43b50a2fe70f1a89f6\"\u003e\u003ccode\u003e3dffa4b\u003c/code\u003e\u003c/a\u003e Release 0.14.1 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2895\"\u003e#2895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/2cef83b4777524bf7d44a0afee0d472adfb50e9a\"\u003e\u003ccode\u003e2cef83b\u003c/code\u003e\u003c/a\u003e fix: sanitize OpenAI tracing export payloads (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2896\"\u003e#2896\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/0a100fb1e409ba034854aafd464a825a86df8a38\"\u003e\u003ccode\u003e0a100fb\u003c/code\u003e\u003c/a\u003e ci: add sandbox auto-label mapping (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2894\"\u003e#2894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/fa049a26fb1c6542653ab886965779d5fb31773b\"\u003e\u003ccode\u003efa049a2\u003c/code\u003e\u003c/a\u003e fix: stop streamed tool execution after known input guardrail tripwire (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2688\"\u003e#2688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/901348023d9e26ac4e5565e0d86367d3ac40fed5\"\u003e\u003ccode\u003e9013480\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2873\"\u003e#2873\u003c/a\u003e preserve computer driver compatibility for modifier keys (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2877\"\u003e#2877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/83b38333826b9cd34abd767703e0a1b9eea46105\"\u003e\u003ccode\u003e83b3833\u003c/code\u003e\u003c/a\u003e fix \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2151\"\u003e#2151\u003c/a\u003e shield server-managed handoffs from unsupported history rewrites (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/5d05d5d5d27067692fc1114b56c9dd849ce08015\"\u003e\u003ccode\u003e5d05d5d\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2893\"\u003e#2893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/bd871cddb2cb76e5707677c0e385d094c9a1a7a6\"\u003e\u003ccode\u003ebd871cd\u003c/code\u003e\u003c/a\u003e docs: clarify ToolContext availability in function-tool lifecycle hooks (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2687\"\u003e#2687\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/489221155b2360b8f16b5fca394f59bc63ac355c\"\u003e\u003ccode\u003e4892211\u003c/code\u003e\u003c/a\u003e docs: align translated sandbox nav and refresh generated refs (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2892\"\u003e#2892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/e3366670ad0cb88cd778a51ad91a45e87e6d8227\"\u003e\u003ccode\u003ee336667\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2891\"\u003e#2891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.13.6...v0.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=openai-agents\u0026package-manager=pip\u0026previous-version=0.13.6\u0026new-version=0.14.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/xiaojiou176-open/OpenVibeCoding/pull/199","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaojiou176-open%2FOpenVibeCoding/issues/199","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/199/packages"},{"uuid":"4295793419","node_id":"PR_kwDOJpb2687T89KH","number":2740,"state":"closed","title":"chore(deps): bump the py-minor-and-patch group in /python with 18 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-20T23:19:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-20T12:53:12.000Z","updated_at":"2026-04-20T23:19:51.000Z","time_to_close":37598,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"py-minor-and-patch","update_count":18,"packages":[{"name":"pydantic","old_version":"2.12.5","new_version":"2.13.2","repository_url":"https://github.com/pydantic/pydantic"},{"name":"packaging","old_version":"26.0","new_version":"26.1","repository_url":"https://github.com/pypa/packaging"},{"name":"opentelemetry-sdk","old_version":"1.38.0","new_version":"1.41.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-api","old_version":"1.38.0","new_version":"1.41.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-exporter-otlp-proto-http","old_version":"1.38.0","new_version":"1.41.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"openai-agents","old_version":"0.13.6","new_version":"0.14.2","repository_url":"https://github.com/openai/openai-agents-python"},{"name":"claude-agent-sdk","old_version":"0.1.58","new_version":"0.1.63","repository_url":"https://github.com/anthropics/claude-agent-sdk-python"},{"name":"google-adk","old_version":"1.29.0","new_version":"1.14.1","repository_url":"https://github.com/google/adk-python"},{"name":"mypy","old_version":"1.20.0","new_version":"1.20.1","repository_url":"https://github.com/python/mypy"},{"name":"ruff","old_version":"0.15.10","new_version":"0.15.11","repository_url":"https://github.com/astral-sh/ruff"},{"name":"fastapi","old_version":"0.135.3","new_version":"0.136.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"langchain-core","old_version":"1.2.28","new_version":"1.3.0","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langchain-openai","old_version":"1.1.12","new_version":"1.1.14","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langchain-anthropic","old_version":"1.4.0","new_version":"1.4.1","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"google-genai","old_version":"1.72.0","new_version":"1.73.1","repository_url":"https://github.com/googleapis/python-genai"},{"name":"ty","old_version":"0.0.29","new_version":"0.0.31","repository_url":"https://github.com/astral-sh/ty"},{"name":"openai","old_version":"2.31.0","new_version":"2.32.0","repository_url":"https://github.com/openai/openai-python"},{"name":"anthropic","old_version":"0.87.0","new_version":"0.96.0","repository_url":"https://github.com/anthropics/anthropic-sdk-python"}],"path":"/python","ecosystem":"pip"},"body":"Bumps the py-minor-and-patch group in /python with 18 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.12.5` | `2.13.2` |\n| [packaging](https://github.com/pypa/packaging) | `26.0` | `26.1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.41.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.41.0` |\n| [opentelemetry-exporter-otlp-proto-http](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.41.0` |\n| [openai-agents](https://github.com/openai/openai-agents-python) | `0.13.6` | `0.14.2` |\n| [claude-agent-sdk](https://github.com/anthropics/claude-agent-sdk-python) | `0.1.58` | `0.1.63` |\n| [google-adk](https://github.com/google/adk-python) | `1.29.0` | `1.14.1` |\n| [mypy](https://github.com/python/mypy) | `1.20.0` | `1.20.1` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.10` | `0.15.11` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.135.3` | `0.136.0` |\n| [langchain-core](https://github.com/langchain-ai/langchain) | `1.2.28` | `1.3.0` |\n| [langchain-openai](https://github.com/langchain-ai/langchain) | `1.1.12` | `1.1.14` |\n| [langchain-anthropic](https://github.com/langchain-ai/langchain) | `1.4.0` | `1.4.1` |\n| [google-genai](https://github.com/googleapis/python-genai) | `1.72.0` | `1.73.1` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.29` | `0.0.31` |\n| [openai](https://github.com/openai/openai-python) | `2.31.0` | `2.32.0` |\n| [anthropic](https://github.com/anthropics/anthropic-sdk-python) | `0.87.0` | `0.96.0` |\n\nUpdates `pydantic` from 2.12.5 to 2.13.2\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.2 2026-04-17\u003c/h2\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13084\"\u003e#13084\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.1...v2.13.2\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.1...v2.13.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.1 2026-04-15\u003c/h2\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13079\"\u003e#13079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.1\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.0 2026-04-13\u003c/h2\u003e\n\u003ch2\u003ev2.13.0 (2026-04-13)\u003c/h2\u003e\n\u003cp\u003eThe highlights of the v2.13 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-13-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.13/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e) are also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release contains the updated \u003ccode\u003epydantic.v1\u003c/code\u003e namespace, matching version 1.10.26 which includes support for Python 3.14.\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eSee the beta releases for all changes sinces 2.12.\u003c/p\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd zizmor for GitHub Actions workflow linting by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13039\"\u003e#13039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate jiter to v0.14.0 to fix a segmentation fault on musl Linux by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13064\"\u003e#13064\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAllow default factories of private attributes to take validated model data by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13013\"\u003e#13013\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eWarn when serializing fixed length tuples with too few items by \u003ca href=\"https://github.com/arvindsaripalli\"\u003e\u003ccode\u003e@​arvindsaripalli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13016\"\u003e#13016\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eChange type of \u003ccode\u003eAny\u003c/code\u003e when synthesizing \u003ccode\u003e_build_sources\u003c/code\u003e for  \u003ccode\u003eBaseSettings.__init__()\u003c/code\u003e signature in the mypy plugin 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/13049\"\u003e#13049\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/v2.13.2/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.2\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13084\"\u003e#13084\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.1\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13079\"\u003e#13079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.0 (2026-04-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.0\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe highlights of the v2.13 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-13-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.13/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e)\nare also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release contains the updated \u003ccode\u003epydantic.v1\u003c/code\u003e namespace, matching version 1.10.26 which includes support for Python 3.14.\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eSee the beta releases for all changes sinces 2.12.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAllow default factories of private attributes to take validated model data by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13013\"\u003e#13013\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eWarn when serializing fixed length tuples with too few items by \u003ca href=\"https://github.com/arvindsaripalli\"\u003e\u003ccode\u003e@​arvindsaripalli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13016\"\u003e#13016\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eChange type of \u003ccode\u003eAny\u003c/code\u003e when synthesizing \u003ccode\u003e_build_sources\u003c/code\u003e for  \u003ccode\u003eBaseSettings.__init__()\u003c/code\u003e signature in the mypy plugin 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/13049\"\u003e#13049\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix model equality when using runtime \u003ccode\u003eextra\u003c/code\u003e configuration 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/13062\"\u003e#13062\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd zizmor for GitHub Actions workflow linting by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13039\"\u003e#13039\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/ca3ddd1149bd3b14273922a29da174804496a055\"\u003e\u003ccode\u003eca3ddd1\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/000e823a3ab7545b0c6064fde34effdcd02044ab\"\u003e\u003ccode\u003e000e823\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/d45d8be3ffb6dfc6d0c64da6980140c91ff841fb\"\u003e\u003ccode\u003ed45d8be\u003c/code\u003e\u003c/a\u003e Prepare release 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/54aca609ce58e73dfe1c681d93432fbe3a4621da\"\u003e\u003ccode\u003e54aca60\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/46bf4fa648af3a1fbf4603a37f210e9d9c618357\"\u003e\u003ccode\u003e46bf4fa\u003c/code\u003e\u003c/a\u003e Fix Pydantic release workflow (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13067\"\u003e#13067\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/1b359edab09c623464d23c6fd2503ae5ff276d43\"\u003e\u003ccode\u003e1b359ed\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13065\"\u003e#13065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b1bf19445d8ac144a7a0e82674d2d87eebab6c18\"\u003e\u003ccode\u003eb1bf194\u003c/code\u003e\u003c/a\u003e Fix model equality when using runtime \u003ccode\u003eextra\u003c/code\u003e configuration (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13062\"\u003e#13062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/17a35e371bdff348c0690651d324c91fc7c9ff9e\"\u003e\u003ccode\u003e17a35e3\u003c/code\u003e\u003c/a\u003e Update jiter to v0.14.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13064\"\u003e#13064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/feea402b23fa23774669908c4e08a61ba1e4238e\"\u003e\u003ccode\u003efeea402\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003esimulation\u003c/code\u003e mode in Codspeed CI (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13063\"\u003e#13063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/671c9b0d4d3f9b2f1b95ca32ac85cb69e824e0bc\"\u003e\u003ccode\u003e671c9b0\u003c/code\u003e\u003c/a\u003e Add basic benchmarks for model equality (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13061\"\u003e#13061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.5...v2.13.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `packaging` from 26.0 to 26.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/packaging/releases\"\u003epackaging's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.1\u003c/h2\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cdel\u003ePEP 783: add handling for Emscripten wheel tags by \u003ca href=\"https://github.com/hoodmane\"\u003e\u003ccode\u003e@​hoodmane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/804\"\u003epypa/packaging#804\u003c/a\u003e\u003c/del\u003e (old name used in implementation, will be fixed in next release)\u003c/li\u003e\n\u003cli\u003ePEP 803: add handling for the \u003ccode\u003eabi3.abi3t\u003c/code\u003e free-threading tag by \u003ca href=\"https://github.com/ngoldbaum\"\u003e\u003ccode\u003e@​ngoldbaum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1099\"\u003epypa/packaging#1099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePEP 723: add \u003ccode\u003epackaging.dependency_groups\u003c/code\u003e module, based on the \u003ccode\u003edependency-groups\u003c/code\u003e package by \u003ca href=\"https://github.com/sirosen\"\u003e\u003ccode\u003e@​sirosen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1065\"\u003epypa/packaging#1065\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd the \u003ccode\u003epackaging.direct_url\u003c/code\u003e module by \u003ca href=\"https://github.com/sbidoul\"\u003e\u003ccode\u003e@​sbidoul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/944\"\u003epypa/packaging#944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd the \u003ccode\u003epackaging.errors\u003c/code\u003e module by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1071\"\u003epypa/packaging#1071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eSpecifierSet.is_unsatisfiable\u003c/code\u003e using ranges (new internals that will be expanded in future versions) by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1119\"\u003epypa/packaging#1119\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecreate_compatible_tags_selector\u003c/code\u003e to select compatible tags by \u003ca href=\"https://github.com/sbidoul\"\u003e\u003ccode\u003e@​sbidoul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1110\"\u003epypa/packaging#1110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003ekey\u003c/code\u003e argument to \u003ccode\u003eSpecifierSet.filter()\u003c/code\u003e by \u003ca href=\"https://github.com/frostming\"\u003e\u003ccode\u003e@​frostming\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1068\"\u003epypa/packaging#1068\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e\u0026amp;\u003c/code\u003e and \u003ccode\u003e|\u003c/code\u003e for \u003ccode\u003eMarker\u003c/code\u003e's by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1146\"\u003epypa/packaging#1146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNormalize \u003ccode\u003eVersion.__replace__\u003c/code\u003e and add \u003ccode\u003eVersion.from_parts\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1078\"\u003epypa/packaging#1078\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd an option to validate compressed tag set sort order in \u003ccode\u003eparse_wheel_filename\u003c/code\u003e by \u003ca href=\"https://github.com/r266-tech\"\u003e\u003ccode\u003e@​r266-tech\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1150\"\u003epypa/packaging#1150\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNarrow exclusion of pre-releases for \u003ccode\u003e\u0026lt;V.postN\u003c/code\u003e to match spec by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1140\"\u003epypa/packaging#1140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNarrow exclusion of post-releases for \u003ccode\u003e\u0026gt;V\u003c/code\u003e to match spec by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1141\"\u003epypa/packaging#1141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003eformat_full_version\u003c/code\u003e to \u003ccode\u003e_format_full_version\u003c/code\u003e to make it visibly private by \u003ca href=\"https://github.com/r266-tech\"\u003e\u003ccode\u003e@​r266-tech\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1125\"\u003epypa/packaging#1125\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestrict local version to ASCII by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1102\"\u003epypa/packaging#1102\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePylock (PEP 751) updates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd pylock \u003ccode\u003eselect\u003c/code\u003e function by \u003ca href=\"https://github.com/sbidoul\"\u003e\u003ccode\u003e@​sbidoul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1092\"\u003epypa/packaging#1092\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument pylock \u003ccode\u003eselect()\u003c/code\u003e method and \u003ccode\u003ePylockSelectError\u003c/code\u003e by \u003ca href=\"https://github.com/r266-tech\"\u003e\u003ccode\u003e@​r266-tech\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1153\"\u003epypa/packaging#1153\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003efilename\u003c/code\u003e property to \u003ccode\u003ePackageSdist\u003c/code\u003e and \u003ccode\u003ePackageWheel\u003c/code\u003e, more validation by \u003ca href=\"https://github.com/sbidoul\"\u003e\u003ccode\u003e@​sbidoul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1095\"\u003epypa/packaging#1095\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGive preference to path over url by \u003ca href=\"https://github.com/sbidoul\"\u003e\u003ccode\u003e@​sbidoul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1128\"\u003epypa/packaging#1128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eValidate name/version consistency in file names by \u003ca href=\"https://github.com/sbidoul\"\u003e\u003ccode\u003e@​sbidoul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1114\"\u003epypa/packaging#1114\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003e\u0026gt;\u003c/code\u003e comparison for versions with dev+local segments by \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1097\"\u003epypa/packaging#1097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix incorrect self-comparison for \u003ccode\u003eInfinityType\u003c/code\u003e and \u003ccode\u003eNegativeInfinityType\u003c/code\u003e by \u003ca href=\"https://github.com/bysiber\"\u003e\u003ccode\u003e@​bysiber\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1093\"\u003epypa/packaging#1093\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCanonicalize when deduplicating specifiers in \u003ccode\u003eSpecifierSet\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1109\"\u003epypa/packaging#1109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix charset error message formatting by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1121\"\u003epypa/packaging#1121\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle the \u003ccode\u003ekey\u003c/code\u003e parameter in \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e when specifiers are empty and prerelease is \u003ccode\u003eFalse\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1096\"\u003epypa/packaging#1096\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStandardize inner components of \u003ccode\u003erepr\u003c/code\u003e output by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1090\"\u003epypa/packaging#1090\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSpecifier\u003c/code\u003e's \u003ccode\u003e===\u003c/code\u003e uses original string, not normalized, when available by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1124\"\u003epypa/packaging#1124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropagate int-max-str-digits \u003ccode\u003eValueError\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1155\"\u003epypa/packaging#1155\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd fast path for parsing simple versions (digits and dots only) by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1082\"\u003epypa/packaging#1082\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd fast path for \u003ccode\u003eVersion\u003c/code\u003e to \u003ccode\u003eVersion\u003c/code\u003e comparison by skipping \u003ccode\u003e_key\u003c/code\u003e property by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1083\"\u003epypa/packaging#1083\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCache \u003ccode\u003eVersion\u003c/code\u003e hash value in dedicated slot by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1118\"\u003epypa/packaging#1118\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOverhaul \u003ccode\u003e_cmpkey\u003c/code\u003e to remove use of custom objects by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1116\"\u003epypa/packaging#1116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip \u003ccode\u003e__replace__\u003c/code\u003e in Specifier comparison if not needed by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1081\"\u003epypa/packaging#1081\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSpecifierSet\u003c/code\u003e use \u003ccode\u003etuple\u003c/code\u003e instead of \u003ccode\u003efrozenset\u003c/code\u003e for \u003ccode\u003e_specs\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1108\"\u003epypa/packaging#1108\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpeed up complex \u003ccode\u003eSpecifierSet\u003c/code\u003e filtering by implementing cost-based ordering by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1105\"\u003epypa/packaging#1105\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/packaging/blob/main/CHANGELOG.rst\"\u003epackaging's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e26.1 - 2026-04-14\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nFeatures:\n\u003cul\u003e\n\u003cli\u003ePEP 783: add handling for Emscripten wheel tags in (:pull:\u003ccode\u003e804\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ePEP 803: add handling for the \u003ccode\u003eabi3.abi3t\u003c/code\u003e free-threading tag in (:pull:\u003ccode\u003e1099\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ePEP 723: add \u003ccode\u003epackaging.dependency_groups\u003c/code\u003e module, based on the \u003ccode\u003edependency-groups\u003c/code\u003e package in (:pull:\u003ccode\u003e1065\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd the \u003ccode\u003epackaging.direct_url\u003c/code\u003e module in (:pull:\u003ccode\u003e944\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd the \u003ccode\u003epackaging.errors\u003c/code\u003e module in (:pull:\u003ccode\u003e1071\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eSpecifierSet.is_unsatisfiable\u003c/code\u003e using ranges (new internals that will be expanded in future versions) in (:pull:\u003ccode\u003e1119\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecreate_compatible_tags_selector\u003c/code\u003e to select compatible tags in (:pull:\u003ccode\u003e1110\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003ekey\u003c/code\u003e argument to \u003ccode\u003eSpecifierSet.filter()\u003c/code\u003e in (:pull:\u003ccode\u003e1068\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e\u0026amp;amp;\u003c/code\u003e and \u003ccode\u003e|\u003c/code\u003e for \u003ccode\u003eMarker\u003c/code\u003e's in (:pull:\u003ccode\u003e1146\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eNormalize \u003ccode\u003eVersion.__replace__\u003c/code\u003e and add \u003ccode\u003eVersion.from_parts\u003c/code\u003e in (:pull:\u003ccode\u003e1078\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd an option to validate compressed tag set sort order in \u003ccode\u003eparse_wheel_filename\u003c/code\u003e in (:pull:\u003ccode\u003e1150\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNarrow exclusion of pre-releases for \u003ccode\u003e\u0026amp;lt;V.postN\u003c/code\u003e to match spec in (:pull:\u003ccode\u003e1140\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eNarrow exclusion of post-releases for \u003ccode\u003e\u0026amp;gt;V\u003c/code\u003e to match spec in (:pull:\u003ccode\u003e1141\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003eformat_full_version\u003c/code\u003e to \u003ccode\u003e_format_full_version\u003c/code\u003e to make it visibly private in (:pull:\u003ccode\u003e1125\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict local version to ASCII in (:pull:\u003ccode\u003e1102\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePylock (PEP 751) updates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd pylock \u003ccode\u003eselect\u003c/code\u003e function in (:pull:\u003ccode\u003e1092\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDocument pylock \u003ccode\u003eselect()\u003c/code\u003e method and \u003ccode\u003ePylockSelectError\u003c/code\u003e in (:pull:\u003ccode\u003e1153\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003efilename\u003c/code\u003e property to \u003ccode\u003ePackageSdist\u003c/code\u003e and \u003ccode\u003ePackageWheel\u003c/code\u003e, more validation in (:pull:\u003ccode\u003e1095\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eGive preference to path over url in (:pull:\u003ccode\u003e1128\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eValidate name/version consistency in file names in (:pull:\u003ccode\u003e1114\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003e\u0026amp;gt;\u003c/code\u003e comparison for versions with dev+local segments in (:pull:\u003ccode\u003e1097\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix incorrect self-comparison for \u003ccode\u003eInfinityType\u003c/code\u003e and \u003ccode\u003eNegativeInfinityType\u003c/code\u003e in (:pull:\u003ccode\u003e1093\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalize when deduplicating specifiers in \u003ccode\u003eSpecifierSet\u003c/code\u003e in (:pull:\u003ccode\u003e1109\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix charset error message formatting in (:pull:\u003ccode\u003e1121\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eHandle the \u003ccode\u003ekey\u003c/code\u003e parameter in \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e when specifiers are empty and prerelease is \u003ccode\u003eFalse\u003c/code\u003e in (:pull:\u003ccode\u003e1096\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eStandardize inner components of \u003ccode\u003erepr\u003c/code\u003e output in (:pull:\u003ccode\u003e1090\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSpecifier\u003c/code\u003e's \u003ccode\u003e===\u003c/code\u003e uses original string, not normalized, when available in (:pull:\u003ccode\u003e1124\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ePropagate int-max-str-digits \u003ccode\u003eValueError\u003c/code\u003e in (:pull:\u003ccode\u003e1155\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd fast path for parsing simple versions (digits and dots only) in (:pull:\u003ccode\u003e1082\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd fast path for \u003ccode\u003eVersion\u003c/code\u003e to \u003ccode\u003eVersion\u003c/code\u003e comparison by skipping \u003ccode\u003e_key\u003c/code\u003e property in (:pull:\u003ccode\u003e1083\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCache \u003ccode\u003eVersion\u003c/code\u003e hash value in dedicated slot in (:pull:\u003ccode\u003e1118\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eOverhaul \u003ccode\u003e_cmpkey\u003c/code\u003e to remove use of custom objects in (:pull:\u003ccode\u003e1116\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSkip \u003ccode\u003e__replace__\u003c/code\u003e in Specifier comparison if not needed in (:pull:\u003ccode\u003e1081\u003c/code\u003e)\u003cbr /\u003e\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/c1a88a3e035e8bfe47dbc957f4a2493e8a7b4f3c\"\u003e\u003ccode\u003ec1a88a3\u003c/code\u003e\u003c/a\u003e Bump for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/702c25ecc297054f9597acda987a75dd6833acf5\"\u003e\u003ccode\u003e702c25e\u003c/code\u003e\u003c/a\u003e docs: update changelog for 26.1 (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1156\"\u003e#1156\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/3f4f5d46808f51709aba8341d4121f20752b3235\"\u003e\u003ccode\u003e3f4f5d4\u003c/code\u003e\u003c/a\u003e Implement \u003ccode\u003eis_unsatisfiable\u003c/code\u003e on \u003ccode\u003eSpecifierSet\u003c/code\u003e using ranges (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1119\"\u003e#1119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/06c6555f44f0f7b84459c876375c5b1d52ee7fef\"\u003e\u003ccode\u003e06c6555\u003c/code\u003e\u003c/a\u003e Propagate int-max-str-digits ValueError (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1155\"\u003e#1155\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/905c90c1eb8c77dede11899194ca4b0f5eaf188d\"\u003e\u003ccode\u003e905c90c\u003c/code\u003e\u003c/a\u003e feat: option to validate compressed tag set sort order in `parse_wheel_filena...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/af0026cff97a8f28d165d6ac4afb58b2cdc8ffc5\"\u003e\u003ccode\u003eaf0026c\u003c/code\u003e\u003c/a\u003e docs(pylock): document select() method and PylockSelectError (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1153\"\u003e#1153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/668da8662a112036e4850b68980790cb2d10dae9\"\u003e\u003ccode\u003e668da86\u003c/code\u003e\u003c/a\u003e Rename format_full_version to _format_full_version to make it visibly private...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/f294d529e2634798a98fd9cee6708307a5c1792c\"\u003e\u003ccode\u003ef294d52\u003c/code\u003e\u003c/a\u003e tests: do not reload the tags module (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1152\"\u003e#1152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/2c6c7dfa2d406e44b91f3f8d26eeed72437c9435\"\u003e\u003ccode\u003e2c6c7df\u003c/code\u003e\u003c/a\u003e feat: add handling for Emscripten wheels tags per PEP 783 (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/804\"\u003e#804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/6762eea4de40da02c119d02cc77c907c6b446b86\"\u003e\u003ccode\u003e6762eea\u003c/code\u003e\u003c/a\u003e docs(markers): document \u0026amp; and | operators for combining Marker objects (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1151\"\u003e#1151\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/packaging/compare/26.0...26.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-sdk` from 1.38.0 to 1.41.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.41.0/0.62b0 (2026-04-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ehost\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].host\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5002\"\u003e#5002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003econtainer\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].container\u003c/code\u003e, using entry point loading of the \u003ccode\u003eopentelemetry-resource-detector-containerid\u003c/code\u003e contrib package\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5004\"\u003e#5004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_tracer_provider\u003c/code\u003e/\u003ccode\u003econfigure_tracer_provider\u003c/code\u003e to declarative file configuration, enabling TracerProvider instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4985\"\u003e#4985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnabled the flake8-tidy-import plugins rules for the ruff linter. These rules throw warnings for relative imports in the modules.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5019\"\u003e#5019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Fix \u003ccode\u003eAttributeError\u003c/code\u003e in \u003ccode\u003eExplicitBucketHistogramAggregation\u003c/code\u003e when applied to non-Histogram instruments without explicit boundaries\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5034\"\u003e#5034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eBatchLogRecordProcessor\u003c/code\u003e default \u003ccode\u003eschedule_delay_millis\u003c/code\u003e from 5000ms to 1000ms to comply with the OTel specification. Note: logs may be exported 5x more frequently by default (e.g. for users who don't explicitly set the \u003ccode\u003eOTEL_BLRP_SCHEDULE_DELAY\u003c/code\u003e env var).\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4998\"\u003e#4998\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eprocess\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].process\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5001\"\u003e#5001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add shared \u003ccode\u003e_parse_headers\u003c/code\u003e helper for declarative config OTLP exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5021\"\u003e#5021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: Replace a broad exception in attribute cleaning tests to satisfy pylint in the \u003ccode\u003elint-opentelemetry-api\u003c/code\u003e CI job\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_meter_provider\u003c/code\u003e/\u003ccode\u003econfigure_meter_provider\u003c/code\u003e to declarative file configuration, enabling MeterProvider instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4987\"\u003e#4987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_resource\u003c/code\u003e and \u003ccode\u003ecreate_propagator\u003c/code\u003e/\u003ccode\u003econfigure_propagator\u003c/code\u003e to declarative file configuration, enabling Resource and propagator instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4979\"\u003e#4979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Map Python \u003ccode\u003eCRITICAL\u003c/code\u003e log level to OTel \u003ccode\u003eFATAL\u003c/code\u003e severity text per the specification\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4984\"\u003e#4984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add file configuration support with YAML/JSON loading, environment variable substitution, and schema validation against the vendored OTel config JSON schema\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4898\"\u003e#4898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix intermittent CI failures in \u003ccode\u003egetting-started\u003c/code\u003e and \u003ccode\u003etracecontext\u003c/code\u003e jobs caused by GitHub git CDN SHA propagation lag by installing contrib packages from the already-checked-out local copy instead of a second git clone\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4958\"\u003e#4958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix type annotations on \u003ccode\u003eMetricReader\u003c/code\u003e and related types\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4938/\"\u003e#4938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement log creation metric\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4935\"\u003e#4935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement metric reader metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4970\"\u003e#4970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement processor metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5012\"\u003e#5012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: upgrade vendored OTel configuration schema from v1.0.0-rc.3 to v1.0.0\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4965\"\u003e#4965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimprove check-links ci job\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4978\"\u003e#4978\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve some Pyright type errors in Span/ReadableSpan and utility stubs\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4973\"\u003e#4973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: Fix metric name prefix\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4895\"\u003e#4895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add deepcopy support for \u003ccode\u003eBoundedAttributes\u003c/code\u003e and \u003ccode\u003eBoundedList\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4934\"\u003e#4934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-proto-json\u003c/code\u003e, \u003ccode\u003eopentelemetry-codegen-json\u003c/code\u003e: Implement custom protoc plugin to generate OTLP JSON class definitions\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4910\"\u003e#4910\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/open-telemetry/opentelemetry-python/commit/1a178fcc5c689516849ced80fb2533fe7db7a80f\"\u003e\u003ccode\u003e1a178fc\u003c/code\u003e\u003c/a\u003e [release/v1.41.x-0.62bx] Prepare release 1.41.0/0.62b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5064\"\u003e#5064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/37dea4bbdb1a3c83b96fc22c2f68a848b4989fb5\"\u003e\u003ccode\u003e37dea4b\u003c/code\u003e\u003c/a\u003e feat: add experimental logger configurator (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4980\"\u003e#4980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7c860ca40eb87c15fb608ce3598cfec4a5da2d1c\"\u003e\u003ccode\u003e7c860ca\u003c/code\u003e\u003c/a\u003e misc: update version for codegen-json and proto-json packages (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5061\"\u003e#5061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/b3d98b392fd1fa1a501e11ce8e126f2003edb895\"\u003e\u003ccode\u003eb3d98b3\u003c/code\u003e\u003c/a\u003e [chore]: update readme (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5060\"\u003e#5060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/dbbd1bca26f12d0cefff721a857d08a82476f434\"\u003e\u003ccode\u003edbbd1bc\u003c/code\u003e\u003c/a\u003e feat(config): Add MeterProvider support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4987\"\u003e#4987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/6faa58c58782313283a87a7c61fbbdd9cd2054d6\"\u003e\u003ccode\u003e6faa58c\u003c/code\u003e\u003c/a\u003e feat(config): add host resource detector support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5002\"\u003e#5002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/c0cbfbd62fa59e2c41cd2c88371dc6478fa95716\"\u003e\u003ccode\u003ec0cbfbd\u003c/code\u003e\u003c/a\u003e feat(config): wire container resource detector via entry point loading (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5004\"\u003e#5004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/f764e45f52952f5a0287e5a6c094cbfd56accd2b\"\u003e\u003ccode\u003ef764e45\u003c/code\u003e\u003c/a\u003e feat(config): Add TracerProvider support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4985\"\u003e#4985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e3017323f147fd14a64fa8bb070271026182208a\"\u003e\u003ccode\u003ee301732\u003c/code\u003e\u003c/a\u003e Add MikeGoldsmith to approvers (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/8783a5831d54d9224edd930e5106225fc0f97c1b\"\u003e\u003ccode\u003e8783a58\u003c/code\u003e\u003c/a\u003e introduce \u003ccode\u003ealls-green\u003c/code\u003e action for required checks (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4988\"\u003e#4988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.38.0...v1.41.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-api` from 1.38.0 to 1.41.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-api's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.41.0/0.62b0 (2026-04-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ehost\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].host\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5002\"\u003e#5002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003econtainer\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].container\u003c/code\u003e, using entry point loading of the \u003ccode\u003eopentelemetry-resource-detector-containerid\u003c/code\u003e contrib package\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5004\"\u003e#5004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_tracer_provider\u003c/code\u003e/\u003ccode\u003econfigure_tracer_provider\u003c/code\u003e to declarative file configuration, enabling TracerProvider instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4985\"\u003e#4985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnabled the flake8-tidy-import plugins rules for the ruff linter. These rules throw warnings for relative imports in the modules.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5019\"\u003e#5019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Fix \u003ccode\u003eAttributeError\u003c/code\u003e in \u003ccode\u003eExplicitBucketHistogramAggregation\u003c/code\u003e when applied to non-Histogram instruments without explicit boundaries\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5034\"\u003e#5034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eBatchLogRecordProcessor\u003c/code\u003e default \u003ccode\u003eschedule_delay_millis\u003c/code\u003e from 5000ms to 1000ms to comply with the OTel specification. Note: logs may be exported 5x more frequently by default (e.g. for users who don't explicitly set the \u003ccode\u003eOTEL_BLRP_SCHEDULE_DELAY\u003c/code\u003e env var).\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4998\"\u003e#4998\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eprocess\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].process\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5001\"\u003e#5001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add shared \u003ccode\u003e_parse_headers\u003c/code\u003e helper for declarative config OTLP exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5021\"\u003e#5021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: Replace a broad exception in attribute cleaning tests to satisfy pylint in the \u003ccode\u003elint-opentelemetry-api\u003c/code\u003e CI job\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_meter_provider\u003c/code\u003e/\u003ccode\u003econfigure_meter_provider\u003c/code\u003e to declarative file configuration, enabling MeterProvider instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4987\"\u003e#4987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_resource\u003c/code\u003e and \u003ccode\u003ecreate_propagator\u003c/code\u003e/\u003ccode\u003econfigure_propagator\u003c/code\u003e to declarative file configuration, enabling Resource and propagator instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4979\"\u003e#4979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Map Python \u003ccode\u003eCRITICAL\u003c/code\u003e log level to OTel \u003ccode\u003eFATAL\u003c/code\u003e severity text per the specification\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4984\"\u003e#4984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add file configuration support with YAML/JSON loading, environment variable substitution, and schema validation against the vendored OTel config JSON schema\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4898\"\u003e#4898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix intermittent CI failures in \u003ccode\u003egetting-started\u003c/code\u003e and \u003ccode\u003etracecontext\u003c/code\u003e jobs caused by GitHub git CDN SHA propagation lag by installing contrib packages from the already-checked-out local copy instead of a second git clone\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4958\"\u003e#4958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix type annotations on \u003ccode\u003eMetricReader\u003c/code\u003e and related types\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4938/\"\u003e#4938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement log creation metric\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4935\"\u003e#4935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement metric reader metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4970\"\u003e#4970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement processor metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5012\"\u003e#5012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: upgrade vendored OTel configuration schema from v1.0.0-rc.3 to v1.0.0\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4965\"\u003e#4965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimprove check-links ci job\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4978\"\u003e#4978\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve some Pyright type errors in Span/ReadableSpan and utility stubs\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4973\"\u003e#4973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: Fix metric name prefix\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4895\"\u003e#4895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add deepcopy support for \u003ccode\u003eBoundedAttributes\u003c/code\u003e and \u003ccode\u003eBoundedList\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4934\"\u003e#4934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-proto-json\u003c/code\u003e, \u003ccode\u003eopentelemetry-codegen-json\u003c/code\u003e: Implement custom protoc plugin to generate OTLP JSON class definitions\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4910\"\u003e#4910\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/open-telemetry/opentelemetry-python/commit/1a178fcc5c689516849ced80fb2533fe7db7a80f\"\u003e\u003ccode\u003e1a178fc\u003c/code\u003e\u003c/a\u003e [release/v1.41.x-0.62bx] Prepare release 1.41.0/0.62b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5064\"\u003e#5064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/37dea4bbdb1a3c83b96fc22c2f68a848b4989fb5\"\u003e\u003ccode\u003e37dea4b\u003c/code\u003e\u003c/a\u003e feat: add experimental logger configurator (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4980\"\u003e#4980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7c860ca40eb87c15fb608ce3598cfec4a5da2d1c\"\u003e\u003ccode\u003e7c860ca\u003c/code\u003e\u003c/a\u003e misc: update version for codegen-json and proto-json packages (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5061\"\u003e#5061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/b3d98b392fd1fa1a501e11ce8e126f2003edb895\"\u003e\u003ccode\u003eb3d98b3\u003c/code\u003e\u003c/a\u003e [chore]: update readme (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5060\"\u003e#5060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/dbbd1bca26f12d0cefff721a857d08a82476f434\"\u003e\u003ccode\u003edbbd1bc\u003c/code\u003e\u003c/a\u003e feat(config): Add MeterProvider support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4987\"\u003e#4987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/6faa58c58782313283a87a7c61fbbdd9cd2054d6\"\u003e\u003ccode\u003e6faa58c\u003c/code\u003e\u003c/a\u003e feat(config): add host resource detector support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5002\"\u003e#5002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/c0cbfbd62fa59e2c41cd2c88371dc6478fa95716\"\u003e\u003ccode\u003ec0cbfbd\u003c/code\u003e\u003c/a\u003e feat(config): wire container resource detector via entry point loading (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5004\"\u003e#5004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/f764e45f52952f5a0287e5a6c094cbfd56accd2b\"\u003e\u003ccode\u003ef764e45\u003c/code\u003e\u003c/a\u003e feat(config): Add TracerProvider support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4985\"\u003e#4985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e3017323f147fd14a64fa8bb070271026182208a\"\u003e\u003ccode\u003ee301732\u003c/code\u003e\u003c/a\u003e Add MikeGoldsmith to approvers (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/8783a5831d54d9224edd930e5106225fc0f97c1b\"\u003e\u003ccode\u003e8783a58\u003c/code\u003e\u003c/a\u003e introduce \u003ccode\u003ealls-green\u003c/code\u003e action for required checks (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4988\"\u003e#4988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.38.0...v1.41.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-exporter-otlp-proto-http` from 1.38.0 to 1.41.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-exporter-otlp-proto-http's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.41.0/0.62b0 (2026-04-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ehost\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].host\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5002\"\u003e#5002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003econtainer\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].container\u003c/code\u003e, using entry point loading of the \u003ccode\u003eopentelemetry-resource-detector-containerid\u003c/code\u003e contrib package\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5004\"\u003e#5004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_tracer_provider\u003c/code\u003e/\u003ccode\u003econfigure_tracer_provider\u003c/code\u003e to declarative file configuration, enabling TracerProvider instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4985\"\u003e#4985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnabled the flake8-tidy-import plugins rules for the ruff linter. These rules throw warnings for relative imports in the modules.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5019\"\u003e#5019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Fix \u003ccode\u003eAttributeError\u003c/code\u003e in \u003ccode\u003eExplicitBucketHistogramAggregation\u003c/code\u003e when applied to non-Histogram instruments without explicit boundaries\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5034\"\u003e#5034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eBatchLogRecordProcessor\u003c/code\u003e default \u003ccode\u003eschedule_delay_millis\u003c/code\u003e from 5000ms to 1000ms to comply with the OTel specification. Note: logs may be exported 5x more frequently by default (e.g. for users who don't explicitly set the \u003ccode\u003eOTEL_BLRP_SCHEDULE_DELAY\u003c/code\u003e env var).\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4998\"\u003e#4998\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eprocess\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].process\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5001\"\u003e#5001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add shared \u003ccode\u003e_parse_headers\u003c/code\u003e helper for declarative config OTLP exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5021\"\u003e#5021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: Replace a broad exception in attribute cleaning tests to satisfy pylint in the \u003ccode\u003elint-opentelemetry-api\u003c/code\u003e CI job\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_meter_provider\u003c/code\u003e/\u003ccode\u003econfigure_meter_provider\u003c/code\u003e to declarative file configuration, enabling MeterProvider instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4987\"\u003e#4987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_resource\u003c/code\u003e and \u003ccode\u003ecreate_propagator\u003c/code\u003e/\u003ccode\u003econfigure_propagator\u003c/code\u003e to declarative file configuration, enabling Resource and propagator instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4979\"\u003e#4979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Map Python \u003ccode\u003eCRITICAL\u003c/code\u003e log level to OTel \u003ccode\u003eFATAL\u003c/code\u003e severity text per the specification\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4984\"\u003e#4984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add file configuration support with YAML/JSON loading, environment variable substitution, and schema validation against the vendored OTel config JSON schema\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4898\"\u003e#4898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix intermittent CI failures in \u003ccode\u003egetting-started\u003c/code\u003e and \u003ccode\u003etracecontext\u003c/code\u003e jobs caused by GitHub git CDN SHA propagation lag by installing contrib packages from the already-checked-out local copy instead of a second git clone\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4958\"\u003e#4958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix type annotations on \u003ccode\u003eMetricReader\u003c/code\u003e and related types\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4938/\"\u003e#4938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement log creation metric\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4935\"\u003e#4935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement metric reader metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4970\"\u003e#4970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement processor metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5012\"\u003e#5012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: upgrade vendored OTel configuration schema from v1.0.0-rc.3 to v1.0.0\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4965\"\u003e#4965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimprove check-links ci job\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4978\"\u003e#4978\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve some Pyright type errors in Span/ReadableSpan and utility stubs\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4973\"\u003e#4973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: Fix metric name prefix\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4895\"\u003e#4895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add deepcopy support for \u003ccode\u003eBoundedAttributes\u003c/code\u003e and \u003ccode\u003eBoundedList\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4934\"\u003e#4934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-proto-json\u003c/code\u003e, \u003ccode\u003eopentelemetry-codegen-json\u003c/code\u003e: Implement custom protoc plugin to generate OTLP JSON class definitions\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4910\"\u003e#4910\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/open-telemetry/opentelemetry-python/commit/1a178fcc5c689516849ced80fb2533fe7db7a80f\"\u003e\u003ccode\u003e1a178fc\u003c/code\u003e\u003c/a\u003e [release/v1.41.x-0.62bx] Prepare release 1.41.0/0.62b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5064\"\u003e#5064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/37dea4bbdb1a3c83b96fc22c2f68a848b4989fb5\"\u003e\u003ccode\u003e37dea4b\u003c/code\u003e\u003c/a\u003e feat: add experimental logger configurator (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4980\"\u003e#4980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7c860ca40eb87c15fb608ce3598cfec4a5da2d1c\"\u003e\u003ccode\u003e7c860ca\u003c/code\u003e\u003c/a\u003e misc: update version for codegen-json and proto-json packages (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5061\"\u003e#5061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/b3d98b392fd1fa1a501e11ce8e126f2003edb895\"\u003e\u003ccode\u003eb3d98b3\u003c/code\u003e\u003c/a\u003e [chore]: update readme (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5060\"\u003e#5060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/dbbd1bca26f12d0cefff721a857d08a82476f434\"\u003e\u003ccode\u003edbbd1bc\u003c/code\u003e\u003c/a\u003e feat(config): Add MeterProvider support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4987\"\u003e#4987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/6faa58c58782313283a87a7c61fbbdd9cd2054d6\"\u003e\u003ccode\u003e6faa58c\u003c/code\u003e\u003c/a\u003e feat(config): add host resource detector support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5002\"\u003e#5002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/c0cbfbd62fa59e2c41cd2c88371dc6478fa95716\"\u003e\u003ccode\u003ec0cbfbd\u003c/code\u003e\u003c/a\u003e feat(config): wire container resource detector via entry point loading (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5004\"\u003e#5004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/f764e45f52952f5a0287e5a6c094cbfd56accd2b\"\u003e\u003ccode\u003ef764e45\u003c/code\u003e\u003c/a\u003e feat(config): Add TracerProvider support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4985\"\u003e#4985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e3017323f147fd14a64fa8bb070271026182208a\"\u003e\u003ccode\u003ee301732\u003c/code\u003e\u003c/a\u003e Add MikeGoldsmith to approvers (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/8783a5831d54d9224edd930e5106225fc0f97c1b\"\u003e\u003ccode\u003e8783a58\u003c/code\u003e\u003c/a\u003e introduce \u003ccode\u003ealls-green\u003c/code\u003e action for required checks (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4988\"\u003e#4988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.38.0...v1.41.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai-agents` from 0.13.6 to 0.14.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-agents-python/releases\"\u003eopenai-agents's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: support sandbox extra path grants by \u003ca href=\"https://github.com/qiyaoq-oai\"\u003e\u003ccode\u003e@​qiyaoq-oai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2920\"\u003eopenai/openai-agents-python#2920\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2228\"\u003e#2228\u003c/a\u003e persist tool origin metadata in run items by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2654\"\u003eopenai/openai-agents-python#2654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(extensions): add MongoDB session backend by \u003ca href=\"https://github.com/alexbevi\"\u003e\u003ccode\u003e@​alexbevi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2902\"\u003eopenai/openai-agents-python#2902\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: loosen sandbox compaction model parsing by \u003ca href=\"https://github.com/sdcoffey\"\u003e\u003ccode\u003e@​sdcoffey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2930\"\u003eopenai/openai-agents-python#2930\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: remove_all_tools missing hosted tool types by \u003ca href=\"https://github.com/javierdejesusda\"\u003e\u003ccode\u003e@​javierdejesusda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2885\"\u003eopenai/openai-agents-python#2885\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: tolerate None text in ResponseOutputText content items by \u003ca href=\"https://github.com/beveradb\"\u003e\u003ccode\u003e@​beveradb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2883\"\u003eopenai/openai-agents-python#2883\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/1876\"\u003e#1876\u003c/a\u003e LiteLLM extra_body forwarding by \u003ca href=\"https://github.com/yu2001-s\"\u003e\u003ccode\u003e@​yu2001-s\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2900\"\u003eopenai/openai-agents-python#2900\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: trust filesystem permissions for Vercel roots by \u003ca href=\"https://github.com/scotttrinh\"\u003e\u003ccode\u003e@​scotttrinh\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2910\"\u003eopenai/openai-agents-python#2910\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/604\"\u003e#604\u003c/a\u003e handle None choices in ChatCompletion response by \u003ca href=\"https://github.com/Spectual\"\u003e\u003ccode\u003e@​Spectual\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2850\"\u003eopenai/openai-agents-python#2850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: normalize compacted Responses user inputs before session reuse by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2925\"\u003eopenai/openai-agents-python#2925\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2929\"\u003e#2929\u003c/a\u003e surface run-loop exceptions after stream_events() completes by \u003ca href=\"https://github.com/nileshpatil6\"\u003e\u003ccode\u003e@​nileshpatil6\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2931\"\u003eopenai/openai-agents-python#2931\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: clarify OpenAI provider configuration guidance by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2901\"\u003eopenai/openai-agents-python#2901\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2903\"\u003eopenai/openai-agents-python#2903\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: sync sandbox translations and set doc translation default model to gpt-5.4 by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2904\"\u003eopenai/openai-agents-python#2904\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2935\"\u003eopenai/openai-agents-python#2935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump \u003ccode\u003etemporalio\u003c/code\u003e Dep in Temporal example by \u003ca href=\"https://github.com/JasonSteving99\"\u003e\u003ccode\u003e@​JasonSteving99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2918\"\u003eopenai/openai-agents-python#2918\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.14.2 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2899\"\u003eopenai/openai-agents-python#2899\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/javierdejesusda\"\u003e\u003ccode\u003e@​javierdejesusda\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2885\"\u003eopenai/openai-agents-python#2885\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/beveradb\"\u003e\u003ccode\u003e@​beveradb\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2883\"\u003eopenai/openai-agents-python#2883\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yu2001-s\"\u003e\u003ccode\u003e@​yu2001-s\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2900\"\u003eopenai/openai-agents-python#2900\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JasonSteving99\"\u003e\u003ccode\u003e@​JasonSteving99\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2918\"\u003eopenai/openai-agents-python#2918\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scotttrinh\"\u003e\u003ccode\u003e@​scotttrinh\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2910\"\u003eopenai/openai-agents-python#2910\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Spectual\"\u003e\u003ccode\u003e@​Spectual\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2850\"\u003eopenai/openai-agents-python#2850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexbevi\"\u003e\u003ccode\u003e@​alexbevi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2902\"\u003eopenai/openai-agents-python#2902\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qiyaoq-oai\"\u003e\u003ccode\u003e@​qiyaoq-oai\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2920\"\u003eopenai/openai-agents-python#2920\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nileshpatil6\"\u003e\u003ccode\u003e@​nileshpatil6\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2931\"\u003eopenai/openai-agents-python#2931\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.14.1...v0.14.2\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.14.1...v0.14.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.14.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: sanitize OpenAI tracing export payloads by \u003ca href=\"https://github.com/alfozan\"\u003e\u003ccode\u003e@​alfozan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2896\"\u003eopenai/openai-agents-python#2896\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2873\"\u003e#2873\u003c/a\u003e preserve computer driver compatibility for modifier keys by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2877\"\u003eopenai/openai-agents-python#2877\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2151\"\u003e#2151\u003c/a\u003e shield server-managed handoffs from unsupported history rewrites by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2747\"\u003eopenai/openai-agents-python#2747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: stop streamed tool execution after known input guardrail tripwire by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2688\"\u003eopenai/openai-agents-python#2688\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2891\"\u003eopenai/openai-agents-python#2891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: align translated sandbox nav and refresh generated refs by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2892\"\u003eopenai/openai-agents-python#2892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: clarify ToolContext availability in function-tool lifecycle hooks by \u003ca href=\"https://github.com/HuxleyHu98\"\u003e\u003ccode\u003e@​HuxleyHu98\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2687\"\u003eopenai/openai-agents-python#2687\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/openai/openai-agents-python/blob/main/docs/release.md\"\u003eopenai-agents's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease process/changelog\u003c/h1\u003e\n\u003cp\u003eThe project follows a slightly modified version of semantic versioning using the form \u003ccode\u003e0.Y.Z\u003c/code\u003e. The leading \u003ccode\u003e0\u003c/code\u003e indicates the SDK is still evolving rapidly. Increment the components as follows:\u003c/p\u003e\n\u003ch2\u003eMinor (\u003ccode\u003eY\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increase minor versions \u003ccode\u003eY\u003c/code\u003e for \u003cstrong\u003ebreaking changes\u003c/strong\u003e to any public interfaces that are not marked as beta. For example, going from \u003ccode\u003e0.0.x\u003c/code\u003e to \u003ccode\u003e...\n\n_Description has been truncated_","html_url":"https://github.com/langchain-ai/langsmith-sdk/pull/2740","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/langchain-ai%2Flangsmith-sdk/issues/2740","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2740/packages"},{"uuid":"4290082115","node_id":"PR_kwDORzsKKM7TrWq1","number":86,"state":"open","title":"chore(deps): bump openai-agents from 0.13.6 to 0.14.2 in /addons/formula-chat/api","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-19T06:05:54.000Z","updated_at":"2026-04-26T08:00:30.070Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"openai-agents","old_version":"0.13.6","new_version":"0.14.2","repository_url":"https://github.com/openai/openai-agents-python"}],"path":"/addons/formula-chat/api","ecosystem":"pip"},"body":"Bumps [openai-agents](https://github.com/openai/openai-agents-python) from 0.13.6 to 0.14.2.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-agents-python/releases\"\u003eopenai-agents's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: support sandbox extra path grants by \u003ca href=\"https://github.com/qiyaoq-oai\"\u003e\u003ccode\u003e@​qiyaoq-oai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2920\"\u003eopenai/openai-agents-python#2920\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2228\"\u003e#2228\u003c/a\u003e persist tool origin metadata in run items by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2654\"\u003eopenai/openai-agents-python#2654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(extensions): add MongoDB session backend by \u003ca href=\"https://github.com/alexbevi\"\u003e\u003ccode\u003e@​alexbevi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2902\"\u003eopenai/openai-agents-python#2902\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: loosen sandbox compaction model parsing by \u003ca href=\"https://github.com/sdcoffey\"\u003e\u003ccode\u003e@​sdcoffey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2930\"\u003eopenai/openai-agents-python#2930\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: remove_all_tools missing hosted tool types by \u003ca href=\"https://github.com/javierdejesusda\"\u003e\u003ccode\u003e@​javierdejesusda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2885\"\u003eopenai/openai-agents-python#2885\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: tolerate None text in ResponseOutputText content items by \u003ca href=\"https://github.com/beveradb\"\u003e\u003ccode\u003e@​beveradb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2883\"\u003eopenai/openai-agents-python#2883\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/1876\"\u003e#1876\u003c/a\u003e LiteLLM extra_body forwarding by \u003ca href=\"https://github.com/yu2001-s\"\u003e\u003ccode\u003e@​yu2001-s\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2900\"\u003eopenai/openai-agents-python#2900\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: trust filesystem permissions for Vercel roots by \u003ca href=\"https://github.com/scotttrinh\"\u003e\u003ccode\u003e@​scotttrinh\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2910\"\u003eopenai/openai-agents-python#2910\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/604\"\u003e#604\u003c/a\u003e handle None choices in ChatCompletion response by \u003ca href=\"https://github.com/Spectual\"\u003e\u003ccode\u003e@​Spectual\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2850\"\u003eopenai/openai-agents-python#2850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: normalize compacted Responses user inputs before session reuse by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2925\"\u003eopenai/openai-agents-python#2925\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2929\"\u003e#2929\u003c/a\u003e surface run-loop exceptions after stream_events() completes by \u003ca href=\"https://github.com/nileshpatil6\"\u003e\u003ccode\u003e@​nileshpatil6\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2931\"\u003eopenai/openai-agents-python#2931\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: clarify OpenAI provider configuration guidance by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2901\"\u003eopenai/openai-agents-python#2901\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2903\"\u003eopenai/openai-agents-python#2903\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: sync sandbox translations and set doc translation default model to gpt-5.4 by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2904\"\u003eopenai/openai-agents-python#2904\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2935\"\u003eopenai/openai-agents-python#2935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump \u003ccode\u003etemporalio\u003c/code\u003e Dep in Temporal example by \u003ca href=\"https://github.com/JasonSteving99\"\u003e\u003ccode\u003e@​JasonSteving99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2918\"\u003eopenai/openai-agents-python#2918\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.14.2 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2899\"\u003eopenai/openai-agents-python#2899\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/javierdejesusda\"\u003e\u003ccode\u003e@​javierdejesusda\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2885\"\u003eopenai/openai-agents-python#2885\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/beveradb\"\u003e\u003ccode\u003e@​beveradb\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2883\"\u003eopenai/openai-agents-python#2883\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yu2001-s\"\u003e\u003ccode\u003e@​yu2001-s\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2900\"\u003eopenai/openai-agents-python#2900\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JasonSteving99\"\u003e\u003ccode\u003e@​JasonSteving99\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2918\"\u003eopenai/openai-agents-python#2918\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scotttrinh\"\u003e\u003ccode\u003e@​scotttrinh\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2910\"\u003eopenai/openai-agents-python#2910\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Spectual\"\u003e\u003ccode\u003e@​Spectual\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2850\"\u003eopenai/openai-agents-python#2850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexbevi\"\u003e\u003ccode\u003e@​alexbevi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2902\"\u003eopenai/openai-agents-python#2902\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qiyaoq-oai\"\u003e\u003ccode\u003e@​qiyaoq-oai\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2920\"\u003eopenai/openai-agents-python#2920\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nileshpatil6\"\u003e\u003ccode\u003e@​nileshpatil6\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2931\"\u003eopenai/openai-agents-python#2931\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.14.1...v0.14.2\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.14.1...v0.14.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.14.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: sanitize OpenAI tracing export payloads by \u003ca href=\"https://github.com/alfozan\"\u003e\u003ccode\u003e@​alfozan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2896\"\u003eopenai/openai-agents-python#2896\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2873\"\u003e#2873\u003c/a\u003e preserve computer driver compatibility for modifier keys by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2877\"\u003eopenai/openai-agents-python#2877\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2151\"\u003e#2151\u003c/a\u003e shield server-managed handoffs from unsupported history rewrites by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2747\"\u003eopenai/openai-agents-python#2747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: stop streamed tool execution after known input guardrail tripwire by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2688\"\u003eopenai/openai-agents-python#2688\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2891\"\u003eopenai/openai-agents-python#2891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: align translated sandbox nav and refresh generated refs by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2892\"\u003eopenai/openai-agents-python#2892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: clarify ToolContext availability in function-tool lifecycle hooks by \u003ca href=\"https://github.com/HuxleyHu98\"\u003e\u003ccode\u003e@​HuxleyHu98\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2687\"\u003eopenai/openai-agents-python#2687\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/openai/openai-agents-python/blob/main/docs/release.md\"\u003eopenai-agents's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease process/changelog\u003c/h1\u003e\n\u003cp\u003eThe project follows a slightly modified version of semantic versioning using the form \u003ccode\u003e0.Y.Z\u003c/code\u003e. The leading \u003ccode\u003e0\u003c/code\u003e indicates the SDK is still evolving rapidly. Increment the components as follows:\u003c/p\u003e\n\u003ch2\u003eMinor (\u003ccode\u003eY\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increase minor versions \u003ccode\u003eY\u003c/code\u003e for \u003cstrong\u003ebreaking changes\u003c/strong\u003e to any public interfaces that are not marked as beta. For example, going from \u003ccode\u003e0.0.x\u003c/code\u003e to \u003ccode\u003e0.1.x\u003c/code\u003e might include breaking changes.\u003c/p\u003e\n\u003cp\u003eIf you don't want breaking changes, we recommend pinning to \u003ccode\u003e0.0.x\u003c/code\u003e versions in your project.\u003c/p\u003e\n\u003ch2\u003ePatch (\u003ccode\u003eZ\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increment \u003ccode\u003eZ\u003c/code\u003e for non-breaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes\u003c/li\u003e\n\u003cli\u003eNew features\u003c/li\u003e\n\u003cli\u003eChanges to private interfaces\u003c/li\u003e\n\u003cli\u003eUpdates to beta features\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBreaking change changelog\u003c/h2\u003e\n\u003ch3\u003e0.14.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change, but it adds a major new beta feature area: Sandbox Agents, plus the runtime, backend, and documentation support needed to use them across local, containerized, and hosted environments.\u003c/p\u003e\n\u003cp\u003eHighlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a new beta sandbox runtime surface centered on \u003ccode\u003eSandboxAgent\u003c/code\u003e, \u003ccode\u003eManifest\u003c/code\u003e, and \u003ccode\u003eSandboxRunConfig\u003c/code\u003e, letting agents work inside persistent isolated workspaces with files, directories, Git repos, mounts, snapshots, and resume support.\u003c/li\u003e\n\u003cli\u003eAdded sandbox execution backends for local and containerized development via \u003ccode\u003eUnixLocalSandboxClient\u003c/code\u003e and \u003ccode\u003eDockerSandboxClient\u003c/code\u003e, plus hosted provider integrations for Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop, and Vercel through optional extras.\u003c/li\u003e\n\u003cli\u003eAdded sandbox memory support so future runs can reuse lessons from prior runs, with progressive disclosure, multi-turn grouping, configurable isolation boundaries, and persisted-memory examples including S3-backed workflows.\u003c/li\u003e\n\u003cli\u003eAdded a broader workspace and resume model, including local and synthetic workspace entries, remote storage mounts for S3/R2/GCS/Azure Blob Storage/S3 Files, portable snapshots, and resume flows via \u003ccode\u003eRunState\u003c/code\u003e, \u003ccode\u003eSandboxSessionState\u003c/code\u003e, or saved snapshots.\u003c/li\u003e\n\u003cli\u003eAdded substantial sandbox examples and tutorials under \u003ccode\u003eexamples/sandbox/\u003c/code\u003e, covering coding tasks with skills, handoffs, memory, provider-specific setups, and end-to-end workflows such as code review, dataroom QA, and website cloning.\u003c/li\u003e\n\u003cli\u003eExtended the core runtime and tracing stack with sandbox-aware session preparation, capability binding, state serialization, unified tracing, prompt cache key defaults, and safer sensitive MCP output redaction.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e0.13.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change, but it includes a notable Realtime default update plus new MCP capabilities and runtime stability fixes.\u003c/p\u003e\n\u003cp\u003eHighlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe default websocket Realtime model is now \u003ccode\u003egpt-realtime-1.5\u003c/code\u003e, so new Realtime agent setups use the newer model without extra configuration.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMCPServer\u003c/code\u003e now exposes \u003ccode\u003elist_resources()\u003c/code\u003e, \u003ccode\u003elist_resource_templates()\u003c/code\u003e, and \u003ccode\u003eread_resource()\u003c/code\u003e, and \u003ccode\u003eMCPServerStreamableHttp\u003c/code\u003e now exposes \u003ccode\u003esession_id\u003c/code\u003e so streamable HTTP sessions can be resumed across reconnects or stateless workers.\u003c/li\u003e\n\u003cli\u003eChat Completions integrations can now opt into reasoning-content replay via \u003ccode\u003eshould_replay_reasoning_content\u003c/code\u003e, improving provider-specific reasoning/tool-call continuity for adapters such as LiteLLM/DeepSeek.\u003c/li\u003e\n\u003cli\u003eFixed several runtime and session edge cases, including concurrent first writes in \u003ccode\u003eSQLAlchemySession\u003c/code\u003e, compaction requests with orphaned assistant message IDs after reasoning stripping, \u003ccode\u003eremove_all_tools()\u003c/code\u003e leaving MCP/reasoning items behind, and a race in the function-tool batch executor.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e0.12.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change. Check \u003ca href=\"https://github.com/openai/openai-agents-python/releases/tag/v0.12.0\"\u003ethe release notes\u003c/a\u003e for major feature additions.\u003c/p\u003e\n\u003ch3\u003e0.11.0\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/e80d2d2319eb300ac17ec496988b70246a5042d6\"\u003e\u003ccode\u003ee80d2d2\u003c/code\u003e\u003c/a\u003e Release 0.14.2 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2899\"\u003e#2899\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/61443ca8af4b7f952859abf461d1104b55789caf\"\u003e\u003ccode\u003e61443ca\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2929\"\u003e#2929\u003c/a\u003e surface run-loop exceptions after stream_events() completes (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2931\"\u003e#2931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/55c89007362aef510909365ec149b1a83ed23a90\"\u003e\u003ccode\u003e55c8900\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2935\"\u003e#2935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/377204714d169efb261f0115779b8c930c11c87a\"\u003e\u003ccode\u003e3772047\u003c/code\u003e\u003c/a\u003e feat: support sandbox extra path grants (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2920\"\u003e#2920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/dd3f59e399a94229ce6804838b964b3e23c1e73b\"\u003e\u003ccode\u003edd3f59e\u003c/code\u003e\u003c/a\u003e Loosen sandbox compaction model parsing (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2930\"\u003e#2930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/67fb85a17f47bce80c949f4a3b17f0efc5da5b73\"\u003e\u003ccode\u003e67fb85a\u003c/code\u003e\u003c/a\u003e feat(extensions): add MongoDB session backend (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2902\"\u003e#2902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/f84ef7f649d1bb3ba7ca86e41509081e7e779bc6\"\u003e\u003ccode\u003ef84ef7f\u003c/code\u003e\u003c/a\u003e fix: normalize compacted Responses user inputs before session reuse (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2925\"\u003e#2925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/b7ba44688db786719c550aee2fa7228189f25ff3\"\u003e\u003ccode\u003eb7ba446\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/604\"\u003e#604\u003c/a\u003e handle None choices in ChatCompletion response (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2850\"\u003e#2850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/b58d059f4dc7a3827f30389e31fd6e521cdcdf57\"\u003e\u003ccode\u003eb58d059\u003c/code\u003e\u003c/a\u003e fix: Trust filesystem permissions for Vercel roots (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2910\"\u003e#2910\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/3ad12bc27308278fc875144a04c60a068d399b1a\"\u003e\u003ccode\u003e3ad12bc\u003c/code\u003e\u003c/a\u003e chore: Bump \u003ccode\u003etemporalio\u003c/code\u003e Dep in Temporal Example (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2918\"\u003e#2918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.13.6...v0.14.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=openai-agents\u0026package-manager=pip\u0026previous-version=0.13.6\u0026new-version=0.14.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/HARISHMARAN/Harry-s-F1-data/pull/86","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/HARISHMARAN%2FHarry-s-F1-data/issues/86","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/86/packages"},{"uuid":"4254865121","node_id":"PR_kwDORcNYdc7R_GUr","number":311,"state":"open","title":"Update openai-agents requirement from \u003e=0.1.0 to \u003e=0.8.4 in /sdk","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-13T13:06:56.000Z","updated_at":"2026-05-01T04:49:33.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"openai-agents","old_version":"\u003e=0.1.0","new_version":"\u003e=0.8.4","repository_url":"https://github.com/openai/openai-agents-python"}],"path":"/sdk","ecosystem":"pip"},"body":"Updates the requirements on [openai-agents](https://github.com/openai/openai-agents-python) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-agents-python/releases\"\u003eopenai-agents's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.8.4\u003c/h2\u003e\n\u003ch2\u003eKey Changes\u003c/h2\u003e\n\u003ch3\u003eHosted container tool + Skills\u003c/h3\u003e\n\u003cp\u003eThis release includes the hosted shell runtime tool along with its native skills support. Developers now can pass a container-based shell runtime with skills this way:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003efrom agents import Agent, ShellTool\r\n\u003cp\u003eagent = Agent(\nname=\u0026quot;Shell Agent\u0026quot;,\nmodel=\u0026quot;gpt-5.2\u0026quot;,\ninstructions=\u0026quot;Use the available shell tool to answer user requests.\u0026quot;,\ntools=[\nShellTool(\nenvironment={\n\u0026quot;type\u0026quot;: \u0026quot;container_auto\u0026quot;,\n\u0026quot;network_policy\u0026quot;: {\u0026quot;type\u0026quot;: \u0026quot;disabled\u0026quot;},\n\u0026quot;skills\u0026quot;: [\n{\n\u0026quot;type\u0026quot;: \u0026quot;skill_reference\u0026quot;,\n\u0026quot;skill_id\u0026quot;: \u0026quot;skill_698bbe879adc81918725cbc69dcae7960bc5613dadaed377\u0026quot;,\n\u0026quot;version\u0026quot;: \u0026quot;1\u0026quot;,\n}\n],\n}\n)\n],\n)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eRefer to \u003ca href=\"https://github.com/openai/openai-agents-python/blob/main/examples/tools/container_shell_inline_skill.py\"\u003eexamples/tools/container_shell_inline_skill.py\u003c/a\u003e and \u003ca href=\"https://github.com/openai/openai-agents-python/blob/main/examples/tools/container_shell_skill_reference.py\"\u003eexamples/tools/container_shell_skill_reference.py\u003c/a\u003e for more details.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add container shell + skills support by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2469\"\u003eopenai/openai-agents-python#2469\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(realtime): omit null audio formats in SIP call attach updates by \u003ca href=\"https://github.com/OiPunk\"\u003e\u003ccode\u003e@​OiPunk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2454\"\u003eopenai/openai-agents-python#2454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(result): support Pydantic model_rebuild for RunResultStreaming by \u003ca href=\"https://github.com/OiPunk\"\u003e\u003ccode\u003e@​OiPunk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2455\"\u003eopenai/openai-agents-python#2455\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(tool): resolve default failure handler at invoke time by \u003ca href=\"https://github.com/OiPunk\"\u003e\u003ccode\u003e@​OiPunk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2460\"\u003eopenai/openai-agents-python#2460\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(agent-tools): inherit parent RunConfig when agent-as-tool is invoked by \u003ca href=\"https://github.com/OiPunk\"\u003e\u003ccode\u003e@​OiPunk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2463\"\u003eopenai/openai-agents-python#2463\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(stream): emit queued events before max-turns exception by \u003ca href=\"https://github.com/OiPunk\"\u003e\u003ccode\u003e@​OiPunk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2458\"\u003eopenai/openai-agents-python#2458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(prompt): omit tool_choice when prompt manages built-in tools by \u003ca href=\"https://github.com/OiPunk\"\u003e\u003ccode\u003e@​OiPunk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2464\"\u003eopenai/openai-agents-python#2464\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocuments \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2452\"\u003eopenai/openai-agents-python#2452\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(mcp): validate required params before call_tool by \u003ca href=\"https://github.com/OiPunk\"\u003e\u003ccode\u003e@​OiPunk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2453\"\u003eopenai/openai-agents-python#2453\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: clarify Azure Realtime GA endpoint configuration by \u003ca href=\"https://github.com/OiPunk\"\u003e\u003ccode\u003e@​OiPunk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2440\"\u003eopenai/openai-agents-python#2440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2466\"\u003eopenai/openai-agents-python#2466\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.8.4 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2465\"\u003eopenai/openai-agents-python#2465\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/openai/openai-agents-python/blob/main/docs/release.md\"\u003eopenai-agents's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease process/changelog\u003c/h1\u003e\n\u003cp\u003eThe project follows a slightly modified version of semantic versioning using the form \u003ccode\u003e0.Y.Z\u003c/code\u003e. The leading \u003ccode\u003e0\u003c/code\u003e indicates the SDK is still evolving rapidly. Increment the components as follows:\u003c/p\u003e\n\u003ch2\u003eMinor (\u003ccode\u003eY\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increase minor versions \u003ccode\u003eY\u003c/code\u003e for \u003cstrong\u003ebreaking changes\u003c/strong\u003e to any public interfaces that are not marked as beta. For example, going from \u003ccode\u003e0.0.x\u003c/code\u003e to \u003ccode\u003e0.1.x\u003c/code\u003e might include breaking changes.\u003c/p\u003e\n\u003cp\u003eIf you don't want breaking changes, we recommend pinning to \u003ccode\u003e0.0.x\u003c/code\u003e versions in your project.\u003c/p\u003e\n\u003ch2\u003ePatch (\u003ccode\u003eZ\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increment \u003ccode\u003eZ\u003c/code\u003e for non-breaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes\u003c/li\u003e\n\u003cli\u003eNew features\u003c/li\u003e\n\u003cli\u003eChanges to private interfaces\u003c/li\u003e\n\u003cli\u003eUpdates to beta features\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBreaking change changelog\u003c/h2\u003e\n\u003ch3\u003e0.13.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change, but it includes a notable Realtime default update plus new MCP capabilities and runtime stability fixes.\u003c/p\u003e\n\u003cp\u003eHighlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe default websocket Realtime model is now \u003ccode\u003egpt-realtime-1.5\u003c/code\u003e, so new Realtime agent setups use the newer model without extra configuration.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMCPServer\u003c/code\u003e now exposes \u003ccode\u003elist_resources()\u003c/code\u003e, \u003ccode\u003elist_resource_templates()\u003c/code\u003e, and \u003ccode\u003eread_resource()\u003c/code\u003e, and \u003ccode\u003eMCPServerStreamableHttp\u003c/code\u003e now exposes \u003ccode\u003esession_id\u003c/code\u003e so streamable HTTP sessions can be resumed across reconnects or stateless workers.\u003c/li\u003e\n\u003cli\u003eChat Completions integrations can now opt into reasoning-content replay via \u003ccode\u003eshould_replay_reasoning_content\u003c/code\u003e, improving provider-specific reasoning/tool-call continuity for adapters such as LiteLLM/DeepSeek.\u003c/li\u003e\n\u003cli\u003eFixed several runtime and session edge cases, including concurrent first writes in \u003ccode\u003eSQLAlchemySession\u003c/code\u003e, compaction requests with orphaned assistant message IDs after reasoning stripping, \u003ccode\u003eremove_all_tools()\u003c/code\u003e leaving MCP/reasoning items behind, and a race in the function-tool batch executor.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e0.12.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change. Check \u003ca href=\"https://github.com/openai/openai-agents-python/releases/tag/v0.12.0\"\u003ethe release notes\u003c/a\u003e for major feature additions.\u003c/p\u003e\n\u003ch3\u003e0.11.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change. Check \u003ca href=\"https://github.com/openai/openai-agents-python/releases/tag/v0.11.0\"\u003ethe release notes\u003c/a\u003e for major feature additions.\u003c/p\u003e\n\u003ch3\u003e0.10.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change, but it includes a significant new feature area for OpenAI Responses users: websocket transport support for the Responses API.\u003c/p\u003e\n\u003cp\u003eHighlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded websocket transport support for OpenAI Responses models (opt-in; HTTP remains the default transport).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eresponses_websocket_session()\u003c/code\u003e helper / \u003ccode\u003eResponsesWebSocketSession\u003c/code\u003e for reusing a shared websocket-capable provider and \u003ccode\u003eRunConfig\u003c/code\u003e across multi-turn runs.\u003c/li\u003e\n\u003cli\u003eAdded a new websocket streaming example (\u003ccode\u003eexamples/basic/stream_ws.py\u003c/code\u003e) covering streaming, tools, approvals, and follow-up turns.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/67687cbab31c6c071204dc7f48ea6e47624aa2e7\"\u003e\u003ccode\u003e67687cb\u003c/code\u003e\u003c/a\u003e Release 0.8.4 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2465\"\u003e#2465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/947fff8bd03d7dd322abf4a92df7a0c24f55807e\"\u003e\u003ccode\u003e947fff8\u003c/code\u003e\u003c/a\u003e fix(prompt): omit tool_choice when prompt manages built-in tools (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2464\"\u003e#2464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/0793a8ce916377ad80f47f9819ee99bc86676aaa\"\u003e\u003ccode\u003e0793a8c\u003c/code\u003e\u003c/a\u003e feat: add container shell + skills support (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2469\"\u003e#2469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/f76ec8ac1c8e5ca5af2661b704481ba353ff31a2\"\u003e\u003ccode\u003ef76ec8a\u003c/code\u003e\u003c/a\u003e fix(stream): emit queued events before max-turns exception (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2458\"\u003e#2458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/1168ee1ad15a200ce2effe6a5aa42727fa3c52e3\"\u003e\u003ccode\u003e1168ee1\u003c/code\u003e\u003c/a\u003e fix(agent-tools): inherit parent RunConfig when agent-as-tool is invoked (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2463\"\u003e#2463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/85e56167f740d2a560285f7f4ba39cb3cfe3ec83\"\u003e\u003ccode\u003e85e5616\u003c/code\u003e\u003c/a\u003e fix(tool): resolve default failure handler at invoke time (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2460\"\u003e#2460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/f1f88f8fa42c2016339871d04fb49afd4db86c17\"\u003e\u003ccode\u003ef1f88f8\u003c/code\u003e\u003c/a\u003e fix(result): support Pydantic model_rebuild for RunResultStreaming (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2455\"\u003e#2455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/72204371c394f57099e6f313fcbc947432bc0dff\"\u003e\u003ccode\u003e7220437\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2466\"\u003e#2466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/f1d8923e480177e4664a364e1f0f87ea125e9f73\"\u003e\u003ccode\u003ef1d8923\u003c/code\u003e\u003c/a\u003e fix(realtime): omit null audio formats in SIP call attach updates (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2454\"\u003e#2454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/86f5c71e1906ecc324efe97e8f1ed7b0b9e174ed\"\u003e\u003ccode\u003e86f5c71\u003c/code\u003e\u003c/a\u003e docs: clarify Azure Realtime GA endpoint configuration (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2440\"\u003e#2440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.1.0...v0.8.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/nicholasraimbault/skytale/pull/311","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicholasraimbault%2Fskytale/issues/311","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/311/packages"},{"uuid":"4246757033","node_id":"PR_kwDORzsKKM7RvLHS","number":61,"state":"open","title":"chore(deps): bump openai-agents from 0.13.4 to 0.13.6 in /addons/formula-chat/api","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-12T06:05:39.000Z","updated_at":"2026-04-12T06:06:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"openai-agents","old_version":"0.13.4","new_version":"0.13.6","repository_url":"https://github.com/openai/openai-agents-python"}],"path":"/addons/formula-chat/api","ecosystem":"pip"},"body":"Bumps [openai-agents](https://github.com/openai/openai-agents-python) from 0.13.4 to 0.13.6.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-agents-python/releases\"\u003eopenai-agents's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.13.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2863\"\u003e#2863\u003c/a\u003e lazy-load SQLiteSession exports by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2864\"\u003eopenai/openai-agents-python#2864\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2856\"\u003e#2856\u003c/a\u003e stop recursive trace preview truncation by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2860\"\u003eopenai/openai-agents-python#2860\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: harden SQLAlchemySession against transient SQLite locks by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2854\"\u003eopenai/openai-agents-python#2854\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: updates for \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2844\"\u003e#2844\u003c/a\u003e changes by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2845\"\u003eopenai/openai-agents-python#2845\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2847\"\u003eopenai/openai-agents-python#2847\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(tracing): add HoneyHive to tracing integrations list by \u003ca href=\"https://github.com/m1lestones\"\u003e\u003ccode\u003e@​m1lestones\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2851\"\u003eopenai/openai-agents-python#2851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2853\"\u003eopenai/openai-agents-python#2853\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.13.6 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2861\"\u003eopenai/openai-agents-python#2861\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/m1lestones\"\u003e\u003ccode\u003e@​m1lestones\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2851\"\u003eopenai/openai-agents-python#2851\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.13.5...v0.13.6\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.13.5...v0.13.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.13.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2807\"\u003e#2807\u003c/a\u003e support callable approval policies for local MCP servers by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2818\"\u003eopenai/openai-agents-python#2818\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2135\"\u003e#2135\u003c/a\u003e add public flush_traces API by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2844\"\u003eopenai/openai-agents-python#2844\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2823\"\u003e#2823\u003c/a\u003e AnyLLM reasoning extraction for iterable vLLM/any-llm Reasoning objects by \u003ca href=\"https://github.com/ziqi-cn\"\u003e\u003ccode\u003e@​ziqi-cn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2822\"\u003eopenai/openai-agents-python#2822\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: serialize SQLite session writes with shared file locks by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2843\"\u003eopenai/openai-agents-python#2843\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump openai/codex-action from 1.4 to 1.6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2819\"\u003eopenai/openai-agents-python#2819\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump astral-sh/setup-uv from 7.3.1 to 8.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2820\"\u003eopenai/openai-agents-python#2820\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: sync examples.md with current examples directory by \u003ca href=\"https://github.com/AbdullahBapra\"\u003e\u003ccode\u003e@​AbdullahBapra\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2827\"\u003eopenai/openai-agents-python#2827\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2828\"\u003eopenai/openai-agents-python#2828\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.13.5 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2821\"\u003eopenai/openai-agents-python#2821\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AbdullahBapra\"\u003e\u003ccode\u003e@​AbdullahBapra\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2827\"\u003eopenai/openai-agents-python#2827\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ziqi-cn\"\u003e\u003ccode\u003e@​ziqi-cn\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2822\"\u003eopenai/openai-agents-python#2822\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.13.4...v0.13.5\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.13.4...v0.13.5\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/openai/openai-agents-python/commit/bfc8c6355ff0cc2b7f43980ed1b459f411dc42e5\"\u003e\u003ccode\u003ebfc8c63\u003c/code\u003e\u003c/a\u003e Release 0.13.6 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2861\"\u003e#2861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/690079e2b98a54e0a3ba165cb36ebdef33caa6b2\"\u003e\u003ccode\u003e690079e\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2863\"\u003e#2863\u003c/a\u003e lazy-load SQLiteSession exports (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2864\"\u003e#2864\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/fb67680fae60fef27cd0e71e73a68c73f9212526\"\u003e\u003ccode\u003efb67680\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2856\"\u003e#2856\u003c/a\u003e stop recursive trace preview truncation (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2860\"\u003e#2860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/c06cd45004f63bd33ef9dd66bdc2b4d0cdc82e1b\"\u003e\u003ccode\u003ec06cd45\u003c/code\u003e\u003c/a\u003e fix: harden SQLAlchemySession against transient SQLite locks (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2854\"\u003e#2854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/aeb653e56286895e7d8918b220e9d99b9e739f35\"\u003e\u003ccode\u003eaeb653e\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2853\"\u003e#2853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/0386210b3bc754ce13165672720ee2cecae53767\"\u003e\u003ccode\u003e0386210\u003c/code\u003e\u003c/a\u003e docs(tracing): add HoneyHive to tracing integrations list (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2851\"\u003e#2851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/fa508992edc6640f2ccf6addfbdb30c98f109b5d\"\u003e\u003ccode\u003efa50899\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2847\"\u003e#2847\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/e1d861ca5076a262e395344bbcfc95857cedaf78\"\u003e\u003ccode\u003ee1d861c\u003c/code\u003e\u003c/a\u003e docs: updates for \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2844\"\u003e#2844\u003c/a\u003e changes (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2845\"\u003e#2845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/b0ab25c2d6796c7699492dd2289efa509aae3705\"\u003e\u003ccode\u003eb0ab25c\u003c/code\u003e\u003c/a\u003e Release 0.13.5 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2821\"\u003e#2821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/7a3f6b70d1bd4e700f3a06547b673295fb52e74d\"\u003e\u003ccode\u003e7a3f6b7\u003c/code\u003e\u003c/a\u003e feat: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2135\"\u003e#2135\u003c/a\u003e add public flush_traces API (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2844\"\u003e#2844\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.13.4...v0.13.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=openai-agents\u0026package-manager=pip\u0026previous-version=0.13.4\u0026new-version=0.13.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/HARISHMARAN/Harry-s-F1-data/pull/61","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/HARISHMARAN%2FHarry-s-F1-data/issues/61","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/61/packages"},{"uuid":"4098929665","node_id":"PR_kwDOJpb2687Lumv1","number":2596,"state":"closed","title":"chore(deps): bump the py-minor-and-patch group across 1 directory with 17 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-23T11:32:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-19T02:54:08.000Z","updated_at":"2026-03-23T11:32:52.000Z","time_to_close":376722,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"py-minor-and-patch","update_count":17,"packages":[{"name":"opentelemetry-sdk","old_version":"1.38.0","new_version":"1.40.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"openai-agents","old_version":"0.10.0","new_version":"0.12.4","repository_url":"https://github.com/openai/openai-agents-python"},{"name":"claude-agent-sdk","old_version":"0.1.39","new_version":"0.1.49","repository_url":"https://github.com/anthropics/claude-agent-sdk-python"},{"name":"wrapt","old_version":"2.1.1","new_version":"2.1.2","repository_url":"https://github.com/GrahamDumpleton/wrapt"},{"name":"ruff","old_version":"0.15.2","new_version":"0.15.6","repository_url":"https://github.com/astral-sh/ruff"},{"name":"fastapi","old_version":"0.132.0","new_version":"0.135.1","repository_url":"https://github.com/fastapi/fastapi"},{"name":"uvicorn","old_version":"0.41.0","new_version":"0.42.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"langchain-core","old_version":"1.2.15","new_version":"1.2.20","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langchain-openai","old_version":"1.1.10","new_version":"1.1.11","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langchain-anthropic","old_version":"1.3.3","new_version":"1.4.0","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"google-genai","old_version":"1.64.0","new_version":"1.68.0","repository_url":"https://github.com/googleapis/python-genai"},{"name":"ty","old_version":"0.0.18","new_version":"0.0.23","repository_url":"https://github.com/astral-sh/ty"}],"path":null,"ecosystem":"pip"},"body":"Bumps the py-minor-and-patch group with 12 updates in the /python directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.40.0` |\n| [openai-agents](https://github.com/openai/openai-agents-python) | `0.10.0` | `0.12.4` |\n| [claude-agent-sdk](https://github.com/anthropics/claude-agent-sdk-python) | `0.1.39` | `0.1.49` |\n| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `2.1.1` | `2.1.2` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.2` | `0.15.6` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.132.0` | `0.135.1` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.41.0` | `0.42.0` |\n| [langchain-core](https://github.com/langchain-ai/langchain) | `1.2.15` | `1.2.20` |\n| [langchain-openai](https://github.com/langchain-ai/langchain) | `1.1.10` | `1.1.11` |\n| [langchain-anthropic](https://github.com/langchain-ai/langchain) | `1.3.3` | `1.4.0` |\n| [google-genai](https://github.com/googleapis/python-genai) | `1.64.0` | `1.68.0` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.18` | `0.0.23` |\n\n\nUpdates `opentelemetry-sdk` from 1.38.0 to 1.40.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.40.0/0.61b0 (2026-03-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: deprecate \u003ccode\u003eLoggingHandler\u003c/code\u003e in favor of \u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e, see \u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e documentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4919\"\u003e#4919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Clarify log processor error handling expectations in documentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4915\"\u003e#4915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump semantic-conventions to v1.40.0\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4941\"\u003e#4941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd stale PR GitHub Action\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4926\"\u003e#4926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Drop unused Jaeger exporter environment variables (exporter removed in 1.22.0)\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Clarify timeout units in environment variable documentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4906\"\u003e#4906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: Fix re-initialization of gRPC channel on UNAVAILABLE error\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4825\"\u003e#4825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: Fix duplicate HELP/TYPE declarations for metrics with different label sets\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4868\"\u003e#4868\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow loading all resource detectors by setting \u003ccode\u003eOTEL_EXPERIMENTAL_RESOURCE_DETECTORS\u003c/code\u003e to \u003ccode\u003e*\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4819\"\u003e#4819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Fix the type hint of the \u003ccode\u003e_metrics_data\u003c/code\u003e property to allow \u003ccode\u003eNone\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4837\"\u003e#4837\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRegenerate opentelemetry-proto code with v1.9.0 release\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4840\"\u003e#4840\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd python 3.14 support\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4798\"\u003e#4798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSilence events API warnings for internal users\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4847\"\u003e#4847\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eopentelemetry-sdk: make it possible to override the default processors in the SDK configurator\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4806\"\u003e#4806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent possible endless recursion from happening in \u003ccode\u003eSimpleLogRecordProcessor.on_emit\u003c/code\u003e,\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4799\"\u003e#4799\u003c/a\u003e) and (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4867\"\u003e#4867\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImplement span start/end metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4880\"\u003e#4880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd environment variable carriers to API\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4609\"\u003e#4609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd experimental composable rule based sampler\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4882\"\u003e#4882\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake ConcurrentMultiSpanProcessor fork safe\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4862\"\u003e#4862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: fix retry logic and error handling for connection failures in trace, metric, and log exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4709\"\u003e#4709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: avoid RuntimeError during iteration of view instrument match dictionary in MetricReaderStorage.collect()\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4891\"\u003e#4891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement experimental TracerConfigurator\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4861\"\u003e#4861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Fix instrument creation race condition\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4913\"\u003e#4913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump semantic-conventions to v1.39.0\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4914\"\u003e#4914\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/open-telemetry/opentelemetry-python/commit/dd2202172982d1b3cc896ddecc2bef27d7956acb\"\u003e\u003ccode\u003edd22021\u003c/code\u003e\u003c/a\u003e Prepare release 1.40.0/0.61b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4949\"\u003e#4949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/26c716602cd5927a4ad1e36a77baefdeba5457a5\"\u003e\u003ccode\u003e26c7166\u003c/code\u003e\u003c/a\u003e api: add docstrings to core metrics instrument abstract methods (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4923\"\u003e#4923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/c17ba89fdf62e39221211c2110816daff09e4238\"\u003e\u003ccode\u003ec17ba89\u003c/code\u003e\u003c/a\u003e opentelemetry-sdk: deprecate logging handler (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4919\"\u003e#4919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/6ea15ffa5da5c4fa0b599e1c0c54644e42be20b3\"\u003e\u003ccode\u003e6ea15ff\u003c/code\u003e\u003c/a\u003e docs: Clarify log processor error handling expectations (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4915\"\u003e#4915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/24f4fb0ead320b8a1196f01612ce94b1ea959838\"\u003e\u003ccode\u003e24f4fb0\u003c/code\u003e\u003c/a\u003e bump semconv to v1.40.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4941\"\u003e#4941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/2308baf3ee7053d70ca3db8b9ba02a2387ef2aeb\"\u003e\u003ccode\u003e2308baf\u003c/code\u003e\u003c/a\u003e maint: Add stale github action (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4926\"\u003e#4926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/99b47df940a624523aecad88f54d7721beec6559\"\u003e\u003ccode\u003e99b47df\u003c/code\u003e\u003c/a\u003e config: generate model code from json schema (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4879\"\u003e#4879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/9a658ac86376a13ccf3a67d245a9f3edc5f19043\"\u003e\u003ccode\u003e9a658ac\u003c/code\u003e\u003c/a\u003e Add Lukas to approvers (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4939\"\u003e#4939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1c64c149681d47c42506ccc7e9840aad049c755e\"\u003e\u003ccode\u003e1c64c14\u003c/code\u003e\u003c/a\u003e opentelemetry-sdk: change sdk metrics related parameters as named (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4937\"\u003e#4937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7247af7f0f131541df5f3509e5ecd7e4f90f18c2\"\u003e\u003ccode\u003e7247af7\u003c/code\u003e\u003c/a\u003e opentelemetry-sdk: change sdk metrics related parameters as named (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4937\"\u003e#4937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.38.0...v1.40.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-api` from 1.38.0 to 1.40.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-api's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.40.0/0.61b0 (2026-03-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: deprecate \u003ccode\u003eLoggingHandler\u003c/code\u003e in favor of \u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e, see \u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e documentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4919\"\u003e#4919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Clarify log processor error handling expectations in documentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4915\"\u003e#4915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump semantic-conventions to v1.40.0\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4941\"\u003e#4941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd stale PR GitHub Action\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4926\"\u003e#4926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Drop unused Jaeger exporter environment variables (exporter removed in 1.22.0)\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Clarify timeout units in environment variable documentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4906\"\u003e#4906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: Fix re-initialization of gRPC channel on UNAVAILABLE error\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4825\"\u003e#4825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: Fix duplicate HELP/TYPE declarations for metrics with different label sets\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4868\"\u003e#4868\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow loading all resource detectors by setting \u003ccode\u003eOTEL_EXPERIMENTAL_RESOURCE_DETECTORS\u003c/code\u003e to \u003ccode\u003e*\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4819\"\u003e#4819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Fix the type hint of the \u003ccode\u003e_metrics_data\u003c/code\u003e property to allow \u003ccode\u003eNone\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4837\"\u003e#4837\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRegenerate opentelemetry-proto code with v1.9.0 release\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4840\"\u003e#4840\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd python 3.14 support\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4798\"\u003e#4798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSilence events API warnings for internal users\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4847\"\u003e#4847\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eopentelemetry-sdk: make it possible to override the default processors in the SDK configurator\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4806\"\u003e#4806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent possible endless recursion from happening in \u003ccode\u003eSimpleLogRecordProcessor.on_emit\u003c/code\u003e,\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4799\"\u003e#4799\u003c/a\u003e) and (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4867\"\u003e#4867\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImplement span start/end metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4880\"\u003e#4880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd environment variable carriers to API\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4609\"\u003e#4609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd experimental composable rule based sampler\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4882\"\u003e#4882\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake ConcurrentMultiSpanProcessor fork safe\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4862\"\u003e#4862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: fix retry logic and error handling for connection failures in trace, metric, and log exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4709\"\u003e#4709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: avoid RuntimeError during iteration of view instrument match dictionary in MetricReaderStorage.collect()\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4891\"\u003e#4891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement experimental TracerConfigurator\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4861\"\u003e#4861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Fix instrument creation race condition\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4913\"\u003e#4913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump semantic-conventions to v1.39.0\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4914\"\u003e#4914\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/open-telemetry/opentelemetry-python/commit/dd2202172982d1b3cc896ddecc2bef27d7956acb\"\u003e\u003ccode\u003edd22021\u003c/code\u003e\u003c/a\u003e Prepare release 1.40.0/0.61b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4949\"\u003e#4949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/26c716602cd5927a4ad1e36a77baefdeba5457a5\"\u003e\u003ccode\u003e26c7166\u003c/code\u003e\u003c/a\u003e api: add docstrings to core metrics instrument abstract methods (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4923\"\u003e#4923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/c17ba89fdf62e39221211c2110816daff09e4238\"\u003e\u003ccode\u003ec17ba89\u003c/code\u003e\u003c/a\u003e opentelemetry-sdk: deprecate logging handler (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4919\"\u003e#4919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/6ea15ffa5da5c4fa0b599e1c0c54644e42be20b3\"\u003e\u003ccode\u003e6ea15ff\u003c/code\u003e\u003c/a\u003e docs: Clarify log processor error handling expectations (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4915\"\u003e#4915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/24f4fb0ead320b8a1196f01612ce94b1ea959838\"\u003e\u003ccode\u003e24f4fb0\u003c/code\u003e\u003c/a\u003e bump semconv to v1.40.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4941\"\u003e#4941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/2308baf3ee7053d70ca3db8b9ba02a2387ef2aeb\"\u003e\u003ccode\u003e2308baf\u003c/code\u003e\u003c/a\u003e maint: Add stale github action (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4926\"\u003e#4926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/99b47df940a624523aecad88f54d7721beec6559\"\u003e\u003ccode\u003e99b47df\u003c/code\u003e\u003c/a\u003e config: generate model code from json schema (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4879\"\u003e#4879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/9a658ac86376a13ccf3a67d245a9f3edc5f19043\"\u003e\u003ccode\u003e9a658ac\u003c/code\u003e\u003c/a\u003e Add Lukas to approvers (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4939\"\u003e#4939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1c64c149681d47c42506ccc7e9840aad049c755e\"\u003e\u003ccode\u003e1c64c14\u003c/code\u003e\u003c/a\u003e opentelemetry-sdk: change sdk metrics related parameters as named (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4937\"\u003e#4937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7247af7f0f131541df5f3509e5ecd7e4f90f18c2\"\u003e\u003ccode\u003e7247af7\u003c/code\u003e\u003c/a\u003e opentelemetry-sdk: change sdk metrics related parameters as named (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4937\"\u003e#4937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.38.0...v1.40.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-exporter-otlp-proto-http` from 1.38.0 to 1.40.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-exporter-otlp-proto-http's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.40.0/0.61b0 (2026-03-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: deprecate \u003ccode\u003eLoggingHandler\u003c/code\u003e in favor of \u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e, see \u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e documentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4919\"\u003e#4919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Clarify log processor error handling expectations in documentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4915\"\u003e#4915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump semantic-conventions to v1.40.0\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4941\"\u003e#4941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd stale PR GitHub Action\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4926\"\u003e#4926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Drop unused Jaeger exporter environment variables (exporter removed in 1.22.0)\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Clarify timeout units in environment variable documentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4906\"\u003e#4906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: Fix re-initialization of gRPC channel on UNAVAILABLE error\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4825\"\u003e#4825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: Fix duplicate HELP/TYPE declarations for metrics with different label sets\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4868\"\u003e#4868\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow loading all resource detectors by setting \u003ccode\u003eOTEL_EXPERIMENTAL_RESOURCE_DETECTORS\u003c/code\u003e to \u003ccode\u003e*\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4819\"\u003e#4819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Fix the type hint of the \u003ccode\u003e_metrics_data\u003c/code\u003e property to allow \u003ccode\u003eNone\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4837\"\u003e#4837\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRegenerate opentelemetry-proto code with v1.9.0 release\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4840\"\u003e#4840\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd python 3.14 support\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4798\"\u003e#4798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSilence events API warnings for internal users\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4847\"\u003e#4847\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eopentelemetry-sdk: make it possible to override the default processors in the SDK configurator\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4806\"\u003e#4806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent possible endless recursion from happening in \u003ccode\u003eSimpleLogRecordProcessor.on_emit\u003c/code\u003e,\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4799\"\u003e#4799\u003c/a\u003e) and (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4867\"\u003e#4867\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImplement span start/end metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4880\"\u003e#4880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd environment variable carriers to API\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4609\"\u003e#4609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd experimental composable rule based sampler\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4882\"\u003e#4882\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake ConcurrentMultiSpanProcessor fork safe\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4862\"\u003e#4862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: fix retry logic and error handling for connection failures in trace, metric, and log exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4709\"\u003e#4709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: avoid RuntimeError during iteration of view instrument match dictionary in MetricReaderStorage.collect()\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4891\"\u003e#4891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement experimental TracerConfigurator\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4861\"\u003e#4861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Fix instrument creation race condition\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4913\"\u003e#4913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump semantic-conventions to v1.39.0\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4914\"\u003e#4914\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/open-telemetry/opentelemetry-python/commit/dd2202172982d1b3cc896ddecc2bef27d7956acb\"\u003e\u003ccode\u003edd22021\u003c/code\u003e\u003c/a\u003e Prepare release 1.40.0/0.61b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4949\"\u003e#4949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/26c716602cd5927a4ad1e36a77baefdeba5457a5\"\u003e\u003ccode\u003e26c7166\u003c/code\u003e\u003c/a\u003e api: add docstrings to core metrics instrument abstract methods (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4923\"\u003e#4923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/c17ba89fdf62e39221211c2110816daff09e4238\"\u003e\u003ccode\u003ec17ba89\u003c/code\u003e\u003c/a\u003e opentelemetry-sdk: deprecate logging handler (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4919\"\u003e#4919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/6ea15ffa5da5c4fa0b599e1c0c54644e42be20b3\"\u003e\u003ccode\u003e6ea15ff\u003c/code\u003e\u003c/a\u003e docs: Clarify log processor error handling expectations (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4915\"\u003e#4915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/24f4fb0ead320b8a1196f01612ce94b1ea959838\"\u003e\u003ccode\u003e24f4fb0\u003c/code\u003e\u003c/a\u003e bump semconv to v1.40.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4941\"\u003e#4941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/2308baf3ee7053d70ca3db8b9ba02a2387ef2aeb\"\u003e\u003ccode\u003e2308baf\u003c/code\u003e\u003c/a\u003e maint: Add stale github action (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4926\"\u003e#4926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/99b47df940a624523aecad88f54d7721beec6559\"\u003e\u003ccode\u003e99b47df\u003c/code\u003e\u003c/a\u003e config: generate model code from json schema (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4879\"\u003e#4879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/9a658ac86376a13ccf3a67d245a9f3edc5f19043\"\u003e\u003ccode\u003e9a658ac\u003c/code\u003e\u003c/a\u003e Add Lukas to approvers (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4939\"\u003e#4939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1c64c149681d47c42506ccc7e9840aad049c755e\"\u003e\u003ccode\u003e1c64c14\u003c/code\u003e\u003c/a\u003e opentelemetry-sdk: change sdk metrics related parameters as named (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4937\"\u003e#4937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7247af7f0f131541df5f3509e5ecd7e4f90f18c2\"\u003e\u003ccode\u003e7247af7\u003c/code\u003e\u003c/a\u003e opentelemetry-sdk: change sdk metrics related parameters as named (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4937\"\u003e#4937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.38.0...v1.40.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai-agents` from 0.10.0 to 0.12.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-agents-python/releases\"\u003eopenai-agents's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.12.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: normalize cancelled MCP invocations into tool errors by \u003ca href=\"https://github.com/elainegan-openai\"\u003e\u003ccode\u003e@​elainegan-openai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2704\"\u003eopenai/openai-agents-python#2704\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: retry transient streamable-http MCP tool failures on isolated session by \u003ca href=\"https://github.com/elainegan-openai\"\u003e\u003ccode\u003e@​elainegan-openai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2703\"\u003eopenai/openai-agents-python#2703\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(memory): honor custom table names in AdvancedSQLiteSession by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2694\"\u003eopenai/openai-agents-python#2694\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(retry): cap jittered delay to max_delay by \u003ca href=\"https://github.com/Dhakshin2007\"\u003e\u003ccode\u003e@​Dhakshin2007\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2676\"\u003eopenai/openai-agents-python#2676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: harden PR auto-labeling against diff and output drift by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2691\"\u003eopenai/openai-agents-python#2691\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: streamline models page and UI tweak by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2696\"\u003eopenai/openai-agents-python#2696\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2697\"\u003eopenai/openai-agents-python#2697\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.12.4 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2705\"\u003eopenai/openai-agents-python#2705\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Dhakshin2007\"\u003e\u003ccode\u003e@​Dhakshin2007\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2676\"\u003eopenai/openai-agents-python#2676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.12.3...v0.12.4\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.12.3...v0.12.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.12.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: handle inner MCP tool cancellations as tool errors by \u003ca href=\"https://github.com/elainegan-openai\"\u003e\u003ccode\u003e@​elainegan-openai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2681\"\u003eopenai/openai-agents-python#2681\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: serialize streamable-http MCP requests per session by \u003ca href=\"https://github.com/elainegan-openai\"\u003e\u003ccode\u003e@​elainegan-openai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2682\"\u003eopenai/openai-agents-python#2682\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2668\"\u003eopenai/openai-agents-python#2668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix minor typos in provider comments and test name by \u003ca href=\"https://github.com/luojiyin1987\"\u003e\u003ccode\u003e@​luojiyin1987\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2674\"\u003eopenai/openai-agents-python#2674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.12.3 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2684\"\u003eopenai/openai-agents-python#2684\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/luojiyin1987\"\u003e\u003ccode\u003e@​luojiyin1987\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2674\"\u003eopenai/openai-agents-python#2674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elainegan-openai\"\u003e\u003ccode\u003e@​elainegan-openai\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2681\"\u003eopenai/openai-agents-python#2681\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.12.2...v0.12.3\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.12.2...v0.12.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.12.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2664\"\u003e#2664\u003c/a\u003e drop orphan hosted shell calls before multi-turn replay by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2665\"\u003eopenai/openai-agents-python#2665\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2258\"\u003e#2258\u003c/a\u003e add normalized to_input_list mode for filtered handoff follow-ups by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2667\"\u003eopenai/openai-agents-python#2667\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2663\"\u003eopenai/openai-agents-python#2663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.12.2 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2666\"\u003eopenai/openai-agents-python#2666\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.12.1...v0.12.2\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.12.1...v0.12.2\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-agents-python/blob/main/docs/release.md\"\u003eopenai-agents's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease process/changelog\u003c/h1\u003e\n\u003cp\u003eThe project follows a slightly modified version of semantic versioning using the form \u003ccode\u003e0.Y.Z\u003c/code\u003e. The leading \u003ccode\u003e0\u003c/code\u003e indicates the SDK is still evolving rapidly. Increment the components as follows:\u003c/p\u003e\n\u003ch2\u003eMinor (\u003ccode\u003eY\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increase minor versions \u003ccode\u003eY\u003c/code\u003e for \u003cstrong\u003ebreaking changes\u003c/strong\u003e to any public interfaces that are not marked as beta. For example, going from \u003ccode\u003e0.0.x\u003c/code\u003e to \u003ccode\u003e0.1.x\u003c/code\u003e might include breaking changes.\u003c/p\u003e\n\u003cp\u003eIf you don't want breaking changes, we recommend pinning to \u003ccode\u003e0.0.x\u003c/code\u003e versions in your project.\u003c/p\u003e\n\u003ch2\u003ePatch (\u003ccode\u003eZ\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increment \u003ccode\u003eZ\u003c/code\u003e for non-breaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes\u003c/li\u003e\n\u003cli\u003eNew features\u003c/li\u003e\n\u003cli\u003eChanges to private interfaces\u003c/li\u003e\n\u003cli\u003eUpdates to beta features\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBreaking change changelog\u003c/h2\u003e\n\u003ch3\u003e0.12.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change. Check \u003ca href=\"https://github.com/openai/openai-agents-python/releases/tag/v0.12.0\"\u003ethe release notes\u003c/a\u003e for major feature additions.\u003c/p\u003e\n\u003ch3\u003e0.11.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change. Check \u003ca href=\"https://github.com/openai/openai-agents-python/releases/tag/v0.11.0\"\u003ethe release notes\u003c/a\u003e for major feature additions.\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/openai/openai-agents-python/commit/5c9fb2c10cc452188b70d34293c725248388bb7c\"\u003e\u003ccode\u003e5c9fb2c\u003c/code\u003e\u003c/a\u003e Release 0.12.4 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2705\"\u003e#2705\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/c4c1772172c94efef69a1064d1018956c10149e8\"\u003e\u003ccode\u003ec4c1772\u003c/code\u003e\u003c/a\u003e Retry transient streamable-http MCP tool failures on isolated session (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2703\"\u003e#2703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/29f422be7a0c435ba18b83e65651910577c93660\"\u003e\u003ccode\u003e29f422b\u003c/code\u003e\u003c/a\u003e fix(retry): cap jittered delay to max_delay (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2676\"\u003e#2676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/f29a6580a13a1a2dde1f9360f62a5f39cd832f30\"\u003e\u003ccode\u003ef29a658\u003c/code\u003e\u003c/a\u003e fix(memory): honor custom table names in AdvancedSQLiteSession (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2694\"\u003e#2694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/8f3b10433c279c7b97655d6c5ca3ea6cd06fd502\"\u003e\u003ccode\u003e8f3b104\u003c/code\u003e\u003c/a\u003e ci: codex 0.115.0 changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/22dd2afa282211e3555b79273dbbbfbf1670d687\"\u003e\u003ccode\u003e22dd2af\u003c/code\u003e\u003c/a\u003e Normalize cancelled MCP invocations into tool errors (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2704\"\u003e#2704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/90009b27932515f197e246589240fa847bc4c64a\"\u003e\u003ccode\u003e90009b2\u003c/code\u003e\u003c/a\u003e docs: remove navigation.expand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/ceb2d5bc0038eeea6e21aba743e8312fd4c16f05\"\u003e\u003ccode\u003eceb2d5b\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2697\"\u003e#2697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/5e458adbf08db6b4dec88e1c5641a43e64e365c0\"\u003e\u003ccode\u003e5e458ad\u003c/code\u003e\u003c/a\u003e docs: streamline models page and UI tweak (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2696\"\u003e#2696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/457d1a55c66565956fa70d63e856eb3a8723a714\"\u003e\u003ccode\u003e457d1a5\u003c/code\u003e\u003c/a\u003e ci: improve auto labeling logic\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.10.0...v0.12.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `claude-agent-sdk` from 0.1.39 to 0.1.49\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/anthropics/claude-agent-sdk-python/releases\"\u003eclaude-agent-sdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.1.48\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFine-grained tool streaming\u003c/strong\u003e: Fixed \u003ccode\u003einclude_partial_messages=True\u003c/code\u003e not delivering \u003ccode\u003einput_json_delta\u003c/code\u003e events by enabling the \u003ccode\u003eCLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING\u003c/code\u003e environment variable in the subprocess. This regression affected versions 0.1.36 through 0.1.47 for users without the server-side feature flag (\u003ca href=\"https://redirect.github.com/anthropics/claude-agent-sdk-python/issues/644\"\u003e#644\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal/Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated bundled Claude CLI to version 2.1.71\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003ePyPI:\u003c/strong\u003e \u003ca href=\"https://pypi.org/project/claude-agent-sdk/0.1.48/\"\u003ehttps://pypi.org/project/claude-agent-sdk/0.1.48/\u003c/a\u003e\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003epip install claude-agent-sdk==0.1.48\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003ev0.1.47\u003c/h2\u003e\n\u003ch3\u003eInternal/Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated bundled Claude CLI to version 2.1.70\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003ePyPI:\u003c/strong\u003e \u003ca href=\"https://pypi.org/project/claude-agent-sdk/0.1.47/\"\u003ehttps://pypi.org/project/claude-agent-sdk/0.1.47/\u003c/a\u003e\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003epip install claude-agent-sdk==0.1.47\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003ev0.1.46\u003c/h2\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSession history functions\u003c/strong\u003e: Added \u003ccode\u003elist_sessions()\u003c/code\u003e and \u003ccode\u003eget_session_messages()\u003c/code\u003e top-level functions for retrieving past session data (\u003ca href=\"https://redirect.github.com/anthropics/claude-agent-sdk-python/issues/622\"\u003e#622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMCP control methods\u003c/strong\u003e: Added \u003ccode\u003eadd_mcp_server()\u003c/code\u003e, \u003ccode\u003eremove_mcp_server()\u003c/code\u003e, and typed \u003ccode\u003eMcpServerStatus\u003c/code\u003e for runtime MCP server management (\u003ca href=\"https://redirect.github.com/anthropics/claude-agent-sdk-python/issues/620\"\u003e#620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyped task messages\u003c/strong\u003e: Added \u003ccode\u003eTaskStarted\u003c/code\u003e, \u003ccode\u003eTaskProgress\u003c/code\u003e, and \u003ccode\u003eTaskNotification\u003c/code\u003e message subclasses for better type safety when handling task-related events (\u003ca href=\"https://redirect.github.com/anthropics/claude-agent-sdk-python/issues/621\"\u003e#621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eResultMessage stop_reason\u003c/strong\u003e: Added \u003ccode\u003estop_reason\u003c/code\u003e field to \u003ccode\u003eResultMessage\u003c/code\u003e for inspecting why a conversation turn ended (\u003ca href=\"https://redirect.github.com/anthropics/claude-agent-sdk-python/issues/619\"\u003e#619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHook input enhancements\u003c/strong\u003e: Added \u003ccode\u003eagent_id\u003c/code\u003e and \u003ccode\u003eagent_type\u003c/code\u003e fields to tool-lifecycle hook inputs (\u003ccode\u003ePreToolUseHookInput\u003c/code\u003e, \u003ccode\u003ePostToolUseHookInput\u003c/code\u003e, \u003ccode\u003ePostToolUseFailureHookInput\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/anthropics/claude-agent-sdk-python/issues/628\"\u003e#628\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eString prompt MCP initialization\u003c/strong\u003e: Fixed an issue where passing a string prompt would close stdin before MCP server initialization completed, causing MCP servers to fail to register (\u003ca href=\"https://redirect.github.com/anthropics/claude-agent-sdk-python/issues/630\"\u003e#630\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal/Other Changes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/anthropics/claude-agent-sdk-python/blob/main/CHANGELOG.md\"\u003eclaude-agent-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e0.1.48\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFine-grained tool streaming\u003c/strong\u003e: Fixed \u003ccode\u003einclude_partial_messages=True\u003c/code\u003e not delivering \u003ccode\u003einput_json_delta\u003c/code\u003e events by enabling the \u003ccode\u003eCLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING\u003c/code\u003e environment variable in the subprocess. This regression affected versions 0.1.36 through 0.1.47 for users without the server-side feature flag (\u003ca href=\"https://redirect.github.com/anthropics/claude-agent-sdk-python/issues/644\"\u003e#644\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal/Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated bundled Claude CLI to version 2.1.71\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.1.47\u003c/h2\u003e\n\u003ch3\u003eInternal/Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated bundled Claude CLI to version 2.1.70\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.1.46\u003c/h2\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSession history functions\u003c/strong\u003e: Added \u003ccode\u003elist_sessions()\u003c/code\u003e and \u003ccode\u003eget_session_messages()\u003c/code\u003e top-level functions for retrieving past session data (\u003ca href=\"https://redirect.github.com/anthropics/claude-agent-sdk-python/issues/622\"\u003e#622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMCP control methods\u003c/strong\u003e: Added \u003ccode\u003eadd_mcp_server()\u003c/code\u003e, \u003ccode\u003eremove_mcp_server()\u003c/code\u003e, and typed \u003ccode\u003eMcpServerStatus\u003c/code\u003e for runtime MCP server management (\u003ca href=\"https://redirect.github.com/anthropics/claude-agent-sdk-python/issues/620\"\u003e#620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyped task messages\u003c/strong\u003e: Added \u003ccode\u003eTaskStarted\u003c/code\u003e, \u003ccode\u003eTaskProgress\u003c/code\u003e, and \u003ccode\u003eTaskNotification\u003c/code\u003e message subclasses for better type safety when handling task-related events (\u003ca href=\"https://redirect.github.com/anthropics/claude-agent-sdk-python/issues/621\"\u003e#621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eResultMessage stop_reason\u003c/strong\u003e: Added \u003ccode\u003estop_reason\u003c/code\u003e field to \u003ccode\u003eResultMessage\u003c/code\u003e for inspecting why a conversation turn ended (\u003ca href=\"https://redirect.github.com/anthropics/claude-agent-sdk-python/issues/619\"\u003e#619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHook input enhancements\u003c/strong\u003e: Added \u003ccode\u003eagent_id\u003c/code\u003e and \u003ccode\u003eagent_type\u003c/code\u003e fields to tool-lifecycle hook inputs (\u003ccode\u003ePreToolUseHookInput\u003c/code\u003e, \u003ccode\u003ePostToolUseHookInput\u003c/code\u003e, \u003ccode\u003ePostToolUseFailureHookInput\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/anthropics/claude-agent-sdk-python/issues/628\"\u003e#628\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eString prompt MCP initialization\u003c/strong\u003e: Fixed an issue where passing a string prompt would close stdin before MCP server initialization completed, causing MCP servers to fail to register (\u003ca href=\"https://redirect.github.com/anthropics/claude-agent-sdk-python/issues/630\"\u003e#630\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal/Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated bundled Claude CLI to version 2.1.69\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.1.45\u003c/h2\u003e\n\u003ch3\u003eInternal/Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated bundled Claude CLI to version 2.1.63\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.1.44\u003c/h2\u003e\n\u003ch3\u003eInternal/Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated bundled Claude CLI to version 2.1.59\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.1.43\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/anthropics/claude-agent-sdk-python/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-adk` from 1.25.1 to 1.14.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/blob/main/CHANGELOG.md\"\u003egoogle-adk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.25.0...v1.25.1\"\u003e1.25.1\u003c/a\u003e (2026-02-18)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickling lock errors in McpSessionManager (\u003ca href=\"https://github.com/google/adk-python/commit/4e2d6159ae3552954aaae295fef3e09118502898\"\u003e4e2d615\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.24.1...v1.25.0\"\u003e1.25.0\u003c/a\u003e (2026-02-11)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a demo for the simple prompt optimizer for the optimization interface (\u003ca href=\"https://github.com/google/adk-python/commit/0abf4cd2c7103a071506c9398455a3bd66fe5da5\"\u003e0abf4cd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--auto_create_session\u003c/code\u003e flag to \u003ccode\u003eadk api_server\u003c/code\u003e CLI (\u003ca href=\"https://github.com/google/adk-python/commit/40c15d059599472b40f48272a464eb3cb7345fc6\"\u003e40c15d0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eadd_events_to_memory\u003c/code\u003e facade for event-delta (\u003ca href=\"https://github.com/google/adk-python/commit/59e88972ae4f10274444593db0607f40cfcc597e\"\u003e59e8897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd post-invocation token-threshold compaction with event retention (\u003ca href=\"https://github.com/google/adk-python/commit/a88e8647558a9b9d0bfdf38d2d8de058e3ba0596\"\u003ea88e864\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd report generation to \u003ccode\u003eadk conformance test\u003c/code\u003e command (\u003ca href=\"https://github.com/google/adk-python/commit/43c437e38b9109b68a81de886d1901e4d8f87a01\"\u003e43c437e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Models]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd base_url option to Gemini LLM class (\u003ca href=\"https://github.com/google/adk-python/commit/781f605a1e5de6d77b69d7e7b9835ec6fc8de4bf\"\u003e781f605\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnhance google credentials config to support externally passed access token (\u003ca href=\"https://github.com/google/adk-python/commit/3cf43e3842d9987499ea70d6f63d6e1c4d4a07db\"\u003e3cf43e3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate agent simulator by improving prompts and add environment data (\u003ca href=\"https://github.com/google/adk-python/commit/7af1858f46b66fa4471c5ba7943385f2d23d08d3\"\u003e7af1858\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a load MCP resource tool (\u003ca href=\"https://github.com/google/adk-python/commit/e25227da5e91a8c1192af709f8e8bb2a471ded92\"\u003ee25227d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd SkillToolset to adk (\u003ca href=\"https://github.com/google/adk-python/commit/8d0279251ce4fad6f0c84bd7777eb5a74f7ba07a\"\u003e8d02792\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Web]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e/health\u003c/code\u003e and \u003ccode\u003e/version\u003c/code\u003e endpoints to ADK web server (\u003ca href=\"https://github.com/google/adk-python/commit/25ec2c6b614cf8d185ff6dbdac5697a210be68da\"\u003e25ec2c6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse async iteration for VertexAiSessionService.list_sessions pagination (\u003ca href=\"https://github.com/google/adk-python/commit/758d337c76d877e3174c35f06551cc9beb1def06\"\u003e758d337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix event loop closed bug in McpSessionManager (\u003ca href=\"https://github.com/google/adk-python/commit/4aa475145f196fb35fe97290dd9f928548bc737f\"\u003e4aa4751\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve thought_signature in function call conversions for interactions API integration (\u003ca href=\"https://github.com/google/adk-python/commit/20105690100d9c2f69c061ac08be5e94c50dc39c\"\u003e2010569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePropagate grounding and citation metadata in streaming responses (\u003ca href=\"https://github.com/google/adk-python/commit/e6da4172924ecc36ffc2535199c450a2a51c7bcc\"\u003ee6da417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd endpoints to get/list artifact version metadata (\u003ca href=\"https://github.com/google/adk-python/commit/e0b9712a492bf84ac17679095b333642a79b8ee6\"\u003ee0b9712\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport escaped curly braces in instruction templates (\u003ca href=\"https://github.com/google/adk-python/commit/7c7d25a4a6e4389e23037e70b8efdcd5341f44ea\"\u003e7c7d25a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStrip timezone for PostgreSQL timestamps in DatabaseSessionService (\u003ca href=\"https://github.com/google/adk-python/commit/19b607684f15ce2b6ffd60382211ba5600705743\"\u003e19b6076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrompt token may be None in streaming mode (\u003ca href=\"https://github.com/google/adk-python/commit/32ee07df01f10dbee0e98ca9d412440a7fe9163d\"\u003e32ee07d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePass invocation_id from \u003ccode\u003e/run\u003c/code\u003e endpoint to \u003ccode\u003eRunner.run_async\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/d2dba27134f833e5d929fdf363ada9364cc852f9\"\u003ed2dba27\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConditionally preserve function call IDs in LLM requests (\u003ca href=\"https://github.com/google/adk-python/commit/663cb75b3288d8d0649412e1009329502b21cbbc\"\u003e663cb75\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrate VertexAiMemoryBankService to use the async Vertex AI client (\u003ca href=\"https://github.com/google/adk-python/commit/64a44c28974de77cf8934f9c3d1bc03691b90e7b\"\u003e64a44c2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle list values in Gemini schema sanitization (\u003ca href=\"https://github.com/google/adk-python/commit/fd8a9e3962cca4f422beb7316cbe732edf726d51\"\u003efd8a9e3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUsed logger to log instead of print in MCP (\u003ca href=\"https://github.com/google/adk-python/commit/6bc70a6bab79b679a4b18ad146b3450fb9014475\"\u003e6bc70a6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReplace check of instance for LlmAgent with hasAttribute check (\u003ca href=\"https://github.com/google/adk-python/commit/7110336788662abb8c9bbbb0a53a50cc09130d5e\"\u003e7110336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLog exception details before re-raising in MCP session execution (\u003ca href=\"https://github.com/google/adk-python/commit/de79bf12b564a4eefc7e6a2568dbe0f08bb6efeb\"\u003ede79bf1\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/google/adk-python/commit/6ab87da592e8a297900a1c271e8e4552ae8a97b3\"\u003e\u003ccode\u003e6ab87da\u003c/code\u003e\u003c/a\u003e chore: Add back the request logging in RemoteA2aAgent given the logging was a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b53e6e3567da70d273f8441a91229708501f15cf\"\u003e\u003ccode\u003eb53e6e3\u003c/code\u003e\u003c/a\u003e chore: bump version to 1.14.1 with a patch for A2A logging issue\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/c29d41f0d0eb5e27f05be4618749460d4ee9ac34\"\u003e\u003ccode\u003ec29d41f\u003c/code\u003e\u003c/a\u003e feat: add Spanner similarity_search tool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/0c1f1fadeb5a6357af9cad0eff5d5e7103fc88b0\"\u003e\u003ccode\u003e0c1f1fa\u003c/code\u003e\u003c/a\u003e fix: Fix logging issues with RemoteA2aAgent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/bb148002f8220412ca4e431964cc1ef36bff5f77\"\u003e\u003ccode\u003ebb14800\u003c/code\u003e\u003c/a\u003e fix: Filter out thought parts when saving agent output to state\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/4c00b86e33d51b6a728180d8accb81f7a8aa4fc2\"\u003e\u003ccode\u003e4c00b86\u003c/code\u003e\u003c/a\u003e feat: Provide location config for BigQuery tools\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b3b31a9ffb9cbe618768f2e42378468d28b0519c\"\u003e\u003ccode\u003eb3b31a9\u003c/code\u003e\u003c/a\u003e chore: add a \u003ccode\u003emain.py\u003c/code\u003e script for the ADK docs updater agent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/463dcee58cf47ebf4a31bd2b6edc32583c124bb0\"\u003e\u003ccode\u003e463dcee\u003c/code\u003e\u003c/a\u003e chore: specify the default sides for roll dice agent in bidi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/4f07228f572d129631d88b0ae5b79ceb897ebc86\"\u003e\u003ccode\u003e4f07228\u003c/code\u003e\u003c/a\u003e chore: Move framework filled params to the end in the BigQuery forecast tool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/c53c02f022ec3da74180fa0c71cee572dba7fed0\"\u003e\u003ccode\u003ec53c02f\u003c/code\u003e\u003c/a\u003e chore: add clientIdEnum for CA API usage tracking\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/adk-python/compare/v1.25.1...v1.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `wrapt` from 2.1.1 to 2.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/GrahamDumpleton/wrapt/releases\"\u003ewrapt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ewrapt-2.1.2\u003c/h2\u003e\n\u003cp\u003eSee the project page on the Python Package Index at \u003ca href=\"https://pypi.org/project/wrapt/2.1.2/\"\u003ehttps://pypi.org/project/wrapt/2.1.2/\u003c/a\u003e for more information.\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/GrahamDumpleton/wrapt/blob/develop/docs/changes.rst\"\u003ewrapt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.1.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugs Fixed\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBuilding of Python wheels for riscv64 Linux platform had been accidentally\nremoved from the build configuration. This has now been added back in.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWhen a weak function proxy was created for a bound method and the instance\nit was bound to was garbage collected, calling the proxy would silently\ncall the function as unbound instead of raising a \u003ccode\u003eReferenceError\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWhen deleting an attribute named \u003ccode\u003e__annotations__\u003c/code\u003e on an object proxy, the\nattribute was only being deleted from the proxy and not also from the wrapped\nobject.\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/GrahamDumpleton/wrapt/commit/1381ae82018e7d7709731f3c7dbc1fc7d68fc8af\"\u003e\u003ccode\u003e1381ae8\u003c/code\u003e\u003c/a\u003e Merge branch 'release/2.1.2'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GrahamDumpleton/wrapt/commit/26ab4fd10c6070a069ac4b1f828a7ef14939e7a6\"\u003e\u003ccode\u003e26ab4fd\u003c/code\u003e\u003c/a\u003e Update ready for 2.1.2 release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GrahamDumpleton/wrapt/commit/fbdbef4d383e67e4a3a670f86ff3b7105c6f3855\"\u003e\u003ccode\u003efbdbef4\u003c/code\u003e\u003c/a\u003e Handle pypy which raises different exception type.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GrahamDumpleton/wrapt/commit/87baf75b04a0f3d811db5701ae7eeba1929afa80\"\u003e\u003ccode\u003e87baf75\u003c/code\u003e\u003c/a\u003e Add tests for deletion of qualname and annotations.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GrahamDumpleton/wrapt/commit/b48debf9dda9d280b04bcae732d2076f1533eae8\"\u003e\u003ccode\u003eb48debf\u003c/code\u003e\u003c/a\u003e Decided only needed a patch level update,\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GrahamDumpleton/wrapt/commit/06c698f67316ad974a188f902685c5c3e62ec35b\"\u003e\u003ccode\u003e06c698f\u003c/code\u003e\u003c/a\u003e Update release notes for annotation deletion bug.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GrahamDumpleton/wrapt/commit/6e6ed87be84f5775274d7ce6e6d5ae850f9e4827\"\u003e\u003ccode\u003e6e6ed87\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/GrahamDumpleton/wrapt/issues/313\"\u003e#313\u003c/a\u003e from bysiber/fix/delattr-annotations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GrahamDumpleton/wrapt/commit/4fc2c232c39e88c4705927e96ddcbd729d14982b\"\u003e\u003ccode\u003e4fc2c23\u003c/code\u003e\u003c/a\u003e Add test to call proxy after weakref cleared.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GrahamDumpleton/wrapt/commit/9e53a71271cd75d609a20ac74e1ca7cb9be0ff0c\"\u003e\u003ccode\u003e9e53a71\u003c/code\u003e\u003c/a\u003e Add change notes for ReferenceError fix.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GrahamDumpleton/wrapt/commit/2cda4e6385b3b08827e43c078bb553193a2ff9c9\"\u003e\u003ccode\u003e2cda4e6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/GrahamDumpleton/wrapt/issues/312\"\u003e#312\u003c/a\u003e from bysiber/fix/weakfunctionproxy-expired-instance\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/GrahamDumpleton/wrapt/compare/2.1.1...2.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.15.2 to 0.15.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.6\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-12.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003elazy\u003c/code\u003e import parsing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23755\"\u003e#23755\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for star-unpacking of comprehensions (PEP 798) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23788\"\u003e#23788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject semantic syntax errors for lazy imports (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23757\"\u003e#23757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop a few rules from the preview default set (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23879\"\u003e#23879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Flag \u003ccode\u003eVariable.get()\u003c/code\u003e calls outside of task execution context (\u003ccode\u003eAIR003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23584\"\u003e#23584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Flag runtime-varying values in DAG/task constructor arguments (\u003ccode\u003eAIR304\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23631\"\u003e#23631\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Implement \u003ccode\u003edelattr-with-constant\u003c/code\u003e (\u003ccode\u003eB043\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23737\"\u003e#23737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-tidy-imports\u003c/code\u003e] Add \u003ccode\u003eTID254\u003c/code\u003e to enforce lazy imports (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23777\"\u003e#23777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-tidy-imports\u003c/code\u003e] Allow users to ban lazy imports with \u003ccode\u003eTID254\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23847\"\u003e#23847\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eisort\u003c/code\u003e] Retain \u003ccode\u003elazy\u003c/code\u003e keyword when sorting imports (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23762\"\u003e#23762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Add \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e automatically (\u003ccode\u003eUP006\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23260\"\u003e#23260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Support \u003ccode\u003enewline\u003c/code\u003e parameter in \u003ccode\u003eFURB101\u003c/code\u003e for Python 3.13+ (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23754\"\u003e#23754\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003eos-path-commonprefix\u003c/code\u003e (\u003ccode\u003eRUF071\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23814\"\u003e#23814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add unsafe fix for os-path-commonprefix (\u003ccode\u003eRUF071\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23852\"\u003e#23852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Limit \u003ccode\u003eRUF036\u003c/code\u003e to typing contexts; make it unsafe for non-typing-only (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23765\"\u003e#23765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Use starred unpacking for \u003ccode\u003eRUF017\u003c/code\u003e in Python 3.15+ (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23789\"\u003e#23789\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003e--add-noqa\u003c/code\u003e creating unwanted leading whitespace (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23773\"\u003e#23773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e--add-noqa\u003c/code\u003e breaking shebangs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23577\"\u003e#23577\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[formatter] Fix lambda body formatting for multiline calls and subscripts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23866\"\u003e#23866\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[formatter] Preserve required annotation parentheses in annotated assignments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23865\"\u003e#23865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[formatter] Preserve type-expression parentheses in the formatter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23867\"\u003e#23867\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-annotations\u003c/code\u003e] Fix stack overflow in \u003ccode\u003eANN401\u003c/code\u003e on quoted annotations with escape sequences (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23912\"\u003e#23912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epep8-naming\u003c/code\u003e] Check naming conventions in \u003ccode\u003ematch\u003c/code\u003e pattern bindings (\u003ccode\u003eN806\u003c/code\u003e, \u003ccode\u003eN815\u003c/code\u003e, \u003ccode\u003eN816\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23899\"\u003e#23899\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eperflint\u003c/code\u003e] Fix comment duplication in fixes (\u003ccode\u003ePERF401\u003c/code\u003e, \u003ccode\u003ePERF403\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23729\"\u003e#23729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Properly trigger \u003ccode\u003esuper\u003c/code\u003e change in nested class (\u003ccode\u003eUP008\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22677\"\u003e#22677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Avoid syntax errors in \u003ccode\u003eRUF036\u003c/code\u003e fixes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23764\"\u003e#23764\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Flag \u003ccode\u003eS501\u003c/code\u003e with \u003ccode\u003erequests.request\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23873\"\u003e#23873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-executable\u003c/code\u003e] Fix WSL detection in non-Docker containers (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22879\"\u003e#22879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-print\u003c/code\u003e] Ignore \u003ccode\u003epprint\u003c/code\u003e calls with \u003ccode\u003estream=\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23787\"\u003e#23787\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs for Markdown code block formatting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23871\"\u003e#23871\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Fix misleading description for \u003ccode\u003eB904\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23731\"\u003e#23731\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.6\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-12.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003elazy\u003c/code\u003e import parsing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23755\"\u003e#23755\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for star-unpacking of comprehensions (PEP 798) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23788\"\u003e#23788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject semantic syntax errors for lazy imports (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23757\"\u003e#23757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop a few rules from the preview default set (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23879\"\u003e#23879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Flag \u003ccode\u003eVariable.get()\u003c/code\u003e calls outside of task execution context (\u003ccode\u003eAIR003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23584\"\u003e#23584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Flag runtime-varying values in DAG/task constructor arguments (\u003ccode\u003eAIR304\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23631\"\u003e#23631\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Implement \u003ccode\u003edelattr-with-constant\u003c/code\u003e (\u003ccode\u003eB043\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23737\"\u003e#23737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-tidy-imports\u003c/code\u003e] Add \u003ccode\u003eTID254\u003c/code\u003e to enforce lazy imports (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23777\"\u003e#23777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-tidy-imports\u003c/code\u003e] Allow users to ban lazy imports with \u003ccode\u003eTID254\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23847\"\u003e#23847\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eisort\u003c/code\u003e] Retain \u003ccode\u003elazy\u003c/code\u003e keyword when sorting imports (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23762\"\u003e#23762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Add \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e automatically (\u003ccode\u003eUP006\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23260\"\u003e#23260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Support \u003ccode\u003enewline\u003c/code\u003e parameter in \u003ccode\u003eFURB101\u003c/code\u003e for Python 3.13+ (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23754\"\u003e#23754\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003eos-path-commonprefix\u003c/code\u003e (\u003ccode\u003eRUF071\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23814\"\u003e#23814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add unsafe fix for os-path-commonprefix (\u003ccode\u003eRUF071\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23852\"\u003e#23852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Limit \u003ccode\u003eRUF036\u003c/code\u003e to typing contexts; make it unsafe for non-typing-only (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23765\"\u003e#23765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Use starred unpacking for \u003ccode\u003eRUF017\u003c/code\u003e in Python 3.15+ (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23789\"\u003e#23789\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003e--add-noqa\u003c/code\u003e creating unwanted leading whitespace (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23773\"\u003e#23773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e--add-noqa\u003c/code\u003e breaking shebangs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23577\"\u003e#23577\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[formatter] Fix lambda body formatting for multiline calls and subscripts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23866\"\u003e#23866\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[formatter] Preserve required annotation parentheses in annotated assignments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23865\"\u003e#23865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[formatter] Preserve type-expression parentheses in the formatter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23867\"\u003e#23867\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-annotations\u003c/code\u003e] Fix stack overflow in \u003ccode\u003eANN401\u003c/code\u003e on quoted annotations with escape sequences (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23912\"\u003e#23912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epep8-naming\u003c/code\u003e] Check naming conventions in \u003ccode\u003ematch\u003c/code\u003e pattern bindings (\u003ccode\u003eN806\u003c/code\u003e, \u003ccode\u003eN815\u003c/code\u003e, \u003ccode\u003eN816\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23899\"\u003e#23899\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eperflint\u003c/code\u003e] Fix comment duplication in fixes (\u003ccode\u003ePERF401\u003c/code\u003e, \u003ccode\u003ePERF403\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23729\"\u003e#23729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Properly trigger \u003ccode\u003esuper\u003c/code\u003e change in nested class (\u003ccode\u003eUP008\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22677\"\u003e#22677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Avoid syntax errors in \u003ccode\u003eRUF036\u003c/code\u003e fixes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23764\"\u003e#23764\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Flag \u003ccode\u003eS501\u003c/code\u003e with \u003ccode\u003erequests.request\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23873\"\u003e#23873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-executable\u003c/code\u003e] Fix WSL detection in non-Docker containers (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22879\"\u003e#22879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-print\u003c/code\u003e] Ignore \u003ccode\u003epprint\u003c/code\u003e calls with \u003ccode\u003estream=\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23787\"\u003e#23787\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs for Markdown code block formatting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23871\"\u003e#23871\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Fix misleading description for \u003ccode\u003eB904\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23731\"\u003e#23731\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/...\n\n_Description has been truncated_","html_url":"https://github.com/langchain-ai/langsmith-sdk/pull/2596","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/langchain-ai%2Flangsmith-sdk/issues/2596","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2596/packages"},{"uuid":"4092213780","node_id":"PR_kwDOK8weY87LZcq9","number":503,"state":"closed","title":"deps(pip)(deps): bump the python-minor-patch group with 88 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-25T01:52:18.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-18T01:58:01.000Z","updated_at":"2026-03-25T01:52:20.000Z","time_to_close":604457,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(pip)(deps): bump","group_name":"python-minor-patch","update_count":88,"packages":[{"name":"sse-starlette","old_version":"3.3.2","new_version":"3.3.3","repository_url":"https://github.com/sysid/sse-starlette"},{"name":"uvicorn","old_version":"0.41.0","new_version":"0.42.0"},{"name":"anthropic","old_version":"0.84.0","new_version":"0.85.0"},{"name":"google-ai-generativelanguage","old_version":"0.6.15","new_version":"0.10.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"google-genai","old_version":"1.66.0","new_version":"1.68.0","repository_url":"https://github.com/googleapis/python-genai"},{"name":"llama-index","old_version":"0.12.52","new_version":"0.14.18","repository_url":"https://github.com/run-llama/llama_index"},{"name":"llama-index-core","old_version":"0.12.52.post1","new_version":"0.14.18","repository_url":"https://github.com/run-llama/llama_index"},{"name":"llama-index-embeddings-azure-openai","old_version":"0.3.9","new_version":"0.5.1"},{"name":"llama-index-embeddings-gemini","old_version":"0.3.2","new_version":"0.4.2"},{"name":"llama-index-embeddings-huggingface-api","old_version":"0.3.1","new_version":"0.5.0"},{"name":"llama-index-embeddings-mistralai","old_version":"0.3.0","new_version":"0.5.0"},{"name":"llama-index-embeddings-ollama","old_version":"0.6.0","new_version":"0.9.0"},{"name":"llama-index-indices-managed-llama-cloud","old_version":"0.6.11","new_version":"0.11.0"},{"name":"llama-index-instrumentation","old_version":"0.4.3","new_version":"0.5.0","repository_url":"https://github.com/run-llama/llama_index"},{"name":"llama-index-llms-anthropic","old_version":"0.7.6","new_version":"0.11.1"},{"name":"llama-index-llms-azure-openai","old_version":"0.3.4","new_version":"0.5.1"},{"name":"llama-index-llms-deepseek","old_version":"0.2.0","new_version":"0.3.0"},{"name":"llama-index-llms-gemini","old_version":"0.5.0","new_version":"0.6.2"},{"name":"llama-index-llms-google-genai","old_version":"0.2.6","new_version":"0.8.7"},{"name":"llama-index-llms-huggingface-api","old_version":"0.5.0","new_version":"0.7.0"},{"name":"llama-index-llms-mistralai","old_version":"0.6.1","new_version":"0.10.0.post2"},{"name":"llama-index-llms-ollama","old_version":"0.6.2","new_version":"0.10.0"},{"name":"llama-index-llms-openai","old_version":"0.4.7","new_version":"0.7.2"},{"name":"llama-index-llms-openai-like","old_version":"0.4.0","new_version":"0.7.1"},{"name":"llama-index-llms-perplexity","old_version":"0.3.7","new_version":"0.5.1"},{"name":"llama-index-multi-modal-llms-openai","old_version":"0.5.3","new_version":"0.6.2"},{"name":"llama-index-readers-chatgpt-plugin","old_version":"0.3.0","new_version":"0.5.0"},{"name":"llama-index-readers-database","old_version":"0.4.0","new_version":"0.6.0"},{"name":"llama-index-readers-file","old_version":"0.4.8","new_version":"0.6.0"},{"name":"llama-index-readers-github","old_version":"0.7.0","new_version":"0.11.2"},{"name":"llama-index-readers-google","old_version":"0.6.2.post1","new_version":"0.7.2"},{"name":"llama-index-readers-llama-parse","old_version":"0.4.0","new_version":"0.6.0"},{"name":"llama-index-readers-microsoft-onedrive","old_version":"0.3.0","new_version":"0.5.0"},{"name":"llama-index-readers-twitter","old_version":"0.3.0","new_version":"0.5.0"},{"name":"llama-index-readers-web","old_version":"0.4.5","new_version":"0.6.0"},{"name":"llama-index-utils-huggingface","old_version":"0.3.0","new_version":"0.5.0"},{"name":"onnxruntime","old_version":"1.24.3","new_version":"1.24.4","repository_url":"https://github.com/microsoft/onnxruntime"},{"name":"openai-agents","old_version":"0.3.3","new_version":"0.12.3","repository_url":"https://github.com/openai/openai-agents-python"},{"name":"pygpt-net","old_version":"2.0.154","new_version":"2.7.12","repository_url":"https://github.com/szczyglis-dev/py-gpt"},{"name":"qdrant-client","old_version":"1.17.0","new_version":"1.17.1","repository_url":"https://github.com/qdrant/qdrant-client"},{"name":"azure-core","old_version":"1.38.2","new_version":"1.38.3","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-identity","old_version":"1.25.2","new_version":"1.25.3","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"boto3","old_version":"1.42.66","new_version":"1.42.70","repository_url":"https://github.com/boto/boto3"},{"name":"botocore","old_version":"1.42.66","new_version":"1.42.70","repository_url":"https://github.com/boto/botocore"},{"name":"google-cloud-storage","old_version":"3.4.1","new_version":"3.9.0","repository_url":"https://github.com/googleapis/python-storage"},{"name":"ruff","old_version":"0.15.5","new_version":"0.15.6","repository_url":"https://github.com/astral-sh/ruff"},{"name":"uv","old_version":"0.10.9","new_version":"0.10.11","repository_url":"https://github.com/astral-sh/uv"},{"name":"charset-normalizer","old_version":"3.4.5","new_version":"3.4.6","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"coverage","old_version":"7.13.4","new_version":"7.13.5","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"croniter","old_version":"6.0.0","new_version":"6.2.2","repository_url":"https://github.com/pallets-eco/croniter"},{"name":"cuda-pathfinder","old_version":"1.4.2","new_version":"1.4.3","repository_url":"https://github.com/NVIDIA/cuda-python"},{"name":"gkeepapi","old_version":"0.15.1","new_version":"0.17.1","repository_url":"https://github.com/kiwiz/gkeepapi"},{"name":"google-api-core","old_version":"2.25.2","new_version":"2.30.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"google-api-python-client","old_version":"2.192.0","new_version":"2.193.0","repository_url":"https://github.com/googleapis/google-api-python-client"},{"name":"google-auth","old_version":"2.49.0","new_version":"2.49.1","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"google-auth-httplib2","old_version":"0.2.1","new_version":"0.3.0","repository_url":"https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2"},{"name":"grpcio-status","old_version":"1.71.2","new_version":"1.78.0"},{"name":"hf-xet","old_version":"1.4.0","new_version":"1.4.2","repository_url":"https://github.com/huggingface/xet-core"},{"name":"identify","old_version":"2.6.17","new_version":"2.6.18","repository_url":"https://github.com/pre-commit/identify"},{"name":"langchain-classic","old_version":"1.0.2","new_version":"1.0.3","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langchain-core","old_version":"1.2.18","new_version":"1.2.19","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langchain-openai","old_version":"1.1.9","new_version":"1.1.11","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langgraph","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/langchain-ai/langgraph"},{"name":"langsmith","old_version":"0.7.16","new_version":"0.7.20","repository_url":"https://github.com/langchain-ai/langsmith-sdk"},{"name":"llama-index-cli","old_version":"0.4.4","new_version":"0.5.6"},{"name":"llama-index-embeddings-openai","old_version":"0.3.1","new_version":"0.6.0"},{"name":"mpmath","old_version":"1.3.0","new_version":"1.4.1","repository_url":"https://github.com/mpmath/mpmath"},{"name":"nvidia-cublas-cu12","old_version":"12.8.4.1","new_version":"12.9.1.4"},{"name":"nvidia-cuda-cupti-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"nvidia-cuda-nvrtc-cu12","old_version":"12.8.93","new_version":"12.9.86"},{"name":"nvidia-cuda-runtime-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"nvidia-cudnn-cu12","old_version":"9.10.2.21","new_version":"9.20.0.48"},{"name":"nvidia-cufft-cu12","old_version":"11.3.3.83","new_version":"11.4.1.4"},{"name":"nvidia-cufile-cu12","old_version":"1.13.1.3","new_version":"1.14.1.1"},{"name":"nvidia-curand-cu12","old_version":"10.3.9.90","new_version":"10.3.10.19"},{"name":"nvidia-cusolver-cu12","old_version":"11.7.3.90","new_version":"11.7.5.82"},{"name":"nvidia-cusparse-cu12","old_version":"12.5.8.93","new_version":"12.5.10.65"},{"name":"nvidia-cusparselt-cu12","old_version":"0.7.1","new_version":"0.8.1"},{"name":"nvidia-nccl-cu12","old_version":"2.27.5","new_version":"2.29.7"},{"name":"nvidia-nvjitlink-cu12","old_version":"12.8.93","new_version":"12.9.86"},{"name":"nvidia-nvshmem-cu12","old_version":"3.4.5","new_version":"3.5.21"},{"name":"nvidia-nvtx-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"pyasn1","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/pyasn1/pyasn1"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.42.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"pyjwt","old_version":"2.11.0","new_version":"2.12.1","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"spider-client","old_version":"0.0.27","new_version":"0.1.87","repository_url":"https://github.com/spider-rs/spider-clients"},{"name":"striprtf","old_version":"0.0.26","new_version":"0.0.29","repository_url":"https://github.com/joshy/striprtf"},{"name":"tinysegmenter","old_version":"0.3","new_version":"0.4"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor-patch group with 88 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [sse-starlette](https://github.com/sysid/sse-starlette) | `3.3.2` | `3.3.3` |\n| [uvicorn[standard]](https://github.com/Kludex/uvicorn) | `0.41.0` | `0.42.0` |\n| [anthropic[bedrock,vertex]](https://github.com/anthropics/anthropic-sdk-python) | `0.84.0` | `0.85.0` |\n| [google-ai-generativelanguage](https://github.com/googleapis/google-cloud-python) | `0.6.15` | `0.10.0` |\n| [google-genai](https://github.com/googleapis/python-genai) | `1.66.0` | `1.68.0` |\n| [llama-index](https://github.com/run-llama/llama_index) | `0.12.52` | `0.14.18` |\n| [llama-index-core](https://github.com/run-llama/llama_index) | `0.12.52.post1` | `0.14.18` |\n| llama-index-embeddings-azure-openai | `0.3.9` | `0.5.1` |\n| llama-index-embeddings-gemini | `0.3.2` | `0.4.2` |\n| llama-index-embeddings-huggingface-api | `0.3.1` | `0.5.0` |\n| llama-index-embeddings-mistralai | `0.3.0` | `0.5.0` |\n| llama-index-embeddings-ollama | `0.6.0` | `0.9.0` |\n| llama-index-indices-managed-llama-cloud | `0.6.11` | `0.11.0` |\n| [llama-index-instrumentation](https://github.com/run-llama/llama_index) | `0.4.3` | `0.5.0` |\n| llama-index-llms-anthropic | `0.7.6` | `0.11.1` |\n| llama-index-llms-azure-openai | `0.3.4` | `0.5.1` |\n| llama-index-llms-deepseek | `0.2.0` | `0.3.0` |\n| llama-index-llms-gemini | `0.5.0` | `0.6.2` |\n| llama-index-llms-google-genai | `0.2.6` | `0.8.7` |\n| llama-index-llms-huggingface-api | `0.5.0` | `0.7.0` |\n| llama-index-llms-mistralai | `0.6.1` | `0.10.0.post2` |\n| llama-index-llms-ollama | `0.6.2` | `0.10.0` |\n| llama-index-llms-openai | `0.4.7` | `0.7.2` |\n| llama-index-llms-openai-like | `0.4.0` | `0.7.1` |\n| llama-index-llms-perplexity | `0.3.7` | `0.5.1` |\n| llama-index-multi-modal-llms-openai | `0.5.3` | `0.6.2` |\n| llama-index-readers-chatgpt-plugin | `0.3.0` | `0.5.0` |\n| llama-index-readers-database | `0.4.0` | `0.6.0` |\n| llama-index-readers-file | `0.4.8` | `0.6.0` |\n| llama-index-readers-github | `0.7.0` | `0.11.2` |\n| llama-index-readers-google | `0.6.2.post1` | `0.7.2` |\n| llama-index-readers-llama-parse | `0.4.0` | `0.6.0` |\n| llama-index-readers-microsoft-onedrive | `0.3.0` | `0.5.0` |\n| llama-index-readers-twitter | `0.3.0` | `0.5.0` |\n| llama-index-readers-web | `0.4.5` | `0.6.0` |\n| llama-index-utils-huggingface | `0.3.0` | `0.5.0` |\n| [onnxruntime](https://github.com/microsoft/onnxruntime) | `1.24.3` | `1.24.4` |\n| [openai-agents](https://github.com/openai/openai-agents-python) | `0.3.3` | `0.12.3` |\n| [pygpt-net](https://github.com/szczyglis-dev/py-gpt) | `2.0.154` | `2.7.12` |\n| [qdrant-client](https://github.com/qdrant/qdrant-client) | `1.17.0` | `1.17.1` |\n| [azure-core](https://github.com/Azure/azure-sdk-for-python) | `1.38.2` | `1.38.3` |\n| [azure-identity](https://github.com/Azure/azure-sdk-for-python) | `1.25.2` | `1.25.3` |\n| [boto3](https://github.com/boto/boto3) | `1.42.66` | `1.42.70` |\n| [botocore](https://github.com/boto/botocore) | `1.42.66` | `1.42.70` |\n| [google-cloud-storage](https://github.com/googleapis/python-storage) | `3.4.1` | `3.9.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.5` | `0.15.6` |\n| [uv](https://github.com/astral-sh/uv) | `0.10.9` | `0.10.11` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.5` | `3.4.6` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.13.4` | `7.13.5` |\n| [croniter](https://github.com/pallets-eco/croniter) | `6.0.0` | `6.2.2` |\n| [cuda-pathfinder](https://github.com/NVIDIA/cuda-python) | `1.4.2` | `1.4.3` |\n| [gkeepapi](https://github.com/kiwiz/gkeepapi) | `0.15.1` | `0.17.1` |\n| [google-api-core](https://github.com/googleapis/google-cloud-python) | `2.25.2` | `2.30.0` |\n| [google-api-python-client](https://github.com/googleapis/google-api-python-client) | `2.192.0` | `2.193.0` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.49.0` | `2.49.1` |\n| [google-auth-httplib2](https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2) | `0.2.1` | `0.3.0` |\n| [grpcio-status](https://grpc.io) | `1.71.2` | `1.78.0` |\n| [hf-xet](https://github.com/huggingface/xet-core) | `1.4.0` | `1.4.2` |\n| [identify](https://github.com/pre-commit/identify) | `2.6.17` | `2.6.18` |\n| [langchain-classic](https://github.com/langchain-ai/langchain) | `1.0.2` | `1.0.3` |\n| [langchain-core](https://github.com/langchain-ai/langchain) | `1.2.18` | `1.2.19` |\n| [langchain-openai](https://github.com/langchain-ai/langchain) | `1.1.9` | `1.1.11` |\n| [langgraph](https://github.com/langchain-ai/langgraph) | `1.1.1` | `1.1.2` |\n| [langsmith](https://github.com/langchain-ai/langsmith-sdk) | `0.7.16` | `0.7.20` |\n| llama-index-cli | `0.4.4` | `0.5.6` |\n| llama-index-embeddings-openai | `0.3.1` | `0.6.0` |\n| [mpmath](https://github.com/mpmath/mpmath) | `1.3.0` | `1.4.1` |\n| [nvidia-cublas-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.4.1` | `12.9.1.4` |\n| [nvidia-cuda-cupti-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [nvidia-cuda-nvrtc-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.93` | `12.9.86` |\n| [nvidia-cuda-runtime-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [nvidia-cudnn-cu12](https://developer.nvidia.com/cuda-zone) | `9.10.2.21` | `9.20.0.48` |\n| [nvidia-cufft-cu12](https://developer.nvidia.com/cuda-zone) | `11.3.3.83` | `11.4.1.4` |\n| [nvidia-cufile-cu12](https://developer.nvidia.com/cuda-zone) | `1.13.1.3` | `1.14.1.1` |\n| [nvidia-curand-cu12](https://developer.nvidia.com/cuda-zone) | `10.3.9.90` | `10.3.10.19` |\n| [nvidia-cusolver-cu12](https://developer.nvidia.com/cuda-zone) | `11.7.3.90` | `11.7.5.82` |\n| [nvidia-cusparse-cu12](https://developer.nvidia.com/cuda-zone) | `12.5.8.93` | `12.5.10.65` |\n| [nvidia-cusparselt-cu12](https://developer.nvidia.com/cusparselt) | `0.7.1` | `0.8.1` |\n| [nvidia-nccl-cu12](https://developer.nvidia.com/cuda-zone) | `2.27.5` | `2.29.7` |\n| [nvidia-nvjitlink-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.93` | `12.9.86` |\n| [nvidia-nvshmem-cu12](https://developer.nvidia.com/cuda-zone) | `3.4.5` | `3.5.21` |\n| [nvidia-nvtx-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [pyasn1](https://github.com/pyasn1/pyasn1) | `0.6.2` | `0.6.3` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.41.5` | `2.42.0` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.11.0` | `2.12.1` |\n| [spider-client](https://github.com/spider-rs/spider-clients) | `0.0.27` | `0.1.87` |\n| [striprtf](https://github.com/joshy/striprtf) | `0.0.26` | `0.0.29` |\n| [tinysegmenter](http://tinysegmenter.tuxfamily.org/) | `0.3` | `0.4` |\n\nUpdates `sse-starlette` from 3.3.2 to 3.3.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sysid/sse-starlette/releases\"\u003esse-starlette's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.3.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump astral-sh/setup-uv from 6 to 7 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/sysid/sse-starlette/pull/172\"\u003esysid/sse-starlette#172\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump pyopenssl from 25.3.0 to 26.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/sysid/sse-starlette/pull/174\"\u003esysid/sse-starlette#174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump pyasn1 from 0.6.2 to 0.6.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/sysid/sse-starlette/pull/175\"\u003esysid/sse-starlette#175\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/v0.0.0...v3.3.3\"\u003ehttps://github.com/sysid/sse-starlette/compare/v0.0.0...v3.3.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/sysid/sse-starlette/commit/5f845398db25a50889ef7a0f8214aa931aed7ac0\"\u003e\u003ccode\u003e5f84539\u003c/code\u003e\u003c/a\u003e Bump version to 3.3.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/7e35672ef9f868f1810ee899ee70e3556b06a97c\"\u003e\u003ccode\u003e7e35672\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/sysid/sse-starlette/issues/175\"\u003e#175\u003c/a\u003e from sysid/dependabot/uv/pyasn1-0.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/92a985576feb070b9d5ba8e50c2cf9de694fe0fb\"\u003e\u003ccode\u003e92a9855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/sysid/sse-starlette/issues/174\"\u003e#174\u003c/a\u003e from sysid/dependabot/uv/pyopenssl-26.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/a87b685a2a1022056f565221a64c54cf34bb5128\"\u003e\u003ccode\u003ea87b685\u003c/code\u003e\u003c/a\u003e chore(deps): bump pyasn1 from 0.6.2 to 0.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/3628ccacb3f28f45cb7135b910fe999831501a2f\"\u003e\u003ccode\u003e3628cca\u003c/code\u003e\u003c/a\u003e chore(deps): bump pyopenssl from 25.3.0 to 26.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/6ff6afd2fee28c7484095cd229d623b58920ad02\"\u003e\u003ccode\u003e6ff6afd\u003c/code\u003e\u003c/a\u003e updated documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/0bfac66db35a342068a90bd749dbbcb90a9ed4a5\"\u003e\u003ccode\u003e0bfac66\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/sysid/sse-starlette/issues/172\"\u003e#172\u003c/a\u003e from sysid/dependabot/github_actions/astral-sh/setup-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/3e45174272fe4b132f51d718a0f88b6b74e17032\"\u003e\u003ccode\u003e3e45174\u003c/code\u003e\u003c/a\u003e chore(deps): bump astral-sh/setup-uv from 6 to 7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/37319e8ca3adcf529a48684407ca639a0c80cd78\"\u003e\u003ccode\u003e37319e8\u003c/code\u003e\u003c/a\u003e fix: allow docker tests run in sandbox\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sysid/sse-starlette/compare/v3.3.2...v3.3.3\"\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.41.0 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.42.0\u003c/h2\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003ebytearray\u003c/code\u003e for request body accumulation to avoid O(n^2) allocation on fragmented bodies (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2845\"\u003e#2845\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEscape brackets and backslash in httptools \u003ccode\u003eHEADER_RE\u003c/code\u003e regex (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2824\"\u003e#2824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix multiple issues in websockets sans-io implementation (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2825\"\u003e#2825\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/bysiber\"\u003e\u003ccode\u003e@​bysiber\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2825\"\u003eKludex/uvicorn#2825\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.41.0...0.42.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.41.0...0.42.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[standard]'s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.42.0 (March 16, 2026)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003ebytearray\u003c/code\u003e for request body accumulation to avoid O(n^2) allocation on fragmented bodies (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2845\"\u003e#2845\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEscape brackets and backslash in httptools \u003ccode\u003eHEADER_RE\u003c/code\u003e regex (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2824\"\u003e#2824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix multiple issues in websockets sans-io implementation (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2825\"\u003e#2825\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/02bed6f8c38e74f684bb0e572977a9bfdc1f6fea\"\u003e\u003ccode\u003e02bed6f\u003c/code\u003e\u003c/a\u003e Version 0.42.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2852\"\u003e#2852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/d8f25013161d8206e129e39bf48432d3a85e1744\"\u003e\u003ccode\u003ed8f2501\u003c/code\u003e\u003c/a\u003e chore: pre-create Config objects in benchmarks to measure protocol hot paths ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9dbb7836bb0fdb446d083ecd8dc5a2a95bb96b98\"\u003e\u003ccode\u003e9dbb783\u003c/code\u003e\u003c/a\u003e Add WebSocket protocol benchmarks for wsproto and websockets-sansio (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2849\"\u003e#2849\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/b3c69da8c1a36e1834e614abe38243671e156077\"\u003e\u003ccode\u003eb3c69da\u003c/code\u003e\u003c/a\u003e Use bytearray for request body accumulation (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2845\"\u003e#2845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/3f3ebee20f46504a3f7279dd72f9c24ce9070b11\"\u003e\u003ccode\u003e3f3ebee\u003c/code\u003e\u003c/a\u003e Disable \u003ccode\u003epytest-xdist\u003c/code\u003e for CodSpeed benchmark runs (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2847\"\u003e#2847\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/d072de754f825bee4710363dd49d41efd5285dcc\"\u003e\u003ccode\u003ed072de7\u003c/code\u003e\u003c/a\u003e Add fragmented body benchmark for chunked body accumulation (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2846\"\u003e#2846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/e300c2c75d71bea6f8d1799ca6f182f1e5583aaa\"\u003e\u003ccode\u003ee300c2c\u003c/code\u003e\u003c/a\u003e Add CodSpeed benchmark suite for HTTP protocol hot paths (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2844\"\u003e#2844\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/1fa697651bacf10d72f74de104ead814ce6fcdc0\"\u003e\u003ccode\u003e1fa6976\u003c/code\u003e\u003c/a\u003e Escape brackets and backslash in httptools HEADER_RE regex (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2824\"\u003e#2824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/59ec1de7a4f07afbd139812f033f3af8b784de74\"\u003e\u003ccode\u003e59ec1de\u003c/code\u003e\u003c/a\u003e Fix multiple issues in websockets sansio implementation (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2825\"\u003e#2825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/2fc0efcdd958abd3adbe6ea19682408d6b2e1b18\"\u003e\u003ccode\u003e2fc0efc\u003c/code\u003e\u003c/a\u003e Clarify Windows asyncio event loop selection in docs (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2843\"\u003e#2843\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.41.0...0.42.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `anthropic[bedrock,vertex]` from 0.84.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[bedrock,vertex]'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\u003c/blockquote\u003e\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[bedrock,vertex]'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\u003c/blockquote\u003e\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.84.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 `google-ai-generativelanguage` from 0.6.15 to 0.10.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/releases\"\u003egoogle-ai-generativelanguage's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-geminidataanalytics 0.10.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-geminidataanalytics-v0.9.0...google-cloud-geminidataanalytics-v0.10.0\"\u003e0.10.0\u003c/a\u003e (2026-02-04)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ClarificationMessage, thought-signature, formatted-data (PiperOrigin-RevId: 863524449) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/fe0a0b46\"\u003efe0a0b46\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for enum value THOUGHT in enum TextType is changed (PiperOrigin-RevId: 863524449) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/fe0a0b46\"\u003efe0a0b46\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-cloud-netapp 0.7.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-netapp-v0.6.0...google-cloud-netapp-v0.7.0\"\u003e0.7.0\u003c/a\u003e (2026-01-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate NetApp v1 API with Host Groups, Block Volumes, Cache Volumes, and Backup Restore This CL introduces several new features and enhancements to the NetApp API: - \u003cstrong\u003eHost Groups:\u003c/strong\u003e Added a new \u003ccode\u003eHostGroup\u003c/code\u003e resource to manage collections of hosts for Block Volume access. Includes full CRUD operations. - \u003cstrong\u003eBlock Volumes:\u003c/strong\u003e Enhanced the \u003ccode\u003eVolume\u003c/code\u003e resource to support \u003ccode\u003eISCSI\u003c/code\u003e protocol and \u003ccode\u003eBlockDevice\u003c/code\u003e configurations. - \u003cstrong\u003eCache Volumes:\u003c/strong\u003e Added \u003ccode\u003eCacheParameters\u003c/code\u003e to the \u003ccode\u003eVolume\u003c/code\u003e resource to support FlexCache volumes. - \u003cstrong\u003eBackup Restore:\u003c/strong\u003e Introduced a new \u003ccode\u003eRestoreBackupFiles\u003c/code\u003e RPC to restore individual files from a backup. - \u003cstrong\u003eCMEK for Backup Vaults:\u003c/strong\u003e Added fields to \u003ccode\u003eBackupVault\u003c/code\u003e to support Customer Managed Encryption Keys (CMEK). - \u003cstrong\u003eStorage Pool Type:\u003c/strong\u003e Added a \u003ccode\u003etype\u003c/code\u003e field to \u003ccode\u003eStoragePool\u003c/code\u003e to specify support for FILE, UNIFIED, or UNIFIED_LARGE_CAPACITY volumes. -   \u003cstrong\u003eLocation Metadata:\u003c/strong\u003e Added \u003ccode\u003ehas_ontap_proxy\u003c/code\u003e flag. -   Updated copyright year to 2026. (PiperOrigin-RevId: 856056649) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-cloud-geminidataanalytics 0.9.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-geminidataanalytics-v0.8.0...google-cloud-geminidataanalytics-v0.9.0\"\u003e0.9.0\u003c/a\u003e (2026-01-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadded sync APIs for the CRUD operations of Data Agent (PiperOrigin-RevId: 855534426) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-cloud-backupdr 0.7.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-backupdr-v0.6.0...google-cloud-backupdr-v0.7.0\"\u003e0.7.0\u003c/a\u003e (2026-01-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eA new message \u003ccode\u003eBackupConfigDetails\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new resource_definition \u003ccode\u003ebackupdr.googleapis.com/ResourceBackupConfig\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new message \u003ccode\u003ePitrSettings\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new message \u003ccode\u003eBackupLocation\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new message \u003ccode\u003eListResourceBackupConfigsResponse\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new message \u003ccode\u003eResourceBackupConfig\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new message \u003ccode\u003eListResourceBackupConfigsRequest\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new service \u003ccode\u003eBackupDrProtectionSummary\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new message \u003ccode\u003eBackupDrTemplateConfig\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new message \u003ccode\u003eBackupDrPlanConfig\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\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/googleapis/google-cloud-python/commit/c60ded47847b04b2536f19c1610b5592b7952d6a\"\u003e\u003ccode\u003ec60ded4\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260108T181058Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15005\"\u003e#15005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/c0e3e9d221c3b8cd6d99503fadbb8e643db1e325\"\u003e\u003ccode\u003ec0e3e9d\u003c/code\u003e\u003c/a\u003e chore: disable treat warnings as errors (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/45d4cee9e0e48a209b2d9292be29a15125548458\"\u003e\u003ccode\u003e45d4cee\u003c/code\u003e\u003c/a\u003e docs(samples): Update BigQuery Storage Arrow samples batching logic (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14961\"\u003e#14961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/45149baca6064be265db1b653abb405c298a2b41\"\u003e\u003ccode\u003e45149ba\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260108T162506Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15001\"\u003e#15001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/d58a9ba338df3df1afca11e155fe449c32631179\"\u003e\u003ccode\u003ed58a9ba\u003c/code\u003e\u003c/a\u003e test: Add 'cryptography' 'cachetools' to test deps for bigquery-storage (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14999\"\u003e#14999\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/10289465a87988b9bf35a85893f26ea372ad717b\"\u003e\u003ccode\u003e1028946\u003c/code\u003e\u003c/a\u003e feat: add v1 api for google-cloud-maintenance-api (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14998\"\u003e#14998\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/b3cb4de3ce50c3ec55af2b132d756252a32641f3\"\u003e\u003ccode\u003eb3cb4de\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260107T084051Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14995\"\u003e#14995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/17cc12897e6afdf3f3131531c50a8226a3f57c0f\"\u003e\u003ccode\u003e17cc128\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20251231T091651Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14991\"\u003e#14991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/c353aa5bcc937ef9399c8efc90492dadbcf01aa2\"\u003e\u003ccode\u003ec353aa5\u003c/code\u003e\u003c/a\u003e chore: librarian update image pull request: 20251219T024955Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14985\"\u003e#14985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/f38453832a2bb0226c389c30df13d072d1642377\"\u003e\u003ccode\u003ef384538\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20251217T215552Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-ai-generativelanguage-v0.6.15...google-ai-generativelanguage-v0.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-genai` from 1.66.0 to 1.68.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-genai/releases\"\u003egoogle-genai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.68.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.67.0...v1.68.0\"\u003e1.68.0\u003c/a\u003e (2026-03-17)\u003c/h2\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Interactions] Breaking change to Interactions API to refactor TextContent annotations to use specific citation types (\u003ca href=\"https://github.com/googleapis/python-genai/commit/6c3379faa5e533d4146eee1b3c88ed80bbff46ce\"\u003e6c3379f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Interactions] Breaking change for Interactions, rename ContentDelta unions. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1b03909ac8367205a2f0dd46847a0f6d36fb62fd\"\u003e1b03909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Interactions] Breaking change to Interactions API to rename rendered_content to search_suggestions (\u003ca href=\"https://github.com/googleapis/python-genai/commit/0e21c4ef3234fe195793711b8eb90354e154339f\"\u003e0e21c4e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Interactions] Add and update 'signature' fields for tool call/result content types. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/d89637383f2c2ca28bef22f65dfbe56cd1f878cc\"\u003ed896373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Interactions] Support Google Maps in Interactions (\u003ca href=\"https://github.com/googleapis/python-genai/commit/68f247c04af99915b946f04806f3b0a0543180fa\"\u003e68f247c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport include_server_side_tool_invocations for genai. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/546440c9f56118c8d27005f2d5b935603e50454e\"\u003e546440c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e Correct typing-extensions constraint (1.67 Issue)[https://github.com/googleapis/python-genai/releases/tag/v1.67.0] (\u003ca href=\"https://github.com/googleapis/python-genai/commit/9a4fd3983ac093fd9e197099ab970bd89a5a6a56\"\u003e9a4fd39\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePython 3.10-3.11 breakage caused by \u003ca href=\"https://redirect.github.com/googleapis/python-genai/pull/2131\"\u003egoogleapis/python-genai#2131\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/python-genai/commit/9a4fd3983ac093fd9e197099ab970bd89a5a6a56\"\u003e9a4fd39\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003eattempts=0\u003c/code\u003e as \u003ccode\u003eattempts=1\u003c/code\u003e in retry options to ensure no retries (\u003ca href=\"https://github.com/googleapis/python-genai/commit/2856c0ac76eb51b9171a6bd1626b5f6e63bf4a31\"\u003e2856c0a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerate docs for 1.67.0 (\u003ca href=\"https://github.com/googleapis/python-genai/commit/ff7469a99a931b8415f214c8f711fc4e93422f09\"\u003eff7469a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.67.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.66.0...v1.67.0\"\u003e1.67.0\u003c/a\u003e (2026-03-12)\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!CAUTION]\n\u003cstrong\u003eKnown Issue:\u003c/strong\u003e\nThis release contains a bug where the \u003ccode\u003etyping-extensions\u003c/code\u003e lower bound is set too low, which causes the SDK to break in some environments.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eRecommended Actions:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFall back to 1.66.0:\u003c/strong\u003e If you do not immediately need the new features in 1.67.0, we recommend sticking with the previous stable version:\n\u003ccode\u003epip install google-genai==1.66.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eManual Fix:\u003c/strong\u003e If you must use 1.67.0, you can resolve the issue by manually upgrading \u003ccode\u003etyping-extensions\u003c/code\u003e:\n\u003ccode\u003epip install \u0026quot;typing-extensions\u0026gt;=4.14.0\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd inference_generation_config to EvaluationConfig for Tuning (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1fdb4b87aaec6e58b415168ea5893c0e901819a9\"\u003e1fdb4b8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd live history_config with initial_history_in_client_content (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a80babd22d195d82881cdda0a2c0d5cdefd9573d\"\u003ea80babd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for referencing registered metrics by resource name in evaluation run API (\u003ca href=\"https://github.com/googleapis/python-genai/commit/41b348ed7a5b3a817861e56ccd01251dc65859d3\"\u003e41b348e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnable language code for audio transcription config in Live API for Vertex AI (\u003ca href=\"https://github.com/googleapis/python-genai/commit/c04be0db2b65506ba0ad3e1b0922ec871df1580b\"\u003ec04be0d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-genai/blob/main/CHANGELOG.md\"\u003egoogle-genai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.67.0...v1.68.0\"\u003e1.68.0\u003c/a\u003e (2026-03-17)\u003c/h2\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Interactions] Breaking change to Interactions API to refactor TextContent annotations to use specific citation types (\u003ca href=\"https://github.com/googleapis/python-genai/commit/6c3379faa5e533d4146eee1b3c88ed80bbff46ce\"\u003e6c3379f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Interactions] Breaking change for Interactions, rename ContentDelta unions. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1b03909ac8367205a2f0dd46847a0f6d36fb62fd\"\u003e1b03909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Interactions] Breaking change to Interactions API to rename rendered_content to search_suggestions (\u003ca href=\"https://github.com/googleapis/python-genai/commit/0e21c4ef3234fe195793711b8eb90354e154339f\"\u003e0e21c4e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Interactions] Add and update 'signature' fields for tool call/result content types. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/d89637383f2c2ca28bef22f65dfbe56cd1f878cc\"\u003ed896373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Interactions] Support Google Maps in Interactions (\u003ca href=\"https://github.com/googleapis/python-genai/commit/68f247c04af99915b946f04806f3b0a0543180fa\"\u003e68f247c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport include_server_side_tool_invocations for genai. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/546440c9f56118c8d27005f2d5b935603e50454e\"\u003e546440c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e Correct typing-extensions constraint (1.67 Issue)[https://github.com/googleapis/python-genai/releases/tag/v1.67.0] (\u003ca href=\"https://github.com/googleapis/python-genai/commit/9a4fd3983ac093fd9e197099ab970bd89a5a6a56\"\u003e9a4fd39\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePython 3.10-3.11 breakage caused by \u003ca href=\"https://redirect.github.com/googleapis/python-genai/pull/2131\"\u003egoogleapis/python-genai#2131\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/python-genai/commit/9a4fd3983ac093fd9e197099ab970bd89a5a6a56\"\u003e9a4fd39\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003eattempts=0\u003c/code\u003e as \u003ccode\u003eattempts=1\u003c/code\u003e in retry options to ensure no retries (\u003ca href=\"https://github.com/googleapis/python-genai/commit/2856c0ac76eb51b9171a6bd1626b5f6e63bf4a31\"\u003e2856c0a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerate docs for 1.67.0 (\u003ca href=\"https://github.com/googleapis/python-genai/commit/ff7469a99a931b8415f214c8f711fc4e93422f09\"\u003eff7469a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.66.0...v1.67.0\"\u003e1.67.0\u003c/a\u003e (2026-03-12)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd inference_generation_config to EvaluationConfig for Tuning (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1fdb4b87aaec6e58b415168ea5893c0e901819a9\"\u003e1fdb4b8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd live history_config with initial_history_in_client_content (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a80babd22d195d82881cdda0a2c0d5cdefd9573d\"\u003ea80babd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for referencing registered metrics by resource name in evaluation run API (\u003ca href=\"https://github.com/googleapis/python-genai/commit/41b348ed7a5b3a817861e56ccd01251dc65859d3\"\u003e41b348e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnable language code for audio transcription config in Live API for Vertex AI (\u003ca href=\"https://github.com/googleapis/python-genai/commit/c04be0db2b65506ba0ad3e1b0922ec871df1580b\"\u003ec04be0d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eForward http_options in async_request_streamed to enable retry support (\u003ca href=\"https://github.com/googleapis/python-genai/commit/8b3be8744065ad1fa96484fcc2910842a7414a32\"\u003e8b3be87\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eForward http_options in async_request_streamed to enable retry support (\u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/2097\"\u003e#2097\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-genai/commit/8b10efb0349bcf64599405a48325f4415aa7eaad\"\u003e8b10efb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/8404ae27d3d176b9555e9825d55f7ed3c07e985b\"\u003e\u003ccode\u003e8404ae2\u003c/code\u003e\u003c/a\u003e chore(main): release 1.68.0 (\u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/2157\"\u003e#2157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/546440c9f56118c8d27005f2d5b935603e50454e\"\u003e\u003ccode\u003e546440c\u003c/code\u003e\u003c/a\u003e feat: Support include_server_side_tool_invocations for genai.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/be8cd494f2380b43a0480c61bbc020f4bb8dea7b\"\u003e\u003ccode\u003ebe8cd49\u003c/code\u003e\u003c/a\u003e chore: internal change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/2856c0ac76eb51b9171a6bd1626b5f6e63bf4a31\"\u003e\u003ccode\u003e2856c0a\u003c/code\u003e\u003c/a\u003e fix: Treat \u003ccode\u003eattempts=0\u003c/code\u003e as \u003ccode\u003eattempts=1\u003c/code\u003e in retry options to ensure no retries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/6c3379faa5e533d4146eee1b3c88ed80bbff46ce\"\u003e\u003ccode\u003e6c3379f\u003c/code\u003e\u003c/a\u003e feat: Breaking change to Interactions API to refactor TextContent annotations...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/d89637383f2c2ca28bef22f65dfbe56cd1f878cc\"\u003e\u003ccode\u003ed896373\u003c/code\u003e\u003c/a\u003e feat: Add and update 'signature' fields for tool call/result content types.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/1a51d1a0238efb5dc9a5c43d76c56706218f3162\"\u003e\u003ccode\u003e1a51d1a\u003c/code\u003e\u003c/a\u003e chore: Maintain backward-compatible field ordering in generated data types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/68f247c04af99915b946f04806f3b0a0543180fa\"\u003e\u003ccode\u003e68f247c\u003c/code\u003e\u003c/a\u003e feat: Support Google Maps in Interactions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/0e21c4ef3234fe195793711b8eb90354e154339f\"\u003e\u003ccode\u003e0e21c4e\u003c/code\u003e\u003c/a\u003e fix: Breaking change to Interactions API to rename rendered_content to search...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/ff7469a99a931b8415f214c8f711fc4e93422f09\"\u003e\u003ccode\u003eff7469a\u003c/code\u003e\u003c/a\u003e docs: Regenerate docs for 1.67.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.66.0...v1.68.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `llama-index` from 0.12.52 to 0.14.18\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/run-llama/llama_index/releases\"\u003ellama-index's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.18\u003c/h2\u003e\n\u003ch1\u003eRelease Notes\u003c/h1\u003e\n\u003ch2\u003e[2026-03-16]\u003c/h2\u003e\n\u003ch3\u003ellama-index-agent-agentmesh [0.2.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-agent-azure [0.3.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-agentops [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-argilla [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-arize-phoenix [0.7.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-honeyhive [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump the uv group across 51 directories with 3 updates (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20962\"\u003e#20962\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-langfuse [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-literalai [1.4.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-openinference [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-opik [1.3.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-promptlayer [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\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/run-llama/llama_index/blob/main/CHANGELOG.md\"\u003ellama-index's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ellama-index-core [0.14.18]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: align text match filters across core and vector backends (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20883\"\u003e#20883\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(chat_engine): preserve chat history on incomplete stream consumption (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20897\"\u003e#20897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: guard against ZeroDivisionError in LlamaDebugHandler._get_time_stats_from_event_pairs (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20937\"\u003e#20937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add stacklevel=2 to warnings.warn() for accurate caller reporting (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20939\"\u003e#20939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRelease 0.14.17 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20957\"\u003e#20957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump the uv group across 51 directories with 3 updates (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20962\"\u003e#20962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use \u003ccode\u003eapostprocess_nodes()\u003c/code\u003e in async retrieval paths (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20974\"\u003e#20974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix (test) : use \u0026gt;= 1 to avoid racy \u003ccode\u003estream_chat\u003c/code\u003e memory assertion (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20980\"\u003e#20980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(core): preserve response metadata in \u003ccode\u003easync _aretrieve_from_object\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20995\"\u003e#20995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: preserve non-ASCII schema descriptions in \u003ccode\u003ePydanticOutputParser\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21016\"\u003e#21016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump the uv group across 42 directories with 2 updates (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21020\"\u003e#21020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(core): structured_predict() returns default values for single-field models (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21025\"\u003e#21025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix openai mimetype guess (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21030\"\u003e#21030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-adapter [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-alephalpha [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-alibabacloud-aisearch [0.4.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-anyscale [0.5.1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003evbump all the things (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20978\"\u003e#20978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-autoembeddings [0.3.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-azure-inference [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-azure-openai [0.5.1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003evbump all the things (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20978\"\u003e#20978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-baseten [0.2.1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\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/run-llama/llama_index/commit/61bc305e93fc773c587d273d60bb5c539aeddc99\"\u003e\u003ccode\u003e61bc305\u003c/code\u003e\u003c/a\u003e Release 0.14.18 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21032\"\u003e#21032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/db6f8dfff02f707c2a703f412c84d92cca8900c7\"\u003e\u003ccode\u003edb6f8df\u003c/code\u003e\u003c/a\u003e fix(core): structured_predict() returns default values for single-field model...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/26b15b1f9c83dcc02761ae7001bc715f8d3ea58d\"\u003e\u003ccode\u003e26b15b1\u003c/code\u003e\u003c/a\u003e Bugfix: Pydantic validation error in AnthropicCompletionResponse (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21027\"\u003e#21027\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/c3effd0674eb2c7cea73d3543b7a20fab55b3d5f\"\u003e\u003ccode\u003ec3effd0\u003c/code\u003e\u003c/a\u003e fix openai mimetype guess (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21030\"\u003e#21030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/41bb29ce0396389c3628373b18e7bbeeddf17ef6\"\u003e\u003ccode\u003e41bb29c\u003c/code\u003e\u003c/a\u003e fix: correct typo 'compatability' to 'compatibility' in Solr client (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21029\"\u003e#21029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/8b9ca048b8a27a252b05408e275804d111defe81\"\u003e\u003ccode\u003e8b9ca04\u003c/code\u003e\u003c/a\u003e feat(postprocessor): add Google Discovery Engine rerank integration (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20893\"\u003e#20893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/2f10566fa9553c5dba27c99dbad5b31d6cd09e65\"\u003e\u003ccode\u003e2f10566\u003c/code\u003e\u003c/a\u003e feat(google-tools): support service account and cloud auth for Calendar and G...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/17dffad4808c7372d206c8af5bc56910a8d540b9\"\u003e\u003ccode\u003e17dffad\u003c/code\u003e\u003c/a\u003e fix: preserve non-ASCII schema descriptions in \u003ccode\u003ePydanticOutputParser\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21016\"\u003e#21016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/3c418ea2800425ca09ad12ff91d5925e4d230a2f\"\u003e\u003ccode\u003e3c418ea\u003c/code\u003e\u003c/a\u003e fix: use \u003ccode\u003eapostprocess_nodes()\u003c/code\u003e in async retrieval paths (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20974\"\u003e#20974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/ccdf31b08b686b3763e18fe1961fb82365635ec0\"\u003e\u003ccode\u003eccdf31b\u003c/code\u003e\u003c/a\u003e fix(core): preserve response metadata in \u003ccode\u003easync _aretrieve_from_object\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20995\"\u003e#20995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/run-llama/llama_index/compare/v0.12.52...v0.14.18\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `llama-index-core` from 0.12.52.post1 to 0.14.18\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/run-llama/llama_index/releases\"\u003ellama-index-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.18\u003c/h2\u003e\n\u003ch1\u003eRelease Notes\u003c/h1\u003e\n\u003ch2\u003e[2026-03-16]\u003c/h2\u003e\n\u003ch3\u003ellama-index-agent-agentmesh [0.2.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-agent-azure [0.3.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-agentops [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-argilla [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-arize-phoenix [0.7.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-honeyhive [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump the uv group across 51 directories with 3 updates (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20962\"\u003e#20962\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-langfuse [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-literalai [1.4.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-openinference [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-opik [1.3.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-promptlayer [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\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/run-llama/llama_index/blob/main/CHANGELOG.md\"\u003ellama-index-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ellama-index-core [0.14.18]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: align text match filters across core and vector backends (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20883\"\u003e#20883\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(chat_engine): preserve chat history on incomplete stream consumption (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20897\"\u003e#20897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: guard against ZeroDivisionError in LlamaDebugHandler._get_time_stats_from_event_pairs (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20937\"\u003e#20937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add stacklevel=2 to warnings.warn() for accurate caller reporting (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20939\"\u003e#20939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRelease 0.14.17 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20957\"\u003e#20957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump the uv group across 51 directories with 3 updates (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20962\"\u003e#20962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use \u003ccode\u003eapostprocess_nodes()\u003c/code\u003e in async retrieval paths (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20974\"\u003e#20974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix (test) : use \u0026gt;= 1 to avoid racy \u003ccode\u003estream_chat\u003c/code\u003e memory assertion (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20980\"\u003e#20980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(core): preserve response metadata in \u003ccode\u003easync _aretrieve_from_object\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20995\"\u003e#20995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: preserve non-ASCII schema descriptions in \u003ccode\u003ePydanticOutputParser\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21016\"\u003e#21016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump the uv group across 42 directories with 2 updates (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21020\"\u003e#21020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(core): structured_predict() returns default values for single-field models (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21025\"\u003e#21025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix openai mimetype guess (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21030\"\u003e#21030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-adapter [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-alephalpha [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-alibabacloud-aisearch [0.4.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-anyscale [0.5.1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003evbump all the things (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20978\"\u003e#20978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-autoembeddings [0.3.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-azure-inference [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-azure-openai [0.5.1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003evbump all the things (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20978\"\u003e#20978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-baseten [0.2.1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\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/run-llama/llama_index/commit/61bc305e93fc773c587d273d60bb5c539aeddc99\"\u003e\u003ccode\u003e61bc305\u003c/code\u003e\u003c/a\u003e Release 0.14.18 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21032\"\u003e#21032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/db6f8dfff02f707c2a703f412c84d92cca8900c7\"\u003e\u003ccode\u003edb6f8df\u003c/code\u003e\u003c/a\u003e fix(core): structured_predict() returns default values for single-field model...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/26b15b1f9c83dcc02761ae7001bc715f8d3ea58d\"\u003e\u003ccode\u003e26b15b1\u003c/code\u003e\u003c/a\u003e Bugfix: Pydantic validation error in AnthropicCompletionResponse (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21027\"\u003e#21027\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/c3effd0674eb2c7cea73d3543b7a20fab55b3d5f\"\u003e\u003ccode\u003ec3effd0\u003c/code\u003e\u003c/a\u003e fix openai mimetype guess (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21030\"\u003e#21030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/41bb29ce0396389c3628373b18e7bbeeddf17ef6\"\u003e\u003ccode\u003e41bb29c\u003c/code\u003e\u003c/a\u003e fix: correct typo 'compatability' to 'compatibility' in Solr client (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21029\"\u003e#21029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/8b9ca048b8a27a252b05408e275804d111defe81\"\u003e\u003ccode\u003e8b9ca04\u003c/code\u003e\u003c/a\u003e feat(postprocessor): add Google Discovery Engine rerank integration (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20893\"\u003e#20893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/2f10566fa9553c5dba27c99dbad5b31d6cd09e65\"\u003e\u003ccode\u003e2f10566\u003c/code\u003e\u003c/a\u003e feat(google-tools): support service account and cloud auth for Calendar and G...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/17dffad4808c7372d206c8af5bc56910a8d540b9\"\u003e\u003ccode\u003e17dffad\u003c/code\u003e\u003c/a\u003e fix: preserve non-ASCII schema descriptions in \u003ccode\u003ePydanticOutputParser\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21016\"\u003e#21016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/3c418ea2800425ca09ad12ff91d5925e4d230a2f\"\u003e\u003ccode\u003e3c418ea\u003c/code\u003e\u003c/a\u003e fix: use \u003ccode\u003eapostprocess_nodes()\u003c/code\u003e in async retrieval paths (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20974\"\u003e#20974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/ccdf31b08b686b3763e18fe1961fb82365635ec0\"\u003e\u003ccode\u003eccdf31b\u003c/code\u003e\u003c/a\u003e fix(core): preserve response metadata in \u003ccode\u003easync _aretrieve_from_object\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20995\"\u003e#20995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/run-llama/llama_index/compare/v0.12.52.post1...v0.14.18\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `llama-index-embeddings-azure-openai` from 0.3.9 to 0.5.1\n\nUpdates `llama-index-embeddings-gemini` from 0.3.2 to 0.4.2\n\nUpdates `llama-index-embeddings-huggingface-api` from 0.3.1 to 0.5.0\n\nUpdates `llama-index-embeddings-mistralai` from 0.3.0 to 0.5.0\n\nUpdates `llama-index-embeddings-ollama` from 0.6.0 to 0.9.0\n\nUpdates `llama-index-indices-managed-llama-cloud` from 0.6.11 to 0.11.0\n\nUpdates `llama-index-instrumentation` from 0.4.3 to 0.5.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/run-llama/llama_index/blob/main/CHANGELOG.md\"\u003ellama-index-instrumentation's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ellama-index-callbacks-agentops [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-argilla [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-arize-phoenix [0.7.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-honeyhive [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump the uv group across 51 directories with 3 updates (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20962\"\u003e#20962\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-langfuse [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-literalai [1.4.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-openinference [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-opik [1.3.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-promptlayer [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-uptrain [0.6.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-wandb [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-core [0.14.18]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: align text match filters across core and vector backends (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20883\"\u003e#20883\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(chat_engine): preserve chat history on incomplete stream consumption (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20897\"\u003e#20897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: guard against ZeroDivisionError in LlamaDebugHandler._get_time_stats_from_event_pairs (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20937\"\u003e#20937\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/run-llama/llama_index/commit/c561f1388d2eee6e88553487909cb9810317e059\"\u003e\u003ccode\u003ec561f13\u003c/code\u003e\u003c/a\u003e cr\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/84b00963208b8f93fa207d99dcae5804c6484e7f\"\u003e\u003ccode\u003e84b0096\u003c/code\u003e\u003c/a\u003e [0.5.0] fix simple vector bug (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/951\"\u003e#951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/de5a8f573d590499c3da5a39904e05e110e73d12\"\u003e\u003ccode\u003ede5a8f5\u003c/code\u003e\u003c/a\u003e [0.5.0] fix usage pattern (\u003ca href=\"ht...\n\n_Description has been truncated_","html_url":"https://github.com/DylanLRPollock/Monkey-Head-Project/pull/503","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/DylanLRPollock%2FMonkey-Head-Project/issues/503","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/503/packages"},{"uuid":"3997636472","node_id":"PR_kwDOK8weY87GpsiX","number":478,"state":"closed","title":"deps(pip)(deps): bump the python-minor-patch group across 1 directory with 93 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-04T02:51:11.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-26T20:36:45.000Z","updated_at":"2026-03-04T02:51:13.000Z","time_to_close":454466,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(pip)(deps): bump","group_name":"python-minor-patch","update_count":93,"packages":[{"name":"anthropic","old_version":"0.76.0","new_version":"0.84.0"},{"name":"google-genai","old_version":"1.57.0","new_version":"1.65.0","repository_url":"https://github.com/googleapis/python-genai"},{"name":"huggingface-hub","old_version":"1.4.1","new_version":"1.5.0","repository_url":"https://github.com/huggingface/huggingface_hub"},{"name":"llama-index","old_version":"0.14.14","new_version":"0.14.15","repository_url":"https://github.com/run-llama/llama_index"},{"name":"llama-index-core","old_version":"0.14.14","new_version":"0.14.15","repository_url":"https://github.com/run-llama/llama_index"},{"name":"llama-index-embeddings-gemini","old_version":"0.4.1","new_version":"0.4.2"},{"name":"llama-index-llms-anthropic","old_version":"0.10.5","new_version":"0.10.10"},{"name":"llama-index-llms-gemini","old_version":"0.6.1","new_version":"0.6.2"},{"name":"llama-index-llms-google-genai","old_version":"0.8.3","new_version":"0.8.7"},{"name":"llama-index-llms-huggingface-api","old_version":"0.6.1","new_version":"0.6.2"},{"name":"llama-index-llms-mistralai","old_version":"0.9.0","new_version":"0.10.0.post2"},{"name":"llama-index-llms-openai","old_version":"0.6.13","new_version":"0.6.21"},{"name":"llama-index-llms-openai-like","old_version":"0.5.3","new_version":"0.6.0"},{"name":"llama-index-readers-file","old_version":"0.5.4","new_version":"0.5.6"},{"name":"llama-index-readers-github","old_version":"0.8.2","new_version":"0.10.0"},{"name":"llama-index-workflows","old_version":"2.12.0","new_version":"2.14.2"},{"name":"mistralai","old_version":"1.10.0","new_version":"1.12.4","repository_url":"https://github.com/mistralai/client-python"},{"name":"onnxruntime","old_version":"1.23.2","new_version":"1.24.2","repository_url":"https://github.com/microsoft/onnxruntime"},{"name":"openai","old_version":"2.21.0","new_version":"2.24.0","repository_url":"https://github.com/openai/openai-python"},{"name":"openai-agents","old_version":"0.9.0","new_version":"0.10.2","repository_url":"https://github.com/openai/openai-agents-python"},{"name":"transformers","old_version":"5.1.0","new_version":"5.2.0","repository_url":"https://github.com/huggingface/transformers"},{"name":"chromadb","old_version":"1.5.0","new_version":"1.5.1","repository_url":"https://github.com/chroma-core/chroma"},{"name":"faiss-cpu","old_version":"1.8.0.post1","new_version":"1.13.2","repository_url":"https://github.com/kyamagu/faiss-wheels"},{"name":"pandas","old_version":"3.0.0","new_version":"3.0.1","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"pinecone","old_version":"8.0.0","new_version":"8.1.0","repository_url":"https://github.com/pinecone-io/pinecone-python-client"},{"name":"pinecone-plugin-assistant","old_version":"3.0.1","new_version":"3.0.2"},{"name":"qdrant-client","old_version":"1.16.2","new_version":"1.17.0","repository_url":"https://github.com/qdrant/qdrant-client"},{"name":"weaviate-client","old_version":"4.19.2","new_version":"4.20.1","repository_url":"https://github.com/weaviate/weaviate-python-client"},{"name":"azure-core","old_version":"1.38.0","new_version":"1.38.2","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-identity","old_version":"1.25.1","new_version":"1.25.2","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"boto3","old_version":"1.42.43","new_version":"1.42.57","repository_url":"https://github.com/boto/boto3"},{"name":"botocore","old_version":"1.42.43","new_version":"1.42.57","repository_url":"https://github.com/boto/botocore"},{"name":"google-cloud-aiplatform","old_version":"1.133.0","new_version":"1.139.0","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"google-cloud-storage","old_version":"3.8.0","new_version":"3.9.0","repository_url":"https://github.com/googleapis/python-storage"},{"name":"bandit","old_version":"1.9.2","new_version":"1.9.4","repository_url":"https://github.com/PyCQA/bandit"},{"name":"debugpy","old_version":"1.8.19","new_version":"1.8.20","repository_url":"https://github.com/microsoft/debugpy"},{"name":"ipython","old_version":"9.9.0","new_version":"9.10.0","repository_url":"https://github.com/ipython/ipython"},{"name":"pip-tools","old_version":"7.5.2","new_version":"7.5.3","repository_url":"https://github.com/jazzband/pip-tools"},{"name":"rich","old_version":"14.2.0","new_version":"14.3.3","repository_url":"https://github.com/Textualize/rich"},{"name":"ruff","old_version":"0.15.1","new_version":"0.15.4","repository_url":"https://github.com/astral-sh/ruff"},{"name":"uv","old_version":"0.10.2","new_version":"0.10.6","repository_url":"https://github.com/astral-sh/uv"},{"name":"sounddevice","old_version":"0.5.3","new_version":"0.5.5","repository_url":"https://github.com/spatialaudio/python-sounddevice"},{"name":"certifi","old_version":"2026.1.4","new_version":"2026.2.25","repository_url":"https://github.com/certifi/python-certifi"},{"name":"fastapi","old_version":"0.129.0","new_version":"0.133.1","repository_url":"https://github.com/fastapi/fastapi"},{"name":"pydantic-settings","old_version":"2.12.0","new_version":"2.13.1","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"banks","old_version":"2.3.0","new_version":"2.4.1","repository_url":"https://github.com/masci/banks"},{"name":"beautifulsoup4","old_version":"4.13.5","new_version":"4.14.3"},{"name":"deprecated","old_version":"1.2.18","new_version":"1.3.1","repository_url":"https://github.com/laurent-laporte-pro/deprecated"},{"name":"docx2txt","old_version":"0.8","new_version":"0.9","repository_url":"https://github.com/ankushshah89/python-docx2txt"},{"name":"ebooklib","old_version":"0.18","new_version":"0.20","repository_url":"https://github.com/aerkalov/ebooklib"},{"name":"filelock","old_version":"3.20.3","new_version":"3.24.3","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"firecrawl-py","old_version":"4.14.0","new_version":"4.17.1","repository_url":"https://github.com/firecrawl/firecrawl"},{"name":"gkeepapi","old_version":"0.15.1","new_version":"0.17.1","repository_url":"https://github.com/kiwiz/gkeepapi"},{"name":"google-api-core","old_version":"2.29.0","new_version":"2.30.0"},{"name":"google-api-python-client","old_version":"2.187.0","new_version":"2.190.0","repository_url":"https://github.com/googleapis/google-api-python-client"},{"name":"google-auth-httplib2","old_version":"0.2.1","new_version":"0.3.0","repository_url":"https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2"},{"name":"greenlet","old_version":"3.3.1","new_version":"3.3.2","repository_url":"https://github.com/python-greenlet/greenlet"},{"name":"grpcio","old_version":"1.75.0","new_version":"1.78.0","repository_url":"https://github.com/grpc/grpc"},{"name":"grpcio-status","old_version":"1.71.2","new_version":"1.78.0"},{"name":"httpx-socks","old_version":"0.10.1","new_version":"0.11.0","repository_url":"https://github.com/romis2012/httpx-socks"},{"name":"llama-index-vector-stores-qdrant","old_version":"0.8.8","new_version":"0.9.1"},{"name":"markdown","old_version":"3.10.1","new_version":"3.10.2","repository_url":"https://github.com/Python-Markdown/markdown"},{"name":"ml-dtypes","old_version":"0.4.1","new_version":"0.5.4","repository_url":"https://github.com/jax-ml/ml_dtypes"},{"name":"mpmath","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/mpmath/mpmath"},{"name":"msal","old_version":"1.34.0","new_version":"1.35.0","repository_url":"https://github.com/AzureAD/microsoft-authentication-library-for-python"},{"name":"opencv-python","old_version":"4.11.0.86","new_version":"4.13.0.92","repository_url":"https://github.com/opencv/opencv-python"},{"name":"parso","old_version":"0.8.5","new_version":"0.8.6","repository_url":"https://github.com/davidhalter/parso"},{"name":"platformdirs","old_version":"4.5.1","new_version":"4.9.2","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.42.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"pyee","old_version":"13.0.0","new_version":"13.0.1","repository_url":"https://github.com/jfhbrook/pyee"},{"name":"pypdf","old_version":"6.7.2","new_version":"6.7.3","repository_url":"https://github.com/py-pdf/pypdf"},{"name":"pyside6","old_version":"6.9.1","new_version":"6.10.2"},{"name":"pyside6-addons","old_version":"6.9.1","new_version":"6.10.2"},{"name":"pyside6-essentials","old_version":"6.9.1","new_version":"6.10.2"},{"name":"python-markdown-math","old_version":"0.8","new_version":"0.9","repository_url":"https://github.com/mitya57/python-markdown-math"},{"name":"python-socks","old_version":"2.8.0","new_version":"2.8.1","repository_url":"https://github.com/romis2012/python-socks"},{"name":"qasync","old_version":"0.27.1","new_version":"0.28.0","repository_url":"https://github.com/CabbageDevelopment/qasync"},{"name":"redisvl","old_version":"0.4.1","new_version":"0.14.0","repository_url":"https://github.com/redis/redis-vl-python"},{"name":"regex","old_version":"2026.1.15","new_version":"2026.2.19","repository_url":"https://github.com/mrabarnett/mrab-regex"},{"name":"selenium","old_version":"4.39.0","new_version":"4.41.0","repository_url":"https://github.com/SeleniumHQ/Selenium"},{"name":"shiboken6","old_version":"6.9.1","new_version":"6.10.2"},{"name":"show-in-file-manager","old_version":"1.1.5","new_version":"1.1.6","repository_url":"https://github.com/damonlynch/showinfilemanager"},{"name":"spider-client","old_version":"0.0.27","new_version":"0.1.85","repository_url":"https://github.com/spider-rs/spider-clients"},{"name":"sqlalchemy","old_version":"2.0.43","new_version":"2.0.47"},{"name":"striprtf","old_version":"0.0.26","new_version":"0.0.29","repository_url":"https://github.com/joshy/striprtf"},{"name":"tenacity","old_version":"9.1.3","new_version":"9.1.4","repository_url":"https://github.com/jd/tenacity"},{"name":"tinycss2","old_version":"1.4.0","new_version":"1.5.1","repository_url":"https://github.com/Kozea/tinycss2"},{"name":"tinysegmenter","old_version":"0.3","new_version":"0.4"},{"name":"trio","old_version":"0.32.0","new_version":"0.33.0","repository_url":"https://github.com/python-trio/trio"},{"name":"typer","old_version":"0.21.1","new_version":"0.24.1","repository_url":"https://github.com/fastapi/typer"},{"name":"urllib3","old_version":"2.5.0","new_version":"2.6.3"},{"name":"wcwidth","old_version":"0.5.3","new_version":"0.6.0","repository_url":"https://github.com/jquast/wcwidth"},{"name":"xai-sdk","old_version":"1.6.1","new_version":"1.7.0","repository_url":"https://github.com/xai-org/xai-sdk-python"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor-patch group with 93 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [anthropic[bedrock,vertex]](https://github.com/anthropics/anthropic-sdk-python) | `0.76.0` | `0.84.0` |\n| [google-genai](https://github.com/googleapis/python-genai) | `1.57.0` | `1.65.0` |\n| [huggingface-hub](https://github.com/huggingface/huggingface_hub) | `1.4.1` | `1.5.0` |\n| [llama-index](https://github.com/run-llama/llama_index) | `0.14.14` | `0.14.15` |\n| [llama-index-core](https://github.com/run-llama/llama_index) | `0.14.14` | `0.14.15` |\n| llama-index-embeddings-gemini | `0.4.1` | `0.4.2` |\n| llama-index-llms-anthropic | `0.10.5` | `0.10.10` |\n| llama-index-llms-gemini | `0.6.1` | `0.6.2` |\n| llama-index-llms-google-genai | `0.8.3` | `0.8.7` |\n| llama-index-llms-huggingface-api | `0.6.1` | `0.6.2` |\n| llama-index-llms-mistralai | `0.9.0` | `0.10.0.post2` |\n| llama-index-llms-openai | `0.6.13` | `0.6.21` |\n| llama-index-llms-openai-like | `0.5.3` | `0.6.0` |\n| llama-index-readers-file | `0.5.4` | `0.5.6` |\n| llama-index-readers-github | `0.8.2` | `0.10.0` |\n| llama-index-workflows | `2.12.0` | `2.14.2` |\n| [mistralai](https://github.com/mistralai/client-python) | `1.10.0` | `1.12.4` |\n| [onnxruntime](https://github.com/microsoft/onnxruntime) | `1.23.2` | `1.24.2` |\n| [openai](https://github.com/openai/openai-python) | `2.21.0` | `2.24.0` |\n| [openai-agents](https://github.com/openai/openai-agents-python) | `0.9.0` | `0.10.2` |\n| [transformers](https://github.com/huggingface/transformers) | `5.1.0` | `5.2.0` |\n| [chromadb](https://github.com/chroma-core/chroma) | `1.5.0` | `1.5.1` |\n| [faiss-cpu](https://github.com/kyamagu/faiss-wheels) | `1.8.0.post1` | `1.13.2` |\n| [pandas](https://github.com/pandas-dev/pandas) | `3.0.0` | `3.0.1` |\n| [pinecone](https://github.com/pinecone-io/pinecone-python-client) | `8.0.0` | `8.1.0` |\n| [pinecone-plugin-assistant](https://www.pinecone.io) | `3.0.1` | `3.0.2` |\n| [qdrant-client](https://github.com/qdrant/qdrant-client) | `1.16.2` | `1.17.0` |\n| [weaviate-client](https://github.com/weaviate/weaviate-python-client) | `4.19.2` | `4.20.1` |\n| [azure-core](https://github.com/Azure/azure-sdk-for-python) | `1.38.0` | `1.38.2` |\n| [azure-identity](https://github.com/Azure/azure-sdk-for-python) | `1.25.1` | `1.25.2` |\n| [boto3](https://github.com/boto/boto3) | `1.42.43` | `1.42.57` |\n| [botocore](https://github.com/boto/botocore) | `1.42.43` | `1.42.57` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.133.0` | `1.139.0` |\n| [google-cloud-storage](https://github.com/googleapis/python-storage) | `3.8.0` | `3.9.0` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.9.2` | `1.9.4` |\n| [debugpy](https://github.com/microsoft/debugpy) | `1.8.19` | `1.8.20` |\n| [ipython](https://github.com/ipython/ipython) | `9.9.0` | `9.10.0` |\n| [pip-tools](https://github.com/jazzband/pip-tools) | `7.5.2` | `7.5.3` |\n| [rich](https://github.com/Textualize/rich) | `14.2.0` | `14.3.3` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.1` | `0.15.4` |\n| [uv](https://github.com/astral-sh/uv) | `0.10.2` | `0.10.6` |\n| [sounddevice](https://github.com/spatialaudio/python-sounddevice) | `0.5.3` | `0.5.5` |\n| [certifi](https://github.com/certifi/python-certifi) | `2026.1.4` | `2026.2.25` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.129.0` | `0.133.1` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.12.0` | `2.13.1` |\n| [banks](https://github.com/masci/banks) | `2.3.0` | `2.4.1` |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.13.5` | `4.14.3` |\n| [deprecated](https://github.com/laurent-laporte-pro/deprecated) | `1.2.18` | `1.3.1` |\n| [docx2txt](https://github.com/ankushshah89/python-docx2txt) | `0.8` | `0.9` |\n| [ebooklib](https://github.com/aerkalov/ebooklib) | `0.18` | `0.20` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.20.3` | `3.24.3` |\n| [firecrawl-py](https://github.com/firecrawl/firecrawl) | `4.14.0` | `4.17.1` |\n| [gkeepapi](https://github.com/kiwiz/gkeepapi) | `0.15.1` | `0.17.1` |\n| [google-api-core[grpc]](https://github.com/googleapis/google-cloud-python) | `2.29.0` | `2.30.0` |\n| [google-api-python-client](https://github.com/googleapis/google-api-python-client) | `2.187.0` | `2.190.0` |\n| [google-auth-httplib2](https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2) | `0.2.1` | `0.3.0` |\n| [greenlet](https://github.com/python-greenlet/greenlet) | `3.3.1` | `3.3.2` |\n| [grpcio](https://github.com/grpc/grpc) | `1.75.0` | `1.78.0` |\n| [grpcio-status](https://grpc.io) | `1.71.2` | `1.78.0` |\n| [httpx-socks](https://github.com/romis2012/httpx-socks) | `0.10.1` | `0.11.0` |\n| llama-index-vector-stores-qdrant | `0.8.8` | `0.9.1` |\n| [markdown](https://github.com/Python-Markdown/markdown) | `3.10.1` | `3.10.2` |\n| [ml-dtypes](https://github.com/jax-ml/ml_dtypes) | `0.4.1` | `0.5.4` |\n| [mpmath](https://github.com/mpmath/mpmath) | `1.3.0` | `1.4.0` |\n| [msal](https://github.com/AzureAD/microsoft-authentication-library-for-python) | `1.34.0` | `1.35.0` |\n| [opencv-python](https://github.com/opencv/opencv-python) | `4.11.0.86` | `4.13.0.92` |\n| [parso](https://github.com/davidhalter/parso) | `0.8.5` | `0.8.6` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.5.1` | `4.9.2` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.41.5` | `2.42.0` |\n| [pyee](https://github.com/jfhbrook/pyee) | `13.0.0` | `13.0.1` |\n| [pypdf](https://github.com/py-pdf/pypdf) | `6.7.2` | `6.7.3` |\n| [pyside6](https://pyside.org) | `6.9.1` | `6.10.2` |\n| [pyside6-addons](https://pyside.org) | `6.9.1` | `6.10.2` |\n| [pyside6-essentials](https://pyside.org) | `6.9.1` | `6.10.2` |\n| [python-markdown-math](https://github.com/mitya57/python-markdown-math) | `0.8` | `0.9` |\n| [python-socks](https://github.com/romis2012/python-socks) | `2.8.0` | `2.8.1` |\n| [qasync](https://github.com/CabbageDevelopment/qasync) | `0.27.1` | `0.28.0` |\n| [redisvl](https://github.com/redis/redis-vl-python) | `0.4.1` | `0.14.0` |\n| [regex](https://github.com/mrabarnett/mrab-regex) | `2026.1.15` | `2026.2.19` |\n| [selenium](https://github.com/SeleniumHQ/Selenium) | `4.39.0` | `4.41.0` |\n| [shiboken6](https://pyside.org) | `6.9.1` | `6.10.2` |\n| [show-in-file-manager](https://github.com/damonlynch/showinfilemanager) | `1.1.5` | `1.1.6` |\n| [spider-client](https://github.com/spider-rs/spider-clients) | `0.0.27` | `0.1.85` |\n| [sqlalchemy[asyncio]](https://github.com/sqlalchemy/sqlalchemy) | `2.0.43` | `2.0.47` |\n| [striprtf](https://github.com/joshy/striprtf) | `0.0.26` | `0.0.29` |\n| [tenacity](https://github.com/jd/tenacity) | `9.1.3` | `9.1.4` |\n| [tinycss2](https://github.com/Kozea/tinycss2) | `1.4.0` | `1.5.1` |\n| [tinysegmenter](http://tinysegmenter.tuxfamily.org/) | `0.3` | `0.4` |\n| [trio](https://github.com/python-trio/trio) | `0.32.0` | `0.33.0` |\n| [typer](https://github.com/fastapi/typer) | `0.21.1` | `0.24.1` |\n| [urllib3[socks]](https://github.com/urllib3/urllib3) | `2.5.0` | `2.6.3` |\n| [wcwidth](https://github.com/jquast/wcwidth) | `0.5.3` | `0.6.0` |\n| [xai-sdk](https://github.com/xai-org/xai-sdk-python) | `1.6.1` | `1.7.0` |\n\n\nUpdates `anthropic[bedrock,vertex]` from 0.76.0 to 0.84.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[bedrock,vertex]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\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\u003ch2\u003ev0.83.0\u003c/h2\u003e\n\u003ch2\u003e0.83.0 (2026-02-19)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.82.0...v0.83.0\"\u003ev0.82.0...v0.83.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 top-level cache control (automatic caching) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/a940123da34ac33f0b6f20ce91807829451d1233\"\u003ea940123\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate mock server docs (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/34ef48ceb0f1734d6b695890f689dc42eb0b004e\"\u003e34ef48c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.82.0\u003c/h2\u003e\n\u003ch2\u003e0.82.0 (2026-02-18)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.81.0...v0.82.0\"\u003ev0.81.0...v0.82.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e fix shared UserLocation and error code types (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/da3b931a2be768d77c228a4804d2f7f75caeb71c\"\u003eda3b931\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/blob/main/CHANGELOG.md\"\u003eanthropic[bedrock,vertex]'s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003ch2\u003e0.83.0 (2026-02-19)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.82.0...v0.83.0\"\u003ev0.82.0...v0.83.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 top-level cache control (automatic caching) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/a940123da34ac33f0b6f20ce91807829451d1233\"\u003ea940123\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate mock server docs (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/34ef48ceb0f1734d6b695890f689dc42eb0b004e\"\u003e34ef48c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.82.0 (2026-02-18)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.81.0...v0.82.0\"\u003ev0.81.0...v0.82.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e fix shared UserLocation and error code types (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/da3b931a2be768d77c228a4804d2f7f75caeb71c\"\u003eda3b931\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd backward-compat aliases for removed nested UserLocation classes (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1409\"\u003e#1409\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/56db1e3db6108e1c0f4e9363a5f23b54976dc877\"\u003e56db1e3\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/49d639a671cb0ac30c767e8e1e68fdd5925205d5\"\u003e\u003ccode\u003e49d639a\u003c/code\u003e\u003c/a\u003e release: 0.84.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/4d73b2159f7f3e88113a904f785de58ec4157045\"\u003e\u003ccode\u003e4d73b21\u003c/code\u003e\u003c/a\u003e feat(helpers): add conversion helpers for MCP tools, prompts, and resources (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/0e4092173fc52d773675f8e3a4ced6a5e2f67c9f\"\u003e\u003ccode\u003e0e40921\u003c/code\u003e\u003c/a\u003e docs: rebrand to Claude SDK and streamline README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/c3017a227c67377b862644feb463c0d8a1e9ddc9\"\u003e\u003ccode\u003ec3017a2\u003c/code\u003e\u003c/a\u003e chore(internal): simplify http snapshots (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1092\"\u003e#1092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/470fda9c14714117342c0491d6e436d158bbb4ab\"\u003e\u003ccode\u003e470fda9\u003c/code\u003e\u003c/a\u003e chore(internal): make \u003ccode\u003etest_proxy_environment_variables\u003c/code\u003e more resilient to env\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/c30c72d710dea90437a73713296e76c12518c359\"\u003e\u003ccode\u003ec30c72d\u003c/code\u003e\u003c/a\u003e chore: add missing raw jsonl results method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/9d9a5a1aab3aa67c665c39bbeed3fec298fc2e6a\"\u003e\u003ccode\u003e9d9a5a1\u003c/code\u003e\u003c/a\u003e chore(internal):  make \u003ccode\u003etest_proxy_environment_variables\u003c/code\u003e more resilient\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/c28d2d50a5f5197839c36fb4741bee8cd1e976c1\"\u003e\u003ccode\u003ec28d2d5\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/bb13f1ea6be3941342115fdb125e3fe225252071\"\u003e\u003ccode\u003ebb13f1e\u003c/code\u003e\u003c/a\u003e chore(internal): add request options to SSE classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/ab0ccb990d098ef56c0367abcb0c745d7a58a99e\"\u003e\u003ccode\u003eab0ccb9\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.76.0...v0.84.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-genai` from 1.57.0 to 1.65.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-genai/releases\"\u003egoogle-genai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.65.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.64.0...v1.65.0\"\u003e1.65.0\u003c/a\u003e (2026-02-26)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd gemini-3.1-pro-preview to list of models in Interactions (\u003ca href=\"https://github.com/googleapis/python-genai/commit/fe86870752ca8cc66d140d3942e9b07f19ca092c\"\u003efe86870\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Image Grounding support to GoogleSearch tool (\u003ca href=\"https://github.com/googleapis/python-genai/commit/0035182ec4eaf1ce2503a09f290b1e48a2e1ee1f\"\u003e0035182\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnable server side MCP and disable all other AFC when server side MCP is configured. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/4dd7b165dc54d3ae75367f68d05f9d9951688f54\"\u003e4dd7b16\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport more image sizes and resolutions (\u003ca href=\"https://github.com/googleapis/python-genai/commit/8b2a4e04707c86e5f7d46e0483a88457fbf6d533\"\u003e8b2a4e0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChange interactions media mime type to enum (breaking change for experimental feature) (\u003ca href=\"https://github.com/googleapis/python-genai/commit/e0f33786f76a1af6ac3ad1938ab57961833bf0a1\"\u003ee0f3378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle non-list response_stream in HttpResponse.json property (\u003ca href=\"https://github.com/googleapis/python-genai/commit/006042db8379d957ac1ac0e57993983a21f7e1d1\"\u003e006042d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle non-list response_stream in HttpResponse.json property (\u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1903\"\u003e#1903\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-genai/commit/61aec3455e886a1c700fb0ba21ed40f59bba65ff\"\u003e61aec34\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake aiohttp an optional dependency, bump aiohttp version upperbound, and ensure HttpOptions.async_client_args propagates to custom aiohttp.ClientSession request args for proxy etc. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/b28d1445bb6c2c46c495ffd1b03a622d9d6942f6\"\u003eb28d144\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/2090\"\u003e#2090\u003c/a\u003e \u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/2051\"\u003e#2051\u003c/a\u003e \u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1950\"\u003e#1950\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerate docs for 1.64.0 (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a02314197d0dc72e854fa3ea79247f53421511ba\"\u003ea023141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate README and codegen_instructions for structured outputs (\u003ca href=\"https://github.com/googleapis/python-genai/commit/4d5a978932e9aacd2569f3058ce5af527ae18210\"\u003e4d5a978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.64.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.63.0...v1.64.0\"\u003e1.64.0\u003c/a\u003e (2026-02-18)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd UnifiedMetric support to Vertex Tuning evaluation config (\u003ca href=\"https://github.com/googleapis/python-genai/commit/9a9908a9605756a94404359187cad09b21c094e0\"\u003e9a9908a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport multimodal embedding for Gemini Embedding 2.0 and support MaaS models in Models.embed_content() (Vertex AI API) (\u003ca href=\"https://github.com/googleapis/python-genai/commit/af40cc629751b2d389eecb75741e9c3531cc8e6e\"\u003eaf40cc6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.63.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.62.0...v1.63.0\"\u003e1.63.0\u003c/a\u003e (2026-02-11)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd INCOMPLETE status to Interaction. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1a84605bcac5445c8e13658b8bd7ff1860f10f1b\"\u003e1a84605\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport encryption_spec in tuning job creation configuration for GenAI SDK (\u003ca href=\"https://github.com/googleapis/python-genai/commit/057d6f077b0a6d13c843fff0479027f5f7369113\"\u003e057d6f0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBase_url and global location parsing (\u003ca href=\"https://github.com/googleapis/python-genai/commit/2c40555c54267b1e9ba10dfafe1bc73f0cca43d4\"\u003e2c40555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove build warning due to extra comma: assertion on a tuple is always true (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1cc2c2d411576e9858d4a4ae33bbf12975700a9f\"\u003e1cc2c2d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove debug print statement. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/60c0a2ffb4c1e87374c02958b1cb42748ba84ff1\"\u003e60c0a2f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unused import of \u003ccode\u003ewebsockets\u003c/code\u003e (\u003ca href=\"https://github.com/googleapis/python-genai/commit/3b82b5f382c6fe9fa820a59c3938d04cef3ae24e\"\u003e3b82b5f\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-genai/blob/main/CHANGELOG.md\"\u003egoogle-genai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.64.0...v1.65.0\"\u003e1.65.0\u003c/a\u003e (2026-02-26)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd gemini-3.1-pro-preview to list of models in Interactions (\u003ca href=\"https://github.com/googleapis/python-genai/commit/fe86870752ca8cc66d140d3942e9b07f19ca092c\"\u003efe86870\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Image Grounding support to GoogleSearch tool (\u003ca href=\"https://github.com/googleapis/python-genai/commit/0035182ec4eaf1ce2503a09f290b1e48a2e1ee1f\"\u003e0035182\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnable server side MCP and disable all other AFC when server side MCP is configured. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/4dd7b165dc54d3ae75367f68d05f9d9951688f54\"\u003e4dd7b16\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport more image sizes and resolutions (\u003ca href=\"https://github.com/googleapis/python-genai/commit/8b2a4e04707c86e5f7d46e0483a88457fbf6d533\"\u003e8b2a4e0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChange interactions media mime type to enum (breaking change for experimental feature) (\u003ca href=\"https://github.com/googleapis/python-genai/commit/e0f33786f76a1af6ac3ad1938ab57961833bf0a1\"\u003ee0f3378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle non-list response_stream in HttpResponse.json property (\u003ca href=\"https://github.com/googleapis/python-genai/commit/006042db8379d957ac1ac0e57993983a21f7e1d1\"\u003e006042d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle non-list response_stream in HttpResponse.json property (\u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1903\"\u003e#1903\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-genai/commit/61aec3455e886a1c700fb0ba21ed40f59bba65ff\"\u003e61aec34\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake aiohttp an optional dependency, bump aiohttp version upperbound, and ensure HttpOptions.async_client_args propagates to custom aiohttp.ClientSession request args for proxy etc. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/b28d1445bb6c2c46c495ffd1b03a622d9d6942f6\"\u003eb28d144\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/2090\"\u003e#2090\u003c/a\u003e \u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/2051\"\u003e#2051\u003c/a\u003e \u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1950\"\u003e#1950\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerate docs for 1.64.0 (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a02314197d0dc72e854fa3ea79247f53421511ba\"\u003ea023141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate README and codegen_instructions for structured outputs (\u003ca href=\"https://github.com/googleapis/python-genai/commit/4d5a978932e9aacd2569f3058ce5af527ae18210\"\u003e4d5a978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.63.0...v1.64.0\"\u003e1.64.0\u003c/a\u003e (2026-02-18)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd UnifiedMetric support to Vertex Tuning evaluation config (\u003ca href=\"https://github.com/googleapis/python-genai/commit/9a9908a9605756a94404359187cad09b21c094e0\"\u003e9a9908a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport multimodal embedding for Gemini Embedding 2.0 and support MaaS models in Models.embed_content() (Vertex AI API) (\u003ca href=\"https://github.com/googleapis/python-genai/commit/af40cc629751b2d389eecb75741e9c3531cc8e6e\"\u003eaf40cc6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.62.0...v1.63.0\"\u003e1.63.0\u003c/a\u003e (2026-02-11)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd INCOMPLETE status to Interaction. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1a84605bcac5445c8e13658b8bd7ff1860f10f1b\"\u003e1a84605\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport encryption_spec in tuning job creation configuration for GenAI SDK (\u003ca href=\"https://github.com/googleapis/python-genai/commit/057d6f077b0a6d13c843fff0479027f5f7369113\"\u003e057d6f0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBase_url and global location parsing (\u003ca href=\"https://github.com/googleapis/python-genai/commit/2c40555c54267b1e9ba10dfafe1bc73f0cca43d4\"\u003e2c40555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove build warning due to extra comma: assertion on a tuple is always true (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1cc2c2d411576e9858d4a4ae33bbf12975700a9f\"\u003e1cc2c2d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove debug print statement. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/60c0a2ffb4c1e87374c02958b1cb42748ba84ff1\"\u003e60c0a2f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unused import of \u003ccode\u003ewebsockets\u003c/code\u003e (\u003ca href=\"https://github.com/googleapis/python-genai/commit/3b82b5f382c6fe9fa820a59c3938d04cef3ae24e\"\u003e3b82b5f\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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/b2be5018adce18598badacfbbe7a4c0139be3a16\"\u003e\u003ccode\u003eb2be501\u003c/code\u003e\u003c/a\u003e chore(main): release 1.65.0 (\u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/7028a9c691439b559de1b75ab2717f522c8f4e24\"\u003e\u003ccode\u003e7028a9c\u003c/code\u003e\u003c/a\u003e chore: update InteractionCompleteEvent comment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/0035182ec4eaf1ce2503a09f290b1e48a2e1ee1f\"\u003e\u003ccode\u003e0035182\u003c/code\u003e\u003c/a\u003e feat: Add Image Grounding support to GoogleSearch tool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/8b2a4e04707c86e5f7d46e0483a88457fbf6d533\"\u003e\u003ccode\u003e8b2a4e0\u003c/code\u003e\u003c/a\u003e feat: Support more image sizes and resolutions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/b28d1445bb6c2c46c495ffd1b03a622d9d6942f6\"\u003e\u003ccode\u003eb28d144\u003c/code\u003e\u003c/a\u003e fix: Make aiohttp an optional dependency, bump aiohttp version upperbound, an...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/c04c4891f7d54cdedc525bf4f42f29fb1a4eae1b\"\u003e\u003ccode\u003ec04c489\u003c/code\u003e\u003c/a\u003e chore: Improve error message for missing API key.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/af94e536ab606d1795ad90e0c8eeb9c2a850ce6b\"\u003e\u003ccode\u003eaf94e53\u003c/code\u003e\u003c/a\u003e chore: Update comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/006042db8379d957ac1ac0e57993983a21f7e1d1\"\u003e\u003ccode\u003e006042d\u003c/code\u003e\u003c/a\u003e Copybara import of the project:\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/ecfa90cab3cf76357996048aa9928bf8055030bf\"\u003e\u003ccode\u003eecfa90c\u003c/code\u003e\u003c/a\u003e chore: internal change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/61aec3455e886a1c700fb0ba21ed40f59bba65ff\"\u003e\u003ccode\u003e61aec34\u003c/code\u003e\u003c/a\u003e fix: handle non-list response_stream in HttpResponse.json property (\u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1903\"\u003e#1903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.57.0...v1.65.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `huggingface-hub` from 1.4.1 to 1.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/huggingface/huggingface_hub/releases\"\u003ehuggingface-hub's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v1.5.0]: Buckets API, Agent-first CLI, Spaces Hot-Reload and more\u003c/h2\u003e\n\u003cp\u003eThis release introduces major new features including \u003cstrong\u003eBuckets\u003c/strong\u003e (xet-based large scale object storage), CLI Extensions, Space Hot-Reload, and significant improvements for AI coding agents. The CLI has been completely overhauled with centralized error handling, better help output, and new commands for collections, papers, and more.\u003c/p\u003e\n\u003ch2\u003e🪣 Buckets: S3-like Object Storage on the Hub\u003c/h2\u003e\n\u003cp\u003eBuckets provide S3-like object storage on Hugging Face, powered by the Xet storage backend. Unlike repositories (which are git-based and track file history), buckets are remote object storage containers designed for large-scale files with content-addressable deduplication. Use them for training checkpoints, logs, intermediate artifacts, or any large collection of files that doesn't need version control.\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003e# Create a bucket\r\nhf buckets create my-bucket --private\r\n\u003ch1\u003eUpload a directory\u003c/h1\u003e\n\u003cp\u003ehf buckets sync ./data hf://buckets/username/my-bucket\u003c/p\u003e\n\u003ch1\u003eDownload from bucket\u003c/h1\u003e\n\u003cp\u003ehf buckets sync hf://buckets/username/my-bucket ./data\u003c/p\u003e\n\u003ch1\u003eList files\u003c/h1\u003e\n\u003cp\u003ehf buckets list username/my-bucket -R --tree\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eThe Buckets API includes full CLI and Python support for creating, listing, moving, and deleting buckets; uploading, downloading, and syncing files; and managing bucket contents with include/exclude patterns.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBuckets API and CLI by \u003ca href=\"https://github.com/Wauplin\"\u003e\u003ccode\u003e@​Wauplin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3673\"\u003e#3673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport bucket rename/move in API + CLI by \u003ca href=\"https://github.com/Wauplin\"\u003e\u003ccode\u003e@​Wauplin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3843\"\u003e#3843\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd 'sync_bucket' to HfApi by \u003ca href=\"https://github.com/Wauplin\"\u003e\u003ccode\u003e@​Wauplin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3845\"\u003e#3845\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ehf buckets file deletion by \u003ca href=\"https://github.com/Wauplin\"\u003e\u003ccode\u003e@​Wauplin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3849\"\u003e#3849\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate message when no buckets found by \u003ca href=\"https://github.com/Wauplin\"\u003e\u003ccode\u003e@​Wauplin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3850\"\u003e#3850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuckets doc \u003ccode\u003ehf\u003c/code\u003e install by \u003ca href=\"https://github.com/julien-c\"\u003e\u003ccode\u003e@​julien-c\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3846\"\u003e#3846\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e📚 \u003cstrong\u003eDocumentation:\u003c/strong\u003e \u003ca href=\"https://huggingface.co/docs/huggingface_hub/main/en/guides/buckets\"\u003eBuckets guide\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e🤖 AI Agent Support\u003c/h2\u003e\n\u003cp\u003eThis release includes several features designed to improve the experience for AI coding agents (Claude Code, OpenCode, Cursor, etc.):\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCentralized CLI error handling\u003c/strong\u003e: Clean user-facing messages without tracebacks (set \u003ccode\u003eHF_DEBUG=1\u003c/code\u003e for full traces) by \u003ca href=\"https://github.com/hanouticelina\"\u003e\u003ccode\u003e@​hanouticelina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3754\"\u003e#3754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eToken-efficient skill\u003c/strong\u003e: The \u003ccode\u003ehf skills add\u003c/code\u003e command now installs a compact skill (~1.2k tokens vs ~12k before) by \u003ca href=\"https://github.com/hanouticelina\"\u003e\u003ccode\u003e@​hanouticelina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3802\"\u003e#3802\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAgent-friendly \u003ccode\u003ehf jobs logs\u003c/code\u003e\u003c/strong\u003e: Prints available logs and exits by default; use \u003ccode\u003e-f\u003c/code\u003e to stream by \u003ca href=\"https://github.com/davanstrien\"\u003e\u003ccode\u003e@​davanstrien\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3783\"\u003e#3783\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAdd AGENTS.md\u003c/strong\u003e: Dev setup and codebase guide for AI agents by \u003ca href=\"https://github.com/Wauplin\"\u003e\u003ccode\u003e@​Wauplin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3789\"\u003e#3789\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003e# Install the hf-cli skill for Claude\r\nhf skills add --claude\r\n\u003ch1\u003eInstall for project-level\u003c/h1\u003e\n\u003cp\u003ehf skills add --project\n\u003c/code\u003e\u003c/pre\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/huggingface/huggingface_hub/commit/2b2072642d8e021ecbd119f2489a54f6709f8b16\"\u003e\u003ccode\u003e2b20726\u003c/code\u003e\u003c/a\u003e Release: v1.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/da368798cbd07a9e56f64689c3e998e95100d66c\"\u003e\u003ccode\u003eda36879\u003c/code\u003e\u003c/a\u003e Remove bucket warning in docs (\u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3854\"\u003e#3854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/ee2dd7f5f547c4ee4752a99c8f7cb361857713f6\"\u003e\u003ccode\u003eee2dd7f\u003c/code\u003e\u003c/a\u003e Release: v1.5.0.rc0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/a5284dcb226a85491ba4cc9e5a99484322afcaca\"\u003e\u003ccode\u003ea5284dc\u003c/code\u003e\u003c/a\u003e Add test for check if dataclass.repr=True before wrapping (\u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3852\"\u003e#3852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/b89a805d2a2e2e1d381a0b4322374caefa168a8b\"\u003e\u003ccode\u003eb89a805\u003c/code\u003e\u003c/a\u003e check if \u003ccode\u003erepr=True\u003c/code\u003e before wrapping (\u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3823\"\u003e#3823\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/2656107690782d2a9af4b6f5435f86c16f4e504c\"\u003e\u003ccode\u003e2656107\u003c/code\u003e\u003c/a\u003e Hf buckets file deletion (\u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3849\"\u003e#3849\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/f100f04062fa5f3a80160a8b01f5220451b21d8a\"\u003e\u003ccode\u003ef100f04\u003c/code\u003e\u003c/a\u003e Buckets list empty message (\u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3850\"\u003e#3850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/41896bbd384e88e89e1f56253be9c4d3a553fb47\"\u003e\u003ccode\u003e41896bb\u003c/code\u003e\u003c/a\u003e [CLI] Migrate to 'hf repos' instead of 'hf repo' for consistency (\u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3848\"\u003e#3848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/25a3bbe2ef9b5611080a0a5ae5b31b50cd0027e0\"\u003e\u003ccode\u003e25a3bbe\u003c/code\u003e\u003c/a\u003e [Bucket] Add 'sync_bucket' to HfApi (\u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3845\"\u003e#3845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/2f1229897bf74b17e1af82503c7b4919a8366aef\"\u003e\u003ccode\u003e2f12298\u003c/code\u003e\u003c/a\u003e [Bucket] Support bucket rename/move in API + CLI (\u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3843\"\u003e#3843\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/huggingface/huggingface_hub/compare/v1.4.1...v1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `llama-index` from 0.14.14 to 0.14.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/run-llama/llama_index/releases\"\u003ellama-index's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.15\u003c/h2\u003e\n\u003ch1\u003eRelease Notes\u003c/h1\u003e\n\u003ch2\u003e[2026-02-18]\u003c/h2\u003e\n\u003ch3\u003ellama-index-agent-agentmesh [0.1.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Integration] AgentMesh: Trust Layer for LlamaIndex Agents (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20644\"\u003e#20644\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-core [0.14.15]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport basic operations for multimodal types (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20640\"\u003e#20640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat recursive llm type support (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20642\"\u003e#20642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: remove redundant metadata_seperator field from TextNode (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20649\"\u003e#20649\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(tests): update mock prompt type in mock_prompts.py (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20661\"\u003e#20661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat multimodal template var formatting (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20682\"\u003e#20682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat multimodal prompt templates (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20683\"\u003e#20683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat multimodal chat prompt helper (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20684\"\u003e#20684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd retry and error handling to BaseExtractor (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20693\"\u003e#20693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eensure at least one message/content block is returned by the old memory (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20729\"\u003e#20729\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-ibm [0.6.0.post1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: Remove persistent_connection parameter support, update (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20714\"\u003e#20714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: Update IBM docs (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20718\"\u003e#20718\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-anthropic [0.10.9]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSonnet 4-6 addition (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20723\"\u003e#20723\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-bedrock-converse [0.12.10]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(bedrock-converse): ensure thinking_delta is populated in all chat modes (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20664\"\u003e#20664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(bedrock-converse): Add support for Claude Sonnet 4.6 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20726\"\u003e#20726\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-ibm [0.7.0.post1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: Remove persistent_connection parameter support, update (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20714\"\u003e#20714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: Update IBM docs (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20718\"\u003e#20718\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-mistralai [0.10.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRrubini/mistral azure sdk (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20668\"\u003e#20668\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-oci-data-science [1.0.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for new OCI DataScience endpoint /predictWithStream for streaming use case (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20545\"\u003e#20545\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-observability-otel [0.3.0]\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/run-llama/llama_index/blob/main/CHANGELOG.md\"\u003ellama-index's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ellama-index-core [0.14.15]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport basic operations for multimodal types (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20640\"\u003e#20640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat recursive llm type support (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20642\"\u003e#20642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: remove redundant metadata_seperator field from TextNode (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20649\"\u003e#20649\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(tests): update mock prompt type in mock_prompts.py (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20661\"\u003e#20661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat multimodal template var formatting (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20682\"\u003e#20682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat multimodal prompt templates (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20683\"\u003e#20683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat multimodal chat prompt helper (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20684\"\u003e#20684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd retry and error handling to BaseExtractor (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20693\"\u003e#20693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eensure at least one message/content block is returned by the old memory (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20729\"\u003e#20729\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-ibm [0.6.0.post1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: Remove persistent_connection parameter support, update (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20714\"\u003e#20714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: Update IBM docs (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20718\"\u003e#20718\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-anthropic [0.10.9]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSonnet 4-6 addition (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20723\"\u003e#20723\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-bedrock-converse [0.12.10]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(bedrock-converse): ensure thinking_delta is populated in all chat modes (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20664\"\u003e#20664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(bedrock-converse): Add support for Claude Sonnet 4.6 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20726\"\u003e#20726\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-ibm [0.7.0.post1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: Remove persistent_connection parameter support, update (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20714\"\u003e#20714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: Update IBM docs (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20718\"\u003e#20718\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-mistralai [0.10.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRrubini/mistral azure sdk (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20668\"\u003e#20668\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-oci-data-science [1.0.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for new OCI DataScience endpoint /predictWithStream for streaming use case (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20545\"\u003e#20545\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-observability-otel [0.3.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eimprove otel data serialization by flattening dicts (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20719\"\u003e#20719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: support custom span processor; refactor: use llama-index-instrumentation instead of llama-index-core (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20732\"\u003e#20732\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-program-evaporate [0.5.2]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSandbox LLM-generated code execution in EvaporateExtractor (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20676\"\u003e#20676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-readers-bitbucket [0.4.2]\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/run-llama/llama_index/commit/4937fc017cbf91d08c6beaadb790ae44745a87a1\"\u003e\u003ccode\u003e4937fc0\u003c/code\u003e\u003c/a\u003e Release 0.14.15 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20735\"\u003e#20735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/98698936ec2cccaf8eb78018176d6d6da8daaee2\"\u003e\u003ccode\u003e9869893\u003c/code\u003e\u003c/a\u003e feat(bedrock-converse): Add support for Nova 2 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20736\"\u003e#20736\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/40da24454784980dd4d27135533a1fff779d6929\"\u003e\u003ccode\u003e40da244\u003c/code\u003e\u003c/a\u003e fix(layoutir): restrict requires-python to \u0026gt;=3.12 to match layoutir dependenc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/6504188504a5070b43bb0d4633f000e129f51f87\"\u003e\u003ccode\u003e6504188\u003c/code\u003e\u003c/a\u003e feat: support custom span processor; refactor: use llama-index-instrumentatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/dc716d159cf93c60dca31e2abaca1166877216a2\"\u003e\u003ccode\u003edc716d1\u003c/code\u003e\u003c/a\u003e chore: update issue classifier action to v0.2.0 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20734\"\u003e#20734\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/6d0aff422db769014e384242f7a2130015d71fa5\"\u003e\u003ccode\u003e6d0aff4\u003c/code\u003e\u003c/a\u003e ensure at least one message/conent block is returned by the old memory (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20729\"\u003e#20729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/fdcc72cc362e033a45db52af52be15dad2bab472\"\u003e\u003ccode\u003efdcc72c\u003c/code\u003e\u003c/a\u003e feat: add issue classifier gh action (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20720\"\u003e#20720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/171ae830ad98c22cc69afa043678340536bc7dbe\"\u003e\u003ccode\u003e171ae83\u003c/code\u003e\u003c/a\u003e fix: Update WhatsAppChatLoader to retrieve DataFrame in pandas format (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20722\"\u003e#20722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/68c760a50d29844f96e56e189e91c676e6445bf9\"\u003e\u003ccode\u003e68c760a\u003c/code\u003e\u003c/a\u003e fix(layoutir): hotfix for output_dir crash and Block extraction (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20708\"\u003e#20708\u003c/a\u003e follo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/83f45ce5fcdd3a96c587ab3f86e527addda621f0\"\u003e\u003ccode\u003e83f45ce\u003c/code\u003e\u003c/a\u003e Add retry and error handling to BaseExtractor (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20693\"\u003e#20693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/run-llama/llama_index/compare/v0.14.14...v0.14.15\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `llama-index-core` from 0.14.14 to 0.14.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/run-llama/llama_index/releases\"\u003ellama-index-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.15\u003c/h2\u003e\n\u003ch1\u003eRelease Notes\u003c/h1\u003e\n\u003ch2\u003e[2026-02-18]\u003c/h2\u003e\n\u003ch3\u003ellama-index-agent-agentmesh [0.1.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Integration] AgentMesh: Trust Layer for LlamaIndex Agents (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20644\"\u003e#20644\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-core [0.14.15]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport basic operations for multimodal types (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20640\"\u003e#20640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat recursive llm type support (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20642\"\u003e#20642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: remove redundant metadata_seperator field from TextNode (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20649\"\u003e#20649\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(tests): update mock prompt type in mock_prompts.py (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20661\"\u003e#20661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat multimodal template var formatting (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20682\"\u003e#20682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat multimodal prompt templates (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20683\"\u003e#20683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat multimodal chat prompt helper (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20684\"\u003e#20684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd retry and error handling to BaseExtractor (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20693\"\u003e#20693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eensure at least one message/content block is returned by the old memory (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20729\"\u003e#20729\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-ibm [0.6.0.post1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: Remove persistent_connection parameter support, update (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20714\"\u003e#20714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: Update IBM docs (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20718\"\u003e#20718\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-anthropic [0.10.9]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSonnet 4-6 addition (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20723\"\u003e#20723\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-bedrock-converse [0.12.10]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(bedrock-converse): ensure thinking_delta is populated in all chat modes (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20664\"\u003e#20664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(bedrock-converse): Add support for Claude Sonnet 4.6 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20726\"\u003e#20726\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-ibm [0.7.0.post1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: Remove persistent_connection parameter support, update (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20714\"\u003e#20714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: Update IBM docs (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20718\"\u003e#20718\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-mistralai [0.10.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRrubini/mistral azure sdk (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20668\"\u003e#20668\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-oci-data-science [1.0.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for new OCI DataScience endpoint /predictWithStream for streaming use case (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20545\"\u003e#20545\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-observability-otel [0.3.0]\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/run-llama/llama_index/blob/main/CHANGELOG.md\"\u003ellama-index-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ellama-index-core [0.14.15]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport basic operations for multimodal types (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20640\"\u003e#20640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat recursive llm type support (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20642\"\u003e#20642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: remove redundant metadata_seperator field from TextNode (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20649\"\u003e#20649\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(tests): update mock prompt type in mock_prompts.py (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20661\"\u003e#20661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat multimodal template var formatting (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20682\"\u003e#20682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat multimodal prompt templates (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20683\"\u003e#20683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat multimodal chat prompt helper (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20684\"\u003e#20684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd retry and error handling to BaseExtractor (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20693\"\u003e#20693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eensure at least one message/content block is returned by the old memory (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20729\"\u003e#20729\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-ibm [0.6.0.post1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: Remove persistent_connection parameter support, update (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20714\"\u003e#20714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: Update IBM docs (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20718\"\u003e#20718\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-anthropic [0.10.9]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSonnet 4-6 addition (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20723\"\u003e#20723\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-bedrock-converse [0.12.10]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(bedrock-converse): ensure thinking_delta is populated in all chat modes (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20664\"\u003e#20664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(bedrock-converse): Add support for Claude Sonnet 4.6 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20726\"\u003e#20726\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-ibm [0.7.0.post1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: Remove persistent_connection parameter support, update (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20714\"\u003e#20714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: Update IBM docs (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20718\"\u003e#20718\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-mistralai [0.10.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRrubini/mistral azure sdk (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20668\"\u003e#20668\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-oci-data-science [1.0.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for new OCI DataScience endpoint /predictWithStream for streaming use case (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20545\"\u003e#20545\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-observability-otel [0.3.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eimprove otel data serialization by flattening dicts (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20719\"\u003e#20719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: support custom span processor; refactor: use llama-index-instrumentation instead of llama-index-core (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20732\"\u003e#20732\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-program-evaporate [0.5.2]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSandbox LLM-generated code execution in EvaporateExtractor (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20676\"\u003e#20676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-readers-bitbucket [0.4.2]\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/run-llama/llama_index/commit/4937fc017cbf91d08c6beaadb790ae44745a87a1\"\u003e\u003ccode\u003e4937fc0\u003c/code\u003e\u003c/a\u003e Release 0.14.15 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20735\"\u003e#20735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/98698936ec2cccaf8eb78018176d6d6da8daaee2\"\u003e\u003ccode\u003e9869893\u003c/code\u003e\u003c/a\u003e feat(bedrock-converse): Add support for Nova 2 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20736\"\u003e#20736\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/40da24454784980dd4d27135533a1fff779d6929\"\u003e\u003ccode\u003e40da244\u003c/code\u003e\u003c/a\u003e fix(layoutir): restrict requires-python to \u0026gt;=3.12 to match layoutir dependenc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/6504188504a5070b43bb0d4633f000e129f51f87\"\u003e\u003ccode\u003e6504188\u003c/code\u003e\u003c/a\u003e feat: support custom span processor; refactor: use llama-index-instrumentatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/dc716d159cf93c60dca31e2abaca1166877216a2\"\u003e\u003ccode\u003edc716d1\u003c/code\u003e\u003c/a\u003e chore: update issue classifier action to v0.2.0 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20734\"\u003e#20734\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/6d0aff422db769014e384242f7a2130015d71fa5\"\u003e\u003ccode\u003e6d0aff4\u003c/code\u003e\u003c/a\u003e ensure at least one message/conent block is returned by the old memory (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20729\"\u003e#20729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/fdcc72cc362e033a45db52af52be15dad2bab472\"\u003e\u003ccode\u003efdcc72c\u003c/code\u003e\u003c/a\u003e feat: add issue classifier gh action (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20720\"\u003e#20720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/171ae830ad98c22cc69afa043678340536bc7dbe\"\u003e\u003ccode\u003e171ae83\u003c/code\u003e\u003c/a\u003e fix: Update WhatsAppChatLoader to retrieve DataFrame in pandas format (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20722\"\u003e#20722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/68c760a50d29844f96e56e189e91c676e6445bf9\"\u003e\u003ccode\u003e68c760a\u003c/code\u003e\u003c/a\u003e fix(layoutir): hotfix for output_dir crash and Block extraction (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20708\"\u003e#20708\u003c/a\u003e follo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/83f45ce5fcdd3a96c587ab3f86e527addda621f0\"\u003e\u003ccode\u003e83f45ce\u003c/code\u003e\u003c/a\u003e Add retry and error handling to BaseExtractor (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20693\"\u003e#20693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/run-llama/llama_index/compare/v0.14.14...v0.14.15\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `llama-index-embeddings-gemini` from 0.4.1 to 0.4.2\n\nUpdates `llama-index-llms-anthropic` from 0.10.5 to 0.10.10\n\nUpdates `llama-index-llms-gemini` from 0.6.1 to 0.6.2\n\nUpdates `llama-index-llms-google-genai` from 0.8.3 to 0.8.7\n\nUpdates `llama-index-llms-huggingface-api` from 0.6.1 to 0.6.2\n\nUpdates `llama-index-llms-mistralai` from 0.9.0 to 0.10.0.post2\n\nUpdates `llama-index-llms-openai` from 0.6.13 to 0.6.21\n\nUpdates `llama-index-llms-openai-like` from 0.5.3 to 0.6.0\n\nUpdates `llama-index-readers-file` from 0.5.4 to 0.5.6\n\nUpdates `llama-index-readers-github` from 0.8.2 to 0.10.0\n\nUpdates `llama-index-workflows` from 2.12.0 to 2.14.2\n\nUpdates `mistralai` from 1.10.0 to 1.12.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mistralai/client-python/releases\"\u003emistralai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epython - v1.12.4 - 2026-02-20 17:54:29\u003c/h2\u003e\n\u003ch1\u003eGenerated by Speakeasy CLI\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://pypi.org/project/mistralai/1.12.4\"\u003emistralai 1.12.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePython SDK Changes:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.conversations.start()\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erequest.inputs.[array].[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eresponse\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.conversations.list()\u003c/code\u003e:  \u003ccode\u003eresponse.[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.conversations.get()\u003c/code\u003e:  \u003ccode\u003eresponse\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.conversations.append()\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erequest.inputs.[array].[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eresponse\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.conversations.get_history()\u003c/code\u003e:  \u003ccode\u003eresponse\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.conversations.get_messages()\u003c/code\u003e:  \u003ccode\u003eresponse\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.conversations.restart()\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erequest.inputs.[array].[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eresponse\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.conversations.start_stream()\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erequest.inputs.[array].[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eresponse.[].data\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.conversations.append_stream()\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erequest.inputs.[array].[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eresponse.[].data\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.conversations.restart_stream()\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erequest.inputs.[array].[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eresponse.[].data\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.agents.create()\u003c/code\u003e:  \u003ccode\u003eresponse.object\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.agents.list()\u003c/code\u003e:  \u003ccode\u003eresponse.[].object\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.agents.get()\u003c/code\u003e:  \u003ccode\u003eresponse.object\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.agents.update()\u003c/code\u003e:  \u003ccode\u003eresponse.object\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.agents.update_version()\u003c/code\u003e:  \u003ccode\u003eresponse.object\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.agents.list_versions()\u003c/code\u003e:  \u003ccode\u003eresponse.[].object\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.agents.get_version()\u003c/code\u003e:  \u003ccode\u003eresponse.object\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.chat.complete()\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erequest.messages.[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eresponse.choices.[].message\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.chat.stream()\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erequest.messages.[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eresponse.[].data.choices.[].delta.content.[array].[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.fim.complete()\u003c/code\u003e:  \u003ccode\u003eresponse.choices.[].message\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.fim.stream()\u003c/code\u003e:  \u003ccode\u003eresponse.[].data.choices.[].delta.content.[array].[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.agents.complete()\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erequest.messages.[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eresponse.choices.[].message\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.agents.stream()\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erequest.messages.[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eresponse.[].data.choices.[].delta.content.[array].[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.classifiers.moderate_chat()\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erequest.inputs.[array].[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.classifiers.classify_chat()\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mistralai/client-python/blob/v1.12.4/RELEASES.md\"\u003emistralai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2024-08-07 14:25:13\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cp\u003eBased on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpenAPI Doc\u003c/li\u003e\n\u003cli\u003eSpeakeasy CLI 1.356.0 (2.388.1) \u003ca href=\"https://github.com/speakeasy-api/speakeasy\"\u003ehttps://github.com/speakeasy-api/speakeasy\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eGenerated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[python v1.0.0] .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eReleases\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PyPI v1.0.0] \u003ca href=\"https://pypi.org/project/mistralai/1.0.0\"\u003ehttps://pypi.org/project/mistralai/1.0.0\u003c/a\u003e - .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2024-08-08 18:12:16\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cp\u003eBased on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpenAPI Doc\u003c/li\u003e\n\u003cli\u003eSpeakeasy CLI 1.357.4 (2.390.6) \u003ca href=\"https://github.com/speakeasy-api/speakeasy\"\u003ehttps://github.com/speakeasy-api/speakeasy\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eGenerated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[python v1.0.1] .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eReleases\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PyPI v1.0.1] \u003ca href=\"https://pypi.org/project/mistralai/1.0.1\"\u003ehttps://pypi.org/project/mistralai/1.0.1\u003c/a\u003e - .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2024-08-20 08:36:28\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cp\u003eBased on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpenAPI Doc\u003c/li\u003e\n\u003cli\u003eSpeakeasy CLI 1.376.0 (2.402.5) \u003ca href=\"https://github.com/speakeasy-api/speakeasy\"\u003ehttps://github.com/speakeasy-api/speakeasy\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eGenerated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[python v1.0.2] .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eReleases\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PyPI v1.0.2] \u003ca href=\"https://pypi.org/project/mistralai/1.0.2\"\u003ehttps://pypi.org/project/mistralai/1.0.2\u003c/a\u003e - .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2024-08-29 09:09:05\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cp\u003eBased on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpenAPI Doc\u003c/li\u003e\n\u003cli\u003eSpeakeasy CLI 1.382.0 (2.404.11) \u003ca href=\"https://github.com/speakeasy-api/speakeasy\"\u003ehttps://github.com/speakeasy-api/speakeasy\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eGenerated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[python v1.0.3] .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eReleases\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PyPI v1.0.3] \u003ca href=\"https://pypi.org/project/mistralai/1.0.3\"\u003ehttps://pypi.org/project/mistralai/1.0.3\u003c/a\u003e - .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2024-09-13 16:21:24\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cp\u003eBased on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpenAPI Doc\u003c/li\u003e\n\u003cli\u003eSpeakeasy CLI 1.396.7 (2.415.6) \u003ca href=\"https://github.com/speakeasy-api/speakeasy\"\u003ehttps://github.com/speakeasy-api/speakeasy\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eGenerated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[python v1.1.0] .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eReleases\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/mistralai/client-python/commit/c3f22d3c9bf7697f234872e34544eb6f9cdf3feb\"\u003e\u003ccode\u003ec3f22d3\u003c/code\u003e\u003c/a\u003e fix: change constFieldCasing from upper to normal (\u003ca href=\"https://redirect.github.com/mistralai/client-python/issues/361\"\u003e#361\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mistralai/client-python/commit/2b8a1268c98a2cf0d4aadc2ea5b71e7dbbbbb180\"\u003e\u003ccode\u003e2b8a126\u003c/code\u003e\u003c/a\u003e fix (\u003ca href=\"https://redirect.github.com/mistralai/client-python/issues/356\"\u003e#356\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mistralai/client-python/commit/25d4457ba0d6b020b133c7823f1f1efc79094ec4\"\u003e\u003ccode\u003e25d4457\u003c/code\u003e\u003c/a\u003e feat(audio): add PyAudio initialization check and error handling (\u003ca href=\"https://redirect...\n\n_Description has been truncated_","html_url":"https://github.com/DylanLRPollock/Monkey-Head-Project/pull/478","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/DylanLRPollock%2FMonkey-Head-Project/issues/478","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/478/packages"},{"uuid":"3977851219","node_id":"PR_kwDOJpb2687FoYvu","number":2473,"state":"closed","title":"chore(deps): bump the py-minor-and-patch group in /python with 11 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-24T01:49:47.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-23T12:08:22.000Z","updated_at":"2026-02-24T01:49:49.000Z","time_to_close":49285,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"py-minor-and-patch","update_count":11,"packages":[{"name":"uuid-utils","old_version":"0.14.0","new_version":"0.14.1","repository_url":"https://github.com/aminalaee/uuid-utils"},{"name":"openai-agents","old_version":"0.9.1","new_version":"0.9.3","repository_url":"https://github.com/openai/openai-agents-python"},{"name":"claude-agent-sdk","old_version":"0.1.37","new_version":"0.1.39","repository_url":"https://github.com/anthropics/claude-agent-sdk-python"},{"name":"google-adk","old_version":"1.14.1","new_version":"1.25.1","repository_url":"https://github.com/google/adk-python"},{"name":"rich","old_version":"14.3.2","new_version":"14.3.3","repository_url":"https://github.com/Textualize/rich"},{"name":"ruff","old_version":"0.15.1","new_version":"0.15.2","repository_url":"https://github.com/astral-sh/ruff"},{"name":"fastapi","old_version":"0.129.0","new_version":"0.131.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"langchain-core","old_version":"1.2.13","new_version":"1.2.14","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"google-genai","old_version":"1.63.0","new_version":"1.64.0","repository_url":"https://github.com/googleapis/python-genai"},{"name":"ty","old_version":"0.0.17","new_version":"0.0.18","repository_url":"https://github.com/astral-sh/ty"},{"name":"anthropic","old_version":"0.80.0","new_version":"0.83.0","repository_url":"https://github.com/anthropics/anthropic-sdk-python"}],"path":"/python","ecosystem":"pip"},"body":"Bumps the py-minor-and-patch group in /python with 11 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [uuid-utils](https://github.com/aminalaee/uuid-utils) | `0.14.0` | `0.14.1` |\n| [openai-agents](https://github.com/openai/openai-agents-python) | `0.9.1` | `0.9.3` |\n| [claude-agent-sdk](https://github.com/anthropics/claude-agent-sdk-python) | `0.1.37` | `0.1.39` |\n| [google-adk](https://github.com/google/adk-python) | `1.14.1` | `1.25.1` |\n| [rich](https://github.com/Textualize/rich) | `14.3.2` | `14.3.3` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.1` | `0.15.2` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.129.0` | `0.131.0` |\n| [langchain-core](https://github.com/langchain-ai/langchain) | `1.2.13` | `1.2.14` |\n| [google-genai](https://github.com/googleapis/python-genai) | `1.63.0` | `1.64.0` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.17` | `0.0.18` |\n| [anthropic](https://github.com/anthropics/anthropic-sdk-python) | `0.80.0` | `0.83.0` |\n\nUpdates `uuid-utils` from 0.14.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/aminalaee/uuid-utils/releases\"\u003euuid-utils's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse SPDX license identifier by \u003ca href=\"https://github.com/vargenau\"\u003e\u003ccode\u003e@​vargenau\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/pull/129\"\u003eaminalaee/uuid-utils#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix byte-order in \u003ccode\u003euuid1\u003c/code\u003e and \u003ccode\u003euuid6\u003c/code\u003e by \u003ca href=\"https://github.com/aminalaee\"\u003e\u003ccode\u003e@​aminalaee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/pull/130\"\u003eaminalaee/uuid-utils#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove uuid_unstable flag and minor docs update by \u003ca href=\"https://github.com/aminalaee\"\u003e\u003ccode\u003e@​aminalaee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com\"\u003ehttps://github.com\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/aminalaee/uuid-utils/compare/0.14.0...0.15.0\"\u003ehttps://github.com/aminalaee/uuid-utils/compare/0.14.0...0.15.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/aminalaee/uuid-utils/commit/c09cd2940a7403c3bb7438f39f9d6f748473280e\"\u003e\u003ccode\u003ec09cd29\u003c/code\u003e\u003c/a\u003e Version 0.14.1 (\u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/issues/134\"\u003e#134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/a547f37f69ca7e1bb72603aeb9399d767fd93d69\"\u003e\u003ccode\u003ea547f37\u003c/code\u003e\u003c/a\u003e Remove uuid_unstable flag and update docs (\u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/issues/133\"\u003e#133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/4c632bfe6388d8c631d92610ed69b57b93c7e183\"\u003e\u003ccode\u003e4c632bf\u003c/code\u003e\u003c/a\u003e Fix byte-order in \u003ccode\u003euuid1\u003c/code\u003e and \u003ccode\u003euuid6\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/issues/130\"\u003e#130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/a5aca8c3992ac6ad9473e1b6f775c9949d59157f\"\u003e\u003ccode\u003ea5aca8c\u003c/code\u003e\u003c/a\u003e Use SPDX license identifier (\u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/issues/129\"\u003e#129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/21d14455b9187e3da0588ff941b4e3af1a145d92\"\u003e\u003ccode\u003e21d1445\u003c/code\u003e\u003c/a\u003e Update Github Action (\u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/issues/132\"\u003e#132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/c935c3559f64c0586b0c8584d72d28698b3391eb\"\u003e\u003ccode\u003ec935c35\u003c/code\u003e\u003c/a\u003e Bump CodSpeedHQ/action from 4.8.2 to 4.10.2 (\u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/issues/126\"\u003e#126\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/c2613e30039ede0789409a5a849f00179c4d11e2\"\u003e\u003ccode\u003ec2613e3\u003c/code\u003e\u003c/a\u003e Bump uraimo/run-on-arch-action from 2.8.1 to 3.0.1 (\u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/issues/127\"\u003e#127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/df39faf8e824df52686b4cf7cb2d4d50bc804ea4\"\u003e\u003ccode\u003edf39faf\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6 (\u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/issues/128\"\u003e#128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/f1b61c7ed1c814a9a850a4f5ae0cc38b94060264\"\u003e\u003ccode\u003ef1b61c7\u003c/code\u003e\u003c/a\u003e Bump CodSpeedHQ/action from 4.5.2 to 4.8.2 (\u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/issues/124\"\u003e#124\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/08c833b3cb834dc41dac1f18b74126900e683d0e\"\u003e\u003ccode\u003e08c833b\u003c/code\u003e\u003c/a\u003e Bump astral-sh/setup-uv from 4 to 7 (\u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/issues/123\"\u003e#123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/aminalaee/uuid-utils/compare/0.14.0...0.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai-agents` from 0.9.1 to 0.9.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-agents-python/releases\"\u003eopenai-agents's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.9.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: strip \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2518\"\u003e#2518\u003c/a\u003e total_tokens from OpenAI tracing usage payloads by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2521\"\u003eopenai/openai-agents-python#2521\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.9.3 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2522\"\u003eopenai/openai-agents-python#2522\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.9.2...v0.9.3\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.9.2...v0.9.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.9.2\u003c/h2\u003e\n\u003ch2\u003eKey Changes\u003c/h2\u003e\n\u003ch3\u003ereasoning_item_id_policy: omit for reasoning models\u003c/h3\u003e\n\u003cp\u003eTo mitigate 400 errors caused by an inconsistent set of items when using reasoning models, this release introduces the \u003ccode\u003ereasoning_item_id_policy: 'omit'\u003c/code\u003e option to \u003ccode\u003eRunConfig\u003c/code\u003e. This is a new, opt-in option, so the default behavior is unchanged.\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003erun_config = RunConfig(reasoning_item_id_policy=\u0026quot;omit\u0026quot;)\r\nresult = await Runner.run(\r\n    agent,\r\n    \u0026quot;Tell me about recursion in programming.\u0026quot;,\r\n    run_config=run_config,\r\n)\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: persist reasoning item ID policy across resumes and streamed follow-up turns by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2512\"\u003eopenai/openai-agents-python#2512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: filter reasoning items from nested handoff input by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2508\"\u003eopenai/openai-agents-python#2508\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(voice): keep trace active until pipeline processing completes by \u003ca href=\"https://github.com/OiPunk\"\u003e\u003ccode\u003e@​OiPunk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2472\"\u003eopenai/openai-agents-python#2472\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocuments \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: update configuration details by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2507\"\u003eopenai/openai-agents-python#2507\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2509\"\u003eopenai/openai-agents-python#2509\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.9.2 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2510\"\u003eopenai/openai-agents-python#2510\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.9.1...v0.9.2\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.9.1...v0.9.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/openai/openai-agents-python/commit/2fee7ede4bd1c1f4e65da110ce62b05375cd14af\"\u003e\u003ccode\u003e2fee7ed\u003c/code\u003e\u003c/a\u003e Release 0.9.3 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2522\"\u003e#2522\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/3cefce90a15fdaea14dde8fbd7bf6823f58c2d40\"\u003e\u003ccode\u003e3cefce9\u003c/code\u003e\u003c/a\u003e fix: strip \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2518\"\u003e#2518\u003c/a\u003e total_tokens from OpenAI tracing usage payloads (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2521\"\u003e#2521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/f2f0b8c21ad9da7668674316ac4e036dbcb2cfc9\"\u003e\u003ccode\u003ef2f0b8c\u003c/code\u003e\u003c/a\u003e Release 0.9.2 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2510\"\u003e#2510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/74e8c1e22d7441bd42c58bcd4270937ccc2dca8c\"\u003e\u003ccode\u003e74e8c1e\u003c/code\u003e\u003c/a\u003e fix: persist reasoning item ID policy across resumes and streamed follow-up t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/3589b6b7ff85ed31307d052a0cfe5d601dc33f48\"\u003e\u003ccode\u003e3589b6b\u003c/code\u003e\u003c/a\u003e fix(voice): \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2470\"\u003e#2470\u003c/a\u003e keep trace active until pipeline processing completes (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2472\"\u003e#2472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/b96b0ce39d8006ac0fbcb7aa08206ece99e10012\"\u003e\u003ccode\u003eb96b0ce\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2509\"\u003e#2509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/6375b974c6774ad042a6188ddbefc2f7f8ebb229\"\u003e\u003ccode\u003e6375b97\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2503\"\u003e#2503\u003c/a\u003e filter reasoning items from nested handoff input (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2508\"\u003e#2508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/a23fe132461858670a37e267cb36f8e84318c14b\"\u003e\u003ccode\u003ea23fe13\u003c/code\u003e\u003c/a\u003e docs: update configuration details (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2507\"\u003e#2507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.9.1...v0.9.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `claude-agent-sdk` from 0.1.37 to 0.1.39\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/anthropics/claude-agent-sdk-python/releases\"\u003eclaude-agent-sdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.1.39\u003c/h2\u003e\n\u003ch3\u003eInternal/Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated bundled Claude CLI to version 2.1.49\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003ePyPI:\u003c/strong\u003e \u003ca href=\"https://pypi.org/project/claude-agent-sdk/0.1.39/\"\u003ehttps://pypi.org/project/claude-agent-sdk/0.1.39/\u003c/a\u003e\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003epip install claude-agent-sdk==0.1.39\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003ev0.1.38\u003c/h2\u003e\n\u003ch3\u003eInternal/Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated bundled Claude CLI to version 2.1.47\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003ePyPI:\u003c/strong\u003e \u003ca href=\"https://pypi.org/project/claude-agent-sdk/0.1.38/\"\u003ehttps://pypi.org/project/claude-agent-sdk/0.1.38/\u003c/a\u003e\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003epip install claude-agent-sdk==0.1.38\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\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/claude-agent-sdk-python/blob/main/CHANGELOG.md\"\u003eclaude-agent-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.1.39\u003c/h2\u003e\n\u003ch3\u003eInternal/Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated bundled Claude CLI to version 2.1.49\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.1.38\u003c/h2\u003e\n\u003ch3\u003eInternal/Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated bundled Claude CLI to version 2.1.47\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/claude-agent-sdk-python/commit/d36db8142e582276e3a727dc68bbe68807eb2c6d\"\u003e\u003ccode\u003ed36db81\u003c/code\u003e\u003c/a\u003e docs: update changelog for v0.1.39\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/claude-agent-sdk-python/commit/365b1068703c4ce8cd4b4d7db92a1a446ca51c65\"\u003e\u003ccode\u003e365b106\u003c/code\u003e\u003c/a\u003e chore: release v0.1.39\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/claude-agent-sdk-python/commit/1843be36c8613e77c93ce842aec17f59bc5f8aaf\"\u003e\u003ccode\u003e1843be3\u003c/code\u003e\u003c/a\u003e chore: bump bundled CLI version to 2.1.49\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/claude-agent-sdk-python/commit/0e9397e052ec5cb59a54b99c596df8d5656f2ccb\"\u003e\u003ccode\u003e0e9397e\u003c/code\u003e\u003c/a\u003e docs: update changelog for v0.1.38\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/claude-agent-sdk-python/commit/472223b69bdeab82bc77f35c1dac0f246a99fe6d\"\u003e\u003ccode\u003e472223b\u003c/code\u003e\u003c/a\u003e chore: release v0.1.38\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/claude-agent-sdk-python/commit/00b7c6ada80a08212192193363edc26e49d93f8a\"\u003e\u003ccode\u003e00b7c6a\u003c/code\u003e\u003c/a\u003e chore: bump bundled CLI version to 2.1.47\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/claude-agent-sdk-python/commit/79551daa2756e981e40f04c906718a5702e207fa\"\u003e\u003ccode\u003e79551da\u003c/code\u003e\u003c/a\u003e chore: bump bundled CLI version to 2.1.45\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/anthropics/claude-agent-sdk-python/compare/v0.1.37...v0.1.39\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-adk` from 1.14.1 to 1.25.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/releases\"\u003egoogle-adk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.25.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.25.0...v1.25.1\"\u003e1.25.1\u003c/a\u003e (2026-02-18)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickling lock errors in McpSessionManager (\u003ca href=\"https://github.com/google/adk-python/commit/4e2d6159ae3552954aaae295fef3e09118502898\"\u003e4e2d615\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.25.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.24.1...v1.25.0\"\u003e1.25.0\u003c/a\u003e (2026-02-11)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a demo for the simple prompt optimizer for the optimization interface (\u003ca href=\"https://github.com/google/adk-python/commit/0abf4cd2c7103a071506c9398455a3bd66fe5da5\"\u003e0abf4cd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--auto_create_session\u003c/code\u003e flag to \u003ccode\u003eadk api_server\u003c/code\u003e CLI (\u003ca href=\"https://github.com/google/adk-python/commit/40c15d059599472b40f48272a464eb3cb7345fc6\"\u003e40c15d0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eadd_events_to_memory\u003c/code\u003e facade for event-delta (\u003ca href=\"https://github.com/google/adk-python/commit/59e88972ae4f10274444593db0607f40cfcc597e\"\u003e59e8897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd post-invocation token-threshold compaction with event retention (\u003ca href=\"https://github.com/google/adk-python/commit/a88e8647558a9b9d0bfdf38d2d8de058e3ba0596\"\u003ea88e864\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd report generation to \u003ccode\u003eadk conformance test\u003c/code\u003e command (\u003ca href=\"https://github.com/google/adk-python/commit/43c437e38b9109b68a81de886d1901e4d8f87a01\"\u003e43c437e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Models]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd base_url option to Gemini LLM class (\u003ca href=\"https://github.com/google/adk-python/commit/781f605a1e5de6d77b69d7e7b9835ec6fc8de4bf\"\u003e781f605\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnhance google credentials config to support externally passed access token (\u003ca href=\"https://github.com/google/adk-python/commit/3cf43e3842d9987499ea70d6f63d6e1c4d4a07db\"\u003e3cf43e3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate agent simulator by improving prompts and add environment data (\u003ca href=\"https://github.com/google/adk-python/commit/7af1858f46b66fa4471c5ba7943385f2d23d08d3\"\u003e7af1858\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a load MCP resource tool (\u003ca href=\"https://github.com/google/adk-python/commit/e25227da5e91a8c1192af709f8e8bb2a471ded92\"\u003ee25227d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd SkillToolset to adk (\u003ca href=\"https://github.com/google/adk-python/commit/8d0279251ce4fad6f0c84bd7777eb5a74f7ba07a\"\u003e8d02792\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Web]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e/health\u003c/code\u003e and \u003ccode\u003e/version\u003c/code\u003e endpoints to ADK web server (\u003ca href=\"https://github.com/google/adk-python/commit/25ec2c6b614cf8d185ff6dbdac5697a210be68da\"\u003e25ec2c6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse async iteration for VertexAiSessionService.list_sessions pagination (\u003ca href=\"https://github.com/google/adk-python/commit/758d337c76d877e3174c35f06551cc9beb1def06\"\u003e758d337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix event loop closed bug in McpSessionManager (\u003ca href=\"https://github.com/google/adk-python/commit/4aa475145f196fb35fe97290dd9f928548bc737f\"\u003e4aa4751\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve thought_signature in function call conversions for interactions API integration (\u003ca href=\"https://github.com/google/adk-python/commit/20105690100d9c2f69c061ac08be5e94c50dc39c\"\u003e2010569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePropagate grounding and citation metadata in streaming responses (\u003ca href=\"https://github.com/google/adk-python/commit/e6da4172924ecc36ffc2535199c450a2a51c7bcc\"\u003ee6da417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd endpoints to get/list artifact version metadata (\u003ca href=\"https://github.com/google/adk-python/commit/e0b9712a492bf84ac17679095b333642a79b8ee6\"\u003ee0b9712\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport escaped curly braces in instruction templates (\u003ca href=\"https://github.com/google/adk-python/commit/7c7d25a4a6e4389e23037e70b8efdcd5341f44ea\"\u003e7c7d25a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStrip timezone for PostgreSQL timestamps in DatabaseSessionService (\u003ca href=\"https://github.com/google/adk-python/commit/19b607684f15ce2b6ffd60382211ba5600705743\"\u003e19b6076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrompt token may be None in streaming mode (\u003ca href=\"https://github.com/google/adk-python/commit/32ee07df01f10dbee0e98ca9d412440a7fe9163d\"\u003e32ee07d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePass invocation_id from \u003ccode\u003e/run\u003c/code\u003e endpoint to \u003ccode\u003eRunner.run_async\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/d2dba27134f833e5d929fdf363ada9364cc852f9\"\u003ed2dba27\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConditionally preserve function call IDs in LLM requests (\u003ca href=\"https://github.com/google/adk-python/commit/663cb75b3288d8d0649412e1009329502b21cbbc\"\u003e663cb75\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrate VertexAiMemoryBankService to use the async Vertex AI client (\u003ca href=\"https://github.com/google/adk-python/commit/64a44c28974de77cf8934f9c3d1bc03691b90e7b\"\u003e64a44c2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle list values in Gemini schema sanitization (\u003ca href=\"https://github.com/google/adk-python/commit/fd8a9e3962cca4f422beb7316cbe732edf726d51\"\u003efd8a9e3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUsed logger to log instead of print in MCP (\u003ca href=\"https://github.com/google/adk-python/commit/6bc70a6bab79b679a4b18ad146b3450fb9014475\"\u003e6bc70a6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\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/google/adk-python/blob/main/CHANGELOG.md\"\u003egoogle-adk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.25.0...v1.25.1\"\u003e1.25.1\u003c/a\u003e (2026-02-18)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickling lock errors in McpSessionManager (\u003ca href=\"https://github.com/google/adk-python/commit/4e2d6159ae3552954aaae295fef3e09118502898\"\u003e4e2d615\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.24.1...v1.25.0\"\u003e1.25.0\u003c/a\u003e (2026-02-11)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a demo for the simple prompt optimizer for the optimization interface (\u003ca href=\"https://github.com/google/adk-python/commit/0abf4cd2c7103a071506c9398455a3bd66fe5da5\"\u003e0abf4cd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--auto_create_session\u003c/code\u003e flag to \u003ccode\u003eadk api_server\u003c/code\u003e CLI (\u003ca href=\"https://github.com/google/adk-python/commit/40c15d059599472b40f48272a464eb3cb7345fc6\"\u003e40c15d0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eadd_events_to_memory\u003c/code\u003e facade for event-delta (\u003ca href=\"https://github.com/google/adk-python/commit/59e88972ae4f10274444593db0607f40cfcc597e\"\u003e59e8897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd post-invocation token-threshold compaction with event retention (\u003ca href=\"https://github.com/google/adk-python/commit/a88e8647558a9b9d0bfdf38d2d8de058e3ba0596\"\u003ea88e864\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd report generation to \u003ccode\u003eadk conformance test\u003c/code\u003e command (\u003ca href=\"https://github.com/google/adk-python/commit/43c437e38b9109b68a81de886d1901e4d8f87a01\"\u003e43c437e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Models]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd base_url option to Gemini LLM class (\u003ca href=\"https://github.com/google/adk-python/commit/781f605a1e5de6d77b69d7e7b9835ec6fc8de4bf\"\u003e781f605\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnhance google credentials config to support externally passed access token (\u003ca href=\"https://github.com/google/adk-python/commit/3cf43e3842d9987499ea70d6f63d6e1c4d4a07db\"\u003e3cf43e3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate agent simulator by improving prompts and add environment data (\u003ca href=\"https://github.com/google/adk-python/commit/7af1858f46b66fa4471c5ba7943385f2d23d08d3\"\u003e7af1858\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a load MCP resource tool (\u003ca href=\"https://github.com/google/adk-python/commit/e25227da5e91a8c1192af709f8e8bb2a471ded92\"\u003ee25227d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd SkillToolset to adk (\u003ca href=\"https://github.com/google/adk-python/commit/8d0279251ce4fad6f0c84bd7777eb5a74f7ba07a\"\u003e8d02792\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Web]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e/health\u003c/code\u003e and \u003ccode\u003e/version\u003c/code\u003e endpoints to ADK web server (\u003ca href=\"https://github.com/google/adk-python/commit/25ec2c6b614cf8d185ff6dbdac5697a210be68da\"\u003e25ec2c6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse async iteration for VertexAiSessionService.list_sessions pagination (\u003ca href=\"https://github.com/google/adk-python/commit/758d337c76d877e3174c35f06551cc9beb1def06\"\u003e758d337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix event loop closed bug in McpSessionManager (\u003ca href=\"https://github.com/google/adk-python/commit/4aa475145f196fb35fe97290dd9f928548bc737f\"\u003e4aa4751\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve thought_signature in function call conversions for interactions API integration (\u003ca href=\"https://github.com/google/adk-python/commit/20105690100d9c2f69c061ac08be5e94c50dc39c\"\u003e2010569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePropagate grounding and citation metadata in streaming responses (\u003ca href=\"https://github.com/google/adk-python/commit/e6da4172924ecc36ffc2535199c450a2a51c7bcc\"\u003ee6da417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd endpoints to get/list artifact version metadata (\u003ca href=\"https://github.com/google/adk-python/commit/e0b9712a492bf84ac17679095b333642a79b8ee6\"\u003ee0b9712\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport escaped curly braces in instruction templates (\u003ca href=\"https://github.com/google/adk-python/commit/7c7d25a4a6e4389e23037e70b8efdcd5341f44ea\"\u003e7c7d25a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStrip timezone for PostgreSQL timestamps in DatabaseSessionService (\u003ca href=\"https://github.com/google/adk-python/commit/19b607684f15ce2b6ffd60382211ba5600705743\"\u003e19b6076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrompt token may be None in streaming mode (\u003ca href=\"https://github.com/google/adk-python/commit/32ee07df01f10dbee0e98ca9d412440a7fe9163d\"\u003e32ee07d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePass invocation_id from \u003ccode\u003e/run\u003c/code\u003e endpoint to \u003ccode\u003eRunner.run_async\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/d2dba27134f833e5d929fdf363ada9364cc852f9\"\u003ed2dba27\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConditionally preserve function call IDs in LLM requests (\u003ca href=\"https://github.com/google/adk-python/commit/663cb75b3288d8d0649412e1009329502b21cbbc\"\u003e663cb75\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrate VertexAiMemoryBankService to use the async Vertex AI client (\u003ca href=\"https://github.com/google/adk-python/commit/64a44c28974de77cf8934f9c3d1bc03691b90e7b\"\u003e64a44c2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle list values in Gemini schema sanitization (\u003ca href=\"https://github.com/google/adk-python/commit/fd8a9e3962cca4f422beb7316cbe732edf726d51\"\u003efd8a9e3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUsed logger to log instead of print in MCP (\u003ca href=\"https://github.com/google/adk-python/commit/6bc70a6bab79b679a4b18ad146b3450fb9014475\"\u003e6bc70a6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReplace check of instance for LlmAgent with hasAttribute check (\u003ca href=\"https://github.com/google/adk-python/commit/7110336788662abb8c9bbbb0a53a50cc09130d5e\"\u003e7110336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLog exception details before re-raising in MCP session execution (\u003ca href=\"https://github.com/google/adk-python/commit/de79bf12b564a4eefc7e6a2568dbe0f08bb6efeb\"\u003ede79bf1\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/google/adk-python/commit/7a6b62da62f56e327a7782b123129247ba1e68f7\"\u003e\u003ccode\u003e7a6b62d\u003c/code\u003e\u003c/a\u003e chore(version): Bump version and update changelog for 1.25.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/3a1d459cd4702eda5d4267e03ad0717bd534b0c8\"\u003e\u003ccode\u003e3a1d459\u003c/code\u003e\u003c/a\u003e fix: Fix pickling lock errors in McpSessionManager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/8cd22fb746f2ddac83ba31f7679138557a914925\"\u003e\u003ccode\u003e8cd22fb\u003c/code\u003e\u003c/a\u003e chore(version): Bump version and update changelog for 1.25.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/079f7a38be5c2dcae604a93a8dabc2fd60af79db\"\u003e\u003ccode\u003e079f7a3\u003c/code\u003e\u003c/a\u003e fix: Support escaped curly braces in instruction templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/34da2d5b26e82f96f1951334fe974a0444843720\"\u003e\u003ccode\u003e34da2d5\u003c/code\u003e\u003c/a\u003e feat: enable dependency injection for agent loader in FastAPI app gen\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/bcbfeba953d46fca731b11542a00103cef374e57\"\u003e\u003ccode\u003ebcbfeba\u003c/code\u003e\u003c/a\u003e feat: pass trace context in MCP tool call's _meta field with Otel propagator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/9dccd6a69223925ed1c452189b33a922e6934643\"\u003e\u003ccode\u003e9dccd6a\u003c/code\u003e\u003c/a\u003e feat(conformance): read report's version info from the server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/38b4869c414c3e84616db81aafac49f41dd12fa9\"\u003e\u003ccode\u003e38b4869\u003c/code\u003e\u003c/a\u003e chore(ci): migrate release pipeline from release-please App to GitHub Actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/657acfadbbb6f81fd489aec11061715adce7c07f\"\u003e\u003ccode\u003e657acfa\u003c/code\u003e\u003c/a\u003e docs: Add PostgreSQL session storage sample and documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/61c329f8ce7659574410744ab3868ca002946ed8\"\u003e\u003ccode\u003e61c329f\u003c/code\u003e\u003c/a\u003e ci: match the environment with internal ones for pyink/isort/unittest\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/adk-python/compare/v1.14.1...v1.25.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rich` from 14.3.2 to 14.3.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/releases\"\u003erich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe infinite Release\u003c/h2\u003e\n\u003cp\u003eFixed a infinite loop in split_graphemes\u003c/p\u003e\n\u003ch2\u003e[14.3.3] - 2026-02-19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed infinite loop with \u003ccode\u003ecells.split_graphemes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4006\"\u003eTextualize/rich#4006\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/blob/master/CHANGELOG.md\"\u003erich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[14.3.3] - 2026-02-19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed infinite loop with \u003ccode\u003ecells.split_graphemes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4006\"\u003eTextualize/rich#4006\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/ce0118819d172d134507bcf5982d3faf82bbc43e\"\u003e\u003ccode\u003ece01188\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4008\"\u003e#4008\u003c/a\u003e from Textualize/bump1433\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/14a47c928241fe5cbf2f1adab0bb61fd1db3472f\"\u003e\u003ccode\u003e14a47c9\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/f54bfe062865187fe3bc733769dcd990a5a0ffe3\"\u003e\u003ccode\u003ef54bfe0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4007\"\u003e#4007\u003c/a\u003e from Textualize/copilot/sub-pr-4006\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/7338cb9dafd0d0e916585f191ae505b3e602bb51\"\u003e\u003ccode\u003e7338cb9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4006\"\u003e#4006\u003c/a\u003e from Textualize/fix-grapheme-stuck\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/905b397deb6b5ed59dfd80fa499c90e215f309c8\"\u003e\u003ccode\u003e905b397\u003c/code\u003e\u003c/a\u003e Update tests/test_cells.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/b031dca1d74f1f82a02d71e771b116ec4f9ad6c8\"\u003e\u003ccode\u003eb031dca\u003c/code\u003e\u003c/a\u003e Update tests/test_cells.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/f07a3fc5f5f4d5bfc0152cca4b103369934cd8b6\"\u003e\u003ccode\u003ef07a3fc\u003c/code\u003e\u003c/a\u003e Add regression tests for VS16 after zero-width chars in split_graphemes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/b618ccc7e310a92e555d6ec38a7f390b37192ef3\"\u003e\u003ccode\u003eb618ccc\u003c/code\u003e\u003c/a\u003e spelling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/378c34bd43eb4c9779ce1f7ff5dea376b34c91c5\"\u003e\u003ccode\u003e378c34b\u003c/code\u003e\u003c/a\u003e Initial plan\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/87e7ca27d0f8047e2d22c6ee9f7cf2c59e4c96af\"\u003e\u003ccode\u003e87e7ca2\u003c/code\u003e\u003c/a\u003e refinements, and tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.3.2...v14.3.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.15.1 to 0.15.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.2\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-19.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eExpand the default rule set (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23385\"\u003e#23385\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eIn preview, Ruff now enables a significantly expanded default rule set of 412 rules, up from the stable default set of 59 rules. The new rules are mostly a superset of the stable defaults, with the exception of these rules, which are removed from the preview defaults:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/multiple-imports-on-one-line\"\u003e\u003ccode\u003emultiple-imports-on-one-line\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE401\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file\"\u003e\u003ccode\u003emodule-import-not-at-top-of-file\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE402\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file\"\u003e\u003ccode\u003emodule-import-not-at-top-of-file\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE701\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/multiple-statements-on-one-line-semicolon\"\u003e\u003ccode\u003emultiple-statements-on-one-line-semicolon\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE702\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/useless-semicolon\"\u003e\u003ccode\u003euseless-semicolon\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE703\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/none-comparison\"\u003e\u003ccode\u003enone-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE711\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/true-false-comparison\"\u003e\u003ccode\u003etrue-false-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE712\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/not-in-test\"\u003e\u003ccode\u003enot-in-test\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE713\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/not-is-test\"\u003e\u003ccode\u003enot-is-test\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE714\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/type-comparison\"\u003e\u003ccode\u003etype-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE721\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/lambda-assignment\"\u003e\u003ccode\u003elambda-assignment\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE731\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-variable-name\"\u003e\u003ccode\u003eambiguous-variable-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE741\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-class-name\"\u003e\u003ccode\u003eambiguous-class-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE742\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-function-name\"\u003e\u003ccode\u003eambiguous-function-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE743\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-import-star\"\u003e\u003ccode\u003eundefined-local-with-import-star\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF403\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-import-star-usage\"\u003e\u003ccode\u003eundefined-local-with-import-star-usage\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF405\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage\"\u003e\u003ccode\u003eundefined-local-with-nested-import-star-usage\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF406\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/forward-annotation-syntax-error\"\u003e\u003ccode\u003eforward-annotation-syntax-error\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF722\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIf you use preview and prefer the old defaults, you can restore them with configuration like:\u003c/p\u003e\n\u003cpre lang=\"toml\"\u003e\u003ccode\u003e\r\n# ruff.toml\r\n\u003cp\u003e[lint]\nselect = [\u0026quot;E4\u0026quot;, \u0026quot;E7\u0026quot;, \u0026quot;E9\u0026quot;, \u0026quot;F\u0026quot;]\u003c/p\u003e\n\u003ch1\u003epyproject.toml\u003c/h1\u003e\n\u003cp\u003e[tool.ruff.lint]\nselect = [\u0026quot;E4\u0026quot;, \u0026quot;E7\u0026quot;, \u0026quot;E9\u0026quot;, \u0026quot;F\u0026quot;]\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eIf you do give them a try, feel free to share your feedback in the \u003ca href=\"https://github.com/astral-sh/ruff/discussions/23203\"\u003eGitHub discussion\u003c/a\u003e!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Also check string annotations (\u003ccode\u003ePYI041\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19023\"\u003e#19023\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.2\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-19.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eExpand the default rule set (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23385\"\u003e#23385\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eIn preview, Ruff now enables a significantly expanded default rule set of 412\nrules, up from the stable default set of 59 rules. The new rules are mostly a\nsuperset of the stable defaults, with the exception of these rules, which are\nremoved from the preview defaults:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/multiple-imports-on-one-line\"\u003e\u003ccode\u003emultiple-imports-on-one-line\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE401\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file\"\u003e\u003ccode\u003emodule-import-not-at-top-of-file\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE402\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file\"\u003e\u003ccode\u003emodule-import-not-at-top-of-file\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE701\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/multiple-statements-on-one-line-semicolon\"\u003e\u003ccode\u003emultiple-statements-on-one-line-semicolon\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE702\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/useless-semicolon\"\u003e\u003ccode\u003euseless-semicolon\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE703\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/none-comparison\"\u003e\u003ccode\u003enone-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE711\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/true-false-comparison\"\u003e\u003ccode\u003etrue-false-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE712\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/not-in-test\"\u003e\u003ccode\u003enot-in-test\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE713\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/not-is-test\"\u003e\u003ccode\u003enot-is-test\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE714\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/type-comparison\"\u003e\u003ccode\u003etype-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE721\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/lambda-assignment\"\u003e\u003ccode\u003elambda-assignment\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE731\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-variable-name\"\u003e\u003ccode\u003eambiguous-variable-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE741\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-class-name\"\u003e\u003ccode\u003eambiguous-class-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE742\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-function-name\"\u003e\u003ccode\u003eambiguous-function-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE743\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-import-star\"\u003e\u003ccode\u003eundefined-local-with-import-star\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF403\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-import-star-usage\"\u003e\u003ccode\u003eundefined-local-with-import-star-usage\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF405\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage\"\u003e\u003ccode\u003eundefined-local-with-nested-import-star-usage\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF406\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/forward-annotation-syntax-error\"\u003e\u003ccode\u003eforward-annotation-syntax-error\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF722\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIf you use preview and prefer the old defaults, you can restore them with\nconfiguration like:\u003c/p\u003e\n\u003cpre lang=\"toml\"\u003e\u003ccode\u003e\n# ruff.toml\n\u003cp\u003e[lint]\nselect = [\u0026quot;E4\u0026quot;, \u0026quot;E7\u0026quot;, \u0026quot;E9\u0026quot;, \u0026quot;F\u0026quot;]\u003c/p\u003e\n\u003ch1\u003epyproject.toml\u003c/h1\u003e\n\u003cp\u003e[tool.ruff.lint]\nselect = [\u0026quot;E4\u0026quot;, \u0026quot;E7\u0026quot;, \u0026quot;E9\u0026quot;, \u0026quot;F\u0026quot;]\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eIf you do give them a try, feel free to share your feedback in the \u003ca href=\"https://github.com/astral-sh/ruff/discussions/23203\"\u003eGitHub\ndiscussion\u003c/a\u003e!\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9d18ee9115f9cbb4c21478baa7c1fa2b46e0759c\"\u003e\u003ccode\u003e9d18ee9\u003c/code\u003e\u003c/a\u003e Hard code workflow name and \u003ccode\u003ecancel-in-progress\u003c/code\u003e only for PRs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23431\"\u003e#23431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7cc15f024b931fe56365f40de3fab01219c092c4\"\u003e\u003ccode\u003e7cc15f0\u003c/code\u003e\u003c/a\u003e Bump 0.15.2 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23430\"\u003e#23430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d1b544393ae9cddd8e48ebee8dbfd54bda89f375\"\u003e\u003ccode\u003ed1b5443\u003c/code\u003e\u003c/a\u003e Add extension mapping to configuration file options (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23384\"\u003e#23384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/222574af90c5c0ca8f84c8385cf30c7c10ac2496\"\u003e\u003ccode\u003e222574a\u003c/code\u003e\u003c/a\u003e Expand the default rule set (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23385\"\u003e#23385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1465b5de3829549b45397e9587b83ab7ac6d26d0\"\u003e\u003ccode\u003e1465b5d\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-async\u003c/code\u003e] Fix \u003ccode\u003ein_async_context\u003c/code\u003e logic (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23426\"\u003e#23426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/410902fa401afda969cc000f13be341896e6868e\"\u003e\u003ccode\u003e410902f\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epyupgrade\u003c/code\u003e] Fix handling of \u003ccode\u003etyping.{io,re}\u003c/code\u003e (\u003ccode\u003eUP035\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23131\"\u003e#23131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/729610acd9e19f57526e8ca40f355626154826bb\"\u003e\u003ccode\u003e729610a\u003c/code\u003e\u003c/a\u003e [ty] Fall back to ambiguous for large control flow graphs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23399\"\u003e#23399\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1425c185b0a47be87112762f65b5bf7e323fb950\"\u003e\u003ccode\u003e1425c18\u003c/code\u003e\u003c/a\u003e [ty] Add code folding support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/97acaaea5f993f33d3f5bb27c5db760a2f3d1e8a\"\u003e\u003ccode\u003e97acaae\u003c/code\u003e\u003c/a\u003e [ty] Fix stack overflow for self-referential \u003ccode\u003eTypeOf\u003c/code\u003e in annotations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23407\"\u003e#23407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1f380c82584a6dab7e8715bc7dd5ae187da1e69a\"\u003e\u003ccode\u003e1f380c8\u003c/code\u003e\u003c/a\u003e [ty] Update tests \u003ccode\u003ereveal_type\u003c/code\u003e and \u003ccode\u003eNever\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23418\"\u003e#23418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.1...0.15.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fastapi` from 0.129.0 to 0.131.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.131.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🗑️ Deprecate \u003ccode\u003eORJSONResponse\u003c/code\u003e and \u003ccode\u003eUJSONResponse\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14964\"\u003e#14964\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.130.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Serialize JSON response with Pydantic (in Rust), when there's a Pydantic return type or response model. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14962\"\u003e#14962\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 results in 2x (or more) performance increase for JSON responses.\u003c/li\u003e\n\u003cli\u003eNew docs: \u003ca href=\"https://fastapi.tiangolo.com/advanced/custom-response/#json-performance\"\u003eCustom Response - JSON Performance\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.129.2\u003c/h2\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆️ Upgrade pytest. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14959\"\u003e#14959\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 CI, do not attempt to publish \u003ccode\u003efastapi-slim\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14958\"\u003e#14958\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e➖ Drop support for \u003ccode\u003efastapi-slim\u003c/code\u003e, no more versions will be released, use only \u003ccode\u003e\u0026quot;fastapi[standard]\u0026quot;\u003c/code\u003e or \u003ccode\u003efastapi\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14957\"\u003e#14957\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 pyproject.toml, remove unneeded lines. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14956\"\u003e#14956\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.129.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Fix JSON Schema for bytes, use \u003ccode\u003e\u0026quot;contentMediaType\u0026quot;: \u0026quot;application/octet-stream\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;format\u0026quot;: \u0026quot;binary\u0026quot;\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14953\"\u003e#14953\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔨 Add Kapa.ai widget (AI chatbot). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14938\"\u003e#14938\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🔥 Remove Python 3.9 specific files, no longer needed after updating translations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14931\"\u003e#14931\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 JWT to prevent timing attacks. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14908\"\u003e#14908\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✏️ Fix several typos in ru translations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14934\"\u003e#14934\u003c/a\u003e by \u003ca href=\"https://github.com/argoarsiks\"\u003e\u003ccode\u003e@​argoarsiks\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ko (update-all and add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14923\"\u003e#14923\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 translations for uk (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14922\"\u003e#14922\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 translations for zh-hant (update-all and add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14921\"\u003e#14921\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 translations for fr (update-all and add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14920\"\u003e#14920\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 translations for de (update-all) . PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14910\"\u003e#14910\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 translations for ja (update-all). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14916\"\u003e#14916\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 translations for pt (update-all). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14912\"\u003e#14912\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 translations for es (update-all and add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14911\"\u003e#14911\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 translations for zh (update-all). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14917\"\u003e#14917\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 translations for uk (update-all). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14914\"\u003e#14914\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 translations for tr (update-all). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14913\"\u003e#14913\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 translations for ru (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14909\"\u003e#14909\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👷 Always run tests on push to \u003ccode\u003emaster\u003c/code\u003e branch and when run by scheduler. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14940\"\u003e#14940\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/b423b73c355bc401cb49f43cb5ca14515ac088cd\"\u003e\u003ccode\u003eb423b73\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.131.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/70e8558352ef5f60dbd95c95725a427e06e86a24\"\u003e\u003ccode\u003e70e8558\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/48e983573232eea970fb4e0261818d4ab9a481b2\"\u003e\u003ccode\u003e48e9835\u003c/code\u003e\u003c/a\u003e 🗑️ Deprecate \u003ccode\u003eORJSONResponse\u003c/code\u003e and \u003ccode\u003eUJSONResponse\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14964\"\u003e#14964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/2e62fb151338c39c1f122d13fe6ad255b8ce1ff2\"\u003e\u003ccode\u003e2e62fb1\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/eb544e704c02fd9bad34d23127cbb45255c00706\"\u003e\u003ccode\u003eeb544e7\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.130.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/bc06e4296d588f39f38c7ac2fc96d3913c565962\"\u003e\u003ccode\u003ebc06e42\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/590a5e535587cc07041ba12d308c748433ccb168\"\u003e\u003ccode\u003e590a5e5\u003c/code\u003e\u003c/a\u003e ✨ Serialize JSON response with Pydantic (in Rust), when there's a Pydantic re...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/1e78a36b7310003f0ff634627d8a7bc53c6ccdee\"\u003e\u003ccode\u003e1e78a36\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.129.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/f921de6495a9d770fafc62f81274bdb6c0ee1e31\"\u003e\u003ccode\u003ef921de6\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/4ab8138554ed830ba543e57e810fe47f22441e3a\"\u003e\u003ccode\u003e4ab8138\u003c/code\u003e\u003c/a\u003e ⬆️ Upgrade pytest (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14959\"\u003e#14959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.129.0...0.131.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `langchain-core` from 1.2.13 to 1.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/langchain-ai/langchain/releases\"\u003elangchain-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003elangchain-core==1.2.14\u003c/h2\u003e\n\u003cp\u003eChanges since langchain-core==1.2.13\u003c/p\u003e\n\u003cp\u003erelease(core): 1.2.14 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35328\"\u003e#35328\u003c/a\u003e)\nchore(core): remove \u003ccode\u003elangserve\u003c/code\u003e from sys info util, add \u003ccode\u003edeepagents\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35325\"\u003e#35325\u003c/a\u003e)\nfix(core): fix merge_lists incorrectly merging parallel tool calls (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35281\"\u003e#35281\u003c/a\u003e)\nfix(core): accept int temperature in _get_ls_params for LangSmith tracing (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35302\"\u003e#35302\u003c/a\u003e)\nrevert: accept integer temperature values in _get_ls_params (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35319\"\u003e#35319\u003c/a\u003e)\nfix(core): accept integer temperature values in _get_ls_params (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35317\"\u003e#35317\u003c/a\u003e)\ndocs(core): update load note to be precise (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35309\"\u003e#35309\u003c/a\u003e)\nfix(core): prevent recursion error when args_schema is dict (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35260\"\u003e#35260\u003c/a\u003e)\nfix(core): preserve index and timestamp fields when merging (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/34731\"\u003e#34731\u003c/a\u003e)\ndocs(core): add security warnings and best practices for deserialization (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35282\"\u003e#35282\u003c/a\u003e)\ndocs: fix docstring inaccuracies and update outdated LangSmith URLs (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35283\"\u003e#35283\u003c/a\u003e)\nfix(core): correct misleading jinja2 sandboxing comment (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35183\"\u003e#35183\u003c/a\u003e)\nchore: bump the langchain-deps group across 3 directories with 8 updates (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35257\"\u003e#35257\u003c/a\u003e)\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/9851838eb8c72f2d4e1036074032ba3a72cc3a0f\"\u003e\u003ccode\u003e9851838\u003c/code\u003e\u003c/a\u003e release(core): 1.2.14 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35328\"\u003e#35328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/18230f625f79aba25cbf9fb5500ab504cbb8f0bc\"\u003e\u003ccode\u003e18230f6\u003c/code\u003e\u003c/a\u003e chore(core): remove \u003ccode\u003elangserve\u003c/code\u003e from sys info util, add \u003ccode\u003edeepagents\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35325\"\u003e#35325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/83f81d65af659200afa6beede40f46fafff7e85e\"\u003e\u003ccode\u003e83f81d6\u003c/code\u003e\u003c/a\u003e fix(langchain): allow Gemini 3 models to use \u003ccode\u003eProviderStrategy\u003c/code\u003e with tools (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/5c6f8fe0a63442e594c7ea0c996e37c3de6def65\"\u003e\u003ccode\u003e5c6f8fe\u003c/code\u003e\u003c/a\u003e fix(openai): accept valid responses that are falsy at runtime (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35307\"\u003e#35307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/5053436dcfe531edd1619862f74c07c61fd57801\"\u003e\u003ccode\u003e5053436\u003c/code\u003e\u003c/a\u003e fix(core): fix merge_lists incorrectly merging parallel tool calls (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35281\"\u003e#35281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/3686bcbd966ff1ef13e5fdbde28aa0e630ddd5c4\"\u003e\u003ccode\u003e3686bcb\u003c/code\u003e\u003c/a\u003e fix(core): accept int temperature in _get_ls_params for LangSmith tracing (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/9c160e2368f7f44bd41e967a7b3371208cf13a52\"\u003e\u003ccode\u003e9c160e2\u003c/code\u003e\u003c/a\u003e revert: accept integer temperature values in _get_ls_params (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35319\"\u003e#35319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/269947b11f3b78eb800dd3fe12f3c07151ac9feb\"\u003e\u003ccode\u003e269947b\u003c/code\u003e\u003c/a\u003e release(text-splitters): 1.1.1 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35318\"\u003e#35318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/a9f3627229ce3c27e0046730e91e3a7e670b88a4\"\u003e\u003ccode\u003ea9f3627\u003c/code\u003e\u003c/a\u003e fix(core): accept integer temperature values in _get_ls_params (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35317\"\u003e#35317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/8951c01fe8b0c6cec28e3ef82d150a17fcf9f4d7\"\u003e\u003ccode\u003e8951c01\u003c/code\u003e\u003c/a\u003e fix(text-splitters): prevent JSFrameworkTextSplitter from mutating self._sepa...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/langchain-ai/langchain/compare/langchain-core==1.2.13...langchain-core==1.2.14\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-genai` from 1.63.0 to 1.64.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-genai/releases\"\u003egoogle-genai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.64.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.63.0...v1.64.0\"\u003e1.64.0\u003c/a\u003e (2026-02-18)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd UnifiedMetric support to Vertex Tuning evaluation config (\u003ca href=\"https://github.com/googleapis/python-genai/commit/9a9908a9605756a94404359187cad09b21c094e0\"\u003e9a9908a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport multimodal embedding for Gemini Embedding 2.0 and support MaaS models in Models.embed_content() (Vertex AI API) (\u003ca href=\"https://github.com/googleapis/python-genai/commit/af40cc629751b2d389eecb75741e9c3531cc8e6e\"\u003eaf40cc6\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/googleapis/python-genai/blob/main/CHANGELOG.md\"\u003egoogle-genai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.63.0...v1.64.0\"\u003e1.64.0\u003c/a\u003e (2026-02-18)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd UnifiedMetric support to Vertex Tuning evaluation config (\u003ca href=\"https://github.com/googleapis/python-genai/commit/9a9908a9605756a94404359187cad09b21c094e0\"\u003e9a9908a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport multimodal embedding for Gemini Embedding 2.0 and support MaaS models in Models.embed_content() (Vertex AI API) (\u003ca href=\"https://github.com/googleapis/python-genai/commit/af40cc629751b2d389eecb75741e9c3531cc8e6e\"\u003eaf40cc6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/cff95b45b3eb6d201539f5b92901adc803ddad2a\"\u003e\u003ccode\u003ecff95b4\u003c/code\u003e\u003c/a\u003e chore(main): release 1.64.0 (\u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/2054\"\u003e#2054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/3e8eef80288ae63cde7115877c64207845f16442\"\u003e\u003ccode\u003e3e8eef8\u003c/code\u003e\u003c/a\u003e chore: Make discriminator properties required in Interactions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/2ab5ea72ffb94c5ec26de8f9560321f372ff0651\"\u003e\u003ccode\u003e2ab5ea7\u003c/code\u003e\u003c/a\u003e chore: migrate to gcloud storage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/e55004c33781b27d38780ea705cbba6858246c4a\"\u003e\u003ccode\u003ee55004c\u003c/code\u003e\u003c/a\u003e chore: Add aiohttp as a required dependency.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/fafc3d80179d642a4adf4bce42e05a0045f8c1be\"\u003e\u003ccode\u003efafc3d8\u003c/code\u003e\u003c/a\u003e chore: Add type assertions and ignore type overlap in genai libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/af40cc629751b2d389eecb75741e9c3531cc8e6e\"\u003e\u003ccode\u003eaf40cc6\u003c/code\u003e\u003c/a\u003e feat: Support multimodal embedding for Gemini Embedding 2.0 and support MaaS ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/9a9908a9605756a94404359187cad09b21c094e0\"\u003e\u003ccode\u003e9a9908a\u003c/code\u003e\u003c/a\u003e feat: Add UnifiedMetric support to Vertex Tuning evaluation config\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.63.0...v1.64.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ty` from 0.0.17 to 0.0.18\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/releases\"\u003ety's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.18\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-20.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport classes dynamically created via \u003ccode\u003etype(...)\u003c/code\u003e with cyclic bases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22792\"\u003e#22792\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix incorrect types inferred when unpacking mixed tuples (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23437\"\u003e#23437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflow for self-referential \u003ccode\u003eTypeOf\u003c/code\u003e in annotations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23407\"\u003e#23407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix several server panics that could occur when computing semantic tokens for the current file (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23403\"\u003e#23403\u003c/a\u003e), \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23398\"\u003e#23398\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23401\"\u003e#23401\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd code folding support (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23393\"\u003e#23393\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd warning message when running \u003ccode\u003ety server\u003c/code\u003e interactively (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23416\"\u003e#23416\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExclude test-related symbols from non-first-party packages in auto-import completions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23252\"\u003e#23252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where diagnostics could disappear after opening an external file (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23447\"\u003e#23447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove spurious destination for Go-To Definition on variables defined in a loop (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23391\"\u003e#23391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse the fully qualified name when \u0026quot;baking\u0026quot; an inlay hint into the source code if the scope already contains a variable with the same name as the unqualified name (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23265\"\u003e#23265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve TypeVars in \u003ccode\u003ecall_signature_details\u003c/code\u003e parameter types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23149\"\u003e#23149\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--output-format\u003c/code\u003e to \u003ccode\u003ety version\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23387\"\u003e#23387\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ereplace-imports-with-any\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23122\"\u003e#23122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport shellexpand for configuration paths (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23274\"\u003e#23274\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eType checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a new diagnostic to detect invalid class patterns in \u003ccode\u003ematch\u003c/code\u003e statements (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22939\"\u003e#22939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003eSelf\u003c/code\u003e in \u003ccode\u003eClassVar\u003c/code\u003e type annotations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23362\"\u003e#23362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider synthesized methods and \u003ccode\u003eClassVar\u003c/code\u003e-qualified declarations when determining whether an abstract method has been overridden in a subclass (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23381\"\u003e#23381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a diagnostic when combining \u003ccode\u003eFinal\u003c/code\u003e and \u003ccode\u003eClassVar\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23365\"\u003e#23365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix return type of \u003ccode\u003eassert_never\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23389\"\u003e#23389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eassert_type\u003c/code\u003e diagnostic messages (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23342\"\u003e#23342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBan PEP-613 type alias values from containing type-qualifier special forms (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23444\"\u003e#23444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInfer \u003ccode\u003eLiteralString\u003c/code\u003e for \u003ccode\u003ef\u0026quot;{literal_str_a} {literal_str_b}\u0026quot;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23346\"\u003e#23346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInfer precise types for bit-shift operations on integer literals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23301\"\u003e#23301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003e[abstract-method-in-final-class]\u003c/code\u003e diagnostics less verbose for classes with many abstract methods (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23379\"\u003e#23379\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove diagnostics for abstract \u003ccode\u003e@final\u003c/code\u003e classes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23376\"\u003e#23376\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly perform literal promotion for implicitly inferred literals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23107\"\u003e#23107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eParenthesize callable types when they appear in the return annotation of other callable types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23327\"\u003e#23327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider a call to a generic function returning \u003ccode\u003eNever\u003c/code\u003e to terminate control flow (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23419\"\u003e#23419\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport calls to intersection types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22469\"\u003e#22469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValidate annotated assignments to attributes on self (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23388\"\u003e#23388\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat a bytes-literal type as a subtype of \u003ccode\u003eSequence[\u0026lt;constituent integers in the bytestring\u0026gt;]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23329\"\u003e#23329\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/blob/main/CHANGELOG.md\"\u003ety's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.18\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-20.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport classes dynamically created via \u003ccode\u003etype(...)\u003c/code\u003e with cyclic bases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22792\"\u003e#22792\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix incorrect types inferred when unpacking mixed tuples (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23437\"\u003e#23437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflow for self-referential \u003ccode\u003eTypeOf\u003c/code\u003e in annotations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23407\"\u003e#23407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix several server panics that could occur when computing semantic tokens for the current file (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23403\"\u003e#23403\u003c/a\u003e), \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23398\"\u003e#23398\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23401\"\u003e#23401\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd code folding support (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23393\"\u003e#23393\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd warning message when running \u003ccode\u003ety server\u003c/code\u003e interactively (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23416\"\u003e#23416\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExclude test-related symbols from non-first-party packages in auto-import completions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23252\"\u003e#23252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where diagnostics could disappear after opening an external file (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23447\"\u003e#23447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove spurious destination for Go-To Definition on variables defined in a loop (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23391\"\u003e#23391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse the fully qualified name when \u0026quot;baking\u0026quot; an inlay hint into the source code if the scope already contains a variable with the same name as the unqualified name (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23265\"\u003e#23265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve TypeVars in \u003ccode\u003ecall_signature_details\u003c/code\u003e parameter types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23149\"\u003e#23149\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--output-format\u003c/code\u003e to \u003ccode\u003ety version\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23387\"\u003e#23387\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ereplace-imports-with-any\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23122\"\u003e#23122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport shellexpand for configuration paths (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23274\"\u003e#23274\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eType checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a new diagnostic to detect invalid class patterns in \u003ccode\u003ematch\u003c/code\u003e statements (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22939\"\u003e#22939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003eSelf\u003c/code\u003e in \u003ccode\u003eClassVar\u003c/code\u003e type annotations (\u003ca href=\"https://redirect.git...\n\n_Description has been truncated_","html_url":"https://github.com/langchain-ai/langsmith-sdk/pull/2473","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/langchain-ai%2Flangsmith-sdk/issues/2473","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2473/packages"},{"uuid":"3894238435","node_id":"PR_kwDOK8weY87BWQPM","number":457,"state":"closed","title":"deps(pip)(deps): bump the python-minor-patch group across 1 directory with 38 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-11T02:40:13.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-04T02:42:03.000Z","updated_at":"2026-02-11T02:40:15.000Z","time_to_close":604690,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(pip)(deps): bump","group_name":"python-minor-patch","update_count":38,"packages":[{"name":"anthropic","old_version":"0.76.0","new_version":"0.77.1"},{"name":"google-genai","old_version":"1.57.0","new_version":"1.61.0","repository_url":"https://github.com/googleapis/python-genai"},{"name":"llama-cloud-services","old_version":"0.6.89","new_version":"0.6.92","repository_url":"https://github.com/run-llama/llama_cloud_services"},{"name":"llama-index","old_version":"0.14.12","new_version":"0.14.13","repository_url":"https://github.com/run-llama/llama_index"},{"name":"llama-index-core","old_version":"0.14.12","new_version":"0.14.13","repository_url":"https://github.com/run-llama/llama_index"},{"name":"llama-index-embeddings-gemini","old_version":"0.4.1","new_version":"0.4.2"},{"name":"llama-index-llms-anthropic","old_version":"0.10.5","new_version":"0.10.7"},{"name":"llama-index-llms-gemini","old_version":"0.6.1","new_version":"0.6.2"},{"name":"llama-index-llms-google-genai","old_version":"0.8.3","new_version":"0.8.6"},{"name":"llama-index-llms-huggingface-api","old_version":"0.6.1","new_version":"0.6.2"},{"name":"llama-index-llms-openai","old_version":"0.6.13","new_version":"0.6.17"},{"name":"llama-index-llms-openai-like","old_version":"0.5.3","new_version":"0.6.0"},{"name":"llama-index-workflows","old_version":"2.12.0","new_version":"2.13.1"},{"name":"llama-parse","old_version":"0.6.89","new_version":"0.6.92"},{"name":"mistralai","old_version":"1.10.0","new_version":"1.11.1","repository_url":"https://github.com/mistralai/client-python"},{"name":"openai","old_version":"2.15.0","new_version":"2.16.0","repository_url":"https://github.com/openai/openai-python"},{"name":"openai-agents","old_version":"0.6.5","new_version":"0.7.0","repository_url":"https://github.com/openai/openai-agents-python"},{"name":"chromadb","old_version":"1.4.0","new_version":"1.4.1","repository_url":"https://github.com/chroma-core/chroma"},{"name":"elasticsearch","old_version":"9.2.1","new_version":"9.3.0","repository_url":"https://github.com/elastic/elasticsearch-py"},{"name":"pinecone-plugin-assistant","old_version":"3.0.1","new_version":"3.0.2"},{"name":"boto3","old_version":"1.42.27","new_version":"1.42.41","repository_url":"https://github.com/boto/boto3"},{"name":"botocore","old_version":"1.42.27","new_version":"1.42.41","repository_url":"https://github.com/boto/botocore"},{"name":"debugpy","old_version":"1.8.19","new_version":"1.8.20","repository_url":"https://github.com/microsoft/debugpy"},{"name":"ruff","old_version":"0.14.11","new_version":"0.15.0","repository_url":"https://github.com/astral-sh/ruff"},{"name":"sse-starlette","old_version":"3.1.2","new_version":"3.2.0","repository_url":"https://github.com/sysid/sse-starlette"},{"name":"starlette","old_version":"0.51.0","new_version":"0.52.1","repository_url":"https://github.com/Kludex/starlette"},{"name":"python-multipart","old_version":"0.0.21","new_version":"0.0.22","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"orjson","old_version":"3.11.5","new_version":"3.11.7","repository_url":"https://github.com/ijl/orjson"},{"name":"psutil","old_version":"7.2.1","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"wheel","old_version":"0.45.1","new_version":"0.46.3","repository_url":"https://github.com/pypa/wheel"},{"name":"huggingface-hub","old_version":"1.3.1","new_version":"1.3.7","repository_url":"https://github.com/huggingface/huggingface_hub"},{"name":"numpy","old_version":"2.4.1","new_version":"2.4.2","repository_url":"https://github.com/numpy/numpy"},{"name":"duckdb","old_version":"1.4.3","new_version":"1.4.4","repository_url":"https://github.com/duckdb/duckdb-python"},{"name":"google-cloud-aiplatform","old_version":"1.133.0","new_version":"1.135.0","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"uv","old_version":"0.9.25","new_version":"0.9.29","repository_url":"https://github.com/astral-sh/uv"},{"name":"rich","old_version":"14.2.0","new_version":"14.3.2","repository_url":"https://github.com/Textualize/rich"},{"name":"bandit","old_version":"1.9.2","new_version":"1.9.3","repository_url":"https://github.com/PyCQA/bandit"},{"name":"sounddevice","old_version":"0.5.3","new_version":"0.5.5","repository_url":"https://github.com/spatialaudio/python-sounddevice"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor-patch group with 38 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [anthropic[bedrock,vertex]](https://github.com/anthropics/anthropic-sdk-python) | `0.76.0` | `0.77.1` |\n| [google-genai](https://github.com/googleapis/python-genai) | `1.57.0` | `1.61.0` |\n| [llama-cloud-services](https://github.com/run-llama/llama_cloud_services) | `0.6.89` | `0.6.92` |\n| [llama-index](https://github.com/run-llama/llama_index) | `0.14.12` | `0.14.13` |\n| [llama-index-core](https://github.com/run-llama/llama_index) | `0.14.12` | `0.14.13` |\n| llama-index-embeddings-gemini | `0.4.1` | `0.4.2` |\n| llama-index-llms-anthropic | `0.10.5` | `0.10.7` |\n| llama-index-llms-gemini | `0.6.1` | `0.6.2` |\n| llama-index-llms-google-genai | `0.8.3` | `0.8.6` |\n| llama-index-llms-huggingface-api | `0.6.1` | `0.6.2` |\n| llama-index-llms-openai | `0.6.13` | `0.6.17` |\n| llama-index-llms-openai-like | `0.5.3` | `0.6.0` |\n| llama-index-workflows | `2.12.0` | `2.13.1` |\n| llama-parse | `0.6.89` | `0.6.92` |\n| [mistralai](https://github.com/mistralai/client-python) | `1.10.0` | `1.11.1` |\n| [openai](https://github.com/openai/openai-python) | `2.15.0` | `2.16.0` |\n| [openai-agents](https://github.com/openai/openai-agents-python) | `0.6.5` | `0.7.0` |\n| [chromadb](https://github.com/chroma-core/chroma) | `1.4.0` | `1.4.1` |\n| [elasticsearch](https://github.com/elastic/elasticsearch-py) | `9.2.1` | `9.3.0` |\n| [pinecone-plugin-assistant](https://www.pinecone.io) | `3.0.1` | `3.0.2` |\n| [boto3](https://github.com/boto/boto3) | `1.42.27` | `1.42.41` |\n| [botocore](https://github.com/boto/botocore) | `1.42.27` | `1.42.41` |\n| [debugpy](https://github.com/microsoft/debugpy) | `1.8.19` | `1.8.20` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.11` | `0.15.0` |\n| [sse-starlette](https://github.com/sysid/sse-starlette) | `3.1.2` | `3.2.0` |\n| [starlette](https://github.com/Kludex/starlette) | `0.51.0` | `0.52.1` |\n| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.21` | `0.0.22` |\n| [orjson](https://github.com/ijl/orjson) | `3.11.5` | `3.11.7` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.2.1` | `7.2.2` |\n| [wheel](https://github.com/pypa/wheel) | `0.45.1` | `0.46.3` |\n| [huggingface-hub](https://github.com/huggingface/huggingface_hub) | `1.3.1` | `1.3.7` |\n| [numpy](https://github.com/numpy/numpy) | `2.4.1` | `2.4.2` |\n| [duckdb](https://github.com/duckdb/duckdb-python) | `1.4.3` | `1.4.4` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.133.0` | `1.135.0` |\n| [uv](https://github.com/astral-sh/uv) | `0.9.25` | `0.9.29` |\n| [rich](https://github.com/Textualize/rich) | `14.2.0` | `14.3.2` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.9.2` | `1.9.3` |\n| [sounddevice](https://github.com/spatialaudio/python-sounddevice) | `0.5.3` | `0.5.5` |\n\n\nUpdates `anthropic[bedrock,vertex]` from 0.76.0 to 0.77.1\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[bedrock,vertex]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.77.1\u003c/h2\u003e\n\u003ch2\u003e0.77.1 (2026-02-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.77.0...v0.77.1\"\u003ev0.77.0...v0.77.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003estructured outputs:\u003c/strong\u003e send structured output beta header when format is omitted (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1158\"\u003e#1158\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/258494e2b814a6a096b01e50f83560b4cf4a98ad\"\u003e258494e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eremove claude-code-review workflow (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1338\"\u003e#1338\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/aec4512305e8dce41df8ef0ab225f4939e099bcf\"\u003eaec4512\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.77.0\u003c/h2\u003e\n\u003ch2\u003e0.77.0 (2026-01-29)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.76.0...v0.77.0\"\u003ev0.76.0...v0.77.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 Structured Outputs in the Messages API (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/ad5667774ad2e7efd181bcfda03fab3ea50630b9\"\u003ead56677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e migrate sending message format in output_config rather than output_format (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/af405e473f7cf6091cb8e711264227b9b0508528\"\u003eaf405e4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add custom JSON encoder for extended type support (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/7780e90bd2fe4c1116d59bc0ad543aa609fc643d\"\u003e7780e90\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse output_config for structured outputs (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/82d669db652ed3d9aede61fd500fabb291b8f035\"\u003e82d669d\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 run formatter (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/2e4ff86d7b8bef8fe5c4b7e62bf47dfff79f0577\"\u003e2e4ff86\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove class causing breaking change (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1333\"\u003e#1333\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/81ee9533d14f9dc3753a4a1320ea744825b17e92\"\u003e81ee953\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003estructured outputs:\u003c/strong\u003e avoid including beta header if \u003ccode\u003eoutput_format\u003c/code\u003e is missing (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1121\"\u003e#1121\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/062077e50d182719637403576f59761999b3b2f5\"\u003e062077e\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 upgrade \u003ccode\u003eactions/github-script\u003c/code\u003e (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/34df6160ad386a7e8848e3435b22bd18bd726702\"\u003e34df616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e update \u003ccode\u003eactions/checkout\u003c/code\u003e version (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/ea50de95bd1e43b8f00a45ef472330a3c8b396c8\"\u003eea50de9\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/blob/main/CHANGELOG.md\"\u003eanthropic[bedrock,vertex]'s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.77.1 (2026-02-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.77.0...v0.77.1\"\u003ev0.77.0...v0.77.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003estructured outputs:\u003c/strong\u003e send structured output beta header when format is omitted (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1158\"\u003e#1158\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/258494e2b814a6a096b01e50f83560b4cf4a98ad\"\u003e258494e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eremove claude-code-review workflow (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1338\"\u003e#1338\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/aec4512305e8dce41df8ef0ab225f4939e099bcf\"\u003eaec4512\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.77.0 (2026-01-29)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.76.0...v0.77.0\"\u003ev0.76.0...v0.77.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 Structured Outputs in the Messages API (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/ad5667774ad2e7efd181bcfda03fab3ea50630b9\"\u003ead56677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e migrate sending message format in output_config rather than output_format (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/af405e473f7cf6091cb8e711264227b9b0508528\"\u003eaf405e4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add custom JSON encoder for extended type support (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/7780e90bd2fe4c1116d59bc0ad543aa609fc643d\"\u003e7780e90\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse output_config for structured outputs (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/82d669db652ed3d9aede61fd500fabb291b8f035\"\u003e82d669d\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 run formatter (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/2e4ff86d7b8bef8fe5c4b7e62bf47dfff79f0577\"\u003e2e4ff86\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove class causing breaking change (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1333\"\u003e#1333\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/81ee9533d14f9dc3753a4a1320ea744825b17e92\"\u003e81ee953\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003estructured outputs:\u003c/strong\u003e avoid including beta header if \u003ccode\u003eoutput_format\u003c/code\u003e is missing (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1121\"\u003e#1121\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/062077e50d182719637403576f59761999b3b2f5\"\u003e062077e\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 upgrade \u003ccode\u003eactions/github-script\u003c/code\u003e (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/34df6160ad386a7e8848e3435b22bd18bd726702\"\u003e34df616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e update \u003ccode\u003eactions/checkout\u003c/code\u003e version (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/ea50de95bd1e43b8f00a45ef472330a3c8b396c8\"\u003eea50de9\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/3955600d74eafef1eef5a66f460b54ed5deaf130\"\u003e\u003ccode\u003e3955600\u003c/code\u003e\u003c/a\u003e release: 0.77.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/eca8ddfb199a012ac8d5fd362757c4155afcb419\"\u003e\u003ccode\u003eeca8ddf\u003c/code\u003e\u003c/a\u003e fix(structured outputs): send structured output beta header when format is om...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/ee44c52131650fb17ee618d20d17f792d5071230\"\u003e\u003ccode\u003eee44c52\u003c/code\u003e\u003c/a\u003e chore: remove claude-code-review workflow (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/9c485f6966e10ae0ea9eabb3a921d2ea8145a25b\"\u003e\u003ccode\u003e9c485f6\u003c/code\u003e\u003c/a\u003e release: 0.77.0 (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1117\"\u003e#1117\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.76.0...v0.77.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-genai` from 1.57.0 to 1.61.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-genai/releases\"\u003egoogle-genai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.61.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.60.0...v1.61.0\"\u003e1.61.0\u003c/a\u003e (2026-01-30)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003einclude_input\u003c/code\u003e query parameter to Get Interaction endpoint. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a0240d9cf4c817d1737cb2cf818d405addabeed8\"\u003ea0240d9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd registerFiles for you can use gcs files with mldev. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/965395b2f640a7d92a6df3d03020f4d15fe6b2fa\"\u003e965395b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport distillation tuning (\u003ca href=\"https://github.com/googleapis/python-genai/commit/9e49d71c5aa70066cb0c81c7bef9770294dbcceb\"\u003e9e49d71\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport OSS Tuning in GenAI SDK (\u003ca href=\"https://github.com/googleapis/python-genai/commit/51748a7559fb038f2cd5ce290025d6259bb61ae0\"\u003e51748a7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd metadata in batch inlined response (\u003ca href=\"https://github.com/googleapis/python-genai/commit/08c47aa1a4237daed90d86d38ccb4590c25c8ab8\"\u003e08c47aa\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.60.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.59.0...v1.60.0\"\u003e1.60.0\u003c/a\u003e (2026-01-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd ModelArmorConfig support for prompt and response sanitization via the Model Armor service (\u003ca href=\"https://github.com/googleapis/python-genai/commit/8d1091a7e8d8eef774984ff2202cb87fa674e92e\"\u003e8d1091a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerate docs for 1.59.0 (\u003ca href=\"https://github.com/googleapis/python-genai/commit/351e4901c7c8178a2bbb876148cbe441a77b071e\"\u003e351e490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate docs to include interactions and file_search_stores module (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a21841cad53b73a54eef322a66cebd2c42c57bea\"\u003ea21841c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.59.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.58.0...v1.59.0\"\u003e1.59.0\u003c/a\u003e (2026-01-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSet the environment variable GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES to 'false' within BaseApiClient to disable bound token sharing. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/79ac88081ab3629f2eaab72bd004a3481affeac0\"\u003e79ac880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport 4:5 and 5:4 aspect ratio in Interactions (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1ddd9f1dfd2fecc53941dab04d5fc2f2891203e3\"\u003e1ddd9f1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerate docs for 1.58.0 (\u003ca href=\"https://github.com/googleapis/python-genai/commit/39a8b064ca5e6f2c80d313ead9ef1e0e8192a513\"\u003e39a8b06\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.58.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.57.0...v1.58.0\"\u003e1.58.0\u003c/a\u003e (2026-01-14)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-genai/blob/main/CHANGELOG.md\"\u003egoogle-genai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.60.0...v1.61.0\"\u003e1.61.0\u003c/a\u003e (2026-01-30)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003einclude_input\u003c/code\u003e query parameter to Get Interaction endpoint. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a0240d9cf4c817d1737cb2cf818d405addabeed8\"\u003ea0240d9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd registerFiles for you can use gcs files with mldev. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/965395b2f640a7d92a6df3d03020f4d15fe6b2fa\"\u003e965395b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport distillation tuning (\u003ca href=\"https://github.com/googleapis/python-genai/commit/9e49d71c5aa70066cb0c81c7bef9770294dbcceb\"\u003e9e49d71\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport OSS Tuning in GenAI SDK (\u003ca href=\"https://github.com/googleapis/python-genai/commit/51748a7559fb038f2cd5ce290025d6259bb61ae0\"\u003e51748a7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd metadata in batch inlined response (\u003ca href=\"https://github.com/googleapis/python-genai/commit/08c47aa1a4237daed90d86d38ccb4590c25c8ab8\"\u003e08c47aa\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.59.0...v1.60.0\"\u003e1.60.0\u003c/a\u003e (2026-01-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd ModelArmorConfig support for prompt and response sanitization via the Model Armor service (\u003ca href=\"https://github.com/googleapis/python-genai/commit/8d1091a7e8d8eef774984ff2202cb87fa674e92e\"\u003e8d1091a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate data types from discovery doc. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/42092898071f8462d307105830a72bfe48db0935\"\u003e4209289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate data types from discovery doc. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/7db2c2d5b341782ffd2ed775c4a8196971cdad72\"\u003e7db2c2d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerate docs for 1.59.0 (\u003ca href=\"https://github.com/googleapis/python-genai/commit/351e4901c7c8178a2bbb876148cbe441a77b071e\"\u003e351e490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate docs to include interactions and file_search_stores module (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a21841cad53b73a54eef322a66cebd2c42c57bea\"\u003ea21841c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.58.0...v1.59.0\"\u003e1.59.0\u003c/a\u003e (2026-01-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSet the environment variable GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES to 'false' within BaseApiClient to disable bound token sharing. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/79ac88081ab3629f2eaab72bd004a3481affeac0\"\u003e79ac880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport 4:5 and 5:4 aspect ratio in Interactions (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1ddd9f1dfd2fecc53941dab04d5fc2f2891203e3\"\u003e1ddd9f1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerate docs for 1.58.0 (\u003ca href=\"https://github.com/googleapis/python-genai/commit/39a8b064ca5e6f2c80d313ead9ef1e0e8192a513\"\u003e39a8b06\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.57.0...v1.58.0\"\u003e1.58.0\u003c/a\u003e (2026-01-14)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd FileSearchCallContent to Interactions (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a882deab12a03d9390e2dd83243afc767e78c789\"\u003ea882dea\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd ImageConfig to GenerationConfig for image generation in Interactions (\u003ca href=\"https://github.com/googleapis/python-genai/commit/b61163f463f0b452d6fc01a5ad23ff16b65f23db\"\u003eb61163f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/26393638139a9839991c283543fef8be8c482589\"\u003e\u003ccode\u003e2639363\u003c/code\u003e\u003c/a\u003e chore(main): release 1.61.0 (\u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1994\"\u003e#1994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/08c47aa1a4237daed90d86d38ccb4590c25c8ab8\"\u003e\u003ccode\u003e08c47aa\u003c/code\u003e\u003c/a\u003e fix: Add metadata in batch inlined response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/51748a7559fb038f2cd5ce290025d6259bb61ae0\"\u003e\u003ccode\u003e51748a7\u003c/code\u003e\u003c/a\u003e feat: Support OSS Tuning in GenAI SDK\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/63ea9992f6946f6085b968ea0fbf385fbff9ed70\"\u003e\u003ccode\u003e63ea999\u003c/code\u003e\u003c/a\u003e chore: Update pytest annotations.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/396633c24991dda1f5cd2148e4de0642e404d1ba\"\u003e\u003ccode\u003e396633c\u003c/code\u003e\u003c/a\u003e chore: Update interactions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/9e49d71c5aa70066cb0c81c7bef9770294dbcceb\"\u003e\u003ccode\u003e9e49d71\u003c/code\u003e\u003c/a\u003e feat: Support distillation tuning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/965395b2f640a7d92a6df3d03020f4d15fe6b2fa\"\u003e\u003ccode\u003e965395b\u003c/code\u003e\u003c/a\u003e feat: Add registerFiles for you can use gcs files with mldev.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/a0240d9cf4c817d1737cb2cf818d405addabeed8\"\u003e\u003ccode\u003ea0240d9\u003c/code\u003e\u003c/a\u003e feat: Add \u003ccode\u003einclude_input\u003c/code\u003e query parameter to Get Interaction endpoint.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/c880d090195d867f7befb97ac9121642f8583cda\"\u003e\u003ccode\u003ec880d09\u003c/code\u003e\u003c/a\u003e chore: Update FunctionResultContent to use TextContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/6d303e440064333d163c6df1629e7199f1bb5eb7\"\u003e\u003ccode\u003e6d303e4\u003c/code\u003e\u003c/a\u003e chore: Split InteractionEvent into InteractionStartEvent and InteractionCompl...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.57.0...v1.61.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `llama-cloud-services` from 0.6.89 to 0.6.92\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/run-llama/llama_cloud_services/releases\"\u003ellama-cloud-services's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ellama-cloud-services-py@0.6.92\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e2358df1: add deprecation notices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ellama-cloud-services-py@0.6.91\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e07ec282: Bump up patch versions for python packages\u003c/li\u003e\n\u003cli\u003e3040951: Use error description in ExtractedData invalid extraction error\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ellama-cloud-services-py@0.6.90\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e19cbb25: Remove extension filter\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_cloud_services/commit/d70fbac1ced4ff67694bdc6b8c512b7292500cbd\"\u003e\u003ccode\u003ed70fbac\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://redirect.github.com/run-llama/llama_cloud_services/issues/1103\"\u003e#1103\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_cloud_services/commit/2358df10c67308cd3af0999194c9edb2302dcd26\"\u003e\u003ccode\u003e2358df1\u003c/code\u003e\u003c/a\u003e add notice (don't merge until ready) (\u003ca href=\"https://redirect.github.com/run-llama/llama_cloud_services/issues/1065\"\u003e#1065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_cloud_services/commit/829628cc866d7607fb591e154bd7af298a7856ff\"\u003e\u003ccode\u003e829628c\u003c/code\u003e\u003c/a\u003e Use unique filenames when running dist tests (\u003ca href=\"https://redirect.github.com/run-llama/llama_cloud_services/issues/1101\"\u003e#1101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_cloud_services/commit/42b7bbd1ae7be71f5a4c44dbacbc22f81132df5f\"\u003e\u003ccode\u003e42b7bbd\u003c/code\u003e\u003c/a\u003e Use sonnet when testing premium mode in extract e2e (\u003ca href=\"https://redirect.github.com/run-llama/llama_cloud_services/issues/1098\"\u003e#1098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_cloud_services/commit/38da9a52d78a68a8781726597d5a11a7a71bf3d8\"\u003e\u003ccode\u003e38da9a5\u003c/code\u003e\u003c/a\u003e Invalidate cache when running extract tests (\u003ca href=\"https://redirect.github.com/run-llama/llama_cloud_services/issues/1097\"\u003e#1097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_cloud_services/commit/1e7ec40ee7ba2cfbe56568bd2c34dce1e53ee402\"\u003e\u003ccode\u003e1e7ec40\u003c/code\u003e\u003c/a\u003e Fix verbose logging on slack channel (\u003ca href=\"https://redirect.github.com/run-llama/llama_cloud_services/issues/1096\"\u003e#1096\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_cloud_services/commit/dd83c1a9d0c1824c6387cf541418ee09c287f34a\"\u003e\u003ccode\u003edd83c1a\u003c/code\u003e\u003c/a\u003e Add retries to all extract sdk functions uniformly (\u003ca href=\"https://redirect.github.com/run-llama/llama_cloud_services/issues/1095\"\u003e#1095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_cloud_services/commit/7cb83f5cd37ca47708029e4c838d82642dfcbab1\"\u003e\u003ccode\u003e7cb83f5\u003c/code\u003e\u003c/a\u003e Change cron schedule for hourly extract tests (\u003ca href=\"https://redirect.github.com/run-llama/llama_cloud_services/issues/1094\"\u003e#1094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_cloud_services/commit/b05266be6dbbf9a78daacc9b28559ff81f13282f\"\u003e\u003ccode\u003eb05266b\u003c/code\u003e\u003c/a\u003e Try to reparse scheduled workflow (\u003ca href=\"https://redirect.github.com/run-llama/llama_cloud_services/issues/1093\"\u003e#1093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_cloud_services/commit/eab47981653ed0882b0df637388c23ccc3cf834a\"\u003e\u003ccode\u003eeab4798\u003c/code\u003e\u003c/a\u003e Force github reparse of the workflow (\u003ca href=\"https://redirect.github.com/run-llama/llama_cloud_services/issues/1090\"\u003e#1090\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/run-llama/llama_cloud_services/compare/llama-cloud-services-py@0.6.89...llama-cloud-services-py@0.6.92\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `llama-index` from 0.14.12 to 0.14.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/run-llama/llama_index/releases\"\u003ellama-index's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.13\u003c/h2\u003e\n\u003ch1\u003eRelease Notes\u003c/h1\u003e\n\u003ch2\u003e[2026-01-21]\u003c/h2\u003e\n\u003ch3\u003ellama-index-core [0.14.13]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add early_stopping_method parameter to agent workflows (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20389\"\u003e#20389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: Add token-based code splitting support to CodeSplitter (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20438\"\u003e#20438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd RayIngestionPipeline integration for distributed data ingestion (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20443\"\u003e#20443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded the multi-modal version of the Condensed Conversation \u0026amp; Context… (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20446\"\u003e#20446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace ChatMemoryBuffer with Memory (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20458\"\u003e#20458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(bug):Raise value error on when input is empty list in mean_agg instead of returning float (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20466\"\u003e#20466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: The classmethod of ReActChatFormatter should use cls instead of the class name (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20475\"\u003e#20475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: add configurable empty response message to synthesizers (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20503\"\u003e#20503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-bedrock [0.7.3]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable use of ARNs for Bedrock Embedding Models (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20435\"\u003e#20435\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-ollama [0.8.6]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved Ollama batch embedding (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20447\"\u003e#20447\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-voyageai [0.5.3]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdding voyage-4 models (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20497\"\u003e#20497\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-ingestion-ray [0.1.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd RayIngestionPipeline integration for distributed data ingestion (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20443\"\u003e#20443\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-anthropic [0.10.6]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: enhance structured predict methods for anthropic (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20440\"\u003e#20440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: preserve input_tokens in Anthropic stream_chat responses (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20512\"\u003e#20512\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-apertis [0.1.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Apertis LLM integration with example notebook (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20436\"\u003e#20436\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-bedrock-converse [0.12.4]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(bedrock-converse): Remove extraneous thinking_delta kwarg from ChatMessage (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20455\"\u003e#20455\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-gemini [0.6.2]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate llama-index-llms-gemini (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20511\"\u003e#20511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-openai [0.6.13]\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/run-llama/llama_index/blob/main/CHANGELOG.md\"\u003ellama-index's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ellama-index-core [0.14.13]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add early_stopping_method parameter to agent workflows (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20389\"\u003e#20389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: Add token-based code splitting support to CodeSplitter (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20438\"\u003e#20438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd RayIngestionPipeline integration for distributed data ingestion (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20443\"\u003e#20443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded the multi-modal version of the Condensed Conversation \u0026amp; Context… (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20446\"\u003e#20446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace ChatMemoryBuffer with Memory (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20458\"\u003e#20458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(bug):Raise value error on when input is empty list in mean_agg instead of returning float (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20466\"\u003e#20466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: The classmethod of ReActChatFormatter should use cls instead of the class name (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20475\"\u003e#20475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: add configurable empty response message to synthesizers (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20503\"\u003e#20503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-bedrock [0.7.3]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable use of ARNs for Bedrock Embedding Models (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20435\"\u003e#20435\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-ollama [0.8.6]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved Ollama batch embedding (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20447\"\u003e#20447\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-voyageai [0.5.3]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdding voyage-4 models (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20497\"\u003e#20497\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-ingestion-ray [0.1.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd RayIngestionPipeline integration for distributed data ingestion (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20443\"\u003e#20443\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-anthropic [0.10.6]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: enhance structured predict methods for anthropic (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20440\"\u003e#20440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: preserve input_tokens in Anthropic stream_chat responses (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20512\"\u003e#20512\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-apertis [0.1.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Apertis LLM integration with example notebook (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20436\"\u003e#20436\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-bedrock-converse [0.12.4]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(bedrock-converse): Remove extraneous thinking_delta kwarg from ChatMessage (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20455\"\u003e#20455\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-gemini [0.6.2]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate llama-index-llms-gemini (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20511\"\u003e#20511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-openai [0.6.13]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSanitize OpenAI structured output JSON schema name for generic Pydantic models (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20452\"\u003e#20452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: vbump openai (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20482\"\u003e#20482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-openrouter [0.4.3]\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/run-llama/llama_index/commit/99d7e055611f0f07020f20e5f325070e056f0bbd\"\u003e\u003ccode\u003e99d7e05\u003c/code\u003e\u003c/a\u003e Release 0.14.13 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20516\"\u003e#20516\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/ca6f652335b31d48ab946d39383741ad15270207\"\u003e\u003ccode\u003eca6f652\u003c/code\u003e\u003c/a\u003e Revamp YouRetriever integration (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20493\"\u003e#20493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/788fb32a239d394725d7c57a9dc76c3c4d0563a1\"\u003e\u003ccode\u003e788fb32\u003c/code\u003e\u003c/a\u003e fix: preserve input_tokens in Anthropic stream_chat responses (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20512\"\u003e#20512\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/416fa20a09e05a47eabc22905dc680eed1c241c3\"\u003e\u003ccode\u003e416fa20\u003c/code\u003e\u003c/a\u003e chore: deprecate llama-index-llms-gemini (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20511\"\u003e#20511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/4d8775362a30777556e38202424b1664222e7b11\"\u003e\u003ccode\u003e4d87753\u003c/code\u003e\u003c/a\u003e feat(vertexaivectorsearch): add hybrid search support (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20487\"\u003e#20487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/265a5550cd85aa0caedbb46e0d01ec4cdf514571\"\u003e\u003ccode\u003e265a555\u003c/code\u003e\u003c/a\u003e feat: add configurable empty response message to synthesizers (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20503\"\u003e#20503\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/2277956bb24994342ea69759df8009370457d848\"\u003e\u003ccode\u003e2277956\u003c/code\u003e\u003c/a\u003e Adding voyage-4 models (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20497\"\u003e#20497\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/dc6e7f18a6d0570fc0fd109dba9ce157295d1b49\"\u003e\u003ccode\u003edc6e7f1\u003c/code\u003e\u003c/a\u003e docs: update NVIDIA notebooks (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20490\"\u003e#20490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/e7182dc41e3eb4ee5c667977062373ac5ebaf603\"\u003e\u003ccode\u003ee7182dc\u003c/code\u003e\u003c/a\u003e feat: Volcengine MySQL vector store integration (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20404\"\u003e#20404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/30ad263a18825af6cfaa8c734cab734b857065a7\"\u003e\u003ccode\u003e30ad263\u003c/code\u003e\u003c/a\u003e Patentsview reader api changes (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20481\"\u003e#20481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/run-llama/llama_index/compare/v0.14.12...v0.14.13\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `llama-index-core` from 0.14.12 to 0.14.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/run-llama/llama_index/releases\"\u003ellama-index-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.13\u003c/h2\u003e\n\u003ch1\u003eRelease Notes\u003c/h1\u003e\n\u003ch2\u003e[2026-01-21]\u003c/h2\u003e\n\u003ch3\u003ellama-index-core [0.14.13]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add early_stopping_method parameter to agent workflows (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20389\"\u003e#20389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: Add token-based code splitting support to CodeSplitter (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20438\"\u003e#20438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd RayIngestionPipeline integration for distributed data ingestion (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20443\"\u003e#20443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded the multi-modal version of the Condensed Conversation \u0026amp; Context… (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20446\"\u003e#20446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace ChatMemoryBuffer with Memory (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20458\"\u003e#20458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(bug):Raise value error on when input is empty list in mean_agg instead of returning float (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20466\"\u003e#20466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: The classmethod of ReActChatFormatter should use cls instead of the class name (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20475\"\u003e#20475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: add configurable empty response message to synthesizers (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20503\"\u003e#20503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-bedrock [0.7.3]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable use of ARNs for Bedrock Embedding Models (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20435\"\u003e#20435\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-ollama [0.8.6]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved Ollama batch embedding (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20447\"\u003e#20447\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-voyageai [0.5.3]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdding voyage-4 models (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20497\"\u003e#20497\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-ingestion-ray [0.1.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd RayIngestionPipeline integration for distributed data ingestion (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20443\"\u003e#20443\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-anthropic [0.10.6]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: enhance structured predict methods for anthropic (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20440\"\u003e#20440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: preserve input_tokens in Anthropic stream_chat responses (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20512\"\u003e#20512\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-apertis [0.1.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Apertis LLM integration with example notebook (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20436\"\u003e#20436\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-bedrock-converse [0.12.4]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(bedrock-converse): Remove extraneous thinking_delta kwarg from ChatMessage (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20455\"\u003e#20455\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-gemini [0.6.2]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate llama-index-llms-gemini (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20511\"\u003e#20511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-openai [0.6.13]\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/run-llama/llama_index/blob/main/CHANGELOG.md\"\u003ellama-index-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ellama-index-core [0.14.13]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add early_stopping_method parameter to agent workflows (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20389\"\u003e#20389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: Add token-based code splitting support to CodeSplitter (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20438\"\u003e#20438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd RayIngestionPipeline integration for distributed data ingestion (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20443\"\u003e#20443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded the multi-modal version of the Condensed Conversation \u0026amp; Context… (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20446\"\u003e#20446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace ChatMemoryBuffer with Memory (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20458\"\u003e#20458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(bug):Raise value error on when input is empty list in mean_agg instead of returning float (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20466\"\u003e#20466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: The classmethod of ReActChatFormatter should use cls instead of the class name (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20475\"\u003e#20475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: add configurable empty response message to synthesizers (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20503\"\u003e#20503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-bedrock [0.7.3]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable use of ARNs for Bedrock Embedding Models (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20435\"\u003e#20435\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-ollama [0.8.6]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved Ollama batch embedding (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20447\"\u003e#20447\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-voyageai [0.5.3]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdding voyage-4 models (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20497\"\u003e#20497\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-ingestion-ray [0.1.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd RayIngestionPipeline integration for distributed data ingestion (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20443\"\u003e#20443\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-anthropic [0.10.6]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: enhance structured predict methods for anthropic (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20440\"\u003e#20440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: preserve input_tokens in Anthropic stream_chat responses (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20512\"\u003e#20512\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-apertis [0.1.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Apertis LLM integration with example notebook (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20436\"\u003e#20436\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-bedrock-converse [0.12.4]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(bedrock-converse): Remove extraneous thinking_delta kwarg from ChatMessage (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20455\"\u003e#20455\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-gemini [0.6.2]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate llama-index-llms-gemini (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20511\"\u003e#20511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-openai [0.6.13]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSanitize OpenAI structured output JSON schema name for generic Pydantic models (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20452\"\u003e#20452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: vbump openai (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20482\"\u003e#20482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-openrouter [0.4.3]\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/run-llama/llama_index/commit/99d7e055611f0f07020f20e5f325070e056f0bbd\"\u003e\u003ccode\u003e99d7e05\u003c/code\u003e\u003c/a\u003e Release 0.14.13 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20516\"\u003e#20516\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/ca6f652335b31d48ab946d39383741ad15270207\"\u003e\u003ccode\u003eca6f652\u003c/code\u003e\u003c/a\u003e Revamp YouRetriever integration (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20493\"\u003e#20493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/788fb32a239d394725d7c57a9dc76c3c4d0563a1\"\u003e\u003ccode\u003e788fb32\u003c/code\u003e\u003c/a\u003e fix: preserve input_tokens in Anthropic stream_chat responses (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20512\"\u003e#20512\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/416fa20a09e05a47eabc22905dc680eed1c241c3\"\u003e\u003ccode\u003e416fa20\u003c/code\u003e\u003c/a\u003e chore: deprecate llama-index-llms-gemini (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20511\"\u003e#20511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/4d8775362a30777556e38202424b1664222e7b11\"\u003e\u003ccode\u003e4d87753\u003c/code\u003e\u003c/a\u003e feat(vertexaivectorsearch): add hybrid search support (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20487\"\u003e#20487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/265a5550cd85aa0caedbb46e0d01ec4cdf514571\"\u003e\u003ccode\u003e265a555\u003c/code\u003e\u003c/a\u003e feat: add configurable empty response message to synthesizers (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20503\"\u003e#20503\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/2277956bb24994342ea69759df8009370457d848\"\u003e\u003ccode\u003e2277956\u003c/code\u003e\u003c/a\u003e Adding voyage-4 models (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20497\"\u003e#20497\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/dc6e7f18a6d0570fc0fd109dba9ce157295d1b49\"\u003e\u003ccode\u003edc6e7f1\u003c/code\u003e\u003c/a\u003e docs: update NVIDIA notebooks (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20490\"\u003e#20490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/e7182dc41e3eb4ee5c667977062373ac5ebaf603\"\u003e\u003ccode\u003ee7182dc\u003c/code\u003e\u003c/a\u003e feat: Volcengine MySQL vector store integration (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20404\"\u003e#20404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/30ad263a18825af6cfaa8c734cab734b857065a7\"\u003e\u003ccode\u003e30ad263\u003c/code\u003e\u003c/a\u003e Patentsview reader api changes (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20481\"\u003e#20481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/run-llama/llama_index/compare/v0.14.12...v0.14.13\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `llama-index-embeddings-gemini` from 0.4.1 to 0.4.2\n\nUpdates `llama-index-llms-anthropic` from 0.10.5 to 0.10.7\n\nUpdates `llama-index-llms-gemini` from 0.6.1 to 0.6.2\n\nUpdates `llama-index-llms-google-genai` from 0.8.3 to 0.8.6\n\nUpdates `llama-index-llms-huggingface-api` from 0.6.1 to 0.6.2\n\nUpdates `llama-index-llms-openai` from 0.6.13 to 0.6.17\n\nUpdates `llama-index-llms-openai-like` from 0.5.3 to 0.6.0\n\nUpdates `llama-index-workflows` from 2.12.0 to 2.13.1\n\nUpdates `llama-parse` from 0.6.89 to 0.6.92\n\nUpdates `mistralai` from 1.10.0 to 1.11.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mistralai/client-python/releases\"\u003emistralai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epython - v1.11.1 - 2026-01-28 15:51:01\u003c/h2\u003e\n\u003ch1\u003eGenerated by Speakeasy CLI\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://pypi.org/project/mistralai/1.11.1\"\u003emistralai 1.11.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePython SDK Changes:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.agents.list_versions()\u003c/code\u003e: \u003cstrong\u003eAdded\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.agents.get_version()\u003c/code\u003e: \u003cstrong\u003eAdded\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.ocr.process()\u003c/code\u003e:  \u003ccode\u003erequest.document_annotation_prompt\u003c/code\u003e \u003cstrong\u003eAdded\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eGenerated with \u003ca href=\"https://github.com/speakeasy-api/speakeasy/releases\"\u003eSpeakeasy CLI 1.685.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePublishing Completed\u003c/p\u003e\n\u003ch2\u003epython - v1.10.1 - 2026-01-15 18:51:08\u003c/h2\u003e\n\u003ch1\u003eGenerated by Speakeasy CLI\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://pypi.org/project/mistralai/1.10.1\"\u003emistralai 1.10.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eSDK Changes Detected:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.conversations.restart()\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erequest.inputs.[array].[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eresponse.outputs.[].[message_output_entry].content.[array].[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.conversations.start()\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erequest.inputs.[array].[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eresponse.outputs.[].[message_output_entry].content.[array].[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.conversations.append()\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erequest.inputs.[array].[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eresponse.outputs.[].[message_output_entry].content.[array].[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.conversations.get_history()\u003c/code\u003e:  \u003ccode\u003eresponse.entries.[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.conversations.get_messages()\u003c/code\u003e:  \u003ccode\u003eresponse.messages.[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.agents.list()\u003c/code\u003e:  \u003ccode\u003erequest.metadata\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.conversations.list()\u003c/code\u003e:  \u003ccode\u003erequest.metadata\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.batch.jobs.list()\u003c/code\u003e:  \u003ccode\u003eresponse.data.[].outputs\u003c/code\u003e \u003cstrong\u003eAdded\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.batch.jobs.create()\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erequest\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eresponse.outputs\u003c/code\u003e \u003cstrong\u003eAdded\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.batch.jobs.get()\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erequest.inline\u003c/code\u003e \u003cstrong\u003eAdded\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eresponse.outputs\u003c/code\u003e \u003cstrong\u003eAdded\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.batch.jobs.cancel()\u003c/code\u003e:  \u003ccode\u003eresponse.outputs\u003c/code\u003e \u003cstrong\u003eAdded\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.embeddings.create()\u003c/code\u003e:  \u003ccode\u003erequest.metadata\u003c/code\u003e \u003cstrong\u003eAdded\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.classifiers.moderate()\u003c/code\u003e:  \u003ccode\u003erequest.metadata\u003c/code\u003e \u003cstrong\u003eAdded\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.classifiers.classify()\u003c/code\u003e:  \u003ccode\u003erequest.metadata\u003c/code\u003e \u003cstrong\u003eAdded\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eGenerated with \u003ca href=\"https://github.com/speakeasy-api/speakeasy/releases\"\u003eSpeakeasy CLI 1.606.10\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePublishing Completed\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/mistralai/client-python/blob/main/RELEASES.md\"\u003emistralai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2024-08-07 14:25:13\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cp\u003eBased on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpenAPI Doc\u003c/li\u003e\n\u003cli\u003eSpeakeasy CLI 1.356.0 (2.388.1) \u003ca href=\"https://github.com/speakeasy-api/speakeasy\"\u003ehttps://github.com/speakeasy-api/speakeasy\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eGenerated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[python v1.0.0] .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eReleases\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PyPI v1.0.0] \u003ca href=\"https://pypi.org/project/mistralai/1.0.0\"\u003ehttps://pypi.org/project/mistralai/1.0.0\u003c/a\u003e - .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2024-08-08 18:12:16\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cp\u003eBased on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpenAPI Doc\u003c/li\u003e\n\u003cli\u003eSpeakeasy CLI 1.357.4 (2.390.6) \u003ca href=\"https://github.com/speakeasy-api/speakeasy\"\u003ehttps://github.com/speakeasy-api/speakeasy\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eGenerated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[python v1.0.1] .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eReleases\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PyPI v1.0.1] \u003ca href=\"https://pypi.org/project/mistralai/1.0.1\"\u003ehttps://pypi.org/project/mistralai/1.0.1\u003c/a\u003e - .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2024-08-20 08:36:28\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cp\u003eBased on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpenAPI Doc\u003c/li\u003e\n\u003cli\u003eSpeakeasy CLI 1.376.0 (2.402.5) \u003ca href=\"https://github.com/speakeasy-api/speakeasy\"\u003ehttps://github.com/speakeasy-api/speakeasy\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eGenerated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[python v1.0.2] .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eReleases\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PyPI v1.0.2] \u003ca href=\"https://pypi.org/project/mistralai/1.0.2\"\u003ehttps://pypi.org/project/mistralai/1.0.2\u003c/a\u003e - .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2024-08-29 09:09:05\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cp\u003eBased on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpenAPI Doc\u003c/li\u003e\n\u003cli\u003eSpeakeasy CLI 1.382.0 (2.404.11) \u003ca href=\"https://github.com/speakeasy-api/speakeasy\"\u003ehttps://github.com/speakeasy-api/speakeasy\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eGenerated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[python v1.0.3] .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eReleases\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PyPI v1.0.3] \u003ca href=\"https://pypi.org/project/mistralai/1.0.3\"\u003ehttps://pypi.org/project/mistralai/1.0.3\u003c/a\u003e - .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2024-09-13 16:21:24\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cp\u003eBased on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpenAPI Doc\u003c/li\u003e\n\u003cli\u003eSpeakeasy CLI 1.396.7 (2.415.6) \u003ca href=\"https://github.com/speakeasy-api/speakeasy\"\u003ehttps://github.com/speakeasy-api/speakeasy\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eGenerated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[python v1.1.0] .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eReleases\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/mistralai/client-python/commit/b8f72871a57911c7f44dd25e89b33d5361f9a70f\"\u003e\u003ccode\u003eb8f7287\u003c/code\u003e\u003c/a\u003e ## Python SDK Changes: (\u003ca href=\"https://redirect.github.com/mistralai/client-python/issues/330\"\u003e#330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mistralai/client-python/commit/143c9e9f16d355b045a79b2e3d9277d03dccc81c\"\u003e\u003ccode\u003e143c9e9\u003c/code\u003e\u003c/a\u003e Update Speakeasy SDKs to version 1.685.0 (\u003ca href=\"https://redirect.github.com/mistralai/client-python/issues/324\"\u003e#324\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mistralai/client-python/commit/529bd4ec2a5575814b9e5b9db58915d7881aef75\"\u003e\u003ccode\u003e529bd4e\u003c/code\u003e\u003c/a\u003e Allow the publish workflow to be triggered manually (\u003ca href=\"https://redirect.github.com/mistralai/client-python/issues/331\"\u003e#331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mistralai/client-python/commit/9643a16f7d132778c740e1e0a02120f6c04d818d\"\u003e\u003ccode\u003e9643a16\u003c/code\u003e\u003c/a\u003e feat(mistral): add async batch job chat completion example (\u003ca href=\"https://redirect.github.com/mistralai/client-python/issues/329\"\u003e#329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mistralai/client-python/commit/eb85b6caa039318d9693e224d0f137bfe42dcf03\"\u003e\u003ccode\u003eeb85b6c\u003c/code\u003e\u003c/a\u003e ## SDK Changes Detected: (\u003ca href=\"https://redirect.github.com/mistralai/client-python/issues/328\"\u003e#328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mistralai/client-python/commit/798b290a0b1679c816ba0b11c8c6418550ba9164\"\u003e\u003ccode\u003e798b290\u003c/code\u003e\u003c/a\u003e Fix missing dependency of the workflow on pyright (\u003ca href=\"https://redirect.github.com/mistralai/client-python/issues/322\"\u003e#322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mistralai/client-python/commit/c5b60515ef3bd58a4846bb4062fbc90c3c5dbd9f\"\u003e\u003ccode\u003ec5b6051\u003c/code\u003e\u003c/a\u003e ## SDK Changes Detected: (\u003ca href=\"https://redirect.github.com/mistralai/client-python/issues/321\"\u003e#321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mistralai/client-python/commit/79cf7f5ffe476864fd4ef0f6a55fc6a8036e91a5\"\u003e\u003ccode\u003e79cf7f5\u003c/code\u003e\u003c/a\u003e ## SDK Changes Detected: (\u003ca href=\"https://redirect.github.com/mistralai/client-python/issues/320\"\u003e#320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mistralai/client-python/commit/9d1e7394d3ac97d7195b11b7418564be1f4dfd84\"\u003e\u003ccode\u003e9d1e739\u003c/code\u003e\u003c/a\u003e Switch the Azure and GCP SDKs to uv (\u003ca href=\"https://redirect.github.com/mistralai/client-python/issues/317\"\u003e#317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mistralai/client-python/commit/1923fe68cf991ce31766ad7f93ce4af571521f33\"\u003e\u003ccode\u003e1923fe6\u003c/code\u003e\u003c/a\u003e Fix Speakeasy targets in GitHub actions (\u003ca href=\"https://redirect.github.com/mistralai/client-python/issues/312\"\u003e#312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mistralai/client-python/compare/v1.10.0...v1.11.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai` from 2.15.0 to 2.16.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/releases\"\u003eopenai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.16.0\u003c/h2\u003e\n\u003ch2\u003e2.16.0 (2026-01-27)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.15.0...v2.16.0\"\u003ev2.15.0...v2.16.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/b97f9f26b9c46ca4519130e60a8bf12ad8d52bf3\"\u003eb97f9f2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api updates (\u003ca href=\"https://github.com/openai/openai-python/commit/9debcc02370f5b76a6a609ded18fbf8dea87b9cb\"\u003e9debcc0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add support for binary request streaming (\u003ca href=\"https://github.com/openai/openai-python/commit/49561d88279628bc400d1b09aa98765b67018ef1\"\u003e49561d8\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 mark assistants as deprecated (\u003ca href=\"https://github.com/openai/openai-python/commit/0419cbcbf1021131c7492321436ed01ca4337835\"\u003e0419cbc\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 upgrade \u003ccode\u003eactions/github-script\u003c/code\u003e (\u003ca href=\"https://github.com/openai/openai-python/commit/5139f13ef35e64dadc65f2ba2bab736977985769\"\u003e5139f13\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e update \u003ccode\u003eactions/checkout\u003c/code\u003e version (\u003ca href=\"https://github.com/openai/openai-python/commit/f2767144c11833070c0579063ed33918089b4617\"\u003ef276714\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eexamples:\u003c/strong\u003e update Azure Realtime sample to use v1 API (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/2829\"\u003e#2829\u003c/a\u003e) (\u003ca href=\"https://github.com/openai/openai-python/commit/3b319819544d629c5b8c206b8b1f6ec6328c6136\"\u003e3b31981\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/openai/openai-python/blob/main/CHANGELOG.md\"\u003eopenai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.16.0 (2026-01-27)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.15.0...v2.16.0\"\u003ev2.15.0...v2.16.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/b97f9f26b9c46ca4519130e60a8bf12ad8d52bf3\"\u003eb97f9f2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api updates (\u003ca href=\"https://github.com/openai/openai-python/commit/9debcc02370f5b76a6a609ded18fbf8dea87b9cb\"\u003e9debcc0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add support for binary request streaming (\u003ca href=\"https://github.com/openai/openai-python/commit/49561d88279628bc400d1b09aa98765b67018ef1\"\u003e49561d8\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 mark assistants as deprecated (\u003ca href=\"https://github.com/openai/openai-python/commit/0419cbcbf1021131c7492321436ed01ca4337835\"\u003e0419cbc\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 upgrade \u003ccode\u003eactions/github-script\u003c/code\u003e (\u003ca href=\"https://github.com/openai/openai-python/commit/5139f13ef35e64dadc65f2ba2bab736977985769\"\u003e5139f13\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e update \u003ccode\u003eactions/checkout\u003c/code\u003e version (\u003ca href=\"https://github.com/openai/openai-python/commit/f2767144c11833070c0579063ed33918089b4617\"\u003ef276714\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eexamples:\u003c/strong\u003e update Azure Realtime sample to use v1 API (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/2829\"\u003e#2829\u003c/a\u003e) (\u003ca href=\"https://github.com/openai/openai-python/commit/3b319819544d629c5b8c206b8b1f6ec6328c6136\"\u003e3b31981\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/openai/openai-python/commit/dc68b90655912886bd7a6c7787f96005452ebfc9\"\u003e\u003ccode\u003edc68b90\u003c/code\u003e\u003c/a\u003e release: 2.16.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/c7f70bd7aeea59e7f4d62813a884a47d11e5b155\"\u003e\u003ccode\u003ec7f70bd\u003c/code\u003e\u003c/a\u003e fix videos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/eaab2f5c55cbc72d79439f3c114c49a0b9625ffa\"\u003e\u003ccode\u003eeaab2f5\u003c/code\u003e\u003c/a\u003e feat(api): api updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/d167d1456cd27e0448ed2cb91b8bdc576bec5b23\"\u003e\u003ccode\u003ed167d14\u003c/code\u003e\u003c/a\u003e docs(examples): update Azure Realtime sample to use v1 API (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/2829\"\u003e#2829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/8be9907031c1cad0433c0e9543693c9b64c29453\"\u003e\u003ccode\u003e8be9907\u003c/code\u003e\u003c/a\u003e fix breaking change detection with deprecations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/dc93407352ea88439c58d5bbb028e6f1b703bba4\"\u003e\u003ccode\u003edc93407\u003c/code\u003e\u003c/a\u003e fix helper\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/d499f4f8050fdd2eb69339e2881977088f622a0b\"\u003e\u003ccode\u003ed499f4f\u003c/code\u003e\u003c/a\u003e fix(api): mark assistants as deprecated\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/f424d7b336870308f29170633a779b5d4566b421\"\u003e\u003ccode\u003ef424d7b\u003c/code\u003e\u003c/a\u003e chore(ci): upgrade \u003ccode\u003eactions/github-script\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/84e0c1d0d05cd58e28245bff3a1746711dffcb2b\"\u003e\u003ccode\u003e84e0c1d\u003c/code\u003e\u003c/a\u003e Update README models to gpt-5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/3d93d66d52d709878b9b557d0c8518f291939b0a\"\u003e\u003ccode\u003e3d93d66\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-python/compare/v2.15.0...v2.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai-agents` from 0.6.5 to 0.7.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-agents-python/releases\"\u003eopenai-agents's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.7.0\u003c/h2\u003e\n\u003ch2\u003eKey Changes\u003c/h2\u003e\n\u003ch3\u003eNested handoff behavior is now opt-in\u003c/h3\u003e\n\u003cp\u003eThe nested handoffs behavior were enabled by default in v0.6.0. Now, it is now disabled by default. To enable it again, you need to set the \u003ccode\u003enest_handoff_history\u003c/code\u003e option to \u003ccode\u003eTrue\u003c/code\u003e.\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003efrom agents import Agent, MCPServerManager, RunConfig, Runner\n\u003cp\u003eagent = Agent(name=\u0026quot;My agent\u0026quot;, instructions=\u0026quot;Be creative\u0026quot;)\nresult = await Runner.run(\nagent,\ninput=\u0026quot;Hey, can you tell me something interesting about Japan?\u0026quot;,\nrun_config=RunConfig(nest_handoff_history=True),\n)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch3\u003eMCPServerManager for multiple MCP server instances\u003c/h3\u003e\n\u003cp\u003eStarting with this version, there is a new, convenient way to manage multiple MCP server instances. See \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2350\"\u003eopenai/openai-agents-python#2350\u003c/a\u003e and \u003ca href=\"https://github.com/openai/openai-agents-python/tree/main/examples/mcp/manager_example\"\u003eexamples/mcp/manager_example\u003c/a\u003e.\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003efrom contextlib import asynccontextmanager\nfrom fastapi import FastAPI\nfrom agents import Agent, Runner\nfrom agents.mcp import MCPServerManager, MCPServerStreamableHttp\n\u003cp\u003e\u003ca href=\"https://github.com/asynccontextmanager\"\u003e\u003ccode\u003e@​asynccontextmanager\u003c/code\u003e\u003c/a\u003e\nasync def lifespan(app: FastAPI):\nasync with MCPServerManager(\nservers=[\nMCPServerStreamableHttp({\u0026quot;url\u0026quot;: 'http://localhost:8001/mcp'}),\nMCPServerStreamableHttp({\u0026quot;url\u0026quot;: 'http://localhost:8002/mcp'}),\n],\nconnect_in_parallel=True,\n) as manager:\napp.state.mcp_manager = manager\nyield\u003c/p\u003e\n\u003cp\u003eapp = FastAPI(lifespan=lifespan)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/app\"\u003e\u003ccode\u003e@​app\u003c/code\u003e\u003c/a\u003e.post(\u0026quot;/agent\u0026quot;)\nasync def run_agent(req) -\u0026gt; dict[str, object]:\nagent = Agent(\nname=\u0026quot;Test Agent\u0026quot;,\ninstructions=\u0026quot;Use the MCP tools when needed.\u0026quot;,\nmcp_servers= app.state.mcp_manager.active_servers,\n)\nresult = await Runner.run(starting_agent=agent, input=build_query(req))\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/fe969312d7f771814b8fa896e15d558b937284cb\"\u003e\u003ccode\u003efe96931\u003c/code\u003e\u003c/a\u003e Release 0.7.0 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2339\"\u003e#2339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/dfc1f33fda2b0ecdeffc00c3ec999dd9aa8923ee\"\u003e\u003ccode\u003edfc1f33\u003c/code\u003e\u003c/a\u003e feat: add MCPServerManager for safely managing server lifecycle (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2350\"\u003e#2350\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/3acfa826be1f43bb810c25fb94c46cb9ee5e3578\"\u003e\u003ccode\u003e3acfa82\u003c/code\u003e\u003c/a\u003e docs: improve AGENTS.md structure\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/038c84e0bc75f5c56d65c2095156e8b124124ede\"\u003e\u003ccode\u003e038c84e\u003c/code\u003e\u003c/a\u003e Add WebSocket custom options to OpenAIRealtimeWebSocketModel (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2264\"\u003e#2264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/5ce91f296440adfb916305f913b0d1cc1f65fc60\"\u003e\u003ccode\u003e5ce91f2\u003c/code\u003e\u003c/a\u003e ci: improve pull request labelling logic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/fa4849cc9392b391d9e3da813b1401e7328c1c41\"\u003e\u003ccode\u003efa4849c\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2345\"\u003e#2345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/c586f67e1a57e0ae1fce5936e4c52a4909b2d6ce\"\u003e\u003ccode\u003ec586f67\u003c/code\u003e\u003c/a\u003e ci: improve the efficiency of test jobs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/7875044dbf68164ee651f4db4d5232b6263939b6\"\u003e\u003ccode\u003e7875044\u003c/code\u003e\u003c/a\u003e ci: fix pr-labels job logic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/bd33a5258d3063cf14bfeed5a2c631fd1d3ca0f9\"\u003e\u003ccode\u003ebd33a52\u003c/code\u003e\u003c/a\u003e docs: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2343\"\u003e#2343\u003c/a\u003e clarify how to use compaction in practice (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2344\"\u003e#2344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/34ba1d0293f8cd8dfdbc136eb4e0cc8ffc9400b4\"\u003e\u003ccode\u003e34ba1d0\u003c/code\u003e\u003c/a\u003e chore(deps): bump astral-sh/setup-uv from e58605a9b6da7c637471fab8847a5e5a6b8...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.6.5...v0.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `chromadb` from 1.4.0 to 1.4.1\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.4.1\u003c/h2\u003e\n\u003cp\u003eVersion: \u003ccode\u003e1.4.1\u003c/code\u003e\nGit ref: \u003ccode\u003erefs/tags/1.4.1\u003c/code\u003e\nBuild Date: \u003ccode\u003e2026-01-14T19:19\u003c/code\u003e\nPIP Package: \u003ccode\u003echroma-1.4.1.tar.gz\u003c/code\u003e\nGithub Container Registry Image: \u003ccode\u003e:1.4.1\u003c/code\u003e\nDockerHub Image: \u003ccode\u003e:1.4.1\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[ENH]: Sysdb + migration service connect to real spanner in gcp 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/6084\"\u003echroma-core/chroma#6084\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CHORE]: Update google cloud spanner dependency + update rust version 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/6086\"\u003echroma-core/chroma#6086\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CHORE]: Remove unstable feature 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/6087\"\u003echroma-core/chroma#6087\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG]: Scorecard before stateful quotas 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/6089\"\u003echroma-core/chroma#6089\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: e2e tenant and database operations in rust sysdb 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/6088\"\u003echroma-core/chroma#6088\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Drop block ref when copy to end 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/6101\"\u003echroma-core/chroma#6101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Make hashes in spanner migrations rolling 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/6097\"\u003echroma-core/chroma#6097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CHORE] move spanner-migrations to rust/ top level 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/6085\"\u003echroma-core/chroma#6085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG] await auth on delete_database in single-node Chroma 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/6106\"\u003echroma-core/chroma#6106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH][spanner-migrations]: add clap CLI and support for ...\n\n_Description has been truncated_","html_url":"https://github.com/DylanLRPollock/Monkey-Head-Project/pull/457","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/DylanLRPollock%2FMonkey-Head-Project/issues/457","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/457/packages"}],"issue_packages":[{"old_version":"0.17.2","new_version":"0.17.4","update_type":"patch","path":null,"pr_created_at":"2026-06-08T07:45:47.000Z","version_change":"0.17.2 → 0.17.4","issue":{"uuid":"4610972370","node_id":"PR_kwDONtiFDc7jzYl9","number":1976,"state":"open","title":"chore(deps): bump the python-minor-patch group across 1 directory with 14 updates","user":"dependabot[bot]","labels":["ignore-for-release"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-08T07:45:47.000Z","updated_at":"2026-06-08T07:45:56.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-minor-patch","update_count":14,"packages":[{"name":"pytest-asyncio","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/pytest-dev/pytest-asyncio"},{"name":"ruff","old_version":"0.15.13","new_version":"0.15.16","repository_url":"https://github.com/astral-sh/ruff"},{"name":"typer","old_version":"0.25.1","new_version":"0.26.7","repository_url":"https://github.com/fastapi/typer"},{"name":"uvicorn","old_version":"0.47.0","new_version":"0.49.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"openai","old_version":"2.37.0","new_version":"2.41.0","repository_url":"https://github.com/openai/openai-python"},{"name":"mcp","old_version":"1.27.1","new_version":"1.27.2","repository_url":"https://github.com/modelcontextprotocol/python-sdk"},{"name":"fastapi","old_version":"0.136.1","new_version":"0.136.3","repository_url":"https://github.com/fastapi/fastapi"},{"name":"filelock","old_version":"3.29.0","new_version":"3.29.1","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"python-multipart","old_version":"0.0.29","new_version":"0.0.32","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"boto3","old_version":"1.43.9","new_version":"1.43.24","repository_url":"https://github.com/boto/boto3"},{"name":"langgraph","old_version":"1.2.0","new_version":"1.2.4","repository_url":"https://github.com/langchain-ai/langgraph"},{"name":"langchain-core","old_version":"1.4.0","new_version":"1.4.1","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"openai-agents","old_version":"0.17.2","new_version":"0.17.4","repository_url":"https://github.com/openai/openai-agents-python"},{"name":"langchain-openai","old_version":"1.2.1","new_version":"1.2.2","repository_url":"https://github.com/langchain-ai/langchain"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor-patch group with 14 updates in the /python directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `1.3.0` | `1.4.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.13` | `0.15.16` |\n| [typer](https://github.com/fastapi/typer) | `0.25.1` | `0.26.7` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.47.0` | `0.49.0` |\n| [openai](https://github.com/openai/openai-python) | `2.37.0` | `2.41.0` |\n| [mcp](https://github.com/modelcontextprotocol/python-sdk) | `1.27.1` | `1.27.2` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.136.1` | `0.136.3` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.29.0` | `3.29.1` |\n| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.29` | `0.0.32` |\n| [boto3](https://github.com/boto/boto3) | `1.43.9` | `1.43.24` |\n| [langgraph](https://github.com/langchain-ai/langgraph) | `1.2.0` | `1.2.4` |\n| [langchain-core](https://github.com/langchain-ai/langchain) | `1.4.0` | `1.4.1` |\n| [openai-agents](https://github.com/openai/openai-agents-python) | `0.17.2` | `0.17.4` |\n| [langchain-openai](https://github.com/langchain-ai/langchain) | `1.2.1` | `1.2.2` |\n\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 `ruff` from 0.15.13 to 0.15.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.16\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (\u003ccode\u003eASYNC119\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24644\"\u003e#24644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Narrow diagnostic range and exclude cases without exception handlers (\u003ccode\u003ePLW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25440\"\u003e#25440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Treat \u003ccode\u003eyield\u003c/code\u003e before \u003ccode\u003ebreak\u003c/code\u003e from a terminal loop as terminal (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25447\"\u003e#25447\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Avoid flagging \u003ccode\u003eruff:ignore\u003c/code\u003e comments as code (\u003ccode\u003eERA001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25537\"\u003e#25537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Fix \u003ccode\u003eERA001\u003c/code\u003e/\u003ccode\u003eRUF100\u003c/code\u003e conflict when \u003ccode\u003enoqa\u003c/code\u003e is on commented-out code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25414\"\u003e#25414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Avoid removing the \u003ccode\u003eformat\u003c/code\u003e call when it would change behavior (\u003ccode\u003eF523\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25320\"\u003e#25320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid syntax errors in invalid character replacements in f-strings before Python 3.12 (\u003ccode\u003ePLE2510\u003c/code\u003e, \u003ccode\u003ePLE2512\u003c/code\u003e, \u003ccode\u003ePLE2513\u003c/code\u003e, \u003ccode\u003ePLE2514\u003c/code\u003e, \u003ccode\u003ePLE2515\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25544\"\u003e#25544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Avoid converting \u003ccode\u003eformat\u003c/code\u003e calls with more kinds of side effects (\u003ccode\u003eUP032\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25484\"\u003e#25484\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Avoid fixes for ambiguous \u003ccode\u003eargnames\u003c/code\u003e and \u003ccode\u003eargvalues\u003c/code\u003e combinations (\u003ccode\u003ePT006\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24776\"\u003e#24776\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop excess capacity from statement suites during parsing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25368\"\u003e#25368\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epydocstyle\u003c/code\u003e] Improve discoverability of rules enabled for each convention (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24973\"\u003e#24973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Restore example code for Python versions before 3.15 (\u003ccode\u003eRUF017\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25439\"\u003e#25439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix typo \u003ccode\u003ebin/active\u003c/code\u003e → \u003ccode\u003ebin/activate\u003c/code\u003e in tutorial (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25473\"\u003e#25473\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25465\"\u003e#25465\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redslayer112\"\u003e\u003ccode\u003e@​Redslayer112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/koriyoshi2041\"\u003e\u003ccode\u003e@​koriyoshi2041\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/George-Ogden\"\u003e\u003ccode\u003e@​George-Ogden\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TejasAmle\"\u003e\u003ccode\u003e@​TejasAmle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/loganrosen\"\u003e\u003ccode\u003e@​loganrosen\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RafaelJohn9\"\u003e\u003ccode\u003e@​RafaelJohn9\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.16\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (\u003ccode\u003eASYNC119\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24644\"\u003e#24644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Narrow diagnostic range and exclude cases without exception handlers (\u003ccode\u003ePLW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25440\"\u003e#25440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Treat \u003ccode\u003eyield\u003c/code\u003e before \u003ccode\u003ebreak\u003c/code\u003e from a terminal loop as terminal (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25447\"\u003e#25447\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Avoid flagging \u003ccode\u003eruff:ignore\u003c/code\u003e comments as code (\u003ccode\u003eERA001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25537\"\u003e#25537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Fix \u003ccode\u003eERA001\u003c/code\u003e/\u003ccode\u003eRUF100\u003c/code\u003e conflict when \u003ccode\u003enoqa\u003c/code\u003e is on commented-out code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25414\"\u003e#25414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Avoid removing the \u003ccode\u003eformat\u003c/code\u003e call when it would change behavior (\u003ccode\u003eF523\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25320\"\u003e#25320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid syntax errors in invalid character replacements in f-strings before Python 3.12 (\u003ccode\u003ePLE2510\u003c/code\u003e, \u003ccode\u003ePLE2512\u003c/code\u003e, \u003ccode\u003ePLE2513\u003c/code\u003e, \u003ccode\u003ePLE2514\u003c/code\u003e, \u003ccode\u003ePLE2515\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25544\"\u003e#25544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Avoid converting \u003ccode\u003eformat\u003c/code\u003e calls with more kinds of side effects (\u003ccode\u003eUP032\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25484\"\u003e#25484\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Avoid fixes for ambiguous \u003ccode\u003eargnames\u003c/code\u003e and \u003ccode\u003eargvalues\u003c/code\u003e combinations (\u003ccode\u003ePT006\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24776\"\u003e#24776\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop excess capacity from statement suites during parsing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25368\"\u003e#25368\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epydocstyle\u003c/code\u003e] Improve discoverability of rules enabled for each convention (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24973\"\u003e#24973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Restore example code for Python versions before 3.15 (\u003ccode\u003eRUF017\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25439\"\u003e#25439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix typo \u003ccode\u003ebin/active\u003c/code\u003e → \u003ccode\u003ebin/activate\u003c/code\u003e in tutorial (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25473\"\u003e#25473\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25465\"\u003e#25465\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redslayer112\"\u003e\u003ccode\u003e@​Redslayer112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/koriyoshi2041\"\u003e\u003ccode\u003e@​koriyoshi2041\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/George-Ogden\"\u003e\u003ccode\u003e@​George-Ogden\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TejasAmle\"\u003e\u003ccode\u003e@​TejasAmle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/loganrosen\"\u003e\u003ccode\u003e@​loganrosen\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RafaelJohn9\"\u003e\u003ccode\u003e@​RafaelJohn9\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.15.15\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/astral-sh/ruff/commit/6c498ab5394edc5622d7f348e12956bf86203716\"\u003e\u003ccode\u003e6c498ab\u003c/code\u003e\u003c/a\u003e Bump 0.15.16 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25635\"\u003e#25635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e51e132831c4e1c4a5ac00fca4c9256354ab99bf\"\u003e\u003ccode\u003ee51e132\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (`AS...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7c6dcd9f2611999c449143d241c582dedf287964\"\u003e\u003ccode\u003e7c6dcd9\u003c/code\u003e\u003c/a\u003e [ty] Add caching for pattern match narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25613\"\u003e#25613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/27058fc071b542bf06395ba89cabed061d313ca6\"\u003e\u003ccode\u003e27058fc\u003c/code\u003e\u003c/a\u003e [ty] Compact retained definition and expression identities (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25606\"\u003e#25606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/bf80d05f007c939799f530c9e775ed9449f5b2eb\"\u003e\u003ccode\u003ebf80d05\u003c/code\u003e\u003c/a\u003e Fix CODEOWNERS syntax (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25622\"\u003e#25622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/10ccd511e94a81d1e836b174f1c553a73ff3f1b3\"\u003e\u003ccode\u003e10ccd51\u003c/code\u003e\u003c/a\u003e Shrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25465\"\u003e#25465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/0d7135f4d23e7f4d8404daed16b9ef11d14f3fb9\"\u003e\u003ccode\u003e0d7135f\u003c/code\u003e\u003c/a\u003e [ty] Upgrade Salsa (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25545\"\u003e#25545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/49493a3cea83a08fa9aa143695017c816a540f1d\"\u003e\u003ccode\u003e49493a3\u003c/code\u003e\u003c/a\u003e [ty] Show type alias value on hover (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25381\"\u003e#25381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/85207d3b7657a84252f266766cb0d56034dc21cc\"\u003e\u003ccode\u003e85207d3\u003c/code\u003e\u003c/a\u003e [ty] sys.implementation.version is not sys.version_info (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25608\"\u003e#25608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a8a0614348c1fcf47fc9b666eff61a103914d520\"\u003e\u003ccode\u003ea8a0614\u003c/code\u003e\u003c/a\u003e [ty] Avoid retaining duplicate function signatures (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25609\"\u003e#25609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.13...0.15.16\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typer` from 0.25.1 to 0.26.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/typer/releases\"\u003etyper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.26.7\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Respect wait=False when launching URLs with xdg-open. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1820\"\u003e#1820\u003c/a\u003e by \u003ca href=\"https://github.com/patrick91\"\u003e\u003ccode\u003e@​patrick91\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.26.6\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Ensure that the default of a list argument is used correctly. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1821\"\u003e#1821\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Speed up the CI by shuffling the test matrix. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1815\"\u003e#1815\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.26.5\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Ensure that hidden commands are not shown when Rich markup is disabled. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1812\"\u003e#1812\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔥 Remove old stub packages. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1810\"\u003e#1810\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.26.4\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Update AI Library Skill to avoid verbose code for CLI Options. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1808\"\u003e#1808\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Add CI to create draft release after merging a \u003ccode\u003erelease\u003c/code\u003e PR. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1807\"\u003e#1807\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 labeler to accept label \u003ccode\u003erelease\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1806\"\u003e#1806\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 GitHub Action permissions for prepare-release. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1804\"\u003e#1804\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 GitHub Actions prepare release workflow. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1802\"\u003e#1802\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 publish action, do not use uv cache. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1803\"\u003e#1803\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 the python-packages group across 1 directory with 5 updates. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1793\"\u003e#1793\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.26.3\u003c/h2\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Unify the testing functionality. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1792\"\u003e#1792\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Update version of latest-changes GitHub action. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1798\"\u003e#1798\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.26.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Ensure that an envvar set for a \u003ccode\u003etyper.Option\u003c/code\u003e list is split on whitespace. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1791\"\u003e#1791\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/typer/blob/master/docs/release-notes.md\"\u003etyper's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.26.7 (2026-06-03)\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Respect wait=False when launching URLs with xdg-open. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1820\"\u003e#1820\u003c/a\u003e by \u003ca href=\"https://github.com/patrick91\"\u003e\u003ccode\u003e@​patrick91\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.26.6 (2026-06-02)\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Ensure that the default of a list argument is used correctly. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1821\"\u003e#1821\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Speed up the CI by shuffling the test matrix. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1815\"\u003e#1815\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.26.5 (2026-06-01)\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Ensure that hidden commands are not shown when Rich markup is disabled. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1812\"\u003e#1812\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔥 Remove old stub packages. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1810\"\u003e#1810\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.26.4 (2026-05-30)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Update AI Library Skill to avoid verbose code for CLI Options. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1808\"\u003e#1808\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Add CI to create draft release after merging a \u003ccode\u003erelease\u003c/code\u003e PR. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1807\"\u003e#1807\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 labeler to accept label \u003ccode\u003erelease\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1806\"\u003e#1806\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 GitHub Action permissions for prepare-release. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1804\"\u003e#1804\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 GitHub Actions prepare release workflow. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1802\"\u003e#1802\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 publish action, do not use uv cache. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1803\"\u003e#1803\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 the python-packages group across 1 directory with 5 updates. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1793\"\u003e#1793\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.26.3 (2026-05-28)\u003c/h2\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Unify the testing functionality. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1792\"\u003e#1792\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e👷 Update version of latest-changes GitHub action. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1798\"\u003e#1798\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/4e10334990db4e7e1e9a71aff363bcae7f7fc76d\"\u003e\u003ccode\u003e4e10334\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.26.7 (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1823\"\u003e#1823\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/08a8a032d3524035505babd5cb52eae93eab3f96\"\u003e\u003ccode\u003e08a8a03\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/8e75bc3565d5dc270cd4ef3b09b5b2abf9f8491a\"\u003e\u003ccode\u003e8e75bc3\u003c/code\u003e\u003c/a\u003e 🐛 Respect wait=False when launching URLs with xdg-open (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1820\"\u003e#1820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/d2e002ab0d0afc9527cfacc00dd4c359a44898e9\"\u003e\u003ccode\u003ed2e002a\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.26.6 (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1822\"\u003e#1822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/2fe5d0c2b63db2243b3f3ad37d9f164791a390b1\"\u003e\u003ccode\u003e2fe5d0c\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/06fce7dc851de662792c840320abe990ddd3566e\"\u003e\u003ccode\u003e06fce7d\u003c/code\u003e\u003c/a\u003e 🐛 Ensure that the default of a list argument is used correctly (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1821\"\u003e#1821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/7f888b24c867458ab9547702720b71dc920c8925\"\u003e\u003ccode\u003e7f888b2\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/2e9bf9e49401e58c59947a28f062566343f94c8f\"\u003e\u003ccode\u003e2e9bf9e\u003c/code\u003e\u003c/a\u003e 👷 Speed up the CI by shuffling the test matrix (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1815\"\u003e#1815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/1888fa2eb494564634a0f9080f4701d71c26225d\"\u003e\u003ccode\u003e1888fa2\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.26.5 (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1813\"\u003e#1813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/a493a98a342b6565c37f9a4100b6eb1ae5a1b410\"\u003e\u003ccode\u003ea493a98\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/typer/compare/0.25.1...0.26.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.47.0 to 0.49.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.49.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump httptools minimum version to 0.8.0 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/2962\"\u003eKludex/uvicorn#2962\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConsume duplicate forwarding headers in ProxyHeadersMiddleware (reverses the 0.48.0 behavior of ignoring them) 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/2971\"\u003eKludex/uvicorn#2971\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.48.0...0.49.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.48.0...0.49.0\u003c/a\u003e\u003c/p\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\u003c/blockquote\u003e\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.49.0 (June 3, 2026)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump \u003ccode\u003ehttptools\u003c/code\u003e minimum version to 0.8.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2962\"\u003e#2962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsume duplicate forwarding headers in \u003ccode\u003eProxyHeadersMiddleware\u003c/code\u003e (reverses the 0.48.0 behavior of ignoring them) (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2971\"\u003e#2971\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\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\u003c/blockquote\u003e\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/3ef2e3e08e3d9ad9572800f8bc54f3eaed9eab0a\"\u003e\u003ccode\u003e3ef2e3e\u003c/code\u003e\u003c/a\u003e Version 0.49.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2973\"\u003e#2973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/eeb64b1d1c95a14096ed3313377c74b485f558fc\"\u003e\u003ccode\u003eeeb64b1\u003c/code\u003e\u003c/a\u003e Consume duplicate forwarding headers in ProxyHeadersMiddleware (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2971\"\u003e#2971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/630f4aca14e79183617c71be714030842a1041c5\"\u003e\u003ccode\u003e630f4ac\u003c/code\u003e\u003c/a\u003e Make the watchfiles reload tests deterministic (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2972\"\u003e#2972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9154922e3730f7aba68ecc3ecbf536680ee8fd1c\"\u003e\u003ccode\u003e9154922\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group across 1 directory with 6 updates ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/739727a1d80e468d1e47e98bbd824ee9e3c9554b\"\u003e\u003ccode\u003e739727a\u003c/code\u003e\u003c/a\u003e Migrate docs deploy from Cloudflare Pages to Workers (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2967\"\u003e#2967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/be4a240488d3fb678a11b8e8f83505266f5f1de7\"\u003e\u003ccode\u003ebe4a240\u003c/code\u003e\u003c/a\u003e Gate docs preview deploy on Cloudflare token presence (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2966\"\u003e#2966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/c489d7e10dfe653a2bba914feedf2a632a026e6f\"\u003e\u003ccode\u003ec489d7e\u003c/code\u003e\u003c/a\u003e Bump httptools minimum version to 0.8.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2962\"\u003e#2962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9f547bd82ef52bcba206e04170b359bd6daa25b3\"\u003e\u003ccode\u003e9f547bd\u003c/code\u003e\u003c/a\u003e Skip docs preview deploy for Dependabot PRs (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2961\"\u003e#2961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/44446b894e37ca76830d6aa83df4349795400ed4\"\u003e\u003ccode\u003e44446b8\u003c/code\u003e\u003c/a\u003e Migrate documentation from MkDocs Material to Zensical (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2959\"\u003e#2959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/cfd659c4f18b526adce9c255c96707bab20af40c\"\u003e\u003ccode\u003ecfd659c\u003c/code\u003e\u003c/a\u003e Bump pymdown-extensions to 10.21.3 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2958\"\u003e#2958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.47.0...0.49.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai` from 2.37.0 to 2.41.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/releases\"\u003eopenai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.41.0\u003c/h2\u003e\n\u003ch2\u003e2.41.0 (2026-06-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.40.0...v2.41.0\"\u003ev2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e responses.moderation and chat_completions.moderation (\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e87e46c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.40.0\u003c/h2\u003e\n\u003ch2\u003e2.40.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.39.0...v2.40.0\"\u003ev2.39.0...v2.40.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 Amazon Bedrock Responses support\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 allow setting bedrock api keys on the client directly (\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e4d5bfde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.39.0\u003c/h2\u003e\n\u003ch2\u003e2.39.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.38.0...v2.39.0\"\u003ev2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e workload identity in audit logs, additional_tools item in responses, fix ActionSearch.query to be optional. (\u003ca href=\"https://github.com/openai/openai-python/commit/ab60d7a52c310bb0490ff36b8bdc33b8d4ea725f\"\u003eab60d7a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.38.0\u003c/h2\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e docs updates (\u003ca href=\"https://github.com/openai/openai-python/commit/ee101520d49e22c09cf8096f8cbb3848ea58a1f9\"\u003eee10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echeck release PR custom code sync (\u003ca href=\"https://github.com/openai/openai-python/commit/2638779a5b8fffaa8fdb6eebc1d734f15d2491f8\"\u003e2638779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove release automation trigger (\u003ca href=\"https://github.com/openai/openai-python/commit/bd6eea559f2996d914258a65e645981bdce3cad4\"\u003ebd6eea5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etrigger release automation (\u003ca href=\"https://github.com/openai/openai-python/commit/f62d08201eea8e08d4bb3385662f934d4adccb29\"\u003ef62d082\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/openai/openai-python/blob/main/CHANGELOG.md\"\u003eopenai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.41.0 (2026-06-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.40.0...v2.41.0\"\u003ev2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e responses.moderation and chat_completions.moderation (\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e87e46c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.40.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.39.0...v2.40.0\"\u003ev2.39.0...v2.40.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 Amazon Bedrock Responses support\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 allow setting bedrock api keys on the client directly (\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e4d5bfde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.39.0 (2026-06-01)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.38.0...v2.39.0\"\u003ev2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e workload identity in audit logs, additional_tools item in responses, fix ActionSearch.query to be optional. (\u003ca href=\"https://github.com/openai/openai-python/commit/ab60d7a52c310bb0490ff36b8bdc33b8d4ea725f\"\u003eab60d7a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.38.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.38.0\"\u003ev2.37.0...v2.38.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/33d1d013250053886a73d178136e6bd1b09df059\"\u003e33d1d01\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e manual updates (\u003ca href=\"https://github.com/openai/openai-python/commit/a21700a2cd510cb9e6c88065ac8e942d4c041aa8\"\u003ea21700a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e update OpenAPI spec or Stainless config (\u003ca href=\"https://github.com/openai/openai-python/commit/00265c5daba4d2481452ad35220f1556dab6bcf6\"\u003e00265c5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e docs updates (\u003ca href=\"https://github.com/openai/openai-python/commit/ee101520d49e22c09cf8096f8cbb3848ea58a1f9\"\u003eee10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echeck release PR custom code sync (\u003ca href=\"https://github.com/openai/openai-python/commit/2638779a5b8fffaa8fdb6eebc1d734f15d2491f8\"\u003e2638779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove release automation trigger (\u003ca href=\"https://github.com/openai/openai-python/commit/bd6eea559f2996d914258a65e645981bdce3cad4\"\u003ebd6eea5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etrigger release automation (\u003ca href=\"https://github.com/openai/openai-python/commit/f62d08201eea8e08d4bb3385662f934d4adccb29\"\u003ef62d082\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/openai/openai-python/commit/2d955a1ac69df0288b8072bbcd25905639e9b2ed\"\u003e\u003ccode\u003e2d955a1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3359\"\u003e#3359\u003c/a\u003e from openai/release-please--branches--main--changes-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/519cd027919fa5b73bd8fe237e80c7a01b3e0b2f\"\u003e\u003ccode\u003e519cd02\u003c/code\u003e\u003c/a\u003e release: 2.41.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/87e46c25ac9ca8cff407b52ad9fb33e326c059d6\"\u003e\u003ccode\u003e87e46c2\u003c/code\u003e\u003c/a\u003e feat(api): responses.moderation and chat_completions.moderation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a28a3f6aa34f5ac6fcc2fafeb50112f2140c45ae\"\u003e\u003ccode\u003ea28a3f6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3352\"\u003e#3352\u003c/a\u003e from openai/release-please--branches--main--changes-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/db6ccafa7b74b72caefbda6fb63bd5c904521770\"\u003e\u003ccode\u003edb6ccaf\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/2264f700dad91e4f570eb7c0a6f10bbd22d34520\"\u003e\u003ccode\u003e2264f70\u003c/code\u003e\u003c/a\u003e release: 2.40.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/4d5bfdec37fa8a2b2a0413724755e586e627e28d\"\u003e\u003ccode\u003e4d5bfde\u003c/code\u003e\u003c/a\u003e fix(api): allow setting bedrock api keys on the client directly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/ccef1436d9f52b5014597047e450eef543a87540\"\u003e\u003ccode\u003eccef143\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/openai/openai-python/issues/3326\"\u003e#3326\u003c/a\u003e from openai/codex/bedrock-responses-review\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/a50ff0a19084306a09012ff85f730ea2c129eef9\"\u003e\u003ccode\u003ea50ff0a\u003c/code\u003e\u003c/a\u003e Fix Bedrock with_options overrides\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/fdf4901e301fa01b368ede0b5b407dca42f07acc\"\u003e\u003ccode\u003efdf4901\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-python/compare/v2.37.0...v2.41.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mcp` from 1.27.1 to 1.27.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/releases\"\u003emcp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.27.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[v1.x] ci: deploy docs to py.sdk.modelcontextprotocol.io via Pages artifact by \u003ca href=\"https://github.com/maxisbey\"\u003e\u003ccode\u003e@​maxisbey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2635\"\u003emodelcontextprotocol/python-sdk#2635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[v1.x] Add subject and claims to AccessToken by \u003ca href=\"https://github.com/maxisbey\"\u003e\u003ccode\u003e@​maxisbey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2690\"\u003emodelcontextprotocol/python-sdk#2690\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[v1.x] Bind transport sessions to the authenticated principal by \u003ca href=\"https://github.com/maxisbey\"\u003e\u003ccode\u003e@​maxisbey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2719\"\u003emodelcontextprotocol/python-sdk#2719\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[v1.x] Scope experimental tasks to the session that created them by \u003ca href=\"https://github.com/maxisbey\"\u003e\u003ccode\u003e@​maxisbey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/pull/2720\"\u003emodelcontextprotocol/python-sdk#2720\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v1.27.1...v1.27.2\"\u003ehttps://github.com/modelcontextprotocol/python-sdk/compare/v1.27.1...v1.27.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/modelcontextprotocol/python-sdk/commit/62137874ff26dd74d2fea80ff528a7fd9ca7a5e7\"\u003e\u003ccode\u003e6213787\u003c/code\u003e\u003c/a\u003e [v1.x] Scope experimental tasks to the session that created them (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/2720\"\u003e#2720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/ce267b6fc515dc4efc1dc70b6975b16ff0feef0a\"\u003e\u003ccode\u003ece267b6\u003c/code\u003e\u003c/a\u003e [v1.x] Bind transport sessions to the authenticated principal (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/2719\"\u003e#2719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/1abcca2408a6b50e10ec601181f63f9978705c00\"\u003e\u003ccode\u003e1abcca2\u003c/code\u003e\u003c/a\u003e [v1.x] Add subject and claims to AccessToken (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/python-sdk/issues/2690\"\u003e#2690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/commit/9773a3f75edab3157253c8e612db1bc338cb9a1b\"\u003e\u003ccode\u003e9773a3f\u003c/code\u003e\u003c/a\u003e [v1.x] ci: deploy docs to py.sdk.modelcontextprotocol.io via Pages artifact (...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/modelcontextprotocol/python-sdk/compare/v1.27.1...v1.27.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\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 `filelock` from 3.29.0 to 3.29.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tox-dev/py-filelock/releases\"\u003efilelock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.29.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs: fix API docs of \u003ccode\u003erelease()\u003c/code\u003e by \u003ca href=\"https://github.com/MrAnno\"\u003e\u003ccode\u003e@​MrAnno\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/540\"\u003etox-dev/filelock#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: clarify per-thread scope of FileLock configuration by \u003ca href=\"https://github.com/Gares95\"\u003e\u003ccode\u003e@​Gares95\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/543\"\u003etox-dev/filelock#543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: improve filelock maintenance path by \u003ca href=\"https://github.com/lphuc2250gma\"\u003e\u003ccode\u003e@​lphuc2250gma\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/542\"\u003etox-dev/filelock#542\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: improve filelock maintenance path by \u003ca href=\"https://github.com/lphuc2250gma\"\u003e\u003ccode\u003e@​lphuc2250gma\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/544\"\u003etox-dev/filelock#544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: improve filelock maintenance path by \u003ca href=\"https://github.com/lphuc2250gma\"\u003e\u003ccode\u003e@​lphuc2250gma\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/545\"\u003etox-dev/filelock#545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(soft): refuse to follow symlinks when reading the lock file by \u003ca href=\"https://github.com/dxbjavid\"\u003e\u003ccode\u003e@​dxbjavid\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/548\"\u003etox-dev/filelock#548\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MrAnno\"\u003e\u003ccode\u003e@​MrAnno\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/540\"\u003etox-dev/filelock#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Gares95\"\u003e\u003ccode\u003e@​Gares95\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/543\"\u003etox-dev/filelock#543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lphuc2250gma\"\u003e\u003ccode\u003e@​lphuc2250gma\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/542\"\u003etox-dev/filelock#542\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dxbjavid\"\u003e\u003ccode\u003e@​dxbjavid\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tox-dev/filelock/pull/548\"\u003etox-dev/filelock#548\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tox-dev/filelock/compare/3.29.0...3.29.1\"\u003ehttps://github.com/tox-dev/filelock/compare/3.29.0...3.29.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/tox-dev/filelock/blob/main/docs/changelog.rst\"\u003efilelock's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e###########\nChangelog\n###########\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003e3.29.1 (2026-06-03)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(soft): refuse to follow symlinks when reading the lock file :pr:\u003ccode\u003e548\u003c/code\u003e - by :user:\u003ccode\u003edxbjavid\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate :pr:\u003ccode\u003e547\u003c/code\u003e - by :user:\u003ccode\u003epre-commit-ci[bot]\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate :pr:\u003ccode\u003e546\u003c/code\u003e - by :user:\u003ccode\u003epre-commit-ci[bot]\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003echore: improve filelock maintenance path :pr:\u003ccode\u003e545\u003c/code\u003e - by :user:\u003ccode\u003elphuc2250gma\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003echore: improve filelock maintenance path :pr:\u003ccode\u003e544\u003c/code\u003e - by :user:\u003ccode\u003elphuc2250gma\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003echore: improve filelock maintenance path :pr:\u003ccode\u003e542\u003c/code\u003e - by :user:\u003ccode\u003elphuc2250gma\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edocs: clarify per-thread scope of FileLock configuration :pr:\u003ccode\u003e543\u003c/code\u003e - by :user:\u003ccode\u003eGares95\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate :pr:\u003ccode\u003e541\u003c/code\u003e - by :user:\u003ccode\u003epre-commit-ci[bot]\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix API docs of \u003ccode\u003erelease()\u003c/code\u003e :pr:\u003ccode\u003e540\u003c/code\u003e - by :user:\u003ccode\u003eMrAnno\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate :pr:\u003ccode\u003e539\u003c/code\u003e - by :user:\u003ccode\u003epre-commit-ci[bot]\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate :pr:\u003ccode\u003e538\u003c/code\u003e - by :user:\u003ccode\u003epre-commit-ci[bot]\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate :pr:\u003ccode\u003e537\u003c/code\u003e - by :user:\u003ccode\u003epre-commit-ci[bot]\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump astral-sh/setup-uv from 8.0.0 to 8.1.0 :pr:\u003ccode\u003e536\u003c/code\u003e - by :user:\u003ccode\u003edependabot[bot]\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate :pr:\u003ccode\u003e535\u003c/code\u003e - by :user:\u003ccode\u003epre-commit-ci[bot]\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e3.29.0 (2026-04-19)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e✨ feat(soft): enable stale lock detection on Windows :pr:\u003ccode\u003e534\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e🐛 fix(async): use single-thread executor for lock consistency :pr:\u003ccode\u003e533\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 :pr:\u003ccode\u003e530\u003c/code\u003e - by :user:\u003ccode\u003edependabot[bot]\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e3.28.0 (2026-04-14)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(ci): unbreak release workflow, publish to PyPI again :pr:\u003ccode\u003e529\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e3.26.1 (2026-04-09)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 fix(asyncio): add \u003cstrong\u003eexit\u003c/strong\u003e to BaseAsyncFileLock and fix \u003cstrong\u003edel\u003c/strong\u003e loop handling :pr:\u003ccode\u003e518\u003c/code\u003e - by :user:\u003ccode\u003enaarob\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump pypa/gh-action-pypi-publish from 1.13.0 to 1.14.0 :pr:\u003ccode\u003e525\u003c/code\u003e - by :user:\u003ccode\u003edependabot[bot]\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e3.26.0 (2026-04-06)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003e✨ feat(soft): add PID inspection and lock breaking :pr:\u003ccode\u003e524\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[pre-commit.ci] pre-commit autoupdate :pr:\u003ccode\u003e523\u003c/code\u003e - by :user:\u003ccode\u003epre-commit-ci[bot]\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/tox-dev/filelock/commit/438b6fe991411a104a01baa543a9466c73f1fc79\"\u003e\u003ccode\u003e438b6fe\u003c/code\u003e\u003c/a\u003e Release 3.29.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/bfbfa76c1b5069a7af1cbcddafe22fbf3f1a1aae\"\u003e\u003ccode\u003ebfbfa76\u003c/code\u003e\u003c/a\u003e 🐛 fix(soft): refuse to follow symlinks when reading the lock file (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/548\"\u003e#548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/c51a72cb4913a1e451f892d238b81e39f4f64340\"\u003e\u003ccode\u003ec51a72c\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/547\"\u003e#547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/cc05fd7f91030bc7f93c1467e3d7fbd3d401d624\"\u003e\u003ccode\u003ecc05fd7\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/546\"\u003e#546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/cb947e58c22d8f352abe8ae02078596eeb33fd2f\"\u003e\u003ccode\u003ecb947e5\u003c/code\u003e\u003c/a\u003e chore: improve filelock maintenance path (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/545\"\u003e#545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/e087ca9d94091336c4256f3a6794b5dfed9595e4\"\u003e\u003ccode\u003ee087ca9\u003c/code\u003e\u003c/a\u003e chore: improve filelock maintenance path (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/544\"\u003e#544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/f9dd949b1976c9d124e9cd6b15102bfb8340ba4d\"\u003e\u003ccode\u003ef9dd949\u003c/code\u003e\u003c/a\u003e chore: improve filelock maintenance path (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/542\"\u003e#542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/9200f1f53d924d6425cc663af03f9835bf53382a\"\u003e\u003ccode\u003e9200f1f\u003c/code\u003e\u003c/a\u003e docs: clarify per-thread scope of FileLock configuration (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/543\"\u003e#543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/9d8985fc953d1301a56a74bc58d8a6b580bce5fa\"\u003e\u003ccode\u003e9d8985f\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/541\"\u003e#541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tox-dev/filelock/commit/7d1f48ccef189397896e55e4121d0fa74edb3be2\"\u003e\u003ccode\u003e7d1f48c\u003c/code\u003e\u003c/a\u003e docs: fix API docs of \u003ccode\u003erelease()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tox-dev/py-filelock/issues/540\"\u003e#540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tox-dev/py-filelock/compare/3.29.0...3.29.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.29 to 0.0.32\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.32\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace per-byte partial-boundary scan with rfind lookbehind 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/300\"\u003eKludex/python-multipart#300\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.31...0.0.32\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.31...0.0.32\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 0.0.31\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up multipart header parsing and callback dispatch 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/295\"\u003eKludex/python-multipart#295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBound header field name size before validating 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/296\"\u003eKludex/python-multipart#296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eValidate Content-Length is non-negative in parse_form 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/297\"\u003eKludex/python-multipart#297\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.30...0.0.31\"\u003ehttps://github.com/Kludex/python-multipart/compare/0.0.30...0.0.31\u003c/a\u003e\u003c/p\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\u003c/blockquote\u003e\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.32 (2026-06-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up partial-boundary scanning for CR/LF-dense part data \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/300\"\u003e#300\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.31 (2026-06-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up multipart header parsing and callback dispatch \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/295\"\u003e#295\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBound header field name size before validating \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/296\"\u003e#296\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eValidate \u003ccode\u003eContent-Length\u003c/code\u003e is non-negative in \u003ccode\u003eparse_form\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Kludex/python-multipart/pull/297\"\u003e#297\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.30 (2026-05-31)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eParse \u003ccode\u003eap...\n\n_Description has been truncated_","html_url":"https://github.com/kagent-dev/kagent/pull/1976","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kagent-dev%2Fkagent/issues/1976","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1976/packages"}},{"old_version":"0.6.5","new_version":"0.17.3","update_type":"minor","path":null,"pr_created_at":"2026-05-26T00:23:31.000Z","version_change":"0.6.5 → 0.17.3","issue":{"uuid":"4520310526","node_id":"PR_kwDOSKFNzM7fNcsi","number":38,"state":"open","title":"chore(deps): bump the python-minor-patch group across 1 directory with 28 updates","user":"dependabot[bot]","labels":["ignore-for-release"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-26T00:23:31.000Z","updated_at":"2026-05-26T00:23:40.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"python-minor-patch","update_count":28,"packages":[{"name":"ruff","old_version":"0.15.11","new_version":"0.15.14","repository_url":"https://github.com/astral-sh/ruff"},{"name":"authlib","old_version":"1.7.0","new_version":"1.7.2","repository_url":"https://github.com/authlib/authlib"},{"name":"google-auth","old_version":"2.47.0","new_version":"2.53.0","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"pydantic","old_version":"2.12.5","new_version":"2.13.4","repository_url":"https://github.com/pydantic/pydantic"},{"name":"typing-extensions","old_version":"4.14.1","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"anyio","old_version":"4.10.0","new_version":"4.13.0","repository_url":"https://github.com/agronholm/anyio"},{"name":"typer","old_version":"0.16.0","new_version":"0.25.1","repository_url":"https://github.com/fastapi/typer"},{"name":"uvicorn","old_version":"0.35.0","new_version":"0.48.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"openai","old_version":"2.14.0","new_version":"2.38.0","repository_url":"https://github.com/openai/openai-python"},{"name":"mcp","old_version":"1.25.0","new_version":"1.27.1","repository_url":"https://github.com/modelcontextprotocol/python-sdk"},{"name":"fastapi","old_version":"0.129.0","new_version":"0.136.3","repository_url":"https://github.com/fastapi/fastapi"},{"name":"urllib3","old_version":"2.6.3","new_version":"2.7.0","repository_url":"https://github.com/urllib3/urllib3"},{"name":"filelock","old_version":"3.20.3","new_version":"3.29.0","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"python-multipart","old_version":"0.0.22","new_version":"0.0.29","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"boto3","old_version":"1.42.28","new_version":"1.43.14","repository_url":"https://github.com/boto/boto3"},{"name":"ollama","old_version":"0.6.1","new_version":"0.6.2","repository_url":"https://github.com/ollama/ollama-python"},{"name":"psutil","old_version":"7.0.0","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"opentelemetry-instrumentation-openai","old_version":"0.52.5","new_version":"0.60.0","repository_url":"https://github.com/traceloop/openllmetry"},{"name":"langgraph","old_version":"1.0.6","new_version":"1.2.1","repository_url":"https://github.com/langchain-ai/langgraph"},{"name":"openai-agents","old_version":"0.6.5","new_version":"0.17.3","repository_url":"https://github.com/openai/openai-agents-python"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"langchain-openai","old_version":"1.1.7","new_version":"1.2.2","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langgraph-checkpoint-sqlite","old_version":"3.0.3","new_version":"3.1.0","repository_url":"https://github.com/langchain-ai/langgraph"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor-patch group with 23 updates in the /python directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.11` | `0.15.14` |\n| [authlib](https://github.com/authlib/authlib) | `1.7.0` | `1.7.2` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.47.0` | `2.53.0` |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.12.5` | `2.13.4` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.14.1` | `4.15.0` |\n| [anyio](https://github.com/agronholm/anyio) | `4.10.0` | `4.13.0` |\n| [typer](https://github.com/fastapi/typer) | `0.16.0` | `0.25.1` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.35.0` | `0.48.0` |\n| [openai](https://github.com/openai/openai-python) | `2.14.0` | `2.38.0` |\n| [mcp](https://github.com/modelcontextprotocol/python-sdk) | `1.25.0` | `1.27.1` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.129.0` | `0.136.3` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.6.3` | `2.7.0` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.20.3` | `3.29.0` |\n| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.22` | `0.0.29` |\n| [boto3](https://github.com/boto/boto3) | `1.42.28` | `1.43.14` |\n| [ollama](https://github.com/ollama/ollama-python) | `0.6.1` | `0.6.2` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.2.2` |\n| [opentelemetry-instrumentation-openai](https://github.com/traceloop/openllmetry) | `0.52.5` | `0.60.0` |\n| [langgraph](https://github.com/langchain-ai/langgraph) | `1.0.6` | `1.2.1` |\n| [openai-agents](https://github.com/openai/openai-agents-python) | `0.6.5` | `0.17.3` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [langchain-openai](https://github.com/langchain-ai/langchain) | `1.1.7` | `1.2.2` |\n| [langgraph-checkpoint-sqlite](https://github.com/langchain-ai/langgraph) | `3.0.3` | `3.1.0` |\n\n\nUpdates `ruff` from 0.15.11 to 0.15.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.14\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-21.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Implement \u003ccode\u003eairflow-task-implicit-multiple-outputs\u003c/code\u003e (\u003ccode\u003eAIR202\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25152\"\u003e#25152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark \u003ccode\u003ePTH101\u003c/code\u003e fix as unsafe when first argument is a class attribute annotated as \u003ccode\u003eint\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25086\"\u003e#25086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Implement \u003ccode\u003etoo-many-try-statements\u003c/code\u003e (\u003ccode\u003eW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23970\"\u003e#23970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003eincorrect-decorator-order\u003c/code\u003e (\u003ccode\u003eRUF074\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23461\"\u003e#23461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003efallible-context-manager\u003c/code\u003e (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22844\"\u003e#22844\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix lambda formatting in interpolated string expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25144\"\u003e#25144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat generic \u003ccode\u003efrozenset\u003c/code\u003e annotations as immutable (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25251\"\u003e#25251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Avoid \u003ccode\u003estrict\u003c/code\u003e behavior when \u003ccode\u003efuture-annotations\u003c/code\u003e are enabled (\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, \u003ccode\u003eTC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25035\"\u003e#25035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid false positives in \u003ccode\u003eelse\u003c/code\u003e clause (\u003ccode\u003ePLR1733\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25177\"\u003e#25177\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Skip \u003ccode\u003eC417\u003c/code\u003e for lambdas with positional-only parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25272\"\u003e#25272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Preserve f-string source verbatim in \u003ccode\u003eSIM101\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25061\"\u003e#25061\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid unnecessary parser lookahead for operators (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25290\"\u003e#25290\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate code example setting Neovim LSP log level (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25284\"\u003e#25284\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd full PEP 798 support (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25104\"\u003e#25104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a parser recursion limit (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24810\"\u003e#24810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate various \u003ccode\u003eruff_python_stdlib\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25273\"\u003e#25273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ocaballeror\"\u003e\u003ccode\u003e@​ocaballeror\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lerebear\"\u003e\u003ccode\u003e@​lerebear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samuelcolvin\"\u003e\u003ccode\u003e@​samuelcolvin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baltasarblanco\"\u003e\u003ccode\u003e@​baltasarblanco\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aconal-com\"\u003e\u003ccode\u003e@​aconal-com\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JelleZijlstra\"\u003e\u003ccode\u003e@​JelleZijlstra\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AlexWaygood\"\u003e\u003ccode\u003e@​AlexWaygood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.14\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-05-21.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Implement \u003ccode\u003eairflow-task-implicit-multiple-outputs\u003c/code\u003e (\u003ccode\u003eAIR202\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25152\"\u003e#25152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-use-pathlib\u003c/code\u003e] Mark \u003ccode\u003ePTH101\u003c/code\u003e fix as unsafe when first argument is a class attribute annotated as \u003ccode\u003eint\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25086\"\u003e#25086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Implement \u003ccode\u003etoo-many-try-statements\u003c/code\u003e (\u003ccode\u003eW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23970\"\u003e#23970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003eincorrect-decorator-order\u003c/code\u003e (\u003ccode\u003eRUF074\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23461\"\u003e#23461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003efallible-context-manager\u003c/code\u003e (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22844\"\u003e#22844\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix lambda formatting in interpolated string expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25144\"\u003e#25144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat generic \u003ccode\u003efrozenset\u003c/code\u003e annotations as immutable (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25251\"\u003e#25251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-type-checking\u003c/code\u003e] Avoid \u003ccode\u003estrict\u003c/code\u003e behavior when \u003ccode\u003efuture-annotations\u003c/code\u003e are enabled (\u003ccode\u003eTC001\u003c/code\u003e, \u003ccode\u003eTC002\u003c/code\u003e, \u003ccode\u003eTC003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25035\"\u003e#25035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid false positives in \u003ccode\u003eelse\u003c/code\u003e clause (\u003ccode\u003ePLR1733\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25177\"\u003e#25177\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Skip \u003ccode\u003eC417\u003c/code\u003e for lambdas with positional-only parameters (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25272\"\u003e#25272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Preserve f-string source verbatim in \u003ccode\u003eSIM101\u003c/code\u003e fix (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25061\"\u003e#25061\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid unnecessary parser lookahead for operators (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25290\"\u003e#25290\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate code example setting Neovim LSP log level (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25284\"\u003e#25284\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd full PEP 798 support (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25104\"\u003e#25104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a parser recursion limit (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24810\"\u003e#24810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate various \u003ccode\u003eruff_python_stdlib\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25273\"\u003e#25273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ocaballeror\"\u003e\u003ccode\u003e@​ocaballeror\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lerebear\"\u003e\u003ccode\u003e@​lerebear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/samuelcolvin\"\u003e\u003ccode\u003e@​samuelcolvin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baltasarblanco\"\u003e\u003ccode\u003e@​baltasarblanco\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aconal-com\"\u003e\u003ccode\u003e@​aconal-com\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JelleZijlstra\"\u003e\u003ccode\u003e@​JelleZijlstra\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AlexWaygood\"\u003e\u003ccode\u003e@​AlexWaygood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9ad2da3015e5faf73bdc5f1d09df3e47238e3edf\"\u003e\u003ccode\u003e9ad2da3\u003c/code\u003e\u003c/a\u003e Bump 0.15.14 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25295\"\u003e#25295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c714e84952510696c05ec21b0158a3548898f594\"\u003e\u003ccode\u003ec714e84\u003c/code\u003e\u003c/a\u003e [ty] Modernize setup of union types in mdtests (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25291\"\u003e#25291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8a8e35ebfe318e2467a0f276e5d1a3a9032a55ad\"\u003e\u003ccode\u003e8a8e35e\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Skip \u003ccode\u003eC417\u003c/code\u003e for lambdas with positional-only parame...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/aea5ed4d278017057c2e842c6c3a2e92ad71495f\"\u003e\u003ccode\u003eaea5ed4\u003c/code\u003e\u003c/a\u003e Avoid unnecessary parser lookahead for operators (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25290\"\u003e#25290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e9d72bb420f26c23e6660bfce4dfa0028b931bff\"\u003e\u003ccode\u003ee9d72bb\u003c/code\u003e\u003c/a\u003e [ty] Allow enum member accesses on \u003ccode\u003eself\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25077\"\u003e#25077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/6cbd59b511a92d5f408db57bde33367c0d47b672\"\u003e\u003ccode\u003e6cbd59b\u003c/code\u003e\u003c/a\u003e Set \u003ccode\u003eexclude-newer = \u0026quot;7 days\u0026quot;\u003c/code\u003e in our PEP-723 scripts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25285\"\u003e#25285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9999a3967ae28fe3295131e8883b6947f272a076\"\u003e\u003ccode\u003e9999a39\u003c/code\u003e\u003c/a\u003e Update code example on how to update Neovim LSP log level (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25284\"\u003e#25284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/67d8c544f0d1c526a2fc60d4bb1358fd7956d178\"\u003e\u003ccode\u003e67d8c54\u003c/code\u003e\u003c/a\u003e [ty] Retain recursively-defined state in binary expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25277\"\u003e#25277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/25a3191140dc0467f9d196f35c128fefde269261\"\u003e\u003ccode\u003e25a3191\u003c/code\u003e\u003c/a\u003e [ty] Refine Callable class-decorator fallback for unknown results (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25250\"\u003e#25250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c423054dc09e5b644c926b6b527b6accfbe693e9\"\u003e\u003ccode\u003ec423054\u003c/code\u003e\u003c/a\u003e Add a recursion limit to the parser (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/24810\"\u003e#24810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.11...0.15.14\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `authlib` from 1.7.0 to 1.7.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/authlib/authlib/releases\"\u003eauthlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.7.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix the readme links by \u003ca href=\"https://github.com/azmeuk\"\u003e\u003ccode\u003e@​azmeuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/886\"\u003eauthlib/authlib#886\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow non-recommended algorithms in ClientSecretJWT and PrivateKey by \u003ca href=\"https://github.com/azmeuk\"\u003e\u003ccode\u003e@​azmeuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/887\"\u003eauthlib/authlib#887\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eValidate BCP47 language tags with a regex by \u003ca href=\"https://github.com/azmeuk\"\u003e\u003ccode\u003e@​azmeuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/873\"\u003eauthlib/authlib#873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix RFC7523 signing with non RSA keys by \u003ca href=\"https://github.com/azmeuk\"\u003e\u003ccode\u003e@​azmeuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/884\"\u003eauthlib/authlib#884\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/authlib/authlib/compare/v1.7.1...v1.7.2\"\u003ehttps://github.com/authlib/authlib/compare/v1.7.1...v1.7.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.7.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix authlib.jose deprecation warning poping from _joserfc_helpers by \u003ca href=\"https://github.com/azmeuk\"\u003e\u003ccode\u003e@​azmeuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/authlib/authlib/pull/881\"\u003eauthlib/authlib#881\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix redirecting to unvalidated \u003ccode\u003eredirect_uri\u003c/code\u003e on \u003ccode\u003eInvalidScopeError\u003c/code\u003e  in \u003ccode\u003eOpenIDImplicitGrant\u003c/code\u003e and \u003ccode\u003eOpenIDHybridGrant\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/authlib/authlib/compare/v1.7.0...v1.7.1\"\u003ehttps://github.com/authlib/authlib/compare/v1.7.0...v1.7.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/authlib/authlib/commit/a0b76fac3fa114d7759af2010546bfc332364b63\"\u003e\u003ccode\u003ea0b76fa\u003c/code\u003e\u003c/a\u003e chore: bump to 1.7.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/c85c7f2b02faf2667f62b27aa60df042dbc9b4ab\"\u003e\u003ccode\u003ec85c7f2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/884\"\u003e#884\u003c/a\u003e from azmeuk/852-rfc7523-key-import\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/a3b2adda43b4452ba9f384d224f95848974b4eb4\"\u003e\u003ccode\u003ea3b2add\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/873\"\u003e#873\u003c/a\u003e from azmeuk/bcp47\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/f2578eaa198aedbaaaf3bb00eccc451e15e45e3a\"\u003e\u003ccode\u003ef2578ea\u003c/code\u003e\u003c/a\u003e fix: Import RSAKey in auth.py for additional key support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/b57182cf46a53da19623208dd852270ddec8ebcc\"\u003e\u003ccode\u003eb57182c\u003c/code\u003e\u003c/a\u003e fix: fallback support RSAKey when client_secret is text\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/4e7590292ca9f948a0766640b27025618750e6c1\"\u003e\u003ccode\u003e4e75902\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into 852-rfc7523-key-import\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/5eb4a860600ea2f3acc1a2a9c3e621a430da9d0f\"\u003e\u003ccode\u003e5eb4a86\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/887\"\u003e#887\u003c/a\u003e from azmeuk/883-alg\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/5633f37c47bd8352b962f982cb916bc8b95bb5d5\"\u003e\u003ccode\u003e5633f37\u003c/code\u003e\u003c/a\u003e fix: allow non-recommended algorithms in ClientSecretJWT and PrivateKeyJWT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/4c8e7b381aaef68f60e2323a25ba96cdb346f82f\"\u003e\u003ccode\u003e4c8e7b3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/authlib/authlib/issues/886\"\u003e#886\u003c/a\u003e from azmeuk/885-readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/authlib/authlib/commit/23b333e48a17ebf9f032a0e0f9eb3f990a06f97b\"\u003e\u003ccode\u003e23b333e\u003c/code\u003e\u003c/a\u003e docs: fix the readme links\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/authlib/authlib/compare/v1.7.0...v1.7.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-auth` from 2.47.0 to 2.53.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/releases\"\u003egoogle-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.49.0.dev0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.48.0...v2.49.0-dev0\"\u003e2.49.0-dev0\u003c/a\u003e (2026-01-26)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eremove deprecated rsa dependency (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/e98cf69284d3620619a70b54fb0b9533caf11878\"\u003ee98cf69284d3620619a70b54fb0b9533caf11878\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-auth 2.48.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.47.0...v2.48.0\"\u003e2.48.0\u003c/a\u003e (2026-01-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ehonor \u003ccode\u003eNO_GCE_CHECK\u003c/code\u003e environment variable (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1610\"\u003e#1610\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/383c9827\"\u003e383c9827\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd configurable GCE Metadata Server retries (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1488\"\u003e#1488\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/454b441b\"\u003e454b441b\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd cryptography as required dependency (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1929\"\u003e#1929\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/52558ae2\"\u003e52558ae2\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport the mTLS IAM domain for Certificate based Access (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1938\"\u003e#1938\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/8dcf91a1\"\u003e8dcf91a1\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\u003e\n\u003cp\u003eresolve circular imports (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1942\"\u003e#1942\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/25c1b064\"\u003e25c1b064\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse \u003ccode\u003euser_verification=preferred\u003c/code\u003e for ReAuth WebAuthn challenge (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1798\"\u003e#1798\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/3f88a240\"\u003e3f88a240\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eremoves \u003ccode\u003econtent-header\u003c/code\u003e from AWS IMDS get request (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1934\"\u003e#1934\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/97bfea9e\"\u003e97bfea9e\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edetect correct auth when ADC env var is set but empty (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1374\"\u003e#1374\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/bfc07e10\"\u003ebfc07e10\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ereplace deprecated utcfromtimestamp (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1799\"\u003e#1799\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/e431f20c\"\u003ee431f20c\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.48.0rc0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.47.0...v2.48.0rc0\"\u003e2.48.0rc0\u003c/a\u003e (2026-01-20)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehonor NO_GCE_CHECK environment variable (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1610\"\u003e#1610\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/383c9827536d9376e8248370ce4c2b83e468d027\"\u003e383c98\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd configurable GCE Metadata Server retries (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1488\"\u003e#1488\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/454b441b478ec62bbf1a6ad5bceb6c7cbbfd0c37\"\u003e454b44\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport mTLS IAM domain for Certificate based Access (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1938\"\u003e#1938\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/8dcf91a1b05c85fbbd0bcee78d66e498099102ab\"\u003e8dcf91\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd cryptography as required dependency (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1929\"\u003e#1929\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/52558ae2881b1e6555f6f5c0d76365c15807ead9\"\u003e52558a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse user_verification=preferred for ReAuth WebAuthn challenge (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1798\"\u003e#1798\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/3f88a24089c4ee6822d510de0db210b54260d873\"\u003e3f88a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated utcfromtimestamp (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1799\"\u003e#1799\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/e431f20cf73ccac71926a23ec454468cea92e053\"\u003ee431f2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edetect correct auth when ADC env var is set by empty (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1374\"\u003e#1374\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/bfc07e1050bd0aa86fa3b08cdf70c9b68b5fe6a2\"\u003ebfc07e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremoved content-header from AWS IMDS (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1934\"\u003e#1934\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/97bfea9e02ede953fc8ee154e0deed3a3cfc6dcc\"\u003e97bfea\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/google-auth-library-python/blob/main/CHANGELOG.md\"\u003egoogle-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://pypi.org/project/google-auth/#history\"\u003ePyPI History\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.47.0...v2.48.0\"\u003e2.48.0\u003c/a\u003e (2026-01-22)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd cryptography as required dependency (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1929\"\u003e#1929\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/52558ae2881b1e6555f6f5c0d76365c15807ead9\"\u003e52558ae2881b1e6555f6f5c0d76365c15807ead9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport the mTLS IAM domain for Certificate based Access (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1938\"\u003e#1938\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/8dcf91a1b05c85fbbd0bcee78d66e498099102ab\"\u003e8dcf91a1b05c85fbbd0bcee78d66e498099102ab\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd configurable GCE Metadata Server retries (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1488\"\u003e#1488\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/454b441b478ec62bbf1a6ad5bceb6c7cbbfd0c37\"\u003e454b441b478ec62bbf1a6ad5bceb6c7cbbfd0c37\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ehonor \u003ccode\u003eNO_GCE_CHECK\u003c/code\u003e environment variable (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1610\"\u003e#1610\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/383c9827536d9376e8248370ce4c2b83e468d027\"\u003e383c9827536d9376e8248370ce4c2b83e468d027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eresolve circular imports (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1942\"\u003e#1942\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/25c1b064545702cbef087cfcd15fbbb6ef1af74f\"\u003e25c1b064545702cbef087cfcd15fbbb6ef1af74f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremoves \u003ccode\u003econtent-header\u003c/code\u003e from AWS IMDS get request (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1934\"\u003e#1934\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/97bfea9e02ede953fc8ee154e0deed3a3cfc6dcc\"\u003e97bfea9e02ede953fc8ee154e0deed3a3cfc6dcc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edetect correct auth when ADC env var is set but empty (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1374\"\u003e#1374\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/bfc07e1050bd0aa86fa3b08cdf70c9b68b5fe6a2\"\u003ebfc07e1050bd0aa86fa3b08cdf70c9b68b5fe6a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated utcfromtimestamp (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1799\"\u003e#1799\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/e431f20cf73ccac71926a23ec454468cea92e053\"\u003ee431f20cf73ccac71926a23ec454468cea92e053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003euser_verification=preferred\u003c/code\u003e for ReAuth WebAuthn challenge (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1798\"\u003e#1798\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/3f88a24089c4ee6822d510de0db210b54260d873\"\u003e3f88a24089c4ee6822d510de0db210b54260d873\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/googleapis/google-auth-library-python/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic` from 2.12.5 to 2.13.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/releases\"\u003epydantic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.4 2026-05-06\u003c/h2\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13129\"\u003e#13129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.3 2026-04-20\u003c/h2\u003e\n\u003ch2\u003ev2.13.3 (2026-04-20)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13096\"\u003e#13096\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.2...v2.13.3\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.2...v2.13.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.2 2026-04-17\u003c/h2\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13084\"\u003e#13084\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.1...v2.13.2\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.1...v2.13.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.1 2026-04-15\u003c/h2\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13079\"\u003e#13079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.1\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.0 2026-04-13\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/main/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.4 (2026-05-06)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.4\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBump libc from 0.2.155 to 0.2.185 by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13109\"\u003e#13109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS by \u003ca href=\"https://github.com/washingtoneg\"\u003e\u003ccode\u003e@​washingtoneg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13147\"\u003e#13147\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13129\"\u003e#13129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.3 (2026-04-20)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.3\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ccode\u003eAttributeError\u003c/code\u003e subclasses with \u003ccode\u003efrom_attributes\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13096\"\u003e#13096\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.2\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13084\"\u003e#13084\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.1\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13079\"\u003e#13079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.0 (2026-04-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.0\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe highlights of the v2.13 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-13-release\"\u003eblog post\u003c/a\u003e.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/cf67d4b3193c3fe43ede18612ed62785eee11382\"\u003e\u003ccode\u003ecf67d4b\u003c/code\u003e\u003c/a\u003e Fix linting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/f0d8a214a5803036db46a56b1f62f1e56b81d662\"\u003e\u003ccode\u003ef0d8a21\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/5e3fe1d41a00f441204241c66078003ae0391f9a\"\u003e\u003ccode\u003e5e3fe1d\u003c/code\u003e\u003c/a\u003e Check for pydantic tag pattern in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/7f9edcc2a191d2eaa9751220eb910914e716a686\"\u003e\u003ccode\u003e7f9edcc\u003c/code\u003e\u003c/a\u003e Document tagging conventions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b46a0c9b8a4dd967fda8ec1a92f6437076bf262c\"\u003e\u003ccode\u003eb46a0c9\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003epydantic-core\u003c/code\u003e linker flags on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/50629c851e61d887d5420452c311ec6203f1f400\"\u003e\u003ccode\u003e50629c8\u003c/code\u003e\u003c/a\u003e Update to PyPy 7.3.22\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/8522ebb71e5e9a6f7188af5f009f01785b8cf725\"\u003e\u003ccode\u003e8522ebb\u003c/code\u003e\u003c/a\u003e Preserve \u003ccode\u003eRootModel\u003c/code\u003e core metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/a37f3aff090ca342dc5f48304889963530b993f8\"\u003e\u003ccode\u003ea37f3af\u003c/code\u003e\u003c/a\u003e Adapt \u003ccode\u003eMISSING\u003c/code\u003e sentinel test to work with unreleased \u003ccode\u003etyping_extensions\u003c/code\u003e ver...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/909259a9df660518033aa686b689f045a6eaf9d2\"\u003e\u003ccode\u003e909259a\u003c/code\u003e\u003c/a\u003e Remove Logfire example in documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/2c4174c366606fc2dc46cb806833a080aefa77df\"\u003e\u003ccode\u003e2c4174c\u003c/code\u003e\u003c/a\u003e Bump libc from 0.2.155 to 0.2.185\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.5...v2.13.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typing-extensions` from 4.14.1 to 4.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/typing_extensions/releases\"\u003etyping-extensions's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.15.0\u003c/h2\u003e\n\u003cp\u003eNo user-facing changes since 4.15.0rc1.\u003c/p\u003e\n\u003cp\u003eNew features since 4.14.1:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.15.0rc1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/typing_extensions/blob/main/CHANGELOG.md\"\u003etyping-extensions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease 4.15.0 (August 25, 2025)\u003c/h1\u003e\n\u003cp\u003eNo user-facing changes since 4.15.0rc1.\u003c/p\u003e\n\u003ch1\u003eRelease 4.15.0rc1 (August 18, 2025)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003e@typing_extensions.disjoint_base\u003c/code\u003e decorator, as specified\nin PEP 800. Patch by Jelle Zijlstra.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etyping_extensions.type_repr\u003c/code\u003e, a backport of\n\u003ca href=\"https://docs.python.org/3.14/library/annotationlib.html#annotationlib.type_repr\"\u003e\u003ccode\u003eannotationlib.type_repr\u003c/code\u003e\u003c/a\u003e,\nintroduced in Python 3.14 (CPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/124551\"\u003e#124551\u003c/a\u003e,\noriginally by Jelle Zijlstra). Patch by Semyon Moroz.\u003c/li\u003e\n\u003cli\u003eFix behavior of type params in \u003ccode\u003etyping_extensions.evaluate_forward_ref\u003c/code\u003e. Backport of\nCPython PR \u003ca href=\"https://redirect.github.com/python/cpython/pull/137227\"\u003e#137227\u003c/a\u003e by Jelle Zijlstra.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/typing_extensions/commit/9d1637e264b5c1a6b7acee3e907015f89b20c2c9\"\u003e\u003ccode\u003e9d1637e\u003c/code\u003e\u003c/a\u003e Prepare release 4.15.0 (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/658\"\u003e#658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/4bd67c5be5d9443c7d33c314d02a56ee125eb88d\"\u003e\u003ccode\u003e4bd67c5\u003c/code\u003e\u003c/a\u003e Coverage: exclude some noise (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/656\"\u003e#656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/e589a26da73b075c5276bae40b86db1af0144f84\"\u003e\u003ccode\u003ee589a26\u003c/code\u003e\u003c/a\u003e Coverage: add detailed report to job summary (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/655\"\u003e#655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/67d37fed1298e050f74d5acc95b2621bd37837ad\"\u003e\u003ccode\u003e67d37fe\u003c/code\u003e\u003c/a\u003e Coverage: Implement fail_under (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/654\"\u003e#654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/e9ae26f5286edee9262727755ecb9ad16e999192\"\u003e\u003ccode\u003ee9ae26f\u003c/code\u003e\u003c/a\u003e Don't delete previous coverage comment (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/653\"\u003e#653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/ac80bb728a3006fc88ef7373b92f0c25cfcc7895\"\u003e\u003ccode\u003eac80bb7\u003c/code\u003e\u003c/a\u003e Add Coverage workflow (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/623\"\u003e#623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/abaaafd98c1cc7e5baf098ec287a3d22cb339670\"\u003e\u003ccode\u003eabaaafd\u003c/code\u003e\u003c/a\u003e Prepare release 4.15.0rc1 (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/650\"\u003e#650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/98104053ea8d49bcdd247804e5fa9f73136acbd4\"\u003e\u003ccode\u003e9810405\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e@disjoint_base\u003c/code\u003e (PEP 800) (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/634\"\u003e#634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/7ee9e05fd484d06899ce56e80f5e1aa4c760fc03\"\u003e\u003ccode\u003e7ee9e05\u003c/code\u003e\u003c/a\u003e Backport type_params fix from CPython (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/646\"\u003e#646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/typing_extensions/commit/1e8eb9c06ef51b3a1e1f05303a16feca13f5ed98\"\u003e\u003ccode\u003e1e8eb9c\u003c/code\u003e\u003c/a\u003e Do not refer to PEP 705 as being experimental (\u003ca href=\"https://redirect.github.com/python/typing_extensions/issues/648\"\u003e#648\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/typing_extensions/compare/4.14.1...4.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `anyio` from 4.10.0 to 4.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/agronholm/anyio/releases\"\u003eanyio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Python 3.9\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ettl\u003c/code\u003e parameter to the \u003ccode\u003eanyio.functools.lru_cache\u003c/code\u003e wrapper (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1073\"\u003e#1073\u003c/a\u003e; PR by \u003ca href=\"https://github.com/Graeme22\"\u003e\u003ccode\u003e@​Graeme22\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWidened the type annotations of file I/O streams to accept \u003ccode\u003eIO[bytes]\u003c/code\u003e instead of just \u003ccode\u003eBinaryIO\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1078\"\u003e#1078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eanyio.Path\u003c/code\u003e not being compatible with Python 3.15 due to the removal of \u003ccode\u003epathlib.Path.is_reserved()\u003c/code\u003e and the addition of \u003ccode\u003epathlib.Path.__vfspath__()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1061\"\u003e#1061\u003c/a\u003e; PR by \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003eBrokenResourceError\u003c/code\u003e raised by the asyncio \u003ccode\u003eSocketStream\u003c/code\u003e not having the original exception as its cause (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1055\"\u003e#1055\u003c/a\u003e; PR by \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003eTypeError\u003c/code\u003e raised when using \u0026quot;func\u0026quot; as a parameter name in \u003ccode\u003epytest.mark.parametrize\u003c/code\u003e when using the pytest plugin (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1068\"\u003e#1068\u003c/a\u003e; PR by \u003ca href=\"https://github.com/JohnnyDeuss\"\u003e\u003ccode\u003e@​JohnnyDeuss\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the pytest plugin not running tests that had the \u003ccode\u003eanyio\u003c/code\u003e marker added programmatically via \u003ccode\u003epytest_collection_modifyitems\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/422\"\u003e#422\u003c/a\u003e; PR by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed cancellation exceptions leaking from a \u003ccode\u003eCancelScope\u003c/code\u003e on asyncio when they are contained in an exception group alongside non-cancellation exceptions (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1091\"\u003e#1091\u003c/a\u003e; PR by \u003ca href=\"https://github.com/gschaffner\"\u003e\u003ccode\u003e@​gschaffner\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCondition.wait()\u003c/code\u003e not passing on a notification when the task is cancelled but already received a notification\u003c/li\u003e\n\u003cli\u003eFixed inverted condition in the process pool shutdown phase which would cause still-running pooled processes not to be terminated (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1074\"\u003e#1074\u003c/a\u003e; PR by \u003ca href=\"https://github.com/bysiber\"\u003e\u003ccode\u003e@​bysiber\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.12.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChanged all functions currently raising the private \u003ccode\u003eNoCurrentAsyncBackend\u003c/code\u003e exception (since v4.12.0) to instead raise the public \u003ccode\u003eNoEventLoopError\u003c/code\u003e exception (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1048\"\u003e#1048\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eanyio.functools.lru_cache\u003c/code\u003e not working with instance methods (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1042\"\u003e#1042\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.12.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for asyncio's \u003ca href=\"https://docs.python.org/3/library/asyncio-graph.html\"\u003etask call graphs\u003c/a\u003e on Python 3.14 and later when using AnyIO's task groups (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded an asynchronous implementation of the \u003ccode\u003efunctools\u003c/code\u003e module (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1001\"\u003e#1001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003euvloop=True\u003c/code\u003e on Windows via the \u003ca href=\"https://github.com/Vizonex/Winloop\"\u003ewinloop\u003c/a\u003e implementation (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/960\"\u003e#960\u003c/a\u003e; PR by \u003ca href=\"https://github.com/Vizonex\"\u003e\u003ccode\u003e@​Vizonex\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded support for use as a context manager to \u003ccode\u003eanyio.lowlevel.RunVar\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1003\"\u003e#1003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003e__all__\u003c/code\u003e declarations to public submodules (\u003ccode\u003eanyio.lowlevel\u003c/code\u003e etc.) (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1009\"\u003e#1009\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded the ability to set the token count of a \u003ccode\u003eCapacityLimiter\u003c/code\u003e to zero (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1019\"\u003e#1019\u003c/a\u003e; requires Python 3.10 or later when using Trio)\u003c/li\u003e\n\u003cli\u003eAdded parameters \u003ccode\u003ecase_sensitive\u003c/code\u003e and \u003ccode\u003erecurse_symlinks\u003c/code\u003e along with support for path-like objects to \u003ccode\u003eanyio.Path.glob()\u003c/code\u003e and \u003ccode\u003eanyio.Path.rglob()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1033\"\u003e#1033\u003c/a\u003e; PR by \u003ca href=\"https://github.com/northisup\"\u003e\u003ccode\u003e@​northisup\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDropped \u003ccode\u003esniffio\u003c/code\u003e as a direct dependency and added the \u003ccode\u003eget_available_backends()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/1021\"\u003e#1021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eProcess.stdin.send()\u003c/code\u003e not raising \u003ccode\u003eClosedResourceError\u003c/code\u003e and \u003ccode\u003eBrokenResourceError\u003c/code\u003e on asyncio. Previously, a non-AnyIO exception was raised in such cases (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/671\"\u003e#671\u003c/a\u003e; PR by \u003ca href=\"https://github.com/gschaffner\"\u003e\u003ccode\u003e@​gschaffner\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eProcess.stdin.send()\u003c/code\u003e not checkpointing before writing data on asyncio (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1002\"\u003e#1002\u003c/a\u003e; PR by \u003ca href=\"https://github.com/gschaffner\"\u003e\u003ccode\u003e@​gschaffner\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a race condition where cancelling a \u003ccode\u003eFuture\u003c/code\u003e from \u003ccode\u003eBlockingPortal.start_task_soon()\u003c/code\u003e would sometimes not cancel the async function (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1011\"\u003e#1011\u003c/a\u003e; PR by \u003ca href=\"https://github.com/gschaffner\"\u003e\u003ccode\u003e@​gschaffner\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed the presence of the pytest plugin causing breakage with older versions of pytest (\u0026lt;= 6.1.2) (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1028\"\u003e#1028\u003c/a\u003e; PR by \u003ca href=\"https://github.com/saper\"\u003e\u003ccode\u003e@​saper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a rarely occurring \u003ccode\u003eRuntimeError: Set changed size during iteration\u003c/code\u003e while shutting down the process pool when using the asyncio backend (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.11.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for cancellation reasons (the \u003ccode\u003ereason\u003c/code\u003e parameter to \u003ccode\u003eCancelScope.cancel()\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/975\"\u003e#975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBumped the minimum version of Trio to v0.31.0\u003c/li\u003e\n\u003cli\u003eAdded the ability to enter the event loop from foreign (non-worker) threads by passing the return value of \u003ccode\u003eanyio.lowlevel.current_token()\u003c/code\u003e to \u003ccode\u003eanyio.from_thread.run()\u003c/code\u003e and \u003ccode\u003eanyio.from_thread.run_sync()\u003c/code\u003e as the \u003ccode\u003etoken\u003c/code\u003e keyword argument (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/256\"\u003e#256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded pytest option (\u003ccode\u003eanyio_mode = \u0026quot;auto\u0026quot;\u003c/code\u003e) to make the pytest plugin automatically handle all async tests (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/971\"\u003e#971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded the \u003ccode\u003eanyio.Condition.wait_for()\u003c/code\u003e method for feature parity with asyncio (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/974\"\u003e#974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged the default type argument of \u003ccode\u003eanyio.abc.TaskStatus\u003c/code\u003e from \u003ccode\u003eAny\u003c/code\u003e to \u003ccode\u003eNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/964\"\u003e#964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed TCP listener behavior to guarantee the same ephemeral port is used for all socket listeners when \u003ccode\u003elocal_port=0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/857\"\u003e#857\u003c/a\u003e; PR by \u003ca href=\"https://github.com/11kkw\"\u003e\u003ccode\u003e@​11kkw\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/agronholm\"\u003e\u003ccode\u003e@​agronholm\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed inconsistency between Trio and asyncio where a TCP stream that previously raised a \u003ccode\u003eBrokenResourceError\u003c/code\u003e on \u003ccode\u003esend()\u003c/code\u003e would still raise \u003ccode\u003eBrokenResourceError\u003c/code\u003e after the stream was closed on asyncio, but \u003ccode\u003eClosedResourceError\u003c/code\u003e on Trio. They now both raise a \u003ccode\u003eClosedResourceError\u003c/code\u003e in this scenario. (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/671\"\u003e#671\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/afbe93ca9d0c447adf26e9c1715ac20870622bf2\"\u003e\u003ccode\u003eafbe93c\u003c/code\u003e\u003c/a\u003e Bumped up the version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/33bdf2e4b4f40c2df178123746147a6d2471808d\"\u003e\u003ccode\u003e33bdf2e\u003c/code\u003e\u003c/a\u003e Rearranged the changelog entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/19e09e25bc5a23dd78a577d8c3909dd377057c78\"\u003e\u003ccode\u003e19e09e2\u003c/code\u003e\u003c/a\u003e Fixed inverted condition in _forcibly_shutdown_process_pool_on_exit (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1074\"\u003e#1074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/9369d80b9e8292f2a892a9d5c73923c6a28aa08c\"\u003e\u003ccode\u003e9369d80\u003c/code\u003e\u003c/a\u003e Fixed Condition.wait() not handing over notification when cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/6f122abdc6f6b166c6b6ac27d36d55cdf8fa08e8\"\u003e\u003ccode\u003e6f122ab\u003c/code\u003e\u003c/a\u003e Fixed cancellation exceptions leaking from a \u003ccode\u003eCancelScope\u003c/code\u003e on asyncio when th...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/beaa45aff568a4020f2faf317321dd92f0e1f4a0\"\u003e\u003ccode\u003ebeaa45a\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1097\"\u003e#1097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/602f6606dcf3f37702686a4f3e161328c537b07f\"\u003e\u003ccode\u003e602f660\u003c/code\u003e\u003c/a\u003e Widened type annotations to accept IO[bytes] in file streams\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/b5dcd45170701a756ba634197398f05d4710cab3\"\u003e\u003ccode\u003eb5dcd45\u003c/code\u003e\u003c/a\u003e Added note about erasing the template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/d68670b3b4e0917d4caff2de082e03220f3e05a1\"\u003e\u003ccode\u003ed68670b\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1090\"\u003e#1090\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/fc17a22dd948e6a3d90d99908813f0010dfc3d2c\"\u003e\u003ccode\u003efc17a22\u003c/code\u003e\u003c/a\u003e tweak to_thread docs about abandon_on_cancel (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/1088\"\u003e#1088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/agronholm/anyio/compare/4.10.0...4.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typer` from 0.16.0 to 0.25.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/typer/releases\"\u003etyper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.25.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Add Typer Library Skill for Agents. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1620\"\u003e#1620\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.11 to 0.15.12. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1722\"\u003e#1722\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.10 to 0.3.11. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1723\"\u003e#1723\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.25.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🚸 Don't truncate code lines in traceback when formatted with Rich. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1695\"\u003e#1695\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.24.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Ensure that \u003ccode\u003etyper.launch\u003c/code\u003e forwards correctly when launching a file. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1708\"\u003e#1708\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🎨 Ensure \u003ccode\u003ety\u003c/code\u003e runs without errors. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1628\"\u003e#1628\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Add dates to release notes. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1612\"\u003e#1612\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 code blocks in reference docs overflowing table width. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1630\"\u003e#1630\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 broken link to FastAPI and Friends newsletter. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1540\"\u003e#1540\u003c/a\u003e by \u003ca href=\"https://github.com/Karlemami\"\u003e\u003ccode\u003e@​Karlemami\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔨 Handle external links \u003ccode\u003etarget=_blank\u003c/code\u003e and CSS automatically in JS and CSS. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1622\"\u003e#1622\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📝 Remove link to Typer developer survey. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1609\"\u003e#1609\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✏️ Clean up documentation in \u003ccode\u003einstall.md\u003c/code\u003e file. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1606\"\u003e#1606\u003c/a\u003e by \u003ca href=\"https://github.com/Johandielangman\"\u003e\u003ccode\u003e@​Johandielangman\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump mypy from 1.20.1 to 1.20.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1715\"\u003e#1715\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.9 to 0.3.10. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1716\"\u003e#1716\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic-settings from 2.13.1 to 2.14.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1713\"\u003e#1713\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 ty from 0.0.31 to 0.0.32. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1711\"\u003e#1711\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic from 2.13.2 to 2.13.3. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1712\"\u003e#1712\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pygments from 2.19.2 to 2.20.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1667\"\u003e#1667\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pymdown-extensions from 10.20 to 10.21.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1710\"\u003e#1710\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/cache from 5.0.4 to 5.0.5. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1700\"\u003e#1700\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic from 2.13.1 to 2.13.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1703\"\u003e#1703\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/upload-artifact from 7.0.0 to 7.0.1. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1701\"\u003e#1701\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.10 to 0.15.11. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1704\"\u003e#1704\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump cloudflare/wrangler-action from 3.14.1 to 3.15.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1702\"\u003e#1702\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 astral-sh/setup-uv from 7.6.0 to 8.1.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1699\"\u003e#1699\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 ty from 0.0.30 to 0.0.31. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1696\"\u003e#1696\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic from 2.13.0 to 2.13.1. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1697\"\u003e#1697\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/typer/blob/master/docs/release-notes.md\"\u003etyper's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.25.1 (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔧 Add Typer Library Skill for Agents. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1620\"\u003e#1620\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.11 to 0.15.12. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1722\"\u003e#1722\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.10 to 0.3.11. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1723\"\u003e#1723\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.25.0 (2026-04-26)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🚸 Don't truncate code lines in traceback when formatted with Rich. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1695\"\u003e#1695\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.24.2 (2026-04-22)\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Ensure that \u003ccode\u003etyper.launch\u003c/code\u003e forwards correctly when launching a file. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1708\"\u003e#1708\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🎨 Ensure \u003ccode\u003ety\u003c/code\u003e runs without errors. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1628\"\u003e#1628\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📝 Add dates to release notes. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1612\"\u003e#1612\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 code blocks in reference docs overflowing table width. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1630\"\u003e#1630\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 broken link to FastAPI and Friends newsletter. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1540\"\u003e#1540\u003c/a\u003e by \u003ca href=\"https://github.com/Karlemami\"\u003e\u003ccode\u003e@​Karlemami\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🔨 Handle external links \u003ccode\u003etarget=_blank\u003c/code\u003e and CSS automatically in JS and CSS. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1622\"\u003e#1622\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📝 Remove link to Typer developer survey. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1609\"\u003e#1609\u003c/a\u003e by \u003ca href=\"https://github.com/svlandeg\"\u003e\u003ccode\u003e@​svlandeg\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e✏️ Clean up documentation in \u003ccode\u003einstall.md\u003c/code\u003e file. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1606\"\u003e#1606\u003c/a\u003e by \u003ca href=\"https://github.com/Johandielangman\"\u003e\u003ccode\u003e@​Johandielangman\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆ Bump mypy from 1.20.1 to 1.20.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1715\"\u003e#1715\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump prek from 0.3.9 to 0.3.10. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1716\"\u003e#1716\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic-settings from 2.13.1 to 2.14.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1713\"\u003e#1713\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 ty from 0.0.31 to 0.0.32. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1711\"\u003e#1711\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic from 2.13.2 to 2.13.3. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1712\"\u003e#1712\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pygments from 2.19.2 to 2.20.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1667\"\u003e#1667\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pymdown-extensions from 10.20 to 10.21.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1710\"\u003e#1710\u003c/a\u003e by \u003ca href=\"https://github.com/YuriiMotov\"\u003e\u003ccode\u003e@​YuriiMotov\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/cache from 5.0.4 to 5.0.5. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1700\"\u003e#1700\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump pydantic from 2.13.1 to 2.13.2. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1703\"\u003e#1703\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump actions/upload-artifact from 7.0.0 to 7.0.1. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1701\"\u003e#1701\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump ruff from 0.15.10 to 0.15.11. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1704\"\u003e#1704\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e⬆ Bump cloudflare/wrangler-action from 3.14.1 to 3.15.0. PR \u003ca href=\"https://redirect.github.com/fastapi/typer/pull/1702\"\u003e#1702\u003c/a\u003e by \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot[bot]\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/cfcc2ef9f948bcce67897a6c7e689d39da690bf9\"\u003e\u003ccode\u003ecfcc2ef\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.25.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/13846cc59bd574567a9a1f56eae3cd42b9aa2a4f\"\u003e\u003ccode\u003e13846cc\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/a43746997ad6f2b4a8829c69c919f4d4c2cc0698\"\u003e\u003ccode\u003ea437469\u003c/code\u003e\u003c/a\u003e 🔧 Add Typer Library Skill for Agents (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1620\"\u003e#1620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/ba6cc2c9e7cba35f891c91118e228e1d2da35edb\"\u003e\u003ccode\u003eba6cc2c\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/0f3ead07c2bb384fdd590e895ca6705582c58d89\"\u003e\u003ccode\u003e0f3ead0\u003c/code\u003e\u003c/a\u003e ⬆ Bump ruff from 0.15.11 to 0.15.12 (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1722\"\u003e#1722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/db4ade64936599b3460f2fc0a7c550c3fedc33b0\"\u003e\u003ccode\u003edb4ade6\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/5a5206ceed2afdf234f88a6e2ef74ad9ebdf0d92\"\u003e\u003ccode\u003e5a5206c\u003c/code\u003e\u003c/a\u003e ⬆ Bump prek from 0.3.10 to 0.3.11 (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1723\"\u003e#1723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/959845e173b4bec0d606d99247815c2710613ca8\"\u003e\u003ccode\u003e959845e\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.25.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/5e1fcfb5935e7ac3ff3c7526ef297eae31bd4822\"\u003e\u003ccode\u003e5e1fcfb\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/typer/commit/dfb21ad034804584702d553ebfba40d8f4d791b9\"\u003e\u003ccode\u003edfb21ad\u003c/code\u003e\u003c/a\u003e 🚸 Don't truncate code lines in traceback when formatted with Rich (\u003ca href=\"https://redirect.github.com/fastapi/typer/issues/1695\"\u003e#1695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/typer/compare/0.16.0...0.25.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uvicorn` from 0.35.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#...\n\n_Description has been truncated_","html_url":"https://github.com/tmohanvamsi/kagent/pull/38","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmohanvamsi%2Fkagent/issues/38","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/38/packages"}},{"old_version":"0.10.4","new_version":"0.17.3","update_type":"minor","path":null,"pr_created_at":"2026-05-20T18:26:43.000Z","version_change":"0.10.4 → 0.17.3","issue":{"uuid":"4488938007","node_id":"PR_kwDORT9AZc7dps4t","number":502,"state":"open","title":"build(deps): bump openai-agents from 0.10.4 to 0.17.3","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-05-20T18:26:43.000Z","updated_at":"2026-05-20T21:56:50.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"openai-agents","old_version":"0.10.4","new_version":"0.17.3","repository_url":"https://github.com/openai/openai-agents-python"}],"path":null,"ecosystem":"pip"},"body":"Bumps [openai-agents](https://github.com/openai/openai-agents-python) from 0.10.4 to 0.17.3.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-agents-python/releases\"\u003eopenai-agents's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.17.3\u003c/h2\u003e\n\u003cp\u003ea## What's Changed\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: keep mountpoint credentials out of sandbox commands by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3429\"\u003eopenai/openai-agents-python#3429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: unify memory optional dependency import errors by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3389\"\u003eopenai/openai-agents-python#3389\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: guard None text in text_message_output and add output guardrail count to RunErrorDetails by \u003ca href=\"https://github.com/zhoufengen\"\u003e\u003ccode\u003e@​zhoufengen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3375\"\u003eopenai/openai-agents-python#3375\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: avoid mutating FunctionTool params_json_schema by \u003ca href=\"https://github.com/ioleksiuk\"\u003e\u003ccode\u003e@​ioleksiuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3382\"\u003eopenai/openai-agents-python#3382\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: avoid mutating codex output schema input by \u003ca href=\"https://github.com/ioleksiuk\"\u003e\u003ccode\u003e@​ioleksiuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3385\"\u003eopenai/openai-agents-python#3385\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3357\"\u003e#3357\u003c/a\u003e output schema names for Literal types by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3358\"\u003eopenai/openai-agents-python#3358\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: skip wait_for_status when Vercel sandbox is in a terminal state by \u003ca href=\"https://github.com/cty-ut\"\u003e\u003ccode\u003e@​cty-ut\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3410\"\u003eopenai/openai-agents-python#3410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: filter hosted_tool_call types in remove_all_tools handoff filter by \u003ca href=\"https://github.com/ioleksiuk\"\u003e\u003ccode\u003e@​ioleksiuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3386\"\u003eopenai/openai-agents-python#3386\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: guard None text in ItemHelpers.extract_last_content by \u003ca href=\"https://github.com/ioleksiuk\"\u003e\u003ccode\u003e@​ioleksiuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3394\"\u003eopenai/openai-agents-python#3394\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: log exception when output guardrail raises instead of silently ignoring by \u003ca href=\"https://github.com/cty-ut\"\u003e\u003ccode\u003e@​cty-ut\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3411\"\u003eopenai/openai-agents-python#3411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: reject relative sandbox workspace roots by \u003ca href=\"https://github.com/matthewflint\"\u003e\u003ccode\u003e@​matthewflint\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3422\"\u003eopenai/openai-agents-python#3422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: normalize leading question marks in exposed port queries by \u003ca href=\"https://github.com/matthewflint\"\u003e\u003ccode\u003e@​matthewflint\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3424\"\u003eopenai/openai-agents-python#3424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3363\"\u003e#3363\u003c/a\u003e honor short custom voice splitter chunks by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3364\"\u003eopenai/openai-agents-python#3364\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: runtime handling updates by \u003ca href=\"https://github.com/adrianbravo-oai\"\u003e\u003ccode\u003e@​adrianbravo-oai\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/ioleksiuk\"\u003e\u003ccode\u003e@​ioleksiuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3451\"\u003eopenai/openai-agents-python#3451\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: add SDK review guidance by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3376\"\u003eopenai/openai-agents-python#3376\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: mark Agent.instructions as optional by \u003ca href=\"https://github.com/ioleksiuk\"\u003e\u003ccode\u003e@​ioleksiuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3384\"\u003eopenai/openai-agents-python#3384\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: translate all pages using new settings by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3392\"\u003eopenai/openai-agents-python#3392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: document auto_previous_response_id by \u003ca href=\"https://github.com/ioleksiuk\"\u003e\u003ccode\u003e@​ioleksiuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3383\"\u003eopenai/openai-agents-python#3383\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix LiteLLM API reference redirect by \u003ca href=\"https://github.com/ynachiket\"\u003e\u003ccode\u003e@​ynachiket\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3444\"\u003eopenai/openai-agents-python#3444\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix duplicated word in usaspending glossary example by \u003ca href=\"https://github.com/LeSingh1\"\u003e\u003ccode\u003e@​LeSingh1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3445\"\u003eopenai/openai-agents-python#3445\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: clean up CI jobs and update uv pin by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3400\"\u003eopenai/openai-agents-python#3400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: harden release tag workflow by \u003ca href=\"https://github.com/hintz-openai\"\u003e\u003ccode\u003e@​hintz-openai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3399\"\u003eopenai/openai-agents-python#3399\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.17.3 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3417\"\u003eopenai/openai-agents-python#3417\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zhoufengen\"\u003e\u003ccode\u003e@​zhoufengen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3375\"\u003eopenai/openai-agents-python#3375\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hintz-openai\"\u003e\u003ccode\u003e@​hintz-openai\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3399\"\u003eopenai/openai-agents-python#3399\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cty-ut\"\u003e\u003ccode\u003e@​cty-ut\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3410\"\u003eopenai/openai-agents-python#3410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ynachiket\"\u003e\u003ccode\u003e@​ynachiket\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3444\"\u003eopenai/openai-agents-python#3444\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LeSingh1\"\u003e\u003ccode\u003e@​LeSingh1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3445\"\u003eopenai/openai-agents-python#3445\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adrianbravo-oai\"\u003e\u003ccode\u003e@​adrianbravo-oai\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3451\"\u003eopenai/openai-agents-python#3451\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.17.2...v0.17.3\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.17.2...v0.17.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.17.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3268\"\u003e#3268\u003c/a\u003e fix OpenAI Conversations reasoning persistence by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3352\"\u003eopenai/openai-agents-python#3352\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: avoid auto response for unknown realtime tools (ref: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3287\"\u003e#3287\u003c/a\u003e) by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3366\"\u003eopenai/openai-agents-python#3366\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3354\"\u003e#3354\u003c/a\u003e interrupt tracing retry backoff on shutdown by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3355\"\u003eopenai/openai-agents-python#3355\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3359\"\u003e#3359\u003c/a\u003e preserve local approval rejection reasons by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3360\"\u003eopenai/openai-agents-python#3360\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3361\"\u003e#3361\u003c/a\u003e honor session settings in AsyncSQLiteSession by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3362\"\u003eopenai/openai-agents-python#3362\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3310\"\u003e#3310\u003c/a\u003e avoid empty chat tool outputs by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3312\"\u003eopenai/openai-agents-python#3312\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/openai/openai-agents-python/blob/main/docs/release.md\"\u003eopenai-agents's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease process/changelog\u003c/h1\u003e\n\u003cp\u003eThe project follows a slightly modified version of semantic versioning using the form \u003ccode\u003e0.Y.Z\u003c/code\u003e. The leading \u003ccode\u003e0\u003c/code\u003e indicates the SDK is still evolving rapidly. Increment the components as follows:\u003c/p\u003e\n\u003ch2\u003eMinor (\u003ccode\u003eY\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increase minor versions \u003ccode\u003eY\u003c/code\u003e for \u003cstrong\u003ebreaking changes\u003c/strong\u003e to any public interfaces that are not marked as beta. For example, going from \u003ccode\u003e0.0.x\u003c/code\u003e to \u003ccode\u003e0.1.x\u003c/code\u003e might include breaking changes.\u003c/p\u003e\n\u003cp\u003eIf you don't want breaking changes, we recommend pinning to \u003ccode\u003e0.0.x\u003c/code\u003e versions in your project.\u003c/p\u003e\n\u003ch2\u003ePatch (\u003ccode\u003eZ\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increment \u003ccode\u003eZ\u003c/code\u003e for non-breaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes\u003c/li\u003e\n\u003cli\u003eNew features\u003c/li\u003e\n\u003cli\u003eChanges to private interfaces\u003c/li\u003e\n\u003cli\u003eUpdates to beta features\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBreaking change changelog\u003c/h2\u003e\n\u003ch3\u003e0.17.0\u003c/h3\u003e\n\u003cp\u003eIn this version, sandbox local source materialization keeps \u003ccode\u003eLocalFile.src\u003c/code\u003e and \u003ccode\u003eLocalDir.src\u003c/code\u003e within the materialization \u003ccode\u003ebase_dir\u003c/code\u003e unless the source path is covered by \u003ccode\u003eManifest.extra_path_grants\u003c/code\u003e. The \u003ccode\u003ebase_dir\u003c/code\u003e is the SDK process current working directory when the manifest is applied; relative local sources are resolved from that directory, while absolute local sources must already be inside it or under an explicit grant. This closes a local artifact boundary issue, but it can affect applications that intentionally copy trusted host files or directories from outside that base directory into a sandbox workspace.\u003c/p\u003e\n\u003cp\u003eTo migrate, grant trusted host roots at the manifest level with \u003ccode\u003eSandboxPathGrant\u003c/code\u003e, preferably as read-only when the sandbox only needs to read those files:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003efrom pathlib import Path\n\u003cp\u003efrom agents.sandbox import Manifest, SandboxPathGrant\nfrom agents.sandbox.entries import Dir, LocalDir\u003c/p\u003e\n\u003ch1\u003eThis is an absolute host path outside the SDK process base_dir.\u003c/h1\u003e\n\u003cp\u003eTRUSTED_DOCS_ROOT = Path(\u0026quot;/opt/my-app/docs\u0026quot;)\u003c/p\u003e\n\u003cp\u003emanifest = Manifest(\nextra_path_grants=(\n# This host root is outside the SDK process base_dir, so the manifest must grant it.\nSandboxPathGrant(path=str(TRUSTED_DOCS_ROOT), read_only=True),\n),\nentries={\n# No grant is needed for local sources that stay under the SDK process base_dir.\n\u0026quot;fixtures\u0026quot;: LocalDir(src=Path(\u0026quot;fixtures\u0026quot;), description=\u0026quot;Local test fixtures.\u0026quot;),\n# This entry reads from the granted host root and copies it into the sandbox workspace.\n\u0026quot;docs\u0026quot;: LocalDir(src=TRUSTED_DOCS_ROOT, description=\u0026quot;Trusted local documents.\u0026quot;),\n# Dir creates a sandbox workspace directory; it does not read from the host filesystem.\n\u0026quot;output\u0026quot;: Dir(description=\u0026quot;Generated artifacts.\u0026quot;),\n},\n)\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/17f7caeaa33d97eee7152f9834af5e706b8f90e2\"\u003e\u003ccode\u003e17f7cae\u003c/code\u003e\u003c/a\u003e Release 0.17.3 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3417\"\u003e#3417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/f6ba91b120b97e38a4cdb3e61b226cef348679eb\"\u003e\u003ccode\u003ef6ba91b\u003c/code\u003e\u003c/a\u003e Runtime handling updates (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3451\"\u003e#3451\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/65774ce88d98b12fa3b0f5ede2b2f705a25e053d\"\u003e\u003ccode\u003e65774ce\u003c/code\u003e\u003c/a\u003e docs: fix duplicated word in usaspending glossary example (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3445\"\u003e#3445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/13d1815218251155dbf7fe9aa395e0db64b2d118\"\u003e\u003ccode\u003e13d1815\u003c/code\u003e\u003c/a\u003e docs: re-fix \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3444\"\u003e#3444\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/41fe113dd0623cbbe326996e536d570ded4179ba\"\u003e\u003ccode\u003e41fe113\u003c/code\u003e\u003c/a\u003e docs: fix LiteLLM API reference redirect (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3444\"\u003e#3444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/4970fd6ce4fc1019a4b70787706ce35c1e0ea030\"\u003e\u003ccode\u003e4970fd6\u003c/code\u003e\u003c/a\u003e fix: keep mountpoint credentials out of sandbox commands (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3429\"\u003e#3429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/4bd459e403ac826c87b17fef8ffcbdf42a70b09a\"\u003e\u003ccode\u003e4bd459e\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3363\"\u003e#3363\u003c/a\u003e honor short custom voice splitter chunks (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3364\"\u003e#3364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/e37b3d266b4061109a03906882325807fc05e85f\"\u003e\u003ccode\u003ee37b3d2\u003c/code\u003e\u003c/a\u003e fix: normalize leading question marks in exposed port queries (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3424\"\u003e#3424\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/94523f946eada821a3847af4a8a851071fb2a93d\"\u003e\u003ccode\u003e94523f9\u003c/code\u003e\u003c/a\u003e fix: reject relative sandbox workspace roots (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3422\"\u003e#3422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/cb0461d177ce1a931d24db05103a2d8b02f3cd36\"\u003e\u003ccode\u003ecb0461d\u003c/code\u003e\u003c/a\u003e fix: log exception when output guardrail raises instead of silently ignoring ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.10.4...v0.17.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/tryskian/polinko/pull/502","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/tryskian%2Fpolinko/issues/502","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/502/packages"}},{"old_version":"0.0.7","new_version":"0.17.2","update_type":"minor","path":"/openai-agents","pr_created_at":"2026-05-16T23:12:35.000Z","version_change":"0.0.7 → 0.17.2","issue":{"uuid":"4461602939","node_id":"PR_kwDORl2wQc7cSa99","number":34,"state":"closed","title":"Bump openai-agents from 0.0.7 to 0.17.2 in /openai-agents","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-23T23:12:47.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-16T23:12:35.000Z","updated_at":"2026-05-23T23:12:48.000Z","time_to_close":604812,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"openai-agents","old_version":"0.0.7","new_version":"0.17.2","repository_url":"https://github.com/openai/openai-agents-python"}],"path":"/openai-agents","ecosystem":"pip"},"body":"Bumps [openai-agents](https://github.com/openai/openai-agents-python) from 0.0.7 to 0.17.2.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-agents-python/releases\"\u003eopenai-agents's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.17.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3268\"\u003e#3268\u003c/a\u003e fix OpenAI Conversations reasoning persistence by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3352\"\u003eopenai/openai-agents-python#3352\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: avoid auto response for unknown realtime tools (ref: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3287\"\u003e#3287\u003c/a\u003e) by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3366\"\u003eopenai/openai-agents-python#3366\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3354\"\u003e#3354\u003c/a\u003e interrupt tracing retry backoff on shutdown by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3355\"\u003eopenai/openai-agents-python#3355\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3359\"\u003e#3359\u003c/a\u003e preserve local approval rejection reasons by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3360\"\u003eopenai/openai-agents-python#3360\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3361\"\u003e#3361\u003c/a\u003e honor session settings in AsyncSQLiteSession by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3362\"\u003eopenai/openai-agents-python#3362\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3310\"\u003e#3310\u003c/a\u003e avoid empty chat tool outputs by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3312\"\u003eopenai/openai-agents-python#3312\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: clarify max_delay for retries works by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3350\"\u003eopenai/openai-agents-python#3350\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3351\"\u003eopenai/openai-agents-python#3351\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: normalize memory docstring cross-references by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3370\"\u003eopenai/openai-agents-python#3370\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: document sandbox archive limits after \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3278\"\u003e#3278\u003c/a\u003e release by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3311\"\u003eopenai/openai-agents-python#3311\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3371\"\u003eopenai/openai-agents-python#3371\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.17.2 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3368\"\u003eopenai/openai-agents-python#3368\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.17.1...v0.17.2\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.17.1...v0.17.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.17.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eSandboxes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: include sandbox provider error details by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3326\"\u003eopenai/openai-agents-python#3326\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3274\"\u003e#3274\u003c/a\u003e limit sandbox archive extraction by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3278\"\u003eopenai/openai-agents-python#3278\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3273\"\u003e#3273\u003c/a\u003e validate git repo subpaths by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3276\"\u003eopenai/openai-agents-python#3276\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003efix: allow empty GitRepo subpaths as repository root by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3299\"\u003eopenai/openai-agents-python#3299\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: preserve GitRepo root subpath aliases by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3303\"\u003eopenai/openai-agents-python#3303\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTracing\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: make tracing shutdown best-effort on process exit by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3343\"\u003eopenai/openai-agents-python#3343\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: keep BatchTraceProcessor worker alive on exporter errors by \u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3216\"\u003eopenai/openai-agents-python#3216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: guard no-op tracing span IDs by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3296\"\u003eopenai/openai-agents-python#3296\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSessions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3267\"\u003e#3267\u003c/a\u003e preserve required hosted tool IDs in OpenAI conversation sessions by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3341\"\u003eopenai/openai-agents-python#3341\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3304\"\u003e#3304\u003c/a\u003e skip corrupt items during pop (sessions) by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3305\"\u003eopenai/openai-agents-python#3305\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3306\"\u003e#3306\u003c/a\u003e track MongoDB metadata timestamps by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3307\"\u003eopenai/openai-agents-python#3307\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: preserve created_at across writes (redis-session) by \u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3202\"\u003eopenai/openai-agents-python#3202\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: skip corrupt docs in MongoDBSession.pop_item by \u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3247\"\u003eopenai/openai-agents-python#3247\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRealtime Agents\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3333\"\u003e#3333\u003c/a\u003e scope Realtime tool approvals by qualified key by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3340\"\u003eopenai/openai-agents-python#3340\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/openai/openai-agents-python/blob/main/docs/release.md\"\u003eopenai-agents's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease process/changelog\u003c/h1\u003e\n\u003cp\u003eThe project follows a slightly modified version of semantic versioning using the form \u003ccode\u003e0.Y.Z\u003c/code\u003e. The leading \u003ccode\u003e0\u003c/code\u003e indicates the SDK is still evolving rapidly. Increment the components as follows:\u003c/p\u003e\n\u003ch2\u003eMinor (\u003ccode\u003eY\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increase minor versions \u003ccode\u003eY\u003c/code\u003e for \u003cstrong\u003ebreaking changes\u003c/strong\u003e to any public interfaces that are not marked as beta. For example, going from \u003ccode\u003e0.0.x\u003c/code\u003e to \u003ccode\u003e0.1.x\u003c/code\u003e might include breaking changes.\u003c/p\u003e\n\u003cp\u003eIf you don't want breaking changes, we recommend pinning to \u003ccode\u003e0.0.x\u003c/code\u003e versions in your project.\u003c/p\u003e\n\u003ch2\u003ePatch (\u003ccode\u003eZ\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increment \u003ccode\u003eZ\u003c/code\u003e for non-breaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes\u003c/li\u003e\n\u003cli\u003eNew features\u003c/li\u003e\n\u003cli\u003eChanges to private interfaces\u003c/li\u003e\n\u003cli\u003eUpdates to beta features\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBreaking change changelog\u003c/h2\u003e\n\u003ch3\u003e0.17.0\u003c/h3\u003e\n\u003cp\u003eIn this version, sandbox local source materialization keeps \u003ccode\u003eLocalFile.src\u003c/code\u003e and \u003ccode\u003eLocalDir.src\u003c/code\u003e within the materialization \u003ccode\u003ebase_dir\u003c/code\u003e unless the source path is covered by \u003ccode\u003eManifest.extra_path_grants\u003c/code\u003e. The \u003ccode\u003ebase_dir\u003c/code\u003e is the SDK process current working directory when the manifest is applied; relative local sources are resolved from that directory, while absolute local sources must already be inside it or under an explicit grant. This closes a local artifact boundary issue, but it can affect applications that intentionally copy trusted host files or directories from outside that base directory into a sandbox workspace.\u003c/p\u003e\n\u003cp\u003eTo migrate, grant trusted host roots at the manifest level with \u003ccode\u003eSandboxPathGrant\u003c/code\u003e, preferably as read-only when the sandbox only needs to read those files:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003efrom pathlib import Path\n\u003cp\u003efrom agents.sandbox import Manifest, SandboxPathGrant\nfrom agents.sandbox.entries import Dir, LocalDir\u003c/p\u003e\n\u003ch1\u003eThis is an absolute host path outside the SDK process base_dir.\u003c/h1\u003e\n\u003cp\u003eTRUSTED_DOCS_ROOT = Path(\u0026quot;/opt/my-app/docs\u0026quot;)\u003c/p\u003e\n\u003cp\u003emanifest = Manifest(\nextra_path_grants=(\n# This host root is outside the SDK process base_dir, so the manifest must grant it.\nSandboxPathGrant(path=str(TRUSTED_DOCS_ROOT), read_only=True),\n),\nentries={\n# No grant is needed for local sources that stay under the SDK process base_dir.\n\u0026quot;fixtures\u0026quot;: LocalDir(src=Path(\u0026quot;fixtures\u0026quot;), description=\u0026quot;Local test fixtures.\u0026quot;),\n# This entry reads from the granted host root and copies it into the sandbox workspace.\n\u0026quot;docs\u0026quot;: LocalDir(src=TRUSTED_DOCS_ROOT, description=\u0026quot;Trusted local documents.\u0026quot;),\n# Dir creates a sandbox workspace directory; it does not read from the host filesystem.\n\u0026quot;output\u0026quot;: Dir(description=\u0026quot;Generated artifacts.\u0026quot;),\n},\n)\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/55e4a850fce820a1816af0b413d03a39f2e5f817\"\u003e\u003ccode\u003e55e4a85\u003c/code\u003e\u003c/a\u003e Release 0.17.2 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3368\"\u003e#3368\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/5594fb464d45b3280c3395aeb071b9d77c611889\"\u003e\u003ccode\u003e5594fb4\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3371\"\u003e#3371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/64de1cb211bf23f25f7147983b8e2286da566e0c\"\u003e\u003ccode\u003e64de1cb\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3310\"\u003e#3310\u003c/a\u003e avoid empty chat tool outputs (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3312\"\u003e#3312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/1d3df7fa0418700201337fa38c94a82e8fc4872f\"\u003e\u003ccode\u003e1d3df7f\u003c/code\u003e\u003c/a\u003e docs: document sandbox archive limits after \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3278\"\u003e#3278\u003c/a\u003e release (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3311\"\u003e#3311\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/ae3263b8400b66ecf443720ce9bb2fa24d6cb571\"\u003e\u003ccode\u003eae3263b\u003c/code\u003e\u003c/a\u003e docs: normalize memory docstring cross-references (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3370\"\u003e#3370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/e3c99d99641f53ab0d4b13ead6435f451985c5b6\"\u003e\u003ccode\u003ee3c99d9\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3361\"\u003e#3361\u003c/a\u003e honor session settings in AsyncSQLiteSession (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3362\"\u003e#3362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/b2bd8218c6bf15334cc18bce1fe6a54a4ac4ca76\"\u003e\u003ccode\u003eb2bd821\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3359\"\u003e#3359\u003c/a\u003e preserve local approval rejection reasons (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3360\"\u003e#3360\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/8715a0585a5d9549c79c267f479f91831ef72241\"\u003e\u003ccode\u003e8715a05\u003c/code\u003e\u003c/a\u003e fix: avoid auto response for unknown realtime tools (ref: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3287\"\u003e#3287\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3366\"\u003e#3366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/4a95659892eccf52013038de625c45090f825c3c\"\u003e\u003ccode\u003e4a95659\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3354\"\u003e#3354\u003c/a\u003e interrupt tracing retry backoff on shutdown (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3355\"\u003e#3355\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/5635fab9d36123d5bc85d8ae17d9f09b84c56697\"\u003e\u003ccode\u003e5635fab\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3268\"\u003e#3268\u003c/a\u003e fix OpenAI Conversations reasoning persistence (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3352\"\u003e#3352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.0.7...v0.17.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=openai-agents\u0026package-manager=pip\u0026previous-version=0.0.7\u0026new-version=0.17.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/delega-dev/delega-examples/pull/34","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/delega-dev%2Fdelega-examples/issues/34","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/34/packages"}},{"old_version":"0.15.1","new_version":"0.17.0","update_type":"minor","path":"/server","pr_created_at":"2026-05-10T22:07:49.000Z","version_change":"0.15.1 → 0.17.0","issue":{"uuid":"4416977439","node_id":"PR_kwDOSRS2eM7aDgyh","number":5,"state":"open","title":"build(deps): bump the backend-dependencies group in /server with 2 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-10T22:07:49.000Z","updated_at":"2026-05-10T22:08:10.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"backend-dependencies","update_count":2,"packages":[{"name":"openai-agents","old_version":"0.15.1","new_version":"0.17.0","repository_url":"https://github.com/openai/openai-agents-python"},{"name":"pydantic","old_version":"2.13.3","new_version":"2.13.4","repository_url":"https://github.com/pydantic/pydantic"}],"path":"/server","ecosystem":"pip"},"body":"Bumps the backend-dependencies group in /server with 2 updates: [openai-agents](https://github.com/openai/openai-agents-python) and [pydantic](https://github.com/pydantic/pydantic).\n\nUpdates `openai-agents` from 0.15.1 to 0.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-agents-python/releases\"\u003eopenai-agents's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.17.0\u003c/h2\u003e\n\u003ch2\u003eKey Changes\u003c/h2\u003e\n\u003ch3\u003eRealtimeAgent's default is now gpt-realtime-2\u003c/h3\u003e\n\u003cp\u003eSince this version, the default model for RealtimeAgents is gpt-realtime-2: \u003ca href=\"https://developers.openai.com/api/docs/models/gpt-realtime-2\"\u003ehttps://developers.openai.com/api/docs/models/gpt-realtime-2\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eSandbox local source materialization change\u003c/h3\u003e\n\u003cp\u003eIn this version, sandbox local source materialization keeps \u003ccode\u003eLocalFile.src\u003c/code\u003e and \u003ccode\u003eLocalDir.src\u003c/code\u003e within the materialization \u003ccode\u003ebase_dir\u003c/code\u003e unless the source path is covered by \u003ccode\u003eManifest.extra_path_grants\u003c/code\u003e. The \u003ccode\u003ebase_dir\u003c/code\u003e is the SDK process current working directory when the manifest is applied; relative local sources are resolved from that directory, while absolute local sources must already be inside it or under an explicit grant. This closes a local artifact boundary issue, but it can affect applications that intentionally copy trusted host files or directories from outside that base directory into a sandbox workspace.Expand commentComment on line R24Resolved\u003c/p\u003e\n\u003cp\u003eTo migrate, grant trusted host roots at the manifest level with \u003ccode\u003eSandboxPathGrant\u003c/code\u003e, preferably as read-only when the sandbox only needs to read those files:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003efrom pathlib import Path\r\n\u003cp\u003efrom agents.sandbox import Manifest, SandboxPathGrant\nfrom agents.sandbox.entries import Dir, LocalDir\u003c/p\u003e\n\u003ch1\u003eThis is an absolute host path outside the SDK process base_dir.\u003c/h1\u003e\n\u003cp\u003eTRUSTED_DOCS_ROOT = Path(\u0026quot;/opt/my-app/docs\u0026quot;)\u003c/p\u003e\n\u003cp\u003emanifest = Manifest(\nextra_path_grants=(\n# This host root is outside the SDK process base_dir, so the manifest must grant it.\nSandboxPathGrant(path=str(TRUSTED_DOCS_ROOT), read_only=True),\n),\nentries={\n# No grant is needed for local sources that stay under the SDK process base_dir.\n\u0026quot;fixtures\u0026quot;: LocalDir(src=Path(\u0026quot;fixtures\u0026quot;), description=\u0026quot;Local test fixtures.\u0026quot;),\n# This entry reads from the granted host root and copies it into the sandbox workspace.\n\u0026quot;docs\u0026quot;: LocalDir(src=TRUSTED_DOCS_ROOT, description=\u0026quot;Trusted local documents.\u0026quot;),\n# Dir creates a sandbox workspace directory; it does not read from the host filesystem.\n\u0026quot;output\u0026quot;: Dir(description=\u0026quot;Generated artifacts.\u0026quot;),\n},\n)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eTreat \u003ccode\u003eextra_path_grants\u003c/code\u003e as trusted application configuration. Do not populate grants from model output or other untrusted manifest input unless your application has already approved those host paths.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: default realtime sessions to gpt-realtime-2 by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3190\"\u003eopenai/openai-agents-python#3190\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3169\"\u003e#3169\u003c/a\u003e constrain local sandbox artifact sources to base dir by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3177\"\u003eopenai/openai-agents-python#3177\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Responses context-management extra_args collision by \u003ca href=\"https://github.com/alfozan\"\u003e\u003ccode\u003e@​alfozan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3185\"\u003eopenai/openai-agents-python#3185\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRelease 0.17.0 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3191\"\u003eopenai/openai-agents-python#3191\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/openai/openai-agents-python/blob/main/docs/release.md\"\u003eopenai-agents's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e0.17.0\u003c/h3\u003e\n\u003cp\u003eIn this version, sandbox local source materialization keeps \u003ccode\u003eLocalFile.src\u003c/code\u003e and \u003ccode\u003eLocalDir.src\u003c/code\u003e within the materialization \u003ccode\u003ebase_dir\u003c/code\u003e unless the source path is covered by \u003ccode\u003eManifest.extra_path_grants\u003c/code\u003e. The \u003ccode\u003ebase_dir\u003c/code\u003e is the SDK process current working directory when the manifest is applied; relative local sources are resolved from that directory, while absolute local sources must already be inside it or under an explicit grant. This closes a local artifact boundary issue, but it can affect applications that intentionally copy trusted host files or directories from outside that base directory into a sandbox workspace.\u003c/p\u003e\n\u003cp\u003eTo migrate, grant trusted host roots at the manifest level with \u003ccode\u003eSandboxPathGrant\u003c/code\u003e, preferably as read-only when the sandbox only needs to read those files:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003efrom pathlib import Path\n\u003cp\u003efrom agents.sandbox import Manifest, SandboxPathGrant\nfrom agents.sandbox.entries import Dir, LocalDir\u003c/p\u003e\n\u003ch1\u003eThis is an absolute host path outside the SDK process base_dir.\u003c/h1\u003e\n\u003cp\u003eTRUSTED_DOCS_ROOT = Path(\u0026quot;/opt/my-app/docs\u0026quot;)\u003c/p\u003e\n\u003cp\u003emanifest = Manifest(\nextra_path_grants=(\n# This host root is outside the SDK process base_dir, so the manifest must grant it.\nSandboxPathGrant(path=str(TRUSTED_DOCS_ROOT), read_only=True),\n),\nentries={\n# No grant is needed for local sources that stay under the SDK process base_dir.\n\u0026quot;fixtures\u0026quot;: LocalDir(src=Path(\u0026quot;fixtures\u0026quot;), description=\u0026quot;Local test fixtures.\u0026quot;),\n# This entry reads from the granted host root and copies it into the sandbox workspace.\n\u0026quot;docs\u0026quot;: LocalDir(src=TRUSTED_DOCS_ROOT, description=\u0026quot;Trusted local documents.\u0026quot;),\n# Dir creates a sandbox workspace directory; it does not read from the host filesystem.\n\u0026quot;output\u0026quot;: Dir(description=\u0026quot;Generated artifacts.\u0026quot;),\n},\n)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eTreat \u003ccode\u003eextra_path_grants\u003c/code\u003e as trusted application configuration. Do not populate grants from model output or other untrusted manifest input unless your application has already approved those host paths.\u003c/p\u003e\n\u003ch3\u003e0.16.0\u003c/h3\u003e\n\u003cp\u003eIn this version, the SDK default model is now \u003ccode\u003egpt-5.4-mini\u003c/code\u003e instead of \u003ccode\u003egpt-4.1\u003c/code\u003e. This affects agents and runs that do not explicitly set a model. Because the new default is a GPT-5 model, implicit default model settings now include GPT-5 defaults such as \u003ccode\u003ereasoning.effort=\u0026quot;none\u0026quot;\u003c/code\u003e and \u003ccode\u003everbosity=\u0026quot;low\u0026quot;\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eIf you need to keep the previous default model behavior, set a model explicitly on the agent or run config, or set the \u003ccode\u003eOPENAI_DEFAULT_MODEL\u003c/code\u003e environment variable:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003eagent = Agent(name=\u0026quot;Assistant\u0026quot;, model=\u0026quot;gpt-4.1\u0026quot;)\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eHighlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eRunner.run\u003c/code\u003e, \u003ccode\u003eRunner.run_sync\u003c/code\u003e, and \u003ccode\u003eRunner.run_streamed\u003c/code\u003e now accept \u003ccode\u003emax_turns=None\u003c/code\u003e to disable the turn limit.\u003c/li\u003e\n\u003cli\u003eSandbox workspace hydration now rejects tar archives with symlinks that point outside the archive root, including absolute symlink targets, across local, Docker, and provider-backed sandbox implementations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e0.15.0\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/0fea7e83471b8ff6b87c784e99b4d19d84b4bc46\"\u003e\u003ccode\u003e0fea7e8\u003c/code\u003e\u003c/a\u003e Release 0.17.0 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3191\"\u003e#3191\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/0a76dd03cecde32a7223355328c3a3f273fd8b61\"\u003e\u003ccode\u003e0a76dd0\u003c/code\u003e\u003c/a\u003e docs: improve auto run for examples\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/f47d486985e074ac6831bdef0711cd2b4fa8ae3b\"\u003e\u003ccode\u003ef47d486\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3169\"\u003e#3169\u003c/a\u003e constrain local sandbox artifact sources to base dir (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3177\"\u003e#3177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/1660d306b579580a4e374cee57834e2b7feecab8\"\u003e\u003ccode\u003e1660d30\u003c/code\u003e\u003c/a\u003e feat: default realtime sessions to gpt-realtime-2 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3190\"\u003e#3190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/ee36d4358499939b5cee5d8851b656a84d2112ee\"\u003e\u003ccode\u003eee36d43\u003c/code\u003e\u003c/a\u003e Fix Responses extra_args collision with omitted kwargs (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3185\"\u003e#3185\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/a91f630f79e96cc345a1a84ddf28a861e6670b54\"\u003e\u003ccode\u003ea91f630\u003c/code\u003e\u003c/a\u003e fix: skip prerequisite-bound examples in auto runs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/bd84b65258af0473b541ef6c6ccf2882288c2430\"\u003e\u003ccode\u003ebd84b65\u003c/code\u003e\u003c/a\u003e Release 0.16.1 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3167\"\u003e#3167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/28de3652d3ba39958d75813c5958fe5e30483b67\"\u003e\u003ccode\u003e28de365\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3168\"\u003e#3168\u003c/a\u003e validate MCP require_approval policies (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3179\"\u003e#3179\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/a67d95f58a94cb57accc70bc9b3151e6e3bfbdf4\"\u003e\u003ccode\u003ea67d95f\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3174\"\u003e#3174\u003c/a\u003e count valid encrypted session items for limits (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3175\"\u003e#3175\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/3a11cf52250616fd7fcf779d808762666507a4e8\"\u003e\u003ccode\u003e3a11cf5\u003c/code\u003e\u003c/a\u003e fix: reject non-object function tool input JSON (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3166\"\u003e#3166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.15.1...v0.17.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/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\u003c/blockquote\u003e\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\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/shenqistart/circle/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/shenqistart%2Fcircle/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"}},{"old_version":"0.14.6","new_version":"0.15.1","update_type":"minor","path":null,"pr_created_at":"2026-05-05T03:46:48.000Z","version_change":"0.14.6 → 0.15.1","issue":{"uuid":"4381365585","node_id":"PR_kwDOSNt2dc7YQRzP","number":2,"state":"closed","title":"build(deps): bump openai-agents from 0.14.6 to 0.15.1","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-12T06:52:44.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-05T03:46:48.000Z","updated_at":"2026-05-12T06:52:46.000Z","time_to_close":615956,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"openai-agents","old_version":"0.14.6","new_version":"0.15.1","repository_url":"https://github.com/openai/openai-agents-python"}],"path":null,"ecosystem":"pip"},"body":"Bumps [openai-agents](https://github.com/openai/openai-agents-python) from 0.14.6 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/openai/openai-agents-python/releases\"\u003eopenai-agents's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.15.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: expose Responses WebSocket keepalive options by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3080\"\u003eopenai/openai-agents-python#3080\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: restore UnixLocal PTY terminal signal defaults by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3082\"\u003eopenai/openai-agents-python#3082\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3074\"\u003e#3074\u003c/a\u003e restore SIGINT defaults for UnixLocal PTY children by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3075\"\u003eopenai/openai-agents-python#3075\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: add 0.15 changelog by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3058\"\u003eopenai/openai-agents-python#3058\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3064\"\u003eopenai/openai-agents-python#3064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: improve quickstart documentation for Windows OS users by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3071\"\u003eopenai/openai-agents-python#3071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3072\"\u003eopenai/openai-agents-python#3072\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: cover guardrail name fallback to function \u003cstrong\u003ename\u003c/strong\u003e by \u003ca href=\"https://github.com/Quratulain-bilal\"\u003e\u003ccode\u003e@​Quratulain-bilal\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3073\"\u003eopenai/openai-agents-python#3073\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: harden Dapr Redis integration fixture loading by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3078\"\u003eopenai/openai-agents-python#3078\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.15.1 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3083\"\u003eopenai/openai-agents-python#3083\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3078\"\u003eopenai/openai-agents-python#3078\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.15.0...v0.15.1\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.15.0...v0.15.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.15.0\u003c/h2\u003e\n\u003ch2\u003eKey Changes\u003c/h2\u003e\n\u003ch3\u003eBetter model refusal handling\u003c/h3\u003e\n\u003cp\u003eIn this version, model refusals are now surfaced explicitly as \u003ccode\u003eModelRefusalError\u003c/code\u003e instead of being treated as empty text output or, for structured outputs, causing the run loop to retry until \u003ccode\u003eMaxTurnsExceeded\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThis affects code that previously expected a refusal-only model response to complete with \u003ccode\u003efinal_output == \u0026quot;\u0026quot;\u003c/code\u003e. To handle refusals without raising, provide a \u003ccode\u003emodel_refusal\u003c/code\u003e run error handler:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003eresult = Runner.run_sync(\r\n    agent,\r\n    input,\r\n    error_handlers={\u0026quot;model_refusal\u0026quot;: lambda data: data.error.refusal},\r\n)\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eFor structured-output agents, the handler can return a value matching the agent's output schema, and the SDK will validate it like other run error handler final outputs.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3055\"\u003e#3055\u003c/a\u003e surface model refusals during run resolution by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3057\"\u003eopenai/openai-agents-python#3057\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: add missing space after period in MCPServerStdio docstring by \u003ca href=\"https://github.com/GopalGB\"\u003e\u003ccode\u003e@​GopalGB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3053\"\u003eopenai/openai-agents-python#3053\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump actions/github-script from 8.0.0 to 9.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3059\"\u003eopenai/openai-agents-python#3059\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/openai/openai-agents-python/blob/main/docs/release.md\"\u003eopenai-agents's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease process/changelog\u003c/h1\u003e\n\u003cp\u003eThe project follows a slightly modified version of semantic versioning using the form \u003ccode\u003e0.Y.Z\u003c/code\u003e. The leading \u003ccode\u003e0\u003c/code\u003e indicates the SDK is still evolving rapidly. Increment the components as follows:\u003c/p\u003e\n\u003ch2\u003eMinor (\u003ccode\u003eY\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increase minor versions \u003ccode\u003eY\u003c/code\u003e for \u003cstrong\u003ebreaking changes\u003c/strong\u003e to any public interfaces that are not marked as beta. For example, going from \u003ccode\u003e0.0.x\u003c/code\u003e to \u003ccode\u003e0.1.x\u003c/code\u003e might include breaking changes.\u003c/p\u003e\n\u003cp\u003eIf you don't want breaking changes, we recommend pinning to \u003ccode\u003e0.0.x\u003c/code\u003e versions in your project.\u003c/p\u003e\n\u003ch2\u003ePatch (\u003ccode\u003eZ\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increment \u003ccode\u003eZ\u003c/code\u003e for non-breaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes\u003c/li\u003e\n\u003cli\u003eNew features\u003c/li\u003e\n\u003cli\u003eChanges to private interfaces\u003c/li\u003e\n\u003cli\u003eUpdates to beta features\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBreaking change changelog\u003c/h2\u003e\n\u003ch3\u003e0.15.0\u003c/h3\u003e\n\u003cp\u003eIn this version, model refusals are now surfaced explicitly as \u003ccode\u003eModelRefusalError\u003c/code\u003e instead of being treated as empty text output or, for structured outputs, causing the run loop to retry until \u003ccode\u003eMaxTurnsExceeded\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThis affects code that previously expected a refusal-only model response to complete with \u003ccode\u003efinal_output == \u0026quot;\u0026quot;\u003c/code\u003e. To handle refusals without raising, provide a \u003ccode\u003emodel_refusal\u003c/code\u003e run error handler:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003eresult = Runner.run_sync(\n    agent,\n    input,\n    error_handlers={\u0026quot;model_refusal\u0026quot;: lambda data: data.error.refusal},\n)\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eFor structured-output agents, the handler can return a value matching the agent's output schema, and the SDK will validate it like other run error handler final outputs.\u003c/p\u003e\n\u003ch3\u003e0.14.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change, but it adds a major new beta feature area: Sandbox Agents, plus the runtime, backend, and documentation support needed to use them across local, containerized, and hosted environments.\u003c/p\u003e\n\u003cp\u003eHighlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a new beta sandbox runtime surface centered on \u003ccode\u003eSandboxAgent\u003c/code\u003e, \u003ccode\u003eManifest\u003c/code\u003e, and \u003ccode\u003eSandboxRunConfig\u003c/code\u003e, letting agents work inside persistent isolated workspaces with files, directories, Git repos, mounts, snapshots, and resume support.\u003c/li\u003e\n\u003cli\u003eAdded sandbox execution backends for local and containerized development via \u003ccode\u003eUnixLocalSandboxClient\u003c/code\u003e and \u003ccode\u003eDockerSandboxClient\u003c/code\u003e, plus hosted provider integrations for Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop, and Vercel through optional extras.\u003c/li\u003e\n\u003cli\u003eAdded sandbox memory support so future runs can reuse lessons from prior runs, with progressive disclosure, multi-turn grouping, configurable isolation boundaries, and persisted-memory examples including S3-backed workflows.\u003c/li\u003e\n\u003cli\u003eAdded a broader workspace and resume model, including local and synthetic workspace entries, remote storage mounts for S3/R2/GCS/Azure Blob Storage/S3 Files, portable snapshots, and resume flows via \u003ccode\u003eRunState\u003c/code\u003e, \u003ccode\u003eSandboxSessionState\u003c/code\u003e, or saved snapshots.\u003c/li\u003e\n\u003cli\u003eAdded substantial sandbox examples and tutorials under \u003ccode\u003eexamples/sandbox/\u003c/code\u003e, covering coding tasks with skills, handoffs, memory, provider-specific setups, and end-to-end workflows such as code review, dataroom QA, and website cloning.\u003c/li\u003e\n\u003cli\u003eExtended the core runtime and tracing stack with sandbox-aware session preparation, capability binding, state serialization, unified tracing, prompt cache key defaults, and safer sensitive MCP output redaction.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/ceb238fd1bd341c38c43ab191874f142515bb813\"\u003e\u003ccode\u003eceb238f\u003c/code\u003e\u003c/a\u003e Release 0.15.1 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3083\"\u003e#3083\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/41c646d89862c59f536b3cdb7947bf104353ff8d\"\u003e\u003ccode\u003e41c646d\u003c/code\u003e\u003c/a\u003e fix: restore UnixLocal PTY terminal signal defaults (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3082\"\u003e#3082\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/4b2881c7c4d572f1f091e4530bb3af712f1f99a0\"\u003e\u003ccode\u003e4b2881c\u003c/code\u003e\u003c/a\u003e feat: expose Responses WebSocket keepalive options (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3080\"\u003e#3080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/a47b7ea7eced7f88c830979b0caea47d260fafd5\"\u003e\u003ccode\u003ea47b7ea\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3074\"\u003e#3074\u003c/a\u003e restore SIGINT defaults for UnixLocal PTY children (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3075\"\u003e#3075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/42c30155181b1a9913d1c3a32befc4638ab9d062\"\u003e\u003ccode\u003e42c3015\u003c/code\u003e\u003c/a\u003e chore: harden Dapr Redis integration fixture loading (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3078\"\u003e#3078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/ae224b4449c1831d2e44b03b2677845a89aefd0e\"\u003e\u003ccode\u003eae224b4\u003c/code\u003e\u003c/a\u003e test: cover guardrail name fallback to function \u003cstrong\u003ename\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3073\"\u003e#3073\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/756fa431a7ecc896e26d6556b40f761830cb7cf6\"\u003e\u003ccode\u003e756fa43\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3072\"\u003e#3072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/841f72f296d15aa28f11f9c167506181b13af5e1\"\u003e\u003ccode\u003e841f72f\u003c/code\u003e\u003c/a\u003e docs: improve quickstart documentation for Windows OS users (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3071\"\u003e#3071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/611d080ff048134fb2e5e40baf56b8a8cc69592e\"\u003e\u003ccode\u003e611d080\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3064\"\u003e#3064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/48d7e9cae7190e579c518fd571bdd317a1711e09\"\u003e\u003ccode\u003e48d7e9c\u003c/code\u003e\u003c/a\u003e docs: add 0.15 changelog (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3058\"\u003e#3058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.14.6...v0.15.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=openai-agents\u0026package-manager=uv\u0026previous-version=0.14.6\u0026new-version=0.15.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/pyama86/owncall/pull/2","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyama86%2Fowncall/issues/2","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2/packages"}},{"old_version":"0.7.0","new_version":"0.17.4","update_type":"minor","path":null,"pr_created_at":"2026-05-04T18:39:08.000Z","version_change":"0.7.0 → 0.17.4","issue":{"uuid":"4378796075","node_id":"PR_kwDOKBSOF87YH069","number":89,"state":"closed","title":"chore(deps): bump openai-agents from 0.7.0 to 0.17.4","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-05-26T21:33:30.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-04T18:39:08.000Z","updated_at":"2026-05-26T21:33:32.000Z","time_to_close":1911262,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"openai-agents","old_version":"0.7.0","new_version":"0.17.4","repository_url":"https://github.com/openai/openai-agents-python"}],"path":null,"ecosystem":"pip"},"body":"Bumps [openai-agents](https://github.com/openai/openai-agents-python) from 0.7.0 to 0.17.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-agents-python/releases\"\u003eopenai-agents's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.17.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: support Realtime custom voice objects by \u003ca href=\"https://github.com/lionel-oai\"\u003e\u003ccode\u003e@​lionel-oai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3473\"\u003eopenai/openai-agents-python#3473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3459\"\u003e#3459\u003c/a\u003e add opt-in recovery for missing function tools by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3461\"\u003eopenai/openai-agents-python#3461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply hardened http client default to MCP SSE transport by \u003ca href=\"https://github.com/ioleksiuk\"\u003e\u003ccode\u003e@​ioleksiuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3466\"\u003eopenai/openai-agents-python#3466\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: use non-None value for output in FunctionSpanData by \u003ca href=\"https://github.com/rmotgi1227\"\u003e\u003ccode\u003e@​rmotgi1227\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3475\"\u003eopenai/openai-agents-python#3475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add missing entries to span \u003cstrong\u003eslots\u003c/strong\u003e by \u003ca href=\"https://github.com/rmotgi1227\"\u003e\u003ccode\u003e@​rmotgi1227\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3483\"\u003eopenai/openai-agents-python#3483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: redact invalid JSON payload in ModelBehaviorError data by \u003ca href=\"https://github.com/LeSingh1\"\u003e\u003ccode\u003e@​LeSingh1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3485\"\u003eopenai/openai-agents-python#3485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: export more tracing related functions \u0026amp; types from agents by \u003ca href=\"https://github.com/rmotgi1227\"\u003e\u003ccode\u003e@​rmotgi1227\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3489\"\u003eopenai/openai-agents-python#3489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: export MCPListToolsItem, ToolSearchCallItem, and ToolSearchOutputItem from agents by \u003ca href=\"https://github.com/rmotgi1227\"\u003e\u003ccode\u003e@​rmotgi1227\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3490\"\u003eopenai/openai-agents-python#3490\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRelease 0.17.4 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3505\"\u003eopenai/openai-agents-python#3505\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rmotgi1227\"\u003e\u003ccode\u003e@​rmotgi1227\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3475\"\u003eopenai/openai-agents-python#3475\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.17.3...v0.17.4\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.17.3...v0.17.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.17.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: keep mountpoint credentials out of sandbox commands by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3429\"\u003eopenai/openai-agents-python#3429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: unify memory optional dependency import errors by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3389\"\u003eopenai/openai-agents-python#3389\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: guard None text in text_message_output and add output guardrail count to RunErrorDetails by \u003ca href=\"https://github.com/zhoufengen\"\u003e\u003ccode\u003e@​zhoufengen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3375\"\u003eopenai/openai-agents-python#3375\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: avoid mutating FunctionTool params_json_schema by \u003ca href=\"https://github.com/ioleksiuk\"\u003e\u003ccode\u003e@​ioleksiuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3382\"\u003eopenai/openai-agents-python#3382\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: avoid mutating codex output schema input by \u003ca href=\"https://github.com/ioleksiuk\"\u003e\u003ccode\u003e@​ioleksiuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3385\"\u003eopenai/openai-agents-python#3385\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3357\"\u003e#3357\u003c/a\u003e output schema names for Literal types by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3358\"\u003eopenai/openai-agents-python#3358\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: skip wait_for_status when Vercel sandbox is in a terminal state by \u003ca href=\"https://github.com/cty-ut\"\u003e\u003ccode\u003e@​cty-ut\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3410\"\u003eopenai/openai-agents-python#3410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: filter hosted_tool_call types in remove_all_tools handoff filter by \u003ca href=\"https://github.com/ioleksiuk\"\u003e\u003ccode\u003e@​ioleksiuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3386\"\u003eopenai/openai-agents-python#3386\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: guard None text in ItemHelpers.extract_last_content by \u003ca href=\"https://github.com/ioleksiuk\"\u003e\u003ccode\u003e@​ioleksiuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3394\"\u003eopenai/openai-agents-python#3394\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: log exception when output guardrail raises instead of silently ignoring by \u003ca href=\"https://github.com/cty-ut\"\u003e\u003ccode\u003e@​cty-ut\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3411\"\u003eopenai/openai-agents-python#3411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: reject relative sandbox workspace roots by \u003ca href=\"https://github.com/matthewflint\"\u003e\u003ccode\u003e@​matthewflint\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3422\"\u003eopenai/openai-agents-python#3422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: normalize leading question marks in exposed port queries by \u003ca href=\"https://github.com/matthewflint\"\u003e\u003ccode\u003e@​matthewflint\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3424\"\u003eopenai/openai-agents-python#3424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3363\"\u003e#3363\u003c/a\u003e honor short custom voice splitter chunks by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3364\"\u003eopenai/openai-agents-python#3364\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: runtime handling updates by \u003ca href=\"https://github.com/adrianbravo-oai\"\u003e\u003ccode\u003e@​adrianbravo-oai\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/ioleksiuk\"\u003e\u003ccode\u003e@​ioleksiuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3451\"\u003eopenai/openai-agents-python#3451\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: add SDK review guidance by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3376\"\u003eopenai/openai-agents-python#3376\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: mark Agent.instructions as optional by \u003ca href=\"https://github.com/ioleksiuk\"\u003e\u003ccode\u003e@​ioleksiuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3384\"\u003eopenai/openai-agents-python#3384\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: translate all pages using new settings by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3392\"\u003eopenai/openai-agents-python#3392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: document auto_previous_response_id by \u003ca href=\"https://github.com/ioleksiuk\"\u003e\u003ccode\u003e@​ioleksiuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3383\"\u003eopenai/openai-agents-python#3383\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix LiteLLM API reference redirect by \u003ca href=\"https://github.com/ynachiket\"\u003e\u003ccode\u003e@​ynachiket\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3444\"\u003eopenai/openai-agents-python#3444\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix duplicated word in usaspending glossary example by \u003ca href=\"https://github.com/LeSingh1\"\u003e\u003ccode\u003e@​LeSingh1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3445\"\u003eopenai/openai-agents-python#3445\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: clean up CI jobs and update uv pin by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3400\"\u003eopenai/openai-agents-python#3400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: harden release tag workflow by \u003ca href=\"https://github.com/hintz-openai\"\u003e\u003ccode\u003e@​hintz-openai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3399\"\u003eopenai/openai-agents-python#3399\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.17.3 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3417\"\u003eopenai/openai-agents-python#3417\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/openai/openai-agents-python/blob/main/docs/release.md\"\u003eopenai-agents's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease process/changelog\u003c/h1\u003e\n\u003cp\u003eThe project follows a slightly modified version of semantic versioning using the form \u003ccode\u003e0.Y.Z\u003c/code\u003e. The leading \u003ccode\u003e0\u003c/code\u003e indicates the SDK is still evolving rapidly. Increment the components as follows:\u003c/p\u003e\n\u003ch2\u003eMinor (\u003ccode\u003eY\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increase minor versions \u003ccode\u003eY\u003c/code\u003e for \u003cstrong\u003ebreaking changes\u003c/strong\u003e to any public interfaces that are not marked as beta. For example, going from \u003ccode\u003e0.0.x\u003c/code\u003e to \u003ccode\u003e0.1.x\u003c/code\u003e might include breaking changes.\u003c/p\u003e\n\u003cp\u003eIf you don't want breaking changes, we recommend pinning to \u003ccode\u003e0.0.x\u003c/code\u003e versions in your project.\u003c/p\u003e\n\u003ch2\u003ePatch (\u003ccode\u003eZ\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increment \u003ccode\u003eZ\u003c/code\u003e for non-breaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes\u003c/li\u003e\n\u003cli\u003eNew features\u003c/li\u003e\n\u003cli\u003eChanges to private interfaces\u003c/li\u003e\n\u003cli\u003eUpdates to beta features\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBreaking change changelog\u003c/h2\u003e\n\u003ch3\u003e0.17.0\u003c/h3\u003e\n\u003cp\u003eIn this version, sandbox local source materialization keeps \u003ccode\u003eLocalFile.src\u003c/code\u003e and \u003ccode\u003eLocalDir.src\u003c/code\u003e within the materialization \u003ccode\u003ebase_dir\u003c/code\u003e unless the source path is covered by \u003ccode\u003eManifest.extra_path_grants\u003c/code\u003e. The \u003ccode\u003ebase_dir\u003c/code\u003e is the SDK process current working directory when the manifest is applied; relative local sources are resolved from that directory, while absolute local sources must already be inside it or under an explicit grant. This closes a local artifact boundary issue, but it can affect applications that intentionally copy trusted host files or directories from outside that base directory into a sandbox workspace.\u003c/p\u003e\n\u003cp\u003eTo migrate, grant trusted host roots at the manifest level with \u003ccode\u003eSandboxPathGrant\u003c/code\u003e, preferably as read-only when the sandbox only needs to read those files:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003efrom pathlib import Path\n\u003cp\u003efrom agents.sandbox import Manifest, SandboxPathGrant\nfrom agents.sandbox.entries import Dir, LocalDir\u003c/p\u003e\n\u003ch1\u003eThis is an absolute host path outside the SDK process base_dir.\u003c/h1\u003e\n\u003cp\u003eTRUSTED_DOCS_ROOT = Path(\u0026quot;/opt/my-app/docs\u0026quot;)\u003c/p\u003e\n\u003cp\u003emanifest = Manifest(\nextra_path_grants=(\n# This host root is outside the SDK process base_dir, so the manifest must grant it.\nSandboxPathGrant(path=str(TRUSTED_DOCS_ROOT), read_only=True),\n),\nentries={\n# No grant is needed for local sources that stay under the SDK process base_dir.\n\u0026quot;fixtures\u0026quot;: LocalDir(src=Path(\u0026quot;fixtures\u0026quot;), description=\u0026quot;Local test fixtures.\u0026quot;),\n# This entry reads from the granted host root and copies it into the sandbox workspace.\n\u0026quot;docs\u0026quot;: LocalDir(src=TRUSTED_DOCS_ROOT, description=\u0026quot;Trusted local documents.\u0026quot;),\n# Dir creates a sandbox workspace directory; it does not read from the host filesystem.\n\u0026quot;output\u0026quot;: Dir(description=\u0026quot;Generated artifacts.\u0026quot;),\n},\n)\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/6d5b888f6f57b8356398bea883b45172fec54b95\"\u003e\u003ccode\u003e6d5b888\u003c/code\u003e\u003c/a\u003e Release 0.17.4 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3505\"\u003e#3505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/9a92ea4c8e4c2bff05b81041d0d1f3df41360bfb\"\u003e\u003ccode\u003e9a92ea4\u003c/code\u003e\u003c/a\u003e Support Realtime custom voice objects (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3473\"\u003e#3473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/fedc809afd5abb492df21c8e6bf365653b06c21f\"\u003e\u003ccode\u003efedc809\u003c/code\u003e\u003c/a\u003e fix: export MCPListToolsItem, ToolSearchCallItem, and ToolSearchOutputItem fr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/573530febb67ff561d02e57cce639e792d4d716e\"\u003e\u003ccode\u003e573530f\u003c/code\u003e\u003c/a\u003e fix: export more tracing related functions \u0026amp; types from agents (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3489\"\u003e#3489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/813a00324e8165eacefd3ec4760d27b1d65d2a46\"\u003e\u003ccode\u003e813a003\u003c/code\u003e\u003c/a\u003e fix: redact invalid JSON payload in ModelBehaviorError data (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3485\"\u003e#3485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/eda7b51aeae663204dc3b8a1431688fa5fc50620\"\u003e\u003ccode\u003eeda7b51\u003c/code\u003e\u003c/a\u003e fix: add missing entries to span \u003cstrong\u003eslots\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3483\"\u003e#3483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/45effb4b7d7de1226ebba7ba304bccfcf0a37fdf\"\u003e\u003ccode\u003e45effb4\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3459\"\u003e#3459\u003c/a\u003e add opt-in recovery for missing function tools (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3461\"\u003e#3461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/9303389d8452995b18ba151614489fb93eaefad5\"\u003e\u003ccode\u003e9303389\u003c/code\u003e\u003c/a\u003e fix: use non-None value for output in FunctionSpanData (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3475\"\u003e#3475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/9514473c234c8419b812b658157a5c3d4341713f\"\u003e\u003ccode\u003e9514473\u003c/code\u003e\u003c/a\u003e fix: apply hardened http client default to MCP SSE transport (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3466\"\u003e#3466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/445ad2273c2b527fc98dd8c1e53b3108d6bd93ea\"\u003e\u003ccode\u003e445ad22\u003c/code\u003e\u003c/a\u003e docs: add SECURITY.md in the same way with openai-agents-js repo\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.7.0...v0.17.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/performlikemj/sautai/pull/89","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/performlikemj%2Fsautai/issues/89","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/89/packages"}},{"old_version":"0.10.4","new_version":"0.15.1","update_type":"minor","path":null,"pr_created_at":"2026-05-04T16:54:30.000Z","version_change":"0.10.4 → 0.15.1","issue":{"uuid":"4378190840","node_id":"PR_kwDORT9AZc7YF1O2","number":378,"state":"closed","title":"build(deps): bump openai-agents from 0.10.4 to 0.15.1","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-05-06T04:22:51.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-04T16:54:30.000Z","updated_at":"2026-05-06T04:22:59.000Z","time_to_close":127701,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"openai-agents","old_version":"0.10.4","new_version":"0.15.1","repository_url":"https://github.com/openai/openai-agents-python"}],"path":null,"ecosystem":"pip"},"body":"Bumps [openai-agents](https://github.com/openai/openai-agents-python) from 0.10.4 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/openai/openai-agents-python/releases\"\u003eopenai-agents's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.15.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: expose Responses WebSocket keepalive options by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3080\"\u003eopenai/openai-agents-python#3080\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: restore UnixLocal PTY terminal signal defaults by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3082\"\u003eopenai/openai-agents-python#3082\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3074\"\u003e#3074\u003c/a\u003e restore SIGINT defaults for UnixLocal PTY children by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3075\"\u003eopenai/openai-agents-python#3075\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: add 0.15 changelog by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3058\"\u003eopenai/openai-agents-python#3058\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3064\"\u003eopenai/openai-agents-python#3064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: improve quickstart documentation for Windows OS users by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3071\"\u003eopenai/openai-agents-python#3071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3072\"\u003eopenai/openai-agents-python#3072\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: cover guardrail name fallback to function \u003cstrong\u003ename\u003c/strong\u003e by \u003ca href=\"https://github.com/Quratulain-bilal\"\u003e\u003ccode\u003e@​Quratulain-bilal\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3073\"\u003eopenai/openai-agents-python#3073\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: harden Dapr Redis integration fixture loading by \u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3078\"\u003eopenai/openai-agents-python#3078\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.15.1 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3083\"\u003eopenai/openai-agents-python#3083\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Aphroq\"\u003e\u003ccode\u003e@​Aphroq\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3078\"\u003eopenai/openai-agents-python#3078\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.15.0...v0.15.1\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.15.0...v0.15.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.15.0\u003c/h2\u003e\n\u003ch2\u003eKey Changes\u003c/h2\u003e\n\u003ch3\u003eBetter model refusal handling\u003c/h3\u003e\n\u003cp\u003eIn this version, model refusals are now surfaced explicitly as \u003ccode\u003eModelRefusalError\u003c/code\u003e instead of being treated as empty text output or, for structured outputs, causing the run loop to retry until \u003ccode\u003eMaxTurnsExceeded\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThis affects code that previously expected a refusal-only model response to complete with \u003ccode\u003efinal_output == \u0026quot;\u0026quot;\u003c/code\u003e. To handle refusals without raising, provide a \u003ccode\u003emodel_refusal\u003c/code\u003e run error handler:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003eresult = Runner.run_sync(\r\n    agent,\r\n    input,\r\n    error_handlers={\u0026quot;model_refusal\u0026quot;: lambda data: data.error.refusal},\r\n)\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eFor structured-output agents, the handler can return a value matching the agent's output schema, and the SDK will validate it like other run error handler final outputs.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3055\"\u003e#3055\u003c/a\u003e surface model refusals during run resolution by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3057\"\u003eopenai/openai-agents-python#3057\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: add missing space after period in MCPServerStdio docstring by \u003ca href=\"https://github.com/GopalGB\"\u003e\u003ccode\u003e@​GopalGB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3053\"\u003eopenai/openai-agents-python#3053\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump actions/github-script from 8.0.0 to 9.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3059\"\u003eopenai/openai-agents-python#3059\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/openai/openai-agents-python/blob/main/docs/release.md\"\u003eopenai-agents's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease process/changelog\u003c/h1\u003e\n\u003cp\u003eThe project follows a slightly modified version of semantic versioning using the form \u003ccode\u003e0.Y.Z\u003c/code\u003e. The leading \u003ccode\u003e0\u003c/code\u003e indicates the SDK is still evolving rapidly. Increment the components as follows:\u003c/p\u003e\n\u003ch2\u003eMinor (\u003ccode\u003eY\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increase minor versions \u003ccode\u003eY\u003c/code\u003e for \u003cstrong\u003ebreaking changes\u003c/strong\u003e to any public interfaces that are not marked as beta. For example, going from \u003ccode\u003e0.0.x\u003c/code\u003e to \u003ccode\u003e0.1.x\u003c/code\u003e might include breaking changes.\u003c/p\u003e\n\u003cp\u003eIf you don't want breaking changes, we recommend pinning to \u003ccode\u003e0.0.x\u003c/code\u003e versions in your project.\u003c/p\u003e\n\u003ch2\u003ePatch (\u003ccode\u003eZ\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increment \u003ccode\u003eZ\u003c/code\u003e for non-breaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes\u003c/li\u003e\n\u003cli\u003eNew features\u003c/li\u003e\n\u003cli\u003eChanges to private interfaces\u003c/li\u003e\n\u003cli\u003eUpdates to beta features\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBreaking change changelog\u003c/h2\u003e\n\u003ch3\u003e0.15.0\u003c/h3\u003e\n\u003cp\u003eIn this version, model refusals are now surfaced explicitly as \u003ccode\u003eModelRefusalError\u003c/code\u003e instead of being treated as empty text output or, for structured outputs, causing the run loop to retry until \u003ccode\u003eMaxTurnsExceeded\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThis affects code that previously expected a refusal-only model response to complete with \u003ccode\u003efinal_output == \u0026quot;\u0026quot;\u003c/code\u003e. To handle refusals without raising, provide a \u003ccode\u003emodel_refusal\u003c/code\u003e run error handler:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003eresult = Runner.run_sync(\n    agent,\n    input,\n    error_handlers={\u0026quot;model_refusal\u0026quot;: lambda data: data.error.refusal},\n)\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eFor structured-output agents, the handler can return a value matching the agent's output schema, and the SDK will validate it like other run error handler final outputs.\u003c/p\u003e\n\u003ch3\u003e0.14.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change, but it adds a major new beta feature area: Sandbox Agents, plus the runtime, backend, and documentation support needed to use them across local, containerized, and hosted environments.\u003c/p\u003e\n\u003cp\u003eHighlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a new beta sandbox runtime surface centered on \u003ccode\u003eSandboxAgent\u003c/code\u003e, \u003ccode\u003eManifest\u003c/code\u003e, and \u003ccode\u003eSandboxRunConfig\u003c/code\u003e, letting agents work inside persistent isolated workspaces with files, directories, Git repos, mounts, snapshots, and resume support.\u003c/li\u003e\n\u003cli\u003eAdded sandbox execution backends for local and containerized development via \u003ccode\u003eUnixLocalSandboxClient\u003c/code\u003e and \u003ccode\u003eDockerSandboxClient\u003c/code\u003e, plus hosted provider integrations for Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop, and Vercel through optional extras.\u003c/li\u003e\n\u003cli\u003eAdded sandbox memory support so future runs can reuse lessons from prior runs, with progressive disclosure, multi-turn grouping, configurable isolation boundaries, and persisted-memory examples including S3-backed workflows.\u003c/li\u003e\n\u003cli\u003eAdded a broader workspace and resume model, including local and synthetic workspace entries, remote storage mounts for S3/R2/GCS/Azure Blob Storage/S3 Files, portable snapshots, and resume flows via \u003ccode\u003eRunState\u003c/code\u003e, \u003ccode\u003eSandboxSessionState\u003c/code\u003e, or saved snapshots.\u003c/li\u003e\n\u003cli\u003eAdded substantial sandbox examples and tutorials under \u003ccode\u003eexamples/sandbox/\u003c/code\u003e, covering coding tasks with skills, handoffs, memory, provider-specific setups, and end-to-end workflows such as code review, dataroom QA, and website cloning.\u003c/li\u003e\n\u003cli\u003eExtended the core runtime and tracing stack with sandbox-aware session preparation, capability binding, state serialization, unified tracing, prompt cache key defaults, and safer sensitive MCP output redaction.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/ceb238fd1bd341c38c43ab191874f142515bb813\"\u003e\u003ccode\u003eceb238f\u003c/code\u003e\u003c/a\u003e Release 0.15.1 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3083\"\u003e#3083\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/41c646d89862c59f536b3cdb7947bf104353ff8d\"\u003e\u003ccode\u003e41c646d\u003c/code\u003e\u003c/a\u003e fix: restore UnixLocal PTY terminal signal defaults (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3082\"\u003e#3082\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/4b2881c7c4d572f1f091e4530bb3af712f1f99a0\"\u003e\u003ccode\u003e4b2881c\u003c/code\u003e\u003c/a\u003e feat: expose Responses WebSocket keepalive options (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3080\"\u003e#3080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/a47b7ea7eced7f88c830979b0caea47d260fafd5\"\u003e\u003ccode\u003ea47b7ea\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3074\"\u003e#3074\u003c/a\u003e restore SIGINT defaults for UnixLocal PTY children (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3075\"\u003e#3075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/42c30155181b1a9913d1c3a32befc4638ab9d062\"\u003e\u003ccode\u003e42c3015\u003c/code\u003e\u003c/a\u003e chore: harden Dapr Redis integration fixture loading (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3078\"\u003e#3078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/ae224b4449c1831d2e44b03b2677845a89aefd0e\"\u003e\u003ccode\u003eae224b4\u003c/code\u003e\u003c/a\u003e test: cover guardrail name fallback to function \u003cstrong\u003ename\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3073\"\u003e#3073\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/756fa431a7ecc896e26d6556b40f761830cb7cf6\"\u003e\u003ccode\u003e756fa43\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3072\"\u003e#3072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/841f72f296d15aa28f11f9c167506181b13af5e1\"\u003e\u003ccode\u003e841f72f\u003c/code\u003e\u003c/a\u003e docs: improve quickstart documentation for Windows OS users (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3071\"\u003e#3071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/611d080ff048134fb2e5e40baf56b8a8cc69592e\"\u003e\u003ccode\u003e611d080\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3064\"\u003e#3064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/48d7e9cae7190e579c518fd571bdd317a1711e09\"\u003e\u003ccode\u003e48d7e9c\u003c/code\u003e\u003c/a\u003e docs: add 0.15 changelog (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3058\"\u003e#3058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.10.4...v0.15.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=openai-agents\u0026package-manager=pip\u0026previous-version=0.10.4\u0026new-version=0.15.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/tryskian/polinko/pull/378","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/tryskian%2Fpolinko/issues/378","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/378/packages"}},{"old_version":"0.13.6","new_version":"0.14.6","update_type":"minor","path":"/addons/formula-chat/api","pr_created_at":"2026-04-26T06:06:10.000Z","version_change":"0.13.6 → 0.14.6","issue":{"uuid":"4330167484","node_id":"PR_kwDORzsKKM7VsC0v","number":99,"state":"open","title":"chore(deps): bump openai-agents from 0.13.6 to 0.14.6 in /addons/formula-chat/api","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-26T06:06:10.000Z","updated_at":"2026-04-26T06:09:54.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"openai-agents","old_version":"0.13.6","new_version":"0.14.6","repository_url":"https://github.com/openai/openai-agents-python"}],"path":"/addons/formula-chat/api","ecosystem":"pip"},"body":"Bumps [openai-agents](https://github.com/openai/openai-agents-python) from 0.13.6 to 0.14.6.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-agents-python/releases\"\u003eopenai-agents's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: update examples and defaults to GPT-5.5 by \u003ca href=\"https://github.com/alfozan\"\u003e\u003ccode\u003e@​alfozan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3016\"\u003eopenai/openai-agents-python#3016\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: relax websockets upper bound from \u0026lt;16 to \u0026lt;17 by \u003ca href=\"https://github.com/mathisobadia\"\u003e\u003ccode\u003e@​mathisobadia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3013\"\u003eopenai/openai-agents-python#3013\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: harden uv dependency resolution by \u003ca href=\"https://github.com/mcgrew-oai\"\u003e\u003ccode\u003e@​mcgrew-oai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3014\"\u003eopenai/openai-agents-python#3014\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3021\"\u003eopenai/openai-agents-python#3021\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add MongoDB session documentation by \u003ca href=\"https://github.com/alexbevi\"\u003e\u003ccode\u003e@​alexbevi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3015\"\u003eopenai/openai-agents-python#3015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3023\"\u003eopenai/openai-agents-python#3023\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.14.6 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3022\"\u003eopenai/openai-agents-python#3022\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mcgrew-oai\"\u003e\u003ccode\u003e@​mcgrew-oai\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3014\"\u003eopenai/openai-agents-python#3014\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mathisobadia\"\u003e\u003ccode\u003e@​mathisobadia\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3013\"\u003eopenai/openai-agents-python#3013\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.14.5...v0.14.6\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.14.5...v0.14.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.14.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3001\"\u003e#3001\u003c/a\u003e add Modal sandbox idle timeout option by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3005\"\u003eopenai/openai-agents-python#3005\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3004\"\u003e#3004\u003c/a\u003e serve HITL resume tool outputs by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3006\"\u003eopenai/openai-agents-python#3006\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: backfill streamed terminal output by \u003ca href=\"https://github.com/ankitphogat\"\u003e\u003ccode\u003e@​ankitphogat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3000\"\u003eopenai/openai-agents-python#3000\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: clarify lazy skill source host paths by \u003ca href=\"https://github.com/alfozan\"\u003e\u003ccode\u003e@​alfozan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2998\"\u003eopenai/openai-agents-python#2998\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2999\"\u003eopenai/openai-agents-python#2999\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.14.5 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3007\"\u003eopenai/openai-agents-python#3007\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankitphogat\"\u003e\u003ccode\u003e@​ankitphogat\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3000\"\u003eopenai/openai-agents-python#3000\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.14.4...v0.14.5\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.14.4...v0.14.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.14.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add BoxMount support by \u003ca href=\"https://github.com/alfozan\"\u003e\u003ccode\u003e@​alfozan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2988\"\u003eopenai/openai-agents-python#2988\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: ignore relative snapshot base overrides by \u003ca href=\"https://github.com/matthewflint\"\u003e\u003ccode\u003e@​matthewflint\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2976\"\u003eopenai/openai-agents-python#2976\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: share sandbox ephemeral mount lifecycle by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2986\"\u003eopenai/openai-agents-python#2986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: share sandbox tar exclude arg generation by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2987\"\u003eopenai/openai-agents-python#2987\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: extract sandbox session helper operations by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2985\"\u003eopenai/openai-agents-python#2985\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: remove duplicate word in voice interruptions section by \u003ca href=\"https://github.com/abhicris\"\u003e\u003ccode\u003e@​abhicris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2981\"\u003eopenai/openai-agents-python#2981\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/openai/openai-agents-python/blob/main/docs/release.md\"\u003eopenai-agents's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease process/changelog\u003c/h1\u003e\n\u003cp\u003eThe project follows a slightly modified version of semantic versioning using the form \u003ccode\u003e0.Y.Z\u003c/code\u003e. The leading \u003ccode\u003e0\u003c/code\u003e indicates the SDK is still evolving rapidly. Increment the components as follows:\u003c/p\u003e\n\u003ch2\u003eMinor (\u003ccode\u003eY\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increase minor versions \u003ccode\u003eY\u003c/code\u003e for \u003cstrong\u003ebreaking changes\u003c/strong\u003e to any public interfaces that are not marked as beta. For example, going from \u003ccode\u003e0.0.x\u003c/code\u003e to \u003ccode\u003e0.1.x\u003c/code\u003e might include breaking changes.\u003c/p\u003e\n\u003cp\u003eIf you don't want breaking changes, we recommend pinning to \u003ccode\u003e0.0.x\u003c/code\u003e versions in your project.\u003c/p\u003e\n\u003ch2\u003ePatch (\u003ccode\u003eZ\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increment \u003ccode\u003eZ\u003c/code\u003e for non-breaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes\u003c/li\u003e\n\u003cli\u003eNew features\u003c/li\u003e\n\u003cli\u003eChanges to private interfaces\u003c/li\u003e\n\u003cli\u003eUpdates to beta features\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBreaking change changelog\u003c/h2\u003e\n\u003ch3\u003e0.14.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change, but it adds a major new beta feature area: Sandbox Agents, plus the runtime, backend, and documentation support needed to use them across local, containerized, and hosted environments.\u003c/p\u003e\n\u003cp\u003eHighlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a new beta sandbox runtime surface centered on \u003ccode\u003eSandboxAgent\u003c/code\u003e, \u003ccode\u003eManifest\u003c/code\u003e, and \u003ccode\u003eSandboxRunConfig\u003c/code\u003e, letting agents work inside persistent isolated workspaces with files, directories, Git repos, mounts, snapshots, and resume support.\u003c/li\u003e\n\u003cli\u003eAdded sandbox execution backends for local and containerized development via \u003ccode\u003eUnixLocalSandboxClient\u003c/code\u003e and \u003ccode\u003eDockerSandboxClient\u003c/code\u003e, plus hosted provider integrations for Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop, and Vercel through optional extras.\u003c/li\u003e\n\u003cli\u003eAdded sandbox memory support so future runs can reuse lessons from prior runs, with progressive disclosure, multi-turn grouping, configurable isolation boundaries, and persisted-memory examples including S3-backed workflows.\u003c/li\u003e\n\u003cli\u003eAdded a broader workspace and resume model, including local and synthetic workspace entries, remote storage mounts for S3/R2/GCS/Azure Blob Storage/S3 Files, portable snapshots, and resume flows via \u003ccode\u003eRunState\u003c/code\u003e, \u003ccode\u003eSandboxSessionState\u003c/code\u003e, or saved snapshots.\u003c/li\u003e\n\u003cli\u003eAdded substantial sandbox examples and tutorials under \u003ccode\u003eexamples/sandbox/\u003c/code\u003e, covering coding tasks with skills, handoffs, memory, provider-specific setups, and end-to-end workflows such as code review, dataroom QA, and website cloning.\u003c/li\u003e\n\u003cli\u003eExtended the core runtime and tracing stack with sandbox-aware session preparation, capability binding, state serialization, unified tracing, prompt cache key defaults, and safer sensitive MCP output redaction.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e0.13.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change, but it includes a notable Realtime default update plus new MCP capabilities and runtime stability fixes.\u003c/p\u003e\n\u003cp\u003eHighlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe default websocket Realtime model is now \u003ccode\u003egpt-realtime-1.5\u003c/code\u003e, so new Realtime agent setups use the newer model without extra configuration.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMCPServer\u003c/code\u003e now exposes \u003ccode\u003elist_resources()\u003c/code\u003e, \u003ccode\u003elist_resource_templates()\u003c/code\u003e, and \u003ccode\u003eread_resource()\u003c/code\u003e, and \u003ccode\u003eMCPServerStreamableHttp\u003c/code\u003e now exposes \u003ccode\u003esession_id\u003c/code\u003e so streamable HTTP sessions can be resumed across reconnects or stateless workers.\u003c/li\u003e\n\u003cli\u003eChat Completions integrations can now opt into reasoning-content replay via \u003ccode\u003eshould_replay_reasoning_content\u003c/code\u003e, improving provider-specific reasoning/tool-call continuity for adapters such as LiteLLM/DeepSeek.\u003c/li\u003e\n\u003cli\u003eFixed several runtime and session edge cases, including concurrent first writes in \u003ccode\u003eSQLAlchemySession\u003c/code\u003e, compaction requests with orphaned assistant message IDs after reasoning stripping, \u003ccode\u003eremove_all_tools()\u003c/code\u003e leaving MCP/reasoning items behind, and a race in the function-tool batch executor.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e0.12.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change. Check \u003ca href=\"https://github.com/openai/openai-agents-python/releases/tag/v0.12.0\"\u003ethe release notes\u003c/a\u003e for major feature additions.\u003c/p\u003e\n\u003ch3\u003e0.11.0\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/9a207b6938699d87d2d17dd67dd628ca3af0232d\"\u003e\u003ccode\u003e9a207b6\u003c/code\u003e\u003c/a\u003e Release 0.14.6 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3022\"\u003e#3022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/9af6ad111cab2defd5ef76404d575c35067af8de\"\u003e\u003ccode\u003e9af6ad1\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3023\"\u003e#3023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/1821bf8094a21fee53c4e48f9346943c4a49dc5d\"\u003e\u003ccode\u003e1821bf8\u003c/code\u003e\u003c/a\u003e docs: add MongoDB session documentation (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3015\"\u003e#3015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/071e2b68f6b73bc96badfdee92e862cd41427eac\"\u003e\u003ccode\u003e071e2b6\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3021\"\u003e#3021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/c88f339d32f2c1fc22ab5c71b0c86328379b6881\"\u003e\u003ccode\u003ec88f339\u003c/code\u003e\u003c/a\u003e Update examples and defaults to GPT-5.5 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3016\"\u003e#3016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/5ffc1ecee444157447eca830275ff347adaa8c16\"\u003e\u003ccode\u003e5ffc1ec\u003c/code\u003e\u003c/a\u003e relax websockets upper bound from \u0026lt;16 to \u0026lt;17 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3013\"\u003e#3013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/c2cb03146163e650518f9ed7d9a293352620881b\"\u003e\u003ccode\u003ec2cb031\u003c/code\u003e\u003c/a\u003e chore: harden uv dependency resolution (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3014\"\u003e#3014\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/fe3a5e6c271839107be2e554f96438436787331c\"\u003e\u003ccode\u003efe3a5e6\u003c/code\u003e\u003c/a\u003e Release 0.14.5 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3007\"\u003e#3007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/16e040929b76058e2776068eded0df40c4887445\"\u003e\u003ccode\u003e16e0409\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3004\"\u003e#3004\u003c/a\u003e serve HITL resume tool outputs (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3006\"\u003e#3006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/5be06a16a9aba93adff8539cde4a7a9519998a51\"\u003e\u003ccode\u003e5be06a1\u003c/code\u003e\u003c/a\u003e feat: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3001\"\u003e#3001\u003c/a\u003e add Modal sandbox idle timeout option (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3005\"\u003e#3005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.13.6...v0.14.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=openai-agents\u0026package-manager=pip\u0026previous-version=0.13.6\u0026new-version=0.14.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/HARISHMARAN/Harry-s-F1-data/pull/99","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/HARISHMARAN%2FHarry-s-F1-data/issues/99","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/99/packages"}},{"old_version":"0.0.7","new_version":"0.14.6","update_type":"minor","path":"/openai-agents","pr_created_at":"2026-04-25T23:12:39.000Z","version_change":"0.0.7 → 0.14.6","issue":{"uuid":"4329474464","node_id":"PR_kwDORl2wQc7Vp9zt","number":27,"state":"closed","title":"Bump openai-agents from 0.0.7 to 0.14.6 in /openai-agents","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-02T23:12:48.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-25T23:12:39.000Z","updated_at":"2026-05-02T23:12:50.000Z","time_to_close":604809,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"openai-agents","old_version":"0.0.7","new_version":"0.14.6","repository_url":"https://github.com/openai/openai-agents-python"}],"path":"/openai-agents","ecosystem":"pip"},"body":"Bumps [openai-agents](https://github.com/openai/openai-agents-python) from 0.0.7 to 0.14.6.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-agents-python/releases\"\u003eopenai-agents's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: update examples and defaults to GPT-5.5 by \u003ca href=\"https://github.com/alfozan\"\u003e\u003ccode\u003e@​alfozan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3016\"\u003eopenai/openai-agents-python#3016\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: relax websockets upper bound from \u0026lt;16 to \u0026lt;17 by \u003ca href=\"https://github.com/mathisobadia\"\u003e\u003ccode\u003e@​mathisobadia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3013\"\u003eopenai/openai-agents-python#3013\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: harden uv dependency resolution by \u003ca href=\"https://github.com/mcgrew-oai\"\u003e\u003ccode\u003e@​mcgrew-oai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3014\"\u003eopenai/openai-agents-python#3014\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3021\"\u003eopenai/openai-agents-python#3021\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add MongoDB session documentation by \u003ca href=\"https://github.com/alexbevi\"\u003e\u003ccode\u003e@​alexbevi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3015\"\u003eopenai/openai-agents-python#3015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3023\"\u003eopenai/openai-agents-python#3023\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.14.6 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3022\"\u003eopenai/openai-agents-python#3022\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mcgrew-oai\"\u003e\u003ccode\u003e@​mcgrew-oai\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3014\"\u003eopenai/openai-agents-python#3014\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mathisobadia\"\u003e\u003ccode\u003e@​mathisobadia\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3013\"\u003eopenai/openai-agents-python#3013\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.14.5...v0.14.6\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.14.5...v0.14.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.14.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3001\"\u003e#3001\u003c/a\u003e add Modal sandbox idle timeout option by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3005\"\u003eopenai/openai-agents-python#3005\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3004\"\u003e#3004\u003c/a\u003e serve HITL resume tool outputs by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3006\"\u003eopenai/openai-agents-python#3006\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: backfill streamed terminal output by \u003ca href=\"https://github.com/ankitphogat\"\u003e\u003ccode\u003e@​ankitphogat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3000\"\u003eopenai/openai-agents-python#3000\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: clarify lazy skill source host paths by \u003ca href=\"https://github.com/alfozan\"\u003e\u003ccode\u003e@​alfozan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2998\"\u003eopenai/openai-agents-python#2998\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2999\"\u003eopenai/openai-agents-python#2999\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.14.5 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3007\"\u003eopenai/openai-agents-python#3007\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankitphogat\"\u003e\u003ccode\u003e@​ankitphogat\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/3000\"\u003eopenai/openai-agents-python#3000\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.14.4...v0.14.5\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.14.4...v0.14.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.14.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add BoxMount support by \u003ca href=\"https://github.com/alfozan\"\u003e\u003ccode\u003e@​alfozan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2988\"\u003eopenai/openai-agents-python#2988\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: ignore relative snapshot base overrides by \u003ca href=\"https://github.com/matthewflint\"\u003e\u003ccode\u003e@​matthewflint\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2976\"\u003eopenai/openai-agents-python#2976\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: share sandbox ephemeral mount lifecycle by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2986\"\u003eopenai/openai-agents-python#2986\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: share sandbox tar exclude arg generation by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2987\"\u003eopenai/openai-agents-python#2987\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: extract sandbox session helper operations by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2985\"\u003eopenai/openai-agents-python#2985\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: remove duplicate word in voice interruptions section by \u003ca href=\"https://github.com/abhicris\"\u003e\u003ccode\u003e@​abhicris\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2981\"\u003eopenai/openai-agents-python#2981\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/openai/openai-agents-python/blob/main/docs/release.md\"\u003eopenai-agents's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease process/changelog\u003c/h1\u003e\n\u003cp\u003eThe project follows a slightly modified version of semantic versioning using the form \u003ccode\u003e0.Y.Z\u003c/code\u003e. The leading \u003ccode\u003e0\u003c/code\u003e indicates the SDK is still evolving rapidly. Increment the components as follows:\u003c/p\u003e\n\u003ch2\u003eMinor (\u003ccode\u003eY\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increase minor versions \u003ccode\u003eY\u003c/code\u003e for \u003cstrong\u003ebreaking changes\u003c/strong\u003e to any public interfaces that are not marked as beta. For example, going from \u003ccode\u003e0.0.x\u003c/code\u003e to \u003ccode\u003e0.1.x\u003c/code\u003e might include breaking changes.\u003c/p\u003e\n\u003cp\u003eIf you don't want breaking changes, we recommend pinning to \u003ccode\u003e0.0.x\u003c/code\u003e versions in your project.\u003c/p\u003e\n\u003ch2\u003ePatch (\u003ccode\u003eZ\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increment \u003ccode\u003eZ\u003c/code\u003e for non-breaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes\u003c/li\u003e\n\u003cli\u003eNew features\u003c/li\u003e\n\u003cli\u003eChanges to private interfaces\u003c/li\u003e\n\u003cli\u003eUpdates to beta features\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBreaking change changelog\u003c/h2\u003e\n\u003ch3\u003e0.14.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change, but it adds a major new beta feature area: Sandbox Agents, plus the runtime, backend, and documentation support needed to use them across local, containerized, and hosted environments.\u003c/p\u003e\n\u003cp\u003eHighlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a new beta sandbox runtime surface centered on \u003ccode\u003eSandboxAgent\u003c/code\u003e, \u003ccode\u003eManifest\u003c/code\u003e, and \u003ccode\u003eSandboxRunConfig\u003c/code\u003e, letting agents work inside persistent isolated workspaces with files, directories, Git repos, mounts, snapshots, and resume support.\u003c/li\u003e\n\u003cli\u003eAdded sandbox execution backends for local and containerized development via \u003ccode\u003eUnixLocalSandboxClient\u003c/code\u003e and \u003ccode\u003eDockerSandboxClient\u003c/code\u003e, plus hosted provider integrations for Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop, and Vercel through optional extras.\u003c/li\u003e\n\u003cli\u003eAdded sandbox memory support so future runs can reuse lessons from prior runs, with progressive disclosure, multi-turn grouping, configurable isolation boundaries, and persisted-memory examples including S3-backed workflows.\u003c/li\u003e\n\u003cli\u003eAdded a broader workspace and resume model, including local and synthetic workspace entries, remote storage mounts for S3/R2/GCS/Azure Blob Storage/S3 Files, portable snapshots, and resume flows via \u003ccode\u003eRunState\u003c/code\u003e, \u003ccode\u003eSandboxSessionState\u003c/code\u003e, or saved snapshots.\u003c/li\u003e\n\u003cli\u003eAdded substantial sandbox examples and tutorials under \u003ccode\u003eexamples/sandbox/\u003c/code\u003e, covering coding tasks with skills, handoffs, memory, provider-specific setups, and end-to-end workflows such as code review, dataroom QA, and website cloning.\u003c/li\u003e\n\u003cli\u003eExtended the core runtime and tracing stack with sandbox-aware session preparation, capability binding, state serialization, unified tracing, prompt cache key defaults, and safer sensitive MCP output redaction.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e0.13.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change, but it includes a notable Realtime default update plus new MCP capabilities and runtime stability fixes.\u003c/p\u003e\n\u003cp\u003eHighlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe default websocket Realtime model is now \u003ccode\u003egpt-realtime-1.5\u003c/code\u003e, so new Realtime agent setups use the newer model without extra configuration.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMCPServer\u003c/code\u003e now exposes \u003ccode\u003elist_resources()\u003c/code\u003e, \u003ccode\u003elist_resource_templates()\u003c/code\u003e, and \u003ccode\u003eread_resource()\u003c/code\u003e, and \u003ccode\u003eMCPServerStreamableHttp\u003c/code\u003e now exposes \u003ccode\u003esession_id\u003c/code\u003e so streamable HTTP sessions can be resumed across reconnects or stateless workers.\u003c/li\u003e\n\u003cli\u003eChat Completions integrations can now opt into reasoning-content replay via \u003ccode\u003eshould_replay_reasoning_content\u003c/code\u003e, improving provider-specific reasoning/tool-call continuity for adapters such as LiteLLM/DeepSeek.\u003c/li\u003e\n\u003cli\u003eFixed several runtime and session edge cases, including concurrent first writes in \u003ccode\u003eSQLAlchemySession\u003c/code\u003e, compaction requests with orphaned assistant message IDs after reasoning stripping, \u003ccode\u003eremove_all_tools()\u003c/code\u003e leaving MCP/reasoning items behind, and a race in the function-tool batch executor.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e0.12.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change. Check \u003ca href=\"https://github.com/openai/openai-agents-python/releases/tag/v0.12.0\"\u003ethe release notes\u003c/a\u003e for major feature additions.\u003c/p\u003e\n\u003ch3\u003e0.11.0\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/9a207b6938699d87d2d17dd67dd628ca3af0232d\"\u003e\u003ccode\u003e9a207b6\u003c/code\u003e\u003c/a\u003e Release 0.14.6 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3022\"\u003e#3022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/9af6ad111cab2defd5ef76404d575c35067af8de\"\u003e\u003ccode\u003e9af6ad1\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3023\"\u003e#3023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/1821bf8094a21fee53c4e48f9346943c4a49dc5d\"\u003e\u003ccode\u003e1821bf8\u003c/code\u003e\u003c/a\u003e docs: add MongoDB session documentation (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3015\"\u003e#3015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/071e2b68f6b73bc96badfdee92e862cd41427eac\"\u003e\u003ccode\u003e071e2b6\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3021\"\u003e#3021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/c88f339d32f2c1fc22ab5c71b0c86328379b6881\"\u003e\u003ccode\u003ec88f339\u003c/code\u003e\u003c/a\u003e Update examples and defaults to GPT-5.5 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3016\"\u003e#3016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/5ffc1ecee444157447eca830275ff347adaa8c16\"\u003e\u003ccode\u003e5ffc1ec\u003c/code\u003e\u003c/a\u003e relax websockets upper bound from \u0026lt;16 to \u0026lt;17 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3013\"\u003e#3013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/c2cb03146163e650518f9ed7d9a293352620881b\"\u003e\u003ccode\u003ec2cb031\u003c/code\u003e\u003c/a\u003e chore: harden uv dependency resolution (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3014\"\u003e#3014\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/fe3a5e6c271839107be2e554f96438436787331c\"\u003e\u003ccode\u003efe3a5e6\u003c/code\u003e\u003c/a\u003e Release 0.14.5 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3007\"\u003e#3007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/16e040929b76058e2776068eded0df40c4887445\"\u003e\u003ccode\u003e16e0409\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3004\"\u003e#3004\u003c/a\u003e serve HITL resume tool outputs (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3006\"\u003e#3006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/5be06a16a9aba93adff8539cde4a7a9519998a51\"\u003e\u003ccode\u003e5be06a1\u003c/code\u003e\u003c/a\u003e feat: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3001\"\u003e#3001\u003c/a\u003e add Modal sandbox idle timeout option (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/3005\"\u003e#3005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.0.7...v0.14.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=openai-agents\u0026package-manager=pip\u0026previous-version=0.0.7\u0026new-version=0.14.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/delega-dev/delega-examples/pull/27","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/delega-dev%2Fdelega-examples/issues/27","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/27/packages"}},{"old_version":"0.13.6","new_version":"0.14.1","update_type":"minor","path":"/apps/orchestrator","pr_created_at":"2026-04-23T03:09:26.000Z","version_change":"0.13.6 → 0.14.1","issue":{"uuid":"4313214957","node_id":"PR_kwDOR7dI1c7U1b4j","number":199,"state":"closed","title":"chore(deps): bump openai-agents from 0.13.6 to 0.14.1 in /apps/orchestrator","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-27T03:15:29.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-23T03:09:26.000Z","updated_at":"2026-04-27T03:15:31.000Z","time_to_close":345963,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"openai-agents","old_version":"0.13.6","new_version":"0.14.1","repository_url":"https://github.com/openai/openai-agents-python"}],"path":"/apps/orchestrator","ecosystem":"pip"},"body":"Bumps [openai-agents](https://github.com/openai/openai-agents-python) from 0.13.6 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/openai/openai-agents-python/releases\"\u003eopenai-agents's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: sanitize OpenAI tracing export payloads by \u003ca href=\"https://github.com/alfozan\"\u003e\u003ccode\u003e@​alfozan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2896\"\u003eopenai/openai-agents-python#2896\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2873\"\u003e#2873\u003c/a\u003e preserve computer driver compatibility for modifier keys by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2877\"\u003eopenai/openai-agents-python#2877\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2151\"\u003e#2151\u003c/a\u003e shield server-managed handoffs from unsupported history rewrites by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2747\"\u003eopenai/openai-agents-python#2747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: stop streamed tool execution after known input guardrail tripwire by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2688\"\u003eopenai/openai-agents-python#2688\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2891\"\u003eopenai/openai-agents-python#2891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: align translated sandbox nav and refresh generated refs by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2892\"\u003eopenai/openai-agents-python#2892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: clarify ToolContext availability in function-tool lifecycle hooks by \u003ca href=\"https://github.com/HuxleyHu98\"\u003e\u003ccode\u003e@​HuxleyHu98\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2687\"\u003eopenai/openai-agents-python#2687\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2893\"\u003eopenai/openai-agents-python#2893\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add sandbox auto-label mapping by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2894\"\u003eopenai/openai-agents-python#2894\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.14.1 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2895\"\u003eopenai/openai-agents-python#2895\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HuxleyHu98\"\u003e\u003ccode\u003e@​HuxleyHu98\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2687\"\u003eopenai/openai-agents-python#2687\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alfozan\"\u003e\u003ccode\u003e@​alfozan\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2896\"\u003eopenai/openai-agents-python#2896\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.14.0...v0.14.1\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.14.0...v0.14.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.14.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eSandbox Agents\u003c/h3\u003e\n\u003cp\u003eThis release adds \u003cstrong\u003eSandbox Agents\u003c/strong\u003e, a beta SDK surface for running agents with a persistent, isolated workspace. Sandbox agents keep the normal \u003ccode\u003eAgent\u003c/code\u003e and \u003ccode\u003eRunner\u003c/code\u003e flow, but add workspace manifests, sandbox-native capabilities, sandbox clients, snapshots, and resume support so agents can work over real files, run commands, edit repositories, generate artifacts, and continue work across runs.\u003c/p\u003e\n\u003cp\u003eKey pieces:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSandboxAgent\u003c/code\u003e: an \u003ccode\u003eAgent\u003c/code\u003e with sandbox defaults such as \u003ccode\u003edefault_manifest\u003c/code\u003e, sandbox instructions, capabilities, and \u003ccode\u003erun_as\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eManifest\u003c/code\u003e: a fresh-workspace contract for files, directories, local files, local directories, Git repos, environment, users, groups, and mounts.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSandboxRunConfig\u003c/code\u003e: per-run sandbox wiring for client creation, live session injection, serialized session resume, manifest overrides, snapshots, and materialization concurrency limits.\u003c/li\u003e\n\u003cli\u003eBuilt-in capabilities for shell access, filesystem editing and image inspection, skills, memory, and compaction.\u003c/li\u003e\n\u003cli\u003eWorkspace snapshots and serialized sandbox session state for reconnecting to existing work or seeding a fresh sandbox from saved contents.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSandbox clients and hosted providers\u003c/h3\u003e\n\u003cp\u003eSandbox agents now support local, containerized, and hosted execution backends:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eUnixLocalSandboxClient\u003c/code\u003e for fast local development.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eDockerSandboxClient\u003c/code\u003e for container isolation and image parity.\u003c/li\u003e\n\u003cli\u003eHosted sandbox clients for Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop, and Vercel through optional extras.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe release also adds provider-specific examples and mount strategies for common storage backends, including S3, Cloudflare R2, Google Cloud Storage, Azure Blob Storage, and S3 Files where supported by the selected backend.\u003c/p\u003e\n\u003ch3\u003eSandbox memory\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/openai/openai-agents-python/blob/main/docs/release.md\"\u003eopenai-agents's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease process/changelog\u003c/h1\u003e\n\u003cp\u003eThe project follows a slightly modified version of semantic versioning using the form \u003ccode\u003e0.Y.Z\u003c/code\u003e. The leading \u003ccode\u003e0\u003c/code\u003e indicates the SDK is still evolving rapidly. Increment the components as follows:\u003c/p\u003e\n\u003ch2\u003eMinor (\u003ccode\u003eY\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increase minor versions \u003ccode\u003eY\u003c/code\u003e for \u003cstrong\u003ebreaking changes\u003c/strong\u003e to any public interfaces that are not marked as beta. For example, going from \u003ccode\u003e0.0.x\u003c/code\u003e to \u003ccode\u003e0.1.x\u003c/code\u003e might include breaking changes.\u003c/p\u003e\n\u003cp\u003eIf you don't want breaking changes, we recommend pinning to \u003ccode\u003e0.0.x\u003c/code\u003e versions in your project.\u003c/p\u003e\n\u003ch2\u003ePatch (\u003ccode\u003eZ\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increment \u003ccode\u003eZ\u003c/code\u003e for non-breaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes\u003c/li\u003e\n\u003cli\u003eNew features\u003c/li\u003e\n\u003cli\u003eChanges to private interfaces\u003c/li\u003e\n\u003cli\u003eUpdates to beta features\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBreaking change changelog\u003c/h2\u003e\n\u003ch3\u003e0.14.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change, but it adds a major new beta feature area: Sandbox Agents, plus the runtime, backend, and documentation support needed to use them across local, containerized, and hosted environments.\u003c/p\u003e\n\u003cp\u003eHighlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a new beta sandbox runtime surface centered on \u003ccode\u003eSandboxAgent\u003c/code\u003e, \u003ccode\u003eManifest\u003c/code\u003e, and \u003ccode\u003eSandboxRunConfig\u003c/code\u003e, letting agents work inside persistent isolated workspaces with files, directories, Git repos, mounts, snapshots, and resume support.\u003c/li\u003e\n\u003cli\u003eAdded sandbox execution backends for local and containerized development via \u003ccode\u003eUnixLocalSandboxClient\u003c/code\u003e and \u003ccode\u003eDockerSandboxClient\u003c/code\u003e, plus hosted provider integrations for Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop, and Vercel through optional extras.\u003c/li\u003e\n\u003cli\u003eAdded sandbox memory support so future runs can reuse lessons from prior runs, with progressive disclosure, multi-turn grouping, configurable isolation boundaries, and persisted-memory examples including S3-backed workflows.\u003c/li\u003e\n\u003cli\u003eAdded a broader workspace and resume model, including local and synthetic workspace entries, remote storage mounts for S3/R2/GCS/Azure Blob Storage/S3 Files, portable snapshots, and resume flows via \u003ccode\u003eRunState\u003c/code\u003e, \u003ccode\u003eSandboxSessionState\u003c/code\u003e, or saved snapshots.\u003c/li\u003e\n\u003cli\u003eAdded substantial sandbox examples and tutorials under \u003ccode\u003eexamples/sandbox/\u003c/code\u003e, covering coding tasks with skills, handoffs, memory, provider-specific setups, and end-to-end workflows such as code review, dataroom QA, and website cloning.\u003c/li\u003e\n\u003cli\u003eExtended the core runtime and tracing stack with sandbox-aware session preparation, capability binding, state serialization, unified tracing, prompt cache key defaults, and safer sensitive MCP output redaction.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e0.13.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change, but it includes a notable Realtime default update plus new MCP capabilities and runtime stability fixes.\u003c/p\u003e\n\u003cp\u003eHighlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe default websocket Realtime model is now \u003ccode\u003egpt-realtime-1.5\u003c/code\u003e, so new Realtime agent setups use the newer model without extra configuration.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMCPServer\u003c/code\u003e now exposes \u003ccode\u003elist_resources()\u003c/code\u003e, \u003ccode\u003elist_resource_templates()\u003c/code\u003e, and \u003ccode\u003eread_resource()\u003c/code\u003e, and \u003ccode\u003eMCPServerStreamableHttp\u003c/code\u003e now exposes \u003ccode\u003esession_id\u003c/code\u003e so streamable HTTP sessions can be resumed across reconnects or stateless workers.\u003c/li\u003e\n\u003cli\u003eChat Completions integrations can now opt into reasoning-content replay via \u003ccode\u003eshould_replay_reasoning_content\u003c/code\u003e, improving provider-specific reasoning/tool-call continuity for adapters such as LiteLLM/DeepSeek.\u003c/li\u003e\n\u003cli\u003eFixed several runtime and session edge cases, including concurrent first writes in \u003ccode\u003eSQLAlchemySession\u003c/code\u003e, compaction requests with orphaned assistant message IDs after reasoning stripping, \u003ccode\u003eremove_all_tools()\u003c/code\u003e leaving MCP/reasoning items behind, and a race in the function-tool batch executor.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e0.12.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change. Check \u003ca href=\"https://github.com/openai/openai-agents-python/releases/tag/v0.12.0\"\u003ethe release notes\u003c/a\u003e for major feature additions.\u003c/p\u003e\n\u003ch3\u003e0.11.0\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/3dffa4ba9351ee38b964af43b50a2fe70f1a89f6\"\u003e\u003ccode\u003e3dffa4b\u003c/code\u003e\u003c/a\u003e Release 0.14.1 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2895\"\u003e#2895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/2cef83b4777524bf7d44a0afee0d472adfb50e9a\"\u003e\u003ccode\u003e2cef83b\u003c/code\u003e\u003c/a\u003e fix: sanitize OpenAI tracing export payloads (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2896\"\u003e#2896\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/0a100fb1e409ba034854aafd464a825a86df8a38\"\u003e\u003ccode\u003e0a100fb\u003c/code\u003e\u003c/a\u003e ci: add sandbox auto-label mapping (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2894\"\u003e#2894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/fa049a26fb1c6542653ab886965779d5fb31773b\"\u003e\u003ccode\u003efa049a2\u003c/code\u003e\u003c/a\u003e fix: stop streamed tool execution after known input guardrail tripwire (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2688\"\u003e#2688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/901348023d9e26ac4e5565e0d86367d3ac40fed5\"\u003e\u003ccode\u003e9013480\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2873\"\u003e#2873\u003c/a\u003e preserve computer driver compatibility for modifier keys (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2877\"\u003e#2877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/83b38333826b9cd34abd767703e0a1b9eea46105\"\u003e\u003ccode\u003e83b3833\u003c/code\u003e\u003c/a\u003e fix \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2151\"\u003e#2151\u003c/a\u003e shield server-managed handoffs from unsupported history rewrites (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/5d05d5d5d27067692fc1114b56c9dd849ce08015\"\u003e\u003ccode\u003e5d05d5d\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2893\"\u003e#2893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/bd871cddb2cb76e5707677c0e385d094c9a1a7a6\"\u003e\u003ccode\u003ebd871cd\u003c/code\u003e\u003c/a\u003e docs: clarify ToolContext availability in function-tool lifecycle hooks (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2687\"\u003e#2687\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/489221155b2360b8f16b5fca394f59bc63ac355c\"\u003e\u003ccode\u003e4892211\u003c/code\u003e\u003c/a\u003e docs: align translated sandbox nav and refresh generated refs (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2892\"\u003e#2892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/e3366670ad0cb88cd778a51ad91a45e87e6d8227\"\u003e\u003ccode\u003ee336667\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2891\"\u003e#2891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.13.6...v0.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=openai-agents\u0026package-manager=pip\u0026previous-version=0.13.6\u0026new-version=0.14.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/xiaojiou176-open/OpenVibeCoding/pull/199","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaojiou176-open%2FOpenVibeCoding/issues/199","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/199/packages"}},{"old_version":"0.13.6","new_version":"0.14.2","update_type":"minor","path":"/python","pr_created_at":"2026-04-20T12:53:12.000Z","version_change":"0.13.6 → 0.14.2","issue":{"uuid":"4295793419","node_id":"PR_kwDOJpb2687T89KH","number":2740,"state":"closed","title":"chore(deps): bump the py-minor-and-patch group in /python with 18 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-20T23:19:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-20T12:53:12.000Z","updated_at":"2026-04-20T23:19:51.000Z","time_to_close":37598,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"py-minor-and-patch","update_count":18,"packages":[{"name":"pydantic","old_version":"2.12.5","new_version":"2.13.2","repository_url":"https://github.com/pydantic/pydantic"},{"name":"packaging","old_version":"26.0","new_version":"26.1","repository_url":"https://github.com/pypa/packaging"},{"name":"opentelemetry-sdk","old_version":"1.38.0","new_version":"1.41.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-api","old_version":"1.38.0","new_version":"1.41.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"opentelemetry-exporter-otlp-proto-http","old_version":"1.38.0","new_version":"1.41.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"openai-agents","old_version":"0.13.6","new_version":"0.14.2","repository_url":"https://github.com/openai/openai-agents-python"},{"name":"claude-agent-sdk","old_version":"0.1.58","new_version":"0.1.63","repository_url":"https://github.com/anthropics/claude-agent-sdk-python"},{"name":"google-adk","old_version":"1.29.0","new_version":"1.14.1","repository_url":"https://github.com/google/adk-python"},{"name":"mypy","old_version":"1.20.0","new_version":"1.20.1","repository_url":"https://github.com/python/mypy"},{"name":"ruff","old_version":"0.15.10","new_version":"0.15.11","repository_url":"https://github.com/astral-sh/ruff"},{"name":"fastapi","old_version":"0.135.3","new_version":"0.136.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"langchain-core","old_version":"1.2.28","new_version":"1.3.0","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langchain-openai","old_version":"1.1.12","new_version":"1.1.14","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langchain-anthropic","old_version":"1.4.0","new_version":"1.4.1","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"google-genai","old_version":"1.72.0","new_version":"1.73.1","repository_url":"https://github.com/googleapis/python-genai"},{"name":"ty","old_version":"0.0.29","new_version":"0.0.31","repository_url":"https://github.com/astral-sh/ty"},{"name":"openai","old_version":"2.31.0","new_version":"2.32.0","repository_url":"https://github.com/openai/openai-python"},{"name":"anthropic","old_version":"0.87.0","new_version":"0.96.0","repository_url":"https://github.com/anthropics/anthropic-sdk-python"}],"path":"/python","ecosystem":"pip"},"body":"Bumps the py-minor-and-patch group in /python with 18 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [pydantic](https://github.com/pydantic/pydantic) | `2.12.5` | `2.13.2` |\n| [packaging](https://github.com/pypa/packaging) | `26.0` | `26.1` |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.41.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.41.0` |\n| [opentelemetry-exporter-otlp-proto-http](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.41.0` |\n| [openai-agents](https://github.com/openai/openai-agents-python) | `0.13.6` | `0.14.2` |\n| [claude-agent-sdk](https://github.com/anthropics/claude-agent-sdk-python) | `0.1.58` | `0.1.63` |\n| [google-adk](https://github.com/google/adk-python) | `1.29.0` | `1.14.1` |\n| [mypy](https://github.com/python/mypy) | `1.20.0` | `1.20.1` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.10` | `0.15.11` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.135.3` | `0.136.0` |\n| [langchain-core](https://github.com/langchain-ai/langchain) | `1.2.28` | `1.3.0` |\n| [langchain-openai](https://github.com/langchain-ai/langchain) | `1.1.12` | `1.1.14` |\n| [langchain-anthropic](https://github.com/langchain-ai/langchain) | `1.4.0` | `1.4.1` |\n| [google-genai](https://github.com/googleapis/python-genai) | `1.72.0` | `1.73.1` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.29` | `0.0.31` |\n| [openai](https://github.com/openai/openai-python) | `2.31.0` | `2.32.0` |\n| [anthropic](https://github.com/anthropics/anthropic-sdk-python) | `0.87.0` | `0.96.0` |\n\nUpdates `pydantic` from 2.12.5 to 2.13.2\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.2 2026-04-17\u003c/h2\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13084\"\u003e#13084\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.1...v2.13.2\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.1...v2.13.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.1 2026-04-15\u003c/h2\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13079\"\u003e#13079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.1\"\u003ehttps://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.0 2026-04-13\u003c/h2\u003e\n\u003ch2\u003ev2.13.0 (2026-04-13)\u003c/h2\u003e\n\u003cp\u003eThe highlights of the v2.13 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-13-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.13/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e) are also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release contains the updated \u003ccode\u003epydantic.v1\u003c/code\u003e namespace, matching version 1.10.26 which includes support for Python 3.14.\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eSee the beta releases for all changes sinces 2.12.\u003c/p\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd zizmor for GitHub Actions workflow linting by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13039\"\u003e#13039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate jiter to v0.14.0 to fix a segmentation fault on musl Linux by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13064\"\u003e#13064\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAllow default factories of private attributes to take validated model data by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13013\"\u003e#13013\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eWarn when serializing fixed length tuples with too few items by \u003ca href=\"https://github.com/arvindsaripalli\"\u003e\u003ccode\u003e@​arvindsaripalli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13016\"\u003e#13016\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eChange type of \u003ccode\u003eAny\u003c/code\u003e when synthesizing \u003ccode\u003e_build_sources\u003c/code\u003e for  \u003ccode\u003eBaseSettings.__init__()\u003c/code\u003e signature in the mypy plugin 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/13049\"\u003e#13049\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic/blob/v2.13.2/HISTORY.md\"\u003epydantic's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.2 (2026-04-17)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.2\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13084\"\u003e#13084\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.1 (2026-04-15)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.1\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e by \u003ca href=\"https://github.com/davidhewitt\"\u003e\u003ccode\u003e@​davidhewitt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13079\"\u003e#13079\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.13.0 (2026-04-13)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/pydantic/pydantic/releases/tag/v2.13.0\"\u003eGitHub release\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe highlights of the v2.13 release are available in the \u003ca href=\"https://pydantic.dev/articles/pydantic-v2-13-release\"\u003eblog post\u003c/a\u003e.\nSeveral minor changes (considered non-breaking changes according to our \u003ca href=\"https://pydantic.dev/docs/validation/2.13/get-started/version-policy/#pydantic-v2\"\u003eversioning policy\u003c/a\u003e)\nare also included in this release. Make sure to look into them before upgrading.\u003c/p\u003e\n\u003cp\u003eThis release contains the updated \u003ccode\u003epydantic.v1\u003c/code\u003e namespace, matching version 1.10.26 which includes support for Python 3.14.\u003c/p\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cp\u003eSee the beta releases for all changes sinces 2.12.\u003c/p\u003e\n\u003ch4\u003eNew Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAllow default factories of private attributes to take validated model data by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13013\"\u003e#13013\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eChanges\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eWarn when serializing fixed length tuples with too few items by \u003ca href=\"https://github.com/arvindsaripalli\"\u003e\u003ccode\u003e@​arvindsaripalli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13016\"\u003e#13016\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eChange type of \u003ccode\u003eAny\u003c/code\u003e when synthesizing \u003ccode\u003e_build_sources\u003c/code\u003e for  \u003ccode\u003eBaseSettings.__init__()\u003c/code\u003e signature in the mypy plugin 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/13049\"\u003e#13049\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix model equality when using runtime \u003ccode\u003eextra\u003c/code\u003e configuration 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/13062\"\u003e#13062\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003ePackaging\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd zizmor for GitHub Actions workflow linting by \u003ca href=\"https://github.com/Viicos\"\u003e\u003ccode\u003e@​Viicos\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic/pull/13039\"\u003e#13039\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/ca3ddd1149bd3b14273922a29da174804496a055\"\u003e\u003ccode\u003eca3ddd1\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/000e823a3ab7545b0c6064fde34effdcd02044ab\"\u003e\u003ccode\u003e000e823\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eValidationInfo.field_name\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/d45d8be3ffb6dfc6d0c64da6980140c91ff841fb\"\u003e\u003ccode\u003ed45d8be\u003c/code\u003e\u003c/a\u003e Prepare release 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/54aca609ce58e73dfe1c681d93432fbe3a4621da\"\u003e\u003ccode\u003e54aca60\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eValidationInfo.data\u003c/code\u003e missing with \u003ccode\u003emodel_validate_json()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/46bf4fa648af3a1fbf4603a37f210e9d9c618357\"\u003e\u003ccode\u003e46bf4fa\u003c/code\u003e\u003c/a\u003e Fix Pydantic release workflow (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13067\"\u003e#13067\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/1b359edab09c623464d23c6fd2503ae5ff276d43\"\u003e\u003ccode\u003e1b359ed\u003c/code\u003e\u003c/a\u003e Prepare release v2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13065\"\u003e#13065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/b1bf19445d8ac144a7a0e82674d2d87eebab6c18\"\u003e\u003ccode\u003eb1bf194\u003c/code\u003e\u003c/a\u003e Fix model equality when using runtime \u003ccode\u003eextra\u003c/code\u003e configuration (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13062\"\u003e#13062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/17a35e371bdff348c0690651d324c91fc7c9ff9e\"\u003e\u003ccode\u003e17a35e3\u003c/code\u003e\u003c/a\u003e Update jiter to v0.14.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13064\"\u003e#13064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/feea402b23fa23774669908c4e08a61ba1e4238e\"\u003e\u003ccode\u003efeea402\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003esimulation\u003c/code\u003e mode in Codspeed CI (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13063\"\u003e#13063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic/commit/671c9b0d4d3f9b2f1b95ca32ac85cb69e824e0bc\"\u003e\u003ccode\u003e671c9b0\u003c/code\u003e\u003c/a\u003e Add basic benchmarks for model equality (\u003ca href=\"https://redirect.github.com/pydantic/pydantic/issues/13061\"\u003e#13061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic/compare/v2.12.5...v2.13.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `packaging` from 26.0 to 26.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/packaging/releases\"\u003epackaging's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.1\u003c/h2\u003e\n\u003cp\u003eFeatures:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cdel\u003ePEP 783: add handling for Emscripten wheel tags by \u003ca href=\"https://github.com/hoodmane\"\u003e\u003ccode\u003e@​hoodmane\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/804\"\u003epypa/packaging#804\u003c/a\u003e\u003c/del\u003e (old name used in implementation, will be fixed in next release)\u003c/li\u003e\n\u003cli\u003ePEP 803: add handling for the \u003ccode\u003eabi3.abi3t\u003c/code\u003e free-threading tag by \u003ca href=\"https://github.com/ngoldbaum\"\u003e\u003ccode\u003e@​ngoldbaum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1099\"\u003epypa/packaging#1099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePEP 723: add \u003ccode\u003epackaging.dependency_groups\u003c/code\u003e module, based on the \u003ccode\u003edependency-groups\u003c/code\u003e package by \u003ca href=\"https://github.com/sirosen\"\u003e\u003ccode\u003e@​sirosen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1065\"\u003epypa/packaging#1065\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd the \u003ccode\u003epackaging.direct_url\u003c/code\u003e module by \u003ca href=\"https://github.com/sbidoul\"\u003e\u003ccode\u003e@​sbidoul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/944\"\u003epypa/packaging#944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd the \u003ccode\u003epackaging.errors\u003c/code\u003e module by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1071\"\u003epypa/packaging#1071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eSpecifierSet.is_unsatisfiable\u003c/code\u003e using ranges (new internals that will be expanded in future versions) by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1119\"\u003epypa/packaging#1119\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecreate_compatible_tags_selector\u003c/code\u003e to select compatible tags by \u003ca href=\"https://github.com/sbidoul\"\u003e\u003ccode\u003e@​sbidoul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1110\"\u003epypa/packaging#1110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003ekey\u003c/code\u003e argument to \u003ccode\u003eSpecifierSet.filter()\u003c/code\u003e by \u003ca href=\"https://github.com/frostming\"\u003e\u003ccode\u003e@​frostming\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1068\"\u003epypa/packaging#1068\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e\u0026amp;\u003c/code\u003e and \u003ccode\u003e|\u003c/code\u003e for \u003ccode\u003eMarker\u003c/code\u003e's by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1146\"\u003epypa/packaging#1146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNormalize \u003ccode\u003eVersion.__replace__\u003c/code\u003e and add \u003ccode\u003eVersion.from_parts\u003c/code\u003e by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1078\"\u003epypa/packaging#1078\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd an option to validate compressed tag set sort order in \u003ccode\u003eparse_wheel_filename\u003c/code\u003e by \u003ca href=\"https://github.com/r266-tech\"\u003e\u003ccode\u003e@​r266-tech\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1150\"\u003epypa/packaging#1150\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNarrow exclusion of pre-releases for \u003ccode\u003e\u0026lt;V.postN\u003c/code\u003e to match spec by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1140\"\u003epypa/packaging#1140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNarrow exclusion of post-releases for \u003ccode\u003e\u0026gt;V\u003c/code\u003e to match spec by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1141\"\u003epypa/packaging#1141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003eformat_full_version\u003c/code\u003e to \u003ccode\u003e_format_full_version\u003c/code\u003e to make it visibly private by \u003ca href=\"https://github.com/r266-tech\"\u003e\u003ccode\u003e@​r266-tech\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1125\"\u003epypa/packaging#1125\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestrict local version to ASCII by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1102\"\u003epypa/packaging#1102\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePylock (PEP 751) updates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd pylock \u003ccode\u003eselect\u003c/code\u003e function by \u003ca href=\"https://github.com/sbidoul\"\u003e\u003ccode\u003e@​sbidoul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1092\"\u003epypa/packaging#1092\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument pylock \u003ccode\u003eselect()\u003c/code\u003e method and \u003ccode\u003ePylockSelectError\u003c/code\u003e by \u003ca href=\"https://github.com/r266-tech\"\u003e\u003ccode\u003e@​r266-tech\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1153\"\u003epypa/packaging#1153\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003efilename\u003c/code\u003e property to \u003ccode\u003ePackageSdist\u003c/code\u003e and \u003ccode\u003ePackageWheel\u003c/code\u003e, more validation by \u003ca href=\"https://github.com/sbidoul\"\u003e\u003ccode\u003e@​sbidoul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1095\"\u003epypa/packaging#1095\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGive preference to path over url by \u003ca href=\"https://github.com/sbidoul\"\u003e\u003ccode\u003e@​sbidoul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1128\"\u003epypa/packaging#1128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eValidate name/version consistency in file names by \u003ca href=\"https://github.com/sbidoul\"\u003e\u003ccode\u003e@​sbidoul\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1114\"\u003epypa/packaging#1114\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003e\u0026gt;\u003c/code\u003e comparison for versions with dev+local segments by \u003ca href=\"https://github.com/veeceey\"\u003e\u003ccode\u003e@​veeceey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1097\"\u003epypa/packaging#1097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix incorrect self-comparison for \u003ccode\u003eInfinityType\u003c/code\u003e and \u003ccode\u003eNegativeInfinityType\u003c/code\u003e by \u003ca href=\"https://github.com/bysiber\"\u003e\u003ccode\u003e@​bysiber\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1093\"\u003epypa/packaging#1093\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCanonicalize when deduplicating specifiers in \u003ccode\u003eSpecifierSet\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1109\"\u003epypa/packaging#1109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix charset error message formatting by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1121\"\u003epypa/packaging#1121\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle the \u003ccode\u003ekey\u003c/code\u003e parameter in \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e when specifiers are empty and prerelease is \u003ccode\u003eFalse\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1096\"\u003epypa/packaging#1096\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStandardize inner components of \u003ccode\u003erepr\u003c/code\u003e output by \u003ca href=\"https://github.com/henryiii\"\u003e\u003ccode\u003e@​henryiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1090\"\u003epypa/packaging#1090\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSpecifier\u003c/code\u003e's \u003ccode\u003e===\u003c/code\u003e uses original string, not normalized, when available by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1124\"\u003epypa/packaging#1124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropagate int-max-str-digits \u003ccode\u003eValueError\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1155\"\u003epypa/packaging#1155\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd fast path for parsing simple versions (digits and dots only) by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1082\"\u003epypa/packaging#1082\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd fast path for \u003ccode\u003eVersion\u003c/code\u003e to \u003ccode\u003eVersion\u003c/code\u003e comparison by skipping \u003ccode\u003e_key\u003c/code\u003e property by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1083\"\u003epypa/packaging#1083\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCache \u003ccode\u003eVersion\u003c/code\u003e hash value in dedicated slot by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1118\"\u003epypa/packaging#1118\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOverhaul \u003ccode\u003e_cmpkey\u003c/code\u003e to remove use of custom objects by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1116\"\u003epypa/packaging#1116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip \u003ccode\u003e__replace__\u003c/code\u003e in Specifier comparison if not needed by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1081\"\u003epypa/packaging#1081\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSpecifierSet\u003c/code\u003e use \u003ccode\u003etuple\u003c/code\u003e instead of \u003ccode\u003efrozenset\u003c/code\u003e for \u003ccode\u003e_specs\u003c/code\u003e by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1108\"\u003epypa/packaging#1108\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpeed up complex \u003ccode\u003eSpecifierSet\u003c/code\u003e filtering by implementing cost-based ordering by \u003ca href=\"https://github.com/notatallshaw\"\u003e\u003ccode\u003e@​notatallshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pypa/packaging/pull/1105\"\u003epypa/packaging#1105\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/packaging/blob/main/CHANGELOG.rst\"\u003epackaging's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e26.1 - 2026-04-14\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nFeatures:\n\u003cul\u003e\n\u003cli\u003ePEP 783: add handling for Emscripten wheel tags in (:pull:\u003ccode\u003e804\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ePEP 803: add handling for the \u003ccode\u003eabi3.abi3t\u003c/code\u003e free-threading tag in (:pull:\u003ccode\u003e1099\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ePEP 723: add \u003ccode\u003epackaging.dependency_groups\u003c/code\u003e module, based on the \u003ccode\u003edependency-groups\u003c/code\u003e package in (:pull:\u003ccode\u003e1065\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd the \u003ccode\u003epackaging.direct_url\u003c/code\u003e module in (:pull:\u003ccode\u003e944\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd the \u003ccode\u003epackaging.errors\u003c/code\u003e module in (:pull:\u003ccode\u003e1071\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eSpecifierSet.is_unsatisfiable\u003c/code\u003e using ranges (new internals that will be expanded in future versions) in (:pull:\u003ccode\u003e1119\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecreate_compatible_tags_selector\u003c/code\u003e to select compatible tags in (:pull:\u003ccode\u003e1110\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003ekey\u003c/code\u003e argument to \u003ccode\u003eSpecifierSet.filter()\u003c/code\u003e in (:pull:\u003ccode\u003e1068\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e\u0026amp;amp;\u003c/code\u003e and \u003ccode\u003e|\u003c/code\u003e for \u003ccode\u003eMarker\u003c/code\u003e's in (:pull:\u003ccode\u003e1146\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eNormalize \u003ccode\u003eVersion.__replace__\u003c/code\u003e and add \u003ccode\u003eVersion.from_parts\u003c/code\u003e in (:pull:\u003ccode\u003e1078\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd an option to validate compressed tag set sort order in \u003ccode\u003eparse_wheel_filename\u003c/code\u003e in (:pull:\u003ccode\u003e1150\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBehavior adaptations:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNarrow exclusion of pre-releases for \u003ccode\u003e\u0026amp;lt;V.postN\u003c/code\u003e to match spec in (:pull:\u003ccode\u003e1140\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eNarrow exclusion of post-releases for \u003ccode\u003e\u0026amp;gt;V\u003c/code\u003e to match spec in (:pull:\u003ccode\u003e1141\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003eformat_full_version\u003c/code\u003e to \u003ccode\u003e_format_full_version\u003c/code\u003e to make it visibly private in (:pull:\u003ccode\u003e1125\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict local version to ASCII in (:pull:\u003ccode\u003e1102\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePylock (PEP 751) updates:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd pylock \u003ccode\u003eselect\u003c/code\u003e function in (:pull:\u003ccode\u003e1092\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDocument pylock \u003ccode\u003eselect()\u003c/code\u003e method and \u003ccode\u003ePylockSelectError\u003c/code\u003e in (:pull:\u003ccode\u003e1153\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003efilename\u003c/code\u003e property to \u003ccode\u003ePackageSdist\u003c/code\u003e and \u003ccode\u003ePackageWheel\u003c/code\u003e, more validation in (:pull:\u003ccode\u003e1095\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eGive preference to path over url in (:pull:\u003ccode\u003e1128\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eValidate name/version consistency in file names in (:pull:\u003ccode\u003e1114\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003e\u0026amp;gt;\u003c/code\u003e comparison for versions with dev+local segments in (:pull:\u003ccode\u003e1097\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix incorrect self-comparison for \u003ccode\u003eInfinityType\u003c/code\u003e and \u003ccode\u003eNegativeInfinityType\u003c/code\u003e in (:pull:\u003ccode\u003e1093\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalize when deduplicating specifiers in \u003ccode\u003eSpecifierSet\u003c/code\u003e in (:pull:\u003ccode\u003e1109\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix charset error message formatting in (:pull:\u003ccode\u003e1121\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eHandle the \u003ccode\u003ekey\u003c/code\u003e parameter in \u003ccode\u003eSpecifierSet.filter\u003c/code\u003e when specifiers are empty and prerelease is \u003ccode\u003eFalse\u003c/code\u003e in (:pull:\u003ccode\u003e1096\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eStandardize inner components of \u003ccode\u003erepr\u003c/code\u003e output in (:pull:\u003ccode\u003e1090\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSpecifier\u003c/code\u003e's \u003ccode\u003e===\u003c/code\u003e uses original string, not normalized, when available in (:pull:\u003ccode\u003e1124\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ePropagate int-max-str-digits \u003ccode\u003eValueError\u003c/code\u003e in (:pull:\u003ccode\u003e1155\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePerformance:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd fast path for parsing simple versions (digits and dots only) in (:pull:\u003ccode\u003e1082\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd fast path for \u003ccode\u003eVersion\u003c/code\u003e to \u003ccode\u003eVersion\u003c/code\u003e comparison by skipping \u003ccode\u003e_key\u003c/code\u003e property in (:pull:\u003ccode\u003e1083\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eCache \u003ccode\u003eVersion\u003c/code\u003e hash value in dedicated slot in (:pull:\u003ccode\u003e1118\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eOverhaul \u003ccode\u003e_cmpkey\u003c/code\u003e to remove use of custom objects in (:pull:\u003ccode\u003e1116\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSkip \u003ccode\u003e__replace__\u003c/code\u003e in Specifier comparison if not needed in (:pull:\u003ccode\u003e1081\u003c/code\u003e)\u003cbr /\u003e\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/c1a88a3e035e8bfe47dbc957f4a2493e8a7b4f3c\"\u003e\u003ccode\u003ec1a88a3\u003c/code\u003e\u003c/a\u003e Bump for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/702c25ecc297054f9597acda987a75dd6833acf5\"\u003e\u003ccode\u003e702c25e\u003c/code\u003e\u003c/a\u003e docs: update changelog for 26.1 (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1156\"\u003e#1156\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/3f4f5d46808f51709aba8341d4121f20752b3235\"\u003e\u003ccode\u003e3f4f5d4\u003c/code\u003e\u003c/a\u003e Implement \u003ccode\u003eis_unsatisfiable\u003c/code\u003e on \u003ccode\u003eSpecifierSet\u003c/code\u003e using ranges (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1119\"\u003e#1119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/06c6555f44f0f7b84459c876375c5b1d52ee7fef\"\u003e\u003ccode\u003e06c6555\u003c/code\u003e\u003c/a\u003e Propagate int-max-str-digits ValueError (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1155\"\u003e#1155\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/905c90c1eb8c77dede11899194ca4b0f5eaf188d\"\u003e\u003ccode\u003e905c90c\u003c/code\u003e\u003c/a\u003e feat: option to validate compressed tag set sort order in `parse_wheel_filena...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/af0026cff97a8f28d165d6ac4afb58b2cdc8ffc5\"\u003e\u003ccode\u003eaf0026c\u003c/code\u003e\u003c/a\u003e docs(pylock): document select() method and PylockSelectError (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1153\"\u003e#1153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/668da8662a112036e4850b68980790cb2d10dae9\"\u003e\u003ccode\u003e668da86\u003c/code\u003e\u003c/a\u003e Rename format_full_version to _format_full_version to make it visibly private...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/f294d529e2634798a98fd9cee6708307a5c1792c\"\u003e\u003ccode\u003ef294d52\u003c/code\u003e\u003c/a\u003e tests: do not reload the tags module (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1152\"\u003e#1152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/2c6c7dfa2d406e44b91f3f8d26eeed72437c9435\"\u003e\u003ccode\u003e2c6c7df\u003c/code\u003e\u003c/a\u003e feat: add handling for Emscripten wheels tags per PEP 783 (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/804\"\u003e#804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/packaging/commit/6762eea4de40da02c119d02cc77c907c6b446b86\"\u003e\u003ccode\u003e6762eea\u003c/code\u003e\u003c/a\u003e docs(markers): document \u0026amp; and | operators for combining Marker objects (\u003ca href=\"https://redirect.github.com/pypa/packaging/issues/1151\"\u003e#1151\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/packaging/compare/26.0...26.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-sdk` from 1.38.0 to 1.41.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.41.0/0.62b0 (2026-04-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ehost\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].host\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5002\"\u003e#5002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003econtainer\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].container\u003c/code\u003e, using entry point loading of the \u003ccode\u003eopentelemetry-resource-detector-containerid\u003c/code\u003e contrib package\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5004\"\u003e#5004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_tracer_provider\u003c/code\u003e/\u003ccode\u003econfigure_tracer_provider\u003c/code\u003e to declarative file configuration, enabling TracerProvider instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4985\"\u003e#4985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnabled the flake8-tidy-import plugins rules for the ruff linter. These rules throw warnings for relative imports in the modules.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5019\"\u003e#5019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Fix \u003ccode\u003eAttributeError\u003c/code\u003e in \u003ccode\u003eExplicitBucketHistogramAggregation\u003c/code\u003e when applied to non-Histogram instruments without explicit boundaries\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5034\"\u003e#5034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eBatchLogRecordProcessor\u003c/code\u003e default \u003ccode\u003eschedule_delay_millis\u003c/code\u003e from 5000ms to 1000ms to comply with the OTel specification. Note: logs may be exported 5x more frequently by default (e.g. for users who don't explicitly set the \u003ccode\u003eOTEL_BLRP_SCHEDULE_DELAY\u003c/code\u003e env var).\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4998\"\u003e#4998\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eprocess\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].process\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5001\"\u003e#5001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add shared \u003ccode\u003e_parse_headers\u003c/code\u003e helper for declarative config OTLP exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5021\"\u003e#5021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: Replace a broad exception in attribute cleaning tests to satisfy pylint in the \u003ccode\u003elint-opentelemetry-api\u003c/code\u003e CI job\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_meter_provider\u003c/code\u003e/\u003ccode\u003econfigure_meter_provider\u003c/code\u003e to declarative file configuration, enabling MeterProvider instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4987\"\u003e#4987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_resource\u003c/code\u003e and \u003ccode\u003ecreate_propagator\u003c/code\u003e/\u003ccode\u003econfigure_propagator\u003c/code\u003e to declarative file configuration, enabling Resource and propagator instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4979\"\u003e#4979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Map Python \u003ccode\u003eCRITICAL\u003c/code\u003e log level to OTel \u003ccode\u003eFATAL\u003c/code\u003e severity text per the specification\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4984\"\u003e#4984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add file configuration support with YAML/JSON loading, environment variable substitution, and schema validation against the vendored OTel config JSON schema\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4898\"\u003e#4898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix intermittent CI failures in \u003ccode\u003egetting-started\u003c/code\u003e and \u003ccode\u003etracecontext\u003c/code\u003e jobs caused by GitHub git CDN SHA propagation lag by installing contrib packages from the already-checked-out local copy instead of a second git clone\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4958\"\u003e#4958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix type annotations on \u003ccode\u003eMetricReader\u003c/code\u003e and related types\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4938/\"\u003e#4938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement log creation metric\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4935\"\u003e#4935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement metric reader metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4970\"\u003e#4970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement processor metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5012\"\u003e#5012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: upgrade vendored OTel configuration schema from v1.0.0-rc.3 to v1.0.0\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4965\"\u003e#4965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimprove check-links ci job\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4978\"\u003e#4978\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve some Pyright type errors in Span/ReadableSpan and utility stubs\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4973\"\u003e#4973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: Fix metric name prefix\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4895\"\u003e#4895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add deepcopy support for \u003ccode\u003eBoundedAttributes\u003c/code\u003e and \u003ccode\u003eBoundedList\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4934\"\u003e#4934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-proto-json\u003c/code\u003e, \u003ccode\u003eopentelemetry-codegen-json\u003c/code\u003e: Implement custom protoc plugin to generate OTLP JSON class definitions\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4910\"\u003e#4910\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/open-telemetry/opentelemetry-python/commit/1a178fcc5c689516849ced80fb2533fe7db7a80f\"\u003e\u003ccode\u003e1a178fc\u003c/code\u003e\u003c/a\u003e [release/v1.41.x-0.62bx] Prepare release 1.41.0/0.62b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5064\"\u003e#5064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/37dea4bbdb1a3c83b96fc22c2f68a848b4989fb5\"\u003e\u003ccode\u003e37dea4b\u003c/code\u003e\u003c/a\u003e feat: add experimental logger configurator (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4980\"\u003e#4980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7c860ca40eb87c15fb608ce3598cfec4a5da2d1c\"\u003e\u003ccode\u003e7c860ca\u003c/code\u003e\u003c/a\u003e misc: update version for codegen-json and proto-json packages (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5061\"\u003e#5061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/b3d98b392fd1fa1a501e11ce8e126f2003edb895\"\u003e\u003ccode\u003eb3d98b3\u003c/code\u003e\u003c/a\u003e [chore]: update readme (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5060\"\u003e#5060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/dbbd1bca26f12d0cefff721a857d08a82476f434\"\u003e\u003ccode\u003edbbd1bc\u003c/code\u003e\u003c/a\u003e feat(config): Add MeterProvider support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4987\"\u003e#4987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/6faa58c58782313283a87a7c61fbbdd9cd2054d6\"\u003e\u003ccode\u003e6faa58c\u003c/code\u003e\u003c/a\u003e feat(config): add host resource detector support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5002\"\u003e#5002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/c0cbfbd62fa59e2c41cd2c88371dc6478fa95716\"\u003e\u003ccode\u003ec0cbfbd\u003c/code\u003e\u003c/a\u003e feat(config): wire container resource detector via entry point loading (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5004\"\u003e#5004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/f764e45f52952f5a0287e5a6c094cbfd56accd2b\"\u003e\u003ccode\u003ef764e45\u003c/code\u003e\u003c/a\u003e feat(config): Add TracerProvider support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4985\"\u003e#4985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e3017323f147fd14a64fa8bb070271026182208a\"\u003e\u003ccode\u003ee301732\u003c/code\u003e\u003c/a\u003e Add MikeGoldsmith to approvers (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/8783a5831d54d9224edd930e5106225fc0f97c1b\"\u003e\u003ccode\u003e8783a58\u003c/code\u003e\u003c/a\u003e introduce \u003ccode\u003ealls-green\u003c/code\u003e action for required checks (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4988\"\u003e#4988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.38.0...v1.41.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-api` from 1.38.0 to 1.41.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-api's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.41.0/0.62b0 (2026-04-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ehost\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].host\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5002\"\u003e#5002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003econtainer\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].container\u003c/code\u003e, using entry point loading of the \u003ccode\u003eopentelemetry-resource-detector-containerid\u003c/code\u003e contrib package\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5004\"\u003e#5004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_tracer_provider\u003c/code\u003e/\u003ccode\u003econfigure_tracer_provider\u003c/code\u003e to declarative file configuration, enabling TracerProvider instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4985\"\u003e#4985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnabled the flake8-tidy-import plugins rules for the ruff linter. These rules throw warnings for relative imports in the modules.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5019\"\u003e#5019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Fix \u003ccode\u003eAttributeError\u003c/code\u003e in \u003ccode\u003eExplicitBucketHistogramAggregation\u003c/code\u003e when applied to non-Histogram instruments without explicit boundaries\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5034\"\u003e#5034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eBatchLogRecordProcessor\u003c/code\u003e default \u003ccode\u003eschedule_delay_millis\u003c/code\u003e from 5000ms to 1000ms to comply with the OTel specification. Note: logs may be exported 5x more frequently by default (e.g. for users who don't explicitly set the \u003ccode\u003eOTEL_BLRP_SCHEDULE_DELAY\u003c/code\u003e env var).\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4998\"\u003e#4998\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eprocess\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].process\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5001\"\u003e#5001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add shared \u003ccode\u003e_parse_headers\u003c/code\u003e helper for declarative config OTLP exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5021\"\u003e#5021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: Replace a broad exception in attribute cleaning tests to satisfy pylint in the \u003ccode\u003elint-opentelemetry-api\u003c/code\u003e CI job\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_meter_provider\u003c/code\u003e/\u003ccode\u003econfigure_meter_provider\u003c/code\u003e to declarative file configuration, enabling MeterProvider instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4987\"\u003e#4987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_resource\u003c/code\u003e and \u003ccode\u003ecreate_propagator\u003c/code\u003e/\u003ccode\u003econfigure_propagator\u003c/code\u003e to declarative file configuration, enabling Resource and propagator instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4979\"\u003e#4979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Map Python \u003ccode\u003eCRITICAL\u003c/code\u003e log level to OTel \u003ccode\u003eFATAL\u003c/code\u003e severity text per the specification\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4984\"\u003e#4984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add file configuration support with YAML/JSON loading, environment variable substitution, and schema validation against the vendored OTel config JSON schema\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4898\"\u003e#4898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix intermittent CI failures in \u003ccode\u003egetting-started\u003c/code\u003e and \u003ccode\u003etracecontext\u003c/code\u003e jobs caused by GitHub git CDN SHA propagation lag by installing contrib packages from the already-checked-out local copy instead of a second git clone\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4958\"\u003e#4958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix type annotations on \u003ccode\u003eMetricReader\u003c/code\u003e and related types\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4938/\"\u003e#4938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement log creation metric\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4935\"\u003e#4935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement metric reader metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4970\"\u003e#4970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement processor metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5012\"\u003e#5012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: upgrade vendored OTel configuration schema from v1.0.0-rc.3 to v1.0.0\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4965\"\u003e#4965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimprove check-links ci job\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4978\"\u003e#4978\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve some Pyright type errors in Span/ReadableSpan and utility stubs\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4973\"\u003e#4973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: Fix metric name prefix\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4895\"\u003e#4895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add deepcopy support for \u003ccode\u003eBoundedAttributes\u003c/code\u003e and \u003ccode\u003eBoundedList\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4934\"\u003e#4934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-proto-json\u003c/code\u003e, \u003ccode\u003eopentelemetry-codegen-json\u003c/code\u003e: Implement custom protoc plugin to generate OTLP JSON class definitions\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4910\"\u003e#4910\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/open-telemetry/opentelemetry-python/commit/1a178fcc5c689516849ced80fb2533fe7db7a80f\"\u003e\u003ccode\u003e1a178fc\u003c/code\u003e\u003c/a\u003e [release/v1.41.x-0.62bx] Prepare release 1.41.0/0.62b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5064\"\u003e#5064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/37dea4bbdb1a3c83b96fc22c2f68a848b4989fb5\"\u003e\u003ccode\u003e37dea4b\u003c/code\u003e\u003c/a\u003e feat: add experimental logger configurator (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4980\"\u003e#4980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7c860ca40eb87c15fb608ce3598cfec4a5da2d1c\"\u003e\u003ccode\u003e7c860ca\u003c/code\u003e\u003c/a\u003e misc: update version for codegen-json and proto-json packages (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5061\"\u003e#5061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/b3d98b392fd1fa1a501e11ce8e126f2003edb895\"\u003e\u003ccode\u003eb3d98b3\u003c/code\u003e\u003c/a\u003e [chore]: update readme (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5060\"\u003e#5060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/dbbd1bca26f12d0cefff721a857d08a82476f434\"\u003e\u003ccode\u003edbbd1bc\u003c/code\u003e\u003c/a\u003e feat(config): Add MeterProvider support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4987\"\u003e#4987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/6faa58c58782313283a87a7c61fbbdd9cd2054d6\"\u003e\u003ccode\u003e6faa58c\u003c/code\u003e\u003c/a\u003e feat(config): add host resource detector support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5002\"\u003e#5002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/c0cbfbd62fa59e2c41cd2c88371dc6478fa95716\"\u003e\u003ccode\u003ec0cbfbd\u003c/code\u003e\u003c/a\u003e feat(config): wire container resource detector via entry point loading (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5004\"\u003e#5004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/f764e45f52952f5a0287e5a6c094cbfd56accd2b\"\u003e\u003ccode\u003ef764e45\u003c/code\u003e\u003c/a\u003e feat(config): Add TracerProvider support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4985\"\u003e#4985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e3017323f147fd14a64fa8bb070271026182208a\"\u003e\u003ccode\u003ee301732\u003c/code\u003e\u003c/a\u003e Add MikeGoldsmith to approvers (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/8783a5831d54d9224edd930e5106225fc0f97c1b\"\u003e\u003ccode\u003e8783a58\u003c/code\u003e\u003c/a\u003e introduce \u003ccode\u003ealls-green\u003c/code\u003e action for required checks (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4988\"\u003e#4988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.38.0...v1.41.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-exporter-otlp-proto-http` from 1.38.0 to 1.41.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-exporter-otlp-proto-http's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.41.0/0.62b0 (2026-04-09)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ehost\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].host\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5002\"\u003e#5002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003econtainer\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].container\u003c/code\u003e, using entry point loading of the \u003ccode\u003eopentelemetry-resource-detector-containerid\u003c/code\u003e contrib package\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5004\"\u003e#5004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_tracer_provider\u003c/code\u003e/\u003ccode\u003econfigure_tracer_provider\u003c/code\u003e to declarative file configuration, enabling TracerProvider instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4985\"\u003e#4985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnabled the flake8-tidy-import plugins rules for the ruff linter. These rules throw warnings for relative imports in the modules.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5019\"\u003e#5019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Fix \u003ccode\u003eAttributeError\u003c/code\u003e in \u003ccode\u003eExplicitBucketHistogramAggregation\u003c/code\u003e when applied to non-Histogram instruments without explicit boundaries\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5034\"\u003e#5034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eBatchLogRecordProcessor\u003c/code\u003e default \u003ccode\u003eschedule_delay_millis\u003c/code\u003e from 5000ms to 1000ms to comply with the OTel specification. Note: logs may be exported 5x more frequently by default (e.g. for users who don't explicitly set the \u003ccode\u003eOTEL_BLRP_SCHEDULE_DELAY\u003c/code\u003e env var).\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4998\"\u003e#4998\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003eprocess\u003c/code\u003e resource detector support to declarative file configuration via \u003ccode\u003edetection_development.detectors[].process\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5001\"\u003e#5001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add shared \u003ccode\u003e_parse_headers\u003c/code\u003e helper for declarative config OTLP exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5021\"\u003e#5021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e: Replace a broad exception in attribute cleaning tests to satisfy pylint in the \u003ccode\u003elint-opentelemetry-api\u003c/code\u003e CI job\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_meter_provider\u003c/code\u003e/\u003ccode\u003econfigure_meter_provider\u003c/code\u003e to declarative file configuration, enabling MeterProvider instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4987\"\u003e#4987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add \u003ccode\u003ecreate_resource\u003c/code\u003e and \u003ccode\u003ecreate_propagator\u003c/code\u003e/\u003ccode\u003econfigure_propagator\u003c/code\u003e to declarative file configuration, enabling Resource and propagator instantiation from config files without reading env vars\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4979\"\u003e#4979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Map Python \u003ccode\u003eCRITICAL\u003c/code\u003e log level to OTel \u003ccode\u003eFATAL\u003c/code\u003e severity text per the specification\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4984\"\u003e#4984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add file configuration support with YAML/JSON loading, environment variable substitution, and schema validation against the vendored OTel config JSON schema\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4898\"\u003e#4898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix intermittent CI failures in \u003ccode\u003egetting-started\u003c/code\u003e and \u003ccode\u003etracecontext\u003c/code\u003e jobs caused by GitHub git CDN SHA propagation lag by installing contrib packages from the already-checked-out local copy instead of a second git clone\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4958\"\u003e#4958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: fix type annotations on \u003ccode\u003eMetricReader\u003c/code\u003e and related types\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4938/\"\u003e#4938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement log creation metric\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4935\"\u003e#4935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement metric reader metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4970\"\u003e#4970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: implement processor metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/5012\"\u003e#5012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: upgrade vendored OTel configuration schema from v1.0.0-rc.3 to v1.0.0\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4965\"\u003e#4965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimprove check-links ci job\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4978\"\u003e#4978\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve some Pyright type errors in Span/ReadableSpan and utility stubs\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4973\"\u003e#4973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: Fix metric name prefix\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4895\"\u003e#4895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-api\u003c/code\u003e, \u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Add deepcopy support for \u003ccode\u003eBoundedAttributes\u003c/code\u003e and \u003ccode\u003eBoundedList\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4934\"\u003e#4934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-proto-json\u003c/code\u003e, \u003ccode\u003eopentelemetry-codegen-json\u003c/code\u003e: Implement custom protoc plugin to generate OTLP JSON class definitions\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4910\"\u003e#4910\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/open-telemetry/opentelemetry-python/commit/1a178fcc5c689516849ced80fb2533fe7db7a80f\"\u003e\u003ccode\u003e1a178fc\u003c/code\u003e\u003c/a\u003e [release/v1.41.x-0.62bx] Prepare release 1.41.0/0.62b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5064\"\u003e#5064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/37dea4bbdb1a3c83b96fc22c2f68a848b4989fb5\"\u003e\u003ccode\u003e37dea4b\u003c/code\u003e\u003c/a\u003e feat: add experimental logger configurator (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4980\"\u003e#4980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7c860ca40eb87c15fb608ce3598cfec4a5da2d1c\"\u003e\u003ccode\u003e7c860ca\u003c/code\u003e\u003c/a\u003e misc: update version for codegen-json and proto-json packages (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5061\"\u003e#5061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/b3d98b392fd1fa1a501e11ce8e126f2003edb895\"\u003e\u003ccode\u003eb3d98b3\u003c/code\u003e\u003c/a\u003e [chore]: update readme (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5060\"\u003e#5060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/dbbd1bca26f12d0cefff721a857d08a82476f434\"\u003e\u003ccode\u003edbbd1bc\u003c/code\u003e\u003c/a\u003e feat(config): Add MeterProvider support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4987\"\u003e#4987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/6faa58c58782313283a87a7c61fbbdd9cd2054d6\"\u003e\u003ccode\u003e6faa58c\u003c/code\u003e\u003c/a\u003e feat(config): add host resource detector support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5002\"\u003e#5002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/c0cbfbd62fa59e2c41cd2c88371dc6478fa95716\"\u003e\u003ccode\u003ec0cbfbd\u003c/code\u003e\u003c/a\u003e feat(config): wire container resource detector via entry point loading (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5004\"\u003e#5004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/f764e45f52952f5a0287e5a6c094cbfd56accd2b\"\u003e\u003ccode\u003ef764e45\u003c/code\u003e\u003c/a\u003e feat(config): Add TracerProvider support for declarative config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4985\"\u003e#4985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/e3017323f147fd14a64fa8bb070271026182208a\"\u003e\u003ccode\u003ee301732\u003c/code\u003e\u003c/a\u003e Add MikeGoldsmith to approvers (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/8783a5831d54d9224edd930e5106225fc0f97c1b\"\u003e\u003ccode\u003e8783a58\u003c/code\u003e\u003c/a\u003e introduce \u003ccode\u003ealls-green\u003c/code\u003e action for required checks (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4988\"\u003e#4988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.38.0...v1.41.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai-agents` from 0.13.6 to 0.14.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-agents-python/releases\"\u003eopenai-agents's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: support sandbox extra path grants by \u003ca href=\"https://github.com/qiyaoq-oai\"\u003e\u003ccode\u003e@​qiyaoq-oai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2920\"\u003eopenai/openai-agents-python#2920\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2228\"\u003e#2228\u003c/a\u003e persist tool origin metadata in run items by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2654\"\u003eopenai/openai-agents-python#2654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(extensions): add MongoDB session backend by \u003ca href=\"https://github.com/alexbevi\"\u003e\u003ccode\u003e@​alexbevi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2902\"\u003eopenai/openai-agents-python#2902\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: loosen sandbox compaction model parsing by \u003ca href=\"https://github.com/sdcoffey\"\u003e\u003ccode\u003e@​sdcoffey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2930\"\u003eopenai/openai-agents-python#2930\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: remove_all_tools missing hosted tool types by \u003ca href=\"https://github.com/javierdejesusda\"\u003e\u003ccode\u003e@​javierdejesusda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2885\"\u003eopenai/openai-agents-python#2885\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: tolerate None text in ResponseOutputText content items by \u003ca href=\"https://github.com/beveradb\"\u003e\u003ccode\u003e@​beveradb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2883\"\u003eopenai/openai-agents-python#2883\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/1876\"\u003e#1876\u003c/a\u003e LiteLLM extra_body forwarding by \u003ca href=\"https://github.com/yu2001-s\"\u003e\u003ccode\u003e@​yu2001-s\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2900\"\u003eopenai/openai-agents-python#2900\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: trust filesystem permissions for Vercel roots by \u003ca href=\"https://github.com/scotttrinh\"\u003e\u003ccode\u003e@​scotttrinh\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2910\"\u003eopenai/openai-agents-python#2910\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/604\"\u003e#604\u003c/a\u003e handle None choices in ChatCompletion response by \u003ca href=\"https://github.com/Spectual\"\u003e\u003ccode\u003e@​Spectual\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2850\"\u003eopenai/openai-agents-python#2850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: normalize compacted Responses user inputs before session reuse by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2925\"\u003eopenai/openai-agents-python#2925\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2929\"\u003e#2929\u003c/a\u003e surface run-loop exceptions after stream_events() completes by \u003ca href=\"https://github.com/nileshpatil6\"\u003e\u003ccode\u003e@​nileshpatil6\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2931\"\u003eopenai/openai-agents-python#2931\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: clarify OpenAI provider configuration guidance by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2901\"\u003eopenai/openai-agents-python#2901\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2903\"\u003eopenai/openai-agents-python#2903\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: sync sandbox translations and set doc translation default model to gpt-5.4 by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2904\"\u003eopenai/openai-agents-python#2904\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2935\"\u003eopenai/openai-agents-python#2935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump \u003ccode\u003etemporalio\u003c/code\u003e Dep in Temporal example by \u003ca href=\"https://github.com/JasonSteving99\"\u003e\u003ccode\u003e@​JasonSteving99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2918\"\u003eopenai/openai-agents-python#2918\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.14.2 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2899\"\u003eopenai/openai-agents-python#2899\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/javierdejesusda\"\u003e\u003ccode\u003e@​javierdejesusda\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2885\"\u003eopenai/openai-agents-python#2885\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/beveradb\"\u003e\u003ccode\u003e@​beveradb\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2883\"\u003eopenai/openai-agents-python#2883\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yu2001-s\"\u003e\u003ccode\u003e@​yu2001-s\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2900\"\u003eopenai/openai-agents-python#2900\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JasonSteving99\"\u003e\u003ccode\u003e@​JasonSteving99\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2918\"\u003eopenai/openai-agents-python#2918\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scotttrinh\"\u003e\u003ccode\u003e@​scotttrinh\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2910\"\u003eopenai/openai-agents-python#2910\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Spectual\"\u003e\u003ccode\u003e@​Spectual\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2850\"\u003eopenai/openai-agents-python#2850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexbevi\"\u003e\u003ccode\u003e@​alexbevi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2902\"\u003eopenai/openai-agents-python#2902\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qiyaoq-oai\"\u003e\u003ccode\u003e@​qiyaoq-oai\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2920\"\u003eopenai/openai-agents-python#2920\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nileshpatil6\"\u003e\u003ccode\u003e@​nileshpatil6\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2931\"\u003eopenai/openai-agents-python#2931\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.14.1...v0.14.2\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.14.1...v0.14.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.14.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: sanitize OpenAI tracing export payloads by \u003ca href=\"https://github.com/alfozan\"\u003e\u003ccode\u003e@​alfozan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2896\"\u003eopenai/openai-agents-python#2896\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2873\"\u003e#2873\u003c/a\u003e preserve computer driver compatibility for modifier keys by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2877\"\u003eopenai/openai-agents-python#2877\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2151\"\u003e#2151\u003c/a\u003e shield server-managed handoffs from unsupported history rewrites by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2747\"\u003eopenai/openai-agents-python#2747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: stop streamed tool execution after known input guardrail tripwire by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2688\"\u003eopenai/openai-agents-python#2688\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2891\"\u003eopenai/openai-agents-python#2891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: align translated sandbox nav and refresh generated refs by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2892\"\u003eopenai/openai-agents-python#2892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: clarify ToolContext availability in function-tool lifecycle hooks by \u003ca href=\"https://github.com/HuxleyHu98\"\u003e\u003ccode\u003e@​HuxleyHu98\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2687\"\u003eopenai/openai-agents-python#2687\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/openai/openai-agents-python/blob/main/docs/release.md\"\u003eopenai-agents's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease process/changelog\u003c/h1\u003e\n\u003cp\u003eThe project follows a slightly modified version of semantic versioning using the form \u003ccode\u003e0.Y.Z\u003c/code\u003e. The leading \u003ccode\u003e0\u003c/code\u003e indicates the SDK is still evolving rapidly. Increment the components as follows:\u003c/p\u003e\n\u003ch2\u003eMinor (\u003ccode\u003eY\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increase minor versions \u003ccode\u003eY\u003c/code\u003e for \u003cstrong\u003ebreaking changes\u003c/strong\u003e to any public interfaces that are not marked as beta. For example, going from \u003ccode\u003e0.0.x\u003c/code\u003e to \u003ccode\u003e...\n\n_Description has been truncated_","html_url":"https://github.com/langchain-ai/langsmith-sdk/pull/2740","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/langchain-ai%2Flangsmith-sdk/issues/2740","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2740/packages"}},{"old_version":"0.13.6","new_version":"0.14.2","update_type":"minor","path":"/addons/formula-chat/api","pr_created_at":"2026-04-19T06:05:54.000Z","version_change":"0.13.6 → 0.14.2","issue":{"uuid":"4290082115","node_id":"PR_kwDORzsKKM7TrWq1","number":86,"state":"open","title":"chore(deps): bump openai-agents from 0.13.6 to 0.14.2 in /addons/formula-chat/api","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-19T06:05:54.000Z","updated_at":"2026-04-26T08:00:30.070Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"openai-agents","old_version":"0.13.6","new_version":"0.14.2","repository_url":"https://github.com/openai/openai-agents-python"}],"path":"/addons/formula-chat/api","ecosystem":"pip"},"body":"Bumps [openai-agents](https://github.com/openai/openai-agents-python) from 0.13.6 to 0.14.2.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-agents-python/releases\"\u003eopenai-agents's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: support sandbox extra path grants by \u003ca href=\"https://github.com/qiyaoq-oai\"\u003e\u003ccode\u003e@​qiyaoq-oai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2920\"\u003eopenai/openai-agents-python#2920\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2228\"\u003e#2228\u003c/a\u003e persist tool origin metadata in run items by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2654\"\u003eopenai/openai-agents-python#2654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(extensions): add MongoDB session backend by \u003ca href=\"https://github.com/alexbevi\"\u003e\u003ccode\u003e@​alexbevi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2902\"\u003eopenai/openai-agents-python#2902\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: loosen sandbox compaction model parsing by \u003ca href=\"https://github.com/sdcoffey\"\u003e\u003ccode\u003e@​sdcoffey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2930\"\u003eopenai/openai-agents-python#2930\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: remove_all_tools missing hosted tool types by \u003ca href=\"https://github.com/javierdejesusda\"\u003e\u003ccode\u003e@​javierdejesusda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2885\"\u003eopenai/openai-agents-python#2885\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: tolerate None text in ResponseOutputText content items by \u003ca href=\"https://github.com/beveradb\"\u003e\u003ccode\u003e@​beveradb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2883\"\u003eopenai/openai-agents-python#2883\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/1876\"\u003e#1876\u003c/a\u003e LiteLLM extra_body forwarding by \u003ca href=\"https://github.com/yu2001-s\"\u003e\u003ccode\u003e@​yu2001-s\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2900\"\u003eopenai/openai-agents-python#2900\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: trust filesystem permissions for Vercel roots by \u003ca href=\"https://github.com/scotttrinh\"\u003e\u003ccode\u003e@​scotttrinh\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2910\"\u003eopenai/openai-agents-python#2910\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/604\"\u003e#604\u003c/a\u003e handle None choices in ChatCompletion response by \u003ca href=\"https://github.com/Spectual\"\u003e\u003ccode\u003e@​Spectual\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2850\"\u003eopenai/openai-agents-python#2850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: normalize compacted Responses user inputs before session reuse by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2925\"\u003eopenai/openai-agents-python#2925\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2929\"\u003e#2929\u003c/a\u003e surface run-loop exceptions after stream_events() completes by \u003ca href=\"https://github.com/nileshpatil6\"\u003e\u003ccode\u003e@​nileshpatil6\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2931\"\u003eopenai/openai-agents-python#2931\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: clarify OpenAI provider configuration guidance by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2901\"\u003eopenai/openai-agents-python#2901\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2903\"\u003eopenai/openai-agents-python#2903\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: sync sandbox translations and set doc translation default model to gpt-5.4 by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2904\"\u003eopenai/openai-agents-python#2904\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2935\"\u003eopenai/openai-agents-python#2935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump \u003ccode\u003etemporalio\u003c/code\u003e Dep in Temporal example by \u003ca href=\"https://github.com/JasonSteving99\"\u003e\u003ccode\u003e@​JasonSteving99\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2918\"\u003eopenai/openai-agents-python#2918\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.14.2 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2899\"\u003eopenai/openai-agents-python#2899\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/javierdejesusda\"\u003e\u003ccode\u003e@​javierdejesusda\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2885\"\u003eopenai/openai-agents-python#2885\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/beveradb\"\u003e\u003ccode\u003e@​beveradb\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2883\"\u003eopenai/openai-agents-python#2883\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yu2001-s\"\u003e\u003ccode\u003e@​yu2001-s\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2900\"\u003eopenai/openai-agents-python#2900\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JasonSteving99\"\u003e\u003ccode\u003e@​JasonSteving99\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2918\"\u003eopenai/openai-agents-python#2918\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scotttrinh\"\u003e\u003ccode\u003e@​scotttrinh\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2910\"\u003eopenai/openai-agents-python#2910\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Spectual\"\u003e\u003ccode\u003e@​Spectual\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2850\"\u003eopenai/openai-agents-python#2850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexbevi\"\u003e\u003ccode\u003e@​alexbevi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2902\"\u003eopenai/openai-agents-python#2902\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qiyaoq-oai\"\u003e\u003ccode\u003e@​qiyaoq-oai\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2920\"\u003eopenai/openai-agents-python#2920\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nileshpatil6\"\u003e\u003ccode\u003e@​nileshpatil6\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2931\"\u003eopenai/openai-agents-python#2931\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.14.1...v0.14.2\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.14.1...v0.14.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.14.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: sanitize OpenAI tracing export payloads by \u003ca href=\"https://github.com/alfozan\"\u003e\u003ccode\u003e@​alfozan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2896\"\u003eopenai/openai-agents-python#2896\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2873\"\u003e#2873\u003c/a\u003e preserve computer driver compatibility for modifier keys by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2877\"\u003eopenai/openai-agents-python#2877\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2151\"\u003e#2151\u003c/a\u003e shield server-managed handoffs from unsupported history rewrites by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2747\"\u003eopenai/openai-agents-python#2747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: stop streamed tool execution after known input guardrail tripwire by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2688\"\u003eopenai/openai-agents-python#2688\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2891\"\u003eopenai/openai-agents-python#2891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: align translated sandbox nav and refresh generated refs by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2892\"\u003eopenai/openai-agents-python#2892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: clarify ToolContext availability in function-tool lifecycle hooks by \u003ca href=\"https://github.com/HuxleyHu98\"\u003e\u003ccode\u003e@​HuxleyHu98\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2687\"\u003eopenai/openai-agents-python#2687\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/openai/openai-agents-python/blob/main/docs/release.md\"\u003eopenai-agents's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease process/changelog\u003c/h1\u003e\n\u003cp\u003eThe project follows a slightly modified version of semantic versioning using the form \u003ccode\u003e0.Y.Z\u003c/code\u003e. The leading \u003ccode\u003e0\u003c/code\u003e indicates the SDK is still evolving rapidly. Increment the components as follows:\u003c/p\u003e\n\u003ch2\u003eMinor (\u003ccode\u003eY\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increase minor versions \u003ccode\u003eY\u003c/code\u003e for \u003cstrong\u003ebreaking changes\u003c/strong\u003e to any public interfaces that are not marked as beta. For example, going from \u003ccode\u003e0.0.x\u003c/code\u003e to \u003ccode\u003e0.1.x\u003c/code\u003e might include breaking changes.\u003c/p\u003e\n\u003cp\u003eIf you don't want breaking changes, we recommend pinning to \u003ccode\u003e0.0.x\u003c/code\u003e versions in your project.\u003c/p\u003e\n\u003ch2\u003ePatch (\u003ccode\u003eZ\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increment \u003ccode\u003eZ\u003c/code\u003e for non-breaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes\u003c/li\u003e\n\u003cli\u003eNew features\u003c/li\u003e\n\u003cli\u003eChanges to private interfaces\u003c/li\u003e\n\u003cli\u003eUpdates to beta features\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBreaking change changelog\u003c/h2\u003e\n\u003ch3\u003e0.14.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change, but it adds a major new beta feature area: Sandbox Agents, plus the runtime, backend, and documentation support needed to use them across local, containerized, and hosted environments.\u003c/p\u003e\n\u003cp\u003eHighlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a new beta sandbox runtime surface centered on \u003ccode\u003eSandboxAgent\u003c/code\u003e, \u003ccode\u003eManifest\u003c/code\u003e, and \u003ccode\u003eSandboxRunConfig\u003c/code\u003e, letting agents work inside persistent isolated workspaces with files, directories, Git repos, mounts, snapshots, and resume support.\u003c/li\u003e\n\u003cli\u003eAdded sandbox execution backends for local and containerized development via \u003ccode\u003eUnixLocalSandboxClient\u003c/code\u003e and \u003ccode\u003eDockerSandboxClient\u003c/code\u003e, plus hosted provider integrations for Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop, and Vercel through optional extras.\u003c/li\u003e\n\u003cli\u003eAdded sandbox memory support so future runs can reuse lessons from prior runs, with progressive disclosure, multi-turn grouping, configurable isolation boundaries, and persisted-memory examples including S3-backed workflows.\u003c/li\u003e\n\u003cli\u003eAdded a broader workspace and resume model, including local and synthetic workspace entries, remote storage mounts for S3/R2/GCS/Azure Blob Storage/S3 Files, portable snapshots, and resume flows via \u003ccode\u003eRunState\u003c/code\u003e, \u003ccode\u003eSandboxSessionState\u003c/code\u003e, or saved snapshots.\u003c/li\u003e\n\u003cli\u003eAdded substantial sandbox examples and tutorials under \u003ccode\u003eexamples/sandbox/\u003c/code\u003e, covering coding tasks with skills, handoffs, memory, provider-specific setups, and end-to-end workflows such as code review, dataroom QA, and website cloning.\u003c/li\u003e\n\u003cli\u003eExtended the core runtime and tracing stack with sandbox-aware session preparation, capability binding, state serialization, unified tracing, prompt cache key defaults, and safer sensitive MCP output redaction.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e0.13.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change, but it includes a notable Realtime default update plus new MCP capabilities and runtime stability fixes.\u003c/p\u003e\n\u003cp\u003eHighlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe default websocket Realtime model is now \u003ccode\u003egpt-realtime-1.5\u003c/code\u003e, so new Realtime agent setups use the newer model without extra configuration.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMCPServer\u003c/code\u003e now exposes \u003ccode\u003elist_resources()\u003c/code\u003e, \u003ccode\u003elist_resource_templates()\u003c/code\u003e, and \u003ccode\u003eread_resource()\u003c/code\u003e, and \u003ccode\u003eMCPServerStreamableHttp\u003c/code\u003e now exposes \u003ccode\u003esession_id\u003c/code\u003e so streamable HTTP sessions can be resumed across reconnects or stateless workers.\u003c/li\u003e\n\u003cli\u003eChat Completions integrations can now opt into reasoning-content replay via \u003ccode\u003eshould_replay_reasoning_content\u003c/code\u003e, improving provider-specific reasoning/tool-call continuity for adapters such as LiteLLM/DeepSeek.\u003c/li\u003e\n\u003cli\u003eFixed several runtime and session edge cases, including concurrent first writes in \u003ccode\u003eSQLAlchemySession\u003c/code\u003e, compaction requests with orphaned assistant message IDs after reasoning stripping, \u003ccode\u003eremove_all_tools()\u003c/code\u003e leaving MCP/reasoning items behind, and a race in the function-tool batch executor.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e0.12.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change. Check \u003ca href=\"https://github.com/openai/openai-agents-python/releases/tag/v0.12.0\"\u003ethe release notes\u003c/a\u003e for major feature additions.\u003c/p\u003e\n\u003ch3\u003e0.11.0\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/e80d2d2319eb300ac17ec496988b70246a5042d6\"\u003e\u003ccode\u003ee80d2d2\u003c/code\u003e\u003c/a\u003e Release 0.14.2 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2899\"\u003e#2899\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/61443ca8af4b7f952859abf461d1104b55789caf\"\u003e\u003ccode\u003e61443ca\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2929\"\u003e#2929\u003c/a\u003e surface run-loop exceptions after stream_events() completes (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2931\"\u003e#2931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/55c89007362aef510909365ec149b1a83ed23a90\"\u003e\u003ccode\u003e55c8900\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2935\"\u003e#2935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/377204714d169efb261f0115779b8c930c11c87a\"\u003e\u003ccode\u003e3772047\u003c/code\u003e\u003c/a\u003e feat: support sandbox extra path grants (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2920\"\u003e#2920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/dd3f59e399a94229ce6804838b964b3e23c1e73b\"\u003e\u003ccode\u003edd3f59e\u003c/code\u003e\u003c/a\u003e Loosen sandbox compaction model parsing (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2930\"\u003e#2930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/67fb85a17f47bce80c949f4a3b17f0efc5da5b73\"\u003e\u003ccode\u003e67fb85a\u003c/code\u003e\u003c/a\u003e feat(extensions): add MongoDB session backend (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2902\"\u003e#2902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/f84ef7f649d1bb3ba7ca86e41509081e7e779bc6\"\u003e\u003ccode\u003ef84ef7f\u003c/code\u003e\u003c/a\u003e fix: normalize compacted Responses user inputs before session reuse (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2925\"\u003e#2925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/b7ba44688db786719c550aee2fa7228189f25ff3\"\u003e\u003ccode\u003eb7ba446\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/604\"\u003e#604\u003c/a\u003e handle None choices in ChatCompletion response (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2850\"\u003e#2850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/b58d059f4dc7a3827f30389e31fd6e521cdcdf57\"\u003e\u003ccode\u003eb58d059\u003c/code\u003e\u003c/a\u003e fix: Trust filesystem permissions for Vercel roots (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2910\"\u003e#2910\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/3ad12bc27308278fc875144a04c60a068d399b1a\"\u003e\u003ccode\u003e3ad12bc\u003c/code\u003e\u003c/a\u003e chore: Bump \u003ccode\u003etemporalio\u003c/code\u003e Dep in Temporal Example (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2918\"\u003e#2918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.13.6...v0.14.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=openai-agents\u0026package-manager=pip\u0026previous-version=0.13.6\u0026new-version=0.14.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/HARISHMARAN/Harry-s-F1-data/pull/86","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/HARISHMARAN%2FHarry-s-F1-data/issues/86","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/86/packages"}},{"old_version":"\u003e=0.1.0","new_version":"\u003e=0.8.4","update_type":"minor","path":"/sdk","pr_created_at":"2026-04-13T13:06:56.000Z","version_change":"\u003e=0.1.0 → \u003e=0.8.4","issue":{"uuid":"4254865121","node_id":"PR_kwDORcNYdc7R_GUr","number":311,"state":"open","title":"Update openai-agents requirement from \u003e=0.1.0 to \u003e=0.8.4 in /sdk","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-13T13:06:56.000Z","updated_at":"2026-05-01T04:49:33.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"openai-agents","old_version":"\u003e=0.1.0","new_version":"\u003e=0.8.4","repository_url":"https://github.com/openai/openai-agents-python"}],"path":"/sdk","ecosystem":"pip"},"body":"Updates the requirements on [openai-agents](https://github.com/openai/openai-agents-python) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-agents-python/releases\"\u003eopenai-agents's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.8.4\u003c/h2\u003e\n\u003ch2\u003eKey Changes\u003c/h2\u003e\n\u003ch3\u003eHosted container tool + Skills\u003c/h3\u003e\n\u003cp\u003eThis release includes the hosted shell runtime tool along with its native skills support. Developers now can pass a container-based shell runtime with skills this way:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003efrom agents import Agent, ShellTool\r\n\u003cp\u003eagent = Agent(\nname=\u0026quot;Shell Agent\u0026quot;,\nmodel=\u0026quot;gpt-5.2\u0026quot;,\ninstructions=\u0026quot;Use the available shell tool to answer user requests.\u0026quot;,\ntools=[\nShellTool(\nenvironment={\n\u0026quot;type\u0026quot;: \u0026quot;container_auto\u0026quot;,\n\u0026quot;network_policy\u0026quot;: {\u0026quot;type\u0026quot;: \u0026quot;disabled\u0026quot;},\n\u0026quot;skills\u0026quot;: [\n{\n\u0026quot;type\u0026quot;: \u0026quot;skill_reference\u0026quot;,\n\u0026quot;skill_id\u0026quot;: \u0026quot;skill_698bbe879adc81918725cbc69dcae7960bc5613dadaed377\u0026quot;,\n\u0026quot;version\u0026quot;: \u0026quot;1\u0026quot;,\n}\n],\n}\n)\n],\n)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eRefer to \u003ca href=\"https://github.com/openai/openai-agents-python/blob/main/examples/tools/container_shell_inline_skill.py\"\u003eexamples/tools/container_shell_inline_skill.py\u003c/a\u003e and \u003ca href=\"https://github.com/openai/openai-agents-python/blob/main/examples/tools/container_shell_skill_reference.py\"\u003eexamples/tools/container_shell_skill_reference.py\u003c/a\u003e for more details.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add container shell + skills support by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2469\"\u003eopenai/openai-agents-python#2469\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(realtime): omit null audio formats in SIP call attach updates by \u003ca href=\"https://github.com/OiPunk\"\u003e\u003ccode\u003e@​OiPunk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2454\"\u003eopenai/openai-agents-python#2454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(result): support Pydantic model_rebuild for RunResultStreaming by \u003ca href=\"https://github.com/OiPunk\"\u003e\u003ccode\u003e@​OiPunk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2455\"\u003eopenai/openai-agents-python#2455\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(tool): resolve default failure handler at invoke time by \u003ca href=\"https://github.com/OiPunk\"\u003e\u003ccode\u003e@​OiPunk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2460\"\u003eopenai/openai-agents-python#2460\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(agent-tools): inherit parent RunConfig when agent-as-tool is invoked by \u003ca href=\"https://github.com/OiPunk\"\u003e\u003ccode\u003e@​OiPunk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2463\"\u003eopenai/openai-agents-python#2463\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(stream): emit queued events before max-turns exception by \u003ca href=\"https://github.com/OiPunk\"\u003e\u003ccode\u003e@​OiPunk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2458\"\u003eopenai/openai-agents-python#2458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(prompt): omit tool_choice when prompt manages built-in tools by \u003ca href=\"https://github.com/OiPunk\"\u003e\u003ccode\u003e@​OiPunk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2464\"\u003eopenai/openai-agents-python#2464\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocuments \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2452\"\u003eopenai/openai-agents-python#2452\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(mcp): validate required params before call_tool by \u003ca href=\"https://github.com/OiPunk\"\u003e\u003ccode\u003e@​OiPunk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2453\"\u003eopenai/openai-agents-python#2453\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: clarify Azure Realtime GA endpoint configuration by \u003ca href=\"https://github.com/OiPunk\"\u003e\u003ccode\u003e@​OiPunk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2440\"\u003eopenai/openai-agents-python#2440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2466\"\u003eopenai/openai-agents-python#2466\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.8.4 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2465\"\u003eopenai/openai-agents-python#2465\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/openai/openai-agents-python/blob/main/docs/release.md\"\u003eopenai-agents's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease process/changelog\u003c/h1\u003e\n\u003cp\u003eThe project follows a slightly modified version of semantic versioning using the form \u003ccode\u003e0.Y.Z\u003c/code\u003e. The leading \u003ccode\u003e0\u003c/code\u003e indicates the SDK is still evolving rapidly. Increment the components as follows:\u003c/p\u003e\n\u003ch2\u003eMinor (\u003ccode\u003eY\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increase minor versions \u003ccode\u003eY\u003c/code\u003e for \u003cstrong\u003ebreaking changes\u003c/strong\u003e to any public interfaces that are not marked as beta. For example, going from \u003ccode\u003e0.0.x\u003c/code\u003e to \u003ccode\u003e0.1.x\u003c/code\u003e might include breaking changes.\u003c/p\u003e\n\u003cp\u003eIf you don't want breaking changes, we recommend pinning to \u003ccode\u003e0.0.x\u003c/code\u003e versions in your project.\u003c/p\u003e\n\u003ch2\u003ePatch (\u003ccode\u003eZ\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increment \u003ccode\u003eZ\u003c/code\u003e for non-breaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes\u003c/li\u003e\n\u003cli\u003eNew features\u003c/li\u003e\n\u003cli\u003eChanges to private interfaces\u003c/li\u003e\n\u003cli\u003eUpdates to beta features\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBreaking change changelog\u003c/h2\u003e\n\u003ch3\u003e0.13.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change, but it includes a notable Realtime default update plus new MCP capabilities and runtime stability fixes.\u003c/p\u003e\n\u003cp\u003eHighlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe default websocket Realtime model is now \u003ccode\u003egpt-realtime-1.5\u003c/code\u003e, so new Realtime agent setups use the newer model without extra configuration.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMCPServer\u003c/code\u003e now exposes \u003ccode\u003elist_resources()\u003c/code\u003e, \u003ccode\u003elist_resource_templates()\u003c/code\u003e, and \u003ccode\u003eread_resource()\u003c/code\u003e, and \u003ccode\u003eMCPServerStreamableHttp\u003c/code\u003e now exposes \u003ccode\u003esession_id\u003c/code\u003e so streamable HTTP sessions can be resumed across reconnects or stateless workers.\u003c/li\u003e\n\u003cli\u003eChat Completions integrations can now opt into reasoning-content replay via \u003ccode\u003eshould_replay_reasoning_content\u003c/code\u003e, improving provider-specific reasoning/tool-call continuity for adapters such as LiteLLM/DeepSeek.\u003c/li\u003e\n\u003cli\u003eFixed several runtime and session edge cases, including concurrent first writes in \u003ccode\u003eSQLAlchemySession\u003c/code\u003e, compaction requests with orphaned assistant message IDs after reasoning stripping, \u003ccode\u003eremove_all_tools()\u003c/code\u003e leaving MCP/reasoning items behind, and a race in the function-tool batch executor.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e0.12.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change. Check \u003ca href=\"https://github.com/openai/openai-agents-python/releases/tag/v0.12.0\"\u003ethe release notes\u003c/a\u003e for major feature additions.\u003c/p\u003e\n\u003ch3\u003e0.11.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change. Check \u003ca href=\"https://github.com/openai/openai-agents-python/releases/tag/v0.11.0\"\u003ethe release notes\u003c/a\u003e for major feature additions.\u003c/p\u003e\n\u003ch3\u003e0.10.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change, but it includes a significant new feature area for OpenAI Responses users: websocket transport support for the Responses API.\u003c/p\u003e\n\u003cp\u003eHighlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded websocket transport support for OpenAI Responses models (opt-in; HTTP remains the default transport).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eresponses_websocket_session()\u003c/code\u003e helper / \u003ccode\u003eResponsesWebSocketSession\u003c/code\u003e for reusing a shared websocket-capable provider and \u003ccode\u003eRunConfig\u003c/code\u003e across multi-turn runs.\u003c/li\u003e\n\u003cli\u003eAdded a new websocket streaming example (\u003ccode\u003eexamples/basic/stream_ws.py\u003c/code\u003e) covering streaming, tools, approvals, and follow-up turns.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/67687cbab31c6c071204dc7f48ea6e47624aa2e7\"\u003e\u003ccode\u003e67687cb\u003c/code\u003e\u003c/a\u003e Release 0.8.4 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2465\"\u003e#2465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/947fff8bd03d7dd322abf4a92df7a0c24f55807e\"\u003e\u003ccode\u003e947fff8\u003c/code\u003e\u003c/a\u003e fix(prompt): omit tool_choice when prompt manages built-in tools (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2464\"\u003e#2464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/0793a8ce916377ad80f47f9819ee99bc86676aaa\"\u003e\u003ccode\u003e0793a8c\u003c/code\u003e\u003c/a\u003e feat: add container shell + skills support (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2469\"\u003e#2469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/f76ec8ac1c8e5ca5af2661b704481ba353ff31a2\"\u003e\u003ccode\u003ef76ec8a\u003c/code\u003e\u003c/a\u003e fix(stream): emit queued events before max-turns exception (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2458\"\u003e#2458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/1168ee1ad15a200ce2effe6a5aa42727fa3c52e3\"\u003e\u003ccode\u003e1168ee1\u003c/code\u003e\u003c/a\u003e fix(agent-tools): inherit parent RunConfig when agent-as-tool is invoked (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2463\"\u003e#2463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/85e56167f740d2a560285f7f4ba39cb3cfe3ec83\"\u003e\u003ccode\u003e85e5616\u003c/code\u003e\u003c/a\u003e fix(tool): resolve default failure handler at invoke time (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2460\"\u003e#2460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/f1f88f8fa42c2016339871d04fb49afd4db86c17\"\u003e\u003ccode\u003ef1f88f8\u003c/code\u003e\u003c/a\u003e fix(result): support Pydantic model_rebuild for RunResultStreaming (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2455\"\u003e#2455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/72204371c394f57099e6f313fcbc947432bc0dff\"\u003e\u003ccode\u003e7220437\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2466\"\u003e#2466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/f1d8923e480177e4664a364e1f0f87ea125e9f73\"\u003e\u003ccode\u003ef1d8923\u003c/code\u003e\u003c/a\u003e fix(realtime): omit null audio formats in SIP call attach updates (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2454\"\u003e#2454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/86f5c71e1906ecc324efe97e8f1ed7b0b9e174ed\"\u003e\u003ccode\u003e86f5c71\u003c/code\u003e\u003c/a\u003e docs: clarify Azure Realtime GA endpoint configuration (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2440\"\u003e#2440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.1.0...v0.8.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore 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/nicholasraimbault/skytale/pull/311","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicholasraimbault%2Fskytale/issues/311","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/311/packages"}},{"old_version":"0.13.4","new_version":"0.13.6","update_type":"patch","path":"/addons/formula-chat/api","pr_created_at":"2026-04-12T06:05:39.000Z","version_change":"0.13.4 → 0.13.6","issue":{"uuid":"4246757033","node_id":"PR_kwDORzsKKM7RvLHS","number":61,"state":"open","title":"chore(deps): bump openai-agents from 0.13.4 to 0.13.6 in /addons/formula-chat/api","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-12T06:05:39.000Z","updated_at":"2026-04-12T06:06:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"openai-agents","old_version":"0.13.4","new_version":"0.13.6","repository_url":"https://github.com/openai/openai-agents-python"}],"path":"/addons/formula-chat/api","ecosystem":"pip"},"body":"Bumps [openai-agents](https://github.com/openai/openai-agents-python) from 0.13.4 to 0.13.6.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-agents-python/releases\"\u003eopenai-agents's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.13.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2863\"\u003e#2863\u003c/a\u003e lazy-load SQLiteSession exports by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2864\"\u003eopenai/openai-agents-python#2864\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2856\"\u003e#2856\u003c/a\u003e stop recursive trace preview truncation by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2860\"\u003eopenai/openai-agents-python#2860\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: harden SQLAlchemySession against transient SQLite locks by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2854\"\u003eopenai/openai-agents-python#2854\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: updates for \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2844\"\u003e#2844\u003c/a\u003e changes by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2845\"\u003eopenai/openai-agents-python#2845\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2847\"\u003eopenai/openai-agents-python#2847\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(tracing): add HoneyHive to tracing integrations list by \u003ca href=\"https://github.com/m1lestones\"\u003e\u003ccode\u003e@​m1lestones\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2851\"\u003eopenai/openai-agents-python#2851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2853\"\u003eopenai/openai-agents-python#2853\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.13.6 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2861\"\u003eopenai/openai-agents-python#2861\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/m1lestones\"\u003e\u003ccode\u003e@​m1lestones\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2851\"\u003eopenai/openai-agents-python#2851\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.13.5...v0.13.6\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.13.5...v0.13.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.13.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2807\"\u003e#2807\u003c/a\u003e support callable approval policies for local MCP servers by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2818\"\u003eopenai/openai-agents-python#2818\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2135\"\u003e#2135\u003c/a\u003e add public flush_traces API by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2844\"\u003eopenai/openai-agents-python#2844\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2823\"\u003e#2823\u003c/a\u003e AnyLLM reasoning extraction for iterable vLLM/any-llm Reasoning objects by \u003ca href=\"https://github.com/ziqi-cn\"\u003e\u003ccode\u003e@​ziqi-cn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2822\"\u003eopenai/openai-agents-python#2822\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: serialize SQLite session writes with shared file locks by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2843\"\u003eopenai/openai-agents-python#2843\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump openai/codex-action from 1.4 to 1.6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2819\"\u003eopenai/openai-agents-python#2819\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump astral-sh/setup-uv from 7.3.1 to 8.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2820\"\u003eopenai/openai-agents-python#2820\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: sync examples.md with current examples directory by \u003ca href=\"https://github.com/AbdullahBapra\"\u003e\u003ccode\u003e@​AbdullahBapra\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2827\"\u003eopenai/openai-agents-python#2827\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2828\"\u003eopenai/openai-agents-python#2828\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.13.5 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2821\"\u003eopenai/openai-agents-python#2821\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AbdullahBapra\"\u003e\u003ccode\u003e@​AbdullahBapra\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2827\"\u003eopenai/openai-agents-python#2827\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ziqi-cn\"\u003e\u003ccode\u003e@​ziqi-cn\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2822\"\u003eopenai/openai-agents-python#2822\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.13.4...v0.13.5\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.13.4...v0.13.5\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/openai/openai-agents-python/commit/bfc8c6355ff0cc2b7f43980ed1b459f411dc42e5\"\u003e\u003ccode\u003ebfc8c63\u003c/code\u003e\u003c/a\u003e Release 0.13.6 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2861\"\u003e#2861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/690079e2b98a54e0a3ba165cb36ebdef33caa6b2\"\u003e\u003ccode\u003e690079e\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2863\"\u003e#2863\u003c/a\u003e lazy-load SQLiteSession exports (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2864\"\u003e#2864\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/fb67680fae60fef27cd0e71e73a68c73f9212526\"\u003e\u003ccode\u003efb67680\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2856\"\u003e#2856\u003c/a\u003e stop recursive trace preview truncation (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2860\"\u003e#2860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/c06cd45004f63bd33ef9dd66bdc2b4d0cdc82e1b\"\u003e\u003ccode\u003ec06cd45\u003c/code\u003e\u003c/a\u003e fix: harden SQLAlchemySession against transient SQLite locks (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2854\"\u003e#2854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/aeb653e56286895e7d8918b220e9d99b9e739f35\"\u003e\u003ccode\u003eaeb653e\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2853\"\u003e#2853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/0386210b3bc754ce13165672720ee2cecae53767\"\u003e\u003ccode\u003e0386210\u003c/code\u003e\u003c/a\u003e docs(tracing): add HoneyHive to tracing integrations list (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2851\"\u003e#2851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/fa508992edc6640f2ccf6addfbdb30c98f109b5d\"\u003e\u003ccode\u003efa50899\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2847\"\u003e#2847\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/e1d861ca5076a262e395344bbcfc95857cedaf78\"\u003e\u003ccode\u003ee1d861c\u003c/code\u003e\u003c/a\u003e docs: updates for \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2844\"\u003e#2844\u003c/a\u003e changes (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2845\"\u003e#2845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/b0ab25c2d6796c7699492dd2289efa509aae3705\"\u003e\u003ccode\u003eb0ab25c\u003c/code\u003e\u003c/a\u003e Release 0.13.5 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2821\"\u003e#2821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/7a3f6b70d1bd4e700f3a06547b673295fb52e74d\"\u003e\u003ccode\u003e7a3f6b7\u003c/code\u003e\u003c/a\u003e feat: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2135\"\u003e#2135\u003c/a\u003e add public flush_traces API (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2844\"\u003e#2844\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.13.4...v0.13.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=openai-agents\u0026package-manager=pip\u0026previous-version=0.13.4\u0026new-version=0.13.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/HARISHMARAN/Harry-s-F1-data/pull/61","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/HARISHMARAN%2FHarry-s-F1-data/issues/61","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/61/packages"}},{"old_version":"0.10.0","new_version":"0.12.4","update_type":"minor","path":null,"pr_created_at":"2026-03-19T02:54:08.000Z","version_change":"0.10.0 → 0.12.4","issue":{"uuid":"4098929665","node_id":"PR_kwDOJpb2687Lumv1","number":2596,"state":"closed","title":"chore(deps): bump the py-minor-and-patch group across 1 directory with 17 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-23T11:32:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-19T02:54:08.000Z","updated_at":"2026-03-23T11:32:52.000Z","time_to_close":376722,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"py-minor-and-patch","update_count":17,"packages":[{"name":"opentelemetry-sdk","old_version":"1.38.0","new_version":"1.40.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"openai-agents","old_version":"0.10.0","new_version":"0.12.4","repository_url":"https://github.com/openai/openai-agents-python"},{"name":"claude-agent-sdk","old_version":"0.1.39","new_version":"0.1.49","repository_url":"https://github.com/anthropics/claude-agent-sdk-python"},{"name":"wrapt","old_version":"2.1.1","new_version":"2.1.2","repository_url":"https://github.com/GrahamDumpleton/wrapt"},{"name":"ruff","old_version":"0.15.2","new_version":"0.15.6","repository_url":"https://github.com/astral-sh/ruff"},{"name":"fastapi","old_version":"0.132.0","new_version":"0.135.1","repository_url":"https://github.com/fastapi/fastapi"},{"name":"uvicorn","old_version":"0.41.0","new_version":"0.42.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"langchain-core","old_version":"1.2.15","new_version":"1.2.20","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langchain-openai","old_version":"1.1.10","new_version":"1.1.11","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langchain-anthropic","old_version":"1.3.3","new_version":"1.4.0","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"google-genai","old_version":"1.64.0","new_version":"1.68.0","repository_url":"https://github.com/googleapis/python-genai"},{"name":"ty","old_version":"0.0.18","new_version":"0.0.23","repository_url":"https://github.com/astral-sh/ty"}],"path":null,"ecosystem":"pip"},"body":"Bumps the py-minor-and-patch group with 12 updates in the /python directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.38.0` | `1.40.0` |\n| [openai-agents](https://github.com/openai/openai-agents-python) | `0.10.0` | `0.12.4` |\n| [claude-agent-sdk](https://github.com/anthropics/claude-agent-sdk-python) | `0.1.39` | `0.1.49` |\n| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `2.1.1` | `2.1.2` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.2` | `0.15.6` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.132.0` | `0.135.1` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.41.0` | `0.42.0` |\n| [langchain-core](https://github.com/langchain-ai/langchain) | `1.2.15` | `1.2.20` |\n| [langchain-openai](https://github.com/langchain-ai/langchain) | `1.1.10` | `1.1.11` |\n| [langchain-anthropic](https://github.com/langchain-ai/langchain) | `1.3.3` | `1.4.0` |\n| [google-genai](https://github.com/googleapis/python-genai) | `1.64.0` | `1.68.0` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.18` | `0.0.23` |\n\n\nUpdates `opentelemetry-sdk` from 1.38.0 to 1.40.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.40.0/0.61b0 (2026-03-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: deprecate \u003ccode\u003eLoggingHandler\u003c/code\u003e in favor of \u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e, see \u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e documentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4919\"\u003e#4919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Clarify log processor error handling expectations in documentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4915\"\u003e#4915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump semantic-conventions to v1.40.0\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4941\"\u003e#4941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd stale PR GitHub Action\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4926\"\u003e#4926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Drop unused Jaeger exporter environment variables (exporter removed in 1.22.0)\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Clarify timeout units in environment variable documentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4906\"\u003e#4906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: Fix re-initialization of gRPC channel on UNAVAILABLE error\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4825\"\u003e#4825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: Fix duplicate HELP/TYPE declarations for metrics with different label sets\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4868\"\u003e#4868\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow loading all resource detectors by setting \u003ccode\u003eOTEL_EXPERIMENTAL_RESOURCE_DETECTORS\u003c/code\u003e to \u003ccode\u003e*\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4819\"\u003e#4819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Fix the type hint of the \u003ccode\u003e_metrics_data\u003c/code\u003e property to allow \u003ccode\u003eNone\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4837\"\u003e#4837\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRegenerate opentelemetry-proto code with v1.9.0 release\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4840\"\u003e#4840\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd python 3.14 support\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4798\"\u003e#4798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSilence events API warnings for internal users\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4847\"\u003e#4847\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eopentelemetry-sdk: make it possible to override the default processors in the SDK configurator\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4806\"\u003e#4806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent possible endless recursion from happening in \u003ccode\u003eSimpleLogRecordProcessor.on_emit\u003c/code\u003e,\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4799\"\u003e#4799\u003c/a\u003e) and (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4867\"\u003e#4867\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImplement span start/end metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4880\"\u003e#4880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd environment variable carriers to API\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4609\"\u003e#4609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd experimental composable rule based sampler\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4882\"\u003e#4882\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake ConcurrentMultiSpanProcessor fork safe\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4862\"\u003e#4862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: fix retry logic and error handling for connection failures in trace, metric, and log exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4709\"\u003e#4709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: avoid RuntimeError during iteration of view instrument match dictionary in MetricReaderStorage.collect()\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4891\"\u003e#4891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement experimental TracerConfigurator\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4861\"\u003e#4861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Fix instrument creation race condition\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4913\"\u003e#4913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump semantic-conventions to v1.39.0\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4914\"\u003e#4914\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/open-telemetry/opentelemetry-python/commit/dd2202172982d1b3cc896ddecc2bef27d7956acb\"\u003e\u003ccode\u003edd22021\u003c/code\u003e\u003c/a\u003e Prepare release 1.40.0/0.61b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4949\"\u003e#4949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/26c716602cd5927a4ad1e36a77baefdeba5457a5\"\u003e\u003ccode\u003e26c7166\u003c/code\u003e\u003c/a\u003e api: add docstrings to core metrics instrument abstract methods (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4923\"\u003e#4923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/c17ba89fdf62e39221211c2110816daff09e4238\"\u003e\u003ccode\u003ec17ba89\u003c/code\u003e\u003c/a\u003e opentelemetry-sdk: deprecate logging handler (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4919\"\u003e#4919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/6ea15ffa5da5c4fa0b599e1c0c54644e42be20b3\"\u003e\u003ccode\u003e6ea15ff\u003c/code\u003e\u003c/a\u003e docs: Clarify log processor error handling expectations (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4915\"\u003e#4915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/24f4fb0ead320b8a1196f01612ce94b1ea959838\"\u003e\u003ccode\u003e24f4fb0\u003c/code\u003e\u003c/a\u003e bump semconv to v1.40.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4941\"\u003e#4941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/2308baf3ee7053d70ca3db8b9ba02a2387ef2aeb\"\u003e\u003ccode\u003e2308baf\u003c/code\u003e\u003c/a\u003e maint: Add stale github action (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4926\"\u003e#4926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/99b47df940a624523aecad88f54d7721beec6559\"\u003e\u003ccode\u003e99b47df\u003c/code\u003e\u003c/a\u003e config: generate model code from json schema (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4879\"\u003e#4879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/9a658ac86376a13ccf3a67d245a9f3edc5f19043\"\u003e\u003ccode\u003e9a658ac\u003c/code\u003e\u003c/a\u003e Add Lukas to approvers (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4939\"\u003e#4939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1c64c149681d47c42506ccc7e9840aad049c755e\"\u003e\u003ccode\u003e1c64c14\u003c/code\u003e\u003c/a\u003e opentelemetry-sdk: change sdk metrics related parameters as named (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4937\"\u003e#4937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7247af7f0f131541df5f3509e5ecd7e4f90f18c2\"\u003e\u003ccode\u003e7247af7\u003c/code\u003e\u003c/a\u003e opentelemetry-sdk: change sdk metrics related parameters as named (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4937\"\u003e#4937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.38.0...v1.40.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-api` from 1.38.0 to 1.40.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-api's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.40.0/0.61b0 (2026-03-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: deprecate \u003ccode\u003eLoggingHandler\u003c/code\u003e in favor of \u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e, see \u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e documentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4919\"\u003e#4919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Clarify log processor error handling expectations in documentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4915\"\u003e#4915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump semantic-conventions to v1.40.0\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4941\"\u003e#4941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd stale PR GitHub Action\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4926\"\u003e#4926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Drop unused Jaeger exporter environment variables (exporter removed in 1.22.0)\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Clarify timeout units in environment variable documentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4906\"\u003e#4906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: Fix re-initialization of gRPC channel on UNAVAILABLE error\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4825\"\u003e#4825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: Fix duplicate HELP/TYPE declarations for metrics with different label sets\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4868\"\u003e#4868\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow loading all resource detectors by setting \u003ccode\u003eOTEL_EXPERIMENTAL_RESOURCE_DETECTORS\u003c/code\u003e to \u003ccode\u003e*\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4819\"\u003e#4819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Fix the type hint of the \u003ccode\u003e_metrics_data\u003c/code\u003e property to allow \u003ccode\u003eNone\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4837\"\u003e#4837\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRegenerate opentelemetry-proto code with v1.9.0 release\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4840\"\u003e#4840\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd python 3.14 support\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4798\"\u003e#4798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSilence events API warnings for internal users\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4847\"\u003e#4847\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eopentelemetry-sdk: make it possible to override the default processors in the SDK configurator\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4806\"\u003e#4806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent possible endless recursion from happening in \u003ccode\u003eSimpleLogRecordProcessor.on_emit\u003c/code\u003e,\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4799\"\u003e#4799\u003c/a\u003e) and (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4867\"\u003e#4867\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImplement span start/end metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4880\"\u003e#4880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd environment variable carriers to API\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4609\"\u003e#4609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd experimental composable rule based sampler\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4882\"\u003e#4882\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake ConcurrentMultiSpanProcessor fork safe\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4862\"\u003e#4862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: fix retry logic and error handling for connection failures in trace, metric, and log exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4709\"\u003e#4709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: avoid RuntimeError during iteration of view instrument match dictionary in MetricReaderStorage.collect()\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4891\"\u003e#4891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement experimental TracerConfigurator\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4861\"\u003e#4861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Fix instrument creation race condition\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4913\"\u003e#4913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump semantic-conventions to v1.39.0\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4914\"\u003e#4914\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/open-telemetry/opentelemetry-python/commit/dd2202172982d1b3cc896ddecc2bef27d7956acb\"\u003e\u003ccode\u003edd22021\u003c/code\u003e\u003c/a\u003e Prepare release 1.40.0/0.61b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4949\"\u003e#4949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/26c716602cd5927a4ad1e36a77baefdeba5457a5\"\u003e\u003ccode\u003e26c7166\u003c/code\u003e\u003c/a\u003e api: add docstrings to core metrics instrument abstract methods (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4923\"\u003e#4923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/c17ba89fdf62e39221211c2110816daff09e4238\"\u003e\u003ccode\u003ec17ba89\u003c/code\u003e\u003c/a\u003e opentelemetry-sdk: deprecate logging handler (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4919\"\u003e#4919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/6ea15ffa5da5c4fa0b599e1c0c54644e42be20b3\"\u003e\u003ccode\u003e6ea15ff\u003c/code\u003e\u003c/a\u003e docs: Clarify log processor error handling expectations (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4915\"\u003e#4915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/24f4fb0ead320b8a1196f01612ce94b1ea959838\"\u003e\u003ccode\u003e24f4fb0\u003c/code\u003e\u003c/a\u003e bump semconv to v1.40.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4941\"\u003e#4941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/2308baf3ee7053d70ca3db8b9ba02a2387ef2aeb\"\u003e\u003ccode\u003e2308baf\u003c/code\u003e\u003c/a\u003e maint: Add stale github action (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4926\"\u003e#4926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/99b47df940a624523aecad88f54d7721beec6559\"\u003e\u003ccode\u003e99b47df\u003c/code\u003e\u003c/a\u003e config: generate model code from json schema (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4879\"\u003e#4879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/9a658ac86376a13ccf3a67d245a9f3edc5f19043\"\u003e\u003ccode\u003e9a658ac\u003c/code\u003e\u003c/a\u003e Add Lukas to approvers (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4939\"\u003e#4939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1c64c149681d47c42506ccc7e9840aad049c755e\"\u003e\u003ccode\u003e1c64c14\u003c/code\u003e\u003c/a\u003e opentelemetry-sdk: change sdk metrics related parameters as named (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4937\"\u003e#4937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7247af7f0f131541df5f3509e5ecd7e4f90f18c2\"\u003e\u003ccode\u003e7247af7\u003c/code\u003e\u003c/a\u003e opentelemetry-sdk: change sdk metrics related parameters as named (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4937\"\u003e#4937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.38.0...v1.40.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-exporter-otlp-proto-http` from 1.38.0 to 1.40.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md\"\u003eopentelemetry-exporter-otlp-proto-http's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.40.0/0.61b0 (2026-03-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: deprecate \u003ccode\u003eLoggingHandler\u003c/code\u003e in favor of \u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e, see \u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e documentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4919\"\u003e#4919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Clarify log processor error handling expectations in documentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4915\"\u003e#4915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump semantic-conventions to v1.40.0\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4941\"\u003e#4941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd stale PR GitHub Action\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4926\"\u003e#4926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Drop unused Jaeger exporter environment variables (exporter removed in 1.22.0)\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4918\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Clarify timeout units in environment variable documentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4906\"\u003e#4906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-grpc\u003c/code\u003e: Fix re-initialization of gRPC channel on UNAVAILABLE error\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4825\"\u003e#4825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-prometheus\u003c/code\u003e: Fix duplicate HELP/TYPE declarations for metrics with different label sets\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4868\"\u003e#4868\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow loading all resource detectors by setting \u003ccode\u003eOTEL_EXPERIMENTAL_RESOURCE_DETECTORS\u003c/code\u003e to \u003ccode\u003e*\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4819\"\u003e#4819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Fix the type hint of the \u003ccode\u003e_metrics_data\u003c/code\u003e property to allow \u003ccode\u003eNone\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4837\"\u003e#4837\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRegenerate opentelemetry-proto code with v1.9.0 release\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4840\"\u003e#4840\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd python 3.14 support\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4798\"\u003e#4798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSilence events API warnings for internal users\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4847\"\u003e#4847\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eopentelemetry-sdk: make it possible to override the default processors in the SDK configurator\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4806\"\u003e#4806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent possible endless recursion from happening in \u003ccode\u003eSimpleLogRecordProcessor.on_emit\u003c/code\u003e,\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4799\"\u003e#4799\u003c/a\u003e) and (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4867\"\u003e#4867\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImplement span start/end metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4880\"\u003e#4880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd environment variable carriers to API\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4609\"\u003e#4609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd experimental composable rule based sampler\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4882\"\u003e#4882\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake ConcurrentMultiSpanProcessor fork safe\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4862\"\u003e#4862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-exporter-otlp-proto-http\u003c/code\u003e: fix retry logic and error handling for connection failures in trace, metric, and log exporters\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4709\"\u003e#4709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: avoid RuntimeError during iteration of view instrument match dictionary in MetricReaderStorage.collect()\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4891\"\u003e#4891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement experimental TracerConfigurator\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4861\"\u003e#4861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-sdk\u003c/code\u003e: Fix instrument creation race condition\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4913\"\u003e#4913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump semantic-conventions to v1.39.0\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/4914\"\u003e#4914\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/open-telemetry/opentelemetry-python/commit/dd2202172982d1b3cc896ddecc2bef27d7956acb\"\u003e\u003ccode\u003edd22021\u003c/code\u003e\u003c/a\u003e Prepare release 1.40.0/0.61b0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4949\"\u003e#4949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/26c716602cd5927a4ad1e36a77baefdeba5457a5\"\u003e\u003ccode\u003e26c7166\u003c/code\u003e\u003c/a\u003e api: add docstrings to core metrics instrument abstract methods (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4923\"\u003e#4923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/c17ba89fdf62e39221211c2110816daff09e4238\"\u003e\u003ccode\u003ec17ba89\u003c/code\u003e\u003c/a\u003e opentelemetry-sdk: deprecate logging handler (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4919\"\u003e#4919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/6ea15ffa5da5c4fa0b599e1c0c54644e42be20b3\"\u003e\u003ccode\u003e6ea15ff\u003c/code\u003e\u003c/a\u003e docs: Clarify log processor error handling expectations (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4915\"\u003e#4915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/24f4fb0ead320b8a1196f01612ce94b1ea959838\"\u003e\u003ccode\u003e24f4fb0\u003c/code\u003e\u003c/a\u003e bump semconv to v1.40.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4941\"\u003e#4941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/2308baf3ee7053d70ca3db8b9ba02a2387ef2aeb\"\u003e\u003ccode\u003e2308baf\u003c/code\u003e\u003c/a\u003e maint: Add stale github action (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4926\"\u003e#4926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/99b47df940a624523aecad88f54d7721beec6559\"\u003e\u003ccode\u003e99b47df\u003c/code\u003e\u003c/a\u003e config: generate model code from json schema (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4879\"\u003e#4879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/9a658ac86376a13ccf3a67d245a9f3edc5f19043\"\u003e\u003ccode\u003e9a658ac\u003c/code\u003e\u003c/a\u003e Add Lukas to approvers (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4939\"\u003e#4939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/1c64c149681d47c42506ccc7e9840aad049c755e\"\u003e\u003ccode\u003e1c64c14\u003c/code\u003e\u003c/a\u003e opentelemetry-sdk: change sdk metrics related parameters as named (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4937\"\u003e#4937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/commit/7247af7f0f131541df5f3509e5ecd7e4f90f18c2\"\u003e\u003ccode\u003e7247af7\u003c/code\u003e\u003c/a\u003e opentelemetry-sdk: change sdk metrics related parameters as named (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/issues/4937\"\u003e#4937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python/compare/v1.38.0...v1.40.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai-agents` from 0.10.0 to 0.12.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-agents-python/releases\"\u003eopenai-agents's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.12.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: normalize cancelled MCP invocations into tool errors by \u003ca href=\"https://github.com/elainegan-openai\"\u003e\u003ccode\u003e@​elainegan-openai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2704\"\u003eopenai/openai-agents-python#2704\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: retry transient streamable-http MCP tool failures on isolated session by \u003ca href=\"https://github.com/elainegan-openai\"\u003e\u003ccode\u003e@​elainegan-openai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2703\"\u003eopenai/openai-agents-python#2703\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(memory): honor custom table names in AdvancedSQLiteSession by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2694\"\u003eopenai/openai-agents-python#2694\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(retry): cap jittered delay to max_delay by \u003ca href=\"https://github.com/Dhakshin2007\"\u003e\u003ccode\u003e@​Dhakshin2007\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2676\"\u003eopenai/openai-agents-python#2676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: harden PR auto-labeling against diff and output drift by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2691\"\u003eopenai/openai-agents-python#2691\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: streamline models page and UI tweak by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2696\"\u003eopenai/openai-agents-python#2696\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2697\"\u003eopenai/openai-agents-python#2697\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.12.4 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2705\"\u003eopenai/openai-agents-python#2705\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Dhakshin2007\"\u003e\u003ccode\u003e@​Dhakshin2007\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2676\"\u003eopenai/openai-agents-python#2676\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.12.3...v0.12.4\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.12.3...v0.12.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.12.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: handle inner MCP tool cancellations as tool errors by \u003ca href=\"https://github.com/elainegan-openai\"\u003e\u003ccode\u003e@​elainegan-openai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2681\"\u003eopenai/openai-agents-python#2681\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: serialize streamable-http MCP requests per session by \u003ca href=\"https://github.com/elainegan-openai\"\u003e\u003ccode\u003e@​elainegan-openai\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2682\"\u003eopenai/openai-agents-python#2682\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2668\"\u003eopenai/openai-agents-python#2668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix minor typos in provider comments and test name by \u003ca href=\"https://github.com/luojiyin1987\"\u003e\u003ccode\u003e@​luojiyin1987\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2674\"\u003eopenai/openai-agents-python#2674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.12.3 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2684\"\u003eopenai/openai-agents-python#2684\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/luojiyin1987\"\u003e\u003ccode\u003e@​luojiyin1987\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2674\"\u003eopenai/openai-agents-python#2674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elainegan-openai\"\u003e\u003ccode\u003e@​elainegan-openai\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2681\"\u003eopenai/openai-agents-python#2681\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.12.2...v0.12.3\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.12.2...v0.12.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.12.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2664\"\u003e#2664\u003c/a\u003e drop orphan hosted shell calls before multi-turn replay by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2665\"\u003eopenai/openai-agents-python#2665\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2258\"\u003e#2258\u003c/a\u003e add normalized to_input_list mode for filtered handoff follow-ups by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2667\"\u003eopenai/openai-agents-python#2667\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2663\"\u003eopenai/openai-agents-python#2663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.12.2 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2666\"\u003eopenai/openai-agents-python#2666\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.12.1...v0.12.2\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.12.1...v0.12.2\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-agents-python/blob/main/docs/release.md\"\u003eopenai-agents's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease process/changelog\u003c/h1\u003e\n\u003cp\u003eThe project follows a slightly modified version of semantic versioning using the form \u003ccode\u003e0.Y.Z\u003c/code\u003e. The leading \u003ccode\u003e0\u003c/code\u003e indicates the SDK is still evolving rapidly. Increment the components as follows:\u003c/p\u003e\n\u003ch2\u003eMinor (\u003ccode\u003eY\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increase minor versions \u003ccode\u003eY\u003c/code\u003e for \u003cstrong\u003ebreaking changes\u003c/strong\u003e to any public interfaces that are not marked as beta. For example, going from \u003ccode\u003e0.0.x\u003c/code\u003e to \u003ccode\u003e0.1.x\u003c/code\u003e might include breaking changes.\u003c/p\u003e\n\u003cp\u003eIf you don't want breaking changes, we recommend pinning to \u003ccode\u003e0.0.x\u003c/code\u003e versions in your project.\u003c/p\u003e\n\u003ch2\u003ePatch (\u003ccode\u003eZ\u003c/code\u003e) versions\u003c/h2\u003e\n\u003cp\u003eWe will increment \u003ccode\u003eZ\u003c/code\u003e for non-breaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes\u003c/li\u003e\n\u003cli\u003eNew features\u003c/li\u003e\n\u003cli\u003eChanges to private interfaces\u003c/li\u003e\n\u003cli\u003eUpdates to beta features\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBreaking change changelog\u003c/h2\u003e\n\u003ch3\u003e0.12.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change. Check \u003ca href=\"https://github.com/openai/openai-agents-python/releases/tag/v0.12.0\"\u003ethe release notes\u003c/a\u003e for major feature additions.\u003c/p\u003e\n\u003ch3\u003e0.11.0\u003c/h3\u003e\n\u003cp\u003eThis minor release does \u003cstrong\u003enot\u003c/strong\u003e introduce a breaking change. Check \u003ca href=\"https://github.com/openai/openai-agents-python/releases/tag/v0.11.0\"\u003ethe release notes\u003c/a\u003e for major feature additions.\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/openai/openai-agents-python/commit/5c9fb2c10cc452188b70d34293c725248388bb7c\"\u003e\u003ccode\u003e5c9fb2c\u003c/code\u003e\u003c/a\u003e Release 0.12.4 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2705\"\u003e#2705\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/c4c1772172c94efef69a1064d1018956c10149e8\"\u003e\u003ccode\u003ec4c1772\u003c/code\u003e\u003c/a\u003e Retry transient streamable-http MCP tool failures on isolated session (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2703\"\u003e#2703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/29f422be7a0c435ba18b83e65651910577c93660\"\u003e\u003ccode\u003e29f422b\u003c/code\u003e\u003c/a\u003e fix(retry): cap jittered delay to max_delay (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2676\"\u003e#2676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/f29a6580a13a1a2dde1f9360f62a5f39cd832f30\"\u003e\u003ccode\u003ef29a658\u003c/code\u003e\u003c/a\u003e fix(memory): honor custom table names in AdvancedSQLiteSession (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2694\"\u003e#2694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/8f3b10433c279c7b97655d6c5ca3ea6cd06fd502\"\u003e\u003ccode\u003e8f3b104\u003c/code\u003e\u003c/a\u003e ci: codex 0.115.0 changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/22dd2afa282211e3555b79273dbbbfbf1670d687\"\u003e\u003ccode\u003e22dd2af\u003c/code\u003e\u003c/a\u003e Normalize cancelled MCP invocations into tool errors (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2704\"\u003e#2704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/90009b27932515f197e246589240fa847bc4c64a\"\u003e\u003ccode\u003e90009b2\u003c/code\u003e\u003c/a\u003e docs: remove navigation.expand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/ceb2d5bc0038eeea6e21aba743e8312fd4c16f05\"\u003e\u003ccode\u003eceb2d5b\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2697\"\u003e#2697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/5e458adbf08db6b4dec88e1c5641a43e64e365c0\"\u003e\u003ccode\u003e5e458ad\u003c/code\u003e\u003c/a\u003e docs: streamline models page and UI tweak (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2696\"\u003e#2696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/457d1a55c66565956fa70d63e856eb3a8723a714\"\u003e\u003ccode\u003e457d1a5\u003c/code\u003e\u003c/a\u003e ci: improve auto labeling logic\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.10.0...v0.12.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `claude-agent-sdk` from 0.1.39 to 0.1.49\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/anthropics/claude-agent-sdk-python/releases\"\u003eclaude-agent-sdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.1.48\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFine-grained tool streaming\u003c/strong\u003e: Fixed \u003ccode\u003einclude_partial_messages=True\u003c/code\u003e not delivering \u003ccode\u003einput_json_delta\u003c/code\u003e events by enabling the \u003ccode\u003eCLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING\u003c/code\u003e environment variable in the subprocess. This regression affected versions 0.1.36 through 0.1.47 for users without the server-side feature flag (\u003ca href=\"https://redirect.github.com/anthropics/claude-agent-sdk-python/issues/644\"\u003e#644\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal/Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated bundled Claude CLI to version 2.1.71\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003ePyPI:\u003c/strong\u003e \u003ca href=\"https://pypi.org/project/claude-agent-sdk/0.1.48/\"\u003ehttps://pypi.org/project/claude-agent-sdk/0.1.48/\u003c/a\u003e\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003epip install claude-agent-sdk==0.1.48\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003ev0.1.47\u003c/h2\u003e\n\u003ch3\u003eInternal/Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated bundled Claude CLI to version 2.1.70\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003ePyPI:\u003c/strong\u003e \u003ca href=\"https://pypi.org/project/claude-agent-sdk/0.1.47/\"\u003ehttps://pypi.org/project/claude-agent-sdk/0.1.47/\u003c/a\u003e\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003epip install claude-agent-sdk==0.1.47\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003ev0.1.46\u003c/h2\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSession history functions\u003c/strong\u003e: Added \u003ccode\u003elist_sessions()\u003c/code\u003e and \u003ccode\u003eget_session_messages()\u003c/code\u003e top-level functions for retrieving past session data (\u003ca href=\"https://redirect.github.com/anthropics/claude-agent-sdk-python/issues/622\"\u003e#622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMCP control methods\u003c/strong\u003e: Added \u003ccode\u003eadd_mcp_server()\u003c/code\u003e, \u003ccode\u003eremove_mcp_server()\u003c/code\u003e, and typed \u003ccode\u003eMcpServerStatus\u003c/code\u003e for runtime MCP server management (\u003ca href=\"https://redirect.github.com/anthropics/claude-agent-sdk-python/issues/620\"\u003e#620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyped task messages\u003c/strong\u003e: Added \u003ccode\u003eTaskStarted\u003c/code\u003e, \u003ccode\u003eTaskProgress\u003c/code\u003e, and \u003ccode\u003eTaskNotification\u003c/code\u003e message subclasses for better type safety when handling task-related events (\u003ca href=\"https://redirect.github.com/anthropics/claude-agent-sdk-python/issues/621\"\u003e#621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eResultMessage stop_reason\u003c/strong\u003e: Added \u003ccode\u003estop_reason\u003c/code\u003e field to \u003ccode\u003eResultMessage\u003c/code\u003e for inspecting why a conversation turn ended (\u003ca href=\"https://redirect.github.com/anthropics/claude-agent-sdk-python/issues/619\"\u003e#619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHook input enhancements\u003c/strong\u003e: Added \u003ccode\u003eagent_id\u003c/code\u003e and \u003ccode\u003eagent_type\u003c/code\u003e fields to tool-lifecycle hook inputs (\u003ccode\u003ePreToolUseHookInput\u003c/code\u003e, \u003ccode\u003ePostToolUseHookInput\u003c/code\u003e, \u003ccode\u003ePostToolUseFailureHookInput\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/anthropics/claude-agent-sdk-python/issues/628\"\u003e#628\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eString prompt MCP initialization\u003c/strong\u003e: Fixed an issue where passing a string prompt would close stdin before MCP server initialization completed, causing MCP servers to fail to register (\u003ca href=\"https://redirect.github.com/anthropics/claude-agent-sdk-python/issues/630\"\u003e#630\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal/Other Changes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/anthropics/claude-agent-sdk-python/blob/main/CHANGELOG.md\"\u003eclaude-agent-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e0.1.48\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFine-grained tool streaming\u003c/strong\u003e: Fixed \u003ccode\u003einclude_partial_messages=True\u003c/code\u003e not delivering \u003ccode\u003einput_json_delta\u003c/code\u003e events by enabling the \u003ccode\u003eCLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING\u003c/code\u003e environment variable in the subprocess. This regression affected versions 0.1.36 through 0.1.47 for users without the server-side feature flag (\u003ca href=\"https://redirect.github.com/anthropics/claude-agent-sdk-python/issues/644\"\u003e#644\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal/Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated bundled Claude CLI to version 2.1.71\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.1.47\u003c/h2\u003e\n\u003ch3\u003eInternal/Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated bundled Claude CLI to version 2.1.70\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.1.46\u003c/h2\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSession history functions\u003c/strong\u003e: Added \u003ccode\u003elist_sessions()\u003c/code\u003e and \u003ccode\u003eget_session_messages()\u003c/code\u003e top-level functions for retrieving past session data (\u003ca href=\"https://redirect.github.com/anthropics/claude-agent-sdk-python/issues/622\"\u003e#622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMCP control methods\u003c/strong\u003e: Added \u003ccode\u003eadd_mcp_server()\u003c/code\u003e, \u003ccode\u003eremove_mcp_server()\u003c/code\u003e, and typed \u003ccode\u003eMcpServerStatus\u003c/code\u003e for runtime MCP server management (\u003ca href=\"https://redirect.github.com/anthropics/claude-agent-sdk-python/issues/620\"\u003e#620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTyped task messages\u003c/strong\u003e: Added \u003ccode\u003eTaskStarted\u003c/code\u003e, \u003ccode\u003eTaskProgress\u003c/code\u003e, and \u003ccode\u003eTaskNotification\u003c/code\u003e message subclasses for better type safety when handling task-related events (\u003ca href=\"https://redirect.github.com/anthropics/claude-agent-sdk-python/issues/621\"\u003e#621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eResultMessage stop_reason\u003c/strong\u003e: Added \u003ccode\u003estop_reason\u003c/code\u003e field to \u003ccode\u003eResultMessage\u003c/code\u003e for inspecting why a conversation turn ended (\u003ca href=\"https://redirect.github.com/anthropics/claude-agent-sdk-python/issues/619\"\u003e#619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHook input enhancements\u003c/strong\u003e: Added \u003ccode\u003eagent_id\u003c/code\u003e and \u003ccode\u003eagent_type\u003c/code\u003e fields to tool-lifecycle hook inputs (\u003ccode\u003ePreToolUseHookInput\u003c/code\u003e, \u003ccode\u003ePostToolUseHookInput\u003c/code\u003e, \u003ccode\u003ePostToolUseFailureHookInput\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/anthropics/claude-agent-sdk-python/issues/628\"\u003e#628\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eString prompt MCP initialization\u003c/strong\u003e: Fixed an issue where passing a string prompt would close stdin before MCP server initialization completed, causing MCP servers to fail to register (\u003ca href=\"https://redirect.github.com/anthropics/claude-agent-sdk-python/issues/630\"\u003e#630\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal/Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated bundled Claude CLI to version 2.1.69\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.1.45\u003c/h2\u003e\n\u003ch3\u003eInternal/Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated bundled Claude CLI to version 2.1.63\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.1.44\u003c/h2\u003e\n\u003ch3\u003eInternal/Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated bundled Claude CLI to version 2.1.59\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.1.43\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/anthropics/claude-agent-sdk-python/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-adk` from 1.25.1 to 1.14.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/blob/main/CHANGELOG.md\"\u003egoogle-adk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.25.0...v1.25.1\"\u003e1.25.1\u003c/a\u003e (2026-02-18)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickling lock errors in McpSessionManager (\u003ca href=\"https://github.com/google/adk-python/commit/4e2d6159ae3552954aaae295fef3e09118502898\"\u003e4e2d615\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.24.1...v1.25.0\"\u003e1.25.0\u003c/a\u003e (2026-02-11)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a demo for the simple prompt optimizer for the optimization interface (\u003ca href=\"https://github.com/google/adk-python/commit/0abf4cd2c7103a071506c9398455a3bd66fe5da5\"\u003e0abf4cd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--auto_create_session\u003c/code\u003e flag to \u003ccode\u003eadk api_server\u003c/code\u003e CLI (\u003ca href=\"https://github.com/google/adk-python/commit/40c15d059599472b40f48272a464eb3cb7345fc6\"\u003e40c15d0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eadd_events_to_memory\u003c/code\u003e facade for event-delta (\u003ca href=\"https://github.com/google/adk-python/commit/59e88972ae4f10274444593db0607f40cfcc597e\"\u003e59e8897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd post-invocation token-threshold compaction with event retention (\u003ca href=\"https://github.com/google/adk-python/commit/a88e8647558a9b9d0bfdf38d2d8de058e3ba0596\"\u003ea88e864\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd report generation to \u003ccode\u003eadk conformance test\u003c/code\u003e command (\u003ca href=\"https://github.com/google/adk-python/commit/43c437e38b9109b68a81de886d1901e4d8f87a01\"\u003e43c437e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Models]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd base_url option to Gemini LLM class (\u003ca href=\"https://github.com/google/adk-python/commit/781f605a1e5de6d77b69d7e7b9835ec6fc8de4bf\"\u003e781f605\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnhance google credentials config to support externally passed access token (\u003ca href=\"https://github.com/google/adk-python/commit/3cf43e3842d9987499ea70d6f63d6e1c4d4a07db\"\u003e3cf43e3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate agent simulator by improving prompts and add environment data (\u003ca href=\"https://github.com/google/adk-python/commit/7af1858f46b66fa4471c5ba7943385f2d23d08d3\"\u003e7af1858\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a load MCP resource tool (\u003ca href=\"https://github.com/google/adk-python/commit/e25227da5e91a8c1192af709f8e8bb2a471ded92\"\u003ee25227d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd SkillToolset to adk (\u003ca href=\"https://github.com/google/adk-python/commit/8d0279251ce4fad6f0c84bd7777eb5a74f7ba07a\"\u003e8d02792\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Web]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e/health\u003c/code\u003e and \u003ccode\u003e/version\u003c/code\u003e endpoints to ADK web server (\u003ca href=\"https://github.com/google/adk-python/commit/25ec2c6b614cf8d185ff6dbdac5697a210be68da\"\u003e25ec2c6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse async iteration for VertexAiSessionService.list_sessions pagination (\u003ca href=\"https://github.com/google/adk-python/commit/758d337c76d877e3174c35f06551cc9beb1def06\"\u003e758d337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix event loop closed bug in McpSessionManager (\u003ca href=\"https://github.com/google/adk-python/commit/4aa475145f196fb35fe97290dd9f928548bc737f\"\u003e4aa4751\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve thought_signature in function call conversions for interactions API integration (\u003ca href=\"https://github.com/google/adk-python/commit/20105690100d9c2f69c061ac08be5e94c50dc39c\"\u003e2010569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePropagate grounding and citation metadata in streaming responses (\u003ca href=\"https://github.com/google/adk-python/commit/e6da4172924ecc36ffc2535199c450a2a51c7bcc\"\u003ee6da417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd endpoints to get/list artifact version metadata (\u003ca href=\"https://github.com/google/adk-python/commit/e0b9712a492bf84ac17679095b333642a79b8ee6\"\u003ee0b9712\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport escaped curly braces in instruction templates (\u003ca href=\"https://github.com/google/adk-python/commit/7c7d25a4a6e4389e23037e70b8efdcd5341f44ea\"\u003e7c7d25a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStrip timezone for PostgreSQL timestamps in DatabaseSessionService (\u003ca href=\"https://github.com/google/adk-python/commit/19b607684f15ce2b6ffd60382211ba5600705743\"\u003e19b6076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrompt token may be None in streaming mode (\u003ca href=\"https://github.com/google/adk-python/commit/32ee07df01f10dbee0e98ca9d412440a7fe9163d\"\u003e32ee07d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePass invocation_id from \u003ccode\u003e/run\u003c/code\u003e endpoint to \u003ccode\u003eRunner.run_async\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/d2dba27134f833e5d929fdf363ada9364cc852f9\"\u003ed2dba27\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConditionally preserve function call IDs in LLM requests (\u003ca href=\"https://github.com/google/adk-python/commit/663cb75b3288d8d0649412e1009329502b21cbbc\"\u003e663cb75\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrate VertexAiMemoryBankService to use the async Vertex AI client (\u003ca href=\"https://github.com/google/adk-python/commit/64a44c28974de77cf8934f9c3d1bc03691b90e7b\"\u003e64a44c2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle list values in Gemini schema sanitization (\u003ca href=\"https://github.com/google/adk-python/commit/fd8a9e3962cca4f422beb7316cbe732edf726d51\"\u003efd8a9e3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUsed logger to log instead of print in MCP (\u003ca href=\"https://github.com/google/adk-python/commit/6bc70a6bab79b679a4b18ad146b3450fb9014475\"\u003e6bc70a6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReplace check of instance for LlmAgent with hasAttribute check (\u003ca href=\"https://github.com/google/adk-python/commit/7110336788662abb8c9bbbb0a53a50cc09130d5e\"\u003e7110336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLog exception details before re-raising in MCP session execution (\u003ca href=\"https://github.com/google/adk-python/commit/de79bf12b564a4eefc7e6a2568dbe0f08bb6efeb\"\u003ede79bf1\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/google/adk-python/commit/6ab87da592e8a297900a1c271e8e4552ae8a97b3\"\u003e\u003ccode\u003e6ab87da\u003c/code\u003e\u003c/a\u003e chore: Add back the request logging in RemoteA2aAgent given the logging was a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b53e6e3567da70d273f8441a91229708501f15cf\"\u003e\u003ccode\u003eb53e6e3\u003c/code\u003e\u003c/a\u003e chore: bump version to 1.14.1 with a patch for A2A logging issue\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/c29d41f0d0eb5e27f05be4618749460d4ee9ac34\"\u003e\u003ccode\u003ec29d41f\u003c/code\u003e\u003c/a\u003e feat: add Spanner similarity_search tool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/0c1f1fadeb5a6357af9cad0eff5d5e7103fc88b0\"\u003e\u003ccode\u003e0c1f1fa\u003c/code\u003e\u003c/a\u003e fix: Fix logging issues with RemoteA2aAgent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/bb148002f8220412ca4e431964cc1ef36bff5f77\"\u003e\u003ccode\u003ebb14800\u003c/code\u003e\u003c/a\u003e fix: Filter out thought parts when saving agent output to state\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/4c00b86e33d51b6a728180d8accb81f7a8aa4fc2\"\u003e\u003ccode\u003e4c00b86\u003c/code\u003e\u003c/a\u003e feat: Provide location config for BigQuery tools\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b3b31a9ffb9cbe618768f2e42378468d28b0519c\"\u003e\u003ccode\u003eb3b31a9\u003c/code\u003e\u003c/a\u003e chore: add a \u003ccode\u003emain.py\u003c/code\u003e script for the ADK docs updater agent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/463dcee58cf47ebf4a31bd2b6edc32583c124bb0\"\u003e\u003ccode\u003e463dcee\u003c/code\u003e\u003c/a\u003e chore: specify the default sides for roll dice agent in bidi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/4f07228f572d129631d88b0ae5b79ceb897ebc86\"\u003e\u003ccode\u003e4f07228\u003c/code\u003e\u003c/a\u003e chore: Move framework filled params to the end in the BigQuery forecast tool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/c53c02f022ec3da74180fa0c71cee572dba7fed0\"\u003e\u003ccode\u003ec53c02f\u003c/code\u003e\u003c/a\u003e chore: add clientIdEnum for CA API usage tracking\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/adk-python/compare/v1.25.1...v1.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `wrapt` from 2.1.1 to 2.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/GrahamDumpleton/wrapt/releases\"\u003ewrapt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ewrapt-2.1.2\u003c/h2\u003e\n\u003cp\u003eSee the project page on the Python Package Index at \u003ca href=\"https://pypi.org/project/wrapt/2.1.2/\"\u003ehttps://pypi.org/project/wrapt/2.1.2/\u003c/a\u003e for more information.\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/GrahamDumpleton/wrapt/blob/develop/docs/changes.rst\"\u003ewrapt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.1.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugs Fixed\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBuilding of Python wheels for riscv64 Linux platform had been accidentally\nremoved from the build configuration. This has now been added back in.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWhen a weak function proxy was created for a bound method and the instance\nit was bound to was garbage collected, calling the proxy would silently\ncall the function as unbound instead of raising a \u003ccode\u003eReferenceError\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWhen deleting an attribute named \u003ccode\u003e__annotations__\u003c/code\u003e on an object proxy, the\nattribute was only being deleted from the proxy and not also from the wrapped\nobject.\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/GrahamDumpleton/wrapt/commit/1381ae82018e7d7709731f3c7dbc1fc7d68fc8af\"\u003e\u003ccode\u003e1381ae8\u003c/code\u003e\u003c/a\u003e Merge branch 'release/2.1.2'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GrahamDumpleton/wrapt/commit/26ab4fd10c6070a069ac4b1f828a7ef14939e7a6\"\u003e\u003ccode\u003e26ab4fd\u003c/code\u003e\u003c/a\u003e Update ready for 2.1.2 release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GrahamDumpleton/wrapt/commit/fbdbef4d383e67e4a3a670f86ff3b7105c6f3855\"\u003e\u003ccode\u003efbdbef4\u003c/code\u003e\u003c/a\u003e Handle pypy which raises different exception type.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GrahamDumpleton/wrapt/commit/87baf75b04a0f3d811db5701ae7eeba1929afa80\"\u003e\u003ccode\u003e87baf75\u003c/code\u003e\u003c/a\u003e Add tests for deletion of qualname and annotations.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GrahamDumpleton/wrapt/commit/b48debf9dda9d280b04bcae732d2076f1533eae8\"\u003e\u003ccode\u003eb48debf\u003c/code\u003e\u003c/a\u003e Decided only needed a patch level update,\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GrahamDumpleton/wrapt/commit/06c698f67316ad974a188f902685c5c3e62ec35b\"\u003e\u003ccode\u003e06c698f\u003c/code\u003e\u003c/a\u003e Update release notes for annotation deletion bug.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GrahamDumpleton/wrapt/commit/6e6ed87be84f5775274d7ce6e6d5ae850f9e4827\"\u003e\u003ccode\u003e6e6ed87\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/GrahamDumpleton/wrapt/issues/313\"\u003e#313\u003c/a\u003e from bysiber/fix/delattr-annotations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GrahamDumpleton/wrapt/commit/4fc2c232c39e88c4705927e96ddcbd729d14982b\"\u003e\u003ccode\u003e4fc2c23\u003c/code\u003e\u003c/a\u003e Add test to call proxy after weakref cleared.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GrahamDumpleton/wrapt/commit/9e53a71271cd75d609a20ac74e1ca7cb9be0ff0c\"\u003e\u003ccode\u003e9e53a71\u003c/code\u003e\u003c/a\u003e Add change notes for ReferenceError fix.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GrahamDumpleton/wrapt/commit/2cda4e6385b3b08827e43c078bb553193a2ff9c9\"\u003e\u003ccode\u003e2cda4e6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/GrahamDumpleton/wrapt/issues/312\"\u003e#312\u003c/a\u003e from bysiber/fix/weakfunctionproxy-expired-instance\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/GrahamDumpleton/wrapt/compare/2.1.1...2.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.15.2 to 0.15.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.6\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-12.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003elazy\u003c/code\u003e import parsing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23755\"\u003e#23755\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for star-unpacking of comprehensions (PEP 798) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23788\"\u003e#23788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject semantic syntax errors for lazy imports (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23757\"\u003e#23757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop a few rules from the preview default set (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23879\"\u003e#23879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Flag \u003ccode\u003eVariable.get()\u003c/code\u003e calls outside of task execution context (\u003ccode\u003eAIR003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23584\"\u003e#23584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Flag runtime-varying values in DAG/task constructor arguments (\u003ccode\u003eAIR304\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23631\"\u003e#23631\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Implement \u003ccode\u003edelattr-with-constant\u003c/code\u003e (\u003ccode\u003eB043\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23737\"\u003e#23737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-tidy-imports\u003c/code\u003e] Add \u003ccode\u003eTID254\u003c/code\u003e to enforce lazy imports (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23777\"\u003e#23777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-tidy-imports\u003c/code\u003e] Allow users to ban lazy imports with \u003ccode\u003eTID254\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23847\"\u003e#23847\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eisort\u003c/code\u003e] Retain \u003ccode\u003elazy\u003c/code\u003e keyword when sorting imports (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23762\"\u003e#23762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Add \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e automatically (\u003ccode\u003eUP006\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23260\"\u003e#23260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Support \u003ccode\u003enewline\u003c/code\u003e parameter in \u003ccode\u003eFURB101\u003c/code\u003e for Python 3.13+ (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23754\"\u003e#23754\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003eos-path-commonprefix\u003c/code\u003e (\u003ccode\u003eRUF071\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23814\"\u003e#23814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add unsafe fix for os-path-commonprefix (\u003ccode\u003eRUF071\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23852\"\u003e#23852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Limit \u003ccode\u003eRUF036\u003c/code\u003e to typing contexts; make it unsafe for non-typing-only (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23765\"\u003e#23765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Use starred unpacking for \u003ccode\u003eRUF017\u003c/code\u003e in Python 3.15+ (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23789\"\u003e#23789\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003e--add-noqa\u003c/code\u003e creating unwanted leading whitespace (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23773\"\u003e#23773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e--add-noqa\u003c/code\u003e breaking shebangs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23577\"\u003e#23577\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[formatter] Fix lambda body formatting for multiline calls and subscripts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23866\"\u003e#23866\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[formatter] Preserve required annotation parentheses in annotated assignments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23865\"\u003e#23865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[formatter] Preserve type-expression parentheses in the formatter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23867\"\u003e#23867\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-annotations\u003c/code\u003e] Fix stack overflow in \u003ccode\u003eANN401\u003c/code\u003e on quoted annotations with escape sequences (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23912\"\u003e#23912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epep8-naming\u003c/code\u003e] Check naming conventions in \u003ccode\u003ematch\u003c/code\u003e pattern bindings (\u003ccode\u003eN806\u003c/code\u003e, \u003ccode\u003eN815\u003c/code\u003e, \u003ccode\u003eN816\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23899\"\u003e#23899\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eperflint\u003c/code\u003e] Fix comment duplication in fixes (\u003ccode\u003ePERF401\u003c/code\u003e, \u003ccode\u003ePERF403\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23729\"\u003e#23729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Properly trigger \u003ccode\u003esuper\u003c/code\u003e change in nested class (\u003ccode\u003eUP008\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22677\"\u003e#22677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Avoid syntax errors in \u003ccode\u003eRUF036\u003c/code\u003e fixes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23764\"\u003e#23764\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Flag \u003ccode\u003eS501\u003c/code\u003e with \u003ccode\u003erequests.request\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23873\"\u003e#23873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-executable\u003c/code\u003e] Fix WSL detection in non-Docker containers (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22879\"\u003e#22879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-print\u003c/code\u003e] Ignore \u003ccode\u003epprint\u003c/code\u003e calls with \u003ccode\u003estream=\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23787\"\u003e#23787\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs for Markdown code block formatting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23871\"\u003e#23871\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Fix misleading description for \u003ccode\u003eB904\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23731\"\u003e#23731\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.6\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-03-12.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003elazy\u003c/code\u003e import parsing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23755\"\u003e#23755\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for star-unpacking of comprehensions (PEP 798) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23788\"\u003e#23788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject semantic syntax errors for lazy imports (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23757\"\u003e#23757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop a few rules from the preview default set (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23879\"\u003e#23879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Flag \u003ccode\u003eVariable.get()\u003c/code\u003e calls outside of task execution context (\u003ccode\u003eAIR003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23584\"\u003e#23584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Flag runtime-varying values in DAG/task constructor arguments (\u003ccode\u003eAIR304\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23631\"\u003e#23631\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Implement \u003ccode\u003edelattr-with-constant\u003c/code\u003e (\u003ccode\u003eB043\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23737\"\u003e#23737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-tidy-imports\u003c/code\u003e] Add \u003ccode\u003eTID254\u003c/code\u003e to enforce lazy imports (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23777\"\u003e#23777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-tidy-imports\u003c/code\u003e] Allow users to ban lazy imports with \u003ccode\u003eTID254\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23847\"\u003e#23847\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eisort\u003c/code\u003e] Retain \u003ccode\u003elazy\u003c/code\u003e keyword when sorting imports (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23762\"\u003e#23762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Add \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e automatically (\u003ccode\u003eUP006\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23260\"\u003e#23260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Support \u003ccode\u003enewline\u003c/code\u003e parameter in \u003ccode\u003eFURB101\u003c/code\u003e for Python 3.13+ (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23754\"\u003e#23754\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003eos-path-commonprefix\u003c/code\u003e (\u003ccode\u003eRUF071\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23814\"\u003e#23814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add unsafe fix for os-path-commonprefix (\u003ccode\u003eRUF071\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23852\"\u003e#23852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Limit \u003ccode\u003eRUF036\u003c/code\u003e to typing contexts; make it unsafe for non-typing-only (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23765\"\u003e#23765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Use starred unpacking for \u003ccode\u003eRUF017\u003c/code\u003e in Python 3.15+ (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23789\"\u003e#23789\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003e--add-noqa\u003c/code\u003e creating unwanted leading whitespace (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23773\"\u003e#23773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e--add-noqa\u003c/code\u003e breaking shebangs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23577\"\u003e#23577\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[formatter] Fix lambda body formatting for multiline calls and subscripts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23866\"\u003e#23866\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[formatter] Preserve required annotation parentheses in annotated assignments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23865\"\u003e#23865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[formatter] Preserve type-expression parentheses in the formatter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23867\"\u003e#23867\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-annotations\u003c/code\u003e] Fix stack overflow in \u003ccode\u003eANN401\u003c/code\u003e on quoted annotations with escape sequences (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23912\"\u003e#23912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epep8-naming\u003c/code\u003e] Check naming conventions in \u003ccode\u003ematch\u003c/code\u003e pattern bindings (\u003ccode\u003eN806\u003c/code\u003e, \u003ccode\u003eN815\u003c/code\u003e, \u003ccode\u003eN816\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23899\"\u003e#23899\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eperflint\u003c/code\u003e] Fix comment duplication in fixes (\u003ccode\u003ePERF401\u003c/code\u003e, \u003ccode\u003ePERF403\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23729\"\u003e#23729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Properly trigger \u003ccode\u003esuper\u003c/code\u003e change in nested class (\u003ccode\u003eUP008\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22677\"\u003e#22677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Avoid syntax errors in \u003ccode\u003eRUF036\u003c/code\u003e fixes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23764\"\u003e#23764\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Flag \u003ccode\u003eS501\u003c/code\u003e with \u003ccode\u003erequests.request\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23873\"\u003e#23873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-executable\u003c/code\u003e] Fix WSL detection in non-Docker containers (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22879\"\u003e#22879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-print\u003c/code\u003e] Ignore \u003ccode\u003epprint\u003c/code\u003e calls with \u003ccode\u003estream=\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23787\"\u003e#23787\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs for Markdown code block formatting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23871\"\u003e#23871\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Fix misleading description for \u003ccode\u003eB904\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23731\"\u003e#23731\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/...\n\n_Description has been truncated_","html_url":"https://github.com/langchain-ai/langsmith-sdk/pull/2596","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/langchain-ai%2Flangsmith-sdk/issues/2596","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2596/packages"}},{"old_version":"0.3.3","new_version":"0.12.3","update_type":"minor","path":null,"pr_created_at":"2026-03-18T01:58:01.000Z","version_change":"0.3.3 → 0.12.3","issue":{"uuid":"4092213780","node_id":"PR_kwDOK8weY87LZcq9","number":503,"state":"closed","title":"deps(pip)(deps): bump the python-minor-patch group with 88 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-25T01:52:18.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-18T01:58:01.000Z","updated_at":"2026-03-25T01:52:20.000Z","time_to_close":604457,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(pip)(deps): bump","group_name":"python-minor-patch","update_count":88,"packages":[{"name":"sse-starlette","old_version":"3.3.2","new_version":"3.3.3","repository_url":"https://github.com/sysid/sse-starlette"},{"name":"uvicorn","old_version":"0.41.0","new_version":"0.42.0"},{"name":"anthropic","old_version":"0.84.0","new_version":"0.85.0"},{"name":"google-ai-generativelanguage","old_version":"0.6.15","new_version":"0.10.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"google-genai","old_version":"1.66.0","new_version":"1.68.0","repository_url":"https://github.com/googleapis/python-genai"},{"name":"llama-index","old_version":"0.12.52","new_version":"0.14.18","repository_url":"https://github.com/run-llama/llama_index"},{"name":"llama-index-core","old_version":"0.12.52.post1","new_version":"0.14.18","repository_url":"https://github.com/run-llama/llama_index"},{"name":"llama-index-embeddings-azure-openai","old_version":"0.3.9","new_version":"0.5.1"},{"name":"llama-index-embeddings-gemini","old_version":"0.3.2","new_version":"0.4.2"},{"name":"llama-index-embeddings-huggingface-api","old_version":"0.3.1","new_version":"0.5.0"},{"name":"llama-index-embeddings-mistralai","old_version":"0.3.0","new_version":"0.5.0"},{"name":"llama-index-embeddings-ollama","old_version":"0.6.0","new_version":"0.9.0"},{"name":"llama-index-indices-managed-llama-cloud","old_version":"0.6.11","new_version":"0.11.0"},{"name":"llama-index-instrumentation","old_version":"0.4.3","new_version":"0.5.0","repository_url":"https://github.com/run-llama/llama_index"},{"name":"llama-index-llms-anthropic","old_version":"0.7.6","new_version":"0.11.1"},{"name":"llama-index-llms-azure-openai","old_version":"0.3.4","new_version":"0.5.1"},{"name":"llama-index-llms-deepseek","old_version":"0.2.0","new_version":"0.3.0"},{"name":"llama-index-llms-gemini","old_version":"0.5.0","new_version":"0.6.2"},{"name":"llama-index-llms-google-genai","old_version":"0.2.6","new_version":"0.8.7"},{"name":"llama-index-llms-huggingface-api","old_version":"0.5.0","new_version":"0.7.0"},{"name":"llama-index-llms-mistralai","old_version":"0.6.1","new_version":"0.10.0.post2"},{"name":"llama-index-llms-ollama","old_version":"0.6.2","new_version":"0.10.0"},{"name":"llama-index-llms-openai","old_version":"0.4.7","new_version":"0.7.2"},{"name":"llama-index-llms-openai-like","old_version":"0.4.0","new_version":"0.7.1"},{"name":"llama-index-llms-perplexity","old_version":"0.3.7","new_version":"0.5.1"},{"name":"llama-index-multi-modal-llms-openai","old_version":"0.5.3","new_version":"0.6.2"},{"name":"llama-index-readers-chatgpt-plugin","old_version":"0.3.0","new_version":"0.5.0"},{"name":"llama-index-readers-database","old_version":"0.4.0","new_version":"0.6.0"},{"name":"llama-index-readers-file","old_version":"0.4.8","new_version":"0.6.0"},{"name":"llama-index-readers-github","old_version":"0.7.0","new_version":"0.11.2"},{"name":"llama-index-readers-google","old_version":"0.6.2.post1","new_version":"0.7.2"},{"name":"llama-index-readers-llama-parse","old_version":"0.4.0","new_version":"0.6.0"},{"name":"llama-index-readers-microsoft-onedrive","old_version":"0.3.0","new_version":"0.5.0"},{"name":"llama-index-readers-twitter","old_version":"0.3.0","new_version":"0.5.0"},{"name":"llama-index-readers-web","old_version":"0.4.5","new_version":"0.6.0"},{"name":"llama-index-utils-huggingface","old_version":"0.3.0","new_version":"0.5.0"},{"name":"onnxruntime","old_version":"1.24.3","new_version":"1.24.4","repository_url":"https://github.com/microsoft/onnxruntime"},{"name":"openai-agents","old_version":"0.3.3","new_version":"0.12.3","repository_url":"https://github.com/openai/openai-agents-python"},{"name":"pygpt-net","old_version":"2.0.154","new_version":"2.7.12","repository_url":"https://github.com/szczyglis-dev/py-gpt"},{"name":"qdrant-client","old_version":"1.17.0","new_version":"1.17.1","repository_url":"https://github.com/qdrant/qdrant-client"},{"name":"azure-core","old_version":"1.38.2","new_version":"1.38.3","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-identity","old_version":"1.25.2","new_version":"1.25.3","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"boto3","old_version":"1.42.66","new_version":"1.42.70","repository_url":"https://github.com/boto/boto3"},{"name":"botocore","old_version":"1.42.66","new_version":"1.42.70","repository_url":"https://github.com/boto/botocore"},{"name":"google-cloud-storage","old_version":"3.4.1","new_version":"3.9.0","repository_url":"https://github.com/googleapis/python-storage"},{"name":"ruff","old_version":"0.15.5","new_version":"0.15.6","repository_url":"https://github.com/astral-sh/ruff"},{"name":"uv","old_version":"0.10.9","new_version":"0.10.11","repository_url":"https://github.com/astral-sh/uv"},{"name":"charset-normalizer","old_version":"3.4.5","new_version":"3.4.6","repository_url":"https://github.com/jawah/charset_normalizer"},{"name":"coverage","old_version":"7.13.4","new_version":"7.13.5","repository_url":"https://github.com/coveragepy/coveragepy"},{"name":"croniter","old_version":"6.0.0","new_version":"6.2.2","repository_url":"https://github.com/pallets-eco/croniter"},{"name":"cuda-pathfinder","old_version":"1.4.2","new_version":"1.4.3","repository_url":"https://github.com/NVIDIA/cuda-python"},{"name":"gkeepapi","old_version":"0.15.1","new_version":"0.17.1","repository_url":"https://github.com/kiwiz/gkeepapi"},{"name":"google-api-core","old_version":"2.25.2","new_version":"2.30.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"google-api-python-client","old_version":"2.192.0","new_version":"2.193.0","repository_url":"https://github.com/googleapis/google-api-python-client"},{"name":"google-auth","old_version":"2.49.0","new_version":"2.49.1","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"google-auth-httplib2","old_version":"0.2.1","new_version":"0.3.0","repository_url":"https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2"},{"name":"grpcio-status","old_version":"1.71.2","new_version":"1.78.0"},{"name":"hf-xet","old_version":"1.4.0","new_version":"1.4.2","repository_url":"https://github.com/huggingface/xet-core"},{"name":"identify","old_version":"2.6.17","new_version":"2.6.18","repository_url":"https://github.com/pre-commit/identify"},{"name":"langchain-classic","old_version":"1.0.2","new_version":"1.0.3","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langchain-core","old_version":"1.2.18","new_version":"1.2.19","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langchain-openai","old_version":"1.1.9","new_version":"1.1.11","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"langgraph","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/langchain-ai/langgraph"},{"name":"langsmith","old_version":"0.7.16","new_version":"0.7.20","repository_url":"https://github.com/langchain-ai/langsmith-sdk"},{"name":"llama-index-cli","old_version":"0.4.4","new_version":"0.5.6"},{"name":"llama-index-embeddings-openai","old_version":"0.3.1","new_version":"0.6.0"},{"name":"mpmath","old_version":"1.3.0","new_version":"1.4.1","repository_url":"https://github.com/mpmath/mpmath"},{"name":"nvidia-cublas-cu12","old_version":"12.8.4.1","new_version":"12.9.1.4"},{"name":"nvidia-cuda-cupti-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"nvidia-cuda-nvrtc-cu12","old_version":"12.8.93","new_version":"12.9.86"},{"name":"nvidia-cuda-runtime-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"nvidia-cudnn-cu12","old_version":"9.10.2.21","new_version":"9.20.0.48"},{"name":"nvidia-cufft-cu12","old_version":"11.3.3.83","new_version":"11.4.1.4"},{"name":"nvidia-cufile-cu12","old_version":"1.13.1.3","new_version":"1.14.1.1"},{"name":"nvidia-curand-cu12","old_version":"10.3.9.90","new_version":"10.3.10.19"},{"name":"nvidia-cusolver-cu12","old_version":"11.7.3.90","new_version":"11.7.5.82"},{"name":"nvidia-cusparse-cu12","old_version":"12.5.8.93","new_version":"12.5.10.65"},{"name":"nvidia-cusparselt-cu12","old_version":"0.7.1","new_version":"0.8.1"},{"name":"nvidia-nccl-cu12","old_version":"2.27.5","new_version":"2.29.7"},{"name":"nvidia-nvjitlink-cu12","old_version":"12.8.93","new_version":"12.9.86"},{"name":"nvidia-nvshmem-cu12","old_version":"3.4.5","new_version":"3.5.21"},{"name":"nvidia-nvtx-cu12","old_version":"12.8.90","new_version":"12.9.79"},{"name":"pyasn1","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/pyasn1/pyasn1"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.42.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"pyjwt","old_version":"2.11.0","new_version":"2.12.1","repository_url":"https://github.com/jpadilla/pyjwt"},{"name":"spider-client","old_version":"0.0.27","new_version":"0.1.87","repository_url":"https://github.com/spider-rs/spider-clients"},{"name":"striprtf","old_version":"0.0.26","new_version":"0.0.29","repository_url":"https://github.com/joshy/striprtf"},{"name":"tinysegmenter","old_version":"0.3","new_version":"0.4"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor-patch group with 88 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [sse-starlette](https://github.com/sysid/sse-starlette) | `3.3.2` | `3.3.3` |\n| [uvicorn[standard]](https://github.com/Kludex/uvicorn) | `0.41.0` | `0.42.0` |\n| [anthropic[bedrock,vertex]](https://github.com/anthropics/anthropic-sdk-python) | `0.84.0` | `0.85.0` |\n| [google-ai-generativelanguage](https://github.com/googleapis/google-cloud-python) | `0.6.15` | `0.10.0` |\n| [google-genai](https://github.com/googleapis/python-genai) | `1.66.0` | `1.68.0` |\n| [llama-index](https://github.com/run-llama/llama_index) | `0.12.52` | `0.14.18` |\n| [llama-index-core](https://github.com/run-llama/llama_index) | `0.12.52.post1` | `0.14.18` |\n| llama-index-embeddings-azure-openai | `0.3.9` | `0.5.1` |\n| llama-index-embeddings-gemini | `0.3.2` | `0.4.2` |\n| llama-index-embeddings-huggingface-api | `0.3.1` | `0.5.0` |\n| llama-index-embeddings-mistralai | `0.3.0` | `0.5.0` |\n| llama-index-embeddings-ollama | `0.6.0` | `0.9.0` |\n| llama-index-indices-managed-llama-cloud | `0.6.11` | `0.11.0` |\n| [llama-index-instrumentation](https://github.com/run-llama/llama_index) | `0.4.3` | `0.5.0` |\n| llama-index-llms-anthropic | `0.7.6` | `0.11.1` |\n| llama-index-llms-azure-openai | `0.3.4` | `0.5.1` |\n| llama-index-llms-deepseek | `0.2.0` | `0.3.0` |\n| llama-index-llms-gemini | `0.5.0` | `0.6.2` |\n| llama-index-llms-google-genai | `0.2.6` | `0.8.7` |\n| llama-index-llms-huggingface-api | `0.5.0` | `0.7.0` |\n| llama-index-llms-mistralai | `0.6.1` | `0.10.0.post2` |\n| llama-index-llms-ollama | `0.6.2` | `0.10.0` |\n| llama-index-llms-openai | `0.4.7` | `0.7.2` |\n| llama-index-llms-openai-like | `0.4.0` | `0.7.1` |\n| llama-index-llms-perplexity | `0.3.7` | `0.5.1` |\n| llama-index-multi-modal-llms-openai | `0.5.3` | `0.6.2` |\n| llama-index-readers-chatgpt-plugin | `0.3.0` | `0.5.0` |\n| llama-index-readers-database | `0.4.0` | `0.6.0` |\n| llama-index-readers-file | `0.4.8` | `0.6.0` |\n| llama-index-readers-github | `0.7.0` | `0.11.2` |\n| llama-index-readers-google | `0.6.2.post1` | `0.7.2` |\n| llama-index-readers-llama-parse | `0.4.0` | `0.6.0` |\n| llama-index-readers-microsoft-onedrive | `0.3.0` | `0.5.0` |\n| llama-index-readers-twitter | `0.3.0` | `0.5.0` |\n| llama-index-readers-web | `0.4.5` | `0.6.0` |\n| llama-index-utils-huggingface | `0.3.0` | `0.5.0` |\n| [onnxruntime](https://github.com/microsoft/onnxruntime) | `1.24.3` | `1.24.4` |\n| [openai-agents](https://github.com/openai/openai-agents-python) | `0.3.3` | `0.12.3` |\n| [pygpt-net](https://github.com/szczyglis-dev/py-gpt) | `2.0.154` | `2.7.12` |\n| [qdrant-client](https://github.com/qdrant/qdrant-client) | `1.17.0` | `1.17.1` |\n| [azure-core](https://github.com/Azure/azure-sdk-for-python) | `1.38.2` | `1.38.3` |\n| [azure-identity](https://github.com/Azure/azure-sdk-for-python) | `1.25.2` | `1.25.3` |\n| [boto3](https://github.com/boto/boto3) | `1.42.66` | `1.42.70` |\n| [botocore](https://github.com/boto/botocore) | `1.42.66` | `1.42.70` |\n| [google-cloud-storage](https://github.com/googleapis/python-storage) | `3.4.1` | `3.9.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.5` | `0.15.6` |\n| [uv](https://github.com/astral-sh/uv) | `0.10.9` | `0.10.11` |\n| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.5` | `3.4.6` |\n| [coverage](https://github.com/coveragepy/coveragepy) | `7.13.4` | `7.13.5` |\n| [croniter](https://github.com/pallets-eco/croniter) | `6.0.0` | `6.2.2` |\n| [cuda-pathfinder](https://github.com/NVIDIA/cuda-python) | `1.4.2` | `1.4.3` |\n| [gkeepapi](https://github.com/kiwiz/gkeepapi) | `0.15.1` | `0.17.1` |\n| [google-api-core](https://github.com/googleapis/google-cloud-python) | `2.25.2` | `2.30.0` |\n| [google-api-python-client](https://github.com/googleapis/google-api-python-client) | `2.192.0` | `2.193.0` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.49.0` | `2.49.1` |\n| [google-auth-httplib2](https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2) | `0.2.1` | `0.3.0` |\n| [grpcio-status](https://grpc.io) | `1.71.2` | `1.78.0` |\n| [hf-xet](https://github.com/huggingface/xet-core) | `1.4.0` | `1.4.2` |\n| [identify](https://github.com/pre-commit/identify) | `2.6.17` | `2.6.18` |\n| [langchain-classic](https://github.com/langchain-ai/langchain) | `1.0.2` | `1.0.3` |\n| [langchain-core](https://github.com/langchain-ai/langchain) | `1.2.18` | `1.2.19` |\n| [langchain-openai](https://github.com/langchain-ai/langchain) | `1.1.9` | `1.1.11` |\n| [langgraph](https://github.com/langchain-ai/langgraph) | `1.1.1` | `1.1.2` |\n| [langsmith](https://github.com/langchain-ai/langsmith-sdk) | `0.7.16` | `0.7.20` |\n| llama-index-cli | `0.4.4` | `0.5.6` |\n| llama-index-embeddings-openai | `0.3.1` | `0.6.0` |\n| [mpmath](https://github.com/mpmath/mpmath) | `1.3.0` | `1.4.1` |\n| [nvidia-cublas-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.4.1` | `12.9.1.4` |\n| [nvidia-cuda-cupti-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [nvidia-cuda-nvrtc-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.93` | `12.9.86` |\n| [nvidia-cuda-runtime-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [nvidia-cudnn-cu12](https://developer.nvidia.com/cuda-zone) | `9.10.2.21` | `9.20.0.48` |\n| [nvidia-cufft-cu12](https://developer.nvidia.com/cuda-zone) | `11.3.3.83` | `11.4.1.4` |\n| [nvidia-cufile-cu12](https://developer.nvidia.com/cuda-zone) | `1.13.1.3` | `1.14.1.1` |\n| [nvidia-curand-cu12](https://developer.nvidia.com/cuda-zone) | `10.3.9.90` | `10.3.10.19` |\n| [nvidia-cusolver-cu12](https://developer.nvidia.com/cuda-zone) | `11.7.3.90` | `11.7.5.82` |\n| [nvidia-cusparse-cu12](https://developer.nvidia.com/cuda-zone) | `12.5.8.93` | `12.5.10.65` |\n| [nvidia-cusparselt-cu12](https://developer.nvidia.com/cusparselt) | `0.7.1` | `0.8.1` |\n| [nvidia-nccl-cu12](https://developer.nvidia.com/cuda-zone) | `2.27.5` | `2.29.7` |\n| [nvidia-nvjitlink-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.93` | `12.9.86` |\n| [nvidia-nvshmem-cu12](https://developer.nvidia.com/cuda-zone) | `3.4.5` | `3.5.21` |\n| [nvidia-nvtx-cu12](https://developer.nvidia.com/cuda-zone) | `12.8.90` | `12.9.79` |\n| [pyasn1](https://github.com/pyasn1/pyasn1) | `0.6.2` | `0.6.3` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.41.5` | `2.42.0` |\n| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.11.0` | `2.12.1` |\n| [spider-client](https://github.com/spider-rs/spider-clients) | `0.0.27` | `0.1.87` |\n| [striprtf](https://github.com/joshy/striprtf) | `0.0.26` | `0.0.29` |\n| [tinysegmenter](http://tinysegmenter.tuxfamily.org/) | `0.3` | `0.4` |\n\nUpdates `sse-starlette` from 3.3.2 to 3.3.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sysid/sse-starlette/releases\"\u003esse-starlette's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.3.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): bump astral-sh/setup-uv from 6 to 7 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/sysid/sse-starlette/pull/172\"\u003esysid/sse-starlette#172\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump pyopenssl from 25.3.0 to 26.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/sysid/sse-starlette/pull/174\"\u003esysid/sse-starlette#174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump pyasn1 from 0.6.2 to 0.6.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/sysid/sse-starlette/pull/175\"\u003esysid/sse-starlette#175\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/v0.0.0...v3.3.3\"\u003ehttps://github.com/sysid/sse-starlette/compare/v0.0.0...v3.3.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/sysid/sse-starlette/commit/5f845398db25a50889ef7a0f8214aa931aed7ac0\"\u003e\u003ccode\u003e5f84539\u003c/code\u003e\u003c/a\u003e Bump version to 3.3.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/7e35672ef9f868f1810ee899ee70e3556b06a97c\"\u003e\u003ccode\u003e7e35672\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/sysid/sse-starlette/issues/175\"\u003e#175\u003c/a\u003e from sysid/dependabot/uv/pyasn1-0.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/92a985576feb070b9d5ba8e50c2cf9de694fe0fb\"\u003e\u003ccode\u003e92a9855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/sysid/sse-starlette/issues/174\"\u003e#174\u003c/a\u003e from sysid/dependabot/uv/pyopenssl-26.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/a87b685a2a1022056f565221a64c54cf34bb5128\"\u003e\u003ccode\u003ea87b685\u003c/code\u003e\u003c/a\u003e chore(deps): bump pyasn1 from 0.6.2 to 0.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/3628ccacb3f28f45cb7135b910fe999831501a2f\"\u003e\u003ccode\u003e3628cca\u003c/code\u003e\u003c/a\u003e chore(deps): bump pyopenssl from 25.3.0 to 26.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/6ff6afd2fee28c7484095cd229d623b58920ad02\"\u003e\u003ccode\u003e6ff6afd\u003c/code\u003e\u003c/a\u003e updated documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/0bfac66db35a342068a90bd749dbbcb90a9ed4a5\"\u003e\u003ccode\u003e0bfac66\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/sysid/sse-starlette/issues/172\"\u003e#172\u003c/a\u003e from sysid/dependabot/github_actions/astral-sh/setup-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/3e45174272fe4b132f51d718a0f88b6b74e17032\"\u003e\u003ccode\u003e3e45174\u003c/code\u003e\u003c/a\u003e chore(deps): bump astral-sh/setup-uv from 6 to 7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sysid/sse-starlette/commit/37319e8ca3adcf529a48684407ca639a0c80cd78\"\u003e\u003ccode\u003e37319e8\u003c/code\u003e\u003c/a\u003e fix: allow docker tests run in sandbox\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sysid/sse-starlette/compare/v3.3.2...v3.3.3\"\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.41.0 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.42.0\u003c/h2\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003ebytearray\u003c/code\u003e for request body accumulation to avoid O(n^2) allocation on fragmented bodies (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2845\"\u003e#2845\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEscape brackets and backslash in httptools \u003ccode\u003eHEADER_RE\u003c/code\u003e regex (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2824\"\u003e#2824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix multiple issues in websockets sans-io implementation (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2825\"\u003e#2825\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/bysiber\"\u003e\u003ccode\u003e@​bysiber\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Kludex/uvicorn/pull/2825\"\u003eKludex/uvicorn#2825\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.41.0...0.42.0\"\u003ehttps://github.com/Kludex/uvicorn/compare/0.41.0...0.42.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[standard]'s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.42.0 (March 16, 2026)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003ebytearray\u003c/code\u003e for request body accumulation to avoid O(n^2) allocation on fragmented bodies (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2845\"\u003e#2845\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEscape brackets and backslash in httptools \u003ccode\u003eHEADER_RE\u003c/code\u003e regex (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2824\"\u003e#2824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix multiple issues in websockets sans-io implementation (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2825\"\u003e#2825\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/02bed6f8c38e74f684bb0e572977a9bfdc1f6fea\"\u003e\u003ccode\u003e02bed6f\u003c/code\u003e\u003c/a\u003e Version 0.42.0 (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2852\"\u003e#2852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/d8f25013161d8206e129e39bf48432d3a85e1744\"\u003e\u003ccode\u003ed8f2501\u003c/code\u003e\u003c/a\u003e chore: pre-create Config objects in benchmarks to measure protocol hot paths ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/9dbb7836bb0fdb446d083ecd8dc5a2a95bb96b98\"\u003e\u003ccode\u003e9dbb783\u003c/code\u003e\u003c/a\u003e Add WebSocket protocol benchmarks for wsproto and websockets-sansio (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2849\"\u003e#2849\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/b3c69da8c1a36e1834e614abe38243671e156077\"\u003e\u003ccode\u003eb3c69da\u003c/code\u003e\u003c/a\u003e Use bytearray for request body accumulation (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2845\"\u003e#2845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/3f3ebee20f46504a3f7279dd72f9c24ce9070b11\"\u003e\u003ccode\u003e3f3ebee\u003c/code\u003e\u003c/a\u003e Disable \u003ccode\u003epytest-xdist\u003c/code\u003e for CodSpeed benchmark runs (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2847\"\u003e#2847\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/d072de754f825bee4710363dd49d41efd5285dcc\"\u003e\u003ccode\u003ed072de7\u003c/code\u003e\u003c/a\u003e Add fragmented body benchmark for chunked body accumulation (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2846\"\u003e#2846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/e300c2c75d71bea6f8d1799ca6f182f1e5583aaa\"\u003e\u003ccode\u003ee300c2c\u003c/code\u003e\u003c/a\u003e Add CodSpeed benchmark suite for HTTP protocol hot paths (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2844\"\u003e#2844\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/1fa697651bacf10d72f74de104ead814ce6fcdc0\"\u003e\u003ccode\u003e1fa6976\u003c/code\u003e\u003c/a\u003e Escape brackets and backslash in httptools HEADER_RE regex (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2824\"\u003e#2824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/59ec1de7a4f07afbd139812f033f3af8b784de74\"\u003e\u003ccode\u003e59ec1de\u003c/code\u003e\u003c/a\u003e Fix multiple issues in websockets sansio implementation (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2825\"\u003e#2825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kludex/uvicorn/commit/2fc0efcdd958abd3adbe6ea19682408d6b2e1b18\"\u003e\u003ccode\u003e2fc0efc\u003c/code\u003e\u003c/a\u003e Clarify Windows asyncio event loop selection in docs (\u003ca href=\"https://redirect.github.com/Kludex/uvicorn/issues/2843\"\u003e#2843\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kludex/uvicorn/compare/0.41.0...0.42.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `anthropic[bedrock,vertex]` from 0.84.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[bedrock,vertex]'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\u003c/blockquote\u003e\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[bedrock,vertex]'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\u003c/blockquote\u003e\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.84.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 `google-ai-generativelanguage` from 0.6.15 to 0.10.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/releases\"\u003egoogle-ai-generativelanguage's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-geminidataanalytics 0.10.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-geminidataanalytics-v0.9.0...google-cloud-geminidataanalytics-v0.10.0\"\u003e0.10.0\u003c/a\u003e (2026-02-04)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ClarificationMessage, thought-signature, formatted-data (PiperOrigin-RevId: 863524449) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/fe0a0b46\"\u003efe0a0b46\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA comment for enum value THOUGHT in enum TextType is changed (PiperOrigin-RevId: 863524449) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/fe0a0b46\"\u003efe0a0b46\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-cloud-netapp 0.7.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-netapp-v0.6.0...google-cloud-netapp-v0.7.0\"\u003e0.7.0\u003c/a\u003e (2026-01-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate NetApp v1 API with Host Groups, Block Volumes, Cache Volumes, and Backup Restore This CL introduces several new features and enhancements to the NetApp API: - \u003cstrong\u003eHost Groups:\u003c/strong\u003e Added a new \u003ccode\u003eHostGroup\u003c/code\u003e resource to manage collections of hosts for Block Volume access. Includes full CRUD operations. - \u003cstrong\u003eBlock Volumes:\u003c/strong\u003e Enhanced the \u003ccode\u003eVolume\u003c/code\u003e resource to support \u003ccode\u003eISCSI\u003c/code\u003e protocol and \u003ccode\u003eBlockDevice\u003c/code\u003e configurations. - \u003cstrong\u003eCache Volumes:\u003c/strong\u003e Added \u003ccode\u003eCacheParameters\u003c/code\u003e to the \u003ccode\u003eVolume\u003c/code\u003e resource to support FlexCache volumes. - \u003cstrong\u003eBackup Restore:\u003c/strong\u003e Introduced a new \u003ccode\u003eRestoreBackupFiles\u003c/code\u003e RPC to restore individual files from a backup. - \u003cstrong\u003eCMEK for Backup Vaults:\u003c/strong\u003e Added fields to \u003ccode\u003eBackupVault\u003c/code\u003e to support Customer Managed Encryption Keys (CMEK). - \u003cstrong\u003eStorage Pool Type:\u003c/strong\u003e Added a \u003ccode\u003etype\u003c/code\u003e field to \u003ccode\u003eStoragePool\u003c/code\u003e to specify support for FILE, UNIFIED, or UNIFIED_LARGE_CAPACITY volumes. -   \u003cstrong\u003eLocation Metadata:\u003c/strong\u003e Added \u003ccode\u003ehas_ontap_proxy\u003c/code\u003e flag. -   Updated copyright year to 2026. (PiperOrigin-RevId: 856056649) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-cloud-geminidataanalytics 0.9.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-geminidataanalytics-v0.8.0...google-cloud-geminidataanalytics-v0.9.0\"\u003e0.9.0\u003c/a\u003e (2026-01-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadded sync APIs for the CRUD operations of Data Agent (PiperOrigin-RevId: 855534426) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-cloud-backupdr 0.7.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-backupdr-v0.6.0...google-cloud-backupdr-v0.7.0\"\u003e0.7.0\u003c/a\u003e (2026-01-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eA new message \u003ccode\u003eBackupConfigDetails\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new resource_definition \u003ccode\u003ebackupdr.googleapis.com/ResourceBackupConfig\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new message \u003ccode\u003ePitrSettings\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new message \u003ccode\u003eBackupLocation\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new message \u003ccode\u003eListResourceBackupConfigsResponse\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new message \u003ccode\u003eResourceBackupConfig\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new message \u003ccode\u003eListResourceBackupConfigsRequest\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new service \u003ccode\u003eBackupDrProtectionSummary\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new message \u003ccode\u003eBackupDrTemplateConfig\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eA new message \u003ccode\u003eBackupDrPlanConfig\u003c/code\u003e is added (PiperOrigin-RevId: 854009996) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1a816894\"\u003e1a816894\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/googleapis/google-cloud-python/commit/c60ded47847b04b2536f19c1610b5592b7952d6a\"\u003e\u003ccode\u003ec60ded4\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260108T181058Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15005\"\u003e#15005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/c0e3e9d221c3b8cd6d99503fadbb8e643db1e325\"\u003e\u003ccode\u003ec0e3e9d\u003c/code\u003e\u003c/a\u003e chore: disable treat warnings as errors (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/45d4cee9e0e48a209b2d9292be29a15125548458\"\u003e\u003ccode\u003e45d4cee\u003c/code\u003e\u003c/a\u003e docs(samples): Update BigQuery Storage Arrow samples batching logic (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14961\"\u003e#14961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/45149baca6064be265db1b653abb405c298a2b41\"\u003e\u003ccode\u003e45149ba\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260108T162506Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/15001\"\u003e#15001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/d58a9ba338df3df1afca11e155fe449c32631179\"\u003e\u003ccode\u003ed58a9ba\u003c/code\u003e\u003c/a\u003e test: Add 'cryptography' 'cachetools' to test deps for bigquery-storage (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14999\"\u003e#14999\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/10289465a87988b9bf35a85893f26ea372ad717b\"\u003e\u003ccode\u003e1028946\u003c/code\u003e\u003c/a\u003e feat: add v1 api for google-cloud-maintenance-api (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14998\"\u003e#14998\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/b3cb4de3ce50c3ec55af2b132d756252a32641f3\"\u003e\u003ccode\u003eb3cb4de\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260107T084051Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14995\"\u003e#14995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/17cc12897e6afdf3f3131531c50a8226a3f57c0f\"\u003e\u003ccode\u003e17cc128\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20251231T091651Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14991\"\u003e#14991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/c353aa5bcc937ef9399c8efc90492dadbcf01aa2\"\u003e\u003ccode\u003ec353aa5\u003c/code\u003e\u003c/a\u003e chore: librarian update image pull request: 20251219T024955Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14985\"\u003e#14985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/f38453832a2bb0226c389c30df13d072d1642377\"\u003e\u003ccode\u003ef384538\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20251217T215552Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-ai-generativelanguage-v0.6.15...google-ai-generativelanguage-v0.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-genai` from 1.66.0 to 1.68.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-genai/releases\"\u003egoogle-genai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.68.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.67.0...v1.68.0\"\u003e1.68.0\u003c/a\u003e (2026-03-17)\u003c/h2\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Interactions] Breaking change to Interactions API to refactor TextContent annotations to use specific citation types (\u003ca href=\"https://github.com/googleapis/python-genai/commit/6c3379faa5e533d4146eee1b3c88ed80bbff46ce\"\u003e6c3379f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Interactions] Breaking change for Interactions, rename ContentDelta unions. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1b03909ac8367205a2f0dd46847a0f6d36fb62fd\"\u003e1b03909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Interactions] Breaking change to Interactions API to rename rendered_content to search_suggestions (\u003ca href=\"https://github.com/googleapis/python-genai/commit/0e21c4ef3234fe195793711b8eb90354e154339f\"\u003e0e21c4e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Interactions] Add and update 'signature' fields for tool call/result content types. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/d89637383f2c2ca28bef22f65dfbe56cd1f878cc\"\u003ed896373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Interactions] Support Google Maps in Interactions (\u003ca href=\"https://github.com/googleapis/python-genai/commit/68f247c04af99915b946f04806f3b0a0543180fa\"\u003e68f247c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport include_server_side_tool_invocations for genai. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/546440c9f56118c8d27005f2d5b935603e50454e\"\u003e546440c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e Correct typing-extensions constraint (1.67 Issue)[https://github.com/googleapis/python-genai/releases/tag/v1.67.0] (\u003ca href=\"https://github.com/googleapis/python-genai/commit/9a4fd3983ac093fd9e197099ab970bd89a5a6a56\"\u003e9a4fd39\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePython 3.10-3.11 breakage caused by \u003ca href=\"https://redirect.github.com/googleapis/python-genai/pull/2131\"\u003egoogleapis/python-genai#2131\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/python-genai/commit/9a4fd3983ac093fd9e197099ab970bd89a5a6a56\"\u003e9a4fd39\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003eattempts=0\u003c/code\u003e as \u003ccode\u003eattempts=1\u003c/code\u003e in retry options to ensure no retries (\u003ca href=\"https://github.com/googleapis/python-genai/commit/2856c0ac76eb51b9171a6bd1626b5f6e63bf4a31\"\u003e2856c0a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerate docs for 1.67.0 (\u003ca href=\"https://github.com/googleapis/python-genai/commit/ff7469a99a931b8415f214c8f711fc4e93422f09\"\u003eff7469a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.67.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.66.0...v1.67.0\"\u003e1.67.0\u003c/a\u003e (2026-03-12)\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!CAUTION]\n\u003cstrong\u003eKnown Issue:\u003c/strong\u003e\nThis release contains a bug where the \u003ccode\u003etyping-extensions\u003c/code\u003e lower bound is set too low, which causes the SDK to break in some environments.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eRecommended Actions:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFall back to 1.66.0:\u003c/strong\u003e If you do not immediately need the new features in 1.67.0, we recommend sticking with the previous stable version:\n\u003ccode\u003epip install google-genai==1.66.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eManual Fix:\u003c/strong\u003e If you must use 1.67.0, you can resolve the issue by manually upgrading \u003ccode\u003etyping-extensions\u003c/code\u003e:\n\u003ccode\u003epip install \u0026quot;typing-extensions\u0026gt;=4.14.0\u0026quot;\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd inference_generation_config to EvaluationConfig for Tuning (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1fdb4b87aaec6e58b415168ea5893c0e901819a9\"\u003e1fdb4b8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd live history_config with initial_history_in_client_content (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a80babd22d195d82881cdda0a2c0d5cdefd9573d\"\u003ea80babd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for referencing registered metrics by resource name in evaluation run API (\u003ca href=\"https://github.com/googleapis/python-genai/commit/41b348ed7a5b3a817861e56ccd01251dc65859d3\"\u003e41b348e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnable language code for audio transcription config in Live API for Vertex AI (\u003ca href=\"https://github.com/googleapis/python-genai/commit/c04be0db2b65506ba0ad3e1b0922ec871df1580b\"\u003ec04be0d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-genai/blob/main/CHANGELOG.md\"\u003egoogle-genai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.67.0...v1.68.0\"\u003e1.68.0\u003c/a\u003e (2026-03-17)\u003c/h2\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Interactions] Breaking change to Interactions API to refactor TextContent annotations to use specific citation types (\u003ca href=\"https://github.com/googleapis/python-genai/commit/6c3379faa5e533d4146eee1b3c88ed80bbff46ce\"\u003e6c3379f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Interactions] Breaking change for Interactions, rename ContentDelta unions. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1b03909ac8367205a2f0dd46847a0f6d36fb62fd\"\u003e1b03909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Interactions] Breaking change to Interactions API to rename rendered_content to search_suggestions (\u003ca href=\"https://github.com/googleapis/python-genai/commit/0e21c4ef3234fe195793711b8eb90354e154339f\"\u003e0e21c4e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Interactions] Add and update 'signature' fields for tool call/result content types. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/d89637383f2c2ca28bef22f65dfbe56cd1f878cc\"\u003ed896373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Interactions] Support Google Maps in Interactions (\u003ca href=\"https://github.com/googleapis/python-genai/commit/68f247c04af99915b946f04806f3b0a0543180fa\"\u003e68f247c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport include_server_side_tool_invocations for genai. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/546440c9f56118c8d27005f2d5b935603e50454e\"\u003e546440c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e Correct typing-extensions constraint (1.67 Issue)[https://github.com/googleapis/python-genai/releases/tag/v1.67.0] (\u003ca href=\"https://github.com/googleapis/python-genai/commit/9a4fd3983ac093fd9e197099ab970bd89a5a6a56\"\u003e9a4fd39\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePython 3.10-3.11 breakage caused by \u003ca href=\"https://redirect.github.com/googleapis/python-genai/pull/2131\"\u003egoogleapis/python-genai#2131\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/python-genai/commit/9a4fd3983ac093fd9e197099ab970bd89a5a6a56\"\u003e9a4fd39\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat \u003ccode\u003eattempts=0\u003c/code\u003e as \u003ccode\u003eattempts=1\u003c/code\u003e in retry options to ensure no retries (\u003ca href=\"https://github.com/googleapis/python-genai/commit/2856c0ac76eb51b9171a6bd1626b5f6e63bf4a31\"\u003e2856c0a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerate docs for 1.67.0 (\u003ca href=\"https://github.com/googleapis/python-genai/commit/ff7469a99a931b8415f214c8f711fc4e93422f09\"\u003eff7469a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.66.0...v1.67.0\"\u003e1.67.0\u003c/a\u003e (2026-03-12)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd inference_generation_config to EvaluationConfig for Tuning (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1fdb4b87aaec6e58b415168ea5893c0e901819a9\"\u003e1fdb4b8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd live history_config with initial_history_in_client_content (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a80babd22d195d82881cdda0a2c0d5cdefd9573d\"\u003ea80babd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for referencing registered metrics by resource name in evaluation run API (\u003ca href=\"https://github.com/googleapis/python-genai/commit/41b348ed7a5b3a817861e56ccd01251dc65859d3\"\u003e41b348e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnable language code for audio transcription config in Live API for Vertex AI (\u003ca href=\"https://github.com/googleapis/python-genai/commit/c04be0db2b65506ba0ad3e1b0922ec871df1580b\"\u003ec04be0d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eForward http_options in async_request_streamed to enable retry support (\u003ca href=\"https://github.com/googleapis/python-genai/commit/8b3be8744065ad1fa96484fcc2910842a7414a32\"\u003e8b3be87\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eForward http_options in async_request_streamed to enable retry support (\u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/2097\"\u003e#2097\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-genai/commit/8b10efb0349bcf64599405a48325f4415aa7eaad\"\u003e8b10efb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/8404ae27d3d176b9555e9825d55f7ed3c07e985b\"\u003e\u003ccode\u003e8404ae2\u003c/code\u003e\u003c/a\u003e chore(main): release 1.68.0 (\u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/2157\"\u003e#2157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/546440c9f56118c8d27005f2d5b935603e50454e\"\u003e\u003ccode\u003e546440c\u003c/code\u003e\u003c/a\u003e feat: Support include_server_side_tool_invocations for genai.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/be8cd494f2380b43a0480c61bbc020f4bb8dea7b\"\u003e\u003ccode\u003ebe8cd49\u003c/code\u003e\u003c/a\u003e chore: internal change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/2856c0ac76eb51b9171a6bd1626b5f6e63bf4a31\"\u003e\u003ccode\u003e2856c0a\u003c/code\u003e\u003c/a\u003e fix: Treat \u003ccode\u003eattempts=0\u003c/code\u003e as \u003ccode\u003eattempts=1\u003c/code\u003e in retry options to ensure no retries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/6c3379faa5e533d4146eee1b3c88ed80bbff46ce\"\u003e\u003ccode\u003e6c3379f\u003c/code\u003e\u003c/a\u003e feat: Breaking change to Interactions API to refactor TextContent annotations...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/d89637383f2c2ca28bef22f65dfbe56cd1f878cc\"\u003e\u003ccode\u003ed896373\u003c/code\u003e\u003c/a\u003e feat: Add and update 'signature' fields for tool call/result content types.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/1a51d1a0238efb5dc9a5c43d76c56706218f3162\"\u003e\u003ccode\u003e1a51d1a\u003c/code\u003e\u003c/a\u003e chore: Maintain backward-compatible field ordering in generated data types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/68f247c04af99915b946f04806f3b0a0543180fa\"\u003e\u003ccode\u003e68f247c\u003c/code\u003e\u003c/a\u003e feat: Support Google Maps in Interactions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/0e21c4ef3234fe195793711b8eb90354e154339f\"\u003e\u003ccode\u003e0e21c4e\u003c/code\u003e\u003c/a\u003e fix: Breaking change to Interactions API to rename rendered_content to search...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/ff7469a99a931b8415f214c8f711fc4e93422f09\"\u003e\u003ccode\u003eff7469a\u003c/code\u003e\u003c/a\u003e docs: Regenerate docs for 1.67.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.66.0...v1.68.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `llama-index` from 0.12.52 to 0.14.18\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/run-llama/llama_index/releases\"\u003ellama-index's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.18\u003c/h2\u003e\n\u003ch1\u003eRelease Notes\u003c/h1\u003e\n\u003ch2\u003e[2026-03-16]\u003c/h2\u003e\n\u003ch3\u003ellama-index-agent-agentmesh [0.2.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-agent-azure [0.3.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-agentops [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-argilla [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-arize-phoenix [0.7.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-honeyhive [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump the uv group across 51 directories with 3 updates (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20962\"\u003e#20962\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-langfuse [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-literalai [1.4.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-openinference [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-opik [1.3.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-promptlayer [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\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/run-llama/llama_index/blob/main/CHANGELOG.md\"\u003ellama-index's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ellama-index-core [0.14.18]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: align text match filters across core and vector backends (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20883\"\u003e#20883\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(chat_engine): preserve chat history on incomplete stream consumption (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20897\"\u003e#20897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: guard against ZeroDivisionError in LlamaDebugHandler._get_time_stats_from_event_pairs (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20937\"\u003e#20937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add stacklevel=2 to warnings.warn() for accurate caller reporting (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20939\"\u003e#20939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRelease 0.14.17 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20957\"\u003e#20957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump the uv group across 51 directories with 3 updates (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20962\"\u003e#20962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use \u003ccode\u003eapostprocess_nodes()\u003c/code\u003e in async retrieval paths (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20974\"\u003e#20974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix (test) : use \u0026gt;= 1 to avoid racy \u003ccode\u003estream_chat\u003c/code\u003e memory assertion (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20980\"\u003e#20980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(core): preserve response metadata in \u003ccode\u003easync _aretrieve_from_object\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20995\"\u003e#20995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: preserve non-ASCII schema descriptions in \u003ccode\u003ePydanticOutputParser\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21016\"\u003e#21016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump the uv group across 42 directories with 2 updates (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21020\"\u003e#21020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(core): structured_predict() returns default values for single-field models (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21025\"\u003e#21025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix openai mimetype guess (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21030\"\u003e#21030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-adapter [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-alephalpha [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-alibabacloud-aisearch [0.4.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-anyscale [0.5.1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003evbump all the things (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20978\"\u003e#20978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-autoembeddings [0.3.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-azure-inference [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-azure-openai [0.5.1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003evbump all the things (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20978\"\u003e#20978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-baseten [0.2.1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\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/run-llama/llama_index/commit/61bc305e93fc773c587d273d60bb5c539aeddc99\"\u003e\u003ccode\u003e61bc305\u003c/code\u003e\u003c/a\u003e Release 0.14.18 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21032\"\u003e#21032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/db6f8dfff02f707c2a703f412c84d92cca8900c7\"\u003e\u003ccode\u003edb6f8df\u003c/code\u003e\u003c/a\u003e fix(core): structured_predict() returns default values for single-field model...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/26b15b1f9c83dcc02761ae7001bc715f8d3ea58d\"\u003e\u003ccode\u003e26b15b1\u003c/code\u003e\u003c/a\u003e Bugfix: Pydantic validation error in AnthropicCompletionResponse (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21027\"\u003e#21027\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/c3effd0674eb2c7cea73d3543b7a20fab55b3d5f\"\u003e\u003ccode\u003ec3effd0\u003c/code\u003e\u003c/a\u003e fix openai mimetype guess (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21030\"\u003e#21030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/41bb29ce0396389c3628373b18e7bbeeddf17ef6\"\u003e\u003ccode\u003e41bb29c\u003c/code\u003e\u003c/a\u003e fix: correct typo 'compatability' to 'compatibility' in Solr client (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21029\"\u003e#21029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/8b9ca048b8a27a252b05408e275804d111defe81\"\u003e\u003ccode\u003e8b9ca04\u003c/code\u003e\u003c/a\u003e feat(postprocessor): add Google Discovery Engine rerank integration (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20893\"\u003e#20893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/2f10566fa9553c5dba27c99dbad5b31d6cd09e65\"\u003e\u003ccode\u003e2f10566\u003c/code\u003e\u003c/a\u003e feat(google-tools): support service account and cloud auth for Calendar and G...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/17dffad4808c7372d206c8af5bc56910a8d540b9\"\u003e\u003ccode\u003e17dffad\u003c/code\u003e\u003c/a\u003e fix: preserve non-ASCII schema descriptions in \u003ccode\u003ePydanticOutputParser\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21016\"\u003e#21016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/3c418ea2800425ca09ad12ff91d5925e4d230a2f\"\u003e\u003ccode\u003e3c418ea\u003c/code\u003e\u003c/a\u003e fix: use \u003ccode\u003eapostprocess_nodes()\u003c/code\u003e in async retrieval paths (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20974\"\u003e#20974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/ccdf31b08b686b3763e18fe1961fb82365635ec0\"\u003e\u003ccode\u003eccdf31b\u003c/code\u003e\u003c/a\u003e fix(core): preserve response metadata in \u003ccode\u003easync _aretrieve_from_object\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20995\"\u003e#20995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/run-llama/llama_index/compare/v0.12.52...v0.14.18\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `llama-index-core` from 0.12.52.post1 to 0.14.18\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/run-llama/llama_index/releases\"\u003ellama-index-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.18\u003c/h2\u003e\n\u003ch1\u003eRelease Notes\u003c/h1\u003e\n\u003ch2\u003e[2026-03-16]\u003c/h2\u003e\n\u003ch3\u003ellama-index-agent-agentmesh [0.2.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-agent-azure [0.3.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-agentops [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-argilla [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-arize-phoenix [0.7.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-honeyhive [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump the uv group across 51 directories with 3 updates (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20962\"\u003e#20962\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-langfuse [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-literalai [1.4.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-openinference [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-opik [1.3.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-promptlayer [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\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/run-llama/llama_index/blob/main/CHANGELOG.md\"\u003ellama-index-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ellama-index-core [0.14.18]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: align text match filters across core and vector backends (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20883\"\u003e#20883\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(chat_engine): preserve chat history on incomplete stream consumption (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20897\"\u003e#20897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: guard against ZeroDivisionError in LlamaDebugHandler._get_time_stats_from_event_pairs (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20937\"\u003e#20937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add stacklevel=2 to warnings.warn() for accurate caller reporting (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20939\"\u003e#20939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRelease 0.14.17 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20957\"\u003e#20957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump the uv group across 51 directories with 3 updates (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20962\"\u003e#20962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use \u003ccode\u003eapostprocess_nodes()\u003c/code\u003e in async retrieval paths (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20974\"\u003e#20974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix (test) : use \u0026gt;= 1 to avoid racy \u003ccode\u003estream_chat\u003c/code\u003e memory assertion (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20980\"\u003e#20980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(core): preserve response metadata in \u003ccode\u003easync _aretrieve_from_object\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20995\"\u003e#20995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: preserve non-ASCII schema descriptions in \u003ccode\u003ePydanticOutputParser\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21016\"\u003e#21016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump the uv group across 42 directories with 2 updates (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21020\"\u003e#21020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(core): structured_predict() returns default values for single-field models (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21025\"\u003e#21025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix openai mimetype guess (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/21030\"\u003e#21030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-adapter [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-alephalpha [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-alibabacloud-aisearch [0.4.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-anyscale [0.5.1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003evbump all the things (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20978\"\u003e#20978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-autoembeddings [0.3.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-azure-inference [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-azure-openai [0.5.1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003evbump all the things (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20978\"\u003e#20978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-baseten [0.2.1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\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/run-llama/llama_index/commit/61bc305e93fc773c587d273d60bb5c539aeddc99\"\u003e\u003ccode\u003e61bc305\u003c/code\u003e\u003c/a\u003e Release 0.14.18 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21032\"\u003e#21032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/db6f8dfff02f707c2a703f412c84d92cca8900c7\"\u003e\u003ccode\u003edb6f8df\u003c/code\u003e\u003c/a\u003e fix(core): structured_predict() returns default values for single-field model...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/26b15b1f9c83dcc02761ae7001bc715f8d3ea58d\"\u003e\u003ccode\u003e26b15b1\u003c/code\u003e\u003c/a\u003e Bugfix: Pydantic validation error in AnthropicCompletionResponse (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21027\"\u003e#21027\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/c3effd0674eb2c7cea73d3543b7a20fab55b3d5f\"\u003e\u003ccode\u003ec3effd0\u003c/code\u003e\u003c/a\u003e fix openai mimetype guess (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21030\"\u003e#21030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/41bb29ce0396389c3628373b18e7bbeeddf17ef6\"\u003e\u003ccode\u003e41bb29c\u003c/code\u003e\u003c/a\u003e fix: correct typo 'compatability' to 'compatibility' in Solr client (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21029\"\u003e#21029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/8b9ca048b8a27a252b05408e275804d111defe81\"\u003e\u003ccode\u003e8b9ca04\u003c/code\u003e\u003c/a\u003e feat(postprocessor): add Google Discovery Engine rerank integration (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20893\"\u003e#20893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/2f10566fa9553c5dba27c99dbad5b31d6cd09e65\"\u003e\u003ccode\u003e2f10566\u003c/code\u003e\u003c/a\u003e feat(google-tools): support service account and cloud auth for Calendar and G...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/17dffad4808c7372d206c8af5bc56910a8d540b9\"\u003e\u003ccode\u003e17dffad\u003c/code\u003e\u003c/a\u003e fix: preserve non-ASCII schema descriptions in \u003ccode\u003ePydanticOutputParser\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/21016\"\u003e#21016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/3c418ea2800425ca09ad12ff91d5925e4d230a2f\"\u003e\u003ccode\u003e3c418ea\u003c/code\u003e\u003c/a\u003e fix: use \u003ccode\u003eapostprocess_nodes()\u003c/code\u003e in async retrieval paths (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20974\"\u003e#20974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/ccdf31b08b686b3763e18fe1961fb82365635ec0\"\u003e\u003ccode\u003eccdf31b\u003c/code\u003e\u003c/a\u003e fix(core): preserve response metadata in \u003ccode\u003easync _aretrieve_from_object\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20995\"\u003e#20995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/run-llama/llama_index/compare/v0.12.52.post1...v0.14.18\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `llama-index-embeddings-azure-openai` from 0.3.9 to 0.5.1\n\nUpdates `llama-index-embeddings-gemini` from 0.3.2 to 0.4.2\n\nUpdates `llama-index-embeddings-huggingface-api` from 0.3.1 to 0.5.0\n\nUpdates `llama-index-embeddings-mistralai` from 0.3.0 to 0.5.0\n\nUpdates `llama-index-embeddings-ollama` from 0.6.0 to 0.9.0\n\nUpdates `llama-index-indices-managed-llama-cloud` from 0.6.11 to 0.11.0\n\nUpdates `llama-index-instrumentation` from 0.4.3 to 0.5.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/run-llama/llama_index/blob/main/CHANGELOG.md\"\u003ellama-index-instrumentation's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ellama-index-callbacks-agentops [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-argilla [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-arize-phoenix [0.7.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-honeyhive [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): bump the uv group across 51 directories with 3 updates (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20962\"\u003e#20962\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-langfuse [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-literalai [1.4.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-openinference [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-opik [1.3.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-promptlayer [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-uptrain [0.6.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-callbacks-wandb [0.5.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate python 3.9 once and for all (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20956\"\u003e#20956\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-core [0.14.18]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: align text match filters across core and vector backends (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20883\"\u003e#20883\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(chat_engine): preserve chat history on incomplete stream consumption (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20897\"\u003e#20897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: guard against ZeroDivisionError in LlamaDebugHandler._get_time_stats_from_event_pairs (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20937\"\u003e#20937\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/run-llama/llama_index/commit/c561f1388d2eee6e88553487909cb9810317e059\"\u003e\u003ccode\u003ec561f13\u003c/code\u003e\u003c/a\u003e cr\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/84b00963208b8f93fa207d99dcae5804c6484e7f\"\u003e\u003ccode\u003e84b0096\u003c/code\u003e\u003c/a\u003e [0.5.0] fix simple vector bug (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/951\"\u003e#951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/de5a8f573d590499c3da5a39904e05e110e73d12\"\u003e\u003ccode\u003ede5a8f5\u003c/code\u003e\u003c/a\u003e [0.5.0] fix usage pattern (\u003ca href=\"ht...\n\n_Description has been truncated_","html_url":"https://github.com/DylanLRPollock/Monkey-Head-Project/pull/503","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/DylanLRPollock%2FMonkey-Head-Project/issues/503","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/503/packages"}},{"old_version":"0.9.0","new_version":"0.10.2","update_type":"minor","path":null,"pr_created_at":"2026-02-26T20:36:45.000Z","version_change":"0.9.0 → 0.10.2","issue":{"uuid":"3997636472","node_id":"PR_kwDOK8weY87GpsiX","number":478,"state":"closed","title":"deps(pip)(deps): bump the python-minor-patch group across 1 directory with 93 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-04T02:51:11.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-26T20:36:45.000Z","updated_at":"2026-03-04T02:51:13.000Z","time_to_close":454466,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(pip)(deps): bump","group_name":"python-minor-patch","update_count":93,"packages":[{"name":"anthropic","old_version":"0.76.0","new_version":"0.84.0"},{"name":"google-genai","old_version":"1.57.0","new_version":"1.65.0","repository_url":"https://github.com/googleapis/python-genai"},{"name":"huggingface-hub","old_version":"1.4.1","new_version":"1.5.0","repository_url":"https://github.com/huggingface/huggingface_hub"},{"name":"llama-index","old_version":"0.14.14","new_version":"0.14.15","repository_url":"https://github.com/run-llama/llama_index"},{"name":"llama-index-core","old_version":"0.14.14","new_version":"0.14.15","repository_url":"https://github.com/run-llama/llama_index"},{"name":"llama-index-embeddings-gemini","old_version":"0.4.1","new_version":"0.4.2"},{"name":"llama-index-llms-anthropic","old_version":"0.10.5","new_version":"0.10.10"},{"name":"llama-index-llms-gemini","old_version":"0.6.1","new_version":"0.6.2"},{"name":"llama-index-llms-google-genai","old_version":"0.8.3","new_version":"0.8.7"},{"name":"llama-index-llms-huggingface-api","old_version":"0.6.1","new_version":"0.6.2"},{"name":"llama-index-llms-mistralai","old_version":"0.9.0","new_version":"0.10.0.post2"},{"name":"llama-index-llms-openai","old_version":"0.6.13","new_version":"0.6.21"},{"name":"llama-index-llms-openai-like","old_version":"0.5.3","new_version":"0.6.0"},{"name":"llama-index-readers-file","old_version":"0.5.4","new_version":"0.5.6"},{"name":"llama-index-readers-github","old_version":"0.8.2","new_version":"0.10.0"},{"name":"llama-index-workflows","old_version":"2.12.0","new_version":"2.14.2"},{"name":"mistralai","old_version":"1.10.0","new_version":"1.12.4","repository_url":"https://github.com/mistralai/client-python"},{"name":"onnxruntime","old_version":"1.23.2","new_version":"1.24.2","repository_url":"https://github.com/microsoft/onnxruntime"},{"name":"openai","old_version":"2.21.0","new_version":"2.24.0","repository_url":"https://github.com/openai/openai-python"},{"name":"openai-agents","old_version":"0.9.0","new_version":"0.10.2","repository_url":"https://github.com/openai/openai-agents-python"},{"name":"transformers","old_version":"5.1.0","new_version":"5.2.0","repository_url":"https://github.com/huggingface/transformers"},{"name":"chromadb","old_version":"1.5.0","new_version":"1.5.1","repository_url":"https://github.com/chroma-core/chroma"},{"name":"faiss-cpu","old_version":"1.8.0.post1","new_version":"1.13.2","repository_url":"https://github.com/kyamagu/faiss-wheels"},{"name":"pandas","old_version":"3.0.0","new_version":"3.0.1","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"pinecone","old_version":"8.0.0","new_version":"8.1.0","repository_url":"https://github.com/pinecone-io/pinecone-python-client"},{"name":"pinecone-plugin-assistant","old_version":"3.0.1","new_version":"3.0.2"},{"name":"qdrant-client","old_version":"1.16.2","new_version":"1.17.0","repository_url":"https://github.com/qdrant/qdrant-client"},{"name":"weaviate-client","old_version":"4.19.2","new_version":"4.20.1","repository_url":"https://github.com/weaviate/weaviate-python-client"},{"name":"azure-core","old_version":"1.38.0","new_version":"1.38.2","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"azure-identity","old_version":"1.25.1","new_version":"1.25.2","repository_url":"https://github.com/Azure/azure-sdk-for-python"},{"name":"boto3","old_version":"1.42.43","new_version":"1.42.57","repository_url":"https://github.com/boto/boto3"},{"name":"botocore","old_version":"1.42.43","new_version":"1.42.57","repository_url":"https://github.com/boto/botocore"},{"name":"google-cloud-aiplatform","old_version":"1.133.0","new_version":"1.139.0","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"google-cloud-storage","old_version":"3.8.0","new_version":"3.9.0","repository_url":"https://github.com/googleapis/python-storage"},{"name":"bandit","old_version":"1.9.2","new_version":"1.9.4","repository_url":"https://github.com/PyCQA/bandit"},{"name":"debugpy","old_version":"1.8.19","new_version":"1.8.20","repository_url":"https://github.com/microsoft/debugpy"},{"name":"ipython","old_version":"9.9.0","new_version":"9.10.0","repository_url":"https://github.com/ipython/ipython"},{"name":"pip-tools","old_version":"7.5.2","new_version":"7.5.3","repository_url":"https://github.com/jazzband/pip-tools"},{"name":"rich","old_version":"14.2.0","new_version":"14.3.3","repository_url":"https://github.com/Textualize/rich"},{"name":"ruff","old_version":"0.15.1","new_version":"0.15.4","repository_url":"https://github.com/astral-sh/ruff"},{"name":"uv","old_version":"0.10.2","new_version":"0.10.6","repository_url":"https://github.com/astral-sh/uv"},{"name":"sounddevice","old_version":"0.5.3","new_version":"0.5.5","repository_url":"https://github.com/spatialaudio/python-sounddevice"},{"name":"certifi","old_version":"2026.1.4","new_version":"2026.2.25","repository_url":"https://github.com/certifi/python-certifi"},{"name":"fastapi","old_version":"0.129.0","new_version":"0.133.1","repository_url":"https://github.com/fastapi/fastapi"},{"name":"pydantic-settings","old_version":"2.12.0","new_version":"2.13.1","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"banks","old_version":"2.3.0","new_version":"2.4.1","repository_url":"https://github.com/masci/banks"},{"name":"beautifulsoup4","old_version":"4.13.5","new_version":"4.14.3"},{"name":"deprecated","old_version":"1.2.18","new_version":"1.3.1","repository_url":"https://github.com/laurent-laporte-pro/deprecated"},{"name":"docx2txt","old_version":"0.8","new_version":"0.9","repository_url":"https://github.com/ankushshah89/python-docx2txt"},{"name":"ebooklib","old_version":"0.18","new_version":"0.20","repository_url":"https://github.com/aerkalov/ebooklib"},{"name":"filelock","old_version":"3.20.3","new_version":"3.24.3","repository_url":"https://github.com/tox-dev/py-filelock"},{"name":"firecrawl-py","old_version":"4.14.0","new_version":"4.17.1","repository_url":"https://github.com/firecrawl/firecrawl"},{"name":"gkeepapi","old_version":"0.15.1","new_version":"0.17.1","repository_url":"https://github.com/kiwiz/gkeepapi"},{"name":"google-api-core","old_version":"2.29.0","new_version":"2.30.0"},{"name":"google-api-python-client","old_version":"2.187.0","new_version":"2.190.0","repository_url":"https://github.com/googleapis/google-api-python-client"},{"name":"google-auth-httplib2","old_version":"0.2.1","new_version":"0.3.0","repository_url":"https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2"},{"name":"greenlet","old_version":"3.3.1","new_version":"3.3.2","repository_url":"https://github.com/python-greenlet/greenlet"},{"name":"grpcio","old_version":"1.75.0","new_version":"1.78.0","repository_url":"https://github.com/grpc/grpc"},{"name":"grpcio-status","old_version":"1.71.2","new_version":"1.78.0"},{"name":"httpx-socks","old_version":"0.10.1","new_version":"0.11.0","repository_url":"https://github.com/romis2012/httpx-socks"},{"name":"llama-index-vector-stores-qdrant","old_version":"0.8.8","new_version":"0.9.1"},{"name":"markdown","old_version":"3.10.1","new_version":"3.10.2","repository_url":"https://github.com/Python-Markdown/markdown"},{"name":"ml-dtypes","old_version":"0.4.1","new_version":"0.5.4","repository_url":"https://github.com/jax-ml/ml_dtypes"},{"name":"mpmath","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/mpmath/mpmath"},{"name":"msal","old_version":"1.34.0","new_version":"1.35.0","repository_url":"https://github.com/AzureAD/microsoft-authentication-library-for-python"},{"name":"opencv-python","old_version":"4.11.0.86","new_version":"4.13.0.92","repository_url":"https://github.com/opencv/opencv-python"},{"name":"parso","old_version":"0.8.5","new_version":"0.8.6","repository_url":"https://github.com/davidhalter/parso"},{"name":"platformdirs","old_version":"4.5.1","new_version":"4.9.2","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"pydantic-core","old_version":"2.41.5","new_version":"2.42.0","repository_url":"https://github.com/pydantic/pydantic-core"},{"name":"pyee","old_version":"13.0.0","new_version":"13.0.1","repository_url":"https://github.com/jfhbrook/pyee"},{"name":"pypdf","old_version":"6.7.2","new_version":"6.7.3","repository_url":"https://github.com/py-pdf/pypdf"},{"name":"pyside6","old_version":"6.9.1","new_version":"6.10.2"},{"name":"pyside6-addons","old_version":"6.9.1","new_version":"6.10.2"},{"name":"pyside6-essentials","old_version":"6.9.1","new_version":"6.10.2"},{"name":"python-markdown-math","old_version":"0.8","new_version":"0.9","repository_url":"https://github.com/mitya57/python-markdown-math"},{"name":"python-socks","old_version":"2.8.0","new_version":"2.8.1","repository_url":"https://github.com/romis2012/python-socks"},{"name":"qasync","old_version":"0.27.1","new_version":"0.28.0","repository_url":"https://github.com/CabbageDevelopment/qasync"},{"name":"redisvl","old_version":"0.4.1","new_version":"0.14.0","repository_url":"https://github.com/redis/redis-vl-python"},{"name":"regex","old_version":"2026.1.15","new_version":"2026.2.19","repository_url":"https://github.com/mrabarnett/mrab-regex"},{"name":"selenium","old_version":"4.39.0","new_version":"4.41.0","repository_url":"https://github.com/SeleniumHQ/Selenium"},{"name":"shiboken6","old_version":"6.9.1","new_version":"6.10.2"},{"name":"show-in-file-manager","old_version":"1.1.5","new_version":"1.1.6","repository_url":"https://github.com/damonlynch/showinfilemanager"},{"name":"spider-client","old_version":"0.0.27","new_version":"0.1.85","repository_url":"https://github.com/spider-rs/spider-clients"},{"name":"sqlalchemy","old_version":"2.0.43","new_version":"2.0.47"},{"name":"striprtf","old_version":"0.0.26","new_version":"0.0.29","repository_url":"https://github.com/joshy/striprtf"},{"name":"tenacity","old_version":"9.1.3","new_version":"9.1.4","repository_url":"https://github.com/jd/tenacity"},{"name":"tinycss2","old_version":"1.4.0","new_version":"1.5.1","repository_url":"https://github.com/Kozea/tinycss2"},{"name":"tinysegmenter","old_version":"0.3","new_version":"0.4"},{"name":"trio","old_version":"0.32.0","new_version":"0.33.0","repository_url":"https://github.com/python-trio/trio"},{"name":"typer","old_version":"0.21.1","new_version":"0.24.1","repository_url":"https://github.com/fastapi/typer"},{"name":"urllib3","old_version":"2.5.0","new_version":"2.6.3"},{"name":"wcwidth","old_version":"0.5.3","new_version":"0.6.0","repository_url":"https://github.com/jquast/wcwidth"},{"name":"xai-sdk","old_version":"1.6.1","new_version":"1.7.0","repository_url":"https://github.com/xai-org/xai-sdk-python"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor-patch group with 93 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [anthropic[bedrock,vertex]](https://github.com/anthropics/anthropic-sdk-python) | `0.76.0` | `0.84.0` |\n| [google-genai](https://github.com/googleapis/python-genai) | `1.57.0` | `1.65.0` |\n| [huggingface-hub](https://github.com/huggingface/huggingface_hub) | `1.4.1` | `1.5.0` |\n| [llama-index](https://github.com/run-llama/llama_index) | `0.14.14` | `0.14.15` |\n| [llama-index-core](https://github.com/run-llama/llama_index) | `0.14.14` | `0.14.15` |\n| llama-index-embeddings-gemini | `0.4.1` | `0.4.2` |\n| llama-index-llms-anthropic | `0.10.5` | `0.10.10` |\n| llama-index-llms-gemini | `0.6.1` | `0.6.2` |\n| llama-index-llms-google-genai | `0.8.3` | `0.8.7` |\n| llama-index-llms-huggingface-api | `0.6.1` | `0.6.2` |\n| llama-index-llms-mistralai | `0.9.0` | `0.10.0.post2` |\n| llama-index-llms-openai | `0.6.13` | `0.6.21` |\n| llama-index-llms-openai-like | `0.5.3` | `0.6.0` |\n| llama-index-readers-file | `0.5.4` | `0.5.6` |\n| llama-index-readers-github | `0.8.2` | `0.10.0` |\n| llama-index-workflows | `2.12.0` | `2.14.2` |\n| [mistralai](https://github.com/mistralai/client-python) | `1.10.0` | `1.12.4` |\n| [onnxruntime](https://github.com/microsoft/onnxruntime) | `1.23.2` | `1.24.2` |\n| [openai](https://github.com/openai/openai-python) | `2.21.0` | `2.24.0` |\n| [openai-agents](https://github.com/openai/openai-agents-python) | `0.9.0` | `0.10.2` |\n| [transformers](https://github.com/huggingface/transformers) | `5.1.0` | `5.2.0` |\n| [chromadb](https://github.com/chroma-core/chroma) | `1.5.0` | `1.5.1` |\n| [faiss-cpu](https://github.com/kyamagu/faiss-wheels) | `1.8.0.post1` | `1.13.2` |\n| [pandas](https://github.com/pandas-dev/pandas) | `3.0.0` | `3.0.1` |\n| [pinecone](https://github.com/pinecone-io/pinecone-python-client) | `8.0.0` | `8.1.0` |\n| [pinecone-plugin-assistant](https://www.pinecone.io) | `3.0.1` | `3.0.2` |\n| [qdrant-client](https://github.com/qdrant/qdrant-client) | `1.16.2` | `1.17.0` |\n| [weaviate-client](https://github.com/weaviate/weaviate-python-client) | `4.19.2` | `4.20.1` |\n| [azure-core](https://github.com/Azure/azure-sdk-for-python) | `1.38.0` | `1.38.2` |\n| [azure-identity](https://github.com/Azure/azure-sdk-for-python) | `1.25.1` | `1.25.2` |\n| [boto3](https://github.com/boto/boto3) | `1.42.43` | `1.42.57` |\n| [botocore](https://github.com/boto/botocore) | `1.42.43` | `1.42.57` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.133.0` | `1.139.0` |\n| [google-cloud-storage](https://github.com/googleapis/python-storage) | `3.8.0` | `3.9.0` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.9.2` | `1.9.4` |\n| [debugpy](https://github.com/microsoft/debugpy) | `1.8.19` | `1.8.20` |\n| [ipython](https://github.com/ipython/ipython) | `9.9.0` | `9.10.0` |\n| [pip-tools](https://github.com/jazzband/pip-tools) | `7.5.2` | `7.5.3` |\n| [rich](https://github.com/Textualize/rich) | `14.2.0` | `14.3.3` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.1` | `0.15.4` |\n| [uv](https://github.com/astral-sh/uv) | `0.10.2` | `0.10.6` |\n| [sounddevice](https://github.com/spatialaudio/python-sounddevice) | `0.5.3` | `0.5.5` |\n| [certifi](https://github.com/certifi/python-certifi) | `2026.1.4` | `2026.2.25` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.129.0` | `0.133.1` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.12.0` | `2.13.1` |\n| [banks](https://github.com/masci/banks) | `2.3.0` | `2.4.1` |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.13.5` | `4.14.3` |\n| [deprecated](https://github.com/laurent-laporte-pro/deprecated) | `1.2.18` | `1.3.1` |\n| [docx2txt](https://github.com/ankushshah89/python-docx2txt) | `0.8` | `0.9` |\n| [ebooklib](https://github.com/aerkalov/ebooklib) | `0.18` | `0.20` |\n| [filelock](https://github.com/tox-dev/py-filelock) | `3.20.3` | `3.24.3` |\n| [firecrawl-py](https://github.com/firecrawl/firecrawl) | `4.14.0` | `4.17.1` |\n| [gkeepapi](https://github.com/kiwiz/gkeepapi) | `0.15.1` | `0.17.1` |\n| [google-api-core[grpc]](https://github.com/googleapis/google-cloud-python) | `2.29.0` | `2.30.0` |\n| [google-api-python-client](https://github.com/googleapis/google-api-python-client) | `2.187.0` | `2.190.0` |\n| [google-auth-httplib2](https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2) | `0.2.1` | `0.3.0` |\n| [greenlet](https://github.com/python-greenlet/greenlet) | `3.3.1` | `3.3.2` |\n| [grpcio](https://github.com/grpc/grpc) | `1.75.0` | `1.78.0` |\n| [grpcio-status](https://grpc.io) | `1.71.2` | `1.78.0` |\n| [httpx-socks](https://github.com/romis2012/httpx-socks) | `0.10.1` | `0.11.0` |\n| llama-index-vector-stores-qdrant | `0.8.8` | `0.9.1` |\n| [markdown](https://github.com/Python-Markdown/markdown) | `3.10.1` | `3.10.2` |\n| [ml-dtypes](https://github.com/jax-ml/ml_dtypes) | `0.4.1` | `0.5.4` |\n| [mpmath](https://github.com/mpmath/mpmath) | `1.3.0` | `1.4.0` |\n| [msal](https://github.com/AzureAD/microsoft-authentication-library-for-python) | `1.34.0` | `1.35.0` |\n| [opencv-python](https://github.com/opencv/opencv-python) | `4.11.0.86` | `4.13.0.92` |\n| [parso](https://github.com/davidhalter/parso) | `0.8.5` | `0.8.6` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.5.1` | `4.9.2` |\n| [pydantic-core](https://github.com/pydantic/pydantic-core) | `2.41.5` | `2.42.0` |\n| [pyee](https://github.com/jfhbrook/pyee) | `13.0.0` | `13.0.1` |\n| [pypdf](https://github.com/py-pdf/pypdf) | `6.7.2` | `6.7.3` |\n| [pyside6](https://pyside.org) | `6.9.1` | `6.10.2` |\n| [pyside6-addons](https://pyside.org) | `6.9.1` | `6.10.2` |\n| [pyside6-essentials](https://pyside.org) | `6.9.1` | `6.10.2` |\n| [python-markdown-math](https://github.com/mitya57/python-markdown-math) | `0.8` | `0.9` |\n| [python-socks](https://github.com/romis2012/python-socks) | `2.8.0` | `2.8.1` |\n| [qasync](https://github.com/CabbageDevelopment/qasync) | `0.27.1` | `0.28.0` |\n| [redisvl](https://github.com/redis/redis-vl-python) | `0.4.1` | `0.14.0` |\n| [regex](https://github.com/mrabarnett/mrab-regex) | `2026.1.15` | `2026.2.19` |\n| [selenium](https://github.com/SeleniumHQ/Selenium) | `4.39.0` | `4.41.0` |\n| [shiboken6](https://pyside.org) | `6.9.1` | `6.10.2` |\n| [show-in-file-manager](https://github.com/damonlynch/showinfilemanager) | `1.1.5` | `1.1.6` |\n| [spider-client](https://github.com/spider-rs/spider-clients) | `0.0.27` | `0.1.85` |\n| [sqlalchemy[asyncio]](https://github.com/sqlalchemy/sqlalchemy) | `2.0.43` | `2.0.47` |\n| [striprtf](https://github.com/joshy/striprtf) | `0.0.26` | `0.0.29` |\n| [tenacity](https://github.com/jd/tenacity) | `9.1.3` | `9.1.4` |\n| [tinycss2](https://github.com/Kozea/tinycss2) | `1.4.0` | `1.5.1` |\n| [tinysegmenter](http://tinysegmenter.tuxfamily.org/) | `0.3` | `0.4` |\n| [trio](https://github.com/python-trio/trio) | `0.32.0` | `0.33.0` |\n| [typer](https://github.com/fastapi/typer) | `0.21.1` | `0.24.1` |\n| [urllib3[socks]](https://github.com/urllib3/urllib3) | `2.5.0` | `2.6.3` |\n| [wcwidth](https://github.com/jquast/wcwidth) | `0.5.3` | `0.6.0` |\n| [xai-sdk](https://github.com/xai-org/xai-sdk-python) | `1.6.1` | `1.7.0` |\n\n\nUpdates `anthropic[bedrock,vertex]` from 0.76.0 to 0.84.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[bedrock,vertex]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\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\u003ch2\u003ev0.83.0\u003c/h2\u003e\n\u003ch2\u003e0.83.0 (2026-02-19)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.82.0...v0.83.0\"\u003ev0.82.0...v0.83.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 top-level cache control (automatic caching) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/a940123da34ac33f0b6f20ce91807829451d1233\"\u003ea940123\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate mock server docs (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/34ef48ceb0f1734d6b695890f689dc42eb0b004e\"\u003e34ef48c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.82.0\u003c/h2\u003e\n\u003ch2\u003e0.82.0 (2026-02-18)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.81.0...v0.82.0\"\u003ev0.81.0...v0.82.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e fix shared UserLocation and error code types (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/da3b931a2be768d77c228a4804d2f7f75caeb71c\"\u003eda3b931\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/blob/main/CHANGELOG.md\"\u003eanthropic[bedrock,vertex]'s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003ch2\u003e0.83.0 (2026-02-19)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.82.0...v0.83.0\"\u003ev0.82.0...v0.83.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 top-level cache control (automatic caching) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/a940123da34ac33f0b6f20ce91807829451d1233\"\u003ea940123\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate mock server docs (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/34ef48ceb0f1734d6b695890f689dc42eb0b004e\"\u003e34ef48c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.82.0 (2026-02-18)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.81.0...v0.82.0\"\u003ev0.81.0...v0.82.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e fix shared UserLocation and error code types (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/da3b931a2be768d77c228a4804d2f7f75caeb71c\"\u003eda3b931\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd backward-compat aliases for removed nested UserLocation classes (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1409\"\u003e#1409\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/56db1e3db6108e1c0f4e9363a5f23b54976dc877\"\u003e56db1e3\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/49d639a671cb0ac30c767e8e1e68fdd5925205d5\"\u003e\u003ccode\u003e49d639a\u003c/code\u003e\u003c/a\u003e release: 0.84.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/4d73b2159f7f3e88113a904f785de58ec4157045\"\u003e\u003ccode\u003e4d73b21\u003c/code\u003e\u003c/a\u003e feat(helpers): add conversion helpers for MCP tools, prompts, and resources (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/0e4092173fc52d773675f8e3a4ced6a5e2f67c9f\"\u003e\u003ccode\u003e0e40921\u003c/code\u003e\u003c/a\u003e docs: rebrand to Claude SDK and streamline README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/c3017a227c67377b862644feb463c0d8a1e9ddc9\"\u003e\u003ccode\u003ec3017a2\u003c/code\u003e\u003c/a\u003e chore(internal): simplify http snapshots (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1092\"\u003e#1092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/470fda9c14714117342c0491d6e436d158bbb4ab\"\u003e\u003ccode\u003e470fda9\u003c/code\u003e\u003c/a\u003e chore(internal): make \u003ccode\u003etest_proxy_environment_variables\u003c/code\u003e more resilient to env\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/c30c72d710dea90437a73713296e76c12518c359\"\u003e\u003ccode\u003ec30c72d\u003c/code\u003e\u003c/a\u003e chore: add missing raw jsonl results method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/9d9a5a1aab3aa67c665c39bbeed3fec298fc2e6a\"\u003e\u003ccode\u003e9d9a5a1\u003c/code\u003e\u003c/a\u003e chore(internal):  make \u003ccode\u003etest_proxy_environment_variables\u003c/code\u003e more resilient\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/c28d2d50a5f5197839c36fb4741bee8cd1e976c1\"\u003e\u003ccode\u003ec28d2d5\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/bb13f1ea6be3941342115fdb125e3fe225252071\"\u003e\u003ccode\u003ebb13f1e\u003c/code\u003e\u003c/a\u003e chore(internal): add request options to SSE classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/ab0ccb990d098ef56c0367abcb0c745d7a58a99e\"\u003e\u003ccode\u003eab0ccb9\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.76.0...v0.84.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-genai` from 1.57.0 to 1.65.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-genai/releases\"\u003egoogle-genai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.65.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.64.0...v1.65.0\"\u003e1.65.0\u003c/a\u003e (2026-02-26)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd gemini-3.1-pro-preview to list of models in Interactions (\u003ca href=\"https://github.com/googleapis/python-genai/commit/fe86870752ca8cc66d140d3942e9b07f19ca092c\"\u003efe86870\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Image Grounding support to GoogleSearch tool (\u003ca href=\"https://github.com/googleapis/python-genai/commit/0035182ec4eaf1ce2503a09f290b1e48a2e1ee1f\"\u003e0035182\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnable server side MCP and disable all other AFC when server side MCP is configured. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/4dd7b165dc54d3ae75367f68d05f9d9951688f54\"\u003e4dd7b16\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport more image sizes and resolutions (\u003ca href=\"https://github.com/googleapis/python-genai/commit/8b2a4e04707c86e5f7d46e0483a88457fbf6d533\"\u003e8b2a4e0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChange interactions media mime type to enum (breaking change for experimental feature) (\u003ca href=\"https://github.com/googleapis/python-genai/commit/e0f33786f76a1af6ac3ad1938ab57961833bf0a1\"\u003ee0f3378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle non-list response_stream in HttpResponse.json property (\u003ca href=\"https://github.com/googleapis/python-genai/commit/006042db8379d957ac1ac0e57993983a21f7e1d1\"\u003e006042d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle non-list response_stream in HttpResponse.json property (\u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1903\"\u003e#1903\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-genai/commit/61aec3455e886a1c700fb0ba21ed40f59bba65ff\"\u003e61aec34\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake aiohttp an optional dependency, bump aiohttp version upperbound, and ensure HttpOptions.async_client_args propagates to custom aiohttp.ClientSession request args for proxy etc. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/b28d1445bb6c2c46c495ffd1b03a622d9d6942f6\"\u003eb28d144\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/2090\"\u003e#2090\u003c/a\u003e \u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/2051\"\u003e#2051\u003c/a\u003e \u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1950\"\u003e#1950\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerate docs for 1.64.0 (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a02314197d0dc72e854fa3ea79247f53421511ba\"\u003ea023141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate README and codegen_instructions for structured outputs (\u003ca href=\"https://github.com/googleapis/python-genai/commit/4d5a978932e9aacd2569f3058ce5af527ae18210\"\u003e4d5a978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.64.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.63.0...v1.64.0\"\u003e1.64.0\u003c/a\u003e (2026-02-18)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd UnifiedMetric support to Vertex Tuning evaluation config (\u003ca href=\"https://github.com/googleapis/python-genai/commit/9a9908a9605756a94404359187cad09b21c094e0\"\u003e9a9908a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport multimodal embedding for Gemini Embedding 2.0 and support MaaS models in Models.embed_content() (Vertex AI API) (\u003ca href=\"https://github.com/googleapis/python-genai/commit/af40cc629751b2d389eecb75741e9c3531cc8e6e\"\u003eaf40cc6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.63.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.62.0...v1.63.0\"\u003e1.63.0\u003c/a\u003e (2026-02-11)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd INCOMPLETE status to Interaction. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1a84605bcac5445c8e13658b8bd7ff1860f10f1b\"\u003e1a84605\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport encryption_spec in tuning job creation configuration for GenAI SDK (\u003ca href=\"https://github.com/googleapis/python-genai/commit/057d6f077b0a6d13c843fff0479027f5f7369113\"\u003e057d6f0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBase_url and global location parsing (\u003ca href=\"https://github.com/googleapis/python-genai/commit/2c40555c54267b1e9ba10dfafe1bc73f0cca43d4\"\u003e2c40555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove build warning due to extra comma: assertion on a tuple is always true (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1cc2c2d411576e9858d4a4ae33bbf12975700a9f\"\u003e1cc2c2d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove debug print statement. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/60c0a2ffb4c1e87374c02958b1cb42748ba84ff1\"\u003e60c0a2f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unused import of \u003ccode\u003ewebsockets\u003c/code\u003e (\u003ca href=\"https://github.com/googleapis/python-genai/commit/3b82b5f382c6fe9fa820a59c3938d04cef3ae24e\"\u003e3b82b5f\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-genai/blob/main/CHANGELOG.md\"\u003egoogle-genai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.64.0...v1.65.0\"\u003e1.65.0\u003c/a\u003e (2026-02-26)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd gemini-3.1-pro-preview to list of models in Interactions (\u003ca href=\"https://github.com/googleapis/python-genai/commit/fe86870752ca8cc66d140d3942e9b07f19ca092c\"\u003efe86870\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Image Grounding support to GoogleSearch tool (\u003ca href=\"https://github.com/googleapis/python-genai/commit/0035182ec4eaf1ce2503a09f290b1e48a2e1ee1f\"\u003e0035182\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnable server side MCP and disable all other AFC when server side MCP is configured. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/4dd7b165dc54d3ae75367f68d05f9d9951688f54\"\u003e4dd7b16\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport more image sizes and resolutions (\u003ca href=\"https://github.com/googleapis/python-genai/commit/8b2a4e04707c86e5f7d46e0483a88457fbf6d533\"\u003e8b2a4e0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChange interactions media mime type to enum (breaking change for experimental feature) (\u003ca href=\"https://github.com/googleapis/python-genai/commit/e0f33786f76a1af6ac3ad1938ab57961833bf0a1\"\u003ee0f3378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle non-list response_stream in HttpResponse.json property (\u003ca href=\"https://github.com/googleapis/python-genai/commit/006042db8379d957ac1ac0e57993983a21f7e1d1\"\u003e006042d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle non-list response_stream in HttpResponse.json property (\u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1903\"\u003e#1903\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/python-genai/commit/61aec3455e886a1c700fb0ba21ed40f59bba65ff\"\u003e61aec34\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake aiohttp an optional dependency, bump aiohttp version upperbound, and ensure HttpOptions.async_client_args propagates to custom aiohttp.ClientSession request args for proxy etc. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/b28d1445bb6c2c46c495ffd1b03a622d9d6942f6\"\u003eb28d144\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/2090\"\u003e#2090\u003c/a\u003e \u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/2051\"\u003e#2051\u003c/a\u003e \u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1950\"\u003e#1950\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerate docs for 1.64.0 (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a02314197d0dc72e854fa3ea79247f53421511ba\"\u003ea023141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate README and codegen_instructions for structured outputs (\u003ca href=\"https://github.com/googleapis/python-genai/commit/4d5a978932e9aacd2569f3058ce5af527ae18210\"\u003e4d5a978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.63.0...v1.64.0\"\u003e1.64.0\u003c/a\u003e (2026-02-18)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd UnifiedMetric support to Vertex Tuning evaluation config (\u003ca href=\"https://github.com/googleapis/python-genai/commit/9a9908a9605756a94404359187cad09b21c094e0\"\u003e9a9908a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport multimodal embedding for Gemini Embedding 2.0 and support MaaS models in Models.embed_content() (Vertex AI API) (\u003ca href=\"https://github.com/googleapis/python-genai/commit/af40cc629751b2d389eecb75741e9c3531cc8e6e\"\u003eaf40cc6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.62.0...v1.63.0\"\u003e1.63.0\u003c/a\u003e (2026-02-11)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd INCOMPLETE status to Interaction. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1a84605bcac5445c8e13658b8bd7ff1860f10f1b\"\u003e1a84605\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport encryption_spec in tuning job creation configuration for GenAI SDK (\u003ca href=\"https://github.com/googleapis/python-genai/commit/057d6f077b0a6d13c843fff0479027f5f7369113\"\u003e057d6f0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBase_url and global location parsing (\u003ca href=\"https://github.com/googleapis/python-genai/commit/2c40555c54267b1e9ba10dfafe1bc73f0cca43d4\"\u003e2c40555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove build warning due to extra comma: assertion on a tuple is always true (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1cc2c2d411576e9858d4a4ae33bbf12975700a9f\"\u003e1cc2c2d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove debug print statement. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/60c0a2ffb4c1e87374c02958b1cb42748ba84ff1\"\u003e60c0a2f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unused import of \u003ccode\u003ewebsockets\u003c/code\u003e (\u003ca href=\"https://github.com/googleapis/python-genai/commit/3b82b5f382c6fe9fa820a59c3938d04cef3ae24e\"\u003e3b82b5f\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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/b2be5018adce18598badacfbbe7a4c0139be3a16\"\u003e\u003ccode\u003eb2be501\u003c/code\u003e\u003c/a\u003e chore(main): release 1.65.0 (\u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/2075\"\u003e#2075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/7028a9c691439b559de1b75ab2717f522c8f4e24\"\u003e\u003ccode\u003e7028a9c\u003c/code\u003e\u003c/a\u003e chore: update InteractionCompleteEvent comment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/0035182ec4eaf1ce2503a09f290b1e48a2e1ee1f\"\u003e\u003ccode\u003e0035182\u003c/code\u003e\u003c/a\u003e feat: Add Image Grounding support to GoogleSearch tool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/8b2a4e04707c86e5f7d46e0483a88457fbf6d533\"\u003e\u003ccode\u003e8b2a4e0\u003c/code\u003e\u003c/a\u003e feat: Support more image sizes and resolutions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/b28d1445bb6c2c46c495ffd1b03a622d9d6942f6\"\u003e\u003ccode\u003eb28d144\u003c/code\u003e\u003c/a\u003e fix: Make aiohttp an optional dependency, bump aiohttp version upperbound, an...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/c04c4891f7d54cdedc525bf4f42f29fb1a4eae1b\"\u003e\u003ccode\u003ec04c489\u003c/code\u003e\u003c/a\u003e chore: Improve error message for missing API key.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/af94e536ab606d1795ad90e0c8eeb9c2a850ce6b\"\u003e\u003ccode\u003eaf94e53\u003c/code\u003e\u003c/a\u003e chore: Update comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/006042db8379d957ac1ac0e57993983a21f7e1d1\"\u003e\u003ccode\u003e006042d\u003c/code\u003e\u003c/a\u003e Copybara import of the project:\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/ecfa90cab3cf76357996048aa9928bf8055030bf\"\u003e\u003ccode\u003eecfa90c\u003c/code\u003e\u003c/a\u003e chore: internal change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/61aec3455e886a1c700fb0ba21ed40f59bba65ff\"\u003e\u003ccode\u003e61aec34\u003c/code\u003e\u003c/a\u003e fix: handle non-list response_stream in HttpResponse.json property (\u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1903\"\u003e#1903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.57.0...v1.65.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `huggingface-hub` from 1.4.1 to 1.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/huggingface/huggingface_hub/releases\"\u003ehuggingface-hub's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v1.5.0]: Buckets API, Agent-first CLI, Spaces Hot-Reload and more\u003c/h2\u003e\n\u003cp\u003eThis release introduces major new features including \u003cstrong\u003eBuckets\u003c/strong\u003e (xet-based large scale object storage), CLI Extensions, Space Hot-Reload, and significant improvements for AI coding agents. The CLI has been completely overhauled with centralized error handling, better help output, and new commands for collections, papers, and more.\u003c/p\u003e\n\u003ch2\u003e🪣 Buckets: S3-like Object Storage on the Hub\u003c/h2\u003e\n\u003cp\u003eBuckets provide S3-like object storage on Hugging Face, powered by the Xet storage backend. Unlike repositories (which are git-based and track file history), buckets are remote object storage containers designed for large-scale files with content-addressable deduplication. Use them for training checkpoints, logs, intermediate artifacts, or any large collection of files that doesn't need version control.\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003e# Create a bucket\r\nhf buckets create my-bucket --private\r\n\u003ch1\u003eUpload a directory\u003c/h1\u003e\n\u003cp\u003ehf buckets sync ./data hf://buckets/username/my-bucket\u003c/p\u003e\n\u003ch1\u003eDownload from bucket\u003c/h1\u003e\n\u003cp\u003ehf buckets sync hf://buckets/username/my-bucket ./data\u003c/p\u003e\n\u003ch1\u003eList files\u003c/h1\u003e\n\u003cp\u003ehf buckets list username/my-bucket -R --tree\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eThe Buckets API includes full CLI and Python support for creating, listing, moving, and deleting buckets; uploading, downloading, and syncing files; and managing bucket contents with include/exclude patterns.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBuckets API and CLI by \u003ca href=\"https://github.com/Wauplin\"\u003e\u003ccode\u003e@​Wauplin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3673\"\u003e#3673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport bucket rename/move in API + CLI by \u003ca href=\"https://github.com/Wauplin\"\u003e\u003ccode\u003e@​Wauplin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3843\"\u003e#3843\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd 'sync_bucket' to HfApi by \u003ca href=\"https://github.com/Wauplin\"\u003e\u003ccode\u003e@​Wauplin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3845\"\u003e#3845\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ehf buckets file deletion by \u003ca href=\"https://github.com/Wauplin\"\u003e\u003ccode\u003e@​Wauplin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3849\"\u003e#3849\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate message when no buckets found by \u003ca href=\"https://github.com/Wauplin\"\u003e\u003ccode\u003e@​Wauplin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3850\"\u003e#3850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuckets doc \u003ccode\u003ehf\u003c/code\u003e install by \u003ca href=\"https://github.com/julien-c\"\u003e\u003ccode\u003e@​julien-c\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3846\"\u003e#3846\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e📚 \u003cstrong\u003eDocumentation:\u003c/strong\u003e \u003ca href=\"https://huggingface.co/docs/huggingface_hub/main/en/guides/buckets\"\u003eBuckets guide\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e🤖 AI Agent Support\u003c/h2\u003e\n\u003cp\u003eThis release includes several features designed to improve the experience for AI coding agents (Claude Code, OpenCode, Cursor, etc.):\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCentralized CLI error handling\u003c/strong\u003e: Clean user-facing messages without tracebacks (set \u003ccode\u003eHF_DEBUG=1\u003c/code\u003e for full traces) by \u003ca href=\"https://github.com/hanouticelina\"\u003e\u003ccode\u003e@​hanouticelina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3754\"\u003e#3754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eToken-efficient skill\u003c/strong\u003e: The \u003ccode\u003ehf skills add\u003c/code\u003e command now installs a compact skill (~1.2k tokens vs ~12k before) by \u003ca href=\"https://github.com/hanouticelina\"\u003e\u003ccode\u003e@​hanouticelina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3802\"\u003e#3802\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAgent-friendly \u003ccode\u003ehf jobs logs\u003c/code\u003e\u003c/strong\u003e: Prints available logs and exits by default; use \u003ccode\u003e-f\u003c/code\u003e to stream by \u003ca href=\"https://github.com/davanstrien\"\u003e\u003ccode\u003e@​davanstrien\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3783\"\u003e#3783\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAdd AGENTS.md\u003c/strong\u003e: Dev setup and codebase guide for AI agents by \u003ca href=\"https://github.com/Wauplin\"\u003e\u003ccode\u003e@​Wauplin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3789\"\u003e#3789\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003e# Install the hf-cli skill for Claude\r\nhf skills add --claude\r\n\u003ch1\u003eInstall for project-level\u003c/h1\u003e\n\u003cp\u003ehf skills add --project\n\u003c/code\u003e\u003c/pre\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/huggingface/huggingface_hub/commit/2b2072642d8e021ecbd119f2489a54f6709f8b16\"\u003e\u003ccode\u003e2b20726\u003c/code\u003e\u003c/a\u003e Release: v1.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/da368798cbd07a9e56f64689c3e998e95100d66c\"\u003e\u003ccode\u003eda36879\u003c/code\u003e\u003c/a\u003e Remove bucket warning in docs (\u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3854\"\u003e#3854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/ee2dd7f5f547c4ee4752a99c8f7cb361857713f6\"\u003e\u003ccode\u003eee2dd7f\u003c/code\u003e\u003c/a\u003e Release: v1.5.0.rc0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/a5284dcb226a85491ba4cc9e5a99484322afcaca\"\u003e\u003ccode\u003ea5284dc\u003c/code\u003e\u003c/a\u003e Add test for check if dataclass.repr=True before wrapping (\u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3852\"\u003e#3852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/b89a805d2a2e2e1d381a0b4322374caefa168a8b\"\u003e\u003ccode\u003eb89a805\u003c/code\u003e\u003c/a\u003e check if \u003ccode\u003erepr=True\u003c/code\u003e before wrapping (\u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3823\"\u003e#3823\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/2656107690782d2a9af4b6f5435f86c16f4e504c\"\u003e\u003ccode\u003e2656107\u003c/code\u003e\u003c/a\u003e Hf buckets file deletion (\u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3849\"\u003e#3849\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/f100f04062fa5f3a80160a8b01f5220451b21d8a\"\u003e\u003ccode\u003ef100f04\u003c/code\u003e\u003c/a\u003e Buckets list empty message (\u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3850\"\u003e#3850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/41896bbd384e88e89e1f56253be9c4d3a553fb47\"\u003e\u003ccode\u003e41896bb\u003c/code\u003e\u003c/a\u003e [CLI] Migrate to 'hf repos' instead of 'hf repo' for consistency (\u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3848\"\u003e#3848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/25a3bbe2ef9b5611080a0a5ae5b31b50cd0027e0\"\u003e\u003ccode\u003e25a3bbe\u003c/code\u003e\u003c/a\u003e [Bucket] Add 'sync_bucket' to HfApi (\u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3845\"\u003e#3845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/huggingface/huggingface_hub/commit/2f1229897bf74b17e1af82503c7b4919a8366aef\"\u003e\u003ccode\u003e2f12298\u003c/code\u003e\u003c/a\u003e [Bucket] Support bucket rename/move in API + CLI (\u003ca href=\"https://redirect.github.com/huggingface/huggingface_hub/issues/3843\"\u003e#3843\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/huggingface/huggingface_hub/compare/v1.4.1...v1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `llama-index` from 0.14.14 to 0.14.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/run-llama/llama_index/releases\"\u003ellama-index's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.15\u003c/h2\u003e\n\u003ch1\u003eRelease Notes\u003c/h1\u003e\n\u003ch2\u003e[2026-02-18]\u003c/h2\u003e\n\u003ch3\u003ellama-index-agent-agentmesh [0.1.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Integration] AgentMesh: Trust Layer for LlamaIndex Agents (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20644\"\u003e#20644\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-core [0.14.15]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport basic operations for multimodal types (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20640\"\u003e#20640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat recursive llm type support (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20642\"\u003e#20642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: remove redundant metadata_seperator field from TextNode (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20649\"\u003e#20649\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(tests): update mock prompt type in mock_prompts.py (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20661\"\u003e#20661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat multimodal template var formatting (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20682\"\u003e#20682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat multimodal prompt templates (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20683\"\u003e#20683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat multimodal chat prompt helper (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20684\"\u003e#20684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd retry and error handling to BaseExtractor (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20693\"\u003e#20693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eensure at least one message/content block is returned by the old memory (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20729\"\u003e#20729\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-ibm [0.6.0.post1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: Remove persistent_connection parameter support, update (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20714\"\u003e#20714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: Update IBM docs (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20718\"\u003e#20718\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-anthropic [0.10.9]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSonnet 4-6 addition (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20723\"\u003e#20723\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-bedrock-converse [0.12.10]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(bedrock-converse): ensure thinking_delta is populated in all chat modes (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20664\"\u003e#20664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(bedrock-converse): Add support for Claude Sonnet 4.6 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20726\"\u003e#20726\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-ibm [0.7.0.post1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: Remove persistent_connection parameter support, update (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20714\"\u003e#20714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: Update IBM docs (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20718\"\u003e#20718\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-mistralai [0.10.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRrubini/mistral azure sdk (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20668\"\u003e#20668\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-oci-data-science [1.0.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for new OCI DataScience endpoint /predictWithStream for streaming use case (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20545\"\u003e#20545\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-observability-otel [0.3.0]\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/run-llama/llama_index/blob/main/CHANGELOG.md\"\u003ellama-index's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ellama-index-core [0.14.15]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport basic operations for multimodal types (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20640\"\u003e#20640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat recursive llm type support (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20642\"\u003e#20642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: remove redundant metadata_seperator field from TextNode (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20649\"\u003e#20649\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(tests): update mock prompt type in mock_prompts.py (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20661\"\u003e#20661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat multimodal template var formatting (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20682\"\u003e#20682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat multimodal prompt templates (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20683\"\u003e#20683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat multimodal chat prompt helper (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20684\"\u003e#20684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd retry and error handling to BaseExtractor (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20693\"\u003e#20693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eensure at least one message/content block is returned by the old memory (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20729\"\u003e#20729\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-ibm [0.6.0.post1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: Remove persistent_connection parameter support, update (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20714\"\u003e#20714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: Update IBM docs (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20718\"\u003e#20718\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-anthropic [0.10.9]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSonnet 4-6 addition (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20723\"\u003e#20723\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-bedrock-converse [0.12.10]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(bedrock-converse): ensure thinking_delta is populated in all chat modes (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20664\"\u003e#20664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(bedrock-converse): Add support for Claude Sonnet 4.6 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20726\"\u003e#20726\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-ibm [0.7.0.post1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: Remove persistent_connection parameter support, update (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20714\"\u003e#20714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: Update IBM docs (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20718\"\u003e#20718\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-mistralai [0.10.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRrubini/mistral azure sdk (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20668\"\u003e#20668\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-oci-data-science [1.0.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for new OCI DataScience endpoint /predictWithStream for streaming use case (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20545\"\u003e#20545\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-observability-otel [0.3.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eimprove otel data serialization by flattening dicts (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20719\"\u003e#20719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: support custom span processor; refactor: use llama-index-instrumentation instead of llama-index-core (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20732\"\u003e#20732\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-program-evaporate [0.5.2]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSandbox LLM-generated code execution in EvaporateExtractor (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20676\"\u003e#20676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-readers-bitbucket [0.4.2]\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/run-llama/llama_index/commit/4937fc017cbf91d08c6beaadb790ae44745a87a1\"\u003e\u003ccode\u003e4937fc0\u003c/code\u003e\u003c/a\u003e Release 0.14.15 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20735\"\u003e#20735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/98698936ec2cccaf8eb78018176d6d6da8daaee2\"\u003e\u003ccode\u003e9869893\u003c/code\u003e\u003c/a\u003e feat(bedrock-converse): Add support for Nova 2 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20736\"\u003e#20736\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/40da24454784980dd4d27135533a1fff779d6929\"\u003e\u003ccode\u003e40da244\u003c/code\u003e\u003c/a\u003e fix(layoutir): restrict requires-python to \u0026gt;=3.12 to match layoutir dependenc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/6504188504a5070b43bb0d4633f000e129f51f87\"\u003e\u003ccode\u003e6504188\u003c/code\u003e\u003c/a\u003e feat: support custom span processor; refactor: use llama-index-instrumentatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/dc716d159cf93c60dca31e2abaca1166877216a2\"\u003e\u003ccode\u003edc716d1\u003c/code\u003e\u003c/a\u003e chore: update issue classifier action to v0.2.0 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20734\"\u003e#20734\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/6d0aff422db769014e384242f7a2130015d71fa5\"\u003e\u003ccode\u003e6d0aff4\u003c/code\u003e\u003c/a\u003e ensure at least one message/conent block is returned by the old memory (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20729\"\u003e#20729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/fdcc72cc362e033a45db52af52be15dad2bab472\"\u003e\u003ccode\u003efdcc72c\u003c/code\u003e\u003c/a\u003e feat: add issue classifier gh action (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20720\"\u003e#20720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/171ae830ad98c22cc69afa043678340536bc7dbe\"\u003e\u003ccode\u003e171ae83\u003c/code\u003e\u003c/a\u003e fix: Update WhatsAppChatLoader to retrieve DataFrame in pandas format (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20722\"\u003e#20722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/68c760a50d29844f96e56e189e91c676e6445bf9\"\u003e\u003ccode\u003e68c760a\u003c/code\u003e\u003c/a\u003e fix(layoutir): hotfix for output_dir crash and Block extraction (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20708\"\u003e#20708\u003c/a\u003e follo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/83f45ce5fcdd3a96c587ab3f86e527addda621f0\"\u003e\u003ccode\u003e83f45ce\u003c/code\u003e\u003c/a\u003e Add retry and error handling to BaseExtractor (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20693\"\u003e#20693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/run-llama/llama_index/compare/v0.14.14...v0.14.15\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `llama-index-core` from 0.14.14 to 0.14.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/run-llama/llama_index/releases\"\u003ellama-index-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.15\u003c/h2\u003e\n\u003ch1\u003eRelease Notes\u003c/h1\u003e\n\u003ch2\u003e[2026-02-18]\u003c/h2\u003e\n\u003ch3\u003ellama-index-agent-agentmesh [0.1.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Integration] AgentMesh: Trust Layer for LlamaIndex Agents (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20644\"\u003e#20644\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-core [0.14.15]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport basic operations for multimodal types (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20640\"\u003e#20640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat recursive llm type support (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20642\"\u003e#20642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: remove redundant metadata_seperator field from TextNode (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20649\"\u003e#20649\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(tests): update mock prompt type in mock_prompts.py (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20661\"\u003e#20661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat multimodal template var formatting (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20682\"\u003e#20682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat multimodal prompt templates (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20683\"\u003e#20683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat multimodal chat prompt helper (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20684\"\u003e#20684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd retry and error handling to BaseExtractor (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20693\"\u003e#20693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eensure at least one message/content block is returned by the old memory (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20729\"\u003e#20729\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-ibm [0.6.0.post1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: Remove persistent_connection parameter support, update (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20714\"\u003e#20714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: Update IBM docs (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20718\"\u003e#20718\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-anthropic [0.10.9]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSonnet 4-6 addition (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20723\"\u003e#20723\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-bedrock-converse [0.12.10]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(bedrock-converse): ensure thinking_delta is populated in all chat modes (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20664\"\u003e#20664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(bedrock-converse): Add support for Claude Sonnet 4.6 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20726\"\u003e#20726\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-ibm [0.7.0.post1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: Remove persistent_connection parameter support, update (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20714\"\u003e#20714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: Update IBM docs (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20718\"\u003e#20718\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-mistralai [0.10.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRrubini/mistral azure sdk (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20668\"\u003e#20668\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-oci-data-science [1.0.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for new OCI DataScience endpoint /predictWithStream for streaming use case (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20545\"\u003e#20545\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-observability-otel [0.3.0]\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/run-llama/llama_index/blob/main/CHANGELOG.md\"\u003ellama-index-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ellama-index-core [0.14.15]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport basic operations for multimodal types (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20640\"\u003e#20640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat recursive llm type support (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20642\"\u003e#20642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: remove redundant metadata_seperator field from TextNode (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20649\"\u003e#20649\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(tests): update mock prompt type in mock_prompts.py (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20661\"\u003e#20661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat multimodal template var formatting (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20682\"\u003e#20682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat multimodal prompt templates (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20683\"\u003e#20683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat multimodal chat prompt helper (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20684\"\u003e#20684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd retry and error handling to BaseExtractor (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20693\"\u003e#20693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eensure at least one message/content block is returned by the old memory (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20729\"\u003e#20729\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-ibm [0.6.0.post1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: Remove persistent_connection parameter support, update (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20714\"\u003e#20714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: Update IBM docs (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20718\"\u003e#20718\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-anthropic [0.10.9]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSonnet 4-6 addition (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20723\"\u003e#20723\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-bedrock-converse [0.12.10]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(bedrock-converse): ensure thinking_delta is populated in all chat modes (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20664\"\u003e#20664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(bedrock-converse): Add support for Claude Sonnet 4.6 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20726\"\u003e#20726\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-ibm [0.7.0.post1]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: Remove persistent_connection parameter support, update (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20714\"\u003e#20714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: Update IBM docs (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20718\"\u003e#20718\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-mistralai [0.10.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRrubini/mistral azure sdk (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20668\"\u003e#20668\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-oci-data-science [1.0.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for new OCI DataScience endpoint /predictWithStream for streaming use case (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20545\"\u003e#20545\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-observability-otel [0.3.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eimprove otel data serialization by flattening dicts (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20719\"\u003e#20719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: support custom span processor; refactor: use llama-index-instrumentation instead of llama-index-core (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20732\"\u003e#20732\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-program-evaporate [0.5.2]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSandbox LLM-generated code execution in EvaporateExtractor (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20676\"\u003e#20676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-readers-bitbucket [0.4.2]\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/run-llama/llama_index/commit/4937fc017cbf91d08c6beaadb790ae44745a87a1\"\u003e\u003ccode\u003e4937fc0\u003c/code\u003e\u003c/a\u003e Release 0.14.15 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20735\"\u003e#20735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/98698936ec2cccaf8eb78018176d6d6da8daaee2\"\u003e\u003ccode\u003e9869893\u003c/code\u003e\u003c/a\u003e feat(bedrock-converse): Add support for Nova 2 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20736\"\u003e#20736\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/40da24454784980dd4d27135533a1fff779d6929\"\u003e\u003ccode\u003e40da244\u003c/code\u003e\u003c/a\u003e fix(layoutir): restrict requires-python to \u0026gt;=3.12 to match layoutir dependenc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/6504188504a5070b43bb0d4633f000e129f51f87\"\u003e\u003ccode\u003e6504188\u003c/code\u003e\u003c/a\u003e feat: support custom span processor; refactor: use llama-index-instrumentatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/dc716d159cf93c60dca31e2abaca1166877216a2\"\u003e\u003ccode\u003edc716d1\u003c/code\u003e\u003c/a\u003e chore: update issue classifier action to v0.2.0 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20734\"\u003e#20734\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/6d0aff422db769014e384242f7a2130015d71fa5\"\u003e\u003ccode\u003e6d0aff4\u003c/code\u003e\u003c/a\u003e ensure at least one message/conent block is returned by the old memory (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20729\"\u003e#20729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/fdcc72cc362e033a45db52af52be15dad2bab472\"\u003e\u003ccode\u003efdcc72c\u003c/code\u003e\u003c/a\u003e feat: add issue classifier gh action (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20720\"\u003e#20720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/171ae830ad98c22cc69afa043678340536bc7dbe\"\u003e\u003ccode\u003e171ae83\u003c/code\u003e\u003c/a\u003e fix: Update WhatsAppChatLoader to retrieve DataFrame in pandas format (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20722\"\u003e#20722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/68c760a50d29844f96e56e189e91c676e6445bf9\"\u003e\u003ccode\u003e68c760a\u003c/code\u003e\u003c/a\u003e fix(layoutir): hotfix for output_dir crash and Block extraction (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20708\"\u003e#20708\u003c/a\u003e follo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/83f45ce5fcdd3a96c587ab3f86e527addda621f0\"\u003e\u003ccode\u003e83f45ce\u003c/code\u003e\u003c/a\u003e Add retry and error handling to BaseExtractor (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20693\"\u003e#20693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/run-llama/llama_index/compare/v0.14.14...v0.14.15\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `llama-index-embeddings-gemini` from 0.4.1 to 0.4.2\n\nUpdates `llama-index-llms-anthropic` from 0.10.5 to 0.10.10\n\nUpdates `llama-index-llms-gemini` from 0.6.1 to 0.6.2\n\nUpdates `llama-index-llms-google-genai` from 0.8.3 to 0.8.7\n\nUpdates `llama-index-llms-huggingface-api` from 0.6.1 to 0.6.2\n\nUpdates `llama-index-llms-mistralai` from 0.9.0 to 0.10.0.post2\n\nUpdates `llama-index-llms-openai` from 0.6.13 to 0.6.21\n\nUpdates `llama-index-llms-openai-like` from 0.5.3 to 0.6.0\n\nUpdates `llama-index-readers-file` from 0.5.4 to 0.5.6\n\nUpdates `llama-index-readers-github` from 0.8.2 to 0.10.0\n\nUpdates `llama-index-workflows` from 2.12.0 to 2.14.2\n\nUpdates `mistralai` from 1.10.0 to 1.12.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mistralai/client-python/releases\"\u003emistralai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epython - v1.12.4 - 2026-02-20 17:54:29\u003c/h2\u003e\n\u003ch1\u003eGenerated by Speakeasy CLI\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://pypi.org/project/mistralai/1.12.4\"\u003emistralai 1.12.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePython SDK Changes:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.conversations.start()\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erequest.inputs.[array].[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eresponse\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.conversations.list()\u003c/code\u003e:  \u003ccode\u003eresponse.[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.conversations.get()\u003c/code\u003e:  \u003ccode\u003eresponse\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.conversations.append()\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erequest.inputs.[array].[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eresponse\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.conversations.get_history()\u003c/code\u003e:  \u003ccode\u003eresponse\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.conversations.get_messages()\u003c/code\u003e:  \u003ccode\u003eresponse\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.conversations.restart()\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erequest.inputs.[array].[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eresponse\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.conversations.start_stream()\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erequest.inputs.[array].[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eresponse.[].data\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.conversations.append_stream()\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erequest.inputs.[array].[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eresponse.[].data\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.conversations.restart_stream()\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erequest.inputs.[array].[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eresponse.[].data\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.agents.create()\u003c/code\u003e:  \u003ccode\u003eresponse.object\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.agents.list()\u003c/code\u003e:  \u003ccode\u003eresponse.[].object\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.agents.get()\u003c/code\u003e:  \u003ccode\u003eresponse.object\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.agents.update()\u003c/code\u003e:  \u003ccode\u003eresponse.object\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.agents.update_version()\u003c/code\u003e:  \u003ccode\u003eresponse.object\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.agents.list_versions()\u003c/code\u003e:  \u003ccode\u003eresponse.[].object\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.agents.get_version()\u003c/code\u003e:  \u003ccode\u003eresponse.object\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.chat.complete()\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erequest.messages.[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eresponse.choices.[].message\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.chat.stream()\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erequest.messages.[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eresponse.[].data.choices.[].delta.content.[array].[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.fim.complete()\u003c/code\u003e:  \u003ccode\u003eresponse.choices.[].message\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.fim.stream()\u003c/code\u003e:  \u003ccode\u003eresponse.[].data.choices.[].delta.content.[array].[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.agents.complete()\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erequest.messages.[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eresponse.choices.[].message\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.agents.stream()\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erequest.messages.[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eresponse.[].data.choices.[].delta.content.[array].[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.classifiers.moderate_chat()\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erequest.inputs.[array].[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.classifiers.classify_chat()\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mistralai/client-python/blob/v1.12.4/RELEASES.md\"\u003emistralai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2024-08-07 14:25:13\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cp\u003eBased on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpenAPI Doc\u003c/li\u003e\n\u003cli\u003eSpeakeasy CLI 1.356.0 (2.388.1) \u003ca href=\"https://github.com/speakeasy-api/speakeasy\"\u003ehttps://github.com/speakeasy-api/speakeasy\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eGenerated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[python v1.0.0] .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eReleases\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PyPI v1.0.0] \u003ca href=\"https://pypi.org/project/mistralai/1.0.0\"\u003ehttps://pypi.org/project/mistralai/1.0.0\u003c/a\u003e - .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2024-08-08 18:12:16\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cp\u003eBased on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpenAPI Doc\u003c/li\u003e\n\u003cli\u003eSpeakeasy CLI 1.357.4 (2.390.6) \u003ca href=\"https://github.com/speakeasy-api/speakeasy\"\u003ehttps://github.com/speakeasy-api/speakeasy\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eGenerated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[python v1.0.1] .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eReleases\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PyPI v1.0.1] \u003ca href=\"https://pypi.org/project/mistralai/1.0.1\"\u003ehttps://pypi.org/project/mistralai/1.0.1\u003c/a\u003e - .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2024-08-20 08:36:28\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cp\u003eBased on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpenAPI Doc\u003c/li\u003e\n\u003cli\u003eSpeakeasy CLI 1.376.0 (2.402.5) \u003ca href=\"https://github.com/speakeasy-api/speakeasy\"\u003ehttps://github.com/speakeasy-api/speakeasy\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eGenerated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[python v1.0.2] .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eReleases\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PyPI v1.0.2] \u003ca href=\"https://pypi.org/project/mistralai/1.0.2\"\u003ehttps://pypi.org/project/mistralai/1.0.2\u003c/a\u003e - .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2024-08-29 09:09:05\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cp\u003eBased on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpenAPI Doc\u003c/li\u003e\n\u003cli\u003eSpeakeasy CLI 1.382.0 (2.404.11) \u003ca href=\"https://github.com/speakeasy-api/speakeasy\"\u003ehttps://github.com/speakeasy-api/speakeasy\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eGenerated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[python v1.0.3] .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eReleases\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PyPI v1.0.3] \u003ca href=\"https://pypi.org/project/mistralai/1.0.3\"\u003ehttps://pypi.org/project/mistralai/1.0.3\u003c/a\u003e - .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2024-09-13 16:21:24\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cp\u003eBased on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpenAPI Doc\u003c/li\u003e\n\u003cli\u003eSpeakeasy CLI 1.396.7 (2.415.6) \u003ca href=\"https://github.com/speakeasy-api/speakeasy\"\u003ehttps://github.com/speakeasy-api/speakeasy\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eGenerated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[python v1.1.0] .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eReleases\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/mistralai/client-python/commit/c3f22d3c9bf7697f234872e34544eb6f9cdf3feb\"\u003e\u003ccode\u003ec3f22d3\u003c/code\u003e\u003c/a\u003e fix: change constFieldCasing from upper to normal (\u003ca href=\"https://redirect.github.com/mistralai/client-python/issues/361\"\u003e#361\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mistralai/client-python/commit/2b8a1268c98a2cf0d4aadc2ea5b71e7dbbbbb180\"\u003e\u003ccode\u003e2b8a126\u003c/code\u003e\u003c/a\u003e fix (\u003ca href=\"https://redirect.github.com/mistralai/client-python/issues/356\"\u003e#356\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mistralai/client-python/commit/25d4457ba0d6b020b133c7823f1f1efc79094ec4\"\u003e\u003ccode\u003e25d4457\u003c/code\u003e\u003c/a\u003e feat(audio): add PyAudio initialization check and error handling (\u003ca href=\"https://redirect...\n\n_Description has been truncated_","html_url":"https://github.com/DylanLRPollock/Monkey-Head-Project/pull/478","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/DylanLRPollock%2FMonkey-Head-Project/issues/478","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/478/packages"}},{"old_version":"0.9.1","new_version":"0.9.3","update_type":"patch","path":"/python","pr_created_at":"2026-02-23T12:08:22.000Z","version_change":"0.9.1 → 0.9.3","issue":{"uuid":"3977851219","node_id":"PR_kwDOJpb2687FoYvu","number":2473,"state":"closed","title":"chore(deps): bump the py-minor-and-patch group in /python with 11 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-24T01:49:47.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-23T12:08:22.000Z","updated_at":"2026-02-24T01:49:49.000Z","time_to_close":49285,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"py-minor-and-patch","update_count":11,"packages":[{"name":"uuid-utils","old_version":"0.14.0","new_version":"0.14.1","repository_url":"https://github.com/aminalaee/uuid-utils"},{"name":"openai-agents","old_version":"0.9.1","new_version":"0.9.3","repository_url":"https://github.com/openai/openai-agents-python"},{"name":"claude-agent-sdk","old_version":"0.1.37","new_version":"0.1.39","repository_url":"https://github.com/anthropics/claude-agent-sdk-python"},{"name":"google-adk","old_version":"1.14.1","new_version":"1.25.1","repository_url":"https://github.com/google/adk-python"},{"name":"rich","old_version":"14.3.2","new_version":"14.3.3","repository_url":"https://github.com/Textualize/rich"},{"name":"ruff","old_version":"0.15.1","new_version":"0.15.2","repository_url":"https://github.com/astral-sh/ruff"},{"name":"fastapi","old_version":"0.129.0","new_version":"0.131.0","repository_url":"https://github.com/fastapi/fastapi"},{"name":"langchain-core","old_version":"1.2.13","new_version":"1.2.14","repository_url":"https://github.com/langchain-ai/langchain"},{"name":"google-genai","old_version":"1.63.0","new_version":"1.64.0","repository_url":"https://github.com/googleapis/python-genai"},{"name":"ty","old_version":"0.0.17","new_version":"0.0.18","repository_url":"https://github.com/astral-sh/ty"},{"name":"anthropic","old_version":"0.80.0","new_version":"0.83.0","repository_url":"https://github.com/anthropics/anthropic-sdk-python"}],"path":"/python","ecosystem":"pip"},"body":"Bumps the py-minor-and-patch group in /python with 11 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [uuid-utils](https://github.com/aminalaee/uuid-utils) | `0.14.0` | `0.14.1` |\n| [openai-agents](https://github.com/openai/openai-agents-python) | `0.9.1` | `0.9.3` |\n| [claude-agent-sdk](https://github.com/anthropics/claude-agent-sdk-python) | `0.1.37` | `0.1.39` |\n| [google-adk](https://github.com/google/adk-python) | `1.14.1` | `1.25.1` |\n| [rich](https://github.com/Textualize/rich) | `14.3.2` | `14.3.3` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.1` | `0.15.2` |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.129.0` | `0.131.0` |\n| [langchain-core](https://github.com/langchain-ai/langchain) | `1.2.13` | `1.2.14` |\n| [google-genai](https://github.com/googleapis/python-genai) | `1.63.0` | `1.64.0` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.17` | `0.0.18` |\n| [anthropic](https://github.com/anthropics/anthropic-sdk-python) | `0.80.0` | `0.83.0` |\n\nUpdates `uuid-utils` from 0.14.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/aminalaee/uuid-utils/releases\"\u003euuid-utils's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse SPDX license identifier by \u003ca href=\"https://github.com/vargenau\"\u003e\u003ccode\u003e@​vargenau\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/pull/129\"\u003eaminalaee/uuid-utils#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix byte-order in \u003ccode\u003euuid1\u003c/code\u003e and \u003ccode\u003euuid6\u003c/code\u003e by \u003ca href=\"https://github.com/aminalaee\"\u003e\u003ccode\u003e@​aminalaee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/pull/130\"\u003eaminalaee/uuid-utils#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove uuid_unstable flag and minor docs update by \u003ca href=\"https://github.com/aminalaee\"\u003e\u003ccode\u003e@​aminalaee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com\"\u003ehttps://github.com\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/aminalaee/uuid-utils/compare/0.14.0...0.15.0\"\u003ehttps://github.com/aminalaee/uuid-utils/compare/0.14.0...0.15.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/aminalaee/uuid-utils/commit/c09cd2940a7403c3bb7438f39f9d6f748473280e\"\u003e\u003ccode\u003ec09cd29\u003c/code\u003e\u003c/a\u003e Version 0.14.1 (\u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/issues/134\"\u003e#134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/a547f37f69ca7e1bb72603aeb9399d767fd93d69\"\u003e\u003ccode\u003ea547f37\u003c/code\u003e\u003c/a\u003e Remove uuid_unstable flag and update docs (\u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/issues/133\"\u003e#133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/4c632bfe6388d8c631d92610ed69b57b93c7e183\"\u003e\u003ccode\u003e4c632bf\u003c/code\u003e\u003c/a\u003e Fix byte-order in \u003ccode\u003euuid1\u003c/code\u003e and \u003ccode\u003euuid6\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/issues/130\"\u003e#130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/a5aca8c3992ac6ad9473e1b6f775c9949d59157f\"\u003e\u003ccode\u003ea5aca8c\u003c/code\u003e\u003c/a\u003e Use SPDX license identifier (\u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/issues/129\"\u003e#129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/21d14455b9187e3da0588ff941b4e3af1a145d92\"\u003e\u003ccode\u003e21d1445\u003c/code\u003e\u003c/a\u003e Update Github Action (\u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/issues/132\"\u003e#132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/c935c3559f64c0586b0c8584d72d28698b3391eb\"\u003e\u003ccode\u003ec935c35\u003c/code\u003e\u003c/a\u003e Bump CodSpeedHQ/action from 4.8.2 to 4.10.2 (\u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/issues/126\"\u003e#126\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/c2613e30039ede0789409a5a849f00179c4d11e2\"\u003e\u003ccode\u003ec2613e3\u003c/code\u003e\u003c/a\u003e Bump uraimo/run-on-arch-action from 2.8.1 to 3.0.1 (\u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/issues/127\"\u003e#127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/df39faf8e824df52686b4cf7cb2d4d50bc804ea4\"\u003e\u003ccode\u003edf39faf\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6 (\u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/issues/128\"\u003e#128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/f1b61c7ed1c814a9a850a4f5ae0cc38b94060264\"\u003e\u003ccode\u003ef1b61c7\u003c/code\u003e\u003c/a\u003e Bump CodSpeedHQ/action from 4.5.2 to 4.8.2 (\u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/issues/124\"\u003e#124\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aminalaee/uuid-utils/commit/08c833b3cb834dc41dac1f18b74126900e683d0e\"\u003e\u003ccode\u003e08c833b\u003c/code\u003e\u003c/a\u003e Bump astral-sh/setup-uv from 4 to 7 (\u003ca href=\"https://redirect.github.com/aminalaee/uuid-utils/issues/123\"\u003e#123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/aminalaee/uuid-utils/compare/0.14.0...0.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai-agents` from 0.9.1 to 0.9.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-agents-python/releases\"\u003eopenai-agents's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.9.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: strip \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2518\"\u003e#2518\u003c/a\u003e total_tokens from OpenAI tracing usage payloads by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2521\"\u003eopenai/openai-agents-python#2521\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.9.3 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2522\"\u003eopenai/openai-agents-python#2522\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.9.2...v0.9.3\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.9.2...v0.9.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.9.2\u003c/h2\u003e\n\u003ch2\u003eKey Changes\u003c/h2\u003e\n\u003ch3\u003ereasoning_item_id_policy: omit for reasoning models\u003c/h3\u003e\n\u003cp\u003eTo mitigate 400 errors caused by an inconsistent set of items when using reasoning models, this release introduces the \u003ccode\u003ereasoning_item_id_policy: 'omit'\u003c/code\u003e option to \u003ccode\u003eRunConfig\u003c/code\u003e. This is a new, opt-in option, so the default behavior is unchanged.\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003erun_config = RunConfig(reasoning_item_id_policy=\u0026quot;omit\u0026quot;)\r\nresult = await Runner.run(\r\n    agent,\r\n    \u0026quot;Tell me about recursion in programming.\u0026quot;,\r\n    run_config=run_config,\r\n)\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: persist reasoning item ID policy across resumes and streamed follow-up turns by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2512\"\u003eopenai/openai-agents-python#2512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: filter reasoning items from nested handoff input by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2508\"\u003eopenai/openai-agents-python#2508\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(voice): keep trace active until pipeline processing completes by \u003ca href=\"https://github.com/OiPunk\"\u003e\u003ccode\u003e@​OiPunk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2472\"\u003eopenai/openai-agents-python#2472\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocuments \u0026amp; Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: update configuration details by \u003ca href=\"https://github.com/seratch\"\u003e\u003ccode\u003e@​seratch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2507\"\u003eopenai/openai-agents-python#2507\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update translated document pages by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2509\"\u003eopenai/openai-agents-python#2509\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease 0.9.2 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2510\"\u003eopenai/openai-agents-python#2510\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.9.1...v0.9.2\"\u003ehttps://github.com/openai/openai-agents-python/compare/v0.9.1...v0.9.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/openai/openai-agents-python/commit/2fee7ede4bd1c1f4e65da110ce62b05375cd14af\"\u003e\u003ccode\u003e2fee7ed\u003c/code\u003e\u003c/a\u003e Release 0.9.3 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2522\"\u003e#2522\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/3cefce90a15fdaea14dde8fbd7bf6823f58c2d40\"\u003e\u003ccode\u003e3cefce9\u003c/code\u003e\u003c/a\u003e fix: strip \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2518\"\u003e#2518\u003c/a\u003e total_tokens from OpenAI tracing usage payloads (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2521\"\u003e#2521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/f2f0b8c21ad9da7668674316ac4e036dbcb2cfc9\"\u003e\u003ccode\u003ef2f0b8c\u003c/code\u003e\u003c/a\u003e Release 0.9.2 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2510\"\u003e#2510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/74e8c1e22d7441bd42c58bcd4270937ccc2dca8c\"\u003e\u003ccode\u003e74e8c1e\u003c/code\u003e\u003c/a\u003e fix: persist reasoning item ID policy across resumes and streamed follow-up t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/3589b6b7ff85ed31307d052a0cfe5d601dc33f48\"\u003e\u003ccode\u003e3589b6b\u003c/code\u003e\u003c/a\u003e fix(voice): \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2470\"\u003e#2470\u003c/a\u003e keep trace active until pipeline processing completes (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2472\"\u003e#2472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/b96b0ce39d8006ac0fbcb7aa08206ece99e10012\"\u003e\u003ccode\u003eb96b0ce\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2509\"\u003e#2509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/6375b974c6774ad042a6188ddbefc2f7f8ebb229\"\u003e\u003ccode\u003e6375b97\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2503\"\u003e#2503\u003c/a\u003e filter reasoning items from nested handoff input (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2508\"\u003e#2508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/a23fe132461858670a37e267cb36f8e84318c14b\"\u003e\u003ccode\u003ea23fe13\u003c/code\u003e\u003c/a\u003e docs: update configuration details (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2507\"\u003e#2507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.9.1...v0.9.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `claude-agent-sdk` from 0.1.37 to 0.1.39\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/anthropics/claude-agent-sdk-python/releases\"\u003eclaude-agent-sdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.1.39\u003c/h2\u003e\n\u003ch3\u003eInternal/Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated bundled Claude CLI to version 2.1.49\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003ePyPI:\u003c/strong\u003e \u003ca href=\"https://pypi.org/project/claude-agent-sdk/0.1.39/\"\u003ehttps://pypi.org/project/claude-agent-sdk/0.1.39/\u003c/a\u003e\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003epip install claude-agent-sdk==0.1.39\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003ev0.1.38\u003c/h2\u003e\n\u003ch3\u003eInternal/Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated bundled Claude CLI to version 2.1.47\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003ePyPI:\u003c/strong\u003e \u003ca href=\"https://pypi.org/project/claude-agent-sdk/0.1.38/\"\u003ehttps://pypi.org/project/claude-agent-sdk/0.1.38/\u003c/a\u003e\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003epip install claude-agent-sdk==0.1.38\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\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/claude-agent-sdk-python/blob/main/CHANGELOG.md\"\u003eclaude-agent-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.1.39\u003c/h2\u003e\n\u003ch3\u003eInternal/Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated bundled Claude CLI to version 2.1.49\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.1.38\u003c/h2\u003e\n\u003ch3\u003eInternal/Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated bundled Claude CLI to version 2.1.47\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/claude-agent-sdk-python/commit/d36db8142e582276e3a727dc68bbe68807eb2c6d\"\u003e\u003ccode\u003ed36db81\u003c/code\u003e\u003c/a\u003e docs: update changelog for v0.1.39\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/claude-agent-sdk-python/commit/365b1068703c4ce8cd4b4d7db92a1a446ca51c65\"\u003e\u003ccode\u003e365b106\u003c/code\u003e\u003c/a\u003e chore: release v0.1.39\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/claude-agent-sdk-python/commit/1843be36c8613e77c93ce842aec17f59bc5f8aaf\"\u003e\u003ccode\u003e1843be3\u003c/code\u003e\u003c/a\u003e chore: bump bundled CLI version to 2.1.49\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/claude-agent-sdk-python/commit/0e9397e052ec5cb59a54b99c596df8d5656f2ccb\"\u003e\u003ccode\u003e0e9397e\u003c/code\u003e\u003c/a\u003e docs: update changelog for v0.1.38\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/claude-agent-sdk-python/commit/472223b69bdeab82bc77f35c1dac0f246a99fe6d\"\u003e\u003ccode\u003e472223b\u003c/code\u003e\u003c/a\u003e chore: release v0.1.38\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/claude-agent-sdk-python/commit/00b7c6ada80a08212192193363edc26e49d93f8a\"\u003e\u003ccode\u003e00b7c6a\u003c/code\u003e\u003c/a\u003e chore: bump bundled CLI version to 2.1.47\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/claude-agent-sdk-python/commit/79551daa2756e981e40f04c906718a5702e207fa\"\u003e\u003ccode\u003e79551da\u003c/code\u003e\u003c/a\u003e chore: bump bundled CLI version to 2.1.45\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/anthropics/claude-agent-sdk-python/compare/v0.1.37...v0.1.39\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-adk` from 1.14.1 to 1.25.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/releases\"\u003egoogle-adk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.25.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.25.0...v1.25.1\"\u003e1.25.1\u003c/a\u003e (2026-02-18)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickling lock errors in McpSessionManager (\u003ca href=\"https://github.com/google/adk-python/commit/4e2d6159ae3552954aaae295fef3e09118502898\"\u003e4e2d615\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.25.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.24.1...v1.25.0\"\u003e1.25.0\u003c/a\u003e (2026-02-11)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a demo for the simple prompt optimizer for the optimization interface (\u003ca href=\"https://github.com/google/adk-python/commit/0abf4cd2c7103a071506c9398455a3bd66fe5da5\"\u003e0abf4cd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--auto_create_session\u003c/code\u003e flag to \u003ccode\u003eadk api_server\u003c/code\u003e CLI (\u003ca href=\"https://github.com/google/adk-python/commit/40c15d059599472b40f48272a464eb3cb7345fc6\"\u003e40c15d0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eadd_events_to_memory\u003c/code\u003e facade for event-delta (\u003ca href=\"https://github.com/google/adk-python/commit/59e88972ae4f10274444593db0607f40cfcc597e\"\u003e59e8897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd post-invocation token-threshold compaction with event retention (\u003ca href=\"https://github.com/google/adk-python/commit/a88e8647558a9b9d0bfdf38d2d8de058e3ba0596\"\u003ea88e864\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd report generation to \u003ccode\u003eadk conformance test\u003c/code\u003e command (\u003ca href=\"https://github.com/google/adk-python/commit/43c437e38b9109b68a81de886d1901e4d8f87a01\"\u003e43c437e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Models]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd base_url option to Gemini LLM class (\u003ca href=\"https://github.com/google/adk-python/commit/781f605a1e5de6d77b69d7e7b9835ec6fc8de4bf\"\u003e781f605\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnhance google credentials config to support externally passed access token (\u003ca href=\"https://github.com/google/adk-python/commit/3cf43e3842d9987499ea70d6f63d6e1c4d4a07db\"\u003e3cf43e3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate agent simulator by improving prompts and add environment data (\u003ca href=\"https://github.com/google/adk-python/commit/7af1858f46b66fa4471c5ba7943385f2d23d08d3\"\u003e7af1858\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a load MCP resource tool (\u003ca href=\"https://github.com/google/adk-python/commit/e25227da5e91a8c1192af709f8e8bb2a471ded92\"\u003ee25227d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd SkillToolset to adk (\u003ca href=\"https://github.com/google/adk-python/commit/8d0279251ce4fad6f0c84bd7777eb5a74f7ba07a\"\u003e8d02792\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Web]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e/health\u003c/code\u003e and \u003ccode\u003e/version\u003c/code\u003e endpoints to ADK web server (\u003ca href=\"https://github.com/google/adk-python/commit/25ec2c6b614cf8d185ff6dbdac5697a210be68da\"\u003e25ec2c6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse async iteration for VertexAiSessionService.list_sessions pagination (\u003ca href=\"https://github.com/google/adk-python/commit/758d337c76d877e3174c35f06551cc9beb1def06\"\u003e758d337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix event loop closed bug in McpSessionManager (\u003ca href=\"https://github.com/google/adk-python/commit/4aa475145f196fb35fe97290dd9f928548bc737f\"\u003e4aa4751\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve thought_signature in function call conversions for interactions API integration (\u003ca href=\"https://github.com/google/adk-python/commit/20105690100d9c2f69c061ac08be5e94c50dc39c\"\u003e2010569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePropagate grounding and citation metadata in streaming responses (\u003ca href=\"https://github.com/google/adk-python/commit/e6da4172924ecc36ffc2535199c450a2a51c7bcc\"\u003ee6da417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd endpoints to get/list artifact version metadata (\u003ca href=\"https://github.com/google/adk-python/commit/e0b9712a492bf84ac17679095b333642a79b8ee6\"\u003ee0b9712\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport escaped curly braces in instruction templates (\u003ca href=\"https://github.com/google/adk-python/commit/7c7d25a4a6e4389e23037e70b8efdcd5341f44ea\"\u003e7c7d25a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStrip timezone for PostgreSQL timestamps in DatabaseSessionService (\u003ca href=\"https://github.com/google/adk-python/commit/19b607684f15ce2b6ffd60382211ba5600705743\"\u003e19b6076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrompt token may be None in streaming mode (\u003ca href=\"https://github.com/google/adk-python/commit/32ee07df01f10dbee0e98ca9d412440a7fe9163d\"\u003e32ee07d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePass invocation_id from \u003ccode\u003e/run\u003c/code\u003e endpoint to \u003ccode\u003eRunner.run_async\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/d2dba27134f833e5d929fdf363ada9364cc852f9\"\u003ed2dba27\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConditionally preserve function call IDs in LLM requests (\u003ca href=\"https://github.com/google/adk-python/commit/663cb75b3288d8d0649412e1009329502b21cbbc\"\u003e663cb75\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrate VertexAiMemoryBankService to use the async Vertex AI client (\u003ca href=\"https://github.com/google/adk-python/commit/64a44c28974de77cf8934f9c3d1bc03691b90e7b\"\u003e64a44c2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle list values in Gemini schema sanitization (\u003ca href=\"https://github.com/google/adk-python/commit/fd8a9e3962cca4f422beb7316cbe732edf726d51\"\u003efd8a9e3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUsed logger to log instead of print in MCP (\u003ca href=\"https://github.com/google/adk-python/commit/6bc70a6bab79b679a4b18ad146b3450fb9014475\"\u003e6bc70a6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\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/google/adk-python/blob/main/CHANGELOG.md\"\u003egoogle-adk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.25.0...v1.25.1\"\u003e1.25.1\u003c/a\u003e (2026-02-18)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix pickling lock errors in McpSessionManager (\u003ca href=\"https://github.com/google/adk-python/commit/4e2d6159ae3552954aaae295fef3e09118502898\"\u003e4e2d615\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.24.1...v1.25.0\"\u003e1.25.0\u003c/a\u003e (2026-02-11)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a demo for the simple prompt optimizer for the optimization interface (\u003ca href=\"https://github.com/google/adk-python/commit/0abf4cd2c7103a071506c9398455a3bd66fe5da5\"\u003e0abf4cd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--auto_create_session\u003c/code\u003e flag to \u003ccode\u003eadk api_server\u003c/code\u003e CLI (\u003ca href=\"https://github.com/google/adk-python/commit/40c15d059599472b40f48272a464eb3cb7345fc6\"\u003e40c15d0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eadd_events_to_memory\u003c/code\u003e facade for event-delta (\u003ca href=\"https://github.com/google/adk-python/commit/59e88972ae4f10274444593db0607f40cfcc597e\"\u003e59e8897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd post-invocation token-threshold compaction with event retention (\u003ca href=\"https://github.com/google/adk-python/commit/a88e8647558a9b9d0bfdf38d2d8de058e3ba0596\"\u003ea88e864\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd report generation to \u003ccode\u003eadk conformance test\u003c/code\u003e command (\u003ca href=\"https://github.com/google/adk-python/commit/43c437e38b9109b68a81de886d1901e4d8f87a01\"\u003e43c437e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Models]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd base_url option to Gemini LLM class (\u003ca href=\"https://github.com/google/adk-python/commit/781f605a1e5de6d77b69d7e7b9835ec6fc8de4bf\"\u003e781f605\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnhance google credentials config to support externally passed access token (\u003ca href=\"https://github.com/google/adk-python/commit/3cf43e3842d9987499ea70d6f63d6e1c4d4a07db\"\u003e3cf43e3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate agent simulator by improving prompts and add environment data (\u003ca href=\"https://github.com/google/adk-python/commit/7af1858f46b66fa4471c5ba7943385f2d23d08d3\"\u003e7af1858\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a load MCP resource tool (\u003ca href=\"https://github.com/google/adk-python/commit/e25227da5e91a8c1192af709f8e8bb2a471ded92\"\u003ee25227d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd SkillToolset to adk (\u003ca href=\"https://github.com/google/adk-python/commit/8d0279251ce4fad6f0c84bd7777eb5a74f7ba07a\"\u003e8d02792\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Web]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e/health\u003c/code\u003e and \u003ccode\u003e/version\u003c/code\u003e endpoints to ADK web server (\u003ca href=\"https://github.com/google/adk-python/commit/25ec2c6b614cf8d185ff6dbdac5697a210be68da\"\u003e25ec2c6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse async iteration for VertexAiSessionService.list_sessions pagination (\u003ca href=\"https://github.com/google/adk-python/commit/758d337c76d877e3174c35f06551cc9beb1def06\"\u003e758d337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix event loop closed bug in McpSessionManager (\u003ca href=\"https://github.com/google/adk-python/commit/4aa475145f196fb35fe97290dd9f928548bc737f\"\u003e4aa4751\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve thought_signature in function call conversions for interactions API integration (\u003ca href=\"https://github.com/google/adk-python/commit/20105690100d9c2f69c061ac08be5e94c50dc39c\"\u003e2010569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePropagate grounding and citation metadata in streaming responses (\u003ca href=\"https://github.com/google/adk-python/commit/e6da4172924ecc36ffc2535199c450a2a51c7bcc\"\u003ee6da417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd endpoints to get/list artifact version metadata (\u003ca href=\"https://github.com/google/adk-python/commit/e0b9712a492bf84ac17679095b333642a79b8ee6\"\u003ee0b9712\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport escaped curly braces in instruction templates (\u003ca href=\"https://github.com/google/adk-python/commit/7c7d25a4a6e4389e23037e70b8efdcd5341f44ea\"\u003e7c7d25a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStrip timezone for PostgreSQL timestamps in DatabaseSessionService (\u003ca href=\"https://github.com/google/adk-python/commit/19b607684f15ce2b6ffd60382211ba5600705743\"\u003e19b6076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrompt token may be None in streaming mode (\u003ca href=\"https://github.com/google/adk-python/commit/32ee07df01f10dbee0e98ca9d412440a7fe9163d\"\u003e32ee07d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePass invocation_id from \u003ccode\u003e/run\u003c/code\u003e endpoint to \u003ccode\u003eRunner.run_async\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/d2dba27134f833e5d929fdf363ada9364cc852f9\"\u003ed2dba27\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConditionally preserve function call IDs in LLM requests (\u003ca href=\"https://github.com/google/adk-python/commit/663cb75b3288d8d0649412e1009329502b21cbbc\"\u003e663cb75\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrate VertexAiMemoryBankService to use the async Vertex AI client (\u003ca href=\"https://github.com/google/adk-python/commit/64a44c28974de77cf8934f9c3d1bc03691b90e7b\"\u003e64a44c2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle list values in Gemini schema sanitization (\u003ca href=\"https://github.com/google/adk-python/commit/fd8a9e3962cca4f422beb7316cbe732edf726d51\"\u003efd8a9e3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUsed logger to log instead of print in MCP (\u003ca href=\"https://github.com/google/adk-python/commit/6bc70a6bab79b679a4b18ad146b3450fb9014475\"\u003e6bc70a6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReplace check of instance for LlmAgent with hasAttribute check (\u003ca href=\"https://github.com/google/adk-python/commit/7110336788662abb8c9bbbb0a53a50cc09130d5e\"\u003e7110336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLog exception details before re-raising in MCP session execution (\u003ca href=\"https://github.com/google/adk-python/commit/de79bf12b564a4eefc7e6a2568dbe0f08bb6efeb\"\u003ede79bf1\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/google/adk-python/commit/7a6b62da62f56e327a7782b123129247ba1e68f7\"\u003e\u003ccode\u003e7a6b62d\u003c/code\u003e\u003c/a\u003e chore(version): Bump version and update changelog for 1.25.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/3a1d459cd4702eda5d4267e03ad0717bd534b0c8\"\u003e\u003ccode\u003e3a1d459\u003c/code\u003e\u003c/a\u003e fix: Fix pickling lock errors in McpSessionManager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/8cd22fb746f2ddac83ba31f7679138557a914925\"\u003e\u003ccode\u003e8cd22fb\u003c/code\u003e\u003c/a\u003e chore(version): Bump version and update changelog for 1.25.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/079f7a38be5c2dcae604a93a8dabc2fd60af79db\"\u003e\u003ccode\u003e079f7a3\u003c/code\u003e\u003c/a\u003e fix: Support escaped curly braces in instruction templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/34da2d5b26e82f96f1951334fe974a0444843720\"\u003e\u003ccode\u003e34da2d5\u003c/code\u003e\u003c/a\u003e feat: enable dependency injection for agent loader in FastAPI app gen\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/bcbfeba953d46fca731b11542a00103cef374e57\"\u003e\u003ccode\u003ebcbfeba\u003c/code\u003e\u003c/a\u003e feat: pass trace context in MCP tool call's _meta field with Otel propagator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/9dccd6a69223925ed1c452189b33a922e6934643\"\u003e\u003ccode\u003e9dccd6a\u003c/code\u003e\u003c/a\u003e feat(conformance): read report's version info from the server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/38b4869c414c3e84616db81aafac49f41dd12fa9\"\u003e\u003ccode\u003e38b4869\u003c/code\u003e\u003c/a\u003e chore(ci): migrate release pipeline from release-please App to GitHub Actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/657acfadbbb6f81fd489aec11061715adce7c07f\"\u003e\u003ccode\u003e657acfa\u003c/code\u003e\u003c/a\u003e docs: Add PostgreSQL session storage sample and documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/61c329f8ce7659574410744ab3868ca002946ed8\"\u003e\u003ccode\u003e61c329f\u003c/code\u003e\u003c/a\u003e ci: match the environment with internal ones for pyink/isort/unittest\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/adk-python/compare/v1.14.1...v1.25.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rich` from 14.3.2 to 14.3.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/releases\"\u003erich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eThe infinite Release\u003c/h2\u003e\n\u003cp\u003eFixed a infinite loop in split_graphemes\u003c/p\u003e\n\u003ch2\u003e[14.3.3] - 2026-02-19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed infinite loop with \u003ccode\u003ecells.split_graphemes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4006\"\u003eTextualize/rich#4006\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Textualize/rich/blob/master/CHANGELOG.md\"\u003erich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[14.3.3] - 2026-02-19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed infinite loop with \u003ccode\u003ecells.split_graphemes\u003c/code\u003e \u003ca href=\"https://redirect.github.com/Textualize/rich/pull/4006\"\u003eTextualize/rich#4006\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/ce0118819d172d134507bcf5982d3faf82bbc43e\"\u003e\u003ccode\u003ece01188\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4008\"\u003e#4008\u003c/a\u003e from Textualize/bump1433\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/14a47c928241fe5cbf2f1adab0bb61fd1db3472f\"\u003e\u003ccode\u003e14a47c9\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/f54bfe062865187fe3bc733769dcd990a5a0ffe3\"\u003e\u003ccode\u003ef54bfe0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4007\"\u003e#4007\u003c/a\u003e from Textualize/copilot/sub-pr-4006\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/7338cb9dafd0d0e916585f191ae505b3e602bb51\"\u003e\u003ccode\u003e7338cb9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Textualize/rich/issues/4006\"\u003e#4006\u003c/a\u003e from Textualize/fix-grapheme-stuck\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/905b397deb6b5ed59dfd80fa499c90e215f309c8\"\u003e\u003ccode\u003e905b397\u003c/code\u003e\u003c/a\u003e Update tests/test_cells.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/b031dca1d74f1f82a02d71e771b116ec4f9ad6c8\"\u003e\u003ccode\u003eb031dca\u003c/code\u003e\u003c/a\u003e Update tests/test_cells.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/f07a3fc5f5f4d5bfc0152cca4b103369934cd8b6\"\u003e\u003ccode\u003ef07a3fc\u003c/code\u003e\u003c/a\u003e Add regression tests for VS16 after zero-width chars in split_graphemes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/b618ccc7e310a92e555d6ec38a7f390b37192ef3\"\u003e\u003ccode\u003eb618ccc\u003c/code\u003e\u003c/a\u003e spelling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/378c34bd43eb4c9779ce1f7ff5dea376b34c91c5\"\u003e\u003ccode\u003e378c34b\u003c/code\u003e\u003c/a\u003e Initial plan\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Textualize/rich/commit/87e7ca27d0f8047e2d22c6ee9f7cf2c59e4c96af\"\u003e\u003ccode\u003e87e7ca2\u003c/code\u003e\u003c/a\u003e refinements, and tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Textualize/rich/compare/v14.3.2...v14.3.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.15.1 to 0.15.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.2\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-19.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eExpand the default rule set (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23385\"\u003e#23385\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eIn preview, Ruff now enables a significantly expanded default rule set of 412 rules, up from the stable default set of 59 rules. The new rules are mostly a superset of the stable defaults, with the exception of these rules, which are removed from the preview defaults:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/multiple-imports-on-one-line\"\u003e\u003ccode\u003emultiple-imports-on-one-line\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE401\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file\"\u003e\u003ccode\u003emodule-import-not-at-top-of-file\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE402\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file\"\u003e\u003ccode\u003emodule-import-not-at-top-of-file\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE701\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/multiple-statements-on-one-line-semicolon\"\u003e\u003ccode\u003emultiple-statements-on-one-line-semicolon\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE702\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/useless-semicolon\"\u003e\u003ccode\u003euseless-semicolon\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE703\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/none-comparison\"\u003e\u003ccode\u003enone-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE711\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/true-false-comparison\"\u003e\u003ccode\u003etrue-false-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE712\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/not-in-test\"\u003e\u003ccode\u003enot-in-test\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE713\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/not-is-test\"\u003e\u003ccode\u003enot-is-test\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE714\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/type-comparison\"\u003e\u003ccode\u003etype-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE721\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/lambda-assignment\"\u003e\u003ccode\u003elambda-assignment\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE731\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-variable-name\"\u003e\u003ccode\u003eambiguous-variable-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE741\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-class-name\"\u003e\u003ccode\u003eambiguous-class-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE742\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-function-name\"\u003e\u003ccode\u003eambiguous-function-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE743\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-import-star\"\u003e\u003ccode\u003eundefined-local-with-import-star\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF403\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-import-star-usage\"\u003e\u003ccode\u003eundefined-local-with-import-star-usage\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF405\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage\"\u003e\u003ccode\u003eundefined-local-with-nested-import-star-usage\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF406\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/forward-annotation-syntax-error\"\u003e\u003ccode\u003eforward-annotation-syntax-error\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF722\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIf you use preview and prefer the old defaults, you can restore them with configuration like:\u003c/p\u003e\n\u003cpre lang=\"toml\"\u003e\u003ccode\u003e\r\n# ruff.toml\r\n\u003cp\u003e[lint]\nselect = [\u0026quot;E4\u0026quot;, \u0026quot;E7\u0026quot;, \u0026quot;E9\u0026quot;, \u0026quot;F\u0026quot;]\u003c/p\u003e\n\u003ch1\u003epyproject.toml\u003c/h1\u003e\n\u003cp\u003e[tool.ruff.lint]\nselect = [\u0026quot;E4\u0026quot;, \u0026quot;E7\u0026quot;, \u0026quot;E9\u0026quot;, \u0026quot;F\u0026quot;]\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eIf you do give them a try, feel free to share your feedback in the \u003ca href=\"https://github.com/astral-sh/ruff/discussions/23203\"\u003eGitHub discussion\u003c/a\u003e!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Also check string annotations (\u003ccode\u003ePYI041\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19023\"\u003e#19023\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.2\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-19.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eExpand the default rule set (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23385\"\u003e#23385\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eIn preview, Ruff now enables a significantly expanded default rule set of 412\nrules, up from the stable default set of 59 rules. The new rules are mostly a\nsuperset of the stable defaults, with the exception of these rules, which are\nremoved from the preview defaults:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/multiple-imports-on-one-line\"\u003e\u003ccode\u003emultiple-imports-on-one-line\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE401\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file\"\u003e\u003ccode\u003emodule-import-not-at-top-of-file\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE402\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/module-import-not-at-top-of-file\"\u003e\u003ccode\u003emodule-import-not-at-top-of-file\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE701\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/multiple-statements-on-one-line-semicolon\"\u003e\u003ccode\u003emultiple-statements-on-one-line-semicolon\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE702\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/useless-semicolon\"\u003e\u003ccode\u003euseless-semicolon\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE703\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/none-comparison\"\u003e\u003ccode\u003enone-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE711\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/true-false-comparison\"\u003e\u003ccode\u003etrue-false-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE712\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/not-in-test\"\u003e\u003ccode\u003enot-in-test\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE713\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/not-is-test\"\u003e\u003ccode\u003enot-is-test\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE714\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/type-comparison\"\u003e\u003ccode\u003etype-comparison\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE721\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/lambda-assignment\"\u003e\u003ccode\u003elambda-assignment\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE731\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-variable-name\"\u003e\u003ccode\u003eambiguous-variable-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE741\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-class-name\"\u003e\u003ccode\u003eambiguous-class-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE742\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/ambiguous-function-name\"\u003e\u003ccode\u003eambiguous-function-name\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eE743\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-import-star\"\u003e\u003ccode\u003eundefined-local-with-import-star\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF403\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-import-star-usage\"\u003e\u003ccode\u003eundefined-local-with-import-star-usage\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF405\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/undefined-local-with-nested-import-star-usage\"\u003e\u003ccode\u003eundefined-local-with-nested-import-star-usage\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF406\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/forward-annotation-syntax-error\"\u003e\u003ccode\u003eforward-annotation-syntax-error\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eF722\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIf you use preview and prefer the old defaults, you can restore them with\nconfiguration like:\u003c/p\u003e\n\u003cpre lang=\"toml\"\u003e\u003ccode\u003e\n# ruff.toml\n\u003cp\u003e[lint]\nselect = [\u0026quot;E4\u0026quot;, \u0026quot;E7\u0026quot;, \u0026quot;E9\u0026quot;, \u0026quot;F\u0026quot;]\u003c/p\u003e\n\u003ch1\u003epyproject.toml\u003c/h1\u003e\n\u003cp\u003e[tool.ruff.lint]\nselect = [\u0026quot;E4\u0026quot;, \u0026quot;E7\u0026quot;, \u0026quot;E9\u0026quot;, \u0026quot;F\u0026quot;]\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eIf you do give them a try, feel free to share your feedback in the \u003ca href=\"https://github.com/astral-sh/ruff/discussions/23203\"\u003eGitHub\ndiscussion\u003c/a\u003e!\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9d18ee9115f9cbb4c21478baa7c1fa2b46e0759c\"\u003e\u003ccode\u003e9d18ee9\u003c/code\u003e\u003c/a\u003e Hard code workflow name and \u003ccode\u003ecancel-in-progress\u003c/code\u003e only for PRs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23431\"\u003e#23431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7cc15f024b931fe56365f40de3fab01219c092c4\"\u003e\u003ccode\u003e7cc15f0\u003c/code\u003e\u003c/a\u003e Bump 0.15.2 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23430\"\u003e#23430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/d1b544393ae9cddd8e48ebee8dbfd54bda89f375\"\u003e\u003ccode\u003ed1b5443\u003c/code\u003e\u003c/a\u003e Add extension mapping to configuration file options (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23384\"\u003e#23384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/222574af90c5c0ca8f84c8385cf30c7c10ac2496\"\u003e\u003ccode\u003e222574a\u003c/code\u003e\u003c/a\u003e Expand the default rule set (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23385\"\u003e#23385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1465b5de3829549b45397e9587b83ab7ac6d26d0\"\u003e\u003ccode\u003e1465b5d\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-async\u003c/code\u003e] Fix \u003ccode\u003ein_async_context\u003c/code\u003e logic (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23426\"\u003e#23426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/410902fa401afda969cc000f13be341896e6868e\"\u003e\u003ccode\u003e410902f\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epyupgrade\u003c/code\u003e] Fix handling of \u003ccode\u003etyping.{io,re}\u003c/code\u003e (\u003ccode\u003eUP035\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23131\"\u003e#23131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/729610acd9e19f57526e8ca40f355626154826bb\"\u003e\u003ccode\u003e729610a\u003c/code\u003e\u003c/a\u003e [ty] Fall back to ambiguous for large control flow graphs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23399\"\u003e#23399\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1425c185b0a47be87112762f65b5bf7e323fb950\"\u003e\u003ccode\u003e1425c18\u003c/code\u003e\u003c/a\u003e [ty] Add code folding support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/97acaaea5f993f33d3f5bb27c5db760a2f3d1e8a\"\u003e\u003ccode\u003e97acaae\u003c/code\u003e\u003c/a\u003e [ty] Fix stack overflow for self-referential \u003ccode\u003eTypeOf\u003c/code\u003e in annotations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23407\"\u003e#23407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1f380c82584a6dab7e8715bc7dd5ae187da1e69a\"\u003e\u003ccode\u003e1f380c8\u003c/code\u003e\u003c/a\u003e [ty] Update tests \u003ccode\u003ereveal_type\u003c/code\u003e and \u003ccode\u003eNever\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23418\"\u003e#23418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.1...0.15.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fastapi` from 0.129.0 to 0.131.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.131.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🗑️ Deprecate \u003ccode\u003eORJSONResponse\u003c/code\u003e and \u003ccode\u003eUJSONResponse\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14964\"\u003e#14964\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.130.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Serialize JSON response with Pydantic (in Rust), when there's a Pydantic return type or response model. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14962\"\u003e#14962\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 results in 2x (or more) performance increase for JSON responses.\u003c/li\u003e\n\u003cli\u003eNew docs: \u003ca href=\"https://fastapi.tiangolo.com/advanced/custom-response/#json-performance\"\u003eCustom Response - JSON Performance\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.129.2\u003c/h2\u003e\n\u003ch3\u003eInternal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e⬆️ Upgrade pytest. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14959\"\u003e#14959\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 CI, do not attempt to publish \u003ccode\u003efastapi-slim\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14958\"\u003e#14958\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e➖ Drop support for \u003ccode\u003efastapi-slim\u003c/code\u003e, no more versions will be released, use only \u003ccode\u003e\u0026quot;fastapi[standard]\u0026quot;\u003c/code\u003e or \u003ccode\u003efastapi\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14957\"\u003e#14957\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 pyproject.toml, remove unneeded lines. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14956\"\u003e#14956\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.129.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Fix JSON Schema for bytes, use \u003ccode\u003e\u0026quot;contentMediaType\u0026quot;: \u0026quot;application/octet-stream\u0026quot;\u003c/code\u003e instead of \u003ccode\u003e\u0026quot;format\u0026quot;: \u0026quot;binary\u0026quot;\u003c/code\u003e. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14953\"\u003e#14953\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔨 Add Kapa.ai widget (AI chatbot). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14938\"\u003e#14938\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🔥 Remove Python 3.9 specific files, no longer needed after updating translations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14931\"\u003e#14931\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 JWT to prevent timing attacks. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14908\"\u003e#14908\u003c/a\u003e by \u003ca href=\"https://github.com/tiangolo\"\u003e\u003ccode\u003e@​tiangolo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTranslations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✏️ Fix several typos in ru translations. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14934\"\u003e#14934\u003c/a\u003e by \u003ca href=\"https://github.com/argoarsiks\"\u003e\u003ccode\u003e@​argoarsiks\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e🌐 Update translations for ko (update-all and add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14923\"\u003e#14923\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 translations for uk (add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14922\"\u003e#14922\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 translations for zh-hant (update-all and add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14921\"\u003e#14921\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 translations for fr (update-all and add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14920\"\u003e#14920\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 translations for de (update-all) . PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14910\"\u003e#14910\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 translations for ja (update-all). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14916\"\u003e#14916\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 translations for pt (update-all). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14912\"\u003e#14912\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 translations for es (update-all and add-missing). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14911\"\u003e#14911\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 translations for zh (update-all). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14917\"\u003e#14917\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 translations for uk (update-all). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14914\"\u003e#14914\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 translations for tr (update-all). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14913\"\u003e#14913\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 translations for ru (update-outdated). PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14909\"\u003e#14909\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👷 Always run tests on push to \u003ccode\u003emaster\u003c/code\u003e branch and when run by scheduler. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/14940\"\u003e#14940\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/b423b73c355bc401cb49f43cb5ca14515ac088cd\"\u003e\u003ccode\u003eb423b73\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.131.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/70e8558352ef5f60dbd95c95725a427e06e86a24\"\u003e\u003ccode\u003e70e8558\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/48e983573232eea970fb4e0261818d4ab9a481b2\"\u003e\u003ccode\u003e48e9835\u003c/code\u003e\u003c/a\u003e 🗑️ Deprecate \u003ccode\u003eORJSONResponse\u003c/code\u003e and \u003ccode\u003eUJSONResponse\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14964\"\u003e#14964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/2e62fb151338c39c1f122d13fe6ad255b8ce1ff2\"\u003e\u003ccode\u003e2e62fb1\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/eb544e704c02fd9bad34d23127cbb45255c00706\"\u003e\u003ccode\u003eeb544e7\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.130.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/bc06e4296d588f39f38c7ac2fc96d3913c565962\"\u003e\u003ccode\u003ebc06e42\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/590a5e535587cc07041ba12d308c748433ccb168\"\u003e\u003ccode\u003e590a5e5\u003c/code\u003e\u003c/a\u003e ✨ Serialize JSON response with Pydantic (in Rust), when there's a Pydantic re...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/1e78a36b7310003f0ff634627d8a7bc53c6ccdee\"\u003e\u003ccode\u003e1e78a36\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.129.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/f921de6495a9d770fafc62f81274bdb6c0ee1e31\"\u003e\u003ccode\u003ef921de6\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/4ab8138554ed830ba543e57e810fe47f22441e3a\"\u003e\u003ccode\u003e4ab8138\u003c/code\u003e\u003c/a\u003e ⬆️ Upgrade pytest (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/14959\"\u003e#14959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.129.0...0.131.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `langchain-core` from 1.2.13 to 1.2.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/langchain-ai/langchain/releases\"\u003elangchain-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003elangchain-core==1.2.14\u003c/h2\u003e\n\u003cp\u003eChanges since langchain-core==1.2.13\u003c/p\u003e\n\u003cp\u003erelease(core): 1.2.14 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35328\"\u003e#35328\u003c/a\u003e)\nchore(core): remove \u003ccode\u003elangserve\u003c/code\u003e from sys info util, add \u003ccode\u003edeepagents\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35325\"\u003e#35325\u003c/a\u003e)\nfix(core): fix merge_lists incorrectly merging parallel tool calls (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35281\"\u003e#35281\u003c/a\u003e)\nfix(core): accept int temperature in _get_ls_params for LangSmith tracing (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35302\"\u003e#35302\u003c/a\u003e)\nrevert: accept integer temperature values in _get_ls_params (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35319\"\u003e#35319\u003c/a\u003e)\nfix(core): accept integer temperature values in _get_ls_params (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35317\"\u003e#35317\u003c/a\u003e)\ndocs(core): update load note to be precise (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35309\"\u003e#35309\u003c/a\u003e)\nfix(core): prevent recursion error when args_schema is dict (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35260\"\u003e#35260\u003c/a\u003e)\nfix(core): preserve index and timestamp fields when merging (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/34731\"\u003e#34731\u003c/a\u003e)\ndocs(core): add security warnings and best practices for deserialization (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35282\"\u003e#35282\u003c/a\u003e)\ndocs: fix docstring inaccuracies and update outdated LangSmith URLs (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35283\"\u003e#35283\u003c/a\u003e)\nfix(core): correct misleading jinja2 sandboxing comment (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35183\"\u003e#35183\u003c/a\u003e)\nchore: bump the langchain-deps group across 3 directories with 8 updates (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35257\"\u003e#35257\u003c/a\u003e)\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/9851838eb8c72f2d4e1036074032ba3a72cc3a0f\"\u003e\u003ccode\u003e9851838\u003c/code\u003e\u003c/a\u003e release(core): 1.2.14 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35328\"\u003e#35328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/18230f625f79aba25cbf9fb5500ab504cbb8f0bc\"\u003e\u003ccode\u003e18230f6\u003c/code\u003e\u003c/a\u003e chore(core): remove \u003ccode\u003elangserve\u003c/code\u003e from sys info util, add \u003ccode\u003edeepagents\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35325\"\u003e#35325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/83f81d65af659200afa6beede40f46fafff7e85e\"\u003e\u003ccode\u003e83f81d6\u003c/code\u003e\u003c/a\u003e fix(langchain): allow Gemini 3 models to use \u003ccode\u003eProviderStrategy\u003c/code\u003e with tools (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/5c6f8fe0a63442e594c7ea0c996e37c3de6def65\"\u003e\u003ccode\u003e5c6f8fe\u003c/code\u003e\u003c/a\u003e fix(openai): accept valid responses that are falsy at runtime (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35307\"\u003e#35307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/5053436dcfe531edd1619862f74c07c61fd57801\"\u003e\u003ccode\u003e5053436\u003c/code\u003e\u003c/a\u003e fix(core): fix merge_lists incorrectly merging parallel tool calls (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35281\"\u003e#35281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/3686bcbd966ff1ef13e5fdbde28aa0e630ddd5c4\"\u003e\u003ccode\u003e3686bcb\u003c/code\u003e\u003c/a\u003e fix(core): accept int temperature in _get_ls_params for LangSmith tracing (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/9c160e2368f7f44bd41e967a7b3371208cf13a52\"\u003e\u003ccode\u003e9c160e2\u003c/code\u003e\u003c/a\u003e revert: accept integer temperature values in _get_ls_params (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35319\"\u003e#35319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/269947b11f3b78eb800dd3fe12f3c07151ac9feb\"\u003e\u003ccode\u003e269947b\u003c/code\u003e\u003c/a\u003e release(text-splitters): 1.1.1 (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35318\"\u003e#35318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/a9f3627229ce3c27e0046730e91e3a7e670b88a4\"\u003e\u003ccode\u003ea9f3627\u003c/code\u003e\u003c/a\u003e fix(core): accept integer temperature values in _get_ls_params (\u003ca href=\"https://redirect.github.com/langchain-ai/langchain/issues/35317\"\u003e#35317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/langchain-ai/langchain/commit/8951c01fe8b0c6cec28e3ef82d150a17fcf9f4d7\"\u003e\u003ccode\u003e8951c01\u003c/code\u003e\u003c/a\u003e fix(text-splitters): prevent JSFrameworkTextSplitter from mutating self._sepa...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/langchain-ai/langchain/compare/langchain-core==1.2.13...langchain-core==1.2.14\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-genai` from 1.63.0 to 1.64.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-genai/releases\"\u003egoogle-genai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.64.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.63.0...v1.64.0\"\u003e1.64.0\u003c/a\u003e (2026-02-18)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd UnifiedMetric support to Vertex Tuning evaluation config (\u003ca href=\"https://github.com/googleapis/python-genai/commit/9a9908a9605756a94404359187cad09b21c094e0\"\u003e9a9908a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport multimodal embedding for Gemini Embedding 2.0 and support MaaS models in Models.embed_content() (Vertex AI API) (\u003ca href=\"https://github.com/googleapis/python-genai/commit/af40cc629751b2d389eecb75741e9c3531cc8e6e\"\u003eaf40cc6\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/googleapis/python-genai/blob/main/CHANGELOG.md\"\u003egoogle-genai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.63.0...v1.64.0\"\u003e1.64.0\u003c/a\u003e (2026-02-18)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd UnifiedMetric support to Vertex Tuning evaluation config (\u003ca href=\"https://github.com/googleapis/python-genai/commit/9a9908a9605756a94404359187cad09b21c094e0\"\u003e9a9908a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport multimodal embedding for Gemini Embedding 2.0 and support MaaS models in Models.embed_content() (Vertex AI API) (\u003ca href=\"https://github.com/googleapis/python-genai/commit/af40cc629751b2d389eecb75741e9c3531cc8e6e\"\u003eaf40cc6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/cff95b45b3eb6d201539f5b92901adc803ddad2a\"\u003e\u003ccode\u003ecff95b4\u003c/code\u003e\u003c/a\u003e chore(main): release 1.64.0 (\u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/2054\"\u003e#2054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/3e8eef80288ae63cde7115877c64207845f16442\"\u003e\u003ccode\u003e3e8eef8\u003c/code\u003e\u003c/a\u003e chore: Make discriminator properties required in Interactions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/2ab5ea72ffb94c5ec26de8f9560321f372ff0651\"\u003e\u003ccode\u003e2ab5ea7\u003c/code\u003e\u003c/a\u003e chore: migrate to gcloud storage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/e55004c33781b27d38780ea705cbba6858246c4a\"\u003e\u003ccode\u003ee55004c\u003c/code\u003e\u003c/a\u003e chore: Add aiohttp as a required dependency.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/fafc3d80179d642a4adf4bce42e05a0045f8c1be\"\u003e\u003ccode\u003efafc3d8\u003c/code\u003e\u003c/a\u003e chore: Add type assertions and ignore type overlap in genai libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/af40cc629751b2d389eecb75741e9c3531cc8e6e\"\u003e\u003ccode\u003eaf40cc6\u003c/code\u003e\u003c/a\u003e feat: Support multimodal embedding for Gemini Embedding 2.0 and support MaaS ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/9a9908a9605756a94404359187cad09b21c094e0\"\u003e\u003ccode\u003e9a9908a\u003c/code\u003e\u003c/a\u003e feat: Add UnifiedMetric support to Vertex Tuning evaluation config\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.63.0...v1.64.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ty` from 0.0.17 to 0.0.18\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/releases\"\u003ety's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.18\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-20.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport classes dynamically created via \u003ccode\u003etype(...)\u003c/code\u003e with cyclic bases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22792\"\u003e#22792\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix incorrect types inferred when unpacking mixed tuples (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23437\"\u003e#23437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflow for self-referential \u003ccode\u003eTypeOf\u003c/code\u003e in annotations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23407\"\u003e#23407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix several server panics that could occur when computing semantic tokens for the current file (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23403\"\u003e#23403\u003c/a\u003e), \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23398\"\u003e#23398\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23401\"\u003e#23401\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd code folding support (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23393\"\u003e#23393\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd warning message when running \u003ccode\u003ety server\u003c/code\u003e interactively (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23416\"\u003e#23416\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExclude test-related symbols from non-first-party packages in auto-import completions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23252\"\u003e#23252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where diagnostics could disappear after opening an external file (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23447\"\u003e#23447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove spurious destination for Go-To Definition on variables defined in a loop (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23391\"\u003e#23391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse the fully qualified name when \u0026quot;baking\u0026quot; an inlay hint into the source code if the scope already contains a variable with the same name as the unqualified name (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23265\"\u003e#23265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve TypeVars in \u003ccode\u003ecall_signature_details\u003c/code\u003e parameter types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23149\"\u003e#23149\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--output-format\u003c/code\u003e to \u003ccode\u003ety version\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23387\"\u003e#23387\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ereplace-imports-with-any\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23122\"\u003e#23122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport shellexpand for configuration paths (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23274\"\u003e#23274\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eType checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a new diagnostic to detect invalid class patterns in \u003ccode\u003ematch\u003c/code\u003e statements (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22939\"\u003e#22939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003eSelf\u003c/code\u003e in \u003ccode\u003eClassVar\u003c/code\u003e type annotations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23362\"\u003e#23362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider synthesized methods and \u003ccode\u003eClassVar\u003c/code\u003e-qualified declarations when determining whether an abstract method has been overridden in a subclass (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23381\"\u003e#23381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a diagnostic when combining \u003ccode\u003eFinal\u003c/code\u003e and \u003ccode\u003eClassVar\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23365\"\u003e#23365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix return type of \u003ccode\u003eassert_never\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23389\"\u003e#23389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eassert_type\u003c/code\u003e diagnostic messages (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23342\"\u003e#23342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBan PEP-613 type alias values from containing type-qualifier special forms (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23444\"\u003e#23444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInfer \u003ccode\u003eLiteralString\u003c/code\u003e for \u003ccode\u003ef\u0026quot;{literal_str_a} {literal_str_b}\u0026quot;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23346\"\u003e#23346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInfer precise types for bit-shift operations on integer literals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23301\"\u003e#23301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003e[abstract-method-in-final-class]\u003c/code\u003e diagnostics less verbose for classes with many abstract methods (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23379\"\u003e#23379\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove diagnostics for abstract \u003ccode\u003e@final\u003c/code\u003e classes (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23376\"\u003e#23376\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly perform literal promotion for implicitly inferred literals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23107\"\u003e#23107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eParenthesize callable types when they appear in the return annotation of other callable types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23327\"\u003e#23327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider a call to a generic function returning \u003ccode\u003eNever\u003c/code\u003e to terminate control flow (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23419\"\u003e#23419\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport calls to intersection types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22469\"\u003e#22469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValidate annotated assignments to attributes on self (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23388\"\u003e#23388\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat a bytes-literal type as a subtype of \u003ccode\u003eSequence[\u0026lt;constituent integers in the bytestring\u0026gt;]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23329\"\u003e#23329\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/blob/main/CHANGELOG.md\"\u003ety's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.18\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-20.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport classes dynamically created via \u003ccode\u003etype(...)\u003c/code\u003e with cyclic bases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22792\"\u003e#22792\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix incorrect types inferred when unpacking mixed tuples (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23437\"\u003e#23437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stack overflow for self-referential \u003ccode\u003eTypeOf\u003c/code\u003e in annotations (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23407\"\u003e#23407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix several server panics that could occur when computing semantic tokens for the current file (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23403\"\u003e#23403\u003c/a\u003e), \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23398\"\u003e#23398\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23401\"\u003e#23401\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd code folding support (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23393\"\u003e#23393\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd warning message when running \u003ccode\u003ety server\u003c/code\u003e interactively (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23416\"\u003e#23416\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExclude test-related symbols from non-first-party packages in auto-import completions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23252\"\u003e#23252\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where diagnostics could disappear after opening an external file (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23447\"\u003e#23447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove spurious destination for Go-To Definition on variables defined in a loop (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23391\"\u003e#23391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse the fully qualified name when \u0026quot;baking\u0026quot; an inlay hint into the source code if the scope already contains a variable with the same name as the unqualified name (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23265\"\u003e#23265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve TypeVars in \u003ccode\u003ecall_signature_details\u003c/code\u003e parameter types (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23149\"\u003e#23149\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--output-format\u003c/code\u003e to \u003ccode\u003ety version\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23387\"\u003e#23387\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ereplace-imports-with-any\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23122\"\u003e#23122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport shellexpand for configuration paths (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/23274\"\u003e#23274\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eType checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a new diagnostic to detect invalid class patterns in \u003ccode\u003ematch\u003c/code\u003e statements (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22939\"\u003e#22939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003eSelf\u003c/code\u003e in \u003ccode\u003eClassVar\u003c/code\u003e type annotations (\u003ca href=\"https://redirect.git...\n\n_Description has been truncated_","html_url":"https://github.com/langchain-ai/langsmith-sdk/pull/2473","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/langchain-ai%2Flangsmith-sdk/issues/2473","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2473/packages"}},{"old_version":"0.6.5","new_version":"0.7.0","update_type":"minor","path":null,"pr_created_at":"2026-02-04T02:42:03.000Z","version_change":"0.6.5 → 0.7.0","issue":{"uuid":"3894238435","node_id":"PR_kwDOK8weY87BWQPM","number":457,"state":"closed","title":"deps(pip)(deps): bump the python-minor-patch group across 1 directory with 38 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-11T02:40:13.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-04T02:42:03.000Z","updated_at":"2026-02-11T02:40:15.000Z","time_to_close":604690,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(pip)(deps): bump","group_name":"python-minor-patch","update_count":38,"packages":[{"name":"anthropic","old_version":"0.76.0","new_version":"0.77.1"},{"name":"google-genai","old_version":"1.57.0","new_version":"1.61.0","repository_url":"https://github.com/googleapis/python-genai"},{"name":"llama-cloud-services","old_version":"0.6.89","new_version":"0.6.92","repository_url":"https://github.com/run-llama/llama_cloud_services"},{"name":"llama-index","old_version":"0.14.12","new_version":"0.14.13","repository_url":"https://github.com/run-llama/llama_index"},{"name":"llama-index-core","old_version":"0.14.12","new_version":"0.14.13","repository_url":"https://github.com/run-llama/llama_index"},{"name":"llama-index-embeddings-gemini","old_version":"0.4.1","new_version":"0.4.2"},{"name":"llama-index-llms-anthropic","old_version":"0.10.5","new_version":"0.10.7"},{"name":"llama-index-llms-gemini","old_version":"0.6.1","new_version":"0.6.2"},{"name":"llama-index-llms-google-genai","old_version":"0.8.3","new_version":"0.8.6"},{"name":"llama-index-llms-huggingface-api","old_version":"0.6.1","new_version":"0.6.2"},{"name":"llama-index-llms-openai","old_version":"0.6.13","new_version":"0.6.17"},{"name":"llama-index-llms-openai-like","old_version":"0.5.3","new_version":"0.6.0"},{"name":"llama-index-workflows","old_version":"2.12.0","new_version":"2.13.1"},{"name":"llama-parse","old_version":"0.6.89","new_version":"0.6.92"},{"name":"mistralai","old_version":"1.10.0","new_version":"1.11.1","repository_url":"https://github.com/mistralai/client-python"},{"name":"openai","old_version":"2.15.0","new_version":"2.16.0","repository_url":"https://github.com/openai/openai-python"},{"name":"openai-agents","old_version":"0.6.5","new_version":"0.7.0","repository_url":"https://github.com/openai/openai-agents-python"},{"name":"chromadb","old_version":"1.4.0","new_version":"1.4.1","repository_url":"https://github.com/chroma-core/chroma"},{"name":"elasticsearch","old_version":"9.2.1","new_version":"9.3.0","repository_url":"https://github.com/elastic/elasticsearch-py"},{"name":"pinecone-plugin-assistant","old_version":"3.0.1","new_version":"3.0.2"},{"name":"boto3","old_version":"1.42.27","new_version":"1.42.41","repository_url":"https://github.com/boto/boto3"},{"name":"botocore","old_version":"1.42.27","new_version":"1.42.41","repository_url":"https://github.com/boto/botocore"},{"name":"debugpy","old_version":"1.8.19","new_version":"1.8.20","repository_url":"https://github.com/microsoft/debugpy"},{"name":"ruff","old_version":"0.14.11","new_version":"0.15.0","repository_url":"https://github.com/astral-sh/ruff"},{"name":"sse-starlette","old_version":"3.1.2","new_version":"3.2.0","repository_url":"https://github.com/sysid/sse-starlette"},{"name":"starlette","old_version":"0.51.0","new_version":"0.52.1","repository_url":"https://github.com/Kludex/starlette"},{"name":"python-multipart","old_version":"0.0.21","new_version":"0.0.22","repository_url":"https://github.com/Kludex/python-multipart"},{"name":"orjson","old_version":"3.11.5","new_version":"3.11.7","repository_url":"https://github.com/ijl/orjson"},{"name":"psutil","old_version":"7.2.1","new_version":"7.2.2","repository_url":"https://github.com/giampaolo/psutil"},{"name":"wheel","old_version":"0.45.1","new_version":"0.46.3","repository_url":"https://github.com/pypa/wheel"},{"name":"huggingface-hub","old_version":"1.3.1","new_version":"1.3.7","repository_url":"https://github.com/huggingface/huggingface_hub"},{"name":"numpy","old_version":"2.4.1","new_version":"2.4.2","repository_url":"https://github.com/numpy/numpy"},{"name":"duckdb","old_version":"1.4.3","new_version":"1.4.4","repository_url":"https://github.com/duckdb/duckdb-python"},{"name":"google-cloud-aiplatform","old_version":"1.133.0","new_version":"1.135.0","repository_url":"https://github.com/googleapis/python-aiplatform"},{"name":"uv","old_version":"0.9.25","new_version":"0.9.29","repository_url":"https://github.com/astral-sh/uv"},{"name":"rich","old_version":"14.2.0","new_version":"14.3.2","repository_url":"https://github.com/Textualize/rich"},{"name":"bandit","old_version":"1.9.2","new_version":"1.9.3","repository_url":"https://github.com/PyCQA/bandit"},{"name":"sounddevice","old_version":"0.5.3","new_version":"0.5.5","repository_url":"https://github.com/spatialaudio/python-sounddevice"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor-patch group with 38 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [anthropic[bedrock,vertex]](https://github.com/anthropics/anthropic-sdk-python) | `0.76.0` | `0.77.1` |\n| [google-genai](https://github.com/googleapis/python-genai) | `1.57.0` | `1.61.0` |\n| [llama-cloud-services](https://github.com/run-llama/llama_cloud_services) | `0.6.89` | `0.6.92` |\n| [llama-index](https://github.com/run-llama/llama_index) | `0.14.12` | `0.14.13` |\n| [llama-index-core](https://github.com/run-llama/llama_index) | `0.14.12` | `0.14.13` |\n| llama-index-embeddings-gemini | `0.4.1` | `0.4.2` |\n| llama-index-llms-anthropic | `0.10.5` | `0.10.7` |\n| llama-index-llms-gemini | `0.6.1` | `0.6.2` |\n| llama-index-llms-google-genai | `0.8.3` | `0.8.6` |\n| llama-index-llms-huggingface-api | `0.6.1` | `0.6.2` |\n| llama-index-llms-openai | `0.6.13` | `0.6.17` |\n| llama-index-llms-openai-like | `0.5.3` | `0.6.0` |\n| llama-index-workflows | `2.12.0` | `2.13.1` |\n| llama-parse | `0.6.89` | `0.6.92` |\n| [mistralai](https://github.com/mistralai/client-python) | `1.10.0` | `1.11.1` |\n| [openai](https://github.com/openai/openai-python) | `2.15.0` | `2.16.0` |\n| [openai-agents](https://github.com/openai/openai-agents-python) | `0.6.5` | `0.7.0` |\n| [chromadb](https://github.com/chroma-core/chroma) | `1.4.0` | `1.4.1` |\n| [elasticsearch](https://github.com/elastic/elasticsearch-py) | `9.2.1` | `9.3.0` |\n| [pinecone-plugin-assistant](https://www.pinecone.io) | `3.0.1` | `3.0.2` |\n| [boto3](https://github.com/boto/boto3) | `1.42.27` | `1.42.41` |\n| [botocore](https://github.com/boto/botocore) | `1.42.27` | `1.42.41` |\n| [debugpy](https://github.com/microsoft/debugpy) | `1.8.19` | `1.8.20` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.11` | `0.15.0` |\n| [sse-starlette](https://github.com/sysid/sse-starlette) | `3.1.2` | `3.2.0` |\n| [starlette](https://github.com/Kludex/starlette) | `0.51.0` | `0.52.1` |\n| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.21` | `0.0.22` |\n| [orjson](https://github.com/ijl/orjson) | `3.11.5` | `3.11.7` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.2.1` | `7.2.2` |\n| [wheel](https://github.com/pypa/wheel) | `0.45.1` | `0.46.3` |\n| [huggingface-hub](https://github.com/huggingface/huggingface_hub) | `1.3.1` | `1.3.7` |\n| [numpy](https://github.com/numpy/numpy) | `2.4.1` | `2.4.2` |\n| [duckdb](https://github.com/duckdb/duckdb-python) | `1.4.3` | `1.4.4` |\n| [google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform) | `1.133.0` | `1.135.0` |\n| [uv](https://github.com/astral-sh/uv) | `0.9.25` | `0.9.29` |\n| [rich](https://github.com/Textualize/rich) | `14.2.0` | `14.3.2` |\n| [bandit](https://github.com/PyCQA/bandit) | `1.9.2` | `1.9.3` |\n| [sounddevice](https://github.com/spatialaudio/python-sounddevice) | `0.5.3` | `0.5.5` |\n\n\nUpdates `anthropic[bedrock,vertex]` from 0.76.0 to 0.77.1\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[bedrock,vertex]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.77.1\u003c/h2\u003e\n\u003ch2\u003e0.77.1 (2026-02-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.77.0...v0.77.1\"\u003ev0.77.0...v0.77.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003estructured outputs:\u003c/strong\u003e send structured output beta header when format is omitted (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1158\"\u003e#1158\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/258494e2b814a6a096b01e50f83560b4cf4a98ad\"\u003e258494e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eremove claude-code-review workflow (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1338\"\u003e#1338\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/aec4512305e8dce41df8ef0ab225f4939e099bcf\"\u003eaec4512\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.77.0\u003c/h2\u003e\n\u003ch2\u003e0.77.0 (2026-01-29)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.76.0...v0.77.0\"\u003ev0.76.0...v0.77.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 Structured Outputs in the Messages API (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/ad5667774ad2e7efd181bcfda03fab3ea50630b9\"\u003ead56677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e migrate sending message format in output_config rather than output_format (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/af405e473f7cf6091cb8e711264227b9b0508528\"\u003eaf405e4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add custom JSON encoder for extended type support (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/7780e90bd2fe4c1116d59bc0ad543aa609fc643d\"\u003e7780e90\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse output_config for structured outputs (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/82d669db652ed3d9aede61fd500fabb291b8f035\"\u003e82d669d\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 run formatter (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/2e4ff86d7b8bef8fe5c4b7e62bf47dfff79f0577\"\u003e2e4ff86\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove class causing breaking change (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1333\"\u003e#1333\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/81ee9533d14f9dc3753a4a1320ea744825b17e92\"\u003e81ee953\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003estructured outputs:\u003c/strong\u003e avoid including beta header if \u003ccode\u003eoutput_format\u003c/code\u003e is missing (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1121\"\u003e#1121\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/062077e50d182719637403576f59761999b3b2f5\"\u003e062077e\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 upgrade \u003ccode\u003eactions/github-script\u003c/code\u003e (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/34df6160ad386a7e8848e3435b22bd18bd726702\"\u003e34df616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e update \u003ccode\u003eactions/checkout\u003c/code\u003e version (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/ea50de95bd1e43b8f00a45ef472330a3c8b396c8\"\u003eea50de9\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/blob/main/CHANGELOG.md\"\u003eanthropic[bedrock,vertex]'s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.77.1 (2026-02-03)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.77.0...v0.77.1\"\u003ev0.77.0...v0.77.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003estructured outputs:\u003c/strong\u003e send structured output beta header when format is omitted (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1158\"\u003e#1158\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/258494e2b814a6a096b01e50f83560b4cf4a98ad\"\u003e258494e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eremove claude-code-review workflow (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1338\"\u003e#1338\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/aec4512305e8dce41df8ef0ab225f4939e099bcf\"\u003eaec4512\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.77.0 (2026-01-29)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.76.0...v0.77.0\"\u003ev0.76.0...v0.77.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 Structured Outputs in the Messages API (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/ad5667774ad2e7efd181bcfda03fab3ea50630b9\"\u003ead56677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e migrate sending message format in output_config rather than output_format (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/af405e473f7cf6091cb8e711264227b9b0508528\"\u003eaf405e4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add custom JSON encoder for extended type support (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/7780e90bd2fe4c1116d59bc0ad543aa609fc643d\"\u003e7780e90\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse output_config for structured outputs (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/82d669db652ed3d9aede61fd500fabb291b8f035\"\u003e82d669d\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 run formatter (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/2e4ff86d7b8bef8fe5c4b7e62bf47dfff79f0577\"\u003e2e4ff86\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove class causing breaking change (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1333\"\u003e#1333\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/81ee9533d14f9dc3753a4a1320ea744825b17e92\"\u003e81ee953\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003estructured outputs:\u003c/strong\u003e avoid including beta header if \u003ccode\u003eoutput_format\u003c/code\u003e is missing (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1121\"\u003e#1121\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/062077e50d182719637403576f59761999b3b2f5\"\u003e062077e\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 upgrade \u003ccode\u003eactions/github-script\u003c/code\u003e (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/34df6160ad386a7e8848e3435b22bd18bd726702\"\u003e34df616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e update \u003ccode\u003eactions/checkout\u003c/code\u003e version (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/ea50de95bd1e43b8f00a45ef472330a3c8b396c8\"\u003eea50de9\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/3955600d74eafef1eef5a66f460b54ed5deaf130\"\u003e\u003ccode\u003e3955600\u003c/code\u003e\u003c/a\u003e release: 0.77.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/eca8ddfb199a012ac8d5fd362757c4155afcb419\"\u003e\u003ccode\u003eeca8ddf\u003c/code\u003e\u003c/a\u003e fix(structured outputs): send structured output beta header when format is om...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/ee44c52131650fb17ee618d20d17f792d5071230\"\u003e\u003ccode\u003eee44c52\u003c/code\u003e\u003c/a\u003e chore: remove claude-code-review workflow (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/commit/9c485f6966e10ae0ea9eabb3a921d2ea8145a25b\"\u003e\u003ccode\u003e9c485f6\u003c/code\u003e\u003c/a\u003e release: 0.77.0 (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-python/issues/1117\"\u003e#1117\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/anthropics/anthropic-sdk-python/compare/v0.76.0...v0.77.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-genai` from 1.57.0 to 1.61.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-genai/releases\"\u003egoogle-genai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.61.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.60.0...v1.61.0\"\u003e1.61.0\u003c/a\u003e (2026-01-30)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003einclude_input\u003c/code\u003e query parameter to Get Interaction endpoint. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a0240d9cf4c817d1737cb2cf818d405addabeed8\"\u003ea0240d9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd registerFiles for you can use gcs files with mldev. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/965395b2f640a7d92a6df3d03020f4d15fe6b2fa\"\u003e965395b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport distillation tuning (\u003ca href=\"https://github.com/googleapis/python-genai/commit/9e49d71c5aa70066cb0c81c7bef9770294dbcceb\"\u003e9e49d71\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport OSS Tuning in GenAI SDK (\u003ca href=\"https://github.com/googleapis/python-genai/commit/51748a7559fb038f2cd5ce290025d6259bb61ae0\"\u003e51748a7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd metadata in batch inlined response (\u003ca href=\"https://github.com/googleapis/python-genai/commit/08c47aa1a4237daed90d86d38ccb4590c25c8ab8\"\u003e08c47aa\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.60.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.59.0...v1.60.0\"\u003e1.60.0\u003c/a\u003e (2026-01-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd ModelArmorConfig support for prompt and response sanitization via the Model Armor service (\u003ca href=\"https://github.com/googleapis/python-genai/commit/8d1091a7e8d8eef774984ff2202cb87fa674e92e\"\u003e8d1091a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerate docs for 1.59.0 (\u003ca href=\"https://github.com/googleapis/python-genai/commit/351e4901c7c8178a2bbb876148cbe441a77b071e\"\u003e351e490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate docs to include interactions and file_search_stores module (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a21841cad53b73a54eef322a66cebd2c42c57bea\"\u003ea21841c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.59.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.58.0...v1.59.0\"\u003e1.59.0\u003c/a\u003e (2026-01-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSet the environment variable GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES to 'false' within BaseApiClient to disable bound token sharing. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/79ac88081ab3629f2eaab72bd004a3481affeac0\"\u003e79ac880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport 4:5 and 5:4 aspect ratio in Interactions (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1ddd9f1dfd2fecc53941dab04d5fc2f2891203e3\"\u003e1ddd9f1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerate docs for 1.58.0 (\u003ca href=\"https://github.com/googleapis/python-genai/commit/39a8b064ca5e6f2c80d313ead9ef1e0e8192a513\"\u003e39a8b06\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.58.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.57.0...v1.58.0\"\u003e1.58.0\u003c/a\u003e (2026-01-14)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/python-genai/blob/main/CHANGELOG.md\"\u003egoogle-genai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.60.0...v1.61.0\"\u003e1.61.0\u003c/a\u003e (2026-01-30)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003einclude_input\u003c/code\u003e query parameter to Get Interaction endpoint. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a0240d9cf4c817d1737cb2cf818d405addabeed8\"\u003ea0240d9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd registerFiles for you can use gcs files with mldev. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/965395b2f640a7d92a6df3d03020f4d15fe6b2fa\"\u003e965395b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport distillation tuning (\u003ca href=\"https://github.com/googleapis/python-genai/commit/9e49d71c5aa70066cb0c81c7bef9770294dbcceb\"\u003e9e49d71\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport OSS Tuning in GenAI SDK (\u003ca href=\"https://github.com/googleapis/python-genai/commit/51748a7559fb038f2cd5ce290025d6259bb61ae0\"\u003e51748a7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd metadata in batch inlined response (\u003ca href=\"https://github.com/googleapis/python-genai/commit/08c47aa1a4237daed90d86d38ccb4590c25c8ab8\"\u003e08c47aa\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.59.0...v1.60.0\"\u003e1.60.0\u003c/a\u003e (2026-01-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd ModelArmorConfig support for prompt and response sanitization via the Model Armor service (\u003ca href=\"https://github.com/googleapis/python-genai/commit/8d1091a7e8d8eef774984ff2202cb87fa674e92e\"\u003e8d1091a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate data types from discovery doc. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/42092898071f8462d307105830a72bfe48db0935\"\u003e4209289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate data types from discovery doc. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/7db2c2d5b341782ffd2ed775c4a8196971cdad72\"\u003e7db2c2d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerate docs for 1.59.0 (\u003ca href=\"https://github.com/googleapis/python-genai/commit/351e4901c7c8178a2bbb876148cbe441a77b071e\"\u003e351e490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate docs to include interactions and file_search_stores module (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a21841cad53b73a54eef322a66cebd2c42c57bea\"\u003ea21841c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.58.0...v1.59.0\"\u003e1.59.0\u003c/a\u003e (2026-01-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSet the environment variable GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES to 'false' within BaseApiClient to disable bound token sharing. (\u003ca href=\"https://github.com/googleapis/python-genai/commit/79ac88081ab3629f2eaab72bd004a3481affeac0\"\u003e79ac880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport 4:5 and 5:4 aspect ratio in Interactions (\u003ca href=\"https://github.com/googleapis/python-genai/commit/1ddd9f1dfd2fecc53941dab04d5fc2f2891203e3\"\u003e1ddd9f1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerate docs for 1.58.0 (\u003ca href=\"https://github.com/googleapis/python-genai/commit/39a8b064ca5e6f2c80d313ead9ef1e0e8192a513\"\u003e39a8b06\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.57.0...v1.58.0\"\u003e1.58.0\u003c/a\u003e (2026-01-14)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd FileSearchCallContent to Interactions (\u003ca href=\"https://github.com/googleapis/python-genai/commit/a882deab12a03d9390e2dd83243afc767e78c789\"\u003ea882dea\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd ImageConfig to GenerationConfig for image generation in Interactions (\u003ca href=\"https://github.com/googleapis/python-genai/commit/b61163f463f0b452d6fc01a5ad23ff16b65f23db\"\u003eb61163f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/26393638139a9839991c283543fef8be8c482589\"\u003e\u003ccode\u003e2639363\u003c/code\u003e\u003c/a\u003e chore(main): release 1.61.0 (\u003ca href=\"https://redirect.github.com/googleapis/python-genai/issues/1994\"\u003e#1994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/08c47aa1a4237daed90d86d38ccb4590c25c8ab8\"\u003e\u003ccode\u003e08c47aa\u003c/code\u003e\u003c/a\u003e fix: Add metadata in batch inlined response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/51748a7559fb038f2cd5ce290025d6259bb61ae0\"\u003e\u003ccode\u003e51748a7\u003c/code\u003e\u003c/a\u003e feat: Support OSS Tuning in GenAI SDK\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/63ea9992f6946f6085b968ea0fbf385fbff9ed70\"\u003e\u003ccode\u003e63ea999\u003c/code\u003e\u003c/a\u003e chore: Update pytest annotations.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/396633c24991dda1f5cd2148e4de0642e404d1ba\"\u003e\u003ccode\u003e396633c\u003c/code\u003e\u003c/a\u003e chore: Update interactions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/9e49d71c5aa70066cb0c81c7bef9770294dbcceb\"\u003e\u003ccode\u003e9e49d71\u003c/code\u003e\u003c/a\u003e feat: Support distillation tuning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/965395b2f640a7d92a6df3d03020f4d15fe6b2fa\"\u003e\u003ccode\u003e965395b\u003c/code\u003e\u003c/a\u003e feat: Add registerFiles for you can use gcs files with mldev.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/a0240d9cf4c817d1737cb2cf818d405addabeed8\"\u003e\u003ccode\u003ea0240d9\u003c/code\u003e\u003c/a\u003e feat: Add \u003ccode\u003einclude_input\u003c/code\u003e query parameter to Get Interaction endpoint.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/c880d090195d867f7befb97ac9121642f8583cda\"\u003e\u003ccode\u003ec880d09\u003c/code\u003e\u003c/a\u003e chore: Update FunctionResultContent to use TextContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/python-genai/commit/6d303e440064333d163c6df1629e7199f1bb5eb7\"\u003e\u003ccode\u003e6d303e4\u003c/code\u003e\u003c/a\u003e chore: Split InteractionEvent into InteractionStartEvent and InteractionCompl...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/python-genai/compare/v1.57.0...v1.61.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `llama-cloud-services` from 0.6.89 to 0.6.92\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/run-llama/llama_cloud_services/releases\"\u003ellama-cloud-services's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ellama-cloud-services-py@0.6.92\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e2358df1: add deprecation notices\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ellama-cloud-services-py@0.6.91\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e07ec282: Bump up patch versions for python packages\u003c/li\u003e\n\u003cli\u003e3040951: Use error description in ExtractedData invalid extraction error\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ellama-cloud-services-py@0.6.90\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e19cbb25: Remove extension filter\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_cloud_services/commit/d70fbac1ced4ff67694bdc6b8c512b7292500cbd\"\u003e\u003ccode\u003ed70fbac\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://redirect.github.com/run-llama/llama_cloud_services/issues/1103\"\u003e#1103\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_cloud_services/commit/2358df10c67308cd3af0999194c9edb2302dcd26\"\u003e\u003ccode\u003e2358df1\u003c/code\u003e\u003c/a\u003e add notice (don't merge until ready) (\u003ca href=\"https://redirect.github.com/run-llama/llama_cloud_services/issues/1065\"\u003e#1065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_cloud_services/commit/829628cc866d7607fb591e154bd7af298a7856ff\"\u003e\u003ccode\u003e829628c\u003c/code\u003e\u003c/a\u003e Use unique filenames when running dist tests (\u003ca href=\"https://redirect.github.com/run-llama/llama_cloud_services/issues/1101\"\u003e#1101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_cloud_services/commit/42b7bbd1ae7be71f5a4c44dbacbc22f81132df5f\"\u003e\u003ccode\u003e42b7bbd\u003c/code\u003e\u003c/a\u003e Use sonnet when testing premium mode in extract e2e (\u003ca href=\"https://redirect.github.com/run-llama/llama_cloud_services/issues/1098\"\u003e#1098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_cloud_services/commit/38da9a52d78a68a8781726597d5a11a7a71bf3d8\"\u003e\u003ccode\u003e38da9a5\u003c/code\u003e\u003c/a\u003e Invalidate cache when running extract tests (\u003ca href=\"https://redirect.github.com/run-llama/llama_cloud_services/issues/1097\"\u003e#1097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_cloud_services/commit/1e7ec40ee7ba2cfbe56568bd2c34dce1e53ee402\"\u003e\u003ccode\u003e1e7ec40\u003c/code\u003e\u003c/a\u003e Fix verbose logging on slack channel (\u003ca href=\"https://redirect.github.com/run-llama/llama_cloud_services/issues/1096\"\u003e#1096\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_cloud_services/commit/dd83c1a9d0c1824c6387cf541418ee09c287f34a\"\u003e\u003ccode\u003edd83c1a\u003c/code\u003e\u003c/a\u003e Add retries to all extract sdk functions uniformly (\u003ca href=\"https://redirect.github.com/run-llama/llama_cloud_services/issues/1095\"\u003e#1095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_cloud_services/commit/7cb83f5cd37ca47708029e4c838d82642dfcbab1\"\u003e\u003ccode\u003e7cb83f5\u003c/code\u003e\u003c/a\u003e Change cron schedule for hourly extract tests (\u003ca href=\"https://redirect.github.com/run-llama/llama_cloud_services/issues/1094\"\u003e#1094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_cloud_services/commit/b05266be6dbbf9a78daacc9b28559ff81f13282f\"\u003e\u003ccode\u003eb05266b\u003c/code\u003e\u003c/a\u003e Try to reparse scheduled workflow (\u003ca href=\"https://redirect.github.com/run-llama/llama_cloud_services/issues/1093\"\u003e#1093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_cloud_services/commit/eab47981653ed0882b0df637388c23ccc3cf834a\"\u003e\u003ccode\u003eeab4798\u003c/code\u003e\u003c/a\u003e Force github reparse of the workflow (\u003ca href=\"https://redirect.github.com/run-llama/llama_cloud_services/issues/1090\"\u003e#1090\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/run-llama/llama_cloud_services/compare/llama-cloud-services-py@0.6.89...llama-cloud-services-py@0.6.92\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `llama-index` from 0.14.12 to 0.14.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/run-llama/llama_index/releases\"\u003ellama-index's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.13\u003c/h2\u003e\n\u003ch1\u003eRelease Notes\u003c/h1\u003e\n\u003ch2\u003e[2026-01-21]\u003c/h2\u003e\n\u003ch3\u003ellama-index-core [0.14.13]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add early_stopping_method parameter to agent workflows (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20389\"\u003e#20389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: Add token-based code splitting support to CodeSplitter (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20438\"\u003e#20438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd RayIngestionPipeline integration for distributed data ingestion (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20443\"\u003e#20443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded the multi-modal version of the Condensed Conversation \u0026amp; Context… (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20446\"\u003e#20446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace ChatMemoryBuffer with Memory (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20458\"\u003e#20458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(bug):Raise value error on when input is empty list in mean_agg instead of returning float (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20466\"\u003e#20466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: The classmethod of ReActChatFormatter should use cls instead of the class name (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20475\"\u003e#20475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: add configurable empty response message to synthesizers (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20503\"\u003e#20503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-bedrock [0.7.3]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable use of ARNs for Bedrock Embedding Models (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20435\"\u003e#20435\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-ollama [0.8.6]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved Ollama batch embedding (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20447\"\u003e#20447\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-voyageai [0.5.3]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdding voyage-4 models (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20497\"\u003e#20497\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-ingestion-ray [0.1.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd RayIngestionPipeline integration for distributed data ingestion (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20443\"\u003e#20443\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-anthropic [0.10.6]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: enhance structured predict methods for anthropic (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20440\"\u003e#20440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: preserve input_tokens in Anthropic stream_chat responses (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20512\"\u003e#20512\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-apertis [0.1.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Apertis LLM integration with example notebook (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20436\"\u003e#20436\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-bedrock-converse [0.12.4]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(bedrock-converse): Remove extraneous thinking_delta kwarg from ChatMessage (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20455\"\u003e#20455\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-gemini [0.6.2]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate llama-index-llms-gemini (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20511\"\u003e#20511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-openai [0.6.13]\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/run-llama/llama_index/blob/main/CHANGELOG.md\"\u003ellama-index's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ellama-index-core [0.14.13]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add early_stopping_method parameter to agent workflows (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20389\"\u003e#20389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: Add token-based code splitting support to CodeSplitter (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20438\"\u003e#20438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd RayIngestionPipeline integration for distributed data ingestion (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20443\"\u003e#20443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded the multi-modal version of the Condensed Conversation \u0026amp; Context… (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20446\"\u003e#20446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace ChatMemoryBuffer with Memory (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20458\"\u003e#20458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(bug):Raise value error on when input is empty list in mean_agg instead of returning float (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20466\"\u003e#20466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: The classmethod of ReActChatFormatter should use cls instead of the class name (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20475\"\u003e#20475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: add configurable empty response message to synthesizers (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20503\"\u003e#20503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-bedrock [0.7.3]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable use of ARNs for Bedrock Embedding Models (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20435\"\u003e#20435\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-ollama [0.8.6]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved Ollama batch embedding (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20447\"\u003e#20447\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-voyageai [0.5.3]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdding voyage-4 models (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20497\"\u003e#20497\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-ingestion-ray [0.1.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd RayIngestionPipeline integration for distributed data ingestion (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20443\"\u003e#20443\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-anthropic [0.10.6]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: enhance structured predict methods for anthropic (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20440\"\u003e#20440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: preserve input_tokens in Anthropic stream_chat responses (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20512\"\u003e#20512\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-apertis [0.1.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Apertis LLM integration with example notebook (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20436\"\u003e#20436\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-bedrock-converse [0.12.4]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(bedrock-converse): Remove extraneous thinking_delta kwarg from ChatMessage (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20455\"\u003e#20455\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-gemini [0.6.2]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate llama-index-llms-gemini (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20511\"\u003e#20511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-openai [0.6.13]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSanitize OpenAI structured output JSON schema name for generic Pydantic models (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20452\"\u003e#20452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: vbump openai (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20482\"\u003e#20482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-openrouter [0.4.3]\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/run-llama/llama_index/commit/99d7e055611f0f07020f20e5f325070e056f0bbd\"\u003e\u003ccode\u003e99d7e05\u003c/code\u003e\u003c/a\u003e Release 0.14.13 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20516\"\u003e#20516\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/ca6f652335b31d48ab946d39383741ad15270207\"\u003e\u003ccode\u003eca6f652\u003c/code\u003e\u003c/a\u003e Revamp YouRetriever integration (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20493\"\u003e#20493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/788fb32a239d394725d7c57a9dc76c3c4d0563a1\"\u003e\u003ccode\u003e788fb32\u003c/code\u003e\u003c/a\u003e fix: preserve input_tokens in Anthropic stream_chat responses (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20512\"\u003e#20512\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/416fa20a09e05a47eabc22905dc680eed1c241c3\"\u003e\u003ccode\u003e416fa20\u003c/code\u003e\u003c/a\u003e chore: deprecate llama-index-llms-gemini (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20511\"\u003e#20511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/4d8775362a30777556e38202424b1664222e7b11\"\u003e\u003ccode\u003e4d87753\u003c/code\u003e\u003c/a\u003e feat(vertexaivectorsearch): add hybrid search support (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20487\"\u003e#20487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/265a5550cd85aa0caedbb46e0d01ec4cdf514571\"\u003e\u003ccode\u003e265a555\u003c/code\u003e\u003c/a\u003e feat: add configurable empty response message to synthesizers (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20503\"\u003e#20503\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/2277956bb24994342ea69759df8009370457d848\"\u003e\u003ccode\u003e2277956\u003c/code\u003e\u003c/a\u003e Adding voyage-4 models (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20497\"\u003e#20497\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/dc6e7f18a6d0570fc0fd109dba9ce157295d1b49\"\u003e\u003ccode\u003edc6e7f1\u003c/code\u003e\u003c/a\u003e docs: update NVIDIA notebooks (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20490\"\u003e#20490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/e7182dc41e3eb4ee5c667977062373ac5ebaf603\"\u003e\u003ccode\u003ee7182dc\u003c/code\u003e\u003c/a\u003e feat: Volcengine MySQL vector store integration (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20404\"\u003e#20404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/30ad263a18825af6cfaa8c734cab734b857065a7\"\u003e\u003ccode\u003e30ad263\u003c/code\u003e\u003c/a\u003e Patentsview reader api changes (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20481\"\u003e#20481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/run-llama/llama_index/compare/v0.14.12...v0.14.13\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `llama-index-core` from 0.14.12 to 0.14.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/run-llama/llama_index/releases\"\u003ellama-index-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.14.13\u003c/h2\u003e\n\u003ch1\u003eRelease Notes\u003c/h1\u003e\n\u003ch2\u003e[2026-01-21]\u003c/h2\u003e\n\u003ch3\u003ellama-index-core [0.14.13]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add early_stopping_method parameter to agent workflows (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20389\"\u003e#20389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: Add token-based code splitting support to CodeSplitter (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20438\"\u003e#20438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd RayIngestionPipeline integration for distributed data ingestion (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20443\"\u003e#20443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded the multi-modal version of the Condensed Conversation \u0026amp; Context… (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20446\"\u003e#20446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace ChatMemoryBuffer with Memory (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20458\"\u003e#20458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(bug):Raise value error on when input is empty list in mean_agg instead of returning float (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20466\"\u003e#20466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: The classmethod of ReActChatFormatter should use cls instead of the class name (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20475\"\u003e#20475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: add configurable empty response message to synthesizers (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20503\"\u003e#20503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-bedrock [0.7.3]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable use of ARNs for Bedrock Embedding Models (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20435\"\u003e#20435\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-ollama [0.8.6]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved Ollama batch embedding (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20447\"\u003e#20447\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-voyageai [0.5.3]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdding voyage-4 models (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20497\"\u003e#20497\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-ingestion-ray [0.1.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd RayIngestionPipeline integration for distributed data ingestion (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20443\"\u003e#20443\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-anthropic [0.10.6]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: enhance structured predict methods for anthropic (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20440\"\u003e#20440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: preserve input_tokens in Anthropic stream_chat responses (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20512\"\u003e#20512\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-apertis [0.1.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Apertis LLM integration with example notebook (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20436\"\u003e#20436\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-bedrock-converse [0.12.4]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(bedrock-converse): Remove extraneous thinking_delta kwarg from ChatMessage (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20455\"\u003e#20455\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-gemini [0.6.2]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate llama-index-llms-gemini (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20511\"\u003e#20511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-openai [0.6.13]\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/run-llama/llama_index/blob/main/CHANGELOG.md\"\u003ellama-index-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ellama-index-core [0.14.13]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add early_stopping_method parameter to agent workflows (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20389\"\u003e#20389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: Add token-based code splitting support to CodeSplitter (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20438\"\u003e#20438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd RayIngestionPipeline integration for distributed data ingestion (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20443\"\u003e#20443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded the multi-modal version of the Condensed Conversation \u0026amp; Context… (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20446\"\u003e#20446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace ChatMemoryBuffer with Memory (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20458\"\u003e#20458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(bug):Raise value error on when input is empty list in mean_agg instead of returning float (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20466\"\u003e#20466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: The classmethod of ReActChatFormatter should use cls instead of the class name (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20475\"\u003e#20475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: add configurable empty response message to synthesizers (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20503\"\u003e#20503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-bedrock [0.7.3]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable use of ARNs for Bedrock Embedding Models (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20435\"\u003e#20435\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-ollama [0.8.6]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved Ollama batch embedding (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20447\"\u003e#20447\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-embeddings-voyageai [0.5.3]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdding voyage-4 models (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20497\"\u003e#20497\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-ingestion-ray [0.1.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd RayIngestionPipeline integration for distributed data ingestion (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20443\"\u003e#20443\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-anthropic [0.10.6]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: enhance structured predict methods for anthropic (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20440\"\u003e#20440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: preserve input_tokens in Anthropic stream_chat responses (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20512\"\u003e#20512\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-apertis [0.1.0]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Apertis LLM integration with example notebook (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20436\"\u003e#20436\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-bedrock-converse [0.12.4]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(bedrock-converse): Remove extraneous thinking_delta kwarg from ChatMessage (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20455\"\u003e#20455\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-gemini [0.6.2]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: deprecate llama-index-llms-gemini (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20511\"\u003e#20511\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-openai [0.6.13]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSanitize OpenAI structured output JSON schema name for generic Pydantic models (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20452\"\u003e#20452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: vbump openai (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/pull/20482\"\u003e#20482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ellama-index-llms-openrouter [0.4.3]\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/run-llama/llama_index/commit/99d7e055611f0f07020f20e5f325070e056f0bbd\"\u003e\u003ccode\u003e99d7e05\u003c/code\u003e\u003c/a\u003e Release 0.14.13 (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20516\"\u003e#20516\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/ca6f652335b31d48ab946d39383741ad15270207\"\u003e\u003ccode\u003eca6f652\u003c/code\u003e\u003c/a\u003e Revamp YouRetriever integration (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20493\"\u003e#20493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/788fb32a239d394725d7c57a9dc76c3c4d0563a1\"\u003e\u003ccode\u003e788fb32\u003c/code\u003e\u003c/a\u003e fix: preserve input_tokens in Anthropic stream_chat responses (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20512\"\u003e#20512\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/416fa20a09e05a47eabc22905dc680eed1c241c3\"\u003e\u003ccode\u003e416fa20\u003c/code\u003e\u003c/a\u003e chore: deprecate llama-index-llms-gemini (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20511\"\u003e#20511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/4d8775362a30777556e38202424b1664222e7b11\"\u003e\u003ccode\u003e4d87753\u003c/code\u003e\u003c/a\u003e feat(vertexaivectorsearch): add hybrid search support (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20487\"\u003e#20487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/265a5550cd85aa0caedbb46e0d01ec4cdf514571\"\u003e\u003ccode\u003e265a555\u003c/code\u003e\u003c/a\u003e feat: add configurable empty response message to synthesizers (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20503\"\u003e#20503\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/2277956bb24994342ea69759df8009370457d848\"\u003e\u003ccode\u003e2277956\u003c/code\u003e\u003c/a\u003e Adding voyage-4 models (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20497\"\u003e#20497\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/dc6e7f18a6d0570fc0fd109dba9ce157295d1b49\"\u003e\u003ccode\u003edc6e7f1\u003c/code\u003e\u003c/a\u003e docs: update NVIDIA notebooks (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20490\"\u003e#20490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/e7182dc41e3eb4ee5c667977062373ac5ebaf603\"\u003e\u003ccode\u003ee7182dc\u003c/code\u003e\u003c/a\u003e feat: Volcengine MySQL vector store integration (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20404\"\u003e#20404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/run-llama/llama_index/commit/30ad263a18825af6cfaa8c734cab734b857065a7\"\u003e\u003ccode\u003e30ad263\u003c/code\u003e\u003c/a\u003e Patentsview reader api changes (\u003ca href=\"https://redirect.github.com/run-llama/llama_index/issues/20481\"\u003e#20481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/run-llama/llama_index/compare/v0.14.12...v0.14.13\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `llama-index-embeddings-gemini` from 0.4.1 to 0.4.2\n\nUpdates `llama-index-llms-anthropic` from 0.10.5 to 0.10.7\n\nUpdates `llama-index-llms-gemini` from 0.6.1 to 0.6.2\n\nUpdates `llama-index-llms-google-genai` from 0.8.3 to 0.8.6\n\nUpdates `llama-index-llms-huggingface-api` from 0.6.1 to 0.6.2\n\nUpdates `llama-index-llms-openai` from 0.6.13 to 0.6.17\n\nUpdates `llama-index-llms-openai-like` from 0.5.3 to 0.6.0\n\nUpdates `llama-index-workflows` from 2.12.0 to 2.13.1\n\nUpdates `llama-parse` from 0.6.89 to 0.6.92\n\nUpdates `mistralai` from 1.10.0 to 1.11.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mistralai/client-python/releases\"\u003emistralai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epython - v1.11.1 - 2026-01-28 15:51:01\u003c/h2\u003e\n\u003ch1\u003eGenerated by Speakeasy CLI\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://pypi.org/project/mistralai/1.11.1\"\u003emistralai 1.11.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ePython SDK Changes:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.agents.list_versions()\u003c/code\u003e: \u003cstrong\u003eAdded\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.agents.get_version()\u003c/code\u003e: \u003cstrong\u003eAdded\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.ocr.process()\u003c/code\u003e:  \u003ccode\u003erequest.document_annotation_prompt\u003c/code\u003e \u003cstrong\u003eAdded\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eGenerated with \u003ca href=\"https://github.com/speakeasy-api/speakeasy/releases\"\u003eSpeakeasy CLI 1.685.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePublishing Completed\u003c/p\u003e\n\u003ch2\u003epython - v1.10.1 - 2026-01-15 18:51:08\u003c/h2\u003e\n\u003ch1\u003eGenerated by Speakeasy CLI\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://pypi.org/project/mistralai/1.10.1\"\u003emistralai 1.10.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eSDK Changes Detected:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.conversations.restart()\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erequest.inputs.[array].[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eresponse.outputs.[].[message_output_entry].content.[array].[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.conversations.start()\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erequest.inputs.[array].[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eresponse.outputs.[].[message_output_entry].content.[array].[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.conversations.append()\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erequest.inputs.[array].[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eresponse.outputs.[].[message_output_entry].content.[array].[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.conversations.get_history()\u003c/code\u003e:  \u003ccode\u003eresponse.entries.[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.conversations.get_messages()\u003c/code\u003e:  \u003ccode\u003eresponse.messages.[]\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e \u003cstrong\u003eBreaking\u003c/strong\u003e :warning:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.agents.list()\u003c/code\u003e:  \u003ccode\u003erequest.metadata\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.beta.conversations.list()\u003c/code\u003e:  \u003ccode\u003erequest.metadata\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.batch.jobs.list()\u003c/code\u003e:  \u003ccode\u003eresponse.data.[].outputs\u003c/code\u003e \u003cstrong\u003eAdded\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.batch.jobs.create()\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erequest\u003c/code\u003e \u003cstrong\u003eChanged\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eresponse.outputs\u003c/code\u003e \u003cstrong\u003eAdded\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.batch.jobs.get()\u003c/code\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erequest.inline\u003c/code\u003e \u003cstrong\u003eAdded\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eresponse.outputs\u003c/code\u003e \u003cstrong\u003eAdded\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.batch.jobs.cancel()\u003c/code\u003e:  \u003ccode\u003eresponse.outputs\u003c/code\u003e \u003cstrong\u003eAdded\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.embeddings.create()\u003c/code\u003e:  \u003ccode\u003erequest.metadata\u003c/code\u003e \u003cstrong\u003eAdded\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.classifiers.moderate()\u003c/code\u003e:  \u003ccode\u003erequest.metadata\u003c/code\u003e \u003cstrong\u003eAdded\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emistral.classifiers.classify()\u003c/code\u003e:  \u003ccode\u003erequest.metadata\u003c/code\u003e \u003cstrong\u003eAdded\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eGenerated with \u003ca href=\"https://github.com/speakeasy-api/speakeasy/releases\"\u003eSpeakeasy CLI 1.606.10\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePublishing Completed\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/mistralai/client-python/blob/main/RELEASES.md\"\u003emistralai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2024-08-07 14:25:13\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cp\u003eBased on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpenAPI Doc\u003c/li\u003e\n\u003cli\u003eSpeakeasy CLI 1.356.0 (2.388.1) \u003ca href=\"https://github.com/speakeasy-api/speakeasy\"\u003ehttps://github.com/speakeasy-api/speakeasy\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eGenerated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[python v1.0.0] .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eReleases\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PyPI v1.0.0] \u003ca href=\"https://pypi.org/project/mistralai/1.0.0\"\u003ehttps://pypi.org/project/mistralai/1.0.0\u003c/a\u003e - .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2024-08-08 18:12:16\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cp\u003eBased on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpenAPI Doc\u003c/li\u003e\n\u003cli\u003eSpeakeasy CLI 1.357.4 (2.390.6) \u003ca href=\"https://github.com/speakeasy-api/speakeasy\"\u003ehttps://github.com/speakeasy-api/speakeasy\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eGenerated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[python v1.0.1] .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eReleases\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PyPI v1.0.1] \u003ca href=\"https://pypi.org/project/mistralai/1.0.1\"\u003ehttps://pypi.org/project/mistralai/1.0.1\u003c/a\u003e - .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2024-08-20 08:36:28\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cp\u003eBased on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpenAPI Doc\u003c/li\u003e\n\u003cli\u003eSpeakeasy CLI 1.376.0 (2.402.5) \u003ca href=\"https://github.com/speakeasy-api/speakeasy\"\u003ehttps://github.com/speakeasy-api/speakeasy\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eGenerated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[python v1.0.2] .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eReleases\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PyPI v1.0.2] \u003ca href=\"https://pypi.org/project/mistralai/1.0.2\"\u003ehttps://pypi.org/project/mistralai/1.0.2\u003c/a\u003e - .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2024-08-29 09:09:05\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cp\u003eBased on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpenAPI Doc\u003c/li\u003e\n\u003cli\u003eSpeakeasy CLI 1.382.0 (2.404.11) \u003ca href=\"https://github.com/speakeasy-api/speakeasy\"\u003ehttps://github.com/speakeasy-api/speakeasy\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eGenerated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[python v1.0.3] .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eReleases\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PyPI v1.0.3] \u003ca href=\"https://pypi.org/project/mistralai/1.0.3\"\u003ehttps://pypi.org/project/mistralai/1.0.3\u003c/a\u003e - .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2024-09-13 16:21:24\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cp\u003eBased on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpenAPI Doc\u003c/li\u003e\n\u003cli\u003eSpeakeasy CLI 1.396.7 (2.415.6) \u003ca href=\"https://github.com/speakeasy-api/speakeasy\"\u003ehttps://github.com/speakeasy-api/speakeasy\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eGenerated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[python v1.1.0] .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eReleases\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/mistralai/client-python/commit/b8f72871a57911c7f44dd25e89b33d5361f9a70f\"\u003e\u003ccode\u003eb8f7287\u003c/code\u003e\u003c/a\u003e ## Python SDK Changes: (\u003ca href=\"https://redirect.github.com/mistralai/client-python/issues/330\"\u003e#330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mistralai/client-python/commit/143c9e9f16d355b045a79b2e3d9277d03dccc81c\"\u003e\u003ccode\u003e143c9e9\u003c/code\u003e\u003c/a\u003e Update Speakeasy SDKs to version 1.685.0 (\u003ca href=\"https://redirect.github.com/mistralai/client-python/issues/324\"\u003e#324\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mistralai/client-python/commit/529bd4ec2a5575814b9e5b9db58915d7881aef75\"\u003e\u003ccode\u003e529bd4e\u003c/code\u003e\u003c/a\u003e Allow the publish workflow to be triggered manually (\u003ca href=\"https://redirect.github.com/mistralai/client-python/issues/331\"\u003e#331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mistralai/client-python/commit/9643a16f7d132778c740e1e0a02120f6c04d818d\"\u003e\u003ccode\u003e9643a16\u003c/code\u003e\u003c/a\u003e feat(mistral): add async batch job chat completion example (\u003ca href=\"https://redirect.github.com/mistralai/client-python/issues/329\"\u003e#329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mistralai/client-python/commit/eb85b6caa039318d9693e224d0f137bfe42dcf03\"\u003e\u003ccode\u003eeb85b6c\u003c/code\u003e\u003c/a\u003e ## SDK Changes Detected: (\u003ca href=\"https://redirect.github.com/mistralai/client-python/issues/328\"\u003e#328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mistralai/client-python/commit/798b290a0b1679c816ba0b11c8c6418550ba9164\"\u003e\u003ccode\u003e798b290\u003c/code\u003e\u003c/a\u003e Fix missing dependency of the workflow on pyright (\u003ca href=\"https://redirect.github.com/mistralai/client-python/issues/322\"\u003e#322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mistralai/client-python/commit/c5b60515ef3bd58a4846bb4062fbc90c3c5dbd9f\"\u003e\u003ccode\u003ec5b6051\u003c/code\u003e\u003c/a\u003e ## SDK Changes Detected: (\u003ca href=\"https://redirect.github.com/mistralai/client-python/issues/321\"\u003e#321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mistralai/client-python/commit/79cf7f5ffe476864fd4ef0f6a55fc6a8036e91a5\"\u003e\u003ccode\u003e79cf7f5\u003c/code\u003e\u003c/a\u003e ## SDK Changes Detected: (\u003ca href=\"https://redirect.github.com/mistralai/client-python/issues/320\"\u003e#320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mistralai/client-python/commit/9d1e7394d3ac97d7195b11b7418564be1f4dfd84\"\u003e\u003ccode\u003e9d1e739\u003c/code\u003e\u003c/a\u003e Switch the Azure and GCP SDKs to uv (\u003ca href=\"https://redirect.github.com/mistralai/client-python/issues/317\"\u003e#317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mistralai/client-python/commit/1923fe68cf991ce31766ad7f93ce4af571521f33\"\u003e\u003ccode\u003e1923fe6\u003c/code\u003e\u003c/a\u003e Fix Speakeasy targets in GitHub actions (\u003ca href=\"https://redirect.github.com/mistralai/client-python/issues/312\"\u003e#312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mistralai/client-python/compare/v1.10.0...v1.11.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai` from 2.15.0 to 2.16.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-python/releases\"\u003eopenai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.16.0\u003c/h2\u003e\n\u003ch2\u003e2.16.0 (2026-01-27)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.15.0...v2.16.0\"\u003ev2.15.0...v2.16.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/b97f9f26b9c46ca4519130e60a8bf12ad8d52bf3\"\u003eb97f9f2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api updates (\u003ca href=\"https://github.com/openai/openai-python/commit/9debcc02370f5b76a6a609ded18fbf8dea87b9cb\"\u003e9debcc0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add support for binary request streaming (\u003ca href=\"https://github.com/openai/openai-python/commit/49561d88279628bc400d1b09aa98765b67018ef1\"\u003e49561d8\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 mark assistants as deprecated (\u003ca href=\"https://github.com/openai/openai-python/commit/0419cbcbf1021131c7492321436ed01ca4337835\"\u003e0419cbc\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 upgrade \u003ccode\u003eactions/github-script\u003c/code\u003e (\u003ca href=\"https://github.com/openai/openai-python/commit/5139f13ef35e64dadc65f2ba2bab736977985769\"\u003e5139f13\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e update \u003ccode\u003eactions/checkout\u003c/code\u003e version (\u003ca href=\"https://github.com/openai/openai-python/commit/f2767144c11833070c0579063ed33918089b4617\"\u003ef276714\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eexamples:\u003c/strong\u003e update Azure Realtime sample to use v1 API (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/2829\"\u003e#2829\u003c/a\u003e) (\u003ca href=\"https://github.com/openai/openai-python/commit/3b319819544d629c5b8c206b8b1f6ec6328c6136\"\u003e3b31981\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/openai/openai-python/blob/main/CHANGELOG.md\"\u003eopenai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.16.0 (2026-01-27)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/openai/openai-python/compare/v2.15.0...v2.16.0\"\u003ev2.15.0...v2.16.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api update (\u003ca href=\"https://github.com/openai/openai-python/commit/b97f9f26b9c46ca4519130e60a8bf12ad8d52bf3\"\u003eb97f9f2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e api updates (\u003ca href=\"https://github.com/openai/openai-python/commit/9debcc02370f5b76a6a609ded18fbf8dea87b9cb\"\u003e9debcc0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add support for binary request streaming (\u003ca href=\"https://github.com/openai/openai-python/commit/49561d88279628bc400d1b09aa98765b67018ef1\"\u003e49561d8\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 mark assistants as deprecated (\u003ca href=\"https://github.com/openai/openai-python/commit/0419cbcbf1021131c7492321436ed01ca4337835\"\u003e0419cbc\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 upgrade \u003ccode\u003eactions/github-script\u003c/code\u003e (\u003ca href=\"https://github.com/openai/openai-python/commit/5139f13ef35e64dadc65f2ba2bab736977985769\"\u003e5139f13\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e update \u003ccode\u003eactions/checkout\u003c/code\u003e version (\u003ca href=\"https://github.com/openai/openai-python/commit/f2767144c11833070c0579063ed33918089b4617\"\u003ef276714\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eexamples:\u003c/strong\u003e update Azure Realtime sample to use v1 API (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/2829\"\u003e#2829\u003c/a\u003e) (\u003ca href=\"https://github.com/openai/openai-python/commit/3b319819544d629c5b8c206b8b1f6ec6328c6136\"\u003e3b31981\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/openai/openai-python/commit/dc68b90655912886bd7a6c7787f96005452ebfc9\"\u003e\u003ccode\u003edc68b90\u003c/code\u003e\u003c/a\u003e release: 2.16.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/c7f70bd7aeea59e7f4d62813a884a47d11e5b155\"\u003e\u003ccode\u003ec7f70bd\u003c/code\u003e\u003c/a\u003e fix videos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/eaab2f5c55cbc72d79439f3c114c49a0b9625ffa\"\u003e\u003ccode\u003eeaab2f5\u003c/code\u003e\u003c/a\u003e feat(api): api updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/d167d1456cd27e0448ed2cb91b8bdc576bec5b23\"\u003e\u003ccode\u003ed167d14\u003c/code\u003e\u003c/a\u003e docs(examples): update Azure Realtime sample to use v1 API (\u003ca href=\"https://redirect.github.com/openai/openai-python/issues/2829\"\u003e#2829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/8be9907031c1cad0433c0e9543693c9b64c29453\"\u003e\u003ccode\u003e8be9907\u003c/code\u003e\u003c/a\u003e fix breaking change detection with deprecations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/dc93407352ea88439c58d5bbb028e6f1b703bba4\"\u003e\u003ccode\u003edc93407\u003c/code\u003e\u003c/a\u003e fix helper\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/d499f4f8050fdd2eb69339e2881977088f622a0b\"\u003e\u003ccode\u003ed499f4f\u003c/code\u003e\u003c/a\u003e fix(api): mark assistants as deprecated\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/f424d7b336870308f29170633a779b5d4566b421\"\u003e\u003ccode\u003ef424d7b\u003c/code\u003e\u003c/a\u003e chore(ci): upgrade \u003ccode\u003eactions/github-script\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/84e0c1d0d05cd58e28245bff3a1746711dffcb2b\"\u003e\u003ccode\u003e84e0c1d\u003c/code\u003e\u003c/a\u003e Update README models to gpt-5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-python/commit/3d93d66d52d709878b9b557d0c8518f291939b0a\"\u003e\u003ccode\u003e3d93d66\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-python/compare/v2.15.0...v2.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openai-agents` from 0.6.5 to 0.7.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/openai/openai-agents-python/releases\"\u003eopenai-agents's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.7.0\u003c/h2\u003e\n\u003ch2\u003eKey Changes\u003c/h2\u003e\n\u003ch3\u003eNested handoff behavior is now opt-in\u003c/h3\u003e\n\u003cp\u003eThe nested handoffs behavior were enabled by default in v0.6.0. Now, it is now disabled by default. To enable it again, you need to set the \u003ccode\u003enest_handoff_history\u003c/code\u003e option to \u003ccode\u003eTrue\u003c/code\u003e.\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003efrom agents import Agent, MCPServerManager, RunConfig, Runner\n\u003cp\u003eagent = Agent(name=\u0026quot;My agent\u0026quot;, instructions=\u0026quot;Be creative\u0026quot;)\nresult = await Runner.run(\nagent,\ninput=\u0026quot;Hey, can you tell me something interesting about Japan?\u0026quot;,\nrun_config=RunConfig(nest_handoff_history=True),\n)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch3\u003eMCPServerManager for multiple MCP server instances\u003c/h3\u003e\n\u003cp\u003eStarting with this version, there is a new, convenient way to manage multiple MCP server instances. See \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/pull/2350\"\u003eopenai/openai-agents-python#2350\u003c/a\u003e and \u003ca href=\"https://github.com/openai/openai-agents-python/tree/main/examples/mcp/manager_example\"\u003eexamples/mcp/manager_example\u003c/a\u003e.\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003efrom contextlib import asynccontextmanager\nfrom fastapi import FastAPI\nfrom agents import Agent, Runner\nfrom agents.mcp import MCPServerManager, MCPServerStreamableHttp\n\u003cp\u003e\u003ca href=\"https://github.com/asynccontextmanager\"\u003e\u003ccode\u003e@​asynccontextmanager\u003c/code\u003e\u003c/a\u003e\nasync def lifespan(app: FastAPI):\nasync with MCPServerManager(\nservers=[\nMCPServerStreamableHttp({\u0026quot;url\u0026quot;: 'http://localhost:8001/mcp'}),\nMCPServerStreamableHttp({\u0026quot;url\u0026quot;: 'http://localhost:8002/mcp'}),\n],\nconnect_in_parallel=True,\n) as manager:\napp.state.mcp_manager = manager\nyield\u003c/p\u003e\n\u003cp\u003eapp = FastAPI(lifespan=lifespan)\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/app\"\u003e\u003ccode\u003e@​app\u003c/code\u003e\u003c/a\u003e.post(\u0026quot;/agent\u0026quot;)\nasync def run_agent(req) -\u0026gt; dict[str, object]:\nagent = Agent(\nname=\u0026quot;Test Agent\u0026quot;,\ninstructions=\u0026quot;Use the MCP tools when needed.\u0026quot;,\nmcp_servers= app.state.mcp_manager.active_servers,\n)\nresult = await Runner.run(starting_agent=agent, input=build_query(req))\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/fe969312d7f771814b8fa896e15d558b937284cb\"\u003e\u003ccode\u003efe96931\u003c/code\u003e\u003c/a\u003e Release 0.7.0 (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2339\"\u003e#2339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/dfc1f33fda2b0ecdeffc00c3ec999dd9aa8923ee\"\u003e\u003ccode\u003edfc1f33\u003c/code\u003e\u003c/a\u003e feat: add MCPServerManager for safely managing server lifecycle (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2350\"\u003e#2350\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/3acfa826be1f43bb810c25fb94c46cb9ee5e3578\"\u003e\u003ccode\u003e3acfa82\u003c/code\u003e\u003c/a\u003e docs: improve AGENTS.md structure\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/038c84e0bc75f5c56d65c2095156e8b124124ede\"\u003e\u003ccode\u003e038c84e\u003c/code\u003e\u003c/a\u003e Add WebSocket custom options to OpenAIRealtimeWebSocketModel (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2264\"\u003e#2264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/5ce91f296440adfb916305f913b0d1cc1f65fc60\"\u003e\u003ccode\u003e5ce91f2\u003c/code\u003e\u003c/a\u003e ci: improve pull request labelling logic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/fa4849cc9392b391d9e3da813b1401e7328c1c41\"\u003e\u003ccode\u003efa4849c\u003c/code\u003e\u003c/a\u003e docs: update translated document pages (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2345\"\u003e#2345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/c586f67e1a57e0ae1fce5936e4c52a4909b2d6ce\"\u003e\u003ccode\u003ec586f67\u003c/code\u003e\u003c/a\u003e ci: improve the efficiency of test jobs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/7875044dbf68164ee651f4db4d5232b6263939b6\"\u003e\u003ccode\u003e7875044\u003c/code\u003e\u003c/a\u003e ci: fix pr-labels job logic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/bd33a5258d3063cf14bfeed5a2c631fd1d3ca0f9\"\u003e\u003ccode\u003ebd33a52\u003c/code\u003e\u003c/a\u003e docs: \u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2343\"\u003e#2343\u003c/a\u003e clarify how to use compaction in practice (\u003ca href=\"https://redirect.github.com/openai/openai-agents-python/issues/2344\"\u003e#2344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/openai/openai-agents-python/commit/34ba1d0293f8cd8dfdbc136eb4e0cc8ffc9400b4\"\u003e\u003ccode\u003e34ba1d0\u003c/code\u003e\u003c/a\u003e chore(deps): bump astral-sh/setup-uv from e58605a9b6da7c637471fab8847a5e5a6b8...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/openai/openai-agents-python/compare/v0.6.5...v0.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `chromadb` from 1.4.0 to 1.4.1\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.4.1\u003c/h2\u003e\n\u003cp\u003eVersion: \u003ccode\u003e1.4.1\u003c/code\u003e\nGit ref: \u003ccode\u003erefs/tags/1.4.1\u003c/code\u003e\nBuild Date: \u003ccode\u003e2026-01-14T19:19\u003c/code\u003e\nPIP Package: \u003ccode\u003echroma-1.4.1.tar.gz\u003c/code\u003e\nGithub Container Registry Image: \u003ccode\u003e:1.4.1\u003c/code\u003e\nDockerHub Image: \u003ccode\u003e:1.4.1\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[ENH]: Sysdb + migration service connect to real spanner in gcp 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/6084\"\u003echroma-core/chroma#6084\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CHORE]: Update google cloud spanner dependency + update rust version 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/6086\"\u003echroma-core/chroma#6086\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CHORE]: Remove unstable feature 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/6087\"\u003echroma-core/chroma#6087\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG]: Scorecard before stateful quotas 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/6089\"\u003echroma-core/chroma#6089\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: e2e tenant and database operations in rust sysdb 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/6088\"\u003echroma-core/chroma#6088\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH] Drop block ref when copy to end 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/6101\"\u003echroma-core/chroma#6101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH]: Make hashes in spanner migrations rolling 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/6097\"\u003echroma-core/chroma#6097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CHORE] move spanner-migrations to rust/ top level 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/6085\"\u003echroma-core/chroma#6085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BUG] await auth on delete_database in single-node Chroma 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/6106\"\u003echroma-core/chroma#6106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[ENH][spanner-migrations]: add clap CLI and support for ...\n\n_Description has been truncated_","html_url":"https://github.com/DylanLRPollock/Monkey-Head-Project/pull/457","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/DylanLRPollock%2FMonkey-Head-Project/issues/457","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/457/packages"}}]}