Changelog

Fresh off the board.

2026.08.25

This release ships a full-text search system, a heavily iterated board recap panel with filter lenses and edit tracking, responsive auto-arrange for the board canvas, archived cards removed from the canvas, recent actions in the command palette, and a fix for companion output limits.

New

  • Full-text search across notes and commentsNotes and comments are now indexed for full-text search, with a dedicated search palette and supporting architecture (search_index.ts, search_query.ts, search_schema.ts). A backfill path handles existing content. 9a24117 c8e4d1d
  • Board recap panel with edit tracking and filter lensesA new recap panel shows a history of board edits grouped by time, with filter lenses (including an unread filter), per-lens item counts, a shared weekly summary cutoff, and collapsed rows that remember their constituent verbs. The panel header and lens rows are styled to match the sidebar rhythm, and filters appear above the history list. 4725228 0445669 154216b bc94fea 62da0fb b73cda2 0449852 c165749 3754694 55b1380
  • Recap panel refreshes live and surfaces agent-generated people pagesThe recap panel now polls for fresh data without a manual reload, and agent-generated facts about people are surfaced on their pages alongside the recap view. 0445669 154216b
  • Responsive board auto-arrangeThe board canvas now supports responsive auto-arrangement of cards, with updated drag, resize, keyboard, and viewport hooks to keep layouts consistent across window sizes. 1b74753
  • Recent actions shown in the command paletteThe command palette now surfaces recently used actions so frequently needed commands are quicker to reach. 748c15c

Improved

  • Archived cards no longer appear on the canvasCards that have been archived are now excluded from the board canvas and minimap, keeping the workspace focused on active content. 154216b
  • Clarified account actions on the landing pageThe account action labels and styles on the landing page were updated for clarity, with corresponding test and CSS adjustments. 40607e7

Fixed

  • Fix companion output limitsOutput limits for the Claude, Codex, and remote companion adapters were corrected so long agent responses are no longer truncated unexpectedly. 1e2d7b1

This release focuses on new-card creation polish, attachment handling fixes, and agent/companion reliability improvements. Commenting and file attachment now work correctly on unsaved cards, the card byline appears immediately on creation, and a "Log in" link lands on the landing page. On the agent side, agents can now be assigned to already-completed cards and follow-up complete_card calls no longer conflict. Litestream backups move to hourly, and the companion update prompt now verifies locally without browser probing.

New

  • Comment on a card before it has been savedThe comment composer is available the moment a card opens, but previously postComment() bailed silently when the card had no id yet. Comments written during creation now queue locally, the composer clears immediately, and the queue is flushed (oldest-first) once the card is saved — the tile lands on the board already showing its thread count. 4ceda80 8c7e306
  • Landing page gains a "Sign in" link in the top barThe marketing home had no visible path back in for returning visitors — only the hero's "Start free" CTA. A right-aligned "Sign in" button now appears in the top bar, reusing the shared AppHeaderBar component and consistent label used across the rest of the product. 0f7c770 f05fb41

Improved

  • Agents can be assigned to already-completed cardsThree status gates previously blocked handing off a card to an agent once it was completed. Those gates now accept both ACTIVE and COMPLETED statuses (using the shared RUNNABLE_NOTE_STATUSES constant), while deleted and archived cards remain rejected. No client change is needed. fceb904

Fixed

  • New card header shows the byline immediately, not a blank bandThe byline row was populated only from the saved database row, so every card being created showed an empty band above the title. The author and timestamp are now filled in optimistically from the current user and the current time, matching what the saved card will show a moment later. 41b1bc0 ae09746
  • Attached image stays visible while a new card savesWhen saving a new card with an image attached, the pending file list was cleared before the upload was sent, causing the image to visibly disappear mid-save. The pending thumbnail is now cleared only once the upload resolves, and anything dropped while the request is in flight remains pending. The remove button is also disabled during the upload so a click can no longer silently undo the attachment. ac96c83 466dc33
  • Close the image lightbox by clicking outside the attachmentTapping or clicking outside the lightbox overlay now dismisses the image preview, and touch gestures within the preview are preserved so pinch-to-zoom and swipe still work as expected. f8a00b3 ab5dbd7
  • Follow-up complete_card calls on an already-completed card no longer conflictA second complete_card action on a card that was already completed previously threw a conflict, rolled back the transaction, and stranded the run and job. A repeat completion now succeeds idempotently — completed_at, completed_by, and version are left untouched — and correctly reports the original completer rather than the acting agent's username. 687d588 3b3c02f