Changelog
v0.5.0: 2026-08-17
Section titled “v0.5.0: 2026-08-17”CLI Engine & Core Architecture (Rust)
Section titled “CLI Engine & Core Architecture (Rust)”Adaptive Granularity & Compact Diffs
- Adaptive Granularity Controller: Automatically selects between
MicroCompact,Standard, andFullStructuraldisplay modes based on changeset size, delivering a +85.9% Noise Suppression Ratio (NSR). - Micro-Compact Renderer (
--compact): High-density 1-3 line inline token diff output for single-line changes and micro-commits (~ src/server.rs:L42 [MODIFY] port: 8080 -> 3000 (95%)). - Verbose Diagnostic Flag (
--full-headers/--verbose): Forces full structural banners, timing diagnostics, and blast radius tables.
Cross-File Call Graph & Blast Radius Engine
- Call Graph DAG (
src/call_graph.rs): Extracts function definitions and call sites across files to build repository call graph DAGs. - Transitive Blast Radius Calculation: Computes downstream caller impact up to depth 5 with severity classification (
LOW,MEDIUM,HIGH) when function signatures or interface contracts change.
Semantic Type Equivalence & Safety Contracts
- Contract & Safety Guard Alerting (
src/semantic_type.rs): Detects removed null checks (REMOVED_NULL_CHECK), deleted bounds guards (REMOVED_BOUNDS_CHECK), stripped mutex concurrency locks (STRIPPED_LOCK_GUARD), and omitted resource cleanup (OMITTED_RESOURCE_CLEANUP). - Type-Safe Refactoring Identification: Recognizes safe idioms such as Option-to-Result conversions and primitive widening (
i32->i64).
Declarative AST Semantic Linter (symtrace lint)
- Standalone
lintSubcommand: Evaluates custom Tree-sitter.scmrules across codebases with automated CI failure thresholds (--max-warnings <N>). - Severity & Message Directives: Supports
;; @severity ERROR|WARN|INFOand;; @messagetemplates with$fileand$linevariable interpolation.
AI / LLM Context Optimization Format (--format prompt)
- Token Density Optimization: Emits structured semantic diff context reducing prompt token consumption by ~80% for AI coding assistants (Gemini, Claude, GPT).
Two-Tier CAS Diff Caching & SIMD Acceleration
- Precomputed CAS
FileDiffCache (src/ast_cache.rs): Keyed byDiffCacheKey(old_blob_oid || new_blob_oid || logic_only || limits_hash), returning warm diff records in under 0.004 ms. - SIMD Multiset Jaccard (
src/semantic_similarity.rs): AVX2/SSE 16-bin frequency histogram computation (simd_jaccard_histogram_16) and 64-bit token bitset pre-filtering (token_bitset). - 16-Shard
RwLock& Atomic Commits: Thread contention eliminated on 32+ core systems; cache files written atomically to prevent partial corruption.
AST Merge Driver Hardening (src/merge_driver.rs)
- AST Scope Splicing & Re-parse Validation: Validates syntax integrity via tree-sitter re-parsing (
has_ast_errors()) before committing 3-way merge resolutions.
Test Suite & Benchmark Validation
- 100% Pass Rate: 332 automated invariant and property-based tests passing in ~0.72s.
v0.4.0: 2026-08-08
Section titled “v0.4.0: 2026-08-08”CLI Engine (Rust)
Section titled “CLI Engine (Rust)”Core Architectural & Performance Overhaul
- Zero-Copy Git Blob OID Caching: Keying directly off Git Blob OIDs (
git2::Oid), warm cache lookups bypass file loading and tree-sitter parsing for <1ms execution. - Single-Handle Shared Reader (
SharedBlobReader): Replaced per-thread repository opening with lock-free shared Git blob access, delivering a 35% to 45% I/O speedup. - Native Git Rename Detection: Enabled
diff.find_similar()ingit2::DiffOptionsto leverage Git’s native rename hints before AST parsing. - Thread-Local Arena & Parser Pool (
BumpaloRecycler): Recyclesbumpalo::Bumparenas andtree_sitter::Parserinstances across worker threads, reducing memory footprint by 50%. - Global Multi-File AST Node Index (
GlobalNodeIndex): Multi-file AST node indexing unifies cross-fileMOVEandRENAMEdetection at O(N log N) complexity. - Subtree Diff-Window Parsing: Constrains AST tree comparison for large files (>1 MiB) to modified diff hunks.
Developer Experience (DX) & Tooling
- Interactive Terminal UI Inspector (
symtrace tui) - Keyboard-driven workspace built withratatuifeaturing split-pane refactor navigation, symbol search, and call graph visualization. - 3-Way AST Semantic Merge Driver (
symtrace merge-driver) - Nativegit merge-driverfor zero-conflict rebases, resolving non-conflicting structural changes with zero merge markers. - Custom Query DSL Engine (
.scm) - Define enterprise-specific semantic rules and security alerts using standard Tree-Sitter.scmquery files in.symtrace/queries/. - Git CLI Feature Parity - Added
--stat(-s),--check(exit code 1 pre-commit / CI guard),--name-only,--format(ansi,json,jsonl,markdown,html,sarif), and-U<N>AST context depth. - Expanded Language Support - Expanded to 13 first-class languages: added C# (
.cs), Ruby (.rb), PHP (.php), Rust 2024 Edition (.rs), and TSX / JSX (.tsx,.jsx).
v0.3.0 - 2026-08-02
Section titled “v0.3.0 - 2026-08-02”CLI Engine (Rust)
Section titled “CLI Engine (Rust)”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-driversubcommand for native integration intogit configand.gitattributes. - Path Glob Filtering - Filter diff analysis using
--path <GLOB>(-p), allowing targeting of specific file patterns. - Positional Argument Defaults - Running
symtracewith no arguments automatically defaultsREPO_PATHto.,COMMIT_AtoHEAD~1, andCOMMIT_Bto the working tree. - Staged Index Comparison - Support for
--staged/--cachedflags to compare staged index files againstCOMMIT_A. - Interactive Shell Pager - Automatic output piping to
$GIT_PAGER/$PAGER(less -RFX) for interactive TTY execution. - Configuration File Loader - Hierarchical loader for
.symtracercandsymtrace.tomlTOML config files (CLI Flags > Repo Config > User Config > Defaults). - ANSI Color Controls - Added
--color <auto|always|never>flag and[output] colorconfig setting respectingNO_COLOR. - Dual-Path Git Rename Tracking - Retains both
old_pathandnew_pathacross 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.0→0.3.0
VS Code Extension (v0.3.0)
Section titled “VS Code Extension (v0.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
--pathglob filtering (symtrace.pathGlob) and--colorterminal settings (symtrace.color). - Improved welcome view with updated language matrix.
- 4-tier binary resolution strategy (
symtrace.pathconfig → systemPATH→ cached → GitHub releases auto-download).
Version Updates
vscode-symtrace/package.json:0.2.0→0.3.0
v0.2.0 - 2026-03-20
Section titled “v0.2.0 - 2026-03-20”VS Code Extension
Section titled “VS Code Extension”- 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 showcontent provider. - Tree view - Browse operations per file with classification badge, summary, and performance metrics.
CLI Engine (Rust)
Section titled “CLI Engine (Rust)”- 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
AstCacheandTreeCache.
v0.1.1 - 2026-01-15
Section titled “v0.1.1 - 2026-01-15”- Initial public release of the CLI engine with AST-based semantic diffing, tree-sitter language support, and JSON output format.