Recent Releases

3.2.007 May 2016 11:45 major bugfix: Upgrade urgency MODERATE: this release a non trivial Sentinel crash. avg_ttl reporting in INFO improved. (Salvatore Sanfilippo). Sentinel: improve handling of known Sentinel instances. (Salvatore Sanfilippo, thanks to Paweł Kowalczykf or the original. Crash report). Redis Cluster address update (via gossip section) processing improved to avoid initiating inwanted handshakes.
3.0.726 Jan 2016 06:05 minor bugfix: Upgrade urgency MODERATE: this release important Redis Cluster. Many to MIGRATE multiple keys implementation. The command. Could handle errors in a faulty way leading to crashes or other Unexpected behaviors. MIGRATE command refactoring. (The analysis of the faulty conditions was conducted by Kevin McGehee. The was developed by Salvatore Sanfilippo). A Redis Cluster node crash was because of wrong handling of. Node- slaveof pointers. redis-trib rebalance when nodes need to be left empty because. The specified weight is zero. MIGRATE: Never send -ASK redirections for MIGRATE when there are. Open slots. Redis-trib and other cluster management utility must Always be free to move keys between nodes about open slots, in order to reshard, the cluster configuration, and so forth. (Salvatore Sanfilippo). Lua deger crash when printing too deeply nested objects. Redis-cli implementation of Lua deging now allows to use the SCRIPT DEcommand directly, switching to deging mode as needed. Redis-trib is now able to more errors. A new CLUSTER subcommand. Called BUMPEPOCH was introduced in order to support new modes For the "" subcommand. (Salvatore Sanfilippo) NEW Redis proctected mode: this feature improves Redis security and makes. Harder to run Redis in a configuration that is unsecure because no Firewalling was used in order to protect Redis from external accesses. See this Reddit post for more info: (Salvatore Sanfilippo). NEW Cluster/Sentinel tests now use OSX leak to perform leak detection at the end of every unit. (Salvatore Sanfilippo). NEW Detect and show server crashes during Cluster/Sentinel tests. (Salvatore Sanfilippo). NEW More reliable Cluster/Sentinel test becuase of timing errors and. -LOADING errors. (Salvatore Sanfilippo).
3.0.619 Dec 2015 07:45 minor bugfix: Upgrade urgency: MODERATE. We a crash that happens very rarely, so Updating does not hurt, but most users are unlikely to Experience this condition because it requires some odd Timing. However if you are a Redis Cluster user, upgrading is strongly adviced since this release includes very. Important improvements to Redis Cluster. lua_struct.c/getnum security. (Luca Bruno discovered it. Patched by Sun He and Chris Lamb) Redis Cluster replica migration. See for details. (Salvatore Sanfilippo). a race condition in processCommand() because of interactions. With freeMemoryIfNeeded(). Details in and especially in the commit message d999f5a. (Race found analytically by Oran Agra, patch by Salvatore Sanfilippo). NEW Backported from the upcoming Redis 3.2: MIGRATE now supports an extended multiple-keys pipelined mode, which is an order of magnitude faster. Redis Cluster now uses this mode in order to perform reshardings and rebalancings. (Salvatore Sanfilippo). NEW Backported from the upcoming Redis 3.2: Redis Cluster has now support for rebalancing via the redis-trib. Rebalance command. Demo here: Https:// Official documentation will be available ASAP. (Salvatore Sanfilippo). NEW Redis Cluster redis-trib.rb new "info" subcommand. NEW Redis Cluster tests improved. (Salvatore Sanfilippo). NEW Log offending memory access address on SIGSEGV/SIGBUS (Salvatore Sanfilippo).
3.0.516 Oct 2015 17:45 minor bugfix: Upgrade urgency: MODERATE, the most important thing is a in the replication Code that may make the slave hanging forever if the master Remains with an open socket even if it is no longer able to Reply. MOVE now moves the TTL as well. A lasting forever... finally. Thanks to Andy Grunwald that reported it. a false positive in HSTRLEN test. a in redis-cli --pipe mode that was not able to read back. Replies from the server incrementally. Now a mass import will use a lot less memory, and you can use --pipe to do incremental streaming. Slave detection of master timeout. NEW Cluster: redis-trib can an additional case for opens lots. (Salvatore Sanfilippo). NEW Cluster: redis-trib import support for --copy and --replace options. (David Thomson).
3.0.410 Sep 2015 12:25 minor bugfix: Upgrade urgency: HIGH for Redis and Sentinel. However note that in order to Certain replication, the replication internals were Modified in a very heavy way. So while this release is Conceptually saner, it may contain regressions. For this Reason, before the release, QA activities were performed by me (antirez) and Redis Labs and no evident was found. A number of related to replication PSYNC and the (yet experimental). Diskless replication feature were. The could lead to Inconsistency between masters and slaves. (Salvatore Sanfilippo, Oran Agra the found by Yuval Inbar). A replication in the context of PSYNC partial resynchonization was. Found and. This happens even when diskless replication is off in the case different slaves connect at different times while the master is creating an RDB file, and later a partial resynchronization is. Attempted by a slave that connected not as the first one. (Salvatore Sanfilippo, Oran Agra). Chained replication and PSYNC interactions leading to potential stale. Chained slaves data set, see. (Salvatore Sanfilippo an reported by "GeorgeBJ" user at Github) redis-cli --scan iteration when returned cursor overflows 32 bit signed integer. (Ofir Luzon, Yuval Inbar). Senitnel: a during the master switch process, where for a. Failed conditional check, the new configuration is rewritten, during a small window of time, in a corrupted way where the master is. Also reported to be one of the slaves. This is rare to trigger But apparently it happens in the wild, and the effect is to see a replication loop where the master will try to replicate with itself. A detailed explanation of the and its effects can be found in. The commit message here: The was found by Jan-Erik Rediger using a static analyzer and by Salvatore Sanfilippo. Sentinel lack of arity checks for certain commands. (Rogerio Goncalves, Salvatore Sanfilippo). NEW Rep
3.0.318 Jul 2015 10:25 minor feature: Upgrade urgency: LOW for Redis and Sentinel. FIX Fix blocking operations timeout precision when HZ is at its default value (not increased) and there are thousands of clients connected at the same time. This bug affected Sidekiq users that experienced a very long delay for BLPOP and similar commands to return for timeout. Check commit b029ff1 for more info. (Salvatore Sanfilippo). FIX MIGRATE "creating socket: Invalid argument" error fix. Check issues #2609 and #2612 for more info. (Salvatore Sanfilippo). FIX Be able to connect to the master even when the slave is bound to just the loopback interface and has no valid public address in the network the master is reacahble. (Salvatore Sanfilippo). FIX ZADD with options encoding promotion fixed. (linfangrong). FIX Reset aof_delayed_fsync on CONFIG RESETSTATS. (Tom Kiemes). FIX PFCOUNT key parsing in cluster fixed. (MOON_CLJ). FIX Fix Solaris compilation of Redis 3.0. (Jan-Erik Rediger). NEW Variadic EXISTS command. Now the command accepts multiple arguments and returns the total count of existing keys.
3.0.205 Jun 2015 03:15 security: Upgrade urgency: HIGH for Redis because of a security issue. LOW for Sentinel. FIX Critical security issue fix by Ben Murphy: FIX SMOVE reply fixed when src and dst keys are the same. (Glenn Nethercutt). FIX Lua cmsgpack lib updated to support str8 type. (Sebastian Waisbrot). NEW ZADD support for options: NX, XX, CH. See new doc at (Salvatore Sanfilippo). NEW Senitnel: CKQUORUM and FLUSHCONFIG commands back ported. (Salvatore Sanfilippo).
3.0.107 May 2015 03:25 minor bugfix: Sentinel memory leak due to hiredis fixed. Sentinel memory leak on duplicated instance. Redis crash on Lua reaching output buffer limits. Sentinel flushes config on +slave events.
3.0.002 Apr 2015 21:05 major feature: Redis Cluster: a distributed implementation of a subset of Redis. New "embedded string" object encoding resulting in less cache misses. Big speed gain under certain work loads. AOF child - parent final data transmission to minimize latency due to "last write" during AOF rewrites. Much improved LRU approximation algorithm for keys eviction. WAIT command to block waiting for a write to be transmitted to the specified number of slaves. MIGRATE connection caching. Much faster keys migraitons. MIGARTE new options COPY and REPLACE. CLIENT PAUSE command: stop processing client requests for a specified amount of time. BITCOUNT performance improvements. CONFIG SET accepts memory values in different units (for example you can use "CONFIG SET maxmemory 1gb"). Redis log format slightly changed reporting in each line the role of the instance (master/slave) or if it's a saving child log. INCR performance improvements.