Skip to content

v7.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 01 Oct 02:20
· 210 commits to develop since this release

kevy 7.0.0 brings the public Rust API of every crate to the Rust API Guidelines, keeps every write an embedded store returned through a killed process, adds global indexes spread over the shards by value, makes index rows a quarter or less of their former size, and adds encrypted links between nodes and on a second client port (off unless configured).

It is a major release. Most Rust signatures changed (old → new), kevy-config's structs gained public fields, the Go module moved to github.com/goliajp/kevy-go/v7, and a data directory 7.0 has written holds frames 6.4 does not understand. A wire client needs no change, and a 6.4 directory opens as it is.

Before upgrading, read the upgrade guide — English · 中文 · 日本語 — if you set maxmemory (used_memory reads higher for the same data), run replicas, may go back to 6.4, script kevy-cli tools as bare words, or use kevy as a Rust library. Every statement there about mixing versions was measured against the 6.4.0 release binary.

Several fixes stop data that had been lost or changed, some since 1.x; each names the first release that had the defect. The server now runs on kevy-alloc by default.

Measured on the same 16-core box (PERFORMANCE.md):

  • against 6.4.0: throughput 1–23% higher and instructions per command 6–16% lower on every workload shape, resident memory lower on all of them
  • against Redis 8.10.2, valkey 9.1.2 and Dragonfly 2.0.0, each engine on 4 cores: every one of 20 paired ratios has its 99% lower bound above 1; the narrowest is LPUSH against Redis, 1.35×

Full list of changes: CHANGELOG.md