Skip to content

chore(deps): bump rmcp from 2.2.0 to 3.2.0 - #5877

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/rmcp-3.2.0
Closed

chore(deps): bump rmcp from 2.2.0 to 3.2.0#5877
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/rmcp-3.2.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 4, 2026

Copy link
Copy Markdown
Contributor

Bumps rmcp from 2.2.0 to 3.2.0.

Release notes

Sourced from rmcp's releases.

rmcp-macros-v3.2.0

Added

  • add request-state key rotation (#1128)

Fixed

  • allow concurrent streamable http requests (#1186)

rmcp-v3.2.0

Added

  • (auth) coordinate OAuth refreshes through credential stores (#1232)
  • add request-state key rotation (#1128)

Fixed

  • keep initialize on legacy protocol versions (#1228)
  • (transport) fall back after sessionless HTTP discover rejections (#1211)
  • allow concurrent streamable http requests (#1186)

rmcp-macros-v3.1.4

Fixed

  • time out auto discovery probe (#1149)

rmcp-v3.1.4

Fixed

  • (rmcp) preserve elicitation requestedSchema $schema dialect (#1176)
  • harden signing key handling (#1166)
  • report pre-init metadata errors (#1160)

rmcp-macros-v3.1.3

Fixed

  • time out auto discovery probe (#1149)

rmcp-v3.1.3

Fixed

  • (auth) ignore query parameters when matching resources (#1177)
  • (auth) retain state until issuer validation (#1167)
  • (model) preserve elicitation property order metadata (#1150)
  • time out auto discovery probe (#1149)
  • (client) classify discover outcome at source, not at the error type (#1133)

Other

  • Fix typo in to_authorized_http_client doc comment (#1158)

... (truncated)

Commits

Dependabot compatibility score

Dependabot 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.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @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)
  • @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)
  • @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)

Bumps [rmcp](https://github.com/modelcontextprotocol/rust-sdk) from 2.2.0 to 3.2.0.
- [Release notes](https://github.com/modelcontextprotocol/rust-sdk/releases)
- [Changelog](https://github.com/modelcontextprotocol/rust-sdk/blob/main/release-plz.toml)
- [Commits](modelcontextprotocol/rust-sdk@rmcp-v2.2.0...rmcp-v3.2.0)

---
updated-dependencies:
- dependency-name: rmcp
  dependency-version: 3.2.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Sep 4, 2026
@dependabot
dependabot Bot requested a review from Hmbown as a code owner September 4, 2026 21:16
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Sep 4, 2026
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Thanks @dependabot[bot] for taking the time to contribute.

This repository is observing a maintainer-managed PR intake gate in dry-run mode, so this pull request is staying open. This note helps maintainers prepare the allowlist before any enforcement is considered.

Please read CONTRIBUTING.md for the expected contribution shape. A maintainer can grant recurring PR access by commenting /lgtm on a pull request.

@Hmbown

Hmbown commented Sep 6, 2026

Copy link
Copy Markdown
Owner

Superseded by #5924, which lands rmcp 3.2.0 together with the OAuth transport port the bump needed (issuer validation on discovery, the split refresh error variants, and the renamed discovery/authorization APIs). Thanks Dependabot.

@Hmbown Hmbown closed this Sep 6, 2026
@dependabot @github

dependabot Bot commented on behalf of github Sep 6, 2026

Copy link
Copy Markdown
Contributor Author

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot
dependabot Bot deleted the dependabot/cargo/rmcp-3.2.0 branch September 6, 2026 09:36
yermakoffivan pushed a commit to yermakoffivan/CodeWhale that referenced this pull request Sep 6, 2026
Supersedes the red Dependabot PR Hmbown#5877. rmcp 3.2 reshaped
`transport::auth`; this ports our client and the in-process OAuth mock
to the new contract without changing any product guarantee.

What changed in rmcp, and what we adapted to:

1. `AuthorizationManager::discover_metadata()` is now
   `resolve_metadata()`, returning `AuthorizationMetadataResolution
   { metadata, source }`. The discovery order (RFC 9728 protected
   resource metadata, then RFC 8414 / OIDC, then legacy synthesized
   endpoints) and the legacy fallback are unchanged, so the two call
   sites just take `.metadata`.

2. `OAuthState::start_authorization(scopes, redirect_uri, client_name)`
   is now a single `AuthorizationRequest` builder. It also introduces a
   client-identity priority order (pre-registered client ID, then a
   Client ID Metadata Document, then Dynamic Client Registration); we
   supply neither of the first two, so we still land on DCR exactly as
   before. Empty scopes now mean "let the SDK select from the
   WWW-Authenticate challenge / PRM / AS metadata" rather than "request
   none" — strictly better, and our explicit scopes still win.

3. Discovery now validates the `issuer` in the fetched authorization
   server metadata against the discovery URL (RFC 8414 / OIDC) and
   fails with `AuthError::AuthorizationServerMismatch` instead of
   silently accepting it. Our in-process mock answered *every*
   `/.well-known/oauth-authorization-server*` path with one document
   whose `issuer` is the origin root, including rmcp's first candidate
   `/.well-known/oauth-authorization-server/mcp`, whose issuer must be
   `<origin>/mcp`. The mock now answers only the canonical path, which
   is what a real authorization server at the origin root does. That is
   a conformance fix to a test double, not a product behavior change:
   every assertion in the eight tests is untouched.

4. `AuthError` split the refresh outcomes: `TokenRefreshFailed` is now
   the retryable case and the new `TokenRefreshRejected` carries a
   definitive `invalid_grant`; separately, `refresh_token()` returns
   `AuthError::AuthorizationRequired` where 2.2 returned
   `TokenRefreshFailed("No refresh token available")`. The
   `invalid_grant` text still reaches us intact, so the dead-grant
   guarantees hold unchanged, but "OAuth authorization required" — a
   credential with no usable grant left — was classified as a plain
   transport failure on every surface. `error_text_looks_auth_required`
   now matches rmcp's full phrase, so that case flips the server to
   `auth required` and offers the login tool like every other
   unrecoverable credential.

Not adapted because nothing depended on it: `StoredCredentials` gained
an `issuer` field and `initialize_from_store` now discards tokens when
the authorization server changes; `CredentialStore` gained an optional
`acquire_refresh_guard`; the RFC 8707 `resource` parameter on refreshes
now prefers the discovered PRM resource indicator and falls back to the
base URL, which is what 2.2 always sent. We keep our own credential
store, so rmcp's in-memory default is untouched by any of these.

Verified locally:
  cargo fmt                                                      clean
  cargo check -p codewhale-tui                                   clean
  RUST_MIN_STACK=16777216 cargo test -p codewhale-tui --lib -- mcp::
      230 passed; 0 failed; 1 ignored   (was 222 passed; 8 failed)
  RUST_MIN_STACK=16777216 cargo test -p codewhale-tui --lib
      11717 passed; 0 failed; 13 ignored

Two earlier full-suite runs each tripped one different pre-existing
parallel-execution flake in a module this change does not touch
(`model_inventory::...ollama_default_prefers_live_local_tags...`, then
`remote_control::...distinct_recovery_turn_ids`); both pass alone and
the run above is clean.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0188XYyJaw9Mh9uSrqQBoqhm
Signed-off-by: CodeWhale Bot <bot@codewhale.net>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant