github valkey-io/valkey 9.1.0-rc1

pre-release8 hours ago

Valkey 9.1.0-rc1

Upgrade urgency LOW: This is the first release candidate of Valkey 9.1.0, with
new features, performance improvements, and bug fixes.

New Features and enhanced behavior

Command and API updates

  • Makes CLUSTER KEYSLOT available in standalone mode by @stockholmux (#3040)
  • Update HSETEX so that it always issue keyspace notifications after validation by @ranshid (#3001)
  • Adds HGETDEL command by @roshkhatri (#2851)
  • Support NX/XX flag in HSETEX command by @hanxizh9910 (#2668)
  • New CLUSTERSCAN command for cluster-wide key scanning across nodes by @nmvk (#2934)
  • New MSETEX command to set multiple keys with a shared expiration by @enjoy-binbin (#3121)
  • CLUSTER SHARDS/CLUSTER SLOTS now include an availability-zone field by @bandalgomsu (#3156)

Performance and Efficiency improvements

  • Optimize zset memory usage by embedding element in skiplist by @chzhoo (#2508)
  • Remove internal server object pointer overhead in small strings by @rainsupreme (#2516)
  • Optimize skiplist query efficiency by embedding the skiplist header by @chzhoo (#2867)
  • Improve performance during rehashing by @chzhoo (#3073)
  • Optimize SREM/ZREM/HDEL to pause auto shrink when deleting multiple items by @enjoy-binbin (#3144)
  • Abort and swap the tables if ht1 is very full during the hashtable shrink rehashing by @enjoy-binbin (#3175)
  • Improve performance of copy avoidance when command reply tracking is disabled by @dvkashapov (#3086)
  • Enable hardware clock by default by @dvkashapov (#3103)
  • Improve COMMAND performance by caching responses by @ebarskiy (#2839)
  • Add support for asynchronous freeing of keys on writable replicas by @Scut-Corgis (#2849)
  • Faster XRANGE/XREVRANGE via stream range hot-path optimization by @nesty92 (#3002)
  • Replicas can reuse the RDB file as AOF preamble after disk-based full sync by @RayaCoo (#1901)

Module API changes

Observability and logging

  • Cumulative metrics for active I/O threads usage by @deepakrn (#2463)
  • Cumulative metric for active main thread usage by @dvkashapov (#2931)
  • Support whole cluster info for INFO command in cluster_info section by @soloestoy, @ranshid (#2876, #2964)
  • Add remaining_repl_size field in CLUSTER GETSLOTMIGRATIONS output by @enjoy-binbin (#3135)
  • Add logging helper function to print node's ip:port when nodename not explicitly set by @zhijun42 (#2777)
  • Dual-channel-replication announces itself at replica-announce-ip if configured by @jdheyburn (#2846)
  • Show replica dual-channel replication buffer memory in INFO MEMORY and MEMORY STATS by @enjoy-binbin (#2924)
  • Add rdb_transmitted state to replica state in INFO by @enjoy-binbin (#2833)
  • New INFO section for scripting engines by @rjd15372 (#2738)
  • Adding json support for log-format config by @jbergstroem (#1791)
  • Add server side TLS certificate expiry tracking and INFO telemetry by @YiwenZhang12 (#2913)
  • Add option to use libbacktrace for backtraces in crash reports by @rainsupreme (#3034)

Build and Tooling

Bug Fixes

Contributors

Don't miss a new valkey release

NewReleases is sending notifications on new releases.