2013-07-18 11:26:53 +02:00
|
|
|
Redis 2.8 release notes
|
2012-05-25 12:24:20 +02:00
|
|
|
=======================
|
2012-02-05 11:08:01 +01:00
|
|
|
|
2013-07-18 11:26:53 +02:00
|
|
|
** IMPORTANT ** Check the 'Migrating from 2.6 to 2.8' section at the end of
|
2013-07-18 16:10:31 +02:00
|
|
|
this file for information about what changed between 2.6 and
|
|
|
|
2.8 and how this may affect your application.
|
2012-02-05 11:08:01 +01:00
|
|
|
|
2013-07-18 11:26:53 +02:00
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
Upgrade urgency levels:
|
|
|
|
|
|
|
|
LOW: No need to upgrade unless there are new features you want to use.
|
|
|
|
MODERATE: Program an upgrade of the server, but it's not urgent.
|
|
|
|
HIGH: There is a critical bug that may affect a subset of users. Upgrade!
|
|
|
|
CRITICAL: There is a critical bug affecting MOST USERS. Upgrade ASAP.
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
2014-09-19 17:49:16 +02:00
|
|
|
--[ Redis 2.8.17 ] Release date: 19 Sep 2014
|
|
|
|
|
|
|
|
# UPGRADE URGENCY: HIGH for Redis Sentinel.
|
|
|
|
LOW for Redis Server (unmodified compared to 2.8.16).
|
|
|
|
|
|
|
|
* [FIX] Resolved a memory leak in the hiredis library causing a memory leak
|
|
|
|
in Redis Sentinel when a monitored instance or another Sentinel is
|
|
|
|
unavailable. Every reconnection attempt will leak a small amount of
|
|
|
|
memory, but in the long run the process can reach a considerable size.
|
|
|
|
|
2014-09-16 15:15:53 +02:00
|
|
|
--[ Redis 2.8.16 ] Release date: 16 Sep 2014
|
|
|
|
|
|
|
|
# UPGRADE URGENCY: HIGH for Redis if you are using 2.8.15 + AOF.
|
|
|
|
LOW for Sentinel.
|
|
|
|
|
|
|
|
* [FIX] The ability to load truncated AOF files introduced with Redis 2.8.15
|
|
|
|
contains a bug fixed in this release: after loading the file was not
|
|
|
|
truncated to the last valid command, so the new commands are appended
|
|
|
|
after a non well formed command. This means that:
|
|
|
|
|
|
|
|
1) The first AOF rewrite triggered by the server will automatically
|
|
|
|
fix the problem.
|
|
|
|
2) However, if the server is restarted before the rewrite, Redis may
|
|
|
|
not be able to load the file and you need to manually fix it.
|
|
|
|
|
|
|
|
In order to fix a corrupted file you should start the redis-check-aof
|
|
|
|
utility WITHOUT the --fix option, just to check the offset where the
|
|
|
|
corruption is found. Around the offset reported by the check utility
|
|
|
|
you'll find, inside your AOF file, a command which is not complete
|
|
|
|
according to the Redis protocol. Just remove this incomplete command
|
|
|
|
leafing the file unaltered before and after the offending command,
|
|
|
|
and restart the server.
|
|
|
|
|
|
|
|
IMPORTANT #1: Redis 2.8.15 is the only stable version of Redis with
|
|
|
|
this bug so probably no actual real-world problem happened since the
|
|
|
|
problem is automatically fixed at the first automatic AOF rewrite.
|
|
|
|
|
|
|
|
IMPORTANT #2: Before upgrading to Redis 2.8.16, if you are using Redis
|
|
|
|
2.8.15 with AOF enabled, make sure to trigger a manual AOF rewrite
|
|
|
|
using the BGREWRITEAOF command.
|
|
|
|
|
|
|
|
* [FIX] SAVE is no longer propagated to AOF / slaves.
|
|
|
|
|
2014-09-12 16:15:48 +02:00
|
|
|
--[ Redis 2.8.15 ] Release date: 12 Sep 2014
|
|
|
|
|
|
|
|
# UPGRADE URGENCY: LOW for Redis, HIGH for Sentinel.
|
|
|
|
|
|
|
|
* [FIX] Sentinel critical bug fixed: the absolute majority was computed in a
|
|
|
|
wrong way because of a programming error. Now the implementation does
|
|
|
|
what the specification says and the majority to authorize a failover
|
|
|
|
(that should not be confused with the ODOWN quorum) is the majority of
|
|
|
|
*all* the Sentinels ever seen for a given master, regardless of their
|
|
|
|
current state.
|
|
|
|
* [FIX] GETRANGE test no longer fails for 32 bit builds (Matt Stancliff).
|
|
|
|
* [FIX] Limit SCAN latency when the hash table is in an odd state (very few
|
|
|
|
populted buckets because rehashing is in progress). (Xiaost and
|
|
|
|
Salvatore Sanfilippo)
|
|
|
|
|
|
|
|
* [NEW] Redis is now able to load truncated AOF files without requiring a
|
|
|
|
redis-check-aof utility run. The default now is to load truncated
|
|
|
|
(but apparently not corrupted) AOFs, you can change this in redis.conf.
|
|
|
|
(Salvatore Sanfilippo).
|
|
|
|
* [NEW] Sentinel: ability to announce itself with an arbitrary IP/port to work
|
|
|
|
in the context of natted networks. However this is probably still
|
|
|
|
not enough since there is no equivalent mechanism for slaves listed
|
|
|
|
in the master INFO output. (Dara Kong and Salvatore Sanfilippo)
|
|
|
|
|
2014-09-01 17:00:38 +02:00
|
|
|
--[ Redis 2.8.14 ] Release date: 1 Sep 2014
|
|
|
|
|
|
|
|
# UPGRADE URGENCY: HIGH for Lua scripting users, the server could crash because
|
|
|
|
of a bug introduced in Redis 2.8.10, otherwise LOW.
|
|
|
|
LOW for Redis Sentinel.
|
|
|
|
|
|
|
|
* [FIX] Don't prevent use of shared integers if maxmemory policy is non-LRU.
|
|
|
|
(Salvatore Sanfilippo)
|
|
|
|
* [FIX] Fail SYNC if background save child aborted due to a signal.
|
|
|
|
(Yossi Gottlieb)
|
|
|
|
* [FIX] Different small redis-cli fixes. (Dov Murik, Charsyam, cubicdaiya,
|
|
|
|
Kashif Rasul, Jan-Erik Rediger, Matt Stancliff)
|
|
|
|
* [FIX] AIX compilation fixes. (Siah Lyimo)
|
|
|
|
* [FIX] A number of other smaller issues.
|
|
|
|
* [FIX] Improved SIGINT handling (Matt Stancliff, Salvatore Sanfilippo)
|
|
|
|
* [FIX] Use unsigned types in SDS header to raise limit to 4GB.
|
|
|
|
(Matt Stancliff, Salvatore Sanfilippo)
|
|
|
|
* [FIX] Handle signed/unsigned comparisons with more care around the code.
|
|
|
|
(Salvatore Sanfilippo)
|
|
|
|
* [FIX] Colorized test output fixed to don't change the background color.
|
|
|
|
(Mariano Pérez Rodríguez)
|
|
|
|
* [FIX] More Sentinel IPv6 fixes. (Eiichi Sato)
|
|
|
|
* [FIX] Deny CLIENT command in scripts. (Matt Stancliff)
|
|
|
|
* [FIX] Allow datasets with more than 2 billion of keys, initial work.
|
|
|
|
* [FIX] Fix a Lua scripting crash by storing the length of the static
|
|
|
|
argv when first allocated. (Paddy Byers)
|
|
|
|
|
|
|
|
* [NEW] Pub/Sub PING. (Salvatore Sanfilippo)
|
|
|
|
* [NEW] Much faster ZUNIONSTORE. (Kyle Hubert, Salvatore Sanfilippo)
|
|
|
|
* [NEW] Faster ll2string() implementation. (Salvatore Sanfilippo)
|
|
|
|
* [NEW] **WARNING, minor API change**: PUBSUB NUMSUB: return type modified
|
|
|
|
to integer. (Matt Stancliff)
|
|
|
|
* [NEW] redis-benchmark support for AUTH. (CharSyam)
|
|
|
|
|
2014-07-14 17:48:14 +02:00
|
|
|
--[ Redis 2.8.13 ] Release date: 14 Jul 2014
|
|
|
|
|
|
|
|
# UPGRADE URGENCY: LOW for Redis and Sentinel, this is a features enhancement
|
|
|
|
release mostly. Since this release introduces the latency
|
|
|
|
monitoring feature, Redis 2.8 users experiencing latency
|
|
|
|
issues are strongly encouraged to upgrade.
|
|
|
|
|
|
|
|
* [FIX] CLIENT KILL minor backward compatibility fixes. (Salvatore Sanfilippo)
|
|
|
|
* [FIX] Enable HAVE_ATOMIC for PowerPC. (Matt Stancliff)
|
|
|
|
* [FIX] More robust PSYNC and AOF rewrites tests. (Salvatore Sanfilippo)
|
|
|
|
* [FIX] Solaris build fixed. (Matt Stancliff, Salvatore Sanfilippo)
|
|
|
|
|
|
|
|
* [NEW] The new latency monitoring feature, as documented at
|
|
|
|
http://redis.io/topics/latency-monitor (Salvatore Sanfilippo)
|
|
|
|
* [NEW] The COMMAND command, exposing the Redis command table
|
|
|
|
as an API. (Matt Stancliff)
|
|
|
|
* [NEW] Update used memory with C11 __atomic. (Matt Stancliff)
|
|
|
|
|
2014-06-23 16:56:18 +02:00
|
|
|
--[ Redis 2.8.12 ] Release date: 23 Jun 2014
|
|
|
|
|
|
|
|
# UPGRADE URGENCY: HIGH for Redis, CRITICAL for Sentinel.
|
|
|
|
|
|
|
|
# WARNING: This release contains a non backward compatible semantical change
|
|
|
|
to Lua script that should affect an almost zero number of users.
|
|
|
|
|
|
|
|
* [FIX / BREAKS BACKWARD COMPATIBILITY] Using SELECT inside Lua scripts no
|
|
|
|
longer makes the selected DB to be set in the calling client.
|
|
|
|
So Lua can still use SELECT, but the client calling the script will
|
|
|
|
remain set to the original DB. Thix fixes an issue with Redis
|
|
|
|
replication of Lua scripts that called SELECT without reverting the
|
|
|
|
selected DB to the original one. (Salvatore Sanfilippo)
|
|
|
|
* [FIX] Sentinel failover was instalbe if the master was detected as available
|
|
|
|
during the failover (especially during manual failovers) because
|
|
|
|
of an implementation error (lack of checking of
|
|
|
|
SRI_PROMOTED flag). (Salvatore Sanfilippo)
|
|
|
|
* [FIX] Cancel SHUTDOWN if initial AOF is being written. (Matt Stancliff)
|
|
|
|
* [FIX] Sentinel: bind source address for outcoming connections. (Matt
|
|
|
|
Stancliff).
|
|
|
|
* [FIX] Less timing sensitive Sentinel tests. (Salvatore Sanfilippo).
|
|
|
|
|
|
|
|
* [NEW] redis-cli --intrinsic-latency stopped with SIGINT still reports
|
|
|
|
stats (Matt Stancliff)
|
|
|
|
* [NEW] Sentinels broadcast an HELLO message ASAP after a failover in order to
|
|
|
|
reach a consistent state faster (before it relied for periodic HELLO
|
|
|
|
messages). (Salvatore Sanfilippo).
|
|
|
|
* [NEW] Jemalloc updated to 3.6.0. (Salvatore Sanfilippo)
|
|
|
|
* [NEW] CLIENT LIST speedup. (Salvatore Sanfilippo)
|
|
|
|
* [NEW] CLIENT LIST new unique incremental ID to every client. (Salvatore
|
|
|
|
Sanfilippo)
|
|
|
|
* [NEW] ROLE command added. (Salvatore Sanfilippo)
|
|
|
|
* [NEW] CLIENT KILL new form to kill by client type and ID (see doc at
|
|
|
|
redis.io for more info). (Salvatore Sanfilippo)
|
|
|
|
* [NEW] Sentinel now disconnects clients when instances are reconfigured
|
|
|
|
(see http://redis.io/topics/sentinel-clients). (Salvatore Sanfilippo)
|
|
|
|
* [NEW] Hiredis update to latest version. (Matt Stancliff)
|
|
|
|
|
2014-06-11 10:30:05 +02:00
|
|
|
--[ Redis 2.8.11 ] Release date: 11 Jun 2014
|
|
|
|
|
|
|
|
# UPGRADE URGENCY: HIGH if you use Lua scripting, LOW otherwise.
|
|
|
|
|
|
|
|
* [FIX] A previous fix for Lua -> Redis numerical precision enhancement
|
|
|
|
introduced a new problem. In Redis 2.8.10 commands called from Lua
|
|
|
|
passing a string that "looks like" a very large number, may actually
|
|
|
|
use as argument the string converted as a float. This bug is now
|
|
|
|
fixed.
|
|
|
|
* [FIX] Now commands other than *PUSH* adding elements to a list will be able
|
|
|
|
to awake clients blocked in a blocking POP operation.
|
|
|
|
* [FIX] Cygwin compilation fixes.
|
|
|
|
|
2014-06-05 11:02:23 +02:00
|
|
|
--[ Redis 2.8.10 ] Release date: 5 Jun 2014
|
|
|
|
|
|
|
|
# UPGRADE URGENCY: HIGH if you use min-slaves-to-write option.
|
|
|
|
|
|
|
|
* [FIX] IMPORTANT! A min-slaves-to-write option active in a slave totally
|
|
|
|
prevented the slave from acception the master stream of commands.
|
|
|
|
This release includes testes for min-slaves-to-write, and a fix
|
|
|
|
for this issue.
|
|
|
|
* [FIX] Sometimes DEL returned 1 for already expired keys. Fixed.
|
|
|
|
* [FIX] Fix test false positive because new osx 'leaks' output.
|
|
|
|
* [FIX] PFCOUNT HLL cache invalidation fixed: no wrong value was reported
|
|
|
|
but the cache was not used at all, leading to lower performances.
|
|
|
|
* [FIX] Accept(2) multiple clients per readable-event invocation, and better
|
|
|
|
processing of I/O while loading or busy running a timedout script.
|
|
|
|
Basically now the LOADING / BUSY errors are reported at a decent
|
|
|
|
speed.
|
|
|
|
* [FIX] A softwaer watchdog crash fixed.
|
|
|
|
* [FIX] Fixed a Lua -> Redis numerical precision loss.
|
|
|
|
|
|
|
|
* [NEW] Lua scripting engine speed improved.
|
|
|
|
* [NEW] Sentinel generates one new event for humans to understand better
|
|
|
|
what is happening during a failover: +config-update-from.
|
|
|
|
Also the time at which a failover will be re-attempted is logged.
|
|
|
|
|
2014-04-22 10:14:57 +02:00
|
|
|
--[ Redis 2.8.9 ] Release date: 22 Apr 2014
|
|
|
|
|
|
|
|
# UPGRADE URGENCY: LOW, only new features introduced, no bugs fixed.
|
|
|
|
|
|
|
|
* [NEW] The HyperLogLog data structure. You can read more about it
|
|
|
|
in this blog post. http://antirez.com/news/75
|
|
|
|
* [NEW] The Sorted Set data type has now support for lexicographic range
|
|
|
|
queries, check the new commands ZRANGEBYLEX, ZLEXCOUNT and
|
|
|
|
ZREMRANGEBYLEX, which are documented at http://redis.io.
|
|
|
|
|
2014-03-25 11:30:42 +01:00
|
|
|
--[ Redis 2.8.8 ] Release date: 25 Mar 2014
|
|
|
|
|
|
|
|
# UPGRADE URGENCY: HIGH for Redis, LOW for Sentinel. There is a potentially
|
|
|
|
critical bug fix causing data loss in Redis but it requires
|
|
|
|
a combination of disk full and the use of the
|
|
|
|
SHUTDOWN command.
|
|
|
|
|
|
|
|
* [FIX] Fixed data loss when SHUTDOWN was used with a disk full condition.
|
|
|
|
* [FIX] Fixed a memory leak in the SORT syntax error processing.
|
|
|
|
* [FIX] When Sentinel down-after-milliseconds parameter is modified at runtime
|
|
|
|
now it gets propagated to all the slaves and sentinel instances
|
|
|
|
of the master.
|
|
|
|
* [FIX] `install_server.sh` script finally fixed.
|
|
|
|
* [FIX] Different fixes to maxclients handling.
|
|
|
|
|
|
|
|
* [NEW] Sentinels are now able to send update messages in a peer-to-peer
|
|
|
|
fashion even if no Redis instances are available. Now the Sentinel
|
|
|
|
liveness property that the most updated configuration in a given
|
|
|
|
partition is propagated to all the Sentinels is extended to partitions
|
|
|
|
without reachable instances.
|
|
|
|
* [NEW] Sentinel safety properties are now ensured in a crash-recovery system
|
|
|
|
model since some state is persisted on disk before replying to other
|
|
|
|
nodes, and reloaded at startup.
|
|
|
|
* [NEW] Sentinel now uses CLIENT SETNAME so that it is easy to identify
|
|
|
|
Sentinels using CLIENT LIST among other clients.
|
|
|
|
* [NEW] Sentinel failure detection and reconnection code improved.
|
|
|
|
* [NEW] Use all 24 bits (instead of 22) for the Redis objects LRU field.
|
|
|
|
Note that the new LRU algorithm using eviction pools was not backported
|
|
|
|
from unstable for safery / code maturity concerns.
|
|
|
|
* [NEW] Majory speedup for the INFO command (it is now 6 times faster).
|
|
|
|
* [NEW] More Sentinel unit tests.
|
|
|
|
* [NEW] New command DEBUG ERROR returns the specified error. Example:
|
|
|
|
DEBUG ERROR "LOADING database". This is handy to write Redis client
|
|
|
|
libraries unit tests.
|
|
|
|
* [NEW] redis-cli now supports multi-line editing via updated linenoise lib.
|
|
|
|
|
|
|
|
Thanks to Matt Stancliff and Jan-Erik Rediger for the work done in the context
|
|
|
|
of this release.
|
|
|
|
|
2014-03-05 14:42:50 +01:00
|
|
|
--[ Redis 2.8.7 ] Release date: 5 Mar 2014
|
|
|
|
|
|
|
|
# UPGRADE URGENCY: LOW for Redis, LOW for Sentinel. However this release adds
|
|
|
|
new features so users may want to upgrade in order to
|
|
|
|
exploit the new functionalities.
|
|
|
|
|
|
|
|
* [FIX] Sometimes the absolute config file path was obtained in a wrong way.
|
|
|
|
This happened when there was a "dir" directive inside the config file
|
|
|
|
and at the same time the configuration file was given as a relative
|
|
|
|
path to redis-server or redis-sentinel executables.
|
|
|
|
* [FIX] redis-cli: Automatically enter --slave mode when SYNC or PSYNC are
|
|
|
|
called during an interactive session.
|
|
|
|
* [FIX] Sentinel "IDONTKNOW" error removed as it does not made sense with the
|
|
|
|
new Sentinel design. This error was actually a fix for a design error
|
|
|
|
in the first implementation of Sentinel.
|
|
|
|
* [FIX] Sentinel: added a missing exit() call to abort after config file
|
|
|
|
checks at startup. This error was introduced with an improvement in
|
|
|
|
a previous 2.8 release.
|
|
|
|
* [FIX] BITCOUNT: fixed unaligned access causing issues in sparc and other
|
|
|
|
archs not capable of dealing with unaligned accesses. This also makes
|
|
|
|
the code faster in archs where unaligned accesses are allowed.
|
|
|
|
* [FIX] Sentinel: better nodes fail over start time desynchronization to avoid
|
|
|
|
split-brain during the voting process needed to get authorization to
|
|
|
|
fail over. This means the system is less likely to need to retry
|
|
|
|
and will fail over faster. No changes in behavior / correctness.
|
|
|
|
* [FIX] Force INFO used_memory_peak to match peak memory. This generated some
|
|
|
|
confusion among users even if it was not an actual bug.
|
|
|
|
|
|
|
|
* [NEW] Sentinel unit tests and framework. More tests needed and units must
|
|
|
|
be improved in order to have less false positives, but it is a start
|
|
|
|
and features a debugging console that is useful to fix tests or to
|
|
|
|
inspect bugs causing tests failures.
|
|
|
|
* [NEW] New Sentinel events: +/-monitor and +set used to monitor when an
|
|
|
|
instance to monitor is added or removed, or when a configuration
|
|
|
|
is modified via SENTINEL SET.
|
|
|
|
* [NEW] Redis-cli updated to use SCAN instead of random sampling via
|
|
|
|
RANDOMKEY in order to implement --bigkeys feature. Moreover the
|
|
|
|
implementation now supports pipelining and reports more information
|
|
|
|
at the end of the scan. Much faster, much better. A special thank
|
|
|
|
you to Michael Grunder for this improvement.
|
|
|
|
* [NEW] redis-cli now supports a new --intrinsic-latency mode that is able
|
|
|
|
to meter the latency of a system due to kernel / hypervisor.
|
|
|
|
How to use it is explained at http://redis.io/topics/latency.
|
|
|
|
* [NEW] New command BITPOS: find first bit set or clear in a bitmap.
|
|
|
|
* [NEW] CONFIG REWRITE calls are now logged.
|
|
|
|
|
2014-02-13 15:43:40 +01:00
|
|
|
--[ Redis 2.8.6 ] Release date: 13 Feb 2014
|
|
|
|
|
|
|
|
# UPGRADE URGENCY: HIGH for Redis, LOW for Sentinel. Redis users using Lua
|
|
|
|
scripts with EVALSHA and attached slaves and/or AOF
|
|
|
|
persistence should consider upgrading ASAP.
|
|
|
|
|
|
|
|
* [FIX] Fixed an critical EVALSHA script cache bug: scripts executed may not
|
|
|
|
propagate to AOF / Slaves correctly under certain conditions.
|
|
|
|
See issue #1549 at Github for more information.
|
|
|
|
* [FIX] Fixed multiple bugs resulting into closing the link with master or slave
|
|
|
|
during replication without good reasons. This will result in useless
|
|
|
|
resynchronizations, or infinite loops where the replication link can't
|
|
|
|
be established.
|
|
|
|
* [FIX] Don't count the time needed to populate the buffers of clients waiting
|
|
|
|
in MONITOR mode when populating the Slow Log entries.
|
|
|
|
|
|
|
|
* [NEW] AOF write errors (like no space on device) no longer abort Redis if the
|
|
|
|
fsync policy is none or every second. The database enters a read-only
|
|
|
|
mode where every write is refused with an error. Normal operations are
|
|
|
|
restored as soon as Redis is able to append again data to the AOF file.
|
|
|
|
* [NEW] Sentinel now accepts SHUTDOWN command.
|
|
|
|
|
2014-02-04 11:17:21 +01:00
|
|
|
--[ Redis 2.8.5 ] Release date: 4 Feb 2014
|
|
|
|
|
|
|
|
# UPGRADE URGENCY: HIGH for Redis, LOW for Sentinel. Redis users using Lua
|
|
|
|
scripts with expires, and Redis users relying on the
|
|
|
|
ability of Redis to block writes on RDB saving errors
|
|
|
|
should plan to upgrade ASAP.
|
|
|
|
|
|
|
|
* [FIX] Fixed a replication bug caused by Lua scripts + expired keys: keys could
|
|
|
|
expire in the middle of scripts causing non-deterministic behavior.
|
|
|
|
* [FIX] MISCONFIG error if condition fixed, the server was no longer able
|
|
|
|
to stop writes on RDB misconfiguration after this error was introduced.
|
|
|
|
* [FIX] REDIS_AOF_REWRITE_MIN_SIZE is now 64mb like example redis.conf default.
|
|
|
|
* [FIX] Perform fflush() before fsync() in rio.c (bug without actual effects).
|
|
|
|
* [FIX] Don't log MONITOR clients as disconnecting slaves.
|
|
|
|
* [FIX] SENTINEL MASTER arity check fixed. Crashed the Sentinel instance when
|
|
|
|
the command was given without arguments.
|
|
|
|
|
|
|
|
* [NEW] Allow CONFIG and SHUTDOWN while in stale-slave state.
|
|
|
|
* [NEW] Support for configurable TCP listen(2) backlog size.
|
|
|
|
* [NEW] redis-cli supports SCAN via the --scan and --pattern options.
|
|
|
|
* [NEW] SENTINEL SET master quorum via runtime API implemented.
|
|
|
|
|
2014-01-13 17:09:53 +01:00
|
|
|
--[ Redis 2.8.4 ] Release date: 13 Jan 2014
|
|
|
|
|
|
|
|
# UPGRADE URGENCY: MODERATE for Redis and Sentinel.
|
|
|
|
|
|
|
|
* [FIX] Makefile compatibility with non common make variants improved.
|
|
|
|
* [FIX] SDIFF crash in very unlikely to trigger state fixed.
|
|
|
|
* [FIX] Config rewriting fixed: don't wipe options unknown to the rewrite
|
|
|
|
process.
|
|
|
|
* [FIX] Set TCP port to 0 works again to disable TCP networking.
|
|
|
|
* [FIX] Fixed replication with old Redis instances as masters by not
|
|
|
|
sending REPLCONF ACK to them.
|
|
|
|
* [FIX] Fix keyspace notifications rewrite and CONFIG GET output.
|
|
|
|
* [FIX] Fix RESTORE TTL handling in 32 bit systems (32 bit overflow).
|
|
|
|
|
|
|
|
* [NEW] Sentinel now has a run time configuration API.
|
|
|
|
* [NEW] Log when we lost connection with master or slave.
|
|
|
|
* [NEW] When instance is turned from slave to master now inherits the
|
|
|
|
old master replication offset when possible. This improves the
|
|
|
|
Sentinel failover procedure.
|
|
|
|
|
2013-12-11 15:31:57 +01:00
|
|
|
--[ Redis 2.8.3 ] Release date: 11 Dec 2013
|
|
|
|
|
|
|
|
# UPGRADE URGENCY: MODERATE for Redis, HIGH for Sentinel.
|
|
|
|
|
|
|
|
* [FIX] Sentinel instance role sampling fixed, the system is now more
|
|
|
|
reliable during failover and when reconfiguring instances with
|
|
|
|
non matching configuration.
|
|
|
|
* [FIX] Inline requests are now handled even when terminated with just LF.
|
|
|
|
* [FIX] Replication timeout handling greatly improved, now the slave is able
|
|
|
|
to ping the master while removing the old data from memory, and while
|
|
|
|
loading the new RDB file. This avoid false timeouts sensed by
|
|
|
|
masters.
|
|
|
|
* [FIX] Fixed a replication bug involving 32 bit instances and big datasets
|
|
|
|
hard to compress that resulted into more than 2GB of RDB file sent.
|
|
|
|
* [FIX] Return error for inline requests with unbalanced quotes.
|
|
|
|
* [FIX] Publish the slave replication offset even when disconnected from the
|
|
|
|
master if there is still a cached master instance.
|
|
|
|
|
2013-12-02 16:07:46 +01:00
|
|
|
--[ Redis 2.8.2 ] Release date: 2 Dec 2013
|
|
|
|
|
|
|
|
# UPGRADE URGENCY: MODERATE for both Redis and Sentinel.
|
|
|
|
|
|
|
|
* [FIX] Sentinel better desynchronization to avoid split-brain elections
|
|
|
|
where no Sentinel managed to get elected.
|
|
|
|
* [FIX] Stop accepting writes on "MISCONF" error only if master, not slave.
|
|
|
|
* [FIX] Reply to PING with an error on "MISCONF" errors.
|
|
|
|
|
2013-11-25 11:21:49 +01:00
|
|
|
--[ Redis 2.8.1 ] Release date: 25 Nov 2013
|
|
|
|
|
|
|
|
# UPGRADE URGENCY: LOW for Redis, CRITICAL for Senitnel. You don't need to
|
|
|
|
upgrade your Redis instances but it is highly recommended
|
|
|
|
to upgrade and restart all the Sentinel processes.
|
|
|
|
|
|
|
|
* [FIX] Fixed a bug in "new Sentinel" config propagation.
|
|
|
|
* [FIX] Fixed a false positive in Redis tests.
|
|
|
|
|
2013-11-22 10:25:24 +01:00
|
|
|
--[ Redis 2.8.0 ] Release date: 22 Nov 2013
|
|
|
|
|
|
|
|
# UPGRADE URGENCY: LOW, unless you want to upgrade to new Sentinel code.
|
|
|
|
|
|
|
|
* [FIX] Fixed an error in rdbWriteRaw() that should have no practical impact.
|
|
|
|
* [NEW] Log the new master when SLAVEOF command is used.
|
|
|
|
* [NEW] Sentinel code synchronized with the unstable branch, the new Sentinel
|
|
|
|
is a reimplementation that uses more reliable algorithms.
|
|
|
|
|
2013-11-10 10:25:09 +01:00
|
|
|
--[ Redis 2.8 Release Candidate 6 (2.7.106) ] Release date: 6 Nov 2013
|
2013-11-06 09:24:26 +01:00
|
|
|
|
|
|
|
This is the 6th release candidate of Redis 2.8 (official version is 2.7.106).
|
|
|
|
|
|
|
|
# UPGRADE URGENCY: LOW, only new features back ported, no fixes.
|
|
|
|
|
|
|
|
* [NEW] SCAN, SSCAN, HSCAN, ZSCAN commands.
|
|
|
|
|
2013-10-09 13:08:42 +02:00
|
|
|
--[ Redis 2.8 Release Candidate 5 (2.7.105) ] Release date: 9 Oct 2013
|
|
|
|
|
|
|
|
This is the 5th release candidate of Redis 2.8 (official version is 2.7.105).
|
|
|
|
Important bugs fixed inside.
|
|
|
|
|
|
|
|
# UPGRADE URGENCY: HIGH because of many non critical replication bugs fixed.
|
|
|
|
|
|
|
|
* [FIX] redis-cli: don't crash with --bigkeys when the key no longer exist.
|
|
|
|
* [FIX] Allow AUTH / PING when disconnected from slave and serve-stale-data is no.
|
|
|
|
* [FIX] PSYNC: safer handling of PSYNC requests with offsets in the future.
|
|
|
|
* [FIX] Replication: Fix master timeout detection.
|
|
|
|
* [FIX] Replication: Correctly install the write handler after successful PSYNC.
|
|
|
|
|
2013-08-30 09:52:06 +02:00
|
|
|
--[ Redis 2.8 Release Candidate 4 (2.7.104) ] Release date: 30 Aug 2013
|
|
|
|
|
|
|
|
This is the fourth release candidate of Redis 2.8 (official version is 2.7.104).
|
|
|
|
Important bugs fixed inside.
|
|
|
|
|
|
|
|
# UPGRADE URGENCY: HIGH because of the EVAL memory leak.
|
|
|
|
|
|
|
|
* [FIX] Fixed a serious EVAL memory leak in the Lua stack.
|
|
|
|
* [FIX] Fixed server startup when no IPv6 address exists in any interface.
|
|
|
|
* [FIX] Send MISCONFIG error when BGSAVE fails because can't fork.
|
|
|
|
* [FIX] Memory efficiency with large (> a few kbytes) values improved considerably.
|
|
|
|
* [NEW] DEBUG SDSLEN for sds memory debugging.
|
|
|
|
|
2013-08-19 18:04:32 +02:00
|
|
|
--[ Redis 2.8 Release Candidate 3 (2.7.103) ] Release date: 19 Aug 2013
|
|
|
|
|
|
|
|
This is the third release candidate of Redis 2.8 (official version is 2.7.103).
|
|
|
|
Important bugs fixed inside.
|
|
|
|
|
|
|
|
# UPGRADE URGENCY: HIGH
|
|
|
|
|
|
|
|
* [FIX] Improved expired keys collection algorithm. Even under heavy load keys
|
|
|
|
to be expired can't accumulate because of lack of CPU time.
|
|
|
|
* [FIX] Replication speed regression fixed (issue #1238).
|
|
|
|
* [FIX] Fixed an hard to trigger PSYNC bug.
|
|
|
|
* [FIX] Fixed Issue #1240, ZUNIONSTORE could lead to wrong result.
|
|
|
|
* [NEW] Add per-db average TTL information in INFO output.
|
|
|
|
* [NEW] redis-benchmark improvements.
|
|
|
|
* [NEW] dict.c API wrong usage detection.
|
|
|
|
|
2013-07-30 20:20:02 +02:00
|
|
|
--[ Redis 2.8 Release Candidate 2 (2.7.102) ] Release date: 30 Jul 2013
|
|
|
|
|
|
|
|
This is the second release candidate of Redis 2.8 (official version is 2.7.102).
|
|
|
|
Important bugs fixed inside.
|
|
|
|
|
|
|
|
# UPGRADE URGENCY: HIGH
|
|
|
|
|
|
|
|
* [FIX] Fixed a critical replication bug, see issue #1221.
|
|
|
|
* [NEW] The new inline protocol now accepts quoted strings like, for example
|
|
|
|
you can now type in a telnet session: set 'foo bar' "hello world\n".
|
|
|
|
|
2013-07-18 11:26:53 +02:00
|
|
|
--[ Redis 2.8 Release Candidate 1 (2.7.101) ] Release date: 18 Jul 2013
|
|
|
|
|
|
|
|
This is the first release candidate of Redis 2.8 (official version is 2.7.101).
|
|
|
|
|
|
|
|
The following is a list of improvements in Redis 2.8, compared to Redis 2.6.
|
|
|
|
|
|
|
|
* [NEW] Slaves are now able to partially resynchronize with the master, so most
|
2013-07-18 12:23:47 +02:00
|
|
|
of the times a full resynchronization with the RDB creation in the master
|
2013-07-18 11:26:53 +02:00
|
|
|
side is not needed when the master-slave link is disconnected for a short
|
|
|
|
amount of time.
|
2013-07-18 12:23:47 +02:00
|
|
|
* [NEW] Experimental IPv6 support.
|
|
|
|
* [NEW] Slaves explicitly ping masters now, a master is able to detect a timed out
|
2013-07-18 11:26:53 +02:00
|
|
|
slave independently.
|
|
|
|
* [NEW] Masters can stop accepting writes if not enough slaves with a given
|
2013-07-18 12:23:47 +02:00
|
|
|
maximum latency are connected.
|
2013-07-18 11:26:53 +02:00
|
|
|
* [NEW] Keyspace changes notifications via Pub/Sub.
|
|
|
|
* [NEW] CONFIG SET maxclients is now available.
|
|
|
|
* [NEW] Ability to bind multiple IP addresses.
|
|
|
|
* [NEW] Set process names so that you can recognize, in the "ps" command output,
|
|
|
|
the listening port of an instance, or if it is a saving child.
|
|
|
|
* [NEW] Automatic memory check on crash.
|
|
|
|
* [NEW] CONFIG REWRITE is able to materialize the changes in the configuration
|
|
|
|
operated using CONFIG SET into the redis.conf file.
|
|
|
|
* [NEW] More NetBSD friendly code base.
|
|
|
|
* [NEW] PUBSUB command for Pub/Sub introspection capabilities.
|
|
|
|
* [NEW] EVALSHA can now be replicated as such, without requiring to be expanded
|
|
|
|
to a full EVAL for the replication link.
|
|
|
|
* [NEW] Better Lua scripts error reporting.
|
2013-07-18 12:23:47 +02:00
|
|
|
* [NEW] SDIFF performance improved.
|
2013-07-18 11:26:53 +02:00
|
|
|
* [FIX] A number of bugfixes.
|
|
|
|
|
|
|
|
Migrating from 2.6 to 2.8
|
|
|
|
=========================
|
|
|
|
|
|
|
|
Redis 2.6 is mostly a strict subset of 2.8. However there are a few things
|
|
|
|
that you should be aware of:
|
|
|
|
|
|
|
|
The following commands changed behavior:
|
|
|
|
|
2014-03-27 15:53:14 +01:00
|
|
|
* The TTL and PTTL commands now return -2 if the key does not exist and
|
|
|
|
-1 if it exists but has no associated expire. Redis 2.6 and previous
|
|
|
|
versions used to return -1 for both the conditions.
|
2013-07-18 12:23:47 +02:00
|
|
|
* SORT with ALPHA now sorts according to local collation locale if no STORE
|
2013-07-18 11:26:53 +02:00
|
|
|
option is used.
|
|
|
|
* ZADD/ZINCRBY are now able to accept a bigger range of values as valid
|
|
|
|
scores, that is, all the values you may end having as a result of
|
|
|
|
calling ZINCRBY multiple times.
|
|
|
|
* Many errors are now prefixed by a more specific error code instead of
|
|
|
|
the generic -ERR, for example -WRONGTYPE, -NOAUTH, ...
|
2013-07-18 12:23:47 +02:00
|
|
|
* PUBLISH called inside Lua scripts is now correctly propagated to slaves.
|
2013-07-18 11:26:53 +02:00
|
|
|
|
|
|
|
The following redis.conf and CONFIG GET / SET parameters changed:
|
|
|
|
|
|
|
|
* logfile now uses the empty string in order to log to standard output,
|
|
|
|
so 'logfile stdout' is now invalid, use 'logfile ""' instead.
|
|
|
|
|
|
|
|
The following INFO fields changed format in a non-backward compatible way:
|
|
|
|
|
|
|
|
* The list of slaves in INFO is now in field=value format.
|
|
|
|
|
|
|
|
Replication:
|
|
|
|
|
|
|
|
Redis 2.8 can be used as slave for Redis 2.6, but doing this is only
|
2013-07-18 12:23:47 +02:00
|
|
|
a good idea for the short amount of time needed to upgrade your servers.
|
|
|
|
We suggest to update both master and slaves at about the same time.
|
2013-07-18 11:26:53 +02:00
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
Credits: Where not specified the implementation and design is done by
|
|
|
|
Salvatore Sanfilippo. Thanks to VMware and Pivotal for making all
|
|
|
|
this possible. Also many thanks to all the other contributors and the amazing
|
|
|
|
community we have.
|
|
|
|
|
|
|
|
See commit messages for more credits.
|
|
|
|
|
|
|
|
Cheers,
|
|
|
|
Salvatore
|