Skip to content

Releases: FluidWorksApp/canopy-ide

Canopy 0.2.1

Choose a tag to compare

@github-actions github-actions released this 20 Jul 02:19

The collaboration release: your issue tracker, your teammates, and your own colour scheme all move inside Canopy — and everything you can see, you can open.

Team relay — work alongside other people

  • Encrypted peer-to-peer sessions. Host or join with a short code; there is no server in the middle. The code drives a SPAKE2 key exchange and every frame and file is sealed with ChaCha20-Poly1305, so the channel is safe to carry over the internet, not just a trusted LAN.
  • Local hosting works out of the box — teammates on the same network (office, VPN) join via your LAN address. Hosting to the internet needs TCP port forwarded to your machine on your router; there is no NAT traversal or hole punching yet, so a public-mode host is not reachable without that.
  • Team chat and direct messages, with history, unread badges, and native notifications for the conversation you are not looking at.
  • Review requests: send a teammate a PR and it opens in their Canopy as a native tab, not a browser round-trip.
  • File transfer with drag-and-drop, live progress, verified identity, and an integrity check on arrival.

Issues and tickets — natively viewable

  • Unified Issues panel: one status-grouped list across sources, with source pills. GitHub is on by default; Linear is opt-in.
  • Send an issue to an agent — an existing terminal or a fresh one, with a worktree and branch prepared for it.
  • Issues, commits, and branches open as native tabs. Nothing bounces you to a browser to read a diff.
  • Loose ends: every branch and worktree audited by what you would actually lose if you deleted it — dirty, unpushed, unmerged, or genuinely safe. Each row opens the real diff.
  • History opens commits as tabs; quick-open and search stop hiding dotfiles (your .env is findable again).

Appearance and settings

  • Themes: dark, light, and system, with accent colours that follow whatever the system picks.
  • A real Settings dialog — VS Code-style tabs for appearance, agents, editor, terminal, guard, and integrations — plus a Help page and a settings gear on the rail.
  • Font and cursor control for both the terminal and the editor, picked from a dropdown of what is actually installed rather than typed into a text box.
  • Tracker connections and GitHub sign-in/out live in Settings → Integrations.

Security

  • Issue bodies are sanitized. Rendered markdown from a remote tracker reached the page unsanitized, and every Tauri command is callable from page script — so an <img onerror> in an issue you opened was arbitrary command execution. Now sanitized through a single vetted path, with a CSP and hardened link handling behind it.
  • Relay join codes are unguessable. They came from a non-cryptographic hash of the clock. SPAKE2 protects a short code against offline attack only if the code itself cannot be predicted; the code and the file-transfer keys now come from the OS CSPRNG.
  • Accepting a file no longer destroys the file it replaces. The destination was truncated before any bytes arrived and deleted on failure. Transfers now land in a temp file and are renamed into place only after the hash checks out.
  • Stopping a relay session now actually retires its in-flight file listeners.

Fixes

  • Terminals stop garbling output after a tab switch. A grid measured mid-layout could be pushed to the shell, which then re-wrapped its output at the wrong width — permanently, in scrollback. Measurements are now verified before they reach the pty.
  • Terminals re-measure when fonts resolve and when the window regains focus, so a drifted grid repairs itself instead of staying broken for that terminal's life.
  • Toasts have kinds: failures stay until read, everything else clears itself.
  • Flat buttons everywhere, dialogs that wrap their text, hover actions that no longer land on top of the content they cover, and hidden actions that stop reserving empty space.
  • Dev builds run beside an installed copy instead of fighting it for the single-instance lock.

Installing

  • macOS: Canopy-macos-arm64.dmg (Apple silicon) or Canopy-macos-intel.dmg.
  • Linux: Canopy-linux-x86_64.AppImage, .deb, or .rpm.
  • Windows: Canopy-windows-x86_64-setup.exe — still unsigned, so Windows will show a SmartScreen warning. Choose More info → Run anyway.

Existing installs update themselves; the Canopy-* names above are stable aliases that always point at the latest release.

Full changelog: v0.2.0...v0.2.1

Canopy 0.2.0

Choose a tag to compare

@github-actions github-actions released this 19 Jul 10:35

The agent-parity release: Canopy stops being a Claude-only IDE. Every agent CLI with an integration surface now feeds the same panels, plus a big idle-footprint cut, a resource breakdown, project CRUD, and Windows builds.

