Skip to content

Changelog

New features

  • Activity bar panel — Dedicated symtrace sidebar with a welcome view; no command palette required for common operations.
  • Interactive webview report — Full HTML diff report with collapsible file cards, similarity progress bars, and CSP nonce enforcement.
  • Inline editor decorations — 5 color-coded operation annotations rendered directly in your open files: [INSERTED], [DELETED], [MODIFIED], [MOVED], [RENAMED].
  • Git commit picker — QuickPick UI for selecting any two commits, or comparing a commit against its parent.
  • Auto-download binary — 4-tier resolution: configured path → system PATH → local cache → GitHub releases auto-download. No manual setup required.
  • Side-by-side diff view — Click any operation to open old vs. new file content via a git show content provider.
  • Tree view — Browse operations per file with classification badge, refactor pattern summary, cross-file events, and performance metrics.
  • Cancellable analysis — Progress notification with explicit cancellation support for long-running comparisons.

Branding

  • Sidebar activity bar icon uses symtrace-icon-512.png (symbol only).
  • README / Marketplace uses symtrace-logo.png (symbol + name).
  • Fixed icon references in package.json that pointed to nonexistent files.

Version

  • vscode-symtrace/package.json and package-lock.json: 0.2.0

Security hardening

  • Cache directory permissions — Unix cache directories are now created with 0o700 (owner-only) to block other local users from reading cached AST data.
  • Repository path validation — Explicit is_dir() check after canonicalize() rejects non-directory paths with a clear error before any git operations.
  • Dynamic CLI version--version now derives from Cargo.toml via env!("CARGO_PKG_VERSION") instead of a hardcoded string.
  • Mutex poisoning — All mutex acquisitions in AstCache and TreeCache use .lock().unwrap_or_else(|e| e.into_inner()) for graceful recovery.

Version

  • Cargo.toml: 0.1.10.2.0

  • Root README.md — Added logo banner, VS Code extension section with feature highlights and quick install instructions.
  • Extension README.md — Added logo banner, full feature list, getting started guide, settings/commands tables, and architecture diagram.
  • SECURITY.md — Updated audit date; added and marked resolved findings 2.7 (cache permissions), 2.8 (path validation), 2.9 (version hardcoding), and 2.3 (mutex poisoning).

FileChange
Cargo.tomlVersion 0.1.10.2.0
src/cli.rsDynamic version via env!("CARGO_PKG_VERSION")
src/main.rsAdded is_dir() path validation
src/ast_cache.rsAdded Unix 0o700 cache directory permissions
SECURITY.mdUpdated audit; added/resolved findings 2.3, 2.7, 2.8, 2.9
README.mdAdded logo, updated content
vscode-symtrace/package.jsonFixed icon paths, version 0.2.0
vscode-symtrace/package-lock.jsonVersion 0.2.0
vscode-symtrace/README.mdAdded logo, full documentation
vscode-symtrace/src/**Full extension implementation (new)
vscode-symtrace/media/*Branding assets

Initial public release of the CLI engine with AST-based semantic diffing, tree-sitter language support, and JSON output.