mirror of
https://github.com/fluencelabs/redis
synced 2025-05-16 04:21:21 +00:00
1531 lines
65 KiB
Plaintext
1531 lines
65 KiB
Plaintext
Redis 3.2 release notes
|
||
=======================
|
||
|
||
--------------------------------------------------------------------------------
|
||
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 3.2.1 Released Fri Jun 17 15:01:56 CEST 2016
|
||
================================================================================
|
||
|
||
Upgrade urgency HIGH: Critical fix to Redis Sentinel, due to 3.2.0 regression
|
||
compared to 3.0.
|
||
|
||
Hey, this is Redis 3.2.1, and this release should bring some grain of
|
||
maturity to Redis 3.2. The list of commits following this note will tell
|
||
you the details, but the main things addressed in this release are the
|
||
following:
|
||
|
||
1. A critical bug in Sentinel was hopefully fixed. During the big 3.2
|
||
refactoring of Redis Sentinel, in order to implement connection sharing
|
||
to make Sentinel able to scale better (few Sentinels to monitor many
|
||
masters), a bug was introduced that mis-counted the number of pending
|
||
commands in the Redis link. This in turn resulted into an inability to talk
|
||
with certain Redis instances. A common result of this bug was the inability
|
||
of Redis Sentinel to reconfigure back the old master, after a failover,
|
||
when it is reachable again, as the slave of the new master. This was due
|
||
to the inability to talk with the old master at all.
|
||
|
||
2. BITFIELD bugs fixed.
|
||
|
||
3. GEO commands fixes on syntax errors and edge cases.
|
||
|
||
4. RESTORE now accepts dumps generated by older Redis versions.
|
||
|
||
5. Jemalloc now is really configured to save you memory, for a problem a
|
||
change in the jemalloc configuration did not really survived when the
|
||
3.2.0 release was finalized.
|
||
|
||
6. TTL and TYPE command no longer alter the last access time of a key, for
|
||
LRU evictions purposes. A new TOUCH command was introduced *just* to
|
||
update the access time of a key.
|
||
|
||
7. A bug was fixed in redis-cli, that connected to the instance running on the
|
||
port 6379 if there was one, regardless of what was specified.
|
||
|
||
8. TCP keep alive is now enabled by default. This should fix most ghost
|
||
connections problems without resulting in any practical change in otherwise
|
||
sane deployments.
|
||
|
||
9. A Sentinel crash that could happen during failovers was fixed.
|
||
|
||
And of course, more minor things that you can read in the detailed log
|
||
below. There are still reported bugs for 3.2 that were not fixed in this
|
||
release, but nothing critical AFAIK, and I wanted to release this one ASAP,
|
||
so likely a new release will not be too far.
|
||
|
||
Enjoy,
|
||
Salvatore
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| config set list-max-ziplist-size didn't support negative values, unlike config file
|
||
| By oranagra, 2016-05-22 20:35:14 +0300
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/8207e828043e37a0d7e058530d2886bb3ff395ff
|
||
|
||
|
||
src/config.c | 6 +++---
|
||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Fix Sentinel pending commands counting.
|
||
| By antirez, 2016-06-16 19:24:34 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/6ad0371c9b4206a7a6692d50c9a301457baf9b6d
|
||
|
||
This bug most experienced effect was an inability of Redis to
|
||
reconfigure back old masters to slaves after they are reachable again
|
||
after a failover. This was due to failing to reset the count of the
|
||
pending commands properly, so the master appeared fovever down.
|
||
|
||
Was introduced in Redis 3.2 new Sentinel connection sharing feature
|
||
which is a lot more complex than the 3.0 code, but more scalable.
|
||
|
||
Many thanks to people reporting the issue, and especially to
|
||
@sskorgal for investigating the issue in depth.
|
||
|
||
Hopefully closes #3285.
|
||
|
||
src/sentinel.c | 1 +
|
||
1 file changed, 1 insertion(+)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| redis-cli: really connect to the right server.
|
||
| By antirez, 2016-06-16 17:23:31 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/58f1d446c35e8fe62df7c9ebe10f3c40a386c022
|
||
|
||
I recently introduced populating the autocomplete help array with the
|
||
COMMAND command if available. However this was performed before parsing
|
||
the arguments, defaulting to instance 6379. After the connection is
|
||
performed it remains stable.
|
||
|
||
The effect is that if there is an instance running on port 6339,
|
||
whatever port you specify is ignored and 6379 is connected to instead.
|
||
The right port will be selected only after a reconnection.
|
||
|
||
Close #3314.
|
||
|
||
src/redis-cli.c | 7 +++++--
|
||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Remove debug printing
|
||
| By Jan-Erik Rediger, 2016-05-21 13:50:01 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/b6007b324b81dbd4ffe519b3bdb19ab65fbb407f
|
||
|
||
|
||
src/redis-cli.c | 3 ---
|
||
1 file changed, 3 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| RESTORE: accept RDB dumps with older versions.
|
||
| By antirez, 2016-06-16 15:53:57 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/f592b4d3178963878084a522b4fd050772c335ae
|
||
|
||
Reference issue #3218.
|
||
|
||
Checking the code I can't find a reason why the original RESTORE
|
||
code was so opinionated about restoring only the current version. The
|
||
code in to `rdb.c` appears to be capable as always to restore data from
|
||
older versions of Redis, and the only places where it is needed the
|
||
current version in order to correctly restore data, is while loading the
|
||
opcodes, not the values itself as it happens in the case of RESTORE.
|
||
|
||
For the above reasons, this commit enables RESTORE to accept older
|
||
versions of values payloads.
|
||
|
||
src/cluster.c | 2 +-
|
||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| CLIENT error message was out of date
|
||
| By oranagra, 2016-05-23 11:42:21 +0300
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/047ced4473ee35485e22e45db8b8b4a272bf1177
|
||
|
||
|
||
src/networking.c | 2 +-
|
||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| fix georadius returns multiple replies
|
||
| By oranagra, 2016-05-23 13:58:50 +0300
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/14e04847ac2960aefe31dccbec63d2503cf09ca5
|
||
|
||
|
||
src/geo.c | 7 +++++--
|
||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Minor aesthetic fixes to PR #3264.
|
||
| By antirez, 2016-06-16 12:54:33 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/bd23ea3f9f3defbbdf512864ee1a88fd02665a7f
|
||
|
||
Comment format fixed + local var modified from camel case to underscore
|
||
separators as Redis code base normally does (camel case is mostly used
|
||
for global symbols like structure names, function names, global vars,
|
||
...).
|
||
|
||
src/bitops.c | 10 +++++-----
|
||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| check WRONGTYPE in BITFIELD before looping on the operations.
|
||
| By oranagra, 2016-05-24 23:31:36 +0300
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/2a3ee58ec73b6abdeeb4890937b25191119bce35
|
||
|
||
optimization: lookup key only once, and grow at once to the max need
|
||
fixes #3259 and #3221, and also an early return if wrongtype is discovered by SET
|
||
|
||
src/bitops.c | 27 ++++++++++++++++++---------
|
||
1 file changed, 18 insertions(+), 9 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| fix crash in BITFIELD GET on non existing key or wrong type see #3259
|
||
| By oranagra, 2016-05-24 14:52:43 +0300
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/a2e27b810edfad18b3ecc9c176a4606f94a2f0e4
|
||
|
||
this was a bug in the recent refactoring: bee963c4459223d874e3294a0d8638a588d33c8e
|
||
|
||
src/bitops.c | 8 +++++---
|
||
1 file changed, 5 insertions(+), 3 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| fix check when can't send the command to the promoted slave
|
||
| By MOON_CLJ, 2016-05-26 13:10:12 +0800
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/26555f5e008b099b888ef39cabec632f4b31a038
|
||
|
||
|
||
src/sentinel.c | 2 +-
|
||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Test TOUCH and new TTL / TYPE behavior about object access time.
|
||
| By antirez, 2016-06-15 17:15:18 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/f1c237cb6a647ad5400b0ebce124fd9802ea7f89
|
||
|
||
|
||
tests/test_helper.tcl | 1 +
|
||
tests/unit/introspection-2.tcl | 23 +++++++++++++++++++++++
|
||
2 files changed, 24 insertions(+)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| GETRANGE: return empty string with negative, inverted start/end.
|
||
| By antirez, 2016-06-15 12:48:58 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/d4831e328759bf5bd07c2c6e6ce1d60e84ba196f
|
||
|
||
|
||
src/bitops.c | 4 ++--
|
||
src/t_string.c | 4 ++++
|
||
2 files changed, 6 insertions(+), 2 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Remove additional round brackets from fix for #3282.
|
||
| By antirez, 2016-06-15 12:16:39 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/9942070f5a41fa3bc953e9628a7248aeb7c0befa
|
||
|
||
|
||
src/bitops.c | 2 +-
|
||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| bitcount bug:return non-zero value when start > end (both negative)
|
||
| By wenduo, 2016-05-30 16:21:08 +0800
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/f45fa5d05f47a5729786a69962119c9b3dc12645
|
||
|
||
|
||
src/bitops.c | 4 ++++
|
||
1 file changed, 4 insertions(+)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Regression test for #3282.
|
||
| By antirez, 2016-06-15 11:49:49 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/0cb86064e602a093a23b56943a7321fe1af64984
|
||
|
||
|
||
tests/unit/bitops.tcl | 10 ++++++++++
|
||
1 file changed, 10 insertions(+)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| TTL and TYPE LRU access fixed. TOUCH implemented.
|
||
| By antirez, 2016-06-14 15:33:59 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/b23aa6706ac79a1c86c64aef07bd35e38f10f842
|
||
|
||
|
||
src/db.c | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++-------
|
||
src/server.c | 1 +
|
||
src/server.h | 6 +++++-
|
||
3 files changed, 60 insertions(+), 8 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| redis-cli help.h updated.
|
||
| By antirez, 2016-06-14 14:45:48 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/6e4204fec9c78f3300d887ebc3db014df2c8b33e
|
||
|
||
|
||
src/help.h | 43 +++++++++++++++++++++++++++++--------------
|
||
1 file changed, 29 insertions(+), 14 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Fix GEORADIUS wrong output with radius > Earth radius.
|
||
| By antirez, 2016-05-30 12:45:49 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/bb43f4cab2f756c0412ca2b94d9e29c3db5025ab
|
||
|
||
Close #3266
|
||
|
||
deps/geohash-int/geohash_helper.c | 2 ++
|
||
1 file changed, 2 insertions(+)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Geo: fix typo in geohashEstimateStepsByRadius().
|
||
| By antirez, 2016-05-30 15:31:19 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/16102bc0af0912a0c9a92aedddf796eb24a80b9e
|
||
|
||
I'm the author of this line but I can't see a good reason for it to
|
||
don't be a typo, a step of 26 should be valid with 52 bits per
|
||
coordinate, moreover the line was:
|
||
|
||
if (step > 26) step = 25;
|
||
|
||
So a step of 26 was actually already used, except when one of 27 was
|
||
computed (which is invalid) only then it was trimmed to 25 instead of
|
||
26.
|
||
|
||
All tests passing after the change.
|
||
|
||
deps/geohash-int/geohash_helper.c | 2 +-
|
||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Avoid undefined behavior in BITFIELD implementation.
|
||
| By antirez, 2016-05-31 11:52:07 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/014bf8044285c6d401d83e6e24829d276ab837f9
|
||
|
||
Probably there is no compiler that will actaully break the code or raise
|
||
a signal for unsigned -> signed overflowing conversion, still it was
|
||
apparently possible to write it in a more correct way.
|
||
|
||
All tests passing.
|
||
|
||
src/bitops.c | 23 +++++++++++++++--------
|
||
1 file changed, 15 insertions(+), 8 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Now that SPOP can be called by scripts use BLPOP on 's' flag test.
|
||
| By antirez, 2016-05-31 16:43:21 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/b4e5e2ec1ad7e9d1f4e7e559b61e0ecd4e50f2da
|
||
|
||
|
||
tests/unit/scripting.tcl | 2 +-
|
||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Test: run GEO tests by default.
|
||
| By antirez, 2016-05-31 16:43:49 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/df419281a19e13429b27814a3e384f6f029c3519
|
||
|
||
Thanks to @oranagra for noticing it was missing.
|
||
|
||
tests/test_helper.tcl | 1 +
|
||
1 file changed, 1 insertion(+)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Enable tcp-keepalive by default.
|
||
| By antirez, 2016-06-13 12:03:14 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/40cfe13141c7178d22fd43e4ffbecc37686e0b43
|
||
|
||
|
||
redis.conf | 5 +++--
|
||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| fix some compiler warnings
|
||
| By Pierre Chapuis, 2016-06-05 15:34:43 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/a650aaaf4f074ec428b450ef88799db1dcd34b0f
|
||
|
||
|
||
src/bitops.c | 4 ++--
|
||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Fixed typo in Sentinel compareSlavesForPromotion() comment.
|
||
| By antirez, 2016-06-10 09:15:01 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/3fd4baf1e77f125a306d57b788b72de5026c0564
|
||
|
||
|
||
src/sentinel.c | 2 +-
|
||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| fix comment "b>a" to "a > b"
|
||
| By andyli, 2016-06-07 14:42:50 +0800
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/8d029a5950f4ef40723c02b5c486b171aff0189c
|
||
|
||
|
||
src/sentinel.c | 2 +-
|
||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| fix pidfile in redis.conf
|
||
| By bogdanvlviv, 2016-04-19 14:43:06 +0300
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/6937f5960d1803ca0eda1ab6f4bc60023f50c914
|
||
|
||
|
||
redis.conf | 2 +-
|
||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Include 'fd_set' type name
|
||
| By jspraul, 2016-06-07 16:46:00 -0400
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/b5758cc5ce6c51ff75c86f9216214fe4d5e4c257
|
||
|
||
Fix an MSYS2-build-breaking error: unknown type name ‘fd_set’
|
||
src/ae_select.c | 1 +
|
||
1 file changed, 1 insertion(+)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Allow SPOP from Lua scripts
|
||
| By Itamar Haber, 2016-05-28 20:01:46 +0300
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/620783e3b582e9ba6e1d8fbd47987281ce0b6317
|
||
|
||
The existing `R` flag appears to be sufficient and there's no apparent reason why the command should be blocked.
|
||
src/server.c | 2 +-
|
||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| minor fixes - mainly signalModifiedKey, and GEORADIUS
|
||
| By oranagra, 2016-05-09 09:12:38 +0300
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/603234076f4e59967f331bc97de3c0db9947c8ef
|
||
|
||
|
||
src/geo.c | 1 +
|
||
src/sds.c | 8 ++++----
|
||
src/server.c | 2 +-
|
||
src/server.h | 3 +--
|
||
src/t_set.c | 9 ++++++---
|
||
src/t_zset.c | 12 ++++++------
|
||
6 files changed, 19 insertions(+), 16 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Code to access object string bytes repeated 3x refactored into 1 function.
|
||
| By antirez, 2016-05-18 15:35:17 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/2e6b99499abb5ff1fbeee3bac4d064e5ff4ea256
|
||
|
||
|
||
src/bitops.c | 74 ++++++++++++++++++++++++++++++++----------------------------
|
||
1 file changed, 39 insertions(+), 35 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| fix crash in BITFIELD GET when key is integer encoded
|
||
| By oranagra, 2016-05-10 11:19:45 +0300
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/dcaeafc8280eb8329e7ce68e7ab02c67d98f0cf4
|
||
|
||
|
||
src/bitops.c | 18 +++++++++++++++---
|
||
1 file changed, 15 insertions(+), 3 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Clarify that the LOG_STR_SIZE includes null term.
|
||
| By antirez, 2016-05-18 15:23:18 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/4ad088818a3353ebd619e8d43847b5d58108af20
|
||
|
||
|
||
src/server.h | 2 +-
|
||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Test for BITFIELD regression #3221.
|
||
| By antirez, 2016-05-18 14:53:30 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/f991cdc3e19c187035855355808575efd6b4c149
|
||
|
||
|
||
tests/unit/bitfield.tcl | 5 +++++
|
||
1 file changed, 5 insertions(+)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| reduce struct padding by reordering members
|
||
| By oranagra, 2016-05-16 20:12:11 +0300
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/cb3e89e2cb0753d2d111eaeadc9c73cbe24025ab
|
||
|
||
|
||
src/quicklist.h | 2 +-
|
||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Actually use --with-lg-quantum=3 to build jemalloc.
|
||
| By antirez, 2016-05-18 11:58:36 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/a7f0fb448c110e125eece44dc955d6939e494daa
|
||
|
||
This change is documented in deps/README.md but was lost in one way or
|
||
the other, neutralizing the benefits of 24 bytes size classes (and
|
||
others).
|
||
|
||
Close #3208.
|
||
|
||
deps/Makefile | 2 +-
|
||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| redis-cli: integrate help.h with COMMAND output.
|
||
| By antirez, 2016-05-07 13:03:25 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/029dc0d97fd492a2fd579796d4c1cc04053c7190
|
||
|
||
Use the COMMAND output to fill with partial information the built-in
|
||
help. This makes redis-cli able to at least complete commands that are
|
||
exported by the Redis server it is connected to, but were not available
|
||
in the help.h file when the redis-cli binary was compiled.
|
||
|
||
src/redis-cli.c | 80 +++++++++++++++++++++++++++++++++++++++++++++++++--------
|
||
1 file changed, 70 insertions(+), 10 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Removed dofile() from Lua
|
||
| By Adam Baldwin, 2012-10-25 20:27:10 -0700
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/95def3aee044468504bb07633084afd49b085db3
|
||
|
||
|
||
src/scripting.c | 2 ++
|
||
1 file changed, 2 insertions(+)
|
||
|
||
|
||
================================================================================
|
||
Redis 3.2.0 Released Fri May 06 08:47:10 CEST 2016
|
||
================================================================================
|
||
|
||
Upgrade urgency HIGH: 3.2-RC users should upgrade ASAP to this more
|
||
stable release of Redis.
|
||
|
||
Hello, this is Redis 3.2.0 stable! And with the new release there is a new
|
||
format for the changelog. Now it is composed of a "letter" like the one
|
||
you are reading, followed by all the commits composing the release for people
|
||
interested in the details.
|
||
|
||
There are a few changes between the latest release candidate of Redis 3.2
|
||
and the final 3.2.0 release. The main ones are the obvious bug fixes you
|
||
can find detailed below, also a few new things:
|
||
|
||
Critical bugs fixed:
|
||
|
||
* There was a problem in the way a cluster instance loaded the AOF that
|
||
could cause data written via scripts to be lost during reshardings.
|
||
|
||
New things:
|
||
|
||
* There is a new very powerful BITFIELD command. Check the documentation
|
||
here: http://redis.io/commands/BITFIELD
|
||
|
||
* CONFIG GET is allowed during the loading of the dataset.
|
||
|
||
* The DEBUG command have new features and can show an help with DEBUG HELP.
|
||
|
||
* redis-cli show hits about the commands arguments to the right.
|
||
|
||
* GEORADIUS got a STORE / STOREDIST option to store the result into a target
|
||
key (as as orted set) instead of reporting it to the user.
|
||
|
||
* Redis Cluster replicas migration now works in a slightly different way. In
|
||
the past a slave could migrate only to a master that used to have slaves
|
||
in the past (and if there was still trace of this information). Now instead
|
||
if a new slave gets at least a slot, and at least one other master in the
|
||
cluster has a slave, then the new master is considered a valid target for
|
||
replica migration. So if it will be orphaned and there is a spare slave
|
||
it will get one.
|
||
|
||
* CLUSTER SLOTS output now includes the node ID (in a backward compatible
|
||
manner).
|
||
|
||
* A lot of bug fixes you can read in the commits details below, with the
|
||
authors that kindly provided many useful patches. Thanks.
|
||
|
||
As usually what "stable" means is that we are confident the release is mature,
|
||
however do your tests before putting it into production in your environemnt
|
||
as it's fresh meat anyway.
|
||
|
||
Cheers,
|
||
Salvatore
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Cluster: don't check scripts key slots during AOF loading.
|
||
| By antirez, 2016-05-05 23:37:08 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/746e1bebb4baf876c1e8cd2fe2d468a1c41e5dc3
|
||
|
||
|
||
src/scripting.c | 6 ++++--
|
||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| redis-cli: remove debugging message.
|
||
| By antirez, 2016-05-05 18:05:37 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/3907b059280898c6340b53982b3b65957535da7c
|
||
|
||
|
||
src/redis-cli.c | 1 -
|
||
1 file changed, 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Revert "Fix commandCommand arity"
|
||
| By antirez, 2016-05-05 17:35:33 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/f01a2714582a9a916b41e6cb90e42474a104925d
|
||
|
||
This reverts commit 1189a4eae6d009fc0da8d50fd542ba1391542165.
|
||
|
||
Actually this is wrong, the command can be called without args at all.
|
||
|
||
src/server.c | 2 +-
|
||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Fix commandCommand arity
|
||
| By Ruben Bridgewater, 2016-01-04 11:39:45 +0100
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/1189a4eae6d009fc0da8d50fd542ba1391542165
|
||
|
||
|
||
src/server.c | 2 +-
|
||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Fix a possible race condition of sdown detection if the connection to master/slave/sentinel decames disconnected just after the last PONG and before the next PING.
|
||
| By Daniel Shih, 2016-01-12 17:06:47 +0800
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/d9dc0d777b775f2fe4f23f42e1b4130f4de1ed72
|
||
|
||
|
||
src/sentinel.c | 2 ++
|
||
1 file changed, 2 insertions(+)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Fix nanosecond conversion
|
||
| By Jan-Erik Rediger, 2016-01-13 10:22:29 -0700
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/13bd702844eda7bccc7c672b6ff77f53e21ab841
|
||
|
||
1 microsecond = 1000 nanoseconds
|
||
1e3 = 1000
|
||
10e3 = 10000
|
||
|
||
src/redis-cli.c | 2 +-
|
||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| redis-cli: don't free historyfile, is used later.
|
||
| By antirez, 2016-05-05 13:57:57 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/f6b7df3aec1d8fddf3121c4315fea4bf45cc4cfe
|
||
|
||
|
||
src/redis-cli.c | 2 +-
|
||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Cluster test 12: reshard back just a few slots to speedup the test.
|
||
| By antirez, 2016-05-05 11:49:27 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/97ce72fa2d348f914fc40ccf0a32008c7362b817
|
||
|
||
|
||
tests/cluster/tests/12-replica-migration-2.tcl | 14 +++++++-------
|
||
1 file changed, 7 insertions(+), 7 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Cluster: make getNodeByQuery() responsible of -CLUSTERDOWN errors.
|
||
| By antirez, 2016-05-05 11:33:43 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/708f486c77b455fa7ae1e87cf31278474eb9d432
|
||
|
||
This fixes a bug introduced by d827dbf, and makes the code consistent
|
||
with the logic of always allowing, while the cluster is down, commands
|
||
that don't target any key.
|
||
|
||
As a side effect the code is also simpler now.
|
||
|
||
src/cluster.c | 13 +++++++++++--
|
||
src/server.c | 26 ++++++++++----------------
|
||
2 files changed, 21 insertions(+), 18 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Fixes a typo
|
||
| By Itamar Haber, 2016-01-28 21:47:18 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/1fc2ed61bec2f2bf266b48e566a197c5214b4350
|
||
|
||
|
||
src/cluster.c | 2 +-
|
||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Reverse redirect address parse
|
||
| By David Cavar, 2016-02-09 15:04:42 +0100
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/787d5ab9be45bf4feb6cfa8a227c185c93aaadae
|
||
|
||
Fix issue in case the redirect address is in ipv6 format. Parse from behind to extract last part of the response which represents actual port.
|
||
src/redis-cli.c | 2 +-
|
||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Bind both IPv4 and IPv6 or exit with an error by default.
|
||
| By antirez, 2016-05-05 10:02:42 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/0fda06225f19b18a370d63ac650a8bb61020235d
|
||
|
||
Thanks to @tushar2708 for the PR. I applied a slightly different fix.
|
||
Thanks to @cespare for reporting.
|
||
|
||
Close #3024
|
||
Close #3020
|
||
|
||
src/server.c | 18 ++++++++++--------
|
||
1 file changed, 10 insertions(+), 8 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Quick fix to avoid false positive in replica migration test.
|
||
| By antirez, 2016-05-05 09:45:31 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/65707fa6b5bb38b5818af57ab93b9b1da47d708a
|
||
|
||
|
||
tests/cluster/tests/12-replica-migration-2.tcl | 5 ++++-
|
||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Ensure slots are rechecked on EXEC.
|
||
| By Chris Thunes, 2016-03-11 15:22:36 -0500
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/1f3ed652e2a6cfcbbd5300a31f5771f2ce842e98
|
||
|
||
Fixes #2515.
|
||
|
||
src/server.c | 9 +++++++--
|
||
1 file changed, 7 insertions(+), 2 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| fix for #3187
|
||
| By therealbill, 2016-04-22 10:43:48 -0500
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/3a4810678904af013901a896ab0bb3c71856644c
|
||
|
||
I've renamed maxmemoryToString to evictPolicyToString since that is
|
||
more accurate (and easier to mentally connect with the correct data), as
|
||
well as updated the function to user server.maxmemory_policy rather than
|
||
server.maxmemory. Now with a default config it is actually returning
|
||
the correct policy rather than volatile-lru.
|
||
|
||
src/config.c | 4 ++--
|
||
src/server.c | 2 +-
|
||
src/server.h | 2 +-
|
||
3 files changed, 4 insertions(+), 4 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Fixed typo in README.md
|
||
| By Seth Bergman, 2016-04-30 11:58:48 -0500
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/bba53d7fc7a759b53d72a7c3be17a00abe32039e
|
||
|
||
|
||
README.md | 2 +-
|
||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| fix variable
|
||
| By Ryosuke Hasebe, 2016-03-30 23:09:36 +0900
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/ab7581489871eebcf0253915acc26efb27f5df23
|
||
|
||
|
||
src/redis-trib.rb | 10 +++++-----
|
||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| fix check_open_slots
|
||
| By Ryosuke Hasebe, 2016-03-30 21:56:22 +0900
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/0fcf896ac14c6e5c57e3b79e836dd8bf7dad94b5
|
||
|
||
|
||
src/redis-trib.rb | 3 ++-
|
||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Minor redis-cli wording change in --help output.
|
||
| By antirez, 2016-05-04 22:34:17 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/b8a63635e39ce312b2c5664f2c2a59184849b8fb
|
||
|
||
|
||
src/redis-cli.c | 3 ++-
|
||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Allow CONFIG GET during loading.
|
||
| By antirez, 2016-05-04 15:45:38 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/ae95de93312d6bb2c8c365c31f2a3fd0b6d2c100
|
||
|
||
Thanks to @oranagra for the idea of allowing CONFIG GET during loading.
|
||
|
||
src/config.c | 6 ++++++
|
||
src/server.c | 2 +-
|
||
2 files changed, 7 insertions(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Command "r" flag removed from commands not accessing the key space.
|
||
| By antirez, 2016-05-04 15:42:14 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/3ff8f57ef32e3b1ddd407b65d474f610881bef34
|
||
|
||
Thanks to @oranagra for the hint about misplaced 'r' flags.
|
||
|
||
src/server.c | 70 ++++++++++++++++++++++++++++++------------------------------
|
||
1 file changed, 35 insertions(+), 35 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| DEBUG command self documentation.
|
||
| By antirez, 2016-05-04 12:45:55 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/07b852d24ec8d7cb47044b096baf0af1410c69ed
|
||
|
||
|
||
src/debug.c | 49 ++++++++++++++++++++++++++++++++++++++++++++++++-
|
||
src/server.c | 2 +-
|
||
2 files changed, 49 insertions(+), 2 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| various cleanups and minor fixes
|
||
| By Oran Agra, 2016-04-25 16:49:57 +0300
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/cfc08b65b04cf972ebeadf3be9f39f2acd7672b3
|
||
|
||
|
||
src/adlist.c | 18 ++++++------------
|
||
src/ae_epoll.c | 6 ++----
|
||
src/aof.c | 5 ++++-
|
||
src/db.c | 2 +-
|
||
src/rdb.c | 6 ++++--
|
||
src/rio.c | 5 +++--
|
||
src/rio.h | 2 ++
|
||
src/server.h | 3 +--
|
||
tests/support/test.tcl | 6 ------
|
||
tests/unit/bitops.tcl | 2 +-
|
||
tests/unit/other.tcl | 1 +
|
||
tests/unit/scripting.tcl | 27 ++++++++++++++-------------
|
||
12 files changed, 39 insertions(+), 44 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| dict.c minor optimization
|
||
| By Oran Agra, 2016-04-25 16:48:25 +0300
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/6710c8dc15680b756de26d1d45df110987b951b3
|
||
|
||
|
||
src/dict.c | 8 ++++----
|
||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| networking.c minor optimization
|
||
| By Oran Agra, 2016-04-25 16:48:09 +0300
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/be5c0869821b16f18104d9ea62ab42bfa0615816
|
||
|
||
|
||
src/networking.c | 11 +++++------
|
||
1 file changed, 5 insertions(+), 6 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| add DEBUG JEMALLC PURGE and JEMALLOC INFO cleanup
|
||
| By Oran Agra, 2016-04-25 16:47:42 +0300
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/3ede6c7a506bcff3c7d2147c8af140dd4102a36e
|
||
|
||
|
||
src/debug.c | 17 ++++++++++++++++-
|
||
src/redis-cli.c | 2 +-
|
||
2 files changed, 17 insertions(+), 2 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| fix small issues in redis 3.2
|
||
| By Oran Agra, 2016-04-25 14:19:28 +0300
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/e2fab184efd01ffa0d510739f4d819a30b1d6787
|
||
|
||
|
||
src/config.c | 2 ++
|
||
src/rdb.c | 2 +-
|
||
2 files changed, 3 insertions(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| additional fix to issue #2948
|
||
| By Oran Agra, 2016-04-25 14:18:40 +0300
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/9d57ceec08687545c2a63a2c18c28e2bcaf74664
|
||
|
||
|
||
src/networking.c | 3 +++
|
||
1 file changed, 3 insertions(+)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Reply with error on negative geo radius.
|
||
| By antirez, 2016-05-04 08:59:56 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/7ba2cf5f8bea9cd125e773de147e3ea9b19ee2b0
|
||
|
||
Thanks to @tidwall for reporting.
|
||
Close #3194.
|
||
|
||
src/geo.c | 5 ++++-
|
||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Cluster regression test for #3043.
|
||
| By antirez, 2016-05-02 18:36:09 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/38cf2bd257d09b360be6adf450d59592a359696d
|
||
|
||
The test works but is very slow so far, since it involves resharding
|
||
1/5 of all the cluster slots from master 0 to the other 4 masters and
|
||
back into the original master.
|
||
|
||
tests/cluster/tests/12-replica-migration-2.tcl | 61 ++++++++++++++++++++++++++
|
||
1 file changed, 61 insertions(+)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| New masters with slots are now targets of migration if others are.
|
||
| By antirez, 2016-05-02 16:41:56 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/7b618823c189c24313effbccda7022d167ea419c
|
||
|
||
This fixes issue #3043.
|
||
|
||
Before this fix, after a complete resharding of a master slots
|
||
to other nodes, the master remains empty and the slaves migrate away
|
||
to other masters with non-zero nodes. However the old master now empty,
|
||
is no longer considered a target for migration, because the system has
|
||
no way to tell it had slaves in the past.
|
||
|
||
This fix leaves the algorithm used in the past untouched, but adds a
|
||
new rule. When a new or old master which is empty and without slaves,
|
||
are assigend with their first slot, if other masters in the cluster have
|
||
slaves, they are automatically considered to be targets for replicas
|
||
migration.
|
||
|
||
src/cluster.c | 36 +++++++++++++++++++++++++++++++++++-
|
||
1 file changed, 35 insertions(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Test ZINCRBY return value.
|
||
| By antirez, 2016-05-02 08:57:30 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/1101b515c73dcb0ff4a868ba38a91dcebb5b85cc
|
||
|
||
|
||
tests/unit/type/zset.tcl | 6 ++++++
|
||
1 file changed, 6 insertions(+)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| redis-cli preferences and rc file support.
|
||
| By antirez, 2016-04-13 13:58:30 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/bbf93108ef2a7ac7bd53e26c96bf838f7c5e72df
|
||
|
||
|
||
src/redis-cli.c | 102 ++++++++++++++++++++++++++++++++++++++++++++++----------
|
||
1 file changed, 85 insertions(+), 17 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| redis-cli hints.
|
||
| By antirez, 2016-04-13 12:34:14 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/3fd3fca0dd38cb21c900e4ba98e3d41f333335aa
|
||
|
||
|
||
deps/linenoise/linenoise.c | 8 +++++++
|
||
deps/linenoise/linenoise.h | 2 +-
|
||
src/redis-cli.c | 53 ++++++++++++++++++++++++++++++++++++++++++++++
|
||
3 files changed, 62 insertions(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Linenoise updated again (hints support).
|
||
| By antirez, 2016-04-12 23:39:18 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/34354473ffe8d60b80acdbc8c16b194f8bbd70a0
|
||
|
||
|
||
deps/linenoise/README.markdown | 176 ++++++++++++++++++++++++++++++++++++++++-
|
||
deps/linenoise/example.c | 10 +++
|
||
deps/linenoise/linenoise.c | 55 ++++++++++++-
|
||
deps/linenoise/linenoise.h | 15 +++-
|
||
4 files changed, 248 insertions(+), 8 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Linenoise updated.
|
||
| By antirez, 2016-04-06 13:37:27 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/58229cd766fa02f399267310b5b488aac2c55a6a
|
||
|
||
As a side effect, cat commands.txt | redis-cli now is able to handle
|
||
lines more than 4096 bytes.
|
||
|
||
deps/linenoise/linenoise.c | 60 ++++++++++++++++++++++++++++++++++------------
|
||
1 file changed, 45 insertions(+), 15 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| ae.c: Fix delay until next timer event.
|
||
| By antirez, 2016-04-04 14:08:16 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/29645f1f44926ac2662ed768fe1e369775a30b66
|
||
|
||
This fix was written by Anthony LaTorre.
|
||
The old code mis-calculated the amount of time to wait till next event.
|
||
|
||
src/ae.c | 21 ++++++++++++---------
|
||
1 file changed, 12 insertions(+), 9 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| ae.c: comment to explain why we have a useless maxId check.
|
||
| By antirez, 2016-04-04 12:23:10 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/aa79c1f1c1d288e4cc2c0f4689ad01488678bf9d
|
||
|
||
|
||
src/ae.c | 6 +++++-
|
||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Fix ae.c to avoid timers infinite loop.
|
||
| By antirez, 2016-01-08 15:05:14 +0100
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/0b69c9865619b54b75576e67aaafe7b018734bec
|
||
|
||
This fix was suggested by Anthony LaTorre, that provided also a good
|
||
test case that was used to verify the fix.
|
||
|
||
The problem with the old implementation is that, the time returned by
|
||
a timer event (that is the time after it want to run again) is added
|
||
to the event *start time*. So if the event takes, in order to run, more
|
||
than the time it says it want to be scheduled again for running, an
|
||
infinite loop is triggered.
|
||
|
||
src/ae.c | 51 ++++++++++++++++++++++-----------------------------
|
||
src/ae.h | 3 +++
|
||
src/anet.h | 2 ++
|
||
src/redis-trib.rb | 2 +-
|
||
4 files changed, 28 insertions(+), 30 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| BITFIELD: overflow wrap behavior fuzz tester.
|
||
| By antirez, 2016-03-02 17:22:42 +0100
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/258857cd62e0eb70da32742651a55213fbc28a53
|
||
|
||
|
||
tests/unit/bitfield.tcl | 51 +++++++++++++++++++++++++++++++++++++++++++++++++
|
||
1 file changed, 51 insertions(+)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| BITFIELD basic unit tests.
|
||
| By antirez, 2016-03-02 16:31:02 +0100
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/35d05d6dc5d7fb810e732f9de7b05c6b14933fb6
|
||
|
||
|
||
tests/unit/bitfield.tcl | 86 ++++++++++++++++++++++++++++++++++++++++++++++++-
|
||
1 file changed, 85 insertions(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| BITFIELD: Farest bit set is offset+bits-1. Off by one error fixed.
|
||
| By antirez, 2016-03-02 16:20:28 +0100
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/6cf83feffad7f7b7693a207a9d63278354769ece
|
||
|
||
|
||
src/bitops.c | 6 ++++--
|
||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| BITFIELD: overflow fuzzy testing.
|
||
| By antirez, 2016-03-02 15:15:18 +0100
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/b4d65c9501be01531eb8fbeb4ba2b444e35d6494
|
||
|
||
|
||
tests/test_helper.tcl | 1 +
|
||
tests/unit/bitfield.tcl | 52 +++++++++++++++++++++++++++++++++++++++++++++++++
|
||
2 files changed, 53 insertions(+)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Fix typo in bitops.tcl comment.
|
||
| By antirez, 2016-03-02 15:14:53 +0100
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/d75e0fdbe6ecf3074b18c4dd1e8b71a474254ccc
|
||
|
||
|
||
tests/unit/bitops.tcl | 2 +-
|
||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| More BITFIELD fixes. Overflow conditional simplified.
|
||
| By antirez, 2016-03-02 15:13:45 +0100
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/5f3ef73ed41be6e051daad9fdb7efa91b4ca682d
|
||
|
||
See issue #3114.
|
||
|
||
src/bitops.c | 17 ++++++++---------
|
||
1 file changed, 8 insertions(+), 9 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| bitops/bitfield: fix length, overflow condition and *sign
|
||
| By Sun He, 2016-03-02 18:11:30 +0800
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/5b9aa5026204fb6c8b0098d4e47c2e001cf06151
|
||
|
||
|
||
src/bitops.c | 13 ++++++++-----
|
||
1 file changed, 8 insertions(+), 5 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Fix INFO commandstats reporting when argv is rewritten.
|
||
| By antirez, 2016-03-02 08:51:27 +0100
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/ba9154d7e7bf959b002533384319a1e90545447b
|
||
|
||
We want to report the original command in the stats, for example GEOADD,
|
||
even when what is actually executed is the ZADD implementation.
|
||
|
||
src/scripting.c | 2 +-
|
||
src/server.c | 4 ++--
|
||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| BITFIELD: refactoring & fix of retval on FAIL.
|
||
| By antirez, 2016-02-29 09:08:46 +0100
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/76b22e3728e37fe11582b71802bf98a2be09623f
|
||
|
||
|
||
src/bitops.c | 32 ++++++++++++++++++++++++--------
|
||
1 file changed, 24 insertions(+), 8 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| BITFIELD: Fix #<index> form parsing.
|
||
| By antirez, 2016-02-26 15:53:29 +0100
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/c333a9e2d7873190b22aaee8835a188bc55b60dc
|
||
|
||
|
||
src/bitops.c | 10 ++++------
|
||
1 file changed, 4 insertions(+), 6 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| BITFIELD: Support #<index> offsets form.
|
||
| By antirez, 2016-02-26 15:16:24 +0100
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/f84871cb5dd3bb3c04bfd7ac53b6e06b246f511f
|
||
|
||
|
||
src/bitops.c | 29 +++++++++++++++++++++++------
|
||
1 file changed, 23 insertions(+), 6 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| BITFIELD command initial implementation.
|
||
| By antirez, 2016-02-25 23:31:45 +0100
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/761a77287107ce53dbf4755f1435cc9660b6c86d
|
||
|
||
The new bitfield command is an extension to the Redis bit operations,
|
||
where not just single bit operations are performed, but the array of
|
||
bits composing a string, can be addressed at random, not aligned
|
||
offsets, with any width unsigned and signed integers like u8, s5, u10
|
||
(up to 64 bit signed integers and 63 bit unsigned integers).
|
||
|
||
The BITFIELD command supports subcommands that can SET, GET, or INCRBY
|
||
those arbitrary bit counters, with multiple overflow semantics.
|
||
|
||
Trivial and credits:
|
||
|
||
A similar command was imagined a few times in the past, but for
|
||
some reason looked a bit far fetched or not well specified.
|
||
Finally the command was proposed again in a clear form by
|
||
Yoav Steinberg from Redis Labs, that proposed a set of commands on
|
||
arbitrary sized integers stored at bit offsets.
|
||
|
||
Starting from this proposal I wrote an initial specification of a single
|
||
command with sub-commands similar to what Yoav envisioned, using short
|
||
names for types definitions, and adding control on the overflow.
|
||
|
||
This commit is the resulting implementation.
|
||
|
||
Examples:
|
||
|
||
BITFIELD mykey OVERFLOW wrap INCRBY i2 10 -1 GET i2 10
|
||
|
||
src/bitops.c | 506 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
|
||
src/server.c | 1 +
|
||
src/server.h | 1 +
|
||
3 files changed, 476 insertions(+), 32 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Eliminates engineers near the equator & prime meridian
|
||
| By Itamar Haber, 2016-02-18 15:11:30 -0800
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/4b89ea3a95ef72353e14e0eb5cbf293bf2dc8b48
|
||
|
||
|
||
src/geo.c | 8 ++++----
|
||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Fixes a typo in a comment
|
||
| By Itamar Haber, 2016-02-18 15:01:34 -0800
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/0f46f9bd423a146f96e1993aca6221e1305f9a28
|
||
|
||
|
||
src/geo.c | 2 +-
|
||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Adjusts accuracy for GEODIST
|
||
| By Itamar Haber, 2016-02-18 15:00:39 -0800
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/9de844603c5203ae6ff6e7882a3dcb47a9f79a85
|
||
|
||
|
||
src/geo.c | 2 +-
|
||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| addReplyHumanLongDouble() API added.
|
||
| By antirez, 2016-02-18 22:08:47 +0100
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/79e553a58d7f814fd08482b118561fcf9854b1df
|
||
|
||
Send a long double or double as a bulk reply, in a human friendly
|
||
format.
|
||
|
||
src/networking.c | 9 +++++++++
|
||
src/server.h | 1 +
|
||
2 files changed, 10 insertions(+)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Fix GEORADIUS STORE/DIST refcount after backport to 3.2.
|
||
| By antirez, 2016-02-18 15:33:02 +0100
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/158d1e2fbf6badb881a4d78623fd1bffde34cc49
|
||
|
||
|
||
src/geo.c | 2 ++
|
||
1 file changed, 2 insertions(+)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| GEOADD STORE/STOREDIST tests.
|
||
| By antirez, 2016-02-18 14:42:42 +0100
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/123cd88286127cc20684bf0457cb51107a67cfa2
|
||
|
||
|
||
tests/unit/geo.tcl | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
1 file changed, 54 insertions(+)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| New options for GEORADIUS: STORE and STOREDIST.
|
||
| By antirez, 2016-02-18 10:24:11 +0100
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/0b6daf5a6b27447f03c76387b8b707ce0ab7b08d
|
||
|
||
Related to issue #3019.
|
||
|
||
src/geo.c | 143 +++++++++++++++++++++++++++++++++++++++++------------------
|
||
src/server.c | 4 +-
|
||
src/server.h | 1 +
|
||
src/t_zset.c | 18 +++++---
|
||
4 files changed, 117 insertions(+), 49 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Include full paths on RDB/AOF files errors.
|
||
| By antirez, 2016-02-15 16:14:56 +0100
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/f7af1beaab938b7e319d1b91d7736f043b7ef682
|
||
|
||
Close #3086.
|
||
|
||
src/aof.c | 17 +++++++++++++++--
|
||
src/rdb.c | 19 +++++++++++++++++--
|
||
2 files changed, 32 insertions(+), 4 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Remove Lua state reference from buffers in lua_cmsgpack.
|
||
| By antirez, 2016-02-10 09:12:17 +0100
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/0b4a628fc716ab6b88c9823b143de174601a790d
|
||
|
||
|
||
deps/lua/src/lua_cmsgpack.c | 53 +++++++++++++++++++++------------------------
|
||
1 file changed, 25 insertions(+), 28 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| cmsgpack: pass correct osize values to lua allocator, update correct buf free space in cmsgpack
|
||
| By yoav@monfort.co.il, 2016-02-07 20:24:28 +0200
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/43509f686452fba68966aa89b87d1be065b50e17
|
||
|
||
|
||
deps/lua/src/lua_cmsgpack.c | 8 ++++----
|
||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Fixes a typo
|
||
| By Itamar Haber, 2016-02-03 11:04:09 -0800
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/cd9f7c6976f81c0e9ffae9e34b31eda19384a7dd
|
||
|
||
|
||
src/server.c | 4 ++--
|
||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Adds keyspace notifications for lrem
|
||
| By Itamar Haber, 2016-02-02 09:58:19 -0800
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/bf30f5a73922e5111d6a39da7351e22357213134
|
||
|
||
|
||
src/t_list.c | 7 ++++++-
|
||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Typo ASII -> ASCII fixed in comment.
|
||
| By antirez, 2016-01-29 12:08:10 +0100
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/0c7c7631d206964b8bf1dae3db286a3acda4edad
|
||
|
||
|
||
src/server.h | 2 +-
|
||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
||
+-------------------------------------------------------------------------------
|
||
| Cluster: include node IDs in SLOTS output.
|
||
| By antirez, 2016-01-29 12:00:38 +0100
|
||
+--------------------------------------------------------------------------------
|
||
https://github.com/antirez/redis/commit/0f3fb0097ae70e36ee65468b79f0be4160934bb4
|
||
|
||
CLUSTER SLOTS now includes IDs in the nodes description associated with
|
||
a given slot range. Certain client libraries implementations need a way
|
||
to reference a node in an unique way, so they were relying on CLUSTER
|
||
NODES, that is not a stable API and may change frequently depending on
|
||
Redis Cluster future requirements.
|
||
|
||
src/cluster.c | 8 ++++++--
|
||
1 file changed, 6 insertions(+), 2 deletions(-)
|
||
|
||
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~ OLD STYLE CHANGELOG ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
||
--[ Redis 3.2.0 RC3 (version 3.1.103) ] Release date: 28 jan 2016
|
||
|
||
Upgrade urgency MODERATE: this release fixes a non trivial Sentinel crash.
|
||
|
||
* [FIX] avg_ttl reporting in INFO improved. (Salvatore Sanfilippo)
|
||
* [FIX] Sentinel: improve handling of known Sentinel instances.
|
||
(Salvatore Sanfilippo, thanks to Paweł Kowalczykf or the original
|
||
crash report).
|
||
* [FIX] Redis Cluster address update (via gossip section) processing improved
|
||
to avoid initiating inwanted handshakes.
|
||
|
||
--[ Redis 3.2.0 RC2 (version 3.1.102) ] Release date: 25 jan 2016
|
||
|
||
Upgrade urgency MODERATE: this release fixes important Redis Cluster bugs.
|
||
|
||
* [FIX] Many fixes 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 fix was developed by Salvatore Sanfilippo)
|
||
* [FIX] A Redis Cluster node crash was fixed because of wrong handling of
|
||
node->slaveof pointers.
|
||
(Reported by JackyWoo, fixed by Salvatore Sanfilippo)
|
||
* [FIX] Fix redis-trib rebalance when nodes need to be left empty because
|
||
the specified weight is zero.
|
||
(Reported by Shahar Mor, fixed by Salvatore Sanfilippo)
|
||
* [FIX] 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, fix the cluster configuration, and so forth.
|
||
(Salvatore Sanfilippo)
|
||
* [FIX] Lua debugger crash when printing too deeply nested objects.
|
||
(Reported by Paul Kulchenko, fixed by Salvatore Sanfilippo)
|
||
* [FIX] Redis-cli implementation of Lua debugging now allows to use the
|
||
SCRIPT DEBUG command directly, switching to debugging mode as needed.
|
||
(Reported by Paul Kulchenko, fixed by Salvatore Sanfilippo)
|
||
* [FIX] Redis-trib is now able to fix more errors. A new CLUSTER subcommand
|
||
called BUMPEPOCH was introduced in order to support new modes
|
||
for the "fix" 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: https://www.reddit.com/r/redis/comments/3zv85m/new_security_feature_redis_protected_mode/ (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)
|
||
|
||
--[ Redis 3.2.0 RC1 (version 3.1.101) ] Release date: 23 dec 2015
|
||
|
||
This is the first release candidate of Redis 3.2. The changelog above shows
|
||
what's new in this release. In the next of the following weeks we'll test
|
||
in depth every feature and we'll release new RCs as bugs are discovered
|
||
and fixed. Note that while 3.2 looks solid already, it contains many changes
|
||
to its internals. It's still fresh code compared to 3.0.
|
||
|
||
General changes:
|
||
|
||
* [NEW] Lua scripts "effect replication". Makes possible to write scripts
|
||
with side effects, use of random commands, and so forth.
|
||
(Salvatore Sanfilippo)
|
||
* [NEW] Lua scripts selective replication. Makes possible to replicate to
|
||
slaves and AOF only selected parts of a script. (Design by
|
||
Yossi Gottlieb and Salvatore Sanfilippo, implemented by Salvatore)
|
||
* [NEW] Geo indexing support via GEOADD, GEORADIUS and other commands.
|
||
See http://redis.io/commands/geoadd for more information.
|
||
(Initially implemented in a fork of Redis called "Ardb".
|
||
Matt Stancliff "imported back" the work to Redis and created the
|
||
initial API and implementation. Salvatore Sanfilippo modified
|
||
the API and the implementation, fixed bugs, improved performances
|
||
and unified the duplicated code with t_zset.c)
|
||
* [NEW] Lua debugger. A complete stepping, remote debugger for Lua scripts.
|
||
Video here: https://www.youtube.com/watch?v=IMvRfStaoyM
|
||
(Salvatore Sanfilippo with many feedbacks and testing from
|
||
Itamar Haber)
|
||
* [NEW] SDS improvements for speed and maximum string length.
|
||
This makes Redis more memory efficient in different use cases.
|
||
(Design and implementation by Oran Agra, some additional work
|
||
by Salvatore Sanfilippo)
|
||
* [NEW] Modify Jemalloc size classes to make certain Redis objects fit
|
||
better, improving memory efficiency. (Oran Agra)
|
||
* [NEW] Better consistency behavior between masters and slaves for expired
|
||
keys. The slaves are only able to logically consider a key expired
|
||
even before receiving the `DEL` command from the master. This avoids
|
||
the delay there is sometimes between the natural expire of the key
|
||
and the moment the slave is notified. (Salvatore Sanfilippo)
|
||
* [NEW] Support daemon supervision by upstart or systemd (Pierre-Yves Ritschard)
|
||
* [NEW] New encoding for the List type: Quicklists. Very important memory
|
||
savings and storage space in RDB gains (up to 10x sometimes).
|
||
(Design and implementation by Matt Stancliff. RDB storage reworked
|
||
by Salvatore Sanfilippo)
|
||
* [NEW] SPOP with optional count argument. (Initial implementation by
|
||
Alon Diamant, mostly reimplemented by Salvatore Sanfilippo for speed
|
||
and in order to make the replication of a this class of commands,
|
||
having as logical effect the execution of multiple commands, possible).
|
||
* [NEW] Support for RDB AUX fields. Now RDB files contain additional info
|
||
like the creation date, version of Redis generating it and so forth.
|
||
(Salvatore Sanfilippo)
|
||
* [NEW] Faster RDB loading via the RESIZEDB opcode to avoid useless hash tables
|
||
rehashings. (Salvatore Sanfilippo)
|
||
* [NEW] HSTRLEN command. (@landmime and Salvatore Sanfilippo)
|
||
* [NEW] CONFIG SET/GET implementations refactored, partially rewritten,
|
||
now exposing more config options. (Salvatore Sanfilippo)
|
||
* [NEW] CLUSTER NODES major speedup. (Salvatore Sanfilippo)
|
||
* [NEW] CLIENT KILL TYPE MASTER, to kill (disconnect) masters from slaves.
|
||
(Salvatore Sanfilippo)
|
||
* [NEW] Jemalloc updated to 4.0.3 (Salvatore Sanfilippo)
|
||
* [NEW] DEBUG RESTART/CRASH-AND-RECOVER [delay] (Salvatore Sanfilippo)
|
||
* [NEW] CLIENT REPLY command implemented: ON, OFF and SKIP modes.
|
||
(Salvatore Sanfilippo)
|
||
* [NEW] Crash report produced by Redis on crash improved. (Salvatore Sanfilippo)
|
||
* [NEW] Better memory test on crash. (Salvatore Sanfilippo)
|
||
|
||
Redis Cluster changes:
|
||
|
||
All the Redis Cluster changes in 3.2 were backported to 3.0, so there is
|
||
technically nothing new for now in this release. The most important things
|
||
are:
|
||
|
||
* Cluster rebalancing.
|
||
* A pipelined MIGRATE command which is 10x faster and makes resharding
|
||
and rebalancing faster.
|
||
* Improved replicas migration.
|
||
* As a side effect of quicklists encoding (see above items), moving big
|
||
lists between nodes is now a lot faster.
|
||
|
||
Redis Sentinel changes:
|
||
|
||
* [NEW] Sentinel connection sharing. Makes Sentinels able to scale to
|
||
monitor many masters. (Salvatore Sanfilippo)
|
||
* [NEW] New SENTINEL INFO-CACHE command. (Matt Stancliff)
|
||
* More things backported to Redis 3.0 in the past, so no longer news of 3.2.
|
||
|
||
Migrating from 3.0 to 3.2
|
||
=========================
|
||
|
||
Redis 3.0 is mostly a strict subset of 3.2, you should not have any problem
|
||
upgrading your application from 3.0 to 3.2. However this is a list of small
|
||
non-backward compatible changes introduced in the 3.2 release:
|
||
|
||
* The default configuration file now binds to 127.0.0.1.
|
||
* Slaves try to no longer expose stale data about already expired keys.
|
||
* The RDB format changed. Redis 3.2 is still able to read 3.0 (and all the
|
||
past versions) files, but not the other way around.
|
||
* Behavior on crash may be different. The crash log format changed and
|
||
the memory test executed is now different.
|
||
|
||
--------------------------------------------------------------------------------
|
||
|
||
Credits: For each release, a list of changes with the relative author is
|
||
provided. Where not specified the implementation and design is done by
|
||
Salvatore Sanfilippo. Thanks to Redis Labs for making all this possible.
|
||
Also many thanks to all the other contributors and the amazing community
|
||
we have.
|
||
|
||
Commit messages may contain additional credits.
|
||
|
||
Cheers,
|
||
Salvatore
|