Skip to content

2.2.0

Compare
Choose a tag to compare
@PragmaTwice PragmaTwice released this 10 Nov 03:47
· 907 commits to unstable since this release

Notice

For this release, we are still using rocksdb 6.29, but we will update to rocksdb 7 in the next release (as in the unstable branch).

New Features

  • Allow using LuaJIT to improve the performance of the Lua script (#697)
  • Add the new command GETDEL (#771)
  • Add the new command SMISMEMBER (#778)
  • Add the new data structure Redis STREAM (#745)
  • Add TLS support for kvrocks connections (#797)
  • Add the new command HELLO (#881)
  • Add the new command EVAL_RO (#782)
  • Add the new command DISK (#882)
  • Add the new command GETEX (#961)
  • Support CLI options for the kvrocks server (#1037)
  • Add the new command options for ZADD (#1022)
  • Add ZLIB dependency for compression in rocksdb (#1078)

Improvements

  • Switch the default value of log-dir to stdout (#754)
  • Add fpm packaging to x.py (#752)
  • Propagate sanitizer flags to all cmake deps (#759)
  • Move runtest to x.py with customized server/cli path (#765)
  • Add StatusOr for error handling in modern C++ style (#768)
  • Add ParseInt in StatusOr style (#787)
  • Show function name in backtrace (#796)
  • Optimize get bitmap string and remove redundant num2bit array (#793)
  • Allows Kvrocks to listen to only the unix socket (#809)
  • Update dependency to latest version (lz4, libevent, gtest) (#828)
  • Export the rocksdb write options (#885)
  • Support quoted string and inline comment in config (#849)
  • Add the FilterBlobByKey for SubKeyFilter (#902)
  • Avoid using Get when iterating sub-keys during migration (#906)
  • Support EXAT/PEXAT option in the set command (#901)
  • Return from HRANGE if the key wasn't found (#923)
  • Update jemalloc to 5.3.0 (#940)
  • Use ParseInt to replace sto*, ato* (#924)
  • Add UniqueFD and ScopeExit (#973)
  • Align georadius behavior of redis (#993)
  • Align the expire option behavior of redis (#1017)
  • Support config set backup-dir new-dir (#1026)
  • Use a consistent way to get the current time (#1038)
  • Add support for showing used_memory_startup (#1044)
  • Improve stack trace format and clean main.cc (#1053)
  • Add command parser (#1032)
  • Add WriteBatchInspector to inspect WriteBatch (#1069)
  • Improve libunwind linking in CMake (#1079)

Bug Fixes

  • Fix didn't return the out of range error in cluster import command(#767)
  • Fix should forbid to create of the default namespace (#772)
  • Fix CMake configuration error in snappy (#803)
  • Fix inline protocol don't allow LF only EOL (#808)
  • Fix successor commands won't be processed before receiving the next read event (#839)
  • Fix georadius should return an empty set if the key does not exist (#845)
  • Fix config set rocksdb.blob_garbage_collection_age_cutoff (#914)
  • Fix ping with arg should return a bulk string (#933)
  • Fix server cannot exit properly when enabling cluster mode (#969)
  • Fix shouldn't lowercase the configuration value in kvrocks2redis(#971)
  • Fix don't duplicate killed clients which have already flagged kCloseAfterReply (#1020)
  • Fix properly parse cmake version (#1043)
  • Fix rename-command only the first one works(#1047)
  • Fix CAS and CAD return statuses (#1055)
  • Fix random crash in the migration test case (#1068)

Test Refactoring

TCL tests are now moved to Go, refer to #811.

Misc

  • Replace cpplint with clang-format (#979)
  • Refactor source file structure (#989)
  • Update C++ standard to 17 (#1006)
  • Use clang-tidy instead of cppcheck (#1025)