Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [0.8.5] — 2026-08-08

### Added
- **Cluster mode now works on the default (monoio) runtime — v0.9 W0/C-1
(#405).** The cluster control plane (bus listener, gossip ticker, failover
Expand Down
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "moon"
version = "0.8.4"
version = "0.8.5"
edition = "2024"
rust-version = "1.94"
description = "A high-performance Redis-compatible server written in Rust"
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -374,7 +374,8 @@ Redis 8.6.1.*
| **v0.8.1** | Deploy-safe busy-poll (O3 contention governor auto-gates on shared cores) + single-shard tuning preset | **GA** |
| **v0.8.2** | Storage kernel unification — one value codec / spill pipeline / eviction entry point / accessor skeleton, millisecond-TTL fidelity fix, batched sync-eviction manifest fsyncs | **GA** |
| **v0.8.3** | Connection plane at scale — idle conns 56.5 → 3.25 KB (−94%, task-exit parking + idle downshift + TLS diet), loud maxclients, striped registry, c1M-ready (1 M idle ≈ 3.3 GB) | **GA** |
| **v0.8.4** (current) | c1M follow-ups — TLS task-parking (47 → 26 KB idle), park/wake registry handoff, park-vs-error spin fix (RST'd parked conn no longer pins a shard) | **GA** |
| **v0.8.4** | c1M follow-ups — TLS task-parking (47 → 26 KB idle), park/wake registry handoff, park-vs-error spin fix (RST'd parked conn no longer pins a shard) | **GA** |
| **v0.8.5** (current) | Durability hardening — AOF rewrites never drop acked writes (overflow spill + exactly-once snapshot cut, adversarially verified), fail-loud WAL mid-chain tears, sticky append/fsync degraded latches, deep-review wave (LFU/LRU arithmetic, cluster election, silent-failure hardening) | **GA** |
| **v0.9** | Horizontal scale — cluster-on-monoio + multi-shard replicas | planned |
| **v1.0** | Every [`PRODUCTION-CONTRACT.md`](docs/PRODUCTION-CONTRACT.md) GA box ticked | gate |

Expand Down
5 changes: 5 additions & 0 deletions RELEASES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# Releases

## v0.8.5 — 2026-08-08
milestones: none (patch release: 2026-08 deep-review wave + durability wave 1)
waivers: none new — `XSHARD-READ-01` remains the open GA gap (ROADMAP R4), unchanged from v0.8.4.
evidence: Patch release rolling up the 2026-08 deep-review wave (#453) and durability wave 1 (#452/#54, PR #454), both merged after two-round adversarial review. Headline: AOF rewrites no longer drop acked writes under sustained load — a per-writer RewriteOverflow spill buffer with an exactly-once snapshot cut covers all six fold arms on both runtimes; merge-base A/B (tests/recovery_matrix_w1.rs) showed main losing ~5.6k acked writes per hit, fixed is exact across SIGKILL + recovery (251k appends through the overflow in the release-gate run). The re-verify round closed an abort-treated-as-commit P0 (aborted multi-shard fold discarded spills + false Synced acks), a same-key replay-inversion window, an ungated ordered-append leg, and taken-batch loss accounting; residual architectural findings tracked in #455. Also: WAL v3 mid-chain tears now abort boot (exit 70) instead of replaying past the hole (MOON_WAL_SALVAGE=1 override); sticky aof_last_append_status + per-writer aof_last_fsync_status latches; reason-DEL escalated backpressure with ONE shared bound per eviction sweep; manifest-sync failure latch keeps the AOF backstop until a newer snapshot persists; failed spill pwrite re-inserts the victim; eviction metadata widened (LFU decay/LRU inversion/OBJECT IDLETIME wrap/WATCH ABA); cluster election acks actually received + inline fast path disabled in cluster mode; CLIENT TRACKING max_keys enforced. Validation: fmt + clippy x2 feature sets, macOS monoio 4541 + tokio 3705 and VM Linux 4563 lib tests, rewrite-under-pipelined-load e2e green, PR CI green on both PRs pre-merge; crash-matrix nightly + ITERS=20 soak dispatched on the RC (b346910d), green before tag (soak-first-then-tag).

## v0.8.4 — 2026-07-29
milestones: none (patch release: c1M P1 follow-ups + the park-vs-error spin fix)
waivers: none new — `XSHARD-READ-01` remains the open GA gap (ROADMAP R4), unchanged from v0.8.3.
Expand Down
Loading