mirror of
https://github.com/fluencelabs/redis
synced 2025-05-02 22:12:15 +00:00
197 lines
8.4 KiB
Plaintext
197 lines
8.4 KiB
Plaintext
Redis 2.8 release notes
|
|
=======================
|
|
|
|
** IMPORTANT ** Check the 'Migrating from 2.6 to 2.8' section at the end of
|
|
this file for information about what changed between 2.6 and
|
|
2.8 and how this may affect your application.
|
|
|
|
--------------------------------------------------------------------------------
|
|
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.
|
|
--------------------------------------------------------------------------------
|
|
|
|
--[ 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.
|
|
|
|
--[ 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.
|
|
|
|
--[ 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.
|
|
|
|
--[ 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.
|
|
|
|
--[ Redis 2.8 Release Candidate 6 (2.7.106) ] Release date: 6 Nov 2013
|
|
|
|
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.
|
|
|
|
--[ 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.
|
|
|
|
--[ 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.
|
|
|
|
--[ 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.
|
|
|
|
--[ 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".
|
|
|
|
--[ 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
|
|
of the times a full resynchronization with the RDB creation in the master
|
|
side is not needed when the master-slave link is disconnected for a short
|
|
amount of time.
|
|
* [NEW] Experimental IPv6 support.
|
|
* [NEW] Slaves explicitly ping masters now, a master is able to detect a timed out
|
|
slave independently.
|
|
* [NEW] Masters can stop accepting writes if not enough slaves with a given
|
|
maximum latency are connected.
|
|
* [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.
|
|
* [NEW] SDIFF performance improved.
|
|
* [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:
|
|
|
|
* SORT with ALPHA now sorts according to local collation locale if no STORE
|
|
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, ...
|
|
* PUBLISH called inside Lua scripts is now correctly propagated to slaves.
|
|
|
|
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
|
|
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.
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
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
|