Project

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-10

Docs, 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.0 triggers 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.md for the take-list.

Start at the docs index.

v2.0.0-wave-9

External 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-8

Switchy 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_message on 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-7

Multi-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-6

Realtime

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-5

Memory 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-4

Org-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-3

Orgs, 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-2

Data 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-1

Repositioning + 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.