Skip to content

Changelog

New Features

  • Expanded Language Support — 9 first-class languages/formats supported: Rust (.rs), JavaScript (.js, .jsx, .mjs, .cjs), TypeScript (.ts, .tsx), Python (.py, .pyi), Java (.java), C (.c, .h), C++ (.cpp, .hpp, .cc, .cxx, .h++), Go (.go), and JSON (.json, .jsonc).
  • Native Git Diff Driver — Added symtrace git-diff-driver subcommand for native integration into git config and .gitattributes.
  • Path Glob Filtering — Filter diff analysis using --path <GLOB> (-p), allowing targeting of specific file patterns.
  • Positional Argument Defaults — Running symtrace with no arguments automatically defaults REPO_PATH to ., COMMIT_A to HEAD~1, and COMMIT_B to the working tree.
  • Staged Index Comparison — Support for --staged / --cached flags to compare staged index files against COMMIT_A.
  • Interactive Shell Pager — Automatic output piping to $GIT_PAGER / $PAGER (less -RFX) for interactive TTY execution.
  • Configuration File Loader — Hierarchical loader for .symtracerc and symtrace.toml TOML config files (CLI Flags > Repo Config > User Config > Defaults).
  • ANSI Color Controls — Added --color <auto|always|never> flag and [output] color config setting respecting NO_COLOR.
  • Dual-Path Git Rename Tracking — Retains both old_path and new_path across file rename events.

Security & Provenance

  • Enforced zero unsafe Rust (#![deny(unsafe_code)]).
  • Sigstore/Cosign keyless OIDC signing, SPDX SBOM (symtrace.spdx.json), and GitHub Artifact Attestations added for release assets.

Version Updates

  • Cargo.toml: 0.2.00.3.0

New Features

  • Updated compatibility with Symtrace core engine v0.3.0.
  • Expanded language support in VS Code for C, C++, Go, and JSON (.c, .h, .cpp, .hpp, .go, .json).
  • Added extension settings for --path glob filtering (symtrace.pathGlob) and --color terminal settings (symtrace.color).
  • Improved welcome view with updated language matrix.
  • 4-tier binary resolution strategy (symtrace.path config → system PATH → cached → GitHub releases auto-download).

Version Updates

  • vscode-symtrace/package.json: 0.2.00.3.0

  • Activity bar panel — Dedicated symtrace sidebar with a welcome view.
  • 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 open files.
  • Git commit picker — QuickPick UI for selecting any two commits or comparing a commit against its parent.
  • Auto-download binary — 4-tier resolution for seamless binary acquisition.
  • Side-by-side diff view — Compare old vs new file content via git show content provider.
  • Tree view — Browse operations per file with classification badge, summary, and performance metrics.
  • Cache directory Unix permissions set to 0o700 (owner-only).
  • Repository path validation with explicit is_dir() checks.
  • Dynamic version generation via env!("CARGO_PKG_VERSION").
  • Graceful Mutex poisoning recovery in AstCache and TreeCache.

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