Skip to main content
Changelog

Changelog

What shipped in Daintree

A curated record of releases, features and fixes, newest first. It runs back to the founding sprint.

August 2026

Pilot, one searchable launcher, and MCP sessions that stay put (v0.30.0 through v0.33.0)

  1. v0.33.0: Working and waiting read apart, and MCP sessions that stay put

    • A project switcher row weighs running agents against waiting ones instead of picking one status out of a priority order, so a project with one agent still working and one waiting on you stops reading as stopped. A grey dot now means saved panels that will resume when you open it, with the count announced
    • An external MCP session binds to one workspace at handshake and routes there for its whole life, or fails closed, and the workspace behind it is held thawed against memory-pressure eviction — two agents driving two projects can no longer retarget each other
    • Sleep shuts down a single project the way quitting shuts down all of them, including the project on screen, and reopening restores the layout and resumes the agents like a relaunch. Export and Import Configuration move a whole setup to a second machine as one versioned JSON bundle
    • Movile, a contrast-budget dark theme, joins the suite, and both defaults are repaired: Daintree's surface ladder was built from two different neutrals with canvas-to-panel sitting under the engine's own JND, and Bondi is rebuilt as warm cream
    • File search on a large repository drops from 102ms to 9ms, and startup defers low-frequency services, renderer panels, and the xterm search, image, and Unicode addons until first use
  2. v0.32.0: Park and snooze, so a deliberate wait stops reading as demand

    • Park a run with a note and an optional gate. It drops into a quiet Parked band, stops counting as demand everywhere, and hands itself back the next time the gated terminal goes ready
    • Snooze an agent for 15 minutes, 30 minutes, 6 hours, or until you interact with it; any typed input wakes it
    • Project group headers carry a demand chip, and a working run that has been silent for over ten minutes shows a quiet cue instead of rendering as healthy
    • A missing Git binary is caught at startup with a banner and a one-click install where that is safe, rather than surfacing as a raw spawn error
    • File paths reach git as literal pathspecs, closing a route by which discarding one file could destroy uncommitted work in another
  3. v0.31.0: One searchable launcher, and a copy-context history

    • The toolbar agent and panel trays and the dock + button collapse into a single searchable launcher: same inventory, with per-row pinning, shortcut capture, preset rows, and running-state pips. The file browser now opens as a persistent grid panel from every entry point, and ships visible on the toolbar
    • The copy-context button becomes a dropdown: copy the full context, or re-run one of the five most recent copies for the project
    • An empty command palette query browses the whole action inventory grouped by category, rather than favorites plus a short recents band
    • Git writes resolve the branch's real push remote instead of assuming origin, so a fork-configured branch stops writing to the wrong repository
    • Daintree stops probing Anthropic, OpenAI, and Google every 30 minutes and on every window focus, regardless of which agents you use
  4. v0.30.0–v0.30.1: Pilot, and an MCP surface real clients can hold

    • Pilot: every agent run across every project and scratch workspace in one searchable view on ⌥⌘O (Ctrl+Alt+O on Windows and Linux), grouped by project and ordered by what needs you most
    • The external MCP tool surface drops from 100 tools to 23. The surface itself is versioned, and returned payloads are bounded and schema-checked. Clients were silently truncating the overflow and choosing for you
    • Forge actions over MCP grow enough reach for an agent to run a whole work loop without leaving Daintree
    • The file browser feeds files straight into an agent: drag a row or press Cmd+I to send an @file reference
    • A relaunch restores every open project window on the project it was showing, voice dictation moves to gpt-live-transcribe, and v0.30.1 closes the routes by which one project's state reached another: terminal restore, reconnect, spawn, and workspaces with no repository

July 2026

