Release Notes
Drop-in replacement for v1.1.x. No file-format changes, no public API breaking changes. Upgrading requires no code changes.
Features
- Magic Sets rewriting — recursive Datalog queries with bound arguments are now automatically rewritten top-down via magic sets, propagating bound values into recursive rules to avoid full-relation scans (#289)
- Adornment classification, seed fact generation, magic guard injection, SCC-aware propagation rule generation, full
rewrite()wired intoexecute_query_with_rules - Limitation: mutual recursion through negation is not rewritten (documented in ROADMAP §9.6)
- Adornment classification, seed fact generation, magic guard injection, SCC-aware propagation rule generation, full
- Per-query complexity limits —
:max-derived-factsand:max-resultsclauses added toquery; global default raised to 1,000,000 derived facts (#288, #290)
Bug fixes
selective_fact_fetch: includeassertedflag in dedup key — previously retracted facts could shadow live facts under certain access patterns (#285, #286)selective_fact_fetch: restore per-pattern entity priority lost in a prior refactor (#283)- v5→v6 migration: fix hang caused by using
header.page_countas the B-tree start page instead of the correct offset (#272)
Performance
- Eliminate backend mutex hold on cache hits in
CommittedFactLoaderImpl::resolve— read path no longer acquires the write lock when the page is cached (#279) - Pre-build
MutexStorageBackendinCommittedFactLoaderImplto eliminate oneArc::cloneperresolve()call (#280, #281)
Infrastructure
- Split Java, Android, Swift, and C bindings into independent repos under
project-minigraforg — completes #231 repo split (#231 phase 2)minigraf-java: https://github.com/project-minigraf/minigraf-javaminigraf-android: https://github.com/project-minigraf/minigraf-androidminigraf-swift: https://github.com/project-minigraf/minigraf-swiftminigraf-c: https://github.com/project-minigraf/minigraf-c
minigraf-ffiyanked from crates.io — UniFFI layer inlined into each binding repo's private shim; use the per-language packages insteadcascade.ymlupdated to dispatchcore-releaseto all 7 binding repos on every version tag- All binding repos migrated to OIDC trusted publishing —
NPM_TOKENandCARGO_REGISTRY_TOKENsecrets removed; crates.io usesrust-lang/crates-io-auth-action@v1, npm usessetup-node@v6OIDC - Python, Node, and WASM binding repos now include a
preparejob that pins theminigrafdependency version inCargo.tomland commits before building — consistent with Java, Android, Swift, and C
Documentation
- Add
docs/ERROR_REFERENCE.md: full inventory of user-facing errors (PRS/QRY/STG/WAL/API categories, 113 entries) with cause, resolution steps, and bad-input examples; docs-only reference codes PRS-001…API-009 (#192)
Download minigraf 1.2.0
| File | Platform | Checksum |
|---|---|---|
| minigraf-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| minigraf-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| minigraf-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| minigraf-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| minigraf-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |