Changelog
What's changed in Switchy. Newest first. v2.0.0 marks the pivot from solo-Switchy to the shared AI workspace; v1.x history lives in the old changelog.
v2.0.0-wave-10Docs, SDKs & OpenAPI
The docs were rewritten from scratch around the new product. New IA, a 4-step quickstart, seven topical guides, an OpenAPI 3.1 spec, and an auto-rendered API reference. SDKs jump to v0.3.0 with org-scoped namespaces. A 2-minute walkthrough video lands on the landing page once recorded.
- New /docs with sidebar nav: concepts → quickstart → guides → API reference → MCP reference → changelog.
- Quickstart in 4 linear steps under 5 minutes: sign up, create a Space, invite a teammate, try in Claude Desktop.
- Seven guides: multiplayer chat, memory best practices, GitHub, Notion, custom MCP, team billing, migrating from v1.
- OpenAPI 3.1 spec at /api/openapi.json (21 paths, 11 schemas). Auto-rendered reference at /docs/api/overview with method badges, request bodies, response codes, and cURL samples per operation.
- SDKs v0.3.0 —
npm install @switchy-ai/sdk·pip install switchy-sdk. Org-scoped namespaces (spaces,sessions,messages,memory,members,invitations,billing,mcp,keys), typed errors, idempotency keys, optional Ably realtime, sync + async Python with pydantic v2 models. Migration tables in both READMEs. - Docs link checker (
scripts/check-docs-links.mjs) now runs in CI as a hard gate. 88 internal links currently resolve. - Tag-gated SDK publishing —
git tag sdk-js-v0.3.0/sdk-py-v0.3.0triggers npm + PyPI workflows. Pre-publish guards verify the tag matches the package version and run the test suite. - Landing-page walkthrough video scaffold ships with a placeholder; see
docs/video-script.mdfor the take-list.
Start at the docs index.
v2.0.0-wave-9External MCP integrations
Switchy can now reach OUT to MCP servers, not just BE one. Connect GitHub or Notion in one click; register any HTTPS MCP by URL. Bind a connector to a Space and teammates can call its tools by @mention in chat — the AI stitches the result into its reply.
- One-click OAuth for GitHub + Notion. Tokens stored in Google Secret Manager — never Postgres.
- Custom MCP registration with bearer or API-key auth. SSRF-protected at registration AND on every call (DNS rebinding defence).
- Pre-flight chaining: up to 3 MCP calls per chat message. Per-result truncation 50 KB; total 150 KB.
- Per-Space binding. Org admins manage the connector list; Space admins toggle which connectors are reachable per Space.
- Health-check cron every 10 minutes. Org OWNERS get one email per day per integration on transition to UNREACHABLE.
- Composer mention menu shows live health badges (Slow, Offline, Unknown).
Setup walkthrough: Connect external tools.
v2.0.0-wave-8Switchy is now an MCP server
Drop one snippet into Claude Desktop, Cursor, Windsurf, or any MCP-capable client and your team's shared memory + Spaces show up inside the LLM you already use. Setup takes about 90 seconds.
Tools shipped (7): search_memory, add_memory, list_spaces, get_space, list_sessions, get_session_transcript, post_message.
- API key minting + scope picker + 10-minute rotation grace at Settings → API keys.
- Sub-second revoke-to-rejection (cache busted on revoke).
- Per-key rate limits: 60 reads/min, 20 writes/min.
- Org OWNERS receive an email the first time a key is used to
post_messageon a teammate's behalf. - SDKs:
npm install @switchy-ai/sdk·pip install switchy-sdk(both v0.2.0).
Install: Use Switchy in Claude Desktop, Cursor, or any MCP client.
v2.0.0-wave-7Multi-participant chat + AI on @mention
Spaces became real. Multiple humans share one chat thread; AI agents (Claude, GPT, Gemini) reply only when explicitly mentioned. Realtime fan-out over Ably so updates land without refreshing.
- Three-column responsive layout (sessions · session pane · participants).
- Threads, reactions, mention autocomplete, typing indicators.
- A6 invariant: an agent message is only ever triggered by an immediately-prior human mention.
- Streaming LLM responses via OpenRouter, charged against the org credit pool.
- Two-browser cross-tab e2e validates realtime delivery + impersonation guards.
v2.0.0-wave-6Realtime
Ably wired in for session fan-out, presence, and typing indicators. Token-based capability scoping so a client can only subscribe to channels their org permits. Internal: see docs/architecture/realtime.md.
v2.0.0-wave-5Memory with visibility
Memory model rebuilt around PRIVATE / PROJECT / ORG visibility, enforced at the SQL layer. Embeddings live in pgvector; retrieval ranks by semantic distance with a fallback to importance + recency. Red-team test suite blocks any PR that would bypass the visibility filter.
v2.0.0-wave-4Org-scoped billing
Stripe products + Cloud Run billing redesigned around the org as the entity. Pooled credits, monthly + yearly toggle (20% off yearly), Pro and Team plans with seat-based pricing. User-level CreditBalance deprecated. Webhook surface validated end-to-end against Stripe's test mode.
v2.0.0-wave-3Orgs, signup, invitations
Every signup creates an org. Invitations land via email with a one-click accept. Role hierarchy: OWNER · ADMIN · MEMBER. NextAuth JWT carries currentOrgId so server-side checks are uniform.
v2.0.0-wave-2Data model rebuild
Internal: schema reshaped around the new mental model. Project stays in the schema (labelled "Space" in user copy); SessionParticipant, OrganizationMember, McpServer, SpaceMcpBinding, RateLimitBucket introduced. No user-visible change on its own.
v2.0.0-wave-1Repositioning + brand
Switchy is now the shared AI workspace for small teams. New landing, pricing, and tour. Tagline: "Your team. Every AI. One memory."
Older versions
v1.x ran from launch through the pre-pivot product (single-user multi-model chat with credit accounting). The full v1 changelog is archived; the pivot to v2.0.0 was a clean break, so individual v1 entries aren't maintained against the new feature set.