v1.5.0 Released

Local-First Embedded
KV + Vector Database

SSD-aware, append-only storage with deathtime-cohort compaction. Built in Rust. Ships as a library. No server required.

v1.5.0 2026-07-25

Cost accounting, bounded scans, search snippets, vector index stripping

New _with_stats variants on every read API return a QueryStats struct (segments scanned, bytes scanned, items examined) — ideal for agent loops and quota enforcement. range_budgeted / prefix_budgeted accept a ScanBudget and stop early, returning a BudgetedScan with a continuation token. search_text_with_snippets returns context windows around matched terms for RAG / highlight display. strip_vector_index and with_vector_stripping in edgestore-tier reclaim local disk when vector data is archived to S3.

Read Changelog

Everything you need, nothing you don't

EdgeStore bundles KV storage, vector search, full-text search, and replication into one compact embedded library.

KV Store

Ordered byte keys, namespaced isolation, range scans, prefix queries. Single-writer with group commit.

TTL & Lazy Expiry

put_with_ttl for time-bound records. Expired cohorts compact with zero live-data relocation.

Transactions

Atomic multi-record batches. Begin, commit, rollback. WAL-backed durability with fsync group commit.

Vector Search

Flat SIMD scan and HNSW approximate search. Cosine, L2, dot product. f32, f16, i8 dtypes.

Full-Text Search

BM25 ranking on a merged inverted index per namespace. Incrementally updated on write. O(1) search read. English tokenization, faceting, typo tolerance (Levenshtein distance ≤ 1).

Replication

Merkle-based delta sync via edgestore-repl. Content-addressed segments (BLAKE3). HTTP + S3 transports. Optional — core works standalone.

Read-Only Replicas

Engine::open_readonly rejects all writes at the API level. ReplicatedEngine in edgestore-repl wires primary + replica in two lines.

Tiered Read Fast Path

AsyncTieredEngine reads hot-window data under a read lock. Concurrent readers never block behind the single writer unless an archived segment must be fetched.

Cost Accounting

_with_stats variants on every read return a QueryStats struct. Agent loops and quota systems know exactly how many bytes and segments each query touched.

Bounded Scans

range_budgeted and prefix_budgeted accept a ScanBudget (max items + max bytes) and stop early. Returns a continuation cursor for safe pagination in constrained environments.

Search Snippets

search_text_with_snippets returns context windows around matched terms. Accurate character-offset tokenization drives highlighting and RAG context extraction.

SSD-First Architecture

EdgeStore uses deathtime-cohort compaction — a technique from VLDB 2026 research — to group records by their predicted invalidation time instead of size tiers.

When a cohort fully expires, compaction reclaims space with zero live-data reads or writes. This drives device write amplification toward 1.0, a 10-30x improvement over level-based LSM trees.

Read how the research shaped EdgeStore
Application Layer (KV / Vector / Text)
Engine — Single Writer + Group Commit
WAL (LZ4) + Memtable (BTreeMap)
Segment Store (ZSTD, xor filters, sparse index)
SSD / NVMe (StorageBackend trait)
Replication + S3 Archive (edgestore-repl, optional)

Installation

Core Library

KV + vector + text. Sync. No server.

cargo add edgestore

Async Wrapper

Thin tokio wrapper for async runtimes.

cargo add edgestore-tokio

Replication + S3

HTTP delta sync + S3 cold archive. Optional.

cargo add edgestore-repl --features s3

Tiered Storage

Local hot cache + transparent S3 read-through when data exceeds local disk.

cargo add edgestore-tier

CLI Tool

Admin commands: put, get, compact, export.

cargo install edgestore-cli