Skip to content

Merge v2/main into main for the v2.2.0 milestone release #1992

Description

@cliffhall

The second v2/mainmain milestone merge, cutting 2.2.0.

main currently holds 2.1.0 (merged via #1903 / #1876). Since then v2/main has accumulated 27 merged PRs (91 non-merge commits) spanning the v2.2.0 and v2.3.0 milestone work that has already closed.

Scope

  1. Branch from main, merge origin/v2/main (verified locally: clean, zero conflicts).
  2. Bump the root package.json 2.1.0 → 2.2.0 (--no-git-tag-version; the clients/* packages carry no version).
  3. Open a PR against main, run npm run ci green on the merged tree.
  4. After merge: draft a GitHub Release for tag 2.2.0 targeting main — publishing runs pack:verify, asserts the tag matches package.json, and publishes the latest dist-tag.

Version note

main is at 2.1.0 and the v2.2.0 milestone has not shipped, so this release takes the next sequential number, 2.2.0, rather than 2.3.0 — even though the payload also contains v2.3.0 work that landed early (#1988, #1956).

The five issues still open on the v2.2.0 milestone (#1973, #1942, #1941, #1940, #1939 — the Windows/flake cluster) are not in this payload and should be moved to a later milestone as part of closing it out.

Payload highlights

Group PRs
Packaging / install correctness #1934 (ship clients/web/static, #1859), #1983 (bundle React-rendering TUI deps, #1952), #1971 (root-only MCP SDK deps, #1970), #1962 (zod lockstep)
SDK #1989 (MCP TypeScript SDK 2.0.0-beta.5 → 2.0.0)
Protocol / runtime fixes #1963 (forward Mcp-Protocol-Version through the proxy), #1967 (modern listen stream), #1946 (Firefox SSE hang), #1975 (structuredContent in Tools), #1961 (duplicate tool names), #1972 (number-field typing), #1954 (surface list-fetch errors)
Secrets / keychain #1945, #1948 (degrade instead of crash on unsupported platforms)
Test stability #1986 (leaked Mantine timers), #1987 (dead-session race), #1958, #1978 (throwaway smoke catalog)
Docker #1974 (loopback by default, writable mounted state dir)
CI / tooling #1966 (pin actions, gate claude.yml), #1976, #1968
Docs #1960 (v1 → v2 migration guide), #1981 (roadmap), #1982 (DCO), #1932 (triage rules)

Metadata

Metadata

Assignees

Labels

choreMaintenance: deps, build tooling, CI, cleanup — no user-facing behavior changemanual-stepFor issues requiring a manual step. They may or may not require an associated PR.v2Issues and PRs for v2

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions