v13.1.0
[13.1.0] - 2026-03-04
Added
- 5 new graph algorithms in
GraphTraversal—levels()(longest-path level assignment for DAGs),transitiveReduction()(minimal edge set preserving reachability),transitiveClosure()(all implied reachability edges withmaxEdgessafety),rootAncestors()(find all in-degree-0 ancestors via backward BFS). All methods respectNeighborProviderPortabstraction, supportAbortSignalcancellation, and produce deterministic output. CorrespondingLogicalTraversalfacade methods added. New error code:E_MAX_EDGES_EXCEEDED. - 4 new test fixtures —
F15_WIDE_DAG_FOR_LEVELS,F16_TRANSITIVE_REDUCTION,F17_MULTI_ROOT_DAG,F18_TRANSITIVE_CLOSURE_CHAINin the canonical fixture DSL. - BFS reverse reachability verification tests — confirms
bfs(node, { direction: 'in' })correctly discovers all backward-reachable ancestors. roaring-wasmWASM fallback for Bun/Deno bitmap indexes —initRoaring()now has a three-tier fallback chain: (1) ESMimport('roaring'), (2) CJScreateRequire('roaring'), (3)import('roaring-wasm')with WASM initialization. The WASM tier activates automatically when native V8 bindings are unavailable (Bun's JSC, Deno). Bitmap index tests (materializedView,materialize.checkpointIndex.notStale) are no longer excluded from the Bun test suite. Serialization formats are wire-compatible — portable bitmaps produced by native and WASM are byte-identical.
Fixed
- Roaring native module loading under Bun —
initRoaring()now catches dynamicimport('roaring')failures and falls back tocreateRequire()for direct.nodebinary loading. - Stale
nativeAvailabilitycache oninitRoaring()reinit —getNativeRoaringAvailable()now returns the correct value after swapping roaring implementations viainitRoaring(mod). Previously, the cached availability from the old module was returned. - Lost root causes on roaring load failure — when all three tiers (native ESM, CJS require, WASM) fail,
initRoaring()now throwsAggregateErrorwith per-tier errors instead of a plainError, preserving diagnostic detail.
Changed
- ROADMAP priority triage — 45 standalone items sorted into 6 priority tiers (P0–P6) with wave-based execution order and dependency chain mapping. Replaced flat Near-Term table with priority-grouped sub-tables. All milestones (M10–M14) marked complete. Inventory corrected to 133 total tracked items.
- Vitest 2.1.9 → 4.0.18 — major test framework upgrade. Migrated deprecated
test(name, fn, { timeout })signatures totest(name, { timeout }, fn)across 7 test files (40 call sites). Fixedvi.fn().mockImplementation()constructor mocks to usefunctionexpressions per Vitest 4 requirements. Resolves 5 remaining moderate-severity npm audit advisories (esbuildGHSA-67mh-4wv8-2f99,vite,@vitest/mocker,vite-node,vitest).npm auditnow reports 0 vulnerabilities.
Registry publish summary
- npm:
success - JSR:
success
Dist-tag: latest
Version: 13.1.0
If one registry failed, re-run only that job from Actions.
What's Changed
- fix(deps): upgrade vitest 2→4, resolve all npm audit findings by @flyingrobots in #63
Full Changelog: v13.0.1...v13.1.0