• v5.7.1 e6c22ab349

    dpsifr released this 2025-11-12 00:25:52 +01:00 | 581 commits to main since this release

    🚨 CRITICAL HOTFIX - v5.7.0 Deadlock Fix

    v5.7.0 caused complete production failure. ALL users should upgrade immediately.

    Problem

    v5.7.0 introduced a circular dependency deadlock that caused:

    • ALL imports hung for 760+ seconds
    • brain.add() took 12+ seconds per entity (50x slower)
    • Zero entities imported successfully
    • 100% of users unable to use the library

    Root Cause

    Storage internals called GraphAdjacencyIndex during initialization:

    GraphAdjacencyIndex.rebuild() → storage.getVerbs()
    storage.getVerbsBySource_internal() → getGraphIndex()
    getGraphIndex() → [waiting for rebuild]
    = DEADLOCK
    

    Fix (Architectural)

    Reverted storage internals to v5.6.3 implementation:

    • Storage layer simple, no index dependencies
    • GraphAdjacencyIndex can rebuild without circular calls
    • Proper separation of concerns restored
    • NO breaking changes

    What's Changed

    • fix: resolve v5.7.0 deadlock by restoring storage layer separation (eb9af45)
    • test: added 4 regression tests for deadlock scenarios
    • docs: comprehensive CHANGELOG with upgrade instructions

    Testing

    • All 1146 tests pass
    • 4 new regression tests verify no deadlock
    • Import + relationships complete in <1 second (not 760+)
    • Build succeeds with zero errors

    Upgrade NOW

    npm install @soulcraft/brainy@5.7.1
    

    Expected after upgrade:

    • Imports work again
    • Fast entity creation (<100ms per entity)
    • No hangs or infinite waits
    • File operations responsive

    Performance Impact

    • Slightly slower GraphAdjacencyIndex initialization (one-time cost)
    • High-level queries still use optimized index
    • Import performance unaffected
    • NO breaking changes to public API

    Full Changelog: https://github.com/soulcraftlabs/brainy/compare/v5.7.0...v5.7.1

    Downloads