From 049f2f080517c3f48d99726ac23f498c5b12851f Mon Sep 17 00:00:00 2001 From: Oran Agra Date: Sun, 10 Jan 2021 21:50:12 +0200 Subject: [PATCH] Redis 6.2 RC2 --- 00-RELEASENOTES | 107 +++++++++++++++++++++++++++++++++++++++++++----- src/help.h | 52 +++++++++++++++-------- src/version.h | 4 +- 3 files changed, 135 insertions(+), 28 deletions(-) diff --git a/00-RELEASENOTES b/00-RELEASENOTES index 8fdfcf76010c..3434d4838f30 100644 --- a/00-RELEASENOTES +++ b/00-RELEASENOTES @@ -1,8 +1,84 @@ +================================================================================ +Redis 6.2 RC2 Released Tue Jan 12 16:17:20 IST 2021 +================================================================================ + +Upgrade urgency LOW: This is the second Release Candidate of Redis 6.2. + +IMPORTANT: If you're running Redis on ARM64 or a big-endian system, upgrade may +have significant implications. Please be sure to read the notes below. + +Here is a comprehensive list of changes in this release compared to 6.2 RC1, +each one includes the PR number that added it, so you can get more details +at https://github.com/redis/redis/pull/ + +New commands / args: +* Add the REV, BYLEX and BYSCORE arguments to ZRANGE, and the ZRANGESTORE command (#7844) +* Add the XAUTOCLAIM command (#7973) +* Add the MINID trimming strategy and the LIMIT argument to XADD and XTRIM (#8169) +* Add the ANY argument to GEOSEARCH and GEORADIUS (#8259) +* Add the CH, NX, XX arguments to GEOADD (#8227) +* Add the COUNT argument to LPOP and RPOP (#8179) +* Add the WRITE argument to CLIENT PAUSE for pausing write commands exclusively (#8170) +* Change the proto-ver argument of HELLO to optional (#7377) +* Add the CLIENT TRACKINGINFO subcommand (#7309) + +Command behavior changes: +* CLIENT TRACKING yields an error when given overlapping BCAST prefixes (#8176) +* SWAPDB invalidates WATCHed keys (#8239) +* SORT command behaves differently when used on a writable replica (#8283) + +Other behavior changes: +* Avoid propagating MULTI/EXEC for read-only transactions (#8216) +* Remove the read-only flag from TIME, ECHO, ROLE, LASTSAVE (#8216) +* Fix the command flags of PFDEBUG (#8222) +* Tracking clients will no longer receive unnecessary key invalidation messages after FLUSHDB (#8039) +* Sentinel: Fix missing updates to the config file after SENTINEL SET command (#8229) + +Bug fixes with compatibility implications (bugs introduced in Redis 6.0): +* Fix RDB CRC64 checksum on big-endian systems (#8270) + If you're using big-endian please consider the compatibility implications with + RESTORE, replication and persistence. +* Fix wrong order of key/value in Lua's map response (#8266) + If your scripts use redis.setresp() or return a map (new in Redis 6.0), please + consider the implications. + +Bug fixes that are only applicable to previous releases of Redis 6.2: +* Resolve rare assertions in active defragmentation while loading (#8284, #8281) + +Bug fixes: +* Fix the selection of a random element from large hash tables (#8133) +* Fix an issue where a forked process deletes the parent's pidfile (#8231) +* Fix crashes when enabling io-threads-do-reads (#8230) +* Fix a crash in redis-cli after executing cluster backup (#8267) +* Fix redis-benchmark to use an IP address for the first cluster node (#8154) +* Fix saving of strings larger than 2GB into RDB files (#8306) + +Additional improvements: +* Improve replication handshake time (#8214) +* Release client tracking table memory asynchronously in cases where the DB is also freed asynchronously (#8039) +* Avoid wasteful transient memory allocation in certain cases (#8286, #5954) +* Handle binary string values by the 'requirepass' and 'masterauth' configs (#8200) + +Platform and deployment-related changes: +* Install redis-check-rdb and redis-check-aof as symlinks to redis-server (#5745) +* Add a check for an ARM64 Linux kernel bug (#8224) + Due to the potential severity of this issue, Redis will refuse to run on + affected platforms by default. + +Info fields and introspection changes: +* Add the errorstats section to the INFO command (#8217) +* Add the failed_calls and rejected_calls fields INFO's commandstats section (#8217) +* Report child copy-on-write metrics continuously (#8264) + +Module API changes: +* Add the RedisModule_SendChildCOWInfo API (#8264) +* Add the may-replicate command flag (#8170) + ================================================================================ Redis 6.2 RC1 Released Mon Dec 14 11:50:00 IST 2020 ================================================================================ -Upgrade urgency LOW: This is the first RC of Redis 6.2. +Upgrade urgency LOW: This is the first Release Candidate of Redis 6.2. Introduction to the Redis 6.2 release ===================================== @@ -29,7 +105,7 @@ New commands / args: * Add SMISMEMBER command that checks multiple members (#7615) * Add ZMSCORE command that returns an array of scores (#7593) * Add LMOVE and BLMOVE commands that pop and push arbitrarily (#6929) -* Add RESET command that resets client connection state(#7982) +* Add RESET command that resets client connection state (#7982) * Add COPY command that copies keys (#7953) * Add ZDIFF and ZDIFFSTORE commands (#7961) * Add ZINTER and ZUNION commands (#7794) @@ -146,7 +222,7 @@ Platform / toolchain support related improvements: New configuration options: * Enable configuring OpenSSL using the standard openssl.cnf (#8143) -* oom-score-adj-values can config can now take absolute values (besides relative ones) (#8046) +* oom-score-adj-values config can now take absolute values (besides relative ones) (#8046) * TLS: Add different client cert support. (#8076) * Note that a few other changes listed above added their config options. @@ -177,31 +253,42 @@ We'll follow up with more RC releases, until the code looks production ready and we don't get reports of serious issues for a while. A special thank you for the amount of work put into this release by: +- Oran Agra +- Yossi Gottlieb +- Itamar Haber +- Guy Benoish +- Filipe Oliveira +- Madelyn Olson - Wang Yuan - Felipe Machado -- Filipe Oliveira -- Tatsuya Arisawa - Yang Bodong +- Tatsuya Arisawa +- Jonah H. Harris - Jim Brunner +- Yaacov Hazan - Wen Hui -- Guy Benoish - Chen Yang - Nitai Caro - Meir Shpilraien -- Madelyn Olson - maohuazhu - Valentino Geron +- Qu Chen +- sundb +- George Prekas +- Zhao Zhao - Tyson Andre - Michael Grunder - alexronke-channeladvisor -- sundb -- WuYunlong +- Wu Yunlong +- Wei Kukey - Yoav Steinberg - Uri Shachar +- Greg Femec - Nykolas Laurentino de Lima +- xhe +- zhenwei pi - David CARLIER - Migrating from 6.0 to 6.2 ========================= diff --git a/src/help.h b/src/help.h index d6754f570f49..edd15a3c9cef 100644 --- a/src/help.h +++ b/src/help.h @@ -194,7 +194,7 @@ struct commandHelp { 8, "2.4.0" }, { "CLIENT PAUSE", - "timeout", + "timeout [WRITE|ALL]", "Stop processing commands from clients for some time", 8, "2.9.50" }, @@ -213,11 +213,21 @@ struct commandHelp { "Enable or disable server assisted client side caching support", 8, "6.0.0" }, + { "CLIENT TRACKINGINFO", + "-", + "Return information about server assisted client side caching for the current connection", + 8, + "6.2.0" }, { "CLIENT UNBLOCK", "client-id [TIMEOUT|ERROR]", "Unblock a client blocked in a blocking command from a different connection", 8, "5.0.0" }, + { "CLIENT UNPAUSE", + "-", + "Resume processing of clients that were paused", + 8, + "6.2.0" }, { "CLUSTER ADDSLOTS", "slot [slot ...]", "Assign new hash slots to receiving node", @@ -459,7 +469,7 @@ struct commandHelp { 9, "1.0.0" }, { "GEOADD", - "key longitude latitude member [longitude latitude member ...]", + "key [NX|XX] [CH] longitude latitude member [longitude latitude member ...]", "Add one or more geospatial items in the geospatial index represented using a sorted set", 13, "3.2.0" }, @@ -479,22 +489,22 @@ struct commandHelp { 13, "3.2.0" }, { "GEORADIUS", - "key longitude latitude radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC] [STORE key] [STOREDIST key]", + "key longitude latitude radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count [ANY]] [ASC|DESC] [STORE key] [STOREDIST key]", "Query a sorted set representing a geospatial index to fetch members matching a given maximum distance from a point", 13, "3.2.0" }, { "GEORADIUSBYMEMBER", - "key member radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC] [STORE key] [STOREDIST key]", + "key member radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count [ANY]] [ASC|DESC] [STORE key] [STOREDIST key]", "Query a sorted set representing a geospatial index to fetch members matching a given maximum distance from a member", 13, "3.2.0" }, { "GEOSEARCH", - "key [FROMMEMBER member] [FROMLONLAT longitude latitude] [BYRADIUS radius m|km|ft|mi] [BYBOX width height m|km|ft|mi] [ASC|DESC] [COUNT count] [WITHCOORD] [WITHDIST] [WITHHASH]", + "key [FROMMEMBER member] [FROMLONLAT longitude latitude] [BYRADIUS radius m|km|ft|mi] [BYBOX width height m|km|ft|mi] [ASC|DESC] [COUNT count [ANY]] [WITHCOORD] [WITHDIST] [WITHHASH]", "Query a sorted set representing a geospatial index to fetch members inside an area of a box or a circle.", 13, "6.2" }, { "GEOSEARCHSTORE", - "destination source [FROMMEMBER member] [FROMLONLAT longitude latitude] [BYRADIUS radius m|km|ft|mi] [BYBOX width height m|km|ft|mi] [ASC|DESC] [COUNT count] [WITHCOORD] [WITHDIST] [WITHHASH] [STOREDIST]", + "destination source [FROMMEMBER member] [FROMLONLAT longitude latitude] [BYRADIUS radius m|km|ft|mi] [BYBOX width height m|km|ft|mi] [ASC|DESC] [COUNT count [ANY]] [WITHCOORD] [WITHDIST] [WITHHASH] [STOREDIST]", "Query a sorted set representing a geospatial index to fetch members inside an area of a box or a circle, and store the result in another key.", 13, "6.2" }, @@ -524,8 +534,8 @@ struct commandHelp { 5, "2.0.0" }, { "HELLO", - "protover [AUTH username password] [SETNAME clientname]", - "switch Redis protocol", + "[protover [AUTH username password] [SETNAME clientname]]", + "Handshake with Redis", 8, "6.0.0" }, { "HEXISTS", @@ -684,8 +694,8 @@ struct commandHelp { 9, "5.0.0" }, { "LPOP", - "key", - "Remove and get the first element in a list", + "key [count]", + "Remove and get the first elements in a list", 2, "1.0.0" }, { "LPOS", @@ -929,8 +939,8 @@ struct commandHelp { 9, "2.8.12" }, { "RPOP", - "key", - "Remove and get the last element in a list", + "key [count]", + "Remove and get the last elements in a list", 2, "1.0.0" }, { "RPOPLPUSH", @@ -1189,10 +1199,15 @@ struct commandHelp { 14, "5.0.0" }, { "XADD", - "key [MAXLEN [=|~] length] [NOMKSTREAM] *|ID field value [field value ...]", + "key [NOMKSTREAM] [MAXLEN|MINID [=|~] threshold [LIMIT count]] *|ID field value [field value ...]", "Appends a new entry to a stream", 14, "5.0.0" }, + { "XAUTOCLAIM", + "key group consumer min-idle-time start [COUNT count] [justid]", + "Changes (or acquires) ownership of messages in a consumer group, as if the messages were delivered to the specified consumer.", + 14, + "6.2.0" }, { "XCLAIM", "key group consumer min-idle-time ID [ID ...] [IDLE ms] [TIME ms-unix-time] [RETRYCOUNT count] [force] [justid]", "Changes (or acquires) ownership of a message in a consumer group, as if the message was delivered to the specified consumer.", @@ -1244,7 +1259,7 @@ struct commandHelp { 14, "5.0.0" }, { "XTRIM", - "key MAXLEN [=|~] length", + "key MAXLEN|MINID [=|~] threshold [LIMIT count]", "Trims the stream to (approximately if '~' is passed) a certain size", 14, "5.0.0" }, @@ -1309,8 +1324,8 @@ struct commandHelp { 4, "5.0.0" }, { "ZRANGE", - "key start stop [WITHSCORES]", - "Return a range of members in a sorted set, by index", + "key min max [BYSCORE|BYLEX] [REV] [LIMIT offset count] [WITHSCORES]", + "Return a range of members in a sorted set", 4, "1.2.0" }, { "ZRANGEBYLEX", @@ -1323,6 +1338,11 @@ struct commandHelp { "Return a range of members in a sorted set, by score", 4, "1.0.5" }, + { "ZRANGESTORE", + "dst src min max [BYSCORE|BYLEX] [REV] [LIMIT offset count]", + "Store a range of members from sorted set into another key", + 4, + "6.2.0" }, { "ZRANK", "key member", "Determine the index of a member in a sorted set", diff --git a/src/version.h b/src/version.h index 26505bfcb889..d408dd3e8050 100644 --- a/src/version.h +++ b/src/version.h @@ -1,2 +1,2 @@ -#define REDIS_VERSION "6.1.240" -#define REDIS_VERSION_NUM 0x000601f0 +#define REDIS_VERSION "6.1.241" +#define REDIS_VERSION_NUM 0x000601f1