Skip to content

fix(deps): update third party deps (major) - #6268

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/major-third-party-deps
Open

fix(deps): update third party deps (major)#6268
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/major-third-party-deps

Conversation

@renovate

@renovate renovate Bot commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
mcp >=1.24.0, <2 β†’ >=2, <3 age confidence
openai >=2,<3 β†’ >=3,<4 age confidence
websockets (changelog) >=14.0,<16.0 β†’ >=17,<17.1 age confidence

Release Notes

modelcontextprotocol/python-sdk (mcp)

v2.0.0

Compare Source

MCP Python SDK v2 Stable Release

This is v2.0.0, the stable v2 release of the MCP Python SDK. It supports the 2026-07-28 revision of the Model Context Protocol and serves every earlier revision from the same server. pip install mcp now installs 2.x.

pip install "mcp[cli]"

# or
uv add "mcp[cli]"
Documentation Rewrite

The documentation has the full tutorial and API reference. Coming from v1? What's new in v2 is the tour of what changed and why, and the migration guide lists every breaking change with before-and-after code.

V1 Maintenance mode

v1.x is in maintenance mode and will only receive security fixes from now on The 1.x line lives on the v1.x branch, continues to receive critical bug fixes and security patches, and is documented at https://py.sdk.modelcontextprotocol.io/v1/. If your project is not ready to migrate, keep a <2 upper bound on your requirement (for example mcp>=1.28,<2).

Highlights

One SDK, both protocol eras

v2 speaks the 2026-07-28 revision (stateless requests with no handshake, server/discover, subscriptions/listen, multi-round-trip requests) and still serves every 2025-era client from the same MCPServer, over Streamable HTTP and stdio, with nothing to configure. Client(target) negotiates the version automatically.

FastMCP is now MCPServer, and there is a first-class Client

The decorator API is unchanged; the low-level Server is rebuilt around a shared dispatcher engine, and one Client object replaces v1's transport-plus-ClientSession-plus-initialize() layering. It connects to a URL, a stdio subprocess, a custom transport, or straight to a server object in memory for tests.

Multi-round-trip requests and resolver dependency injection

At 2026-07-28 the server can no longer call the client, so tools return the question instead. A Resolve(fn) parameter is filled by your function invisibly to the model and can put a question to the user; one tool body serves both eras.

Extension APIs, OpenTelemetry, and a standalone types package

Servers and clients compose protocol extensions through pluggable extension APIs (MCP Apps built in); OpenTelemetry tracing ships on by default; every protocol type is its own package, mcp-types (imported as mcp_types), published in lock-step with mcp.

Hardened stdio and auth

stdio servers keep handler subprocesses and stray prints off the wire, and stdout is diverted to stderr while serving. OAuth adds RFC 9207 issuer validation, the SEP-990 identity-assertion flow, and the client-credentials extension.

Coming from a v2 pre-release

Since the last release candidate: the per-version wire packages are private (mcp_types._v*), mcp.types is a permanent alias for mcp_types, the auth registration request model is split from the registered-client record, cancelled requests are no longer answered, and log notifications are gated on the per-request log-level opt-in at 2026-07-28. Since the betas: Client(cache=False) is now cache=None with CacheConfig() the default; Context.client_id, RFC7523OAuthClientProvider, and OAuthClientProvider(timeout=) are removed; the client-credentials providers take scope=; message_handler receives notifications and exceptions only; FileResource(is_binary=) becomes encoding; MCP_* env vars are gone with pydantic-settings; Streamable HTTP servers reject bodies over 4 MiB with HTTP 413. The migration guide covers all of it.

Known gaps

The tasks extension (SEP-2663) is not part of this release. On the client, the DPoP proof binding (SEP-1932) and the workload-identity jwt-bearer grant are not implemented; both are additive and can land in 2.x.

Feedback

Something rough, confusing, or broken? Open an issue or find us in #python-sdk-dev on the MCP Contributors Discord.

Full Changelog: modelcontextprotocol/python-sdk@v2.0.0rc1...v2.0.0

v1.29.1

Compare Source

What's Changed