Agents — parity beyond Claude Code

  • All seven CLIs integrate (Claude Code, Codex, Antigravity, Aider, OpenCode, oh-my-pi, Amp): hook/plugin auto-setup at boot, per-CLI setup buttons in the Agents panel, and a research dossier at docs/agent-parity.md.
  • Codex: full hooks (incl. permission requests) with the legacy notify kept for older versions; shared-context injection.
  • Antigravity: Agent Hooks + OSC 9 notifications wired; sessions detected, restorable via agy --conversation.
  • Aider: waiting-for-input (incl. y/n confirms) surfaces as cards via its notifications-command.
  • OpenCode / oh-my-pi / Amp: generated bridge plugins forward session, tool, and permission events.
  • Agent detection derives from the CLI registry (no more hand-maintained regex drift); Gemini CLI leaves the launcher (Google retired its individual login; Antigravity is the successor).
  • Universal fallback: an agent that goes quiet after working rings its tab, hooks or not.
  • Restore sessions now lists non-Claude conversations (they were hidden behind Claude-specific checks).

Agent UX

  • Needs-your-input redesigned: questions, permission requests, and "finished" are distinct; one urgent card per session; cards are dismissible; viewing the terminal auto-clears them; single-select questions are answerable directly from the panel.
  • Model switcher on the status-bar model chip — switches the live Claude session via /model, with a context warning first.
  • Tab strip puts agents first: tinted tabs with a live dot, then shells, then files/PRs.

Performance

  • Process monitor no longer re-reads every process's command line each tick, and idles when no terminals are open.
  • Token/cost tray parses transcripts incrementally instead of re-reading multi-MB files every 8s.
  • Stats updates no longer re-render every open project; hidden projects pause their polling entirely.

IDE

  • Resource breakdown: click the cpu/mem chip for per-project → per-terminal → per-process usage, with listening ports and a Core-services line.
  • Project manager: titlebar "Projects ▾" / ⌘⇧M — create, open, edit, delete any project, with a proper delete confirmation.
  • Project dialog redesigned: directory cards with a clear, explained run-commands zone.
  • Terminals repaint instantly on tab switch (no more blank-then-fill); links in terminals open in your browser.
  • Shortcuts: ⌘⌥←/→ cycle projects, ⌘1–9 jump to a project, ⌘⌫ kills the line; Ctrl+Tab still cycles tabs.
  • CLI install buttons refresh when the installer finishes instead of on a timer.

Platform

  • canopy <dir> opens a directory from the command line (Canopy → Install 'canopy' Command…).
  • Automatic update checks (launch + every 12h); .deb/.rpm installs are pointed at the downloads page.
  • First Windows build (NSIS installer) — unsigned for now, expect a SmartScreen warning.

Full changelog: v0.1.0...v0.2.0

Canopy 0.1.0

Choose a tag to compare

@github-actions github-actions released this 19 Jul 04:55
6b10c7f

The first release of Canopy — a local-first, memory-light desktop IDE for driving code with agents. Run Claude Code, Codex, Aider and friends in a first-class terminal, and see what changed and what's running, in one native window.

Which file do I want?

Your machine Download
Mac with Apple Silicon (M-series) Canopy-macos-arm64.dmg
Mac with Intel Canopy-macos-intel.dmg
Linux — any distro Canopy-linux-x86_64.AppImage
Linux — Debian / Ubuntu Canopy-linux-x86_64.deb
Linux — Fedora / RHEL Canopy-linux-x86_64.rpm
Windows coming soon — watch this repo

Not sure? canopyide.dev/downloads detects your platform and hands you the right file.

Highlights

  • Agent-native terminal — a launcher for Claude Code, Codex CLI, Amp, Aider, Gemini CLI, OpenCode and any shell, with full TUI support (vim, htop, tmux just work)
  • Diff-first — agents edit under you, you get side-by-side diffs, never a silent reload; a git-backed Changes panel groups everything touched
  • Multi-project, multi-component — label your directories (frontend, backend, …) and give each its run commands in the RUNS rail
  • Session awareness — every agent session across the project: branch, task, CPU/memory, ports; sessions survive crashes with one-click restore
  • Native Git — staging, stash, branches, worktrees, history and PRs, one rail from the terminal
  • Light — Rust core, no Electron, no extension host; ~5% CPU, ~120 MB with agents running

Good to know

  • The macOS builds are signed and notarized. The .dmg and .AppImage auto-update in-app; .deb/.rpm update through your package manager.
  • The .sig, .app.tar.gz and latest.json assets are the auto-updater's plumbing — the app downloads them itself.
  • MIT licensed. Issues, PRs and strong opinions welcome: CONTRIBUTING.md