Agent warm-starts cut first-token latency by forty percent. The routine canvas finally has a real undo stack. The backlink indexer no longer chokes on vault renames. Clem gets a shell sandbox. And Cherry — for the first time — will merge your duplicate notes without asking.
Every release is named after an apple, partly because it’s a nice constraint, and partly because it forces us to pace ourselves. There are only so many apples. 1.0.4 is Pink Lady — small, sweet, late in the season, and a little firmer than you expect. It shipped Tuesday, to everyone on the stable channel, and it quietly closes eighty-three issues you reported in the last six weeks.
The headline number is latency. On a cold launch, the first token from an agent used to take ~900 ms; it now takes ~540 ms. We did this by warm-starting the agent runtime at app launch instead of on first message, and by caching the system prompt + vault index per session. The end result is that pressing ⌘⇧Space, typing a sentence, and hitting return feels, for the first time, like talking to something that was already awake.
The second thing is the routine canvas, which for three months has had a "real" undo that was actually just a big reload from disk. That's fixed. Undo and redo now walk an in-memory operation log — drag a node, connect an edge, change a cron, undo, redo, undo. The log survives navigation and is scoped per routine, so you can wander into your vault and back without losing the two bad decisions you were halfway through reversing.
The third thing is the backlink indexer, which we rewrote from scratch. Old Froots re-indexed the whole vault on every rename; new Froots walks only the affected files and updates block-level references incrementally. A 10,000-note vault now renames in under 40 ms. Vault merges — when you drag one folder into another — are also under a second.
Clem finally gets what she’s been asking for since October: a proper shell sandbox. On macOS, it’s a lightweight process jail via sandbox-exec; on Linux, it’s bwrap; on Windows, a restricted job object. She can run whatever code she wants inside it without touching your filesystem — and when she needs to break out to run, say, fly deploy, she’ll prompt you first, as she should.
Cherry, the gardener agent, gets a new tool: merge near-duplicates. She finds notes with ≥94% semantic similarity, diffs them, proposes a merge, and does it when you say yes. Small thing, but it’s been in your feedback channel for a year. Sorry about that.
There are also eighty-three other little fixes, the best of which is that the inbox no longer fires three separate notifications when the same Slack message arrives via three different adapters. We added a deduplicator. You will probably not notice, which is how we intended it.
Chat is a monologue; a canvas is a map; a cursor is a pulse. A short essay on writing tools, accountability, and why we built the whole product around ⌘⇧R — "turn this paragraph into a routine" — even though we know you’ll remap it.
Every routine run leaves a deterministic trace — every tool call, every token, every branch — so you can resume it from any step. What happens when the vault changes underneath a half-finished run, and the two ways we tried to fix it before settling on a third.
The agent harness ships a real code editor. Here’s how we kept it from feeling like VS Code.
A peek into how we gave each of the four built-in agents their face — and their voice.
Six routines, twelve integrations, and one very organized graphic designer in São Paulo.
$ froots sync --status
local/vault ▎ 2,814 notes ok
remote/cosmic ▎ 2,810 notes ≈ 4 ahead
offline writes ▎ queued (flushing)
graph rebuild ▎ ••••••••◦◦ 82%
network: unreliable, writing to disk anyway.
your vault is safe. press ⌘⇧S to force flush.
Your vault is a folder of plain .md files. Sync is a Yjs CRDT on top of end-to-end encrypted chunks, backed by any of five storage backends. Here’s the whole thing in plain English — including why your writing never, ever blocks on the cloud. Diagrams, terminals, and a small love letter to CRDTs included.
About four a month. Release notes, a design note, a reading recommendation. Unsubscribe with one click; we use the same encryption we ship.