Full Changelog: modelcontextprotocol/python-sdk@v1.29.0...v1.29.1

v1.29.0

Compare Source

What's Changed

Full Changelog: modelcontextprotocol/python-sdk@v1.28.1...v1.29.0

openai/openai-python (openai)

v3.1.0

Compare Source

Features
Chores

v3.0.0

Compare Source

⚠ BREAKING CHANGES
  • api: HTTPX2 is now the default HTTP client, and httpx is no longer installed automatically. Applications using custom HTTPX clients, transports, or configuration objects must migrate to their HTTPX2 equivalents or use the temporary, runtime-only legacy HTTPX escape hatch. See the HTTPX2 migration guide.
Features

v2.54.0

Compare Source

Features
Bug Fixes
Chores
python-websockets/websockets (websockets)

v17.0.1

Compare Source

See https://websockets.readthedocs.io/en/stable/project/changelog.html for details.

v17.0

Compare Source

See https://websockets.readthedocs.io/en/stable/project/changelog.html for details.

v16.1.1

Compare Source

See https://websockets.readthedocs.io/en/stable/project/changelog.html for details.

v16.1

Compare Source

See https://websockets.readthedocs.io/en/stable/project/changelog.html for details.

v16.0

Compare Source

See https://websockets.readthedocs.io/en/stable/project/changelog.html for details.


Configuration

πŸ“… Schedule: (UTC)

  • Branch creation
    • "before 9am on monday"
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

πŸ‘» Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot requested a review from a team as a code owner June 29, 2026 01:10
@renovate

renovate Bot commented Jun 29, 2026

Copy link
Copy Markdown
Contributor Author

⚠️ Artifact update problem

Renovate failed to update artifacts related to this branch. You probably do not want to merge this PR as-is.

β™» Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: uv.lock
Command failed: uv lock --upgrade-package mcp --upgrade-package openai
Using CPython 3.14.7 interpreter at: /opt/containerbase/tools/python/3.14.7/bin/python3
  Γ— No solution found when resolving dependencies for split (markers:
  β”‚ python_full_version == '3.14.*' and sys_platform == 'win32'):
  ╰─▢ Because openai[realtime]>=3.0.0 depends on websockets>=13,<16 and
      openai[realtime]>=3.1.0 depends on websockets>=13,<16, we can conclude
      that openai[realtime]>=3.0.0,<=3.1.0 depends on websockets>=13,<16.
      And because openai[realtime]>=3.2.0 depends on websockets>=13,<16 and
      openai[realtime]>=3.3.0 depends on websockets>=13,<16, we can conclude
      that openai[realtime]>=3.0.0,<=3.3.0 depends on websockets>=13,<16.
      And because openai[realtime]>=3.3.1 depends on websockets>=13,<16 and
      openai[realtime]>=3.4.0 depends on websockets>=13,<16, we can conclude
      that openai[realtime]>=3.0.0,<=3.4.0 depends on websockets>=13,<16.
      And because openai[realtime]>=3.5.0 depends on websockets>=13,<16 and
      openai[realtime]>=3.6.0 depends on websockets>=13,<16, we can conclude
      that all of:
          openai<2.50.0
          openai>2.54.0
      , all of:
          websockets<13
          websockets>=16
      , openai[realtime]>=2.50.0 are incompatible.
      And because livekit-plugins-openai depends on openai[realtime]>=2.50
      and livekit-agents depends on openai>=3, we can conclude that
      livekit-plugins-openai, all of:
          websockets<13
          websockets>=16
      , livekit-agents[anam] are incompatible.
      And because livekit-plugins-gnani depends on websockets>=17,<17.1
      and your workspace requires livekit-agents[anam], we can conclude
      that your workspace's requirements, livekit-plugins-gnani,
      livekit-plugins-openai[vertex] are incompatible.
      And because your workspace requires livekit-plugins-gnani and
      livekit-plugins-openai[vertex], we can conclude that your workspace's
      requirements are unsatisfiable.

hint: The resolution failed for an environment that is not the current one, consider limiting the environments with `tool.uv.environments`.

