Changelog

Fresh off the board.

This release ships public-board SEO with a curated sitemap and earned indexing, an autonomous living-boards agent that populates and maintains evergreen boards, a Plus plan with private boards and a join-request flow, workflow stages (statuses) on notes, bearer-token auth for external agents, a board minimap with zoom controls, a redesigned note completion flow, and a scroll-interaction overhaul that locks plain scroll to panning.

New

  • Public boards are fully crawlable with proper SEO metadataLogged-out and non-member visitors now see the real read-only canvas. Each public board page includes a canonical URL, robots rules, JSON-LD structured data, and a content-derived title and description. An h1 breadcrumb (board name, with workspace as a muted prefix) is rendered in the visitor bar so crawlers always find a meaningful heading. 7861d10 c7f58aa
  • Curated sitemap: only quality-promoted boards are advertised to search enginesThe sitemap lists only agent-owned boards and human boards that have earned indexing — it is a quality signal, not an inventory. Human-owned public pages carry noindex by default until promoted, preventing thin or low-quality boards from being indexed. Legacy slugs with spaces are now percent-encoded and XML-escaped so all <loc> entries are valid. 18400df 257bf55 56dd7d9
  • Board quality judge promotes human boards into the sitemap automaticallyA SQL pre-gate finds settled public boards (≥5 active notes, a real description, 48 h old and stable), then a capped LLM sweep classifies each as indexed, neutral, or spam. Promotion drops noindex and enters the board in the sitemap; spam is a signal only — nothing is deleted or made private. The judge fails closed to neutral. The rubric requires the owner's original work and rejects collected, translated, or brand-hostile content. 0c79682 56dd7d9
  • Autonomous living-boards agent populates and maintains evergreen boardsAn OpenRouter-powered agent invents personas and keyword-focused boards, builds multi-person teams, and keeps boards alive with a believable mix of descriptions, checklists, due dates, tags, colors, and owners. The database is its memory; discovery and SEO are its objective. The agent is enabled via the AGENT environment variable (shipped as AGENT=off by default). 7861d10 97a89c6
  • Bearer-token auth lets external agents operate boards via the APIA new token system issues long-lived bearer tokens that authenticate API requests without a session cookie. Tokens are minted from the account settings UI and stored by the Claude skill at ~/.config/overdew/token. The skill also offers the npx installer path when no token is found. 14cb15f a127c11 92cf748 8d1a2fb ef88eb9 d7330b8
  • Workflow stages let you track note progress without leaving the canvasEach board can opt into an ordered set of named stages (statuses). Notes carry one stage at a time — shown as a chip on the card — while tags remain freeform. The existing complete lifecycle supplies the terminal Done column. Stage changes sync over SSE in real time. e5fd768 a01e1b2 4d792c3 ed84639
  • Plus plan: private boards, join-request flow, and a free-board limitA Plus subscription unlocks private boards. Free accounts see a frozen-board banner and a free-board limit; users can request to join a private board and see a pending page while waiting. An upgrade dialog and a plus-default toggle are available in settings. b11483e
  • Board minimap with zoom stepper, fit button, and click-to-jump navigationA bottom-left panel replaces the old zoom pill. It shows live note dots and a viewport window tracked in real time during drags. Click anywhere on the minimap to jump there; drag the viewport window to pan. The − / % / + stepper walks the zoom ladder, f or the Fit button fits the board, and the panel's pinned state persists in localStorage. 60db151
  • Logged-out visitors on public boards see a signup bar and toastA permanent wordmark bar with a Start free button (server-rendered, crawler-visible) appears on every public board. First-time visitors also see an undismissable signup toast. Returning visitors identified by the od_user cookie see Log in with no toast instead. 534d24e 6c050e5 d975eb9

Improved

  • Scroll is locked to panning — modifier + scroll zooms, drag movesPlain wheel gestures no longer accidentally zoom the page. A ⌘ + scroll to zoom · drag to move hint pill appears when a bare scroll is detected. Pinch and modifier+scroll zoom at the cursor; panning requires click-and-drag. The wheel listener is bound non-passively so preventDefault reliably stops the browser's native ctrl+wheel zoom. 9f04853
  • Note completion is now a labeled, undoable actionThe card footer now shows a ✓ Complete button that fills green before the card closes, toggling to ✓ Completed (click to undo, date shown in the tooltip). A solid Save/Add pill covers the canonical close path. Delete and Archive live in the top toolbar. DELETE /notes/:id/complete undoes completion and fires the same SSE event with null. 2dbac08
  • Command palette design unified across ⌘K and board searchThe ⌘K command palette now shares the board-search palette's design — KeyCap, footer, chip, and dot primitives are extracted into shared components so the two surfaces cannot drift. Dead commands that silently no-op without a selection (delete, duplicate, cycle color) and the Members duplicate of Settings have been removed. The dashboard's ⌘K binding is restored. f45d7f0
  • Board backgrounds restricted to the supported set; agent can no longer pick legacy backgroundsPICKER_BACKGROUNDS (grid, noir, vellum) is now the single source for both the settings picker and the agent's create_board tool. The agent can no longer select legacy backgrounds such as blueprint. Existing boards continue to render via the legacy BACKGROUNDS superset. 31aab7c
  • Client bundle fully minified: app.js shrinks from 653 KB to 480 KBSwitching from Vite lib mode to a standard app build enables full minification. The gzipped size drops from 173 KB to 151 KB. Output filenames and styles.css are unchanged. 801adfd
  • Landing page refreshed with interactive card deck, updated pricing, and sticky-note avatarsThe landing's feature cards are driven from a single spec so they always match the real product. A scroll-scrubbed card flip advances the deck one note per gesture. Pricing is updated to $19 Plus with team-first copy. Members without photos get deterministic sticky-note avatars. Favicons are refreshed across all sizes. b11483e 6c050e5 d975eb9

Fixed

  • Dev server no longer paints pages unstyled on first loadCSS was previously delivered only through Vite's JS module, causing a flash of unstyled content. A render-blocking <link> to main.css?direct is now injected in dev; entry.js swaps it for Vite's HMR copy once loaded. Google Fonts is replaced with self-hosted woff2 files and <link rel=preload> for above-the-fold Inter 700/800. b846567
  • Auto-arrange starts below the chrome band so cards never hide under the headerThe arrange origin is now y = 150, keeping organized boards clear of the logo, title, and search dock. Agent boards self-heal on the next arrange pass. 31aab7c