This release fixes issues for SREs watching stability and regressions.
✓ No known CVEs patched in this version
Topics
+12 more
Summary
AI summaryFixes the regression where set_embedder_named() always failed due to exclusive access contention introduced in v0.9.0.
Full changelog
v0.9.1 — patch
Fixes a v0.9.0 regression (#58): set_embedder_named() always failed with "requires exclusive access to the engine", regardless of the model name.
Root cause
v0.9.0 made the pyo3 constructors spawn a background worker pool (materializer + compactor). Each worker thread holds a Weak<YantrikDB>, and set_embedder_named reaches the engine via Arc::get_mut, which requires strong count == 1 AND weak count == 0. The workers'' weak refs alone tripped that guard — so the named / multilingual embedder-swap path was broken.
Fix
The binding now stops the worker pool (dropping the guards joins the threads, releasing the weak refs), performs the swap with exclusive access, then respawns the pool. No engine API change; fixes both construct-then-swap and runtime swaps; the original error is preserved for genuine external ConnectionProxy / clone leaks.
Impact
Unblocks the multilingual backend in yantrikdb-mcp#14 — its xfail''d e2e passes once this is published, with no further code change.
Published to PyPI (pip install -U yantrikdb) and crates.io (yantrikdb).
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About YantrikDB
All releases →Related context
Related tools
Earlier breaking changes
Beta — feedback welcome: [email protected]