Skip to content

YantrikDB

v0.6.7 Breaking

This release includes 3 breaking changes for platform teams planning a safe upgrade.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

agent-memory ai-agents anthropic claude-code cognitive-memory database
+12 more
embeddings hnsw knowledge-graph llm llm-memory mcp memory persistent-memory python rust semantic-memory vector-db

Affected surfaces

breaking_upgrade auth

Summary

AI summary

tombstone_with_rid and delete_entity_edge_with_id now require a namespace argument before/after their existing parameters.

Full changelog

Interim point release between v0.6.6 (decoupled write path Phases 1-5) and v0.7.0 (still gated on Phase 4.3 SQL-off-foreground + Phase 7 soak ~80h combined). Lets yantrikdb-server consume the cluster RYW design refinements without waiting another 3 weeks.

Highlights

  • DEFAULT_DELTA_MAX 1024 → 256 — write tput +70%, read p50 -53% (better than even v0.6.5 baseline). Smaller delta keeps per-search linear scans cheap and triggers compaction often enough that cold absorbs the working set.
  • Cluster RYW design lock — all 4 cluster primitives accept Option<u64> seq + required namespace, bump visible_seq for snapshot-lag determinism on followers. Engine seq IS the openraft commit-log index.
  • Lock-free RYW hot pathvisible_seq refactored to DashMap<String, AtomicU64> so recall_with_seq reads no longer contend on a global mutex.
  • Age-based compaction trigger — closes the idle-delta gap where a low-write namespace would never compact. Default 60s, tunable via YANTRIKDB_MAX_DIRTY_AGE_SECS.
  • CONCURRENCY.md — 8 load-bearing invariants documented at repo root, each naming the failure mode if violated.

What's in this release vs v0.6.6 (6 commits)

```
84318c0 perf(delta_index): DEFAULT_DELTA_MAX 1024 → 256
8a92ae1 refactor(error): RyWaitTimeout fields → requested_seq /
observed_seq /
waited_ms
5102b6f feat(cluster): seq + namespace + visible_seq bump on
all 4 cluster primitives
dd2cfd3 perf(ryw): visible_seq → DashMap<String, AtomicU64>
a4df7bf feat(compactor): age-based compaction trigger for idle deltas
53bca81 docs(concurrency): add CONCURRENCY.md with 8 invariants
```

Breaking changes (pre-1.0)

These were pre-coordinated with yantrikdb-server before landing:

  • `tombstone_with_rid` now takes `namespace: &str` before `reason`
  • `delete_entity_edge_with_id` now takes `namespace: &str` after edge_id
  • All four cluster primitives gained trailing `seq: Option`
  • `Error::RyWaitTimeout` fields renamed: `min_seq` → `requested_seq`, `visible` → `observed_seq`, `timeout_ms` → `waited_ms`

Tests

1399 lib tests pass (was 1380 at v0.6.6). 5 new age-trigger tests + 4 new RYW seq tests covering snapshot-lag determinism on followers.

Still pending for v0.7.0

  • Phase 4.3 — SQL writes off foreground (entity-link inserts) ~40h
  • Phase 7 — Long-duration soak validation ~40h

Architecture

The v0.6.7 architecture is now diagrammed in README.md — two Mermaid diagrams covering the decoupled write path and cluster mode RYW. CONCURRENCY.md is the canonical reference for the engine concurrency invariants.

Breaking Changes

  • `tombstone_with_rid` now takes `namespace: &str` before `reason`
  • `delete_entity_edge_with_id` now takes `namespace: &str` after `edge_id`
  • All four cluster primitives gained trailing `seq: Option<u64>`

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

Track YantrikDB

Get notified when new releases ship.

Sign up free

About YantrikDB

All releases →

Related context

Earlier breaking changes

  • v0.7.20 `correct()` now mutates in place, preserving rid and adding revision history (BREAKING CHANGE).
  • v0.7.9 Pure-additive; existing engines keep English models on v0.1.0.

Beta — feedback welcome: [email protected]