Skip to content

0.8.0

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 24 May 08:35
· 152 commits to main since this release

Canv 0.8.0

Downloads

File Platform
Canv-0.8.0-arm64.dmg macOS (Apple Silicon)
Canv-0.8.0.dmg macOS (Intel)
Canv-Setup-0.8.0.exe Windows (NSIS installer)
Canv-0.8.0.exe Windows (portable)
Canv-0.8.0.AppImage Linux (x86_64)
canv_0.8.0_amd64.deb Linux Debian / Ubuntu (amd64)
canv-0.8.0.x86_64.rpm Linux Fedora / RHEL / openSUSE (x86_64)

macOS builds are unsigned. On first launch right-click the app and choose Open to bypass Gatekeeper.

Features

  • Extensions — a sandboxed add-on system. Install extensions per workspace to extend the app through six contribution types:
    • Panels in the left sidebar or bottom dock, custom file viewers/editors (fileHandler), language/syntax support, commands, file-tree context-menu items, and status-bar widgets.
    • A phased, sandboxed runtime exposing a controlled canv.* API; bottom-dock panels also surface in the pop-out window.
    • Install from a folder or a packaged file, with an install-consent step that discloses each extension's capabilities (workspace.write, activeDoc.read, net, ai, …) and the network hosts it may reach.
    • A two-layer trust gate — workspace trust plus per-extension trust — so opening someone else's workspace never runs code silently. Enable/disable, reload, crash recovery, and uninstall from the Extensions tab.
  • Theme system overhaul. A proper theme catalogue replaces the old dark/light radio and accent picker:
    • New themes — Dracula, Synthwave '84, Solarized Dark / Light, Nord, Tokyo Night, Gruvbox, Dark 2026, and an Alucard light variant — chosen from a single dropdown in Settings → Appearance, plus a Match system option.
    • Semantic colour tokens across the whole UI (enforced by a canv/no-raw-color lint rule). The window titlebar overlay now syncs to the active theme and persists the last pair, so launch paints in-theme from the first frame.
  • @-mention file picker in chat. Type @ in the chat box to fuzzy-find a workspace file and drop a reference to it into your message — full keyboard and click flow, with parity in the popped-out dock.
  • Generative sites. Ask the assistant to build a small interactive view (timeline, board, chart) as a static site under .canv/sites/; it's registered in the Sites panel and served back at a local URL.
  • Services & contributions architecture. A typed ICanvServices registry with a ServicesProvider, a contribution loader, and Disposable / DisposableStore primitives. App.tsx is split into focused contributions — theme/accent application, idle autosnapshot, app commands, the dock bridge, extension keybindings, and the quota-error toast.
  • Editor & filesystem hardening. Inline selection tracking in the floating toolbar; per-cursor-move large-string allocations eliminated; debounced word-count with a gated recompute window; autosave widened to 5s. The filesystem layer now preserves EOL/BOM, refuses non-UTF-8 and oversize files behind a single MAX_OPEN_BYTES limit, and threads encoding through tool writes.
  • Settings. A schema-driven settings form, an MCP server configuration UI, model pricing overrides, and a per-agent model picker.
  • Removed: remote (SSH) workspaces. Remote-workspace support is gone — the renderer UI, Electron main support, the remote filesystem service, preload branches, and the ssh2 / ssh-config dependencies are all removed, and WorkspaceKind collapses to a single local kind. For remote files, use a file-sync tool (rsync, sshfs, your sync of choice) with a local Canv workspace on the synced folder.

Fixes

  • Sidebar provider/model picker — empty-state now hides unconfigured providers and models, and the placeholder is shortened so it no longer clips.

Chores

  • App version is interpolated from package.json into the welcome chrome (migration modal and empty-state) via Vite's define, so the version on screen always matches the build.
  • Docs — the user guide was regenerated against 0.7.x/0.8.0: new pages for connecting an AI (including local Ollama) and for extensions plus the trust model; all remote-workspace content removed; appearance/themes and the chat @-mention picker documented.