v1.6.0 — Dashboard, CI Indexes, and Feature Parity
Released: 2026-04-19
The pricing-page parity release. Every feature advertised on the Canopy website is now implemented and functional. This release adds the visual dashboard, CI-optimized index caching, and tier-aware MCP behavior — the last pieces needed for feature completeness across all four license tiers.
Dashboard (Solo+)
Section titled “Dashboard (Solo+)”A local web dashboard for visual codebase exploration. Runs as part of canopy serve or standalone via canopy dashboard.
canopy serve --dashboard— starts the MCP server with the dashboard enabled on port 4040canopy dashboard— launches the dashboard independently without the MCP server- 12 API endpoints under
/api/v1/:/status— index health, file counts, symbol counts, and version info/health— health check results with severity breakdown/search— full-text code search with highlighted results/hotspots— files ranked by churn frequency (commits x lines changed)/symbols— symbol browser with kind filtering and pagination/graph/imports,/graph/dependents,/graph/cycles— dependency graph queries/graph/architecture— architecture map generation
- Embedded SPA — the dashboard frontend is compiled into the binary at build time. No external assets or CDN required.
CI-Cached Indexes (Team)
Section titled “CI-Cached Indexes (Team)”Team-tier users can cache indexes to Cloudflare R2, eliminating full re-indexing on every CI run.
canopy index --cache-to r2://bucket/key— pushes the completed index to R2 after a full buildcanopy index --use-cache r2://bucket/key— pulls a cached index before building, only re-indexing changed files- Example CI configs — GitHub Actions and GitLab CI templates in the docs showing optimal cache strategies
- Repo registry — new
~/.canopy/repos.jsontracks multiple repositories with their index paths, R2 cache keys, and last-indexed timestamps
Tier-Aware MCP Instructions
Section titled “Tier-Aware MCP Instructions”The MCP server now customizes its system prompt based on the active license tier.
- Community tier — instructions mention the 3 available tools and suggest upgrading for full access
- Solo tier — instructions include workflow tools (
canopy_prepare,canopy_validate) and dashboard mention - Pro tier — adds semantic search and advanced graph tools
- Team tier — adds shared configs, CI caching, and admin portal references
- Prepared-files tracking — the MCP session tracks which files have been prepared, preventing duplicate
canopy_preparecalls within a session
Admin Session Revocation (Team)
Section titled “Admin Session Revocation (Team)”Team admins can now revoke active sessions server-side.
admin_sessionsD1 table — tracks all active admin portal sessions with creation time and expiry- Session invalidation API —
DELETE /admin/sessions/:idimmediately invalidates a session - Reassignment history — seat reassignments are logged with timestamps, old holder, new holder, and admin who made the change
Rate Limiting
Section titled “Rate Limiting”/activateendpoint — rate-limited to 10 activations per license key per hour- Abuse alert webhook — when rate limits are hit, a webhook fires to the configured alert endpoint with the offending key ID and IP
Changed
Section titled “Changed”semantic_searchmoved to Pro tier — was Solo, now requires Pro. Solo users retain all 21 MCP tools but semantic search results are replaced with a tier-upgrade message.dependency_graphungated for Solo — was Pro-only, now available to Solo and above. Viewing the dependency graph of your own codebase shouldn’t require a Pro license.- License feature gating is now tier-based —
is_feature_enabled()checksfeatures_for_tier(tier)instead of the signed features array. This means existing license files automatically gain access to new features added to their tier in future releases without re-keying. - Removed
pluginsandvolume_keysfeatures — these were listed on the pricing page but provided no value. Removed from the codebase, pricing page, and documentation.
/api/v1/hotspotsSQL error — the query joined onfc.file_pathbut thefile_changestable column isfc.path. Fixed.canopy licensedisplaying stale features — the CLI showed the features array from the signed license file instead of the current tier’s feature set. Now usesfeatures_for_tier().canopy --versionshowing old version — workspaceCargo.tomlversion was not bumped after feature parity changes.- CI gate failures — resolved formatting, clippy, test, and supply chain audit failures across the full workspace.
Security
Section titled “Security”- Heartbeat log purge — a Cron Trigger now deletes heartbeat records older than 90 days from D1, preventing unbounded table growth.
- Air-gapped builds —
reqwestis now an optional dependency behind thenetworkfeature flag. Air-gapped builds (--no-default-features --features air_gapped) produce a binary with zero network dependencies.
Upgrade Notes
Section titled “Upgrade Notes”Drop-in replacement for v1.5.x. No breaking changes to MCP tool signatures, CLI commands, or the license file format.
License files are forward-compatible. Existing Solo, Pro, and Team licenses automatically gain access to the dashboard and any future features added to their tier. No re-keying required.
The plugins and volume_keys features have been removed. If your license file listed these features, they are simply ignored — no error, no degradation.
All 12 workspace crates now declare publish = false since Canopy is a commercial product distributed via R2, not crates.io.