0.7.1
Pre-release
Pre-release
Canv 0.7.1
Downloads
| File | Platform |
|---|---|
Canv-0.7.1-arm64.dmg |
macOS (Apple Silicon) |
Canv-0.7.1.dmg |
macOS (Intel) |
Canv-Setup-0.7.1.exe |
Windows (NSIS installer) |
Canv-0.7.1.exe |
Windows (portable) |
Canv-0.7.1.AppImage |
Linux (x86_64) |
canv_0.7.1_amd64.deb |
Linux Debian / Ubuntu (amd64) |
canv-0.7.1.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
- Revision Archaeology — a full workspace History system. A new git-backed history store (
canv-history) sits alongside your workspace and captures snapshots without polluting your own repo:- Workspace setup modal on first use, with a per-workspace config.
- Bracketed AI turns — automatic before/after snapshots around each agent run, plus an idle autosnapshot hook that captures quiet moments.
- History tab replaces the old Git tab (gated on Revision Archaeology), with snapshot list, reason badges, and computed deltas.
- Expanded snapshots show the computed delta vs the working tree, with human-readable base labels in the diff tab (not SHAs).
- File History panel — per-file revision walk in the bottom panel, openable from the Files tab's right-click "View history", with pop-out support.
- Restore preview dialog — diff a file or whole snapshot against current, then restore with an automatic
before_rollbacksafety snapshot. - Smart timestamps across the History sidebar and file-history panel — relative dates ("today 14:32", "yesterday", "Mon") with full timestamps on hover.
- Ollama provider — local, zero-cost LLMs. Full first-class adapter alongside the cloud providers:
- Non-streaming and NDJSON streaming via
/api/chat, with mid-stream abort returning partial text. /api/tagsmodel discovery, a Refresh models button in Settings, auto-refresh on startup, and a status line.- Native tool-call extraction on any NDJSON line, configurable base URL plumbed through Settings → runner → adapter.
num_ctxraised to 32 768 so chapter-length context and tool definitions both survive the prompt.- Per-action and pricing tables read from the refreshed model list — no more stale seed models.
- Non-streaming and NDJSON streaming via
- Configured-provider filtering everywhere. The sidebar workspace picker, chat picker, per-action picker, and Settings pricing tables now only list providers you have credentials for. Unconfigured providers no longer leak into pickers as ghost options.
- Windows builds. Release workflow now builds and publishes a Windows NSIS installer and a portable
.exefor every release tag. - Factory reset IPC handler to wipe Electron
userDataon demand. - Settings reshuffle. A new credentials-only Settings section; the sidebar footer owns the default provider / model picker; Chat tool budget moved into the Generation section.
Fixes
- macOS auto-stop and Windows afterPack in the Release workflow — unblocks 0.7.x packaging.
- Boot ordering — profile picker and workspace-setup modal are now gated on a workspace actually being open.
- Middle-click tab close is deferred to
onAuxClick, so it no longer triggers a paste of the X clipboard. - Electron 42 build — stub
cpu-featuresto unblock the rebuild; History tab now uses a clock glyph instead of the git-branch icon. - History polish — suppress conflict popup on restore, hide diff/restore on added rows, cancel stale
FileHistoryfetches, suppress stalesetState, includeworkspace_initingetFileHistory, aligngetSnapshotDeltapolarity withgetCurrentChanges, restore-mutex + schema validation hardening from code review. - CSP — allow
http:inconnect-srcso Ollama base URLs reach the renderer. - Lint — satisfy
react-hooks/exhaustive-depsand the set-state-in-effect rule across new history and picker code. - Site — accurate copy for the inline-diff capability card; render markdown bodies in the custom docs loader; rewrite inter-page
.mdlinks to clean URLs; move the screenshot capture brief out ofpublic/so it isn't served; clean edit URLs via loader-injectededitUrl.
Chores
- Dependency majors: Tailwind 4 (via the official upgrade tool), Electron 42, electron-builder 26, chokidar 5, Zod 4 (with symbol path-segment handling), Vitest 4, jsdom 29,
@types/jsdom28,wait-on9,@types/node25; dropped@types/diffand@types/dompurify(both self-typed now). - Docs — refreshed user guide pages.
- Tests — end-to-end history flow, Ollama streaming tool calls + mid-stream abort + non-streaming tool-call parsing, chat short-circuit on per-active key gap, adapter fixtures widened for Ollama.
- Refactors — drop
shortTime(superseded bysmartTime); match sibling adapters'wireErrorstyle; usegit.readBlobfilepath inreadBlobOidAt.