Changelog
v0.2.0
Section titled “v0.2.0”VS Code Extension
Section titled “VS Code Extension”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 showcontent 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.jsonthat pointed to nonexistent files.
Version
vscode-symtrace/package.jsonandpackage-lock.json:0.2.0
CLI Engine (Rust)
Section titled “CLI Engine (Rust)”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 aftercanonicalize()rejects non-directory paths with a clear error before any git operations. - Dynamic CLI version —
--versionnow derives fromCargo.tomlviaenv!("CARGO_PKG_VERSION")instead of a hardcoded string. - Mutex poisoning — All mutex acquisitions in
AstCacheandTreeCacheuse.lock().unwrap_or_else(|e| e.into_inner())for graceful recovery.
Version
Cargo.toml:0.1.1→0.2.0
Documentation
Section titled “Documentation”- 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).
Files Changed
Section titled “Files Changed”| File | Change |
|---|---|
Cargo.toml | Version 0.1.1 → 0.2.0 |
src/cli.rs | Dynamic version via env!("CARGO_PKG_VERSION") |
src/main.rs | Added is_dir() path validation |
src/ast_cache.rs | Added Unix 0o700 cache directory permissions |
SECURITY.md | Updated audit; added/resolved findings 2.3, 2.7, 2.8, 2.9 |
README.md | Added logo, updated content |
vscode-symtrace/package.json | Fixed icon paths, version 0.2.0 |
vscode-symtrace/package-lock.json | Version 0.2.0 |
vscode-symtrace/README.md | Added logo, full documentation |
vscode-symtrace/src/** | Full extension implementation (new) |
vscode-symtrace/media/* | Branding assets |
v0.1.1
Section titled “v0.1.1”Initial public release of the CLI engine with AST-based semantic diffing, tree-sitter language support, and JSON output.