Changelog

Every improvement we ship to the boilerplate, released regularly.

  1. v3.21.0

    Safer AI actions, healthier email and clearer billing

    Features

    • Risky AI actions wait for an Approve or Deny card that shows exactly what will run, cannot be faked by the AI, expires after five minutes and works once; places that cannot show the card refuse those actions instead of running them
    • The admin Emails page shows delivered, bounce and complaint rates, a searchable log of every email sent (password resets and invites included) and a list of blocked addresses you can unblock with one click
    • Bounced addresses stop receiving all mail and spam complaints stop marketing mail, reported automatically by Amazon SES or Resend, with addresses SES already blocked picked up daily
  2. v3.20.0

    Translate your app with your own coding agent

    Features

    • Type /translate in your coding agent (or ask it to translate the project) and it translates every missing or outdated message and document into each of your languages, checked by the same rules as the API translation and tracked so nothing is translated twice

    Fixes

    • Projects with more than one extra language re-translate a changed string in all of them; before, every language after the first kept its old wording
  3. v3.19.0

    One sidebar for web and desktop, and a smoother everyday app

    Features

    • Web and desktop build their sidebar from one shared layout: Dashboard, Chat and Automations on top, Admin for admins and Settings at the bottom, with Organization and Project inside Settings
    • The desktop app tells you in-app when an update has downloaded and restarts into it on one click, and its ⌘K search reaches Profile, Billing, Security, Organization and Project

    Fixes

    • Hitting the rate limit shows a "try again" page instead of signing people out to the sign-in page
  4. v3.18.1

    Desktop chats survive restarts, brand-coloured emails

    Fixes

    • The desktop chat open when the app quits, updates or its window closes comes back as it was, including your message and any part of a reply still being written
    • Email buttons and highlights follow your theme's primary colour instead of a fixed amber
    • A "session revoked" notification is sent only when someone else, such as an admin, ended the session, not when users sign out themselves or old sessions expire
  5. v3.18.0

    Sign in with Apple for iOS, App Store ready

    Features

    • The iOS app offers Sign in with Apple from your Apple signing key and app bundle id alone, with no web Services ID; the web shows no Apple button in that mode, and account deletion still revokes Apple sign-ins
    • On iOS, Google sign-in appears only beside Sign in with Apple, as App Store guideline 4.8 requires, and the app learns from your server whether Apple is on, so enabling it needs no new app build

    Fixes

    • Leaving the app on the sign-in screen and coming back stays on sign-in instead of opening the passkey screen
  6. v3.17.1

    Organization logos are checked when saved

    Fixes

    • An organization logo must be an image the person saving it uploaded (or a link off your storage), so deleting an account can no longer delete another user's public files through a forged logo
  7. v3.17.0

    Reconnect expired sign-ins and sturdier AI chat

    Features

    • An integration whose sign-in expired shows a Reconnect button that renews it in place, keeping the connection and its settings, and any page can send users straight to it with `?reconnect=<integration>`

    Fixes

    • Chat titles and other "reasoning off" requests now work on OpenRouter models whose reasoning cannot be turned off, such as GLM 5.3 Flash and gpt-5-mini, and are billed only for the request that runs
    • A table in a chat reply stays readable in a narrow chat panel and scrolls sideways instead of squeezing every column into a tall tower of words
  8. v3.16.0

    Complete account deletion and API-key access for AI agents

    Features

    • Account deletion is one flow for a user's own request, the emailed link and an admin removal: it refuses while the user is the only owner of a team others still use or while a subscription owes money, then cancels their live subscriptions without a refund, erases chats, notifications, files, their solo organizations and API keys, and revokes Apple sign-in. A refusal changes nothing, and webhooks that arrive afterwards are ignored
    • AI agents can connect to the MCP server with an API key that carries the MCP permission, beside OAuth sign-in, and every tool now tells clients whether it only reads, deletes, is safe to repeat or reaches the open web
    • API keys can no longer create, change or revoke other keys, so a REST-only key cannot grant itself MCP access
  9. v3.15.2

    An integration sign-in comes back to where it started

    Fixes

    • A sign-in started from the desktop app returns to the desktop app, through a small hand-back page that opens the app on the integration you were connecting; a sign-in started on the web returns to the page you came from once the connection is made, and a failed sign-in reopens that integration so the retry is one press away
    • A deep link into the desktop app's Integrations screen keeps its details, so the app opens on the named integration instead of the catalog
  10. v3.15.1

    A balance that cannot overdraw, and a CLI that gets its answer

    Fixes

    • An AI call is priced before it runs, prompt included, so an account with a sliver of credits cannot overdraw on a long conversation; a message the balance cannot cover is refused up front with its own wording and the top-up action, and summarising a long conversation answers the same way instead of failing
    • On the desktop app, a question the coding CLI asks now appears as a question card in the chat; answer or skip it and the agent carries on, and a run waiting on your answer is never treated as stalled, however long you take
    • Dragging a file over the chat shows a clean, centred drop zone instead of an outline over the page
  11. v3.15.0

    A chat you can steer while it works

    Features

    • A message queued behind a running reply has a Send now control - it stops the reply, sends that message at once and keeps the rest in order behind it; a send the server refuses goes back where it was, so a message is never lost
    • Images, documents and text files can be pasted, dropped, picked and removed while the AI is still working, so the next message can be queued with them

    Fixes

    • The context meter on the desktop coding-CLI lane counted only a sliver of each turn and sat near 1%; it now reads the conversation's real size against the window the CLI reports, for Claude Code, Codex, Grok and opencode
  12. v3.14.0

    Web search everywhere, and one Settings hub

    Features

    • Web search and page reading work on every AI surface - chat, the desktop app's coding-CLI lane, automations and the MCP server - metered to the user's credits per call at the vendor's price times your markup, which ships at twice cost and is written into your pricing file
    • TinyFish is the default web engine and costs your users nothing; add a Firecrawl or Parallel key and name that engine to use a paid one instead
    • Chat searches the web by default wherever an engine is set up, and a user's choice to turn it off is remembered; the provider's own per-request search still needs an explicit yes
  13. v3.13.0

    Steadier mobile social sign-in

    Features

    • The comparison and alternatives pages now cover TurboStarter, and every page argues its case in its own words instead of repeating passages across pages

    Fixes

    • On mobile, tapping a social sign-in button now shows that it is signing in and holds every other sign-in option still until the provider's sheet settles, so you never return from Google to a screen you did not ask for
  14. v3.12.0

    The runner lane is retired

    Features

    • New projects ship without the runner - no pairing endpoint, no dispatch transport, no Runners settings page, and one fewer question at init
    • Existing projects drop it on update and are told once; your chat and automations keep running on your own AI backend, and the desktop app's local CLI support is untouched

    Performance

    • A generated backend is lighter by the whole relay - its device registry, presence tracking, per-device rate-limit budgets and the runner routes
  15. v3.11.1

    A first message that just works

    Fixes

    • The first message of a new account runs on your app's configured default model instead of being refused
    • A chat with no model picked yet sizes its context window and its attachment controls from the model it actually runs on
  16. v3.11.0

    One product on two screens

    Features

    • Every dashboard screen is one shared screen both the web app and the desktop app render - dashboard, chat, automations, billing and history, models, integrations, runners, MCP, projects, profile, security, organization and its activity log, API keys and notifications
    • The admin panel ships inside the desktop app, all eight tabs, behind the same role check the web uses
    • Skills - plain markdown in one folder - reach the in-app assistant, MCP clients (a skills list, a skill fetch and one prompt per skill) and Mastra Studio, with no per-project wiring
  17. v3.10.0

    Answer the assistant's questions from any device

    Features

    • The phone can answer a question the assistant asks mid-turn - tap an option or type a reply, and the same turn continues under the question

    Fixes

    • Answering a question no longer prints the whole assistant turn a second time
    • A question waiting for your answer no longer spins like a running tool; the row says it is waiting and settles once you answer
  18. v3.9.0

    Collapsible sidebar groups, a calmer default sidebar, and test suites you can trust

    Features

    • Sidebar items can hold collapsible groups - children open where you left them, on the server-rendered first paint on web and instantly on desktop, with a choice between several groups open at once or one at a time, and the whole row toggles so it works with a thumb on a phone
    • The default sidebar reads top to bottom in both apps - Dashboard, Chat, Automations; a Workspace heading over Organization and Project; Admin; then a Settings row at the bottom, with the notifications bell last in the controls row and Go Home in the user menu above Log out
    • Broadcast SMS reaches every user who saved a phone number, and the phone verification step is gone, so nobody is asked to confirm a number during onboarding
  19. v3.8.0

    Money-safety hardening, mobile parity, and lighter CI

    Features

    • Free signup credits are granted once per email, so deleting and recreating an account no longer yields fresh free credits
    • Auto top-up is capped per day and the minimum for a purchase or top-up is now $10, so a runaway loop cannot drain a card
    • Phone numbers are verified with a one-time code, and broadcast SMS goes only to verified numbers
  20. v3.7.0

    The mobile app

    Features

    • A full mobile app (Expo) ships as a Pro option - auth with Apple and Google, chat with camera, files and voice, notifications, organizations, billing
    • In-app purchases through RevenueCat, additive to Stripe or Polar, with store-safe billing rules
    • Push notifications with per-type preferences and deep links