Workspaces without a repository, and a faster, more durable app (v0.22.0 through v0.29.0)

  1. v0.29.0: Any folder is a workspace, and a project can move

    • Daintree stops requiring a Git repository: any folder opens as a lightweight workspace, and git init becomes an explicit upgrade
    • Move or rename a project folder from inside Daintree; panels, terminals, and agent conversations follow it
    • A new read-only file browser panel with a resizable tree and live filesystem updates, and a file viewer that plays video and audio inline and previews PDFs through Chromium's viewer
    • A large durability wave protects agent sessions, typed drafts, recipes, and uncommitted work
    • Voice dictation moves to GPT-5.6 Luna ahead of the model shutdowns, and the correction-model dropdown is removed now that both tiers collapse to one model
  2. v0.28.0–v0.28.1: Panels open as dialogs, and a deleted worktree keeps its agents

    • The file viewer, diff viewer, review workspace, and Review Hub move onto one panel model: each opens as a dialog and can be promoted into the grid
    • Deleting a worktree no longer kills the agents running in it: their terminals stay alive on a deleted-worktree card you can drag them out of
    • Agent scrollback ceiling raised from 5,000 to 10,000 lines
  3. v0.25.0–v0.27.0: Scratch workspaces, terminal editing, and a memory pass

    • Scratch workspaces become a first-class place to work: nameable, with a real first-run launcher and bulk cleanup
    • Type-anywhere rescue routes stray keystrokes back to the agent you were talking to, and Option+←/→ jumps a word at a time in the shell line editor
    • Forge toolbar counts refresh off local git activity instead of a fixed timer, so merge sprees update promptly
    • Codex's $ trigger surfaces its Skills, Apps, and Plugins in the completion picker
    • Renderer memory in project views is capped while agents stream, and reclaim passes free real memory
  4. v0.23.0–v0.24.0: A multi-file review workspace, and a 25% faster boot

    • Opening a multi-file changeset opens a dedicated review workspace: a file sidebar with change counts, review progress, a filter, and per-file viewed markers, and changed images get a compare view with two-up, swipe, and onion-skin modes
    • Cold startup is ~25% faster, switching back to a recent project is near-instant, and agent terminals appear ~5× faster
    • A new file viewer panel opens any text file alongside your terminals, with a rendered view for markdown
    • Terminals show why an agent is waiting: approval, question, error, or prompt
    • Automatic pre-agent git stash snapshots are removed, so agent starts no longer accumulate auto-stashes in git stash
  5. v0.22.0: Closed agent sessions become resumable

    • Every terminal close journals a resume record, so a closed agent session can be reopened later from a searchable list
    • The empty panel grid is reworked into a recipe-forward launcher with quick actions and resume shortcuts
    • User plugins gain a full lifecycle: hot enable and disable, background update checks, and a startup kill-switch
    • The rendering pipeline prioritizes whichever terminal you are looking at under heavy multi-agent load
    • A "Why am I slow?" snapshot surfaces the current performance bottleneck on demand

June 2026

The plugin system reaches 1.0, and light mode is redesigned (v0.16.0 through v0.21.1)

  1. v0.20.0–v0.21.1: The plugin system reaches 1.0, and hibernation goes away

    • Plugins reach their 1.0 contract: a release-ready authoring toolchain, a frozen manifest, out-of-process execution with crash isolation, and just-in-time consent for high-risk capabilities
    • Forge write operations land over MCP: PR create, merge, comment and edit, issue create, close and label, and PR review
    • Per-terminal hibernation is removed: backgrounded terminals stay live, ending the recurring agent-TUI corruption across OpenCode, Codex, Gemini, and Claude
    • Cold project switches reveal a themed skeleton in ~150ms instead of freezing on the outgoing project for seconds
    • Grok (xAI) joins the agent roster, and the Gemini CLI agent is deprecated (still working, no longer recommended)
  2. v0.19.0–v0.19.1: Permission bypass becomes a real setting

    • A global skip-permissions toggle with a tri-state DangerousMode, plus a first-run onboarding step to set it
    • The in-app assistant can name agent terminals at spawn and rename them afterwards
    • A round of panel-tab, terminal-rehydration, and tooltip reliability work
  3. v0.17.0–v0.18.2: Light mode looks designed, and GitHub stops being special

    • The light-theme token engine is rebuilt for perceptual contrast, with Bondi Beach as the gold-standard template and six more light themes redesigned on it
    • GitHub is rebuilt as one forge provider among many: issue creation, assign-to-me, and worktree actions all route through a provider-neutral contract, and the temporary github.* action aliases are removed
    • The Daintree Assistant gains a figure rail, lightbox, inline documentation images, and a live MCP tool-call activity strip
    • Voice dictation gains context keyterms, terminal-derived biasing, and a dictionary learned from transcript corrections
    • Long-running terminals recover more reliably from wake, stalls, and heavy output, with memory-aware trimming, and Electron 42 brings Chromium 148
  4. v0.16.0: The plugin manager becomes a first-class view

    • Per-plugin configuration, capabilities, and permissions move out of the settings tab into a dedicated master-detail view
    • A daintree:// deep-link scheme can install or open a plugin from outside the app
    • Plugins can register agents through a contributes.agents contribution point
    • A round of memory-leak and long-session fixes: xterm dispose, PTY descriptors, and disk-state growth

