Releases: metacall/meta-ast
Releases · metacall/meta-ast
Release list
v0.6.1
meta-ast v0.6.1
Polyglot static analysis engine - GSoC 2026 final release.
This release includes core and metacall-deploy binaries for
Linux (glibc + musl), macOS (x86_64 + aarch64), and Windows
(x86_64 + aarch64), plus the crates.io package.
Changes
v0.6.0
meta-ast v0.6.0
Polyglot static analysis engine for Python, JavaScript, TypeScript, TSX, C, C++, Rust, Go, and Ruby.
See the README for usage.
Features
- graph: Return the flattened scope cache from the graph builder (fbe7ba5)
Refactoring
- cache: Move extraction cache and re-analysis out of the watch feature (a776203)
Testing
- integration: Cover the public cache and re-analysis seams (9f26838)
Install
- CLI:
cargo install meta-ast --version 0.6.0 - Library:
cargo add meta-ast@0.6.0 - Prebuilt binaries are attached for Linux (glibc and musl), macOS (x86_64 and aarch64), and Windows (x86_64 and aarch64), in core and
metacall-deployvariants.
Full Changelog: v0.5.1...v0.6.0
v0.5.1
meta-ast v0.5.1
Polyglot static analysis engine for Python, JavaScript, TypeScript, TSX, C, C++, Rust, Go, and Ruby.
See the README for usage.
Features
- cli: Wire --language flag through pipeline and watch mode (31504b7)
- deploy: Make max pod size configurable via --max-pod-size (fdbc0aa)
- error: Add InvalidSourceUri error variant and update STRUCTURE.md (90b340a)
- extractor: Define InMemorySource, VersionedExtraction, and ExtractionIdGenerators (f506467)
- model: Derive Deserialize for UnresolvedImport, UnresolvedReference, and Symbol (7f026ed)
- shard: Implement ShardEdge and ShardError type definitions (63cba6b)
- shard: Define ShardFile, ShardSymbol, ShardHeader, and ShardManifestRecord (cf3ed1f)
- shard: Implement stable naming and symbol descriptor hierarchy in name.rs (2fc6f3b)
- extractor: Implement extract_text_with_id_gen for in-memory buffer analysis (620a6c1)
- resolver: Add clear_cache support to PythonResolver and GoModResolver (b1e1f2c)
- resolver: Add clear_cache support to JsResolver and TsConfigResolver (0f5dcfb)
- resolver: Implement stateful cache invalidation across all import resolvers (7459111)
- graph: Update serialize_symbol_node to emit source_range and file_path (0c380bc)
- graph: Bump graph export SCHEMA_VERSION to 2 (0257c21)
- extractor: Wire ExtractionIdGenerators into parallel extraction pipelines (5b1b310)
- extractor: Export in-memory extraction functions and types (f1ff8ab)
- language: Derive Deserialize for LangId enum (a9260b8)
- lib: Re-export in-memory extraction and shard persistence types in crate root (f8ea171)
- output: Re-export shard module in output module root (253c90c)
- output: Include file_path and source_range in SerializedNode struct (7d7768c)
- output: Update graph serialization tests for schema version 2 (1ad231f)
- watch: Update reanalyze module to use ExtractionIdGenerators (a3a3df0)
- watch: Ensure unique ID generator allocation across incremental ticks (bde5372)
- lsp: Implement RFC 0012 Phase 0 engine seams and .metast v2 shard persistence (#58) (306de40)
Bug Fixes
- cli: Correct language help text, serde names, and watch filter (5f9feeb)
- resolver: Handle filesystem cache invalidation on dynamic config changes (e472f46)
Performance
- graph: O(1) edge dedup via (src,dst,kind) index (97c702c)
Refactoring
- cli: Canonicalize JavaScript and TypeScript lang names (0a79351)
- graph: Encapsulate petgraph DiGraph behind CodeGraph methods (c78f370)
- graph: Hoist graph() binding and document add_node index contract (f9d1154)
- graph: Remove dead add_metacall_load and lock canonical language names (bdc8a11)
- graph: Restrict SCC analysis to dependency subgraph (8e123c1)
- shard: Ensure deterministic symbol ordinal generation (9667c97)
- extractor: Add ID accessors and fix resolver poisoning (62f00d3)
- input: Centralize path normalization helpers (9f3375b)
- Refactor(graph): optimize edge deduplication and normalize confidence
ladders (dc7283e) - Refactor(model): Add FileExtraction helper constructors to reduce
boilerplate (4dead60) - Refactor(pipeline): enforce deterministic output sorting for edges and
extractions (9891201) - language: Deduplicate import resolution logic (136f036)
Documentation
- arch: Clarify --language filter semantics and cover max-pod-size guard (511e197)
- Update FINAL_REPORT.md for GSoC 2026 completion (f59f18f)
- Add RFC 0012 for polyglot LSP server (62fe460)
- Update RFC 0012 with enrichment and LSP phases (1969554)
- Update RFC 0012 for polyglot LSP server (008cf27)
- Approve RFC 0012 polyglot LSP server proposal (8317b34)
- Update project roadmap and documentation (8feba97)
- Update README, ROADMAP, and STRUCTURE for RFC 0012 Phase 0 (11f7436)
- specs: Document schema version 2 and .metast v2 shard persistence semantics (5d0cadf)
Testing
- deploy: Use DEFAULT_MAX_POD_SIZE constant and scope negative assertion (e83465e)
- bench: Add postbuild edge normalization benchmark (bfae3ef)
- graph: Cover build-populated edge index dedup path (ed44942)
- extractor: Add unit tests for in-memory text extraction and URI validation (760b9fa)
- shard: Add unit tests for shard, header, and manifest JSONL round-trip (e5e0f82)
- datagraph: Assert symbol node file_path and source_range in integration tests (22904b7)
- shard: Add end-to-end multi-file shard persistence integration test (9314687)
CI
- docs: Split mdbook build and pages-deploy into separate jobs (968d4a9)
Maintenance
v0.5.0
meta-ast v0.5.0
Polyglot static analysis engine - GSoC 2026 final release.
This release includes core and metacall-deploy binaries for
Linux (glibc + musl), macOS (x86_64 + aarch64), and Windows
(x86_64 + aarch64), plus the crates.io package.
Changes
- ci(docs): add workflow_dispatch and include workflow file in trigger paths (e08ff47)
- ci(docs): deploy mdbook via actions/deploy-pages (#37) (f4ec837)
- chore(release): prepare v0.5.0 with deploy binaries and benchmark fix (#36) (8583b34)
- docs: complete Phase 7 - mdbook site, benchmarks, demo, final report (#35) (15f57bc)
- feat(language): add Ruby support (#34) (a38115d)
v0.4.0
Changes
- chore: bump version to 0.4.0 (b9bd5be)
- docs(deploy): add RFC 0011 and update deploy documentation (dab1773)
- test(deploy): add integration tests and fixtures for client calls (13d9433)
- feat(deploy): wire client resolution and orphan config checks into run_deploy (d8092df)
- feat(deploy): implement two-phase client call resolution engine (c6d9876)
- feat(deploy): add client call variant detection to scanner (ff2d67b)
- chore(deploy): enforce deterministic pod and manifest ordering (6826b3a)
- docs: add contributor guide (07a9ccd)
- Merge pull request #33 from metacall/21-phase-4a-watch-mode-and-incremental-update-strategy (a99dec4)
- docs: update ID type documentation in STRUCTURE.md (840478f)
- refactor(model): optimize ID memory layout with NonZeroU32 niche optimization (beeb56e)
- chore: bump MSRV to 1.94.0 (3ab75ee)
- refactor(graph): stabilize flow edge normalization (3dd7bfb)
- docs(language): mark Stale Python dataflow as implemented (6438482)
- test(datagraph): add integration test suite, benchmarks, and spec docs (7df7e37)
- feat(cli): add --datagraph flag and feature-gate dataflow module (d3b0615)
- feat(output): add GraphOutput schema v1, Cytoscape renderer, and JsonSink (3e478a2)
- Update TODO.md (44f2f7d)
- refactor: consolidate tree metrics, add call_sites (0cfa02f)
- refactor(deploy): reuse pipeline extractions for call sites (ea85a8e)
- chore(deps): bump tree-sitter, clap, rayon, syn, libc, insta (d39e8ee)
- feat(language): implement Rust and Python intra-procedural dataflow extraction (9718bd4)
- chore: expand TODO.md with new engineering tasks (a1ac7e6)
- refactor(graph): improve scope and edge resolution accuracy (cce865a)
- feat(graph): extend CodeGraph and builder with data nodes and flow edges (95a0bc3)
- feat(model): add DataNode, FlowEdge, and DataNodeId primitives (c35f357)
- docs: update README installation and usage sections (339623f)
v0.3.0
Changes
- Update release.yml (fc0d9cb)
- chore: add crates.io package metadata (0ea1702)
- ci: build and release deploy-enabled binary variant (436ce46)
- chore: normalize file paths and fix Windows file locking (62eac91)
- update metast.png (fecfbaa)
- chore(ci): remove unused git submodules and embed-cytoscape feature (a95b115)
- docs: update architecture and deployment specs for pod-based model (8eb843a)
- test(deploy): add tiered fixtures and integration tests (b21201f)
- fix(deploy): emit rpc_stub edge for every SCC cut (c14b883)
- feat(deploy): wire deploy module into pipeline, CLI, and output (c84ee49)
- feat(deploy): generate pod manifest and mesh annotation (38b4cf2)
- feat(deploy): cut cross-language SCC cycles into pods (6474cb8)
- feat(deploy): classify external dependencies from lockfiles (dd1c2d5)
- feat(deploy): partition files into pods and compute metrics (9709144)
- feat(deploy): detect metacall load call sites and extract targets (274a978)
- feat(deploy): extend graph layer for SCC cuts and external nodes (43e957d)
- feat(deploy): add deployment IR types to model (b01a62f)
- feat(deploy): scaffold metacall-deploy feature and drop removed assets submodule (622c41a)
- docs: document goals, scope, use cases, and benchmarking in README (3437ae2)
- chore: prune completed items from TODO backlog (5eebcdd)
- test: add edge-case and error-scenario tests for malformed input (3203dee)
- doc(deploy): add MetaCall manifest generator docs (1a3a5d1)
- docs: Update architecture, ADRs, and project requirements (3586520)
- refactor: replace unwrap/expect with error handling in deploy module (9f0d0e6)
- docs: Update TODO list and refactor symbol name logic (8bb967e)
- docs(cli): Add help messages and examples for all subcommands (e436d58)
- fix(deploy): Normalize path separators to forward slashes (52798da)
- feat(deploy): Add examples submodule and update CI (27adc9c)
- test(deploy): Add integration tests and wire CLI (6a08483)
- docs(deploy): Add RFC 0010 deploy manifests (c86c25a)
- feat(deploy): Add load edges and mesh annotation (94190d0)
- feat(deploy): Generate manifests and check mode (2a6048e)
- fix: add missing public API re-exports and fix doc example (73163c2)
- refactor: remove dead code from parser module (f94aab0)
- chore: update dependency lockfile (5f49a5b)
- docs: mark planned features and update roadmap status (080f9dc)
- docs: separate ADRs from RFCs and fix traceability references (2407556)
- docs: align STRUCTURE.md with actual source code (728e4c2)
- feat(deploy): Add call site tree-sitter scanner (a943dd7)
- perf(graph): Parallelize resolution and scc (2a1ad83)
- feat(deploy): Scaffold deploy feature and tags (3301b2d)
- docs: update documentation for metacall-deploy feature (53f47ef)
- docs: add ADRs for import resolution and symbol scoping (947bd23)
- refactor(language): rename namespace to import_specifier (8f7d781)
- refactor(graph): complete the migrate graph builder to stateful ImportResolver (d7cd631)
- docs: document new stateful ImportResolver hybrid seam architecture (e314dac)
- refactor(graph): migrate graph builder to stateful ImportResolver (3624054)
- refactor(output): unify output serialization and writing in OutputEmitter (72d8087)
- feat(language): implement stateful ImportResolver trait seam (c980c20)
- refactor(graph): consolidate graph assembly into GraphBuilder::from_extractions (42d51ac)
- docs: update docs and roadmap to version 0.2.0 (e332c32)
- test: add end-to-end integration tests for multi-line imports and member chains (637b7ed)
- feat: implement tree-sitter proximity post-processing for doc comments (d4c27bf)
- feat: support SymbolKind::Static across language extractors and models (612534d)
- refactor: transition execution pipeline to language-aware path resolvers (93b5187)
- feat: implement specific import resolution strategies across all languages (86b8a17)
- fix: add root directory existence validation to file discovery (0ad9e9c)
- refactor: design decoupled per-language import path resolution hook (0a82531)
- feat: update graph builder to retain external imports as placeholders (8531b57)
- feat: introduce ExternalNode variant and tracking to dependency graph (69fa0e7)
- chore: replace deprecated serde_yaml with safe yaml_serde crate (9439e6b)
- test: fix integration tests and calibrate profile configurations (d8bcc30)
- feat: extract core analysis architecture into pipeline module (16798a0)
- refactor: encapsulate resolution parameters into ResolutionContext (eb6cce7)
- test: add inspect output contract validation tests (3f25deb)
- fix: correct circular import detection to avoid false positives on diamond dependencies (469d944)
- feat: migrate filesystem discovery to ignore crate to respect .gitignore (b9b61cb)
- fix: add diagnostic emission for unresolved references and circular imports (2d1d13e)
- chore: remove 6 unused dependencies from Cargo.toml (ac6cf47)
- fix: replace production unwrap/expect with proper error handling (fe10508)
- feat: add eager query validation on application startup (95d9dba)
- refactor: improve query compilation failure strategy with panics (c6306d7)
- chore: introduce tracing infrastructure and migrate log macros (fe602ab)
- Merge build, test, and lint CI workflows into single ci.yml (#10) (ecaf962)
- chore(language): Remove import/reference extraction (#9) (c4b2b84)
- Chore/actually wrap (#8) (f4c6931)
- Update TODO.md (fa3f60b)
- hotfix (6bf0fb1)
- Update TODO.md (a0d9a9b)
- docs: Align specs with RFC 0008 and add 0009 (1d18725)
- feat(graph): implement cross-file reference resolution (afcc67b)
- feat(language): Add import and reference extraction (aee133e)
- perf(benchmarking):add more benchmarks for graph related tests (333ba22)
- refactor: Remove unsafe and add module docs to get a better coverage of docs (511e453)
- chore(once_cell):remove unwanted once_lock in favor of using lazylock. (64ac364)
- refactor(output): Use DOM APIs for node details (407bd67)
- refactor: update extraction API and core documentation (8911960)
- feat(language): Support namespace imports in JS/TS (ae27460)
- refactor(model): Use SeqCst for ID generation (19b43fb)
- feat(language): Add combined JS-family queries (d642300)
- feat(language): Add import/ref queries for C, C++, Go (68e1222)
- feat(graph): Add cross-file reference resolution (4b89df8)
- feat(model): Add extraction and diagnostic types (03378c2)
- feat(extractor): Group extraction results by file (b6ab9e2)
- perf(graph): Optimize SCC using EdgeFiltered (8bc8da9)
- Create 0009-cross-file-dependency-mapping.md (4573b75)
- feat(language): Add import and reference queries (f1d96d2)
- feat(language): add JS/TS import/reference queries (f377f5d)
- feat(language): Add C/C++/Go import/reference queries (5e3f9e5)
- test(baseline): introducing multi file fixtures as a baseline for new tests (9d4a383)
v0.2.0
Changes
- hotfix (eb8c0e1)
- refactor(output): Use serialize_inspect API (420a82c)
- feat: integrate dashboard generation and automatic browser opening (9ec8afb)
- feat: add --format, --html, and --self-contained CLI flags (da2d180)
- docs(ci): Update artifact matrix and runners (3a849b8)
- feat: add HTML dashboard generator with interactive graph visualization 'used LLMs in html template ui' (557eb7d)
- refactor: rename serialization functions to match unified API (e2fb19b)
- feat: introduce OutputFormat enum for JSON/YAML serialization (48c2997)
- docs: Update roadmap and specs for new output formats (130aa48)
v0.1.0
Changes
- chore(update runner) (b58239f)
- hotfix (85ce584)
- perf(graph): Add graph and SCC benchmarks (7a7060b)
- fix(language): Fix greedy docstring quote stripping (93eb696)
- fix(language): Fix restricted visibility detection for rust (b44235b)
- refactor: drive language detection from specs (cf9bae1)
- refactor(lang): replace impl_language with LanguageSpec (918a259)
- refactor(language): use LanguageSpec for definitions (fbe8029)
- refactor(language): Replace impl_language! macro (9fa8417)
- refactor(language): adopt data-driven LanguageSpec (05dc9c9)
- feat(cli): add graph analysis subcommand and JSON output (daa0e6e)
- feat(graph): implement SCC analysis and deployability hint generation (e468df7)
- feat(graph): implement GraphBuilder for incremental construction (cedfced)
- feat(graph): define core graph primitives and heterogeneous node types (e765cd8)
- docs: accept RFC-0008 and initialize Phase 2 design specs (0bc62e3)
- test: Update C++ language snapshot (5668f67)
- feat(language): Update tree-sitter queries (d02f4ba)
- refactor(lang): Use Lazy tree-sitter queries (b2dcf41)
- Refactor language parsers to use Lazy initialization for queries (e082c54)
- refactor: update field_text function to use Cow for improved memory efficiency (c6544e9)