| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| 2.17.0 source code.tar.gz | 2026-09-11 | 1.2 MB | |
| 2.17.0 source code.zip | 2026-09-11 | 1.6 MB | |
| README.md | 2026-09-11 | 9.1 kB | |
| Totals: 3 Items | 2.8 MB | 0 | |
Highlights: This release adds JSON output for INFO, the TDIGEST.CDF command, and configurable client output-buffer limits. It also improves Stream trimming and HNSW random-number generation, fixes replication and command compatibility issues, and strengthens command permissions, Lua reply handling, and RDB loading.
Dependencies were refreshed, including RocksDB v11.8.1, jsoncons v1.9.0, libevent 2.1.13-stable, fmt v12.2.0, and GoogleTest v1.18.0.
Hash Field Expiration (HFE) commands and configuration remain disabled in 2.17.0, while the internal data structures and metadata are retained. Keyspace Notifications and CuckooFilter are also excluded from this release and should not be treated as available functionality.
Compatibility Notes
DEBUG,FLUSHMEMTABLE,FLUSHBLOCKCACHE, and_db_namenow require admin permission. Clients authenticated with namespace tokens can no longer run these commands. See https://github.com/apache/kvrocks/pull/3570.- Non-admin
CLIENT LIST,CLIENT INFO, andCLIENT KILLoperations are restricted to the caller's namespace. See https://github.com/apache/kvrocks/pull/3536. - Cluster slot migration now uses only
raw-key-value. Theredis-commandmigration path and fallback have been removed; the destination must supportAPPLYBATCH. Themigrate-type,migrate-speed, andmigrate-pipeline-sizesettings are deprecated. Usemigrate-batch-rate-limit-mbandmigrate-batch-size-kbto control migration throughput and batch size. See https://github.com/apache/kvrocks/pull/3544. client-output-buffer-limitis disabled by default and applies to thenormalandpubsubclient classes. Theslaveclass is accepted for compatibility but has no effect on replication connections. See https://github.com/apache/kvrocks/pull/3560.
New Features
- feat(info): support FORMAT (TXT | JSON) for the INFO command by @nhancdt2602 in https://github.com/apache/kvrocks/pull/3549
- feat(server): support the client-output-buffer-limit configuration by @git-hulk in https://github.com/apache/kvrocks/pull/3560
- feat(tdigest): implement
tdigest.cdfcommand by @LindaSummer in https://github.com/apache/kvrocks/pull/3551
Bug Fixes
- fix(cluster): release forbidden slot range on CLUSTER RESET by @git-hulk in https://github.com/apache/kvrocks/pull/3545
- fix(replication): prevent full-sync checkpoint race with cron purge by @advisedy in https://github.com/apache/kvrocks/pull/3559
- fix(json): use bytes sink for CBOR encoding by @XYenon in https://github.com/apache/kvrocks/pull/3580
- fix(stream): decrement pending_number when XAUTOCLAIM removes deleted PEL entries by @wengsht in https://github.com/apache/kvrocks/pull/3578
- fix(comptaction): use int64_t for parsing total_keys and deleted_keys by @DanFaudemer in https://github.com/apache/kvrocks/pull/3599
- fix(set): return scalar for SRANDMEMBER without count by @raghav2005 in https://github.com/apache/kvrocks/pull/3601
- fix(server): add O_TRUNC when creating PID file to avoid stale content by @weim0000 in https://github.com/apache/kvrocks/pull/3598
Security & Hardening
- fix(server): scope CLIENT LIST/INFO/KILL to caller's namespace by @git-hulk in https://github.com/apache/kvrocks/pull/3536
- fix(scripting): guard against stack overflow on deeply nested Lua reply by @git-hulk in https://github.com/apache/kvrocks/pull/3547
- fix(rdb): reject over-large declared lengths when loading RDB payloads by @git-hulk in https://github.com/apache/kvrocks/pull/3550
- fix(command): require admin permission for privileged commands by @git-hulk in https://github.com/apache/kvrocks/pull/3570
Improvements
- refactor(cluster): remove the redis-command migration type by @git-hulk in https://github.com/apache/kvrocks/pull/3544
- perf(search): share a thread-local RNG for HNSW and drop seed (#2398) by @advisedy in https://github.com/apache/kvrocks/pull/3562
- perf(stream): trim with a single DeleteRange instead of per-entry Delete by @bocharov in https://github.com/apache/kvrocks/pull/3592
Build & CI
- fix(test): extend the replication wait time to prevent the flaky test by @git-hulk in https://github.com/apache/kvrocks/pull/3531
- perf(test): parallelize bitmap subtests and optimize Set2SetBit with pipeline by @Tangruilin in https://github.com/apache/kvrocks/pull/3507
- fix(ci): update the sonarscan to v8.2.0 by @git-hulk in https://github.com/apache/kvrocks/pull/3542
- fix(ci): update docker/build-push-action to v7.3.0 by @git-hulk in https://github.com/apache/kvrocks/pull/3548
- perf(tests): shorten list blocking timeout cases by @Tangruilin in https://github.com/apache/kvrocks/pull/3539
- perf(test): poll is_compacting instead of a fixed sleep in replication test by @ishita-0301 in https://github.com/apache/kvrocks/pull/3561
- chore(devcontainer): update toolchain to project requirements by @maoyouaa in https://github.com/apache/kvrocks/pull/3563
- fix(test): treat ECONNRESET as graceful in SimpleTCPProxy by @nhancdt2602 in https://github.com/apache/kvrocks/pull/3574
- chore(ci): remind new contributors about AI-assisted guidelines by @jihuayu in https://github.com/apache/kvrocks/pull/3566
- chore(ci): bump typos action to v1.49.0 by @aleksraiden in https://github.com/apache/kvrocks/pull/3586
- chore(ci): bump docker/login CI actions to v4.6.0 by @aleksraiden in https://github.com/apache/kvrocks/pull/3587
- chore(ci): bump setup-go action from v6 to v7 by @aleksraiden in https://github.com/apache/kvrocks/pull/3590
- chore(ci): bump golangci-lint to 2.13.0 by @aleksraiden in https://github.com/apache/kvrocks/pull/3597
- chore(ci): bump skywalking-eyes actions to 0.9.0 by @aleksraiden in https://github.com/apache/kvrocks/pull/3604
-
chore(ci): check license headers in Lua scripts by @git-hulk in https://github.com/apache/kvrocks/pull/3616
-
fix(ci): use approved action revisions in nightly workflow by @git-hulk in https://github.com/apache/kvrocks/commit/450d1734a17be3ad0451c8b3db38ba1becb89443
- test(info): remove unstable version assertion by @git-hulk in https://github.com/apache/kvrocks/commit/93ae824b4f99b2e66e68447382a83f8617f420c3
- test(info): remove orphaned version assertion comment by @git-hulk in https://github.com/apache/kvrocks/commit/bbb136f49d1ec552940c87c62fafc40f739bf0be
Dependency Updates
- chore(deps): bump jsoncons to 1.8.1 by @aleksraiden in https://github.com/apache/kvrocks/pull/3514
- chore(deps): bump fmtlib to 12.2.0 by @aleksraiden in https://github.com/apache/kvrocks/pull/3532
- chore(deps): bump rocksdb to v11.1.2 by @aleksraiden in https://github.com/apache/kvrocks/pull/3537
- chore(deps): bump libevent to 2.1.13-stable by @aleksraiden in https://github.com/apache/kvrocks/pull/3540
- chore(deps): bump jsoncons to v1.9.0 by @aleksraiden in https://github.com/apache/kvrocks/pull/3583
- chore(deps): bump rocksdb to v11.8.1 by @aleksraiden in https://github.com/apache/kvrocks/pull/3585
- chore(deps): bump google test to v1.18.0 by @aleksraiden in https://github.com/apache/kvrocks/pull/3582
Features Excluded from 2.17.0
The following upstream work is present in the development history but its user-facing functionality is disabled or removed in this release:
- HFE commands, including
HSETEXandHGETEX, and HFE configuration are disabled. Internal data structures and metadata are retained. Related work by @PragmaTwice: https://github.com/apache/kvrocks/pull/3554. - Keyspace Notifications are excluded. Related work by @Aetherance: https://github.com/apache/kvrocks/pull/3541.
- CuckooFilter commands are disabled. Related work by @nagisa-kunhah: https://github.com/apache/kvrocks/pull/3481.
- chore(release): exclude incomplete 2.17.0 features by @git-hulk in https://github.com/apache/kvrocks/commit/c4802b039aa36dd4a115dbfa9de1f267e5f309b9
Chores & Maintenance
- chore(.asf.yaml): add 2.16 into protected branches by @PragmaTwice in https://github.com/apache/kvrocks/pull/3535
- release: prepare source release apache-kvrocks-2.17.0-rc2 by @git-hulk in https://github.com/apache/kvrocks/commit/185d4221df20af8ed3416e4dec4de8917312a2e9
New Contributors
- @nhancdt2602 made their first contribution in https://github.com/apache/kvrocks/pull/3549
- @advisedy made their first contribution in https://github.com/apache/kvrocks/pull/3559
- @ishita-0301 made their first contribution in https://github.com/apache/kvrocks/pull/3561
- @maoyouaa made their first contribution in https://github.com/apache/kvrocks/pull/3563
- @wengsht made their first contribution in https://github.com/apache/kvrocks/pull/3578
- @bocharov made their first contribution in https://github.com/apache/kvrocks/pull/3592
- @DanFaudemer made their first contribution in https://github.com/apache/kvrocks/pull/3599
- @Aetherance made their first contribution in https://github.com/apache/kvrocks/pull/3541
- @raghav2005 made their first contribution in https://github.com/apache/kvrocks/pull/3601
Full Changelog: https://github.com/apache/kvrocks/compare/v2.16.0...v2.17.0