May 2026

Review Hub, Windows parity, and the first plugin platform (v0.9.0 through v0.15.0)

  1. v0.15.0: A plugin platform, and voice input grows up

    • The .dntr archive format, an atomic install pipeline, a daintree-plugin CLI, and the @daintreehq/plugin-sdk
    • Plugins contribute commands, context menus, keybindings, settings forms, and views, sandboxed behind manifest-declared capabilities
    • Voice input gains client-side voice activity detection, push-to-talk, and dictation target locking
    • Dev preview sessions persist across relaunch, with a cross-worktree dev-server dashboard
    • Notifications gain a persistent inbox with age-based retention and OS Do-Not-Disturb awareness
  2. v0.13.0–v0.14.1: A scrollable panel grid, and cheaper forge traffic

    • The panel grid is reworked from count-driven to size-driven, and scrolls when fleets exceed the viewport
    • GitHub and forge traffic is overhauled: host-side batch loading, cross-window GraphQL coalescing, and an ETag-gated activity probe
    • The action palette gains pinning, scope chips, mode-prefix routing, and destructive-action disclosure
    • A broad accessibility sweep lands across menus, dialogs, palettes, and forced-colors mode
    • Antigravity (agy) joins the built-in agent roster
  3. v0.12.0–v0.12.1: Forge providers, faster cold start, and a fleet broadcast rework

    • Forge provider model: git host integration is no longer tied to GitHub, with the provider set per project and overridable per worktree
    • Faster cold start: the boot path batches its initial invoke and runs hydration concurrently, with memory-pressure handling that scales as load climbs
    • Virtualized worktree sidebar: rows now show dirty state, last commit, base-branch divergence, and fetch staleness
    • Fleet broadcast rework: per-target edit and skip, fuzzy matching in the picker, and saved fleets split into pinned and smart sets
    • MCP server: audit tooling with NDJSON export, time-bounded per-tool grants, and a cap on repeated auth failures
    • v0.12.1 follow-up: closing a grid panel feels instant, the file diff viewer loads again, the workspace sidebar no longer hangs on a project folder that has moved, and the assistant says when a saved agent is unavailable instead of quietly falling back
  4. v0.11.0–v0.11.1: Windows feature parity with macOS and Linux

    • Windows reaches feature parity with macOS and Linux: NSIS and Store builds, native menus and keybindings, and UTF-8 in fallback shells
    • Review becomes the fourth built-in panel kind
    • Destructive actions now prompt for confirmation, including every remote push
    • Status banners consolidated onto shared InlineStatusBanner chrome
    • A resilience pass across the pty-host, file watchers, and crash recovery
  5. v0.10.0–v0.10.2: Review Hub rebuilt for staging, diffing, and pushing changes

    • Review Hub: stage, diff, commit, and push worktree changes, with a commit composer that gates the push and inline recovery for rejected pushes
    • Voice transcription moved from Deepgram to the OpenAI Realtime API
    • Voice dictation runs a whole-passage AI correction pass when recording stops
    • PR CI status now shows on worktree cards and the Review Hub chip
    • Conflict UI rebuilt: merge, rebase, cherry-pick, and revert conflicts now show as a commit sequence
  6. v0.9.0–v0.9.1: Daintree Assistant and a built-in MCP server

    • Daintree Assistant: a bundled help session backed by Claude, Gemini, or Codex, with its own settings tab
    • Built-in MCP server: streamable HTTP transport, per-tier authorization, and an audit log for every tool dispatch
    • Fleet broadcasting: a cold-start fleet picker, saved named fleets, and an in-flight progress counter for large broadcasts
    • Notification inbox: keyboard navigation, pinning, grouping by context, and silencing per event kind
    • Assistant toolbar pip reflects live working and waiting state

April 2026

Daintree rebrand and fleet broadcasting (v0.6.0 through v0.8.0)

  1. v0.8.0: Fleet broadcasting, plugin system, and nine new agents

    • Fleet: multi-agent broadcasting with a dockable Fleet Deck, scoped arming, and a broadcast bar
    • Plugin system: manifests with a strict permissions enum, runtime action registration, and host API injection
    • Nine new built-in agents, including Aider, Goose, Crush, Qwen Code, and Sourcegraph Amp
    • Runtime-detected agent identity becomes a first-class panel field driving chrome, focus, and routing
    • New theme browser panel with hover-to-preview
    • The Notes panel has been removed
  2. v0.7.0–v0.7.1: Canopy becomes Daintree, plus a reworked setup wizard

    • Project renamed from Canopy to Daintree across types, icons, menus, protocol schemes, and user data
    • Setup wizard reworked: a three-state CLI availability model, a tiered agent list, and install cards
    • Theme system: a command palette toggle, live preview on hover, and per-theme accent override
    • GitHub Copilot CLI added as a built-in agent
    • Privacy & Data settings now disclose the specific telemetry fields collected at each level
  3. Help Agent and agent intelligence

    • Help Agent: dedicated workspace for answering Daintree usage questions, pre-configured with a free Daintree document search MCP
    • Per-agent assistant model selection in settings: choose which model powers each agent type
    • Agent availability status shown in the panel palette and setup wizard
    • Granular agent state detection: exited, approval-waiting, and working states tracked independently
    • Custom CLI arguments per recipe terminal for fine-grained agent configuration
  4. Performance overhaul: 29 PRs optimizing startup, rendering, and memory

    • Lazy loading for HybridInputBar, NewWorktreeDialog, and non-critical UI components
    • CSS layout containment and content-visibility for faster composite and paint
    • Compile caching, singleflight cache, and adaptive batching for terminal output
    • MessagePort ACK gates and byte-count carry for zero-copy I/O tuning
    • End-to-end startup pipeline wired and measured: initial hydration no longer blocks rendering
  5. Multi-window support, Electron 41, and terminal session transfer

    • Open projects in independent windows with per-window workspace hosts and state persistence
    • Blue-green workspace swap for seamless project switching without flicker
    • Terminal session transfer: move an agent session mid-task to a different worktree
    • Adaptive resource profiles scaling memory and CPU across active and background projects
    • Electron 41 upgrade with React 19.2 Activity API for workspace view caching
  6. Theme refinements, sound system, and onboarding redesign

    • All 14 themes individually audited and refined: light theme contrast, background blur, and dialog title bar fixes
    • Sound system with audio cues for agent completion, waiting, and all-clear events
    • Streamlined 2-step onboarding with redesigned agent setup wizard
    • Pre-agent file snapshots with one-click rollback to restore pre-run state
    • Plugin system foundation: manifest schema, panel loader, toolbar button extensions
  7. Windows support, project management, and workspace UX

    • Full Windows platform support with native git credentials, system requirements checks, and E2E coverage
    • Clone GitHub repos directly from within Daintree with improved clone dialog
    • Batch worktree creation from multiple selected GitHub issues
    • Project switcher redesigned with frecency scoring and MRU ordering
    • Renderer crash recovery with React 19 error boundaries and error classification
    • Nightly update channel support alongside the stable release track

March 2026

Feature expansion (v0.2.0 through v0.5.3)

  1. v0.5.1–v0.5.3: Crash recovery, disk monitoring, accent rebrand, Liquid Glass icon

    • Renderer crash recovery with per-panel selective restore and safe mode boot
    • Disk space monitoring with low-space alerts in the status bar
    • Accent color rebranded to #36CE94 across the full design system
    • Liquid Glass app icon for macOS 26+
  2. v0.5.0: 14-theme system, bulk command center, memory resource management

    • 14 built-in themes across dark and light variants with system-preference auto-switching
    • Bulk Command Center: send a command or recipe to multiple worktrees simultaneously
    • Adaptive memory resource profiles across active and background projects
    • Custom Daintree tree icon set
  3. v0.4.0: 12 nature themes, Cursor CLI agent, workflow engine, WebGL renderer

    • 12 nature-inspired dark and light themes with unified theme selector
    • Cursor CLI added as a fifth supported agent alongside Claude, Gemini, Codex, and OpenCode
    • Workflow engine with DAG-based task definitions and execution tracking
    • WebGL terminal renderer upgrade for improved performance
  4. v0.3.0: Worktree sidebar redesign, voice input improvements, project relocation

    • Worktree sidebar redesigned with improved filtering, sorting, and drag reorder
    • Voice input improvements: word-level streaming and AI correction
    • Project relocation support: move a project directory without losing state
  5. v0.2.0: Review Hub, voice input, MCP server, crash recovery, notification center

    • Review Hub: in-app git staging, commit, and push without leaving Daintree
    • Real-time voice input via Deepgram with paragraph detection
    • Per-project MCP server configuration
    • Crash recovery with safe mode and agent state snapshots
    • Notification center for agent completion and attention-required events

February 2026

Agent monitoring and release preparation

  1. Security hardening: Electron fuses, CSP lockdown, IPC rate limiting

    • Hardened runtime security defaults and Electron Fuses with code signing enforcement
    • Strengthened CSP across all sessions
    • IPC rate limiting with error sanitization
  2. UX polish: OS-specific keyboard shortcuts, guided Git setup

    • OS-specific keyboard shortcut labels and restore-defaults option
    • Guided Git setup wizard for new projects
    • Tab button in two-pane split mode
  3. Auto-updater with GitHub Actions release pipeline

    • electron-updater integration with R2 publishing
    • GitHub Actions release workflow
    • In-app update notification UI
    • Git file watching for instant sidebar updates
  4. Dev preview architecture rewrite

    • Replaced DevPreviewService with stateless UrlDetector
    • Panel-owns-process model with smart dev server discovery
    • Persistent server state across project switches
  5. JetBrains-style action palette and component refactoring

    • Double-Shift trigger for action palette
    • Attach GitHub issues to existing worktrees
    • Extracted shared hooks (useSearchablePalette, useAnimatedPresence)
  6. Project switching reliability and dev preview improvements

    • Persist zoom levels, input bar content, and active worktree across switches
    • Dev preview migrated to terminal-first model
  7. Agent monitoring: conflict radar, SLA timers, event-based coordination

    • Conflict radar warns when multiple agents edit the same files
    • SLA timers showing agent working duration in panel headers
    • "Attention Required" strip for blocked or waiting agents
    • Full pub/sub event system with one-shot listeners and auto-cleanup
  8. Agent monitoring features and Assistant polish

    • Agent filters by state and worktree
    • Retry button for Assistant failures
    • Request/response logging for debugging

January 2026

Delegation and workspace density

  1. Daintree Assistant: built-in AI coordinator with multi-step tool calling

    • Vercel AI SDK integration with multi-step tool calling
    • Execution log aesthetic with terminal state change listeners
    • DAG-based task queue with capability-based agent routing
    • Worktree-aware context injection, background message processing
  2. Build infrastructure and security hardening

    • Node version pinning with committed lockfile
    • Trusted renderer origin enforcement
    • safeStorage for project environment variables
    • Recipes tab in Project Settings
  3. Tab groups: stack panels into tabs with drag reorder and keyboard nav

    • Full panel tabbing system in grid cells and dock slots
    • Drag to reorder, double-click to rename, duplicate with "+" button
    • Enforced worktree invariant across tab groups
    • Persisted and hydrated across restarts
  4. Slash commands: /github:create-issue and /github:work-issue builders

    • Core command infrastructure with picker UI
    • Multi-step issue builder and work-issue command
    • Project-level command overrides with custom prompts
    • Resizable two-pane split layout with per-worktree persistence
  5. Browser panels, panel grid rebranding, and dock evolution

    • Browser panels migrated from iframe to Electron webview
    • Zoom controls, native context menus, proper session isolation
    • "Terminal grid" renamed to "panel grid" reflecting the app's evolution
    • Interactive slash command chips with hover info
  6. Terminal subsystem modularization

    • TerminalInstanceService, TerminalProcess, and pty-host decomposed into focused modules
  7. Major stability and security sweep: ~40 bug fixes in 2 days

    • Race conditions, OOM from agent output, IPC contract drift fixes
    • Secret redaction failures and terminal state leak patches
    • SVG XSS prevention and IPC payload validation
    • Cross-project agent state monitoring with tiered polling
  8. OpenCode support, quick project switcher, background project persistence

    • Fourth agent added alongside Claude Code, Gemini CLI, and Codex CLI
    • Quick project switcher palette (Cmd+Alt+P)
    • Dock modes: expanded, slim, and hidden with auto-collapse

December 2025

Core workspace buildout

  1. Panel system: Notes panel and Dev Preview with live browser

    • Content grid generalized from terminal panes to typed panels
    • Notes panel with markdown notepad for agent instructions
    • Dev Preview panel with embedded browser and auto dev-server management
    • Terminal Recipes for saved agent + prompt + dev command templates
    • GitHub integration with PR badges, repo stats caching, and issue titles
  2. Terminal performance hardening and security sweep

    • SAB polling moved to Web Worker with Atomics.wait
    • Sharded visual SAB to prevent noisy-neighbor starvation
    • MessagePort origin validation and production CSP tightening
    • Hybrid input persistence across minimize/restore
  3. Unified input bar: consistent multi-line input across every agent

    • Hybrid input overlay providing consistent multi-line input
    • Design token unification merging Daintree + Shadcn token systems
  4. Worktree-scoped workspaces: isolated terminals per branch, GitHub issues integration

    • Each worktree became an isolated workspace with dedicated terminals
    • Create worktrees directly from GitHub issues with branch prefix selection
  5. Design system unification, keyboard-first UX, and TUI rendering

    • Replaced hardcoded colors and spacing with semantic tokens
    • Comprehensive keyboard shortcuts with customizable bindings
    • Atomic frame updates for WebGL, smart sticky scrolling
    • WorktreeCard redesigned as high-precision workspace overview
  6. Portal: embedded browser for web AI chats alongside terminal agents

    • Context Sidecar with multi-tab Chromium browser panel
    • Magic Paste for CopyTree context injection into web chats
  7. Terminal grid with drag-and-drop dock, multi-project support, and context injection

    • Pty Host pattern with dedicated UtilityProcess for PTY management
    • SharedArrayBuffer ring buffer for zero-copy terminal I/O
    • Configurable grid layouts with bidirectional drag-and-drop
    • Process preservation during project switching
    • Sleep/wake recovery with proactive PTY pause/resume

November 2025

Founding sprint

  1. First commit: Electron, React, xterm.js, node-pty, worktrees

    • Core architecture built in a 3-day sprint: IPC bridge, PtyManager, xterm.js integration
    • Multi-agent coordination with lifecycle state tracking
    • Terminal UX with tiling window manager aesthetic
    • AI-powered semantic terminal activity detection
    • Event-driven architecture with correlation IDs from day one