File name: uv.lock
Command failed: uv lock --upgrade-package websockets
Using CPython 3.14.7 interpreter at: /opt/containerbase/tools/python/3.14.7/bin/python3
  Γ— No solution found when resolving dependencies for split (markers:
  β”‚ python_full_version == '3.14.*' and sys_platform == 'win32'):
  ╰─▢ Because openai[realtime]>=3.0.0 depends on websockets>=13,<16 and
      openai[realtime]>=3.1.0 depends on websockets>=13,<16, we can conclude
      that openai[realtime]>=3.0.0,<=3.1.0 depends on websockets>=13,<16.
      And because openai[realtime]>=3.2.0 depends on websockets>=13,<16 and
      openai[realtime]>=3.3.0 depends on websockets>=13,<16, we can conclude
      that openai[realtime]>=3.0.0,<=3.3.0 depends on websockets>=13,<16.
      And because openai[realtime]>=3.3.1 depends on websockets>=13,<16 and
      openai[realtime]>=3.4.0 depends on websockets>=13,<16, we can conclude
      that openai[realtime]>=3.0.0,<=3.4.0 depends on websockets>=13,<16.
      And because openai[realtime]>=3.5.0 depends on websockets>=13,<16 and
      openai[realtime]>=3.6.0 depends on websockets>=13,<16, we can conclude
      that all of:
          openai<2.50.0
          openai>2.52.1,<2.54.0
          openai>2.54.0
      , all of:
          websockets<13
          websockets>=16
      , all of:
          openai[realtime]>=2.50.0,<=2.52.1
          openai[realtime]>=2.54.0
       are incompatible.
      And because livekit-plugins-openai depends on openai[realtime]>=2.50
      and livekit-agents depends on openai>=3, we can conclude that
      livekit-plugins-openai, all of:
          websockets<13
          websockets>=16
      , livekit-agents[anam] are incompatible.
      And because livekit-plugins-gnani depends on websockets>=17,<17.1
      and your workspace requires livekit-agents[anam], we can conclude
      that your workspace's requirements, livekit-plugins-gnani,
      livekit-plugins-openai[vertex] are incompatible.
      And because your workspace requires livekit-plugins-gnani and
      livekit-plugins-openai[vertex], we can conclude that your workspace's
      requirements are unsatisfiable.

hint: The resolution failed for an environment that is not the current one, consider limiting the environments with `tool.uv.environments`.

devin-ai-integration[bot]

This comment was marked as resolved.

@renovate renovate Bot changed the title fix(deps): update dependency websockets to v16 Update dependency websockets to v16 Jul 7, 2026
@renovate renovate Bot changed the title Update dependency websockets to v16 fix(deps): update dependency websockets to v16 Jul 7, 2026
@renovate
renovate Bot force-pushed the renovate/major-third-party-deps branch from 028d78b to a38489b Compare July 9, 2026 19:12
devin-ai-integration[bot]

This comment was marked as resolved.

@renovate
renovate Bot force-pushed the renovate/major-third-party-deps branch 4 times, most recently from d134a54 to dbc0e47 Compare July 24, 2026 09:16
@renovate
renovate Bot force-pushed the renovate/major-third-party-deps branch 2 times, most recently from 310b3b3 to 4acc2c8 Compare July 30, 2026 17:04
devin-ai-integration[bot]

This comment was marked as resolved.

@renovate
renovate Bot force-pushed the renovate/major-third-party-deps branch 3 times, most recently from 84e8897 to bead794 Compare August 7, 2026 22:34
@renovate
renovate Bot force-pushed the renovate/major-third-party-deps branch 2 times, most recently from dbe5b34 to 938506c Compare August 11, 2026 14:33
@renovate renovate Bot changed the title fix(deps): update dependency websockets to v16 fix(deps): update third party deps (major) Aug 11, 2026

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 new potential issue.

View 1 additional finding in Devin Review.

Open in Devin Review


[project.optional-dependencies]
mcp = ["mcp>=1.24.0, <2"]
mcp = ["mcp>=2, <3"]

@devin-ai-integration devin-ai-integration Bot Aug 11, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

πŸ”΄ Default MCP requests crash on timeout

