From dd7586641ac0333b778d6be163a1e69896ca91d4 Mon Sep 17 00:00:00 2001 From: Tin Dang Date: Mon, 22 Jun 2026 16:38:08 +0700 Subject: [PATCH] chore(release): cut v0.4.0 First ADD-recorded release. Bundles 5 closed milestones since v0.3.0: v1-shared-nothing, v2-performance, v2-1-throughput-polish, v3-1-fts-hardening, v3-2-graph-correctness. - CHANGELOG.md: add [0.4.0] section (rich per-change notes folded from [Unreleased]) plus a risk-accepted disclosure for the cross-shard read fast-path waiver (follow-up cross-shard-read-acceleration, expires 2026-08-01); reopen an empty [Unreleased]. - RELEASES.md: append-only ADD ledger row (5 milestones, waiver, evidence). - Cargo.toml / Cargo.lock: 0.3.0 -> 0.4.0. Readiness floor met: full CI matrix green on moon-dev (fmt + clippy default/tokio + test release/tokio, MOON_BIN-pinned Linux ELF); zero security HARD-STOP; the riding RISK-ACCEPTED waiver is disclosed in the notes. author: Tin Dang --- CHANGELOG.md | 23 +++++++++++++++++++++++ Cargo.lock | 2 +- Cargo.toml | 2 +- RELEASES.md | 7 +++++++ 4 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 RELEASES.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 234f3e6cb..3455faad7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,29 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.4.0] — 2026-06-22 + +Bundles 5 closed milestones (first ADD-recorded cut; see `RELEASES.md` for +attribution): **Shared-Nothing Integrity & Cross-Shard Latency** (3 carried) · +**Multi-Core Throughput Hardening** (12 carried) · **Throughput Polish** +(3 carried) · **FTS Hardening** (8 carried) · **Graph Correctness & Cypher +Filtering**. Headlines: working FTS query combinators (OR / TEXT+TAG / NUMERIC) +with true total-matched counts and the O(M²) high-DF cliff gone; correct Cypher +inline-property narrowing, incoming-edge traversal after compaction, and >32 +graph labels; WAL group-commit, cross-shard read fast-path, and off-event-loop +FT.SEARCH throughput wins. Per-change detail below. + +### Risk-accepted (shipped, disclosed) — cross-shard read fast-path removed (PR #175) + +The shared-nothing migration (PR #175) deleted the direct-`RwLock` cross-shard +read fast-path; cross-shard reads now route through the owner shard's SPSC ring, +so cross-shard-read cells regress versus the pre-migration lock-read. This is a +**signed RISK-ACCEPTED waiver** (owner: Tin Dang) carried into this release, with +a follow-up task **cross-shard-read-acceleration** (lock-free cross-shard read +acceleration) tracked to land before **2026-08-01**. No correctness impact — +consistency is 197/197 across 1/4/12 shards on both runtimes; the cost is latency +on the cross-shard read path only. + ### Docs — Verified cross-arch GCloud benchmark confirms v3-1 FTS + v3-2 graph fixes (PR #194) Re-ran the 4-feature concurrent-vs-competitor benchmark (KV / Vector / Graph / FTS diff --git a/Cargo.lock b/Cargo.lock index a57b8dd42..1beab58ac 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1812,7 +1812,7 @@ dependencies = [ [[package]] name = "moon" -version = "0.3.0" +version = "0.4.0" dependencies = [ "anyhow", "arc-swap", diff --git a/Cargo.toml b/Cargo.toml index f92282ad1..1ff8fd2ac 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "moon" -version = "0.3.0" +version = "0.4.0" edition = "2024" rust-version = "1.94" description = "A high-performance Redis-compatible server written in Rust" diff --git a/RELEASES.md b/RELEASES.md new file mode 100644 index 000000000..04c6fa6aa --- /dev/null +++ b/RELEASES.md @@ -0,0 +1,7 @@ +# Releases + +## v0.4.0 — 2026-06-22 +milestones: v1-shared-nothing, v2-performance, v2-1-throughput-polish, v3-1-fts-hardening, v3-2-graph-correctness +waivers: shardslice-migration +evidence: Full CI matrix green on moon-dev (fmt + clippy default/tokio + test release/tokio, MOON_BIN-pinned ELF); detailed notes in CHANGELOG [Unreleased]; waiver shardslice cross-shard-read disclosed (follow-up cross-shard-read-acceleration, expires 2026-08-01) +