Releases
Every notable change to ClipSpaces, newest first. Pulled straight from the project changelog.
96 updates in the last year
across 22 days
July 24, 2026· 1 update
Earlier
Unreleased
Connected apps — you can now take access back. Settings → Connectors lists every AI client
Read detailsUnreleased (branch `refactor/shadcn-design-system`) — internal
Dark mode is properly dark. The dark theme now sits on a near-black #090909 app
Read detailsJuly 2026
Clip AI chat rebuilt, a "/" command palette, and Figma-style comments
Comments polish + migration applied. Applied the 20260724000100_comments migration (plus the
Read detailsSelf-hosted fonts, consistent tooltips, popover fixes
All app fonts are now self-hosted from /fonts via next/font/local — no more Google
Read detailsReleases: count "updates", and a cleaner day list
The heatmap now counts "updates", not "releases". Each CHANGELOG.md entry is one
Read detailsHeatmap year filter (GitHub's hybrid model)
Year chips on the releases heatmap. The default view stays the rolling
Read detailsREADME rewritten for the current app
README.md no longer describes the original tldraw scaffold. It was written for
Read detailsDocs & status headers are mobile responsive
The docs header no longer breaks on narrow screens. The "Back to app" button
Read detailsRelease heatmap is now interactive; compact releases page
The /releases heatmap now behaves like GitHub's. Hovering a day shows a
Read detailsReleases heatmap + a live Status page
Release-activity heatmap on /releases. A GitHub-contribution-style calendar
Read detailsAI "clear space" uses the app confirm dialog
The AI clear_all confirmation is now the app's own themed dialog, not the native
Read detailsStock images: authenticated users only
Stock image search is now offered only to authenticated users, matching what the
Read detailsOpenverse auth + smoother stock-search grid
Openverse application auth. lib/stock.ts now exchanges optional
Read detailsAI can drop stock photos from a prompt
New AI board action create_stock_image. The assistant can now pull real photos onto
Read detailsHide React Flow selection & resize chrome
Removed the stray blue selection outline around selected cards. It was React Flow's
Read detailsUnsplash API compliance
Unsplash picks are now hotlinked, not re-hosted. Unsplash's API terms require
Read detailsToolbar polish pass
Drawing toolbar redesigned to match the app's toolbar language: tools now sit in
Read detailsGrouped toolbar tools
Toolbar collapses related tools behind one button. Text/Markdown/Sticky now live in
Read detailsZoom-control order
Bottom-right controls reordered to Undo/Redo → Zoom → Info (was Info → Undo/Redo →
Read detailsStock image imports
Stock photo search — a new bottom-toolbar button opens a picker that searches
Read detailsMarkdown cards, token metering, fixes
Markdown card — a new card type for rich notes and code. Authored in GFM
Read detailsAI: request timeout & act-on-"make it detailed"
Model calls now time out (75s default, AI_REQUEST_TIMEOUT_MS) via AbortController,
Read detailsCanvas: undo/redo, resize any card, keyboard delete
Undo / redo for the canvas (⌘/Ctrl+Z, ⇧⌘/Ctrl+Z or Ctrl+Y), plus buttons in the
Read detailsConfirm destructive actions
Confirmation prompts on the destructive CRUD that was still instant: deleting an
Read detailsAI thoughts, token counts & graceful context limits
"Thoughts" dropdown on AI replies (Claude/GPT style). The model's reasoning —
Read detailsExport chat logs (dev)
Export a chat log from the AI panel's chat list. Hovering a chat row now
Read detailsDelete your account
Delete account & all data (Settings → Account → Danger zone). Opens a
Read detailssoul.md: a personality for your assistant
A user-defined AI personality, set via a stepped onboarding wizard. The
Read detailsAI context tools: a formal pre-fetch enrichment registry (+ image OCR)
**lib/ai/tools/ — a typed context-tool registry (Phase B of the AI tooling
Read detailsAI guardrails: a trust boundary for untrusted content
Prompt-injection defense (Phase A of the AI tooling work). The assistant
Read detailsLink previews actually unfurl again
Link cards were never showing real previews. Every unfurl silently fell back
Read detailsDrawings sync to the cloud + beta bug reporting
Freehand drawings are now board content and sync across devices/collaborators.
Read detailsClip AI credit metering
Message credits for Clip AI. Each host-key message (brief or chat turn) now
Read detailsDeeper Settings: Account, Plans, Privacy tabs + accent colors
Accent color customization (General → Appearance). Seven curated presets
Read detailsAgent toggle + Settings promoted to the TopBar
Agent mode is now a real toggle in the TopBar — a workspace-level control,
Read detailsVoice-to-text in the AI composer
Dictation in the Clip AI chat input, mirroring Claude's interaction. A mic
Read detailsVault primary buttons no longer look disabled in dark mode
Vault buttons (Create / Unlock / Save) now read as active in dark mode.
Read detailsSEO metadata & social share cards
Full search-optimization metadata. The root layout now ships a descriptive
Read detailsCleaner AI chat history load + reliable autoscroll
Opening or switching an AI chat now lands at the newest message instantly,
Read detailsAI board-action robustness + clear-the-space
clear_all board action. The assistant can now wipe a whole space in one
Read detailsClean tooltips on toolbar tools
Toolbar tools now use custom tooltips instead of native title. Each tool
Read detailsBase Clip AI for everyone (host default)
A base model served to all signed-in users. The host env fallback
Read detailsClip AI branding, system fonts & conventional chat layout
System font theming. Settings → General → App font re-skins the whole
Read detailsMultiple AI chats per space
Many chats per space. A space used to be one rolling AI thread; now it
Read detailsUnified settings, Claude-style chat & instant history
Unified Settings modal (components/settings/) in the Claude style:
Read detailsAgent mode becomes a full workspace, Cursor-style
Agent mode is now a full-screen agent workspace modeled on Cursor's
Read detailsAgent mode docks beside the real space
Agent mode is now a side-by-side drawer. The chat docks as a full-height
Read detailsSign in with Google
Google sign-in. The sign-in popover now leads with "Continue with
Read detailsAgent mode, durable AI history & auto-layout
Agent mode. The AI panel can now go full screen (robot icon in the
Read detailsAI can now edit the board
AI board actions. The Ask AI chat can now create and arrange things on
Read detailsCustom tool icons & card selection
Card selection. Clicking a card on the canvas now selects it (React Flow
Read detailsVault cards
Vault card — a new card type that stores notes and links behind an
Read detailsSecurity hardening pass
Resolves the findings from a full security & scalability audit. No user-facing behaviour changes for the normal signed-in flow.
Read detailsJune 2026
PDFs, smarter AI context, Notion AI export, and fixes
A batch covering auth, files, the AI assistant, Notion, the docs site, and a couple of database-advisor cleanups.
Read detailsFlatter UI, mobile fixes, and an auth code fix
Flat design pass — removed decorative box-shadows from buttons, cards,
Read detailsDiagramming: shapes, smart connectors, and a draw layer
ClipSpaces can now build diagrams — flow charts, data pipelines, and software architecture — natively on the React Flow canvas. Three additions, all persisted and (shapes) cloud-synced like existing…
Read detailsDocs site: How-to, Releases, and Privacy pages
Added a developer-docs-style section to the app — sidebar nav, sticky header, on-this-page table of contents, and a shared prose style — reachable from the account popover and the canvas help popover.
Read detailsPaperclip icon is now the primary logo
The abstract four-square brand mark is replaced everywhere by the paperclip in app/icon.png (which is also the favicon), so there's one logo source.
Read detailsSign-in gate uses the TopBar popover (one sign-in surface)
The AI + Integrations auth wall no longer pops its own centered modal. Gated actions now drop the same sign-in popover the TopBar "Sign in" pill opens, so there's a single sign-in surface across the…
Read detailsOnboarding empty state for blank boards
A new user landing on an empty space saw a blank canvas with no cue about what the app does. Empty boards now show an onboarding overlay (Excalidraw-style): a centered ClipSpaces logo + one-line…
Read detailsAuth wall for AI + Integrations (sign-in required)
AI and Integrations are now members-only. The entry points stay visible, but a signed-out click opens a contextual sign-in prompt and then proceeds to the requested feature. (Groundwork for paid…
Read detailsAI composer redesign + in-chat model switcher
The Ask AI composer was restyled to match the reference chat aesthetic and now lets you switch models inline, without opening AI settings.
Read detailsTop-bar controls get a surface backdrop
The right-side controls cluster (timer, integrations, theme, notifications, account, Share) sat on the transparent top bar and became unreadable when canvas cards scrolled underneath. It's now…
Read detailsSwitch the primary UI font to Inter
The app-wide UI font is now Inter (was Host Grotesk). Loaded via the existing --font-outfit variable, so all body text, Tailwind sans/display/body tokens, and inline references pick it up with no…
Read detailsPresence chip only when others are present
The top-bar presence cluster (avatar stack + "X online" + divider) no longer shows the lonely "just you" state. It appears only once another person joins the space, so a solo session has a cleaner…
Read detailsSession timer: pick a duration
The top-bar focus timer was hard-coded to 3:00. It now has a caret menu to choose a length in 10-minute steps up to an hour (10/20/30/40/50/60 min); the default is 10:00. Picking a duration stops the…
Read detailsFix: connectors honor the side you drag from
Side connectors (left/right/bottom) snapped to the top of the target card instead of attaching where you dragged. onConnect was discarding the sourceHandle/targetHandle from the connection, so React…
Read detailsEmail auth: 6-digit code instead of magic link
Passwordless sign-in now emails a 6-digit code the user types in, replacing the clickable magic link.
Read detailsBring-your-own-AI: multi-provider, multi-model
The AI assistant is no longer hardwired to one server-held OpenRouter key. Users can supply their own provider + model + key (billed to them), and self-hosters can write a server-wide config from the…
Read detailsFix same-network discovery under IPv6
Two devices on the same WiFi could fail to discover each other on Vercel because /api/network grouped peers by their full public IP. That holds for IPv4 + NAT (one shared address per LAN) but breaks…
Read detailsLive shared boards over WebRTC (replaces the item tray)
The same-network WebRTC feature now shares a live board, not a clipboard of items. When a signed-out peer accepts your invite, you co-edit your board together in real time until the session ends.
Read detailsWebSocket sync retired; WebRTC is the signed-out realtime path
Signed-out realtime is now peer-to-peer over WebRTC, not WebSockets. Since
Read detailsSame-network peer sharing + drag-and-drop files
Same-network peer discovery & an ephemeral shared tray (signed-out). Visitors
Read detailsDeployable on serverless hosts (Vercel): WebSocket is now optional
Signed-out app no longer hangs / spams the console on Vercel (lib/sync.ts,
Read detailsCanvas chrome + card UX: floating navbar, draggable video, 4-way connectors
Navbar floats over the canvas (app/page.tsx). The TopBar was a flex row
Read detailsFix: stale AI briefing + lost connections + missing scan
Two bugs from the persist-chat-history change: the briefing was resumed from the DB on every reopen, so it never reflected new cards/connections and the scan never replayed. Separately, connections…
Read detailsMap cards (free, no key — MapLibre/OSM + optional Google)
Added a map card kind. It works with no API key: MapLibre GL + OpenStreetMap tiles, geocoded via OSM Nominatim. If a Google key is configured it transparently upgrades new cards to the Google Maps…
Read detailsAI cost controls (fix OpenRouter 402)
OpenRouter reserves the full max_tokens against your balance up front, so the 700-token briefing 402'd on a low/free balance. Cut AI usage across the board.
Read detailsPersistent AI chat history + token efficiency
The AI chat lived only in React state — closing the panel or refreshing lost it, every open re-ran the briefing, and every turn resent the full persona + board context uncached. Now the conversation…
Read detailsAI space-scan animation
Replaced the tiny "Scanning your space…" dots indicator with a full-screen particle scan that sweeps through the canvas's own dot grid whenever Ask AI is opened and the space is being briefed — as if…
Read detailsAI context enrichment (scrape + vision + Notion)
Responses were thin because each card carried almost nothing — a link was a title + OG blurb, an image was just dimensions. Added a server-side enrichment layer that expands cards with the content…
Read detailsAI space assistant (OpenRouter)
Reworked the AI panel from a one-shot "ask + apply actions" tool into a space assistant: it scans the current space, briefs you on it, then answers questions.
Read detailsNotion page cards, inline preview, right-click actions
Reworked the Notion UX around live page cards instead of burying actions in the Integrations panel.
Read detailsRe-skin to Notion's warm monochrome palette
Palette moved off coral to Notion's restrained brand: warm near-black ink
Read detailsTwo-way Notion integration (import + export)
Turned the connected-but-inert Notion link into working features. Both directions go through a shared page picker (/v1/search).
Read detailsClaude brand palette, mobile responsiveness, shared-space markers
Re-skinned to Claude brand colors. Accent moved from violet #7c5cfc to
Read detailsToast notifications
lib/toast.tsx — ToastProvider (wraps the app) + useToast() with
Read detailsSystem-wide confirmation dialogs
lib/confirm.tsx — one ConfirmProvider (wraps the app) + a promise-based
Read detailsInvite acceptance, notifications, share dropdown
Invite acceptance flow — invites are no longer auto-claimed on sign-in.
Read detailsClipboard copy works in non-secure contexts
Copy (card copy button, context-menu Copy, ShareDialog copy-link) silently
Read detailsCollaboration: presence, sharing, live cursors
Identity-aware per-space presence — one Realtime channel per space
Read detailsSupabase Realtime: live cross-session sync (signed-in)
Realtime card sync in lib/use-workspace.ts — subscribes to
Read detailsCards/spaces persistence migrated to Supabase (signed-in)
lib/use-workspace.ts — unified data layer. Signed-out keeps localStorage
Read detailsNotion OAuth foundation + canvas menu/connector fixes
Notion OAuth foundation (plan Phase 2):; lib/notion.ts — authorize-URL builder, code→token exchange, and a minimal
Read detailsCanvas right-click context menu (Notion plan, Phase 0)
components/CanvasContextMenu.tsx — data-driven Windows-style popup menu:
Read detailsPresence: positive-only indicator + WS stability fix
Dev WebSocket churn — server.js attached the presence WebSocketServer
Read detailsAuth: email magic-link sign-in
middleware.ts (root) — refreshes the Supabase session cookie on every
Read detailsSupabase backend: scaffold + migration
Supabase migrations (supabase/migrations/), all applied to the remote
Read details