github apache/kvrocks v2.15.0
2.15.0

8 hours ago

Highlights: This release expands command coverage with new TimeSeries commands and broader TDigest support. It also introduces new commands such as DELEX, DIGEST, and MSETEX, and adds the redis-databases option to enable SELECT support, further improving Redis compatibility.

In addition, this version improves stability and correctness by fixing replication acknowledgment handling and preventing WAL exhaustion caused by slow consumers. Several dependency upgrades were included, notably RocksDB updates up to v10.10.1 and the migration to C++20.

New Features

  • feat(ts): add the support of TS.MREVRANGE command by @var-nan in #3245
  • feat(ts): add the support of TS.QUERYINDEX command by @lauk20 in #3246
  • feat(ts): add the support of TS.ALTER command by @var-nan in #3264
  • feat(tdigest): add the support of TDIGEST.RANK command by @donghao526 in #3249
  • feat(tdigest): add the support of TDIGEST.REVRANK command by @donghao526 in #3130
  • feat(tdigest): add the support of TDIGEST.BYRANK and TDIGEST.BYREVRANK command by @donghao526 in #3296
  • feat: add redis-databases option to support SELECT command by @hanxi in #3294
  • feat(digest): implement DIGEST command by @chakkk309 in #3320
  • feat(delex): implement DELEX command by @Valay17 in #3317
  • feat(string): add the support of MSETEX command by @ggyuchive in #3318
  • chore(command): add a special category to disable commands by @PragmaTwice in #3251

Bug Fixes

  • fix(replication): fix _getack send check by @zhixinwen in #3248
  • fix(replication): prevent WAL exhaustion from slow consumers by @ethervoid in #3357
  • fix(info): the slave lag in INFO command might be overflowed by @greatsharp in #3271
  • fix(command): enhance zdiff parse error case to avoid crash by @ggyuchive in #3316
  • fix(command): fix MSETEX key range for command by @ggyuchive in #3336
  • fix(stream): add missing return after empty response in XREAD/XREADGROUP OnWrite by @nsweeting in #3337
  • fix(string): add empty string value check for INCR to match Redis behavior by @sryanyuan in #3354
  • fix(sideloading): avoid the expected data deletion during SST side loading by @ltagliamonte-dd in #3342
  • fix(ci): the sonar c/cpp action has been deprecated by @git-hulk in #3280
  • fix(ci): use the wrong string in sonar action arguments by @git-hulk in #3284

Performance Improvements

  • perf(string): reduce read access in MSETEX by @ggyuchive in #3322
  • perf(hash): use MultiGet to reduce RocksDB calls in HMSET by @sryanyuan in #3327
  • refactor(tdigest): convert the flags for reverse in TDigest::Rank to a compile-time argument by @donghao526 in #3268

Build & CI

Chores & Maintenance

New Contributors

Full Changelog: v2.14.0...v2.15.0

Don't miss a new kvrocks release

NewReleases is sending notifications on new releases.