1.0.3 is Clementine — small, bright, and the first release where Froots is genuinely a workspace, not just a notes app. We shipped a real IDE.
The IDE
Clem now has a full code editor attached to her pane, not a text-area pretending to be one. Monaco under the hood, which means:
- Syntax highlighting for 200+ languages out of the box (shared with VS Code)
- LSP support — Pyright, TypeScript, gopls, rust-analyzer, and any OpenAI-compatible language server you want to point at
- Inline diagnostics, go-to-definition, rename symbol, find references
- A real debugger via Debug Adapter Protocol — Node, Python, Go, Rust tested; breakpoints and step-through work
- Integrated terminal pane, sharing scope with Clem so she can read the output of what you just ran
The design constraint was: make it feel like a Froots app, not a VS Code port. So the editor is quieter — no minimap, no gutter clutter, no file-explorer chrome. Open a file, write code, have Clem alongside. That's it.
If you want more of VS Code's surface area, cursor and zed both remain better choices, and Froots will happily hand off a buffer to either. The point of the built-in IDE is continuity — agent, notes, and code in one window.
The routine canvas: diff view
When you edit a saved routine, the canvas now shows the pending changes as overlays on the existing graph — green edges for added, red for removed, yellow for modified. Commit or revert from one keystroke. This is a big deal for collaborative routines where two people iterate on the same automation.
Memory
Session RAM is down ~30% from 1.0.2. The vault indexer now uses a disk-backed SQLite store with a small LRU cache instead of holding everything in memory. Large vaults (>10k notes) were getting painful on 8GB machines; they're not anymore.
Breaking changes
One, minor: plugin manifests now require permissions.network as a list of hosts, not a boolean. Old plugins with network: true will be prompted for a full allow-list on first load. Community plugins in the registry have been migrated; your hand-written ones may need updating.
Known issues
The undo stack on the routine canvas still does a full reload on every undo. We're fixing this properly in 1.0.4; workaround is "don't undo routines mid-run."
Thanks
Thank you to everyone who hammered on the beta. 1.0.3 is the release we're proudest of since 1.0.0.