Skip to content

Releases: metacall/meta-ast

v0.6.1

Choose a tag to compare

@github-actions github-actions released this 10 Sep 10:20
92aa26e

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

  • chore: bump version to 0.6.1 (1bd2e3a)
  • feat(shard): persist call sites in shard records (3b3cec1)

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 09 Sep 17:29

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-deploy variants.

Full Changelog: v0.5.1...v0.6.0

v0.5.1

Choose a tag to compare

@github-actions github-actions released this 03 Sep 16:11

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

  • Remove TODO list and use github issues (de82973)
  • Add GitHub issue and PR templates (4e9c70a)
  • deps: Add url and blake3 core dep...
Read more

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 03 Aug 15:17

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

Choose a tag to compare

@github-actions github-actions released this 31 Jul 16:50

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

Choose a tag to compare

@github-actions github-actions released this 14 Jul 13:18

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

Choose a tag to compare

@github-actions github-actions released this 26 Apr 01:24

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

Choose a tag to compare

@github-actions github-actions released this 25 Apr 05:23

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)