ClientSession now accepts timeout seconds as a float, but MCPServer passes a timedelta. Every default tool request raises TypeError.

Devin Review

Was this helpful? React with πŸ‘ or πŸ‘Ž to provide feedback.

@renovate
renovate Bot force-pushed the renovate/major-third-party-deps branch 3 times, most recently from 2fcc078 to 3a0312a Compare August 14, 2026 11:31
devin-ai-integration[bot]

This comment was marked as resolved.

@renovate
renovate Bot force-pushed the renovate/major-third-party-deps branch 3 times, most recently from 6a364ec to 7e677e3 Compare August 26, 2026 03:12
devin-ai-integration[bot]

This comment was marked as resolved.

@renovate
renovate Bot force-pushed the renovate/major-third-party-deps branch from 7e677e3 to fee9e00 Compare August 26, 2026 11:55
@renovate
renovate Bot force-pushed the renovate/major-third-party-deps branch 2 times, most recently from 0c036c4 to 52b66e0 Compare August 29, 2026 02:44

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note

This report is out of date. Scroll down for Devin Review's latest report on this PR.

Devin Review found 1 new potential issue.

1 flag not posted on this PR by your GitHub settings β€” view it in Devin Review. (Configure)

Devin Review

"opentelemetry-exporter-otlp>=1.39.0,<1.45",
"prometheus-client>=0.22",
"openai>=2,<3",
"openai>=3,<4",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

πŸ”΄ Fresh installations cannot import Agents

Fresh installations no longer receive httpx, although package initialization imports it unconditionally. Importing livekit.agents raises ModuleNotFoundError before any agent can start.

Prompt for agents
OpenAI 3 replaced its httpx dependency with httpx2, while livekit-agents/livekit/agents/inference/llm.py still imports legacy httpx and constructs an httpx.AsyncClient. A clean installation therefore contains httpx2 but not httpx, and importing livekit.agents fails because inference is imported eagerly. Restore a declared HTTP client dependency as an immediate compatibility fix, or migrate the inference client and every OpenAI-facing client that depends on this transitive package to httpx2. Verify the result in an isolated environment containing only the package's declared dependencies.
Devin Review

Was this helpful? React with πŸ‘ or πŸ‘Ž to provide feedback.

@renovate
renovate Bot force-pushed the renovate/major-third-party-deps branch from 52b66e0 to 4d7172c Compare August 30, 2026 00:44
Generated by renovateBot
@renovate
renovate Bot force-pushed the renovate/major-third-party-deps branch from 4d7172c to 198e515 Compare August 30, 2026 05:05

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 2 new potential issues.

3 flags not posted on this PR by your GitHub settings β€” view them in Devin Review. (Configure)

Devin Review

dependencies = [
"livekit-agents[codecs]>=1.7.1",
"websockets>=14.0,<16.0",
"websockets>=17,<17.1",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟑 Python 3.10 installations fail

On Python 3.10, websockets>=17 has no compatible release. Installing this plugin fails despite its declared Python 3.10 support.

Prompt for agents
Restore installability on Python 3.10, which this package and the repository explicitly support. websockets 17.0 and 17.0.1 both declare Python >=3.11. Either retain a websockets range that supports Python 3.10 or split the dependency by Python version while ensuring the Gnani WebSocket code works with each selected release. Do not raise this plugin's minimum Python version unless repository-wide Python 3.10 support is intentionally removed.
Devin Review

Was this helpful? React with πŸ‘ or πŸ‘Ž to provide feedback.

dependencies = [
"livekit-agents[codecs]>=1.7.1",
"websockets>=14.0,<16.0",
"websockets>=17,<17.1",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟑 Locked installs retain old WebSockets

With uv sync --frozen, the unchanged lock still installs WebSockets 15.0.1. Locked environments never receive the declared major upgrade.

Prompt for agents
Regenerate uv.lock after finalizing the Gnani plugin's compatible websockets constraint. The lock metadata still records >=14.0,<16.0 and resolves websockets 15.0.1, so frozen synchronization does not apply this manifest change.
Devin Review

Was this helpful? React with πŸ‘ or πŸ‘Ž to provide feedback.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants