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 changev2Issues and PRs for v2

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions