Changelog

What’s changed.

Latest releases at the top. Pulled live from GitHub releases .

  1. v0.1.13

    14 June 2026stable

    CodeTrellis v0.1.13 — a big reliability + mobile-companion release.

    The source repository is currently private. We're collecting feedback before the public source release — reach out via issues here or at codetrellis.dev.

    ✨ What's new

    📱 Mobile companion — major upgrade

    • Global navigation drawer (☰) — switch between paired desktops, jump Home, open App settings / Notification settings, pair a new device, or disconnect, from anywhere. No more losing your way once you're connected.
    • Push notifications — get pinged when an agent needs you (decision needed, stuck, context needed, hand-off) while the app is closed or backgrounded. Tapping a notification deep-links straight to the event. Presence-gated, so it never buzzes while you're already watching live.
    • One-tap notification bind — a Notifications screen that shows your exact push status (permission, bound-to-desktop) and lets you re-share your device token any time. The desktop confirms receipt, so you always know it's wired.
    • Connection resilience + clear status — a network blip no longer boots you to the device list. Drops now show a calm Reconnecting… while it recovers in the background; you only return to pairing after a genuine, long outage. The status pill reads plainly — Connecting… → Syncing… → Connected — so slow/VPN connects no longer flicker confusingly.
    • Terminal: full modifier surface⌃ Ctrl · ⌥ Opt · ⇧ Shift · ⌘ Cmd as sticky keys in both the quick bar and the keys drawer. Tap to arm, tap again to lock for chained shortcuts; they combine (⌃C, ⌃⇧→, ⌥f, …) and use standard xterm encoding so vim/tmux/readline see exactly what a real keyboard sends.
    • Smart, non-jarring launch connect; branded splash + living-graph background; haptics, adjustable terminal font, and transport hardening with an on-device diagnostics ring.

    🖥️ Desktop

    • Session persistence — keep the desktop awake while your phone is connected and/or an agent is active (configurable, battery-aware), with persistent on-disk terminal scrollback so hours of output survive restarts.
    • Channels polish — better surfacing and sorting of channel events, and item ↔ decision cross-linking so a decision shows the work it's anchored to.
    • mDNS hostname fix — running multiple CodeTrellis instances on one machine (e.g. a dev build alongside the packaged app) no longer causes macOS to rename your computer to "…-2". Instance identity is now liveness-aware and crash-safe.
    • File-tree restore in the explorer, database self-heal, and a planned/diverged/unplanned overlay on the sidebar.
    • MCP driver-tool navigation gaps repaired.

    🛡️ Reliability

    • Fixed a class of "ships broken" bundling regressions (runtime relative require() not surviving packaging) and added a CI guard so they can't recur.

    ⬇️ Downloads

    Platform File
    macOS (Apple Silicon) CodeTrellis-0.1.13-arm64.dmg — signed + notarized
    macOS (Intel) CodeTrellis-0.1.13-x64.dmg — signed + notarized
    Windows installer (NSIS) CodeTrellis-Setup-0.1.13.exe
    Windows portable CodeTrellis-Portable-0.1.13.exe
    Linux AppImage CodeTrellis-0.1.13.AppImage
    Linux .deb / .rpm Debian/Ubuntu and Fedora/RHEL
    Android companion CodeTrellis-Companion-0.1.13.apk (sideload)
    iOS companion via TestFlight

    📲 First-launch notes

    • macOS — signed & notarized, so it should just open (drag to Applications). If you hit a Gatekeeper/"damaged" warning on an older download, clear it once: xattr -cr /Applications/CodeTrellis.app.
    • Windows — not code-signed yet; SmartScreen may warn once → "More info" → "Run anyway".
    • Linux (AppImage)chmod +x CodeTrellis-0.1.13.AppImage && ./CodeTrellis-0.1.13.AppImage.
    • Linux (.deb)sudo apt install ./codetrellis_*.deb. (.rpm)sudo dnf install ./codetrellis-*.rpm.
    • Android — allow "Install unknown apps", then open the APK. Pair by scanning the QR from the desktop.
    • iOS — install from TestFlight, then pair via the desktop QR.
    Full release notes
  2. v0.1.12

    7 June 2026stable

    CodeTrellis 0.1.12 — installer downloads.

    The source repository is currently private. We're collecting feedback before the public source release — reach out via issues here or at codetrellis.dev.

    What's new in 0.1.12

    Bring Your Own VPN — reach your desktop from anywhere. The mobile companion now connects over your own VPN (e.g. Tailscale), not just the local network — and a pairing made at home keeps working when you're out, with no re-pairing.

    • Desktop advertises all its reachable addresses (LAN + VPN) in pairing and in its live state, so the companion can find it on any network; existing LAN pairings auto-upgrade to the VPN address.
    • Hardened for real mobile networks: fixed a WebRTC packet-size (MTU) issue that silently dropped data over VPN tunnels, and made state hydration retry until it lands (survives slow VPN connects and 4G↔5G handovers).
    • Companion niceties: cancel-connect + disconnect, quick-switch between paired desktops, a configurable request timeout (Settings → Connection) for slow links, and an Enter key in the terminal quick tray.

    Desktop file-explorer fix (installers rebuilt). The left explorer could show only changed files instead of the full project tree if the local database became corrupted (e.g. after a hard quit). This build:

    • self-heals a corrupt database on launch — the bad file is quarantined and rebuilt, and your plans re-import from their .codetrellis/ manifests — and decouples the file tree from database health so the explorer always renders the full project.
    • adds a plan-state overlay in the explorer: files show planned · in-progress · aligned · diverged · unplanned next to their git status, with folder rollups and a legend.

    If you installed an earlier v0.1.12 desktop build, re-download — the macOS / Windows / Linux installers were rebuilt with this fix (macOS re-signed + notarized). The Android companion APK is unchanged.

    Full release notes
  3. v0.1.11

    Stability fixes5 June 2026stable

    CodeTrellis v0.1.11 — Stability fixes

    • macOS hostname no longer drifts. The LAN-discovery service (so the mobile companion can find your desktop) was advertising under your Mac's own .local name, colliding with macOS's built-in Bonjour — which would rename your machine …-2.local, …-3.local after a crash. It now advertises under a dedicated codetrellis-<id>.local name and never touches your system hostname.
    • No more ghost discovery sessions. That advertisement id is now persisted per machine, so a crash + restart refreshes the same record instead of leaving stale "sessions" piling up — and discovery stays continuous (no flap, no spurious reconnects on paired phones).
    • Creating a new plan is fixed. A packaging regression could make "new plan" throw on the installed app (a backend module wasn't bundled). Resolved.

    Carries everything from v0.1.10: signed + notarized macOS builds (no Gatekeeper warning, no xattr -cr), self-healing database, and the CodeTrellis Companion heading to TestFlight.

    Full release notes
  4. v0.1.10

    Signed & notarized5 June 2026stable

    CodeTrellis v0.1.10 — Signed & notarized

    The big one for macOS: the app is now code-signed and notarized by Apple (Developer ID: AILAR Limited), so it just opens — no "unidentified developer" warning, no xattr -cr Terminal workaround. Download the DMG, drag CodeTrellis to Applications, and open.

    What's new

    • Signed + notarized macOS builds. The Gatekeeper warning and the xattr -cr workaround are gone.
    • Self-healing database. A new schema reconciler automatically heals additive column drift on upgrade, so moving to a new version no longer risks a migration crash.
    • CodeTrellis Companion (iOS). The mobile companion is now a branded build heading to TestFlight — watch your agents, plans, architecture graph, and terminals from your phone over a direct link to your desktop.

    Full release notes
  5. v0.1.9

    mobile companion + stability4 June 2026stable

    CodeTrellis 0.1.9 — the mobile-companion + stability release.

    A big release. Two headline themes: (1) the desktop backend is dramatically more reliable — the WASM-database memory-out-of-bounds crash class is gone, and existing DBs auto-heal schema drift on startup; (2) a full iOS / Android companion app, paired in seconds and giving you the desktop's plan workspace, channels, terminal, and dependency graph on the phone.

    The companion app is not in the App Store yet — it's going through certification. If you'd like early TestFlight / APK access, reach out via the issues tab on this repo or email — see "Mobile companion early access" below.

    Highlights

    • No more "memory access out of bounds" crashes. The desktop now uses a native SQLite (better-sqlite3) with WAL persistence instead of sql.js's WASM-in-memory engine. No memory ceiling, much faster, zero per-mutation full-DB exports.
    • Schema reconciler. Existing databases now self-heal on startup: any column declared in the schema but missing from your live DB (e.g. tasks.file_spec, tasks.symbol_specs) is added automatically. No more "no such column" crashes on upgrade.
    • Mobile companion app (TestFlight / APK). Pair in one QR scan, drive the desktop from your phone — plans, channels, terminals, graph, system docs. Real-time WebRTC + Bonjour discovery, no cloud.
    • Three new MCP tools for the mobile companion so any connected agent can drive the phone too: mobile_navigate, mobile_screenshot, mobile_present.

    Backend stability

    sql.js (WASM) → better-sqlite3 (native)

    The previous engine held the whole database in a fixed Emscripten WASM heap and re-exported the entire ~35 MB DB to disk after every mutation (~85 sites + a 30-second autosave). Past tens of MB the WASM heap faulted with RuntimeError: memory access out of bounds, which wedged every database endpoint until the app was restarted.

    The new engine is native sql, disk-backed in WAL mode, persists in place — no full-DB export churn, no memory ceiling. A thin sql.js-compatible shim (run / exec / export / close) means all ~290 existing call sites keep working unchanged. Your existing ~/.codetrellis/data.db is opened as-is; no data migration.

    Schema reconciler

    Every time the app starts, the reconciler parses the declared CREATE TABLE blocks and compares them to PRAGMA table_info on the live DB. Any column the declaration adds that the live DB is missing gets ALTER TABLE … ADD COLUMN-ed in automatically.

    This is the safety net for the "added a column to CREATE TABLE but forgot the matching ALTER" class of bug that bit tasks.file_spec in v0.1.8 (which broke get_plan_summary, post_channel_event, and the inspector's "load source").

    It's additive only — never drops or renames. Non-additive changes (NOT NULL with backfill, renames, indexes, data backfills) still go through the lazy migration block.

    Look for [DB] Schema reconciler added N column(s): … in the logs on first boot of 0.1.9.

    Frontend crash guards

    • sessions.filter is not a function no longer wedges the UI when the sessions blob comes back malformed.
    • The graph no longer throws nodes is not iterable when opening a plan whose project directory has been moved or deleted.

    Boot reliability

    • The active project is now restored on every boot — the desktop no longer reports "No project scanned" after a restart, even if the renderer hasn't issued a fresh scan yet.

    Mobile companion app

    An iOS / Android companion that pairs with the desktop in seconds and gives you full real-time access to your plans, channels, terminals, and dependency graph from anywhere on your network.

    Built with Expo + React Native. Real-time desktop ⇄ phone via WebRTC over Bonjour mDNS discovery (so it Just Works on your local network with no cloud, no signalling server). No data leaves your LAN.

    Mobile companion — early access

    We're getting the app through Apple's TestFlight and Google's internal-testing pipelines before public release. If you want early access to the mobile companion now, open an issue on this repo titled "Mobile early access" or email the address in the desktop app's About panel with your platform (iOS / Android) and TestFlight email / Google account.

    The desktop app at v0.1.9 already speaks the mobile pairing protocol — you can pair it the moment your test build is in your hands.

    Pairing & connection

    • One-scan QR pairing (Bluetooth-style flow): open Settings → Devices on the desktop, scan the on-screen QR on the phone, done.
    • mDNS / Bonjour discovery — the desktop advertises as <your-mac>.local; the phone finds it without typing IPs.
    • Auto-connect on launch — the phone reconnects to the last reachable desktop the moment it opens.
    • Reconnect on app foreground — coming back to the phone after a lock auto-restores the link via the AppState listener.
    • Conservative liveness heartbeat — no false-positive reconnects when the network briefly stutters.
    • Dead-peer reaping — zombie WebRTC connections (phones that walked out of range) are reaped server-side so the Devices list stays honest.

    Mobile features (parity rollout)

    The mobile companion now covers plans, channels, terminal, graph, and admin — broadly at parity with the desktop's plan workspace.

    Plans tab

    • Defaults to "all projects" — every plan across every CodeTrellis project on the desktop, not just the active one.
    • Browse, open, and create plans from the phone.
    • Drill into plan info, status, item tree, deviations.
    • Per-plan discussion channels — full channel rail on mobile (stuck / need-decision / need-context / handing-off / steer / weigh-in), with message threading and resolution.

    Plan authoring on mobile

    • Edit bodies and titles, post comments, set fields (status, assignee, blocked reason).
    • Create / delete items, add / remove item refs.
    • @-mention to address comments and channel posts to specific people / agents.
    • Editable titles + markdown for deviations and channel messages.
    • Body editor: Write / Preview toggle, writing-friendly font stack.

    Markdown rendering

    • Notion-style reading view for plan bodies.
    • Inline [[item]] / [[file]] / [[symbol]] / [[attachment]] chips render natively in the phone's markdown view — tap to navigate.

    Terminal panel on mobile

    • Real terminal via xterm.js running inside a WebView, streamed over WebRTC from the desktop's PTY.
    • Fit-resize so the terminal correctly tracks the phone's portrait / landscape size.
    • xterm.js is bundled offline — no CDN dependency, full air-gap.
    • Kill terminals from the phone.

    Graph on mobile

    • Interactive streamed dependency graph (live updates from the desktop's view).
    • Graph depth toggle — package / file / symbol detail levels.
    • Base mode for diff comparison against a pinned commit.
    • Git gutter showing changed files inline.
    • Graph source preview — tap a node, see the source for that file / symbol without leaving the graph.

    System docs, settings, projects, templates on mobile

    • Browse and read system docs (.codetrellis/docs/).
    • Mirror desktop settings — identity, MCP port, plan defaults.
    • Browse and open projects (with a Cancel button on the modal so you can back out cleanly).
    • Plan templates + import-from-disk.

    Handoff / mentions / presence

    • Handoff card UX on the phone when an agent posts a handing-off event.
    • @-mentions you receive ping the phone.
    • Presence indicators: see which other actors (humans, agents) are on a plan with you.

    New MCP tools (drive the phone from any agent)

    The desktop now exposes three new MCP tools that operate on the paired phone, not the desktop:

    • mobile_navigate(target, plan_uid?) — switch the phone's view: plans / channels / terminal / graph / system-docs / etc.
    • mobile_screenshot(panel?) — capture what the user is looking at on the phone (replies are chunked so screenshots of long pages no longer time out).
    • mobile_present(text, …) — post a narration card to the phone's Presence Pane (same surface as the desktop's, mirrored).

    These compose with the rest of the MCP API — any connected agent (Claude Code, Codex, Cursor, custom) can drive both the desktop and the phone in lockstep.

    Build & packaging

    • Cross-platform builds from macOS now work end-to-end with Rosetta installed. The afterPack hook (scripts/adhoc-sign.js) now checks the target platform (context.electronPlatformName) rather than the host, so cross-arch Windows / Linux builds from an Apple Silicon Mac no longer try to xattr a .app that doesn't exist.
    • werift WebRTC native deps are unpacked from app.asar so the nested node_modules resolution Just Works in packaged builds (no more MODULE_NOT_FOUND from the WebRTC stack).
    • asar packing disabled where it broke werift's nested module loader.
    • better-sqlite3 (native .node binary) is externalised in electron.vite.config so the build doesn't try to bundle it.
    • xterm.js bundled offline for the mobile WebView terminal — no runtime CDN.
    Full release notes
  6. v0.1.8

    3 June 2026stable

    CodeTrellis 0.1.8 — installer downloads.

    The source repository is currently private. We're collecting feedback before the public source release; reach out via issues here or join the conversation at codetrellis.dev.

    Full release notes
  7. v0.1.7

    23 May 2026stable

    CodeTrellis 0.1.7 — installer downloads.

    The source repository is currently private while we collect feedback before the public source release. Reach out via issues here or join the conversation at codetrellis.dev.

    What's new in 0.1.7

    The theme of this release: the agent becomes a visible, accountable presence in the workspace. It can narrate what it's doing, drive the interface to show you, declare its intent up front — and get caught when it drifts from it.

    Agent Presence Pane (new)

    A floating overlay where an MCP agent narrates its work in real time — explaining a step, walking you through the architecture, or asking you a question. Speech uses the built-in, fully-offline Web Speech API (no API keys, no audio leaves your machine). Cards are colour-toned (neutral / success / warning / question), pace themselves on acknowledgement, and include a two-way reply box so you can answer the agent without leaving the app.

    Plan lifecycle management (new)

    The plan list grew up: search and filter by title, status or ID; multi-select with bulk delete; per-plan delete behind a confirmation dialog; and a database↔disk reconciliation surface that detects orphaned plan directories and prunes them. Deleting a plan now cleans both the database row and its on-disk files — from the UI and from agents alike.

    Drift detection, end to end

    Declare what a task will touch — files and symbols — and CodeTrellis checks reality against that declaration. The plan-to-reality matcher now correctly recognises satisfied targets and flags only the unexpected ones; detect_deviations surfaces off-plan files; accepting a deviation amends the plan, reverting clears it. Detection is fresh (no phantom entries lingering after a delete) and idempotent (no duplicate deviations on repeat runs).

    The dependency graph as a presentation surface

    Planned and diff overlays now show real plan alignment — on-track / planned / unexpected — instead of raw git counts. Scoping reliably filters to a subtree in every mode, and focusing a node centres it even in large 100+ node graphs.

    The agent drives the UI — visibly

    Navigation tools (open a plan, select an item, switch views) actually move the interface now; opening a plan brings the workspace forward even from the graph view. A subtle agent-action pulse glows at the screen edge whenever the agent changes something, so you always know what was you and what was the agent. Electron screenshots fixed.

    Integrated terminal

    Real command execution (newlines submit properly), active-tab focus control, a guard that stops an agent from writing into its own host terminal, and a fix for duplicate terminal tabs.

    A bigger, self-documenting MCP surface

    Many new tools across terminal control, graph navigation, screenshots, settings, logs, clipboard and UI control — and the agent skill guides now signpost the whole surface (including the Presence Pane) so a connecting agent discovers it on its own.

    Full release notes
  8. v0.1.6

    22 May 2026stable

    CodeTrellis 0.1.6 — installer downloads.

    The source repository is currently private. We're collecting feedback before the public source release; reach out via issues here or join the conversation at codetrellis.dev.

    Full release notes
  9. v0.1.5

    21 May 2026stable

    CodeTrellis 0.1.5 — stability, durability, and bug fixes.

    What's new

    • Stability improvements — graceful shutdown, connection limits, and dev-mode stability hardening
    • Durability — incremental parsing and tree-sitter WASM durability fixes; hardened backend against parallel load and event-loop starvation
    • Bug fixes — general reliability improvements across the board
    • Marketing asset pipeline — automated 4K screenshot and 1080p video capture for codetrellis.dev
    Full release notes
  10. v0.1.4

    18 May 2026stable

    v0.1.4 — Plan Authoring, Integrated Terminal & UX Overhaul

    Major release covering Phases 13–17: plan export/import, plan workspace redesign, and integrated terminal with agent presets.


    Phase 17 — Plan Authoring & Execution

    • Integrated terminal with full ANSI color support — launch Shell, Claude, Codex, or Aider sessions directly inside CodeTrellis, each color-coded
    • Terminal works in desktop app — bidirectional IPC bridge for PTY I/O, terminals default to the project directory
    • Selection-driven planning (17.C) — select nodes on the graph, right-click to create plan items anchored to those files/symbols
    • Symbol-aware expansion (17.D) — plan items can reference specific functions, classes, and methods
    • Constraints & guardrails (17.F) — define boundaries for what agents should and shouldn't touch
    • One-click handoff (17.H) — hand a plan directly to an agent with pre-built context
    • Plan import (17.I) — import plans from GitHub Issues, Linear, Jira, or plain text
    • Live execution dashboard (17.J) — real-time view of agent progress against the plan
    • Approval gates (17.K) — require human sign-off before agents proceed past checkpoints
    • Drift detection UI (17.L) — visual alerts when agent work diverges from the plan
    • Completion retrospective (17.M) — summary view of what was planned vs what was delivered
    • Claim restrictions (17.O) — control which agents can work on which plan items
    • Cascade UI (17.P) — changes to parent items propagate to children
    • Readiness scoring — plans show a readiness percentage based on completeness of spec, tasks, and context
    • Plan templates — start from pre-built templates for common workflows

    Phase 16 — Plan UX Overhaul

    • V2 plan workspace replaces V1 as the sole experience — cleaner, faster, more intuitive
    • Progressive disclosure (16.B) — clean empty states, contextual actions appear when relevant
    • Plan dashboard polish (16.C) — improved sidebar, better navigation
    • Simplified +Add menu (16.D) — reduced from 10 options to 5 clear choices
    • Graph integration (16.E) — context menu on graph nodes, split view, live highlighting of plan-referenced files
    • Cmd+\ split view — keyboard shortcut to toggle plan/graph side-by-side
    • Drag-to-reorder in plan item tree

    Phase 15 — Plan Workspace Foundation

    • V2 plan workspace architecture laid down
    • Phase completion and transition to V2-only experience

    Phase 14 — Human-First Plan Workspace

    • Plan workspace designed for human authoring first, agent execution second

    Phase 13 — Plan Export & Multi-Device

    • Manual plan export/import (13.A) — export plans to disk, import on another machine
    • Auto-sync (13.B) — file-to-DB write-through with file watcher
    • Templates as publishable repos (13.C) — share plan templates via git
    • Settings surface + identity (13.D/E) — configure user identity for plan authorship

    Bug Fixes

    • Fix terminal in desktop app — Electron IPC shim now supports bidirectional WebSocket for terminal PTY I/O (was broadcast-only)
    • Fix terminal WebSocket URL parsing in Electron file:// mode — regex matching instead of URL constructor
    • Terminal defaults to project directory when a workspace is open
    • Multi-listener terminal service — WebSocket and IPC consumers coexist cleanly
    • Fix WebSocket "Invalid frame header" loop — noServer mode with manual upgrade routing
    • Fix terminal 500 error — node-pty upgraded for Node 25 compatibility
    • Fix plans/discover 404 — route ordering issue
    • Fix "Cannot update component while rendering" React warning
    • Fix duplicate React key warnings in PackageNode
    • Fix multi-agent contention — per-session MCP server instances
    • Fix Open Project regression in packaged app
    • Fix plan auto-sync flake — pre-mkdir plans directory before watcher

    E2E Testing

    • E2E harness Phases 1–3: fixture scaffolding, scripted MCP agent, multi-agent contention tests, plan-export round-trip, cross-system edge tests
    Full release notes
  11. v0.1.3

    29 April 2026stable

    CodeTrellis 0.1.3 — installer downloads.

    The source repository is currently private. We're collecting feedback before the public source release; reach out via issues here or join the conversation at codetrellis.dev.

    Full release notes
  12. v0.1.2

    29 April 2026stable

    CodeTrellis 0.1.2 — installer downloads.

    The source repository is currently private. We're collecting feedback before the public source release; reach out via issues here or join the conversation at codetrellis.dev.

    Full release notes
  13. v0.1.1

    29 April 2026stable

    CodeTrellis 0.1.1 — installer downloads.

    The source repository is currently private. We're collecting feedback before the public source release; reach out via issues here or join the conversation at codetrellis.dev.

    Full release notes
  14. v0.1.0

    28 April 2026stable

    CodeTrellis 0.1.0 — installer downloads.

    The source repository is currently private. We're collecting feedback before the public source release; reach out via issues here or join the conversation at codetrellis.dev.

    Full release notes