Skip to content

Phase 4: drop /v1/bundles GET endpoints (≥6 months after deprecation headers) #103

@mgoldsborough

Description

@mgoldsborough

Final cleanup. Once Phase 2 (#101) and Phase 3 (#102) are complete and the deprecation window has elapsed (≥6 months from the date Deprecation: true headers shipped, per the spec), remove the legacy /v1/bundles/... GET routes.

What gets removed

apps/registry/src/routes/v1/bundles.ts GET handlers:

  • GET /v1/bundles/search
  • GET /v1/bundles/@:scope/:package
  • GET /v1/bundles/@:scope/:package/versions
  • GET /v1/bundles/@:scope/:package/versions/:version
  • GET /v1/bundles/@:scope/:package/versions/:version/download
  • GET /v1/bundles/@:scope/:package/index.json

The deprecation headers + onSend hook in apps/registry/src/index.ts go with them.

What stays

  • POST /v1/bundles/announce — the OIDC publish path. Still inbound, not deprecated by this work. May be renamed to /v1/servers/announce in a separate cleanup, but not blocked on this issue.
  • GET /v1/skills/... — unrelated, separate deprecation lifecycle.
  • Legacy repository methods (findPackagesWithServerJson, findPackageWithServerJsonByName) — already removed in feat(registry): compose ServerDetail from manifest, mount /v1/servers #100 follow-up cleanup if they're dead by then.

Sequencing checklist before scheduling the removal

Definition of done

  • Legacy GET handlers + onSend deprecation hook removed
  • OpenAPI / Swagger no longer advertises the routes
  • Integration tests covering the legacy routes deleted
  • Migration guide in apps/docs updated to mark the deprecation window closed

Blocked by

Metadata

Metadata

Assignees

No one assigned

    Labels

    pkg/registryRegistry API serverrefactorCode restructuring without behavior changes

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions