Skip to content

Implement SEP-2577: Deprecate Roots, Sampling, and Logging #2195

Closed

Description

@felixweinberger

This is a tracking issue for implementation of SEP-2577.

Activity

  1. mattzcarey commented on May 29, 2026

    @mattzcarey
    Member

    Status — SEP-2577 (Deprecate Roots, Sampling, Logging)

    Track: C — independent, starts now. Pure deprecation, no wire change.
    Spec: seps/2577-deprecate-roots-sampling-and-logging.md · merged 2026-05-15

    What's done

    Outstanding (acceptance criteria, summary)

    • R-2577-4 (sdk): Deprecated types carry @deprecated JSDoc (e.g. LoggingLevel, LoggingMessageNotification, CreateMessageRequest/Result, ListRootsRequest/Result)
    • R-2577-5 (sdk): Union types unmodified — deprecated members STAY in ServerNotification/ClientRequest etc.
    • R-2577-6 (wire): Deprecated capabilities MUST still be handled correctly (handle-but-warn) — top-level roots:{} still works, warning logged
    • R-2577-8 (sdk): Clients and servers that still support the deprecated features SHOULD continue to declare the matching top-level capabilities during the deprecation window — i.e. SDK doesn't drop the capability advertisement just because it's deprecated
    • R-2577-7 (guidance): 1-year removal floor for deprecated items
    • R-2577-9 (guidance): New implementations SHOULD NOT add support for deprecated features unless needed for BC

    Suggested phasing

    1. Now: revive docs: @deprecated roots/sampling/logging (advisory; SEP-2577) #2071 against current main — pure JSDoc + a per-call warning (rate-limited / once-per-process) when a deprecated handler is registered or invoked.
    2. Update the v1 → v2 migration guide (and README) with the migration suggestions from the changelog:
    3. Add a doc check: README enumerates which features are deprecated, with timeline.

    Related

    • SEP-2596 (merged) is the deprecation policy (12-month minimum window). Process-only — no SDK code change. Doesn't need its own issue, but worth referencing in the docs PR.
    • HTTP+SSE transport is independently reclassified Deprecated by SEP-2596 (already deprecated in spec since 2025-03-26); no new SDK action.

    Coordination

    • No dependencies. Independent.
  2. self-assigned this
    on May 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions