This release adds 2 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+12 more
Summary
AI summaryAdds record_with_links_partial() for per-link outcomes and introduces audit_leak_candidates() to detect genuine orphan memory leaks.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Low |
Adds `record_with_links_partial()` returning per-link outcomes without aborting on failures. Adds `record_with_links_partial()` returning per-link outcomes without aborting on failures. Source: llm_adapter@2026-05-30 Confidence: high |
— |
| Feature | Low |
Adds `audit_leak_candidates()` to detect genuine memory leak candidates, ignoring compaction artifacts. Adds `audit_leak_candidates()` to detect genuine memory leak candidates, ignoring compaction artifacts. Source: llm_adapter@2026-05-30 Confidence: high |
— |
| Feature | Low |
Verifies Python bindings against a real interpreter locally. Verifies Python bindings against a real interpreter locally. Source: llm_adapter@2026-05-30 Confidence: high |
— |
| Bugfix | Medium |
Fixes orphan metric misinterpretation caused by oplog compaction artifacts. Fixes orphan metric misinterpretation caused by oplog compaction artifacts. Source: llm_adapter@2026-05-30 Confidence: high |
— |
| Bugfix | Low |
Ensures all 1534 lib tests pass and `cargo fmt`/`clippy` checks are clean. Ensures all 1534 lib tests pass and `cargo fmt`/`clippy` checks are clean. Source: llm_adapter@2026-05-30 Confidence: high |
— |
| Refactor | Low |
Replaces orphan metric with `audit_leak_candidates()` for accurate leak detection. Replaces orphan metric with `audit_leak_candidates()` for accurate leak detection. Source: llm_adapter@2026-05-30 Confidence: high |
— |
Full changelog
Two additive engine follow-ups to the v0.7.21 link model and the trader orphan postmortem. No schema change.
record_with_links_partial()
Per-link-outcome variant of record_with_links(), for callers (the MCP remember-with-links surface) that need to know which links landed without re-querying. The record commits first (durable via the oplog); each link is then attempted independently — a failure is captured, not propagated, so one bad link doesn't abort the rest or fail the call.
Returns (rid, [LinkResult]) where each LinkResult is:
Inserted— new link row writtenAlreadyExists— the idempotentUNIQUE(source,target,type)hit (distinguished for telemetry; retry-safe)Failed { error }— this link failed; the record is still durable
Python: db.record_with_links_partial(...) returns (rid, [{result, target_rid, link_type, error?}]).
audit_leak_candidates()
Replaces the compaction-confused "orphan" metric. The trader postmortem proved the old definition (memories lacking oplog presence) is a benign oplog-compaction artifact — locally-originated memories whose oplog rows aged out of the retention window look orphan-shaped while being perfectly healthy.
The windowed check only flags memories created within the surviving oplog window (created_at >= MIN(oplog.timestamp)) that still lack both an oplog op and a replication_apply_log entry — where the oplog row should still exist, so its absence is a genuine signal (a live write-path bug, or a direct-SQL insert bypassing the engine). Outside the window, absence is expected compaction and is not counted. Zero new storage.
Returns LeakAuditReport { window_floor, candidate_count, candidate_rids }. Python: db.audit_leak_candidates(max_rids=100).
Stats
1534/1534 lib tests pass. cargo fmt --check --all + cargo clippy --all-targets clean. Python bindings verified locally against a real interpreter.
Upgrade notes
Purely additive — no schema migration, no behavior change to existing paths. Safe to adopt directly.
🤖 Generated with Claude Code
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
Beta — feedback welcome: [email protected]