xref: /redis-3.2.3/00-RELEASENOTES (revision 44bf2533)
13955fdeeSantirezRedis 3.2 release notes
23955fdeeSantirez=======================
3c2513ecbSantirez
43955fdeeSantirez--------------------------------------------------------------------------------
53955fdeeSantirezUpgrade urgency levels:
63955fdeeSantirez
73955fdeeSantirezLOW:      No need to upgrade unless there are new features you want to use.
83955fdeeSantirezMODERATE: Program an upgrade of the server, but it's not urgent.
93955fdeeSantirezHIGH:     There is a critical bug that may affect a subset of users. Upgrade!
103955fdeeSantirezCRITICAL: There is a critical bug affecting MOST USERS. Upgrade ASAP.
113955fdeeSantirez--------------------------------------------------------------------------------
123955fdeeSantirez
137c6e288dSantirez================================================================================
14*44bf2533SantirezRedis 3.2.3     Released Tue Aug 02 10:55:24 CEST 2016
15*44bf2533Santirez================================================================================
16*44bf2533Santirez
17*44bf2533SantirezUpgrade urgency MODERATE: Fix replication delay and redis-cli security issue.
18*44bf2533Santirez
19*44bf2533SantirezHello,
20*44bf2533Santirez
21*44bf2533Santirezthis is a minor release of Redis addressing two bugs:
22*44bf2533Santirez
23*44bf2533Santirez1. There was an inverted if statement logic problem in replication.c causing
24*44bf2533Santirez   a replication delay. This is not an actual problem since things work
25*44bf2533Santirez   as expected, but worth to fix ASAP anyway.
26*44bf2533Santirez
27*44bf2533Santirez2. Redis-cli created the history file with insecure permissions, allowing
28*44bf2533Santirez   reding from the file. This was actually a bug in linenoise which is
29*44bf2533Santirez   now fixed. The applied fix is from Chris Lamb.
30*44bf2533Santirez
31*44bf2533SantirezList of commits:
32*44bf2533Santirez
33*44bf2533SantirezQu Chen in commit e67ad1d:
34*44bf2533Santirez Fix a bug to delay bgsave while AOF rewrite in progress for replication
35*44bf2533Santirez 1 file changed, 1 insertion(+), 1 deletion(-)
36*44bf2533Santirez
37*44bf2533Santirezantirez in commit 7153668:
38*44bf2533Santirez Update linenoise to fix insecure redis-cli history file creation.
39*44bf2533Santirez 1 file changed, 6 insertions(+), 1 deletion(-)
40*44bf2533Santirez
41*44bf2533Santirez================================================================================
427c6e288dSantirezRedis 3.2.2     Released Thu Jul 28 14:14:54 CEST 2016
437c6e288dSantirez================================================================================
447c6e288dSantirez
457c6e288dSantirezUpgrade urgency MODERATE: A Redis server and a Sentinel crash are now fixed.
467c6e288dSantirez                          GEORADIUS errors in reported entries are fixed.
477c6e288dSantirez
487c6e288dSantirezHi all! Redis 3.2.2 is finally out with non trivial bugfixes and a few new
497c6e288dSantirezfeatures. Let's start from the bugs:
507c6e288dSantirez
517c6e288dSantirez1. There was a bug in the List type implementation, able to cause the
527c6e288dSantirez   crash of the server under certain (non trivial to replicate) circumstances
537c6e288dSantirez   when the LSET command was used. Now the bug is fixed and a new stress tester
547c6e288dSantirez   that was able to easily trigger the bug was added to the test suite.
557c6e288dSantirez
567c6e288dSantirez2. Redis Sentinel, when monitoring multiple masters, could crash after
577c6e288dSantirez   a Sentinel address update event.
587c6e288dSantirez
597c6e288dSantirez3. Redis Sentinel now checks slaves INFO state more often when disconnected.
607c6e288dSantirez   This is not really a bug fix, but may allow to more easily detect that
617c6e288dSantirez   a slave is able to fail over its master reducing certain delays.
627c6e288dSantirez
637c6e288dSantirez4. It was possible, under a variety of conditions, that the AOF and RDB children
647c6e288dSantirez   process could spawn at the same time. This is known to trash disk I/O,
657c6e288dSantirez   AOF performances, and to ultimately create latency in the Redis server.
667c6e288dSantirez   Normally Redis avoids to have the two writing children at the same time, but
677c6e288dSantirez   there were edge cases discovered by Oran Agra (that also co-authored the
687c6e288dSantirez   fix with me) where the double-fork could happen. In order to fix this bug
697c6e288dSantirez   non trivial changes to the replication code were operated, however it was
707c6e288dSantirez   important to back port this fix into 3.2.2 because the bug could lead to
717c6e288dSantirez   bad latency experiences in certain cases.
727c6e288dSantirez
737c6e288dSantirez5. Many GEORADIUS bugs are now fixed \o/. This started as a failing CI
747c6e288dSantirez   test. I grepped for more clues and there were a number of random failures
757c6e288dSantirez   in the points reported by GEORADIUS. The errors were found to be related
767c6e288dSantirez   to three different bugs (one of these was a bug in the test itself).
777c6e288dSantirez   It's not a critical bug: the effect is to, sometimes, don't report objects
787c6e288dSantirez   that are near the radius, but only with specific sets of coordinates
797c6e288dSantirez   and radius settings. However now the issues are fixed and the error
807c6e288dSantirez   vectors were added as regression tests.
817c6e288dSantirez
827c6e288dSantirezAnd now the good news (not that bug fixes are not good...), that is, the
837c6e288dSantireznew features!
847c6e288dSantirez
857c6e288dSantirez1. Now slaves support the slave-announce-ip and slave-announce-port options.
867c6e288dSantirez   Using these features a slave can be reported by the master `INFO` output
877c6e288dSantirez   and `ROLE` command as having arbitrary IP and port. This allows to have
887c6e288dSantirez   Sentinel deployments when working with containers or NAT-ed environments
897c6e288dSantirez   more easily.
907c6e288dSantirez
917c6e288dSantirez2. The RDB check utlity is now part of Redis and uses the same RDB code that
927c6e288dSantirez   Redis uses in order to load the dataset in memory, so a given version
937c6e288dSantirez   of Redis is always able to check the RDB it produced... without another
947c6e288dSantirez   external check tool which is supposed to be taken in sync with the
957c6e288dSantirez   rdb.c implementation. This in turn also means that the new RDB checking
967c6e288dSantirez   is able to spot more complex bugs, since it really loads the dataset
977c6e288dSantirez   instead of just skipping bytes.
987c6e288dSantirez
997c6e288dSantirezAbout the redis-check-dump utility, now it is also able to show certain
1007c6e288dSantirezinformation about the RDB file, like the version that produced it, when
1017c6e288dSantirezit was produced, and so forth. Example:
1027c6e288dSantirez
1037c6e288dSantirez    ./redis-check-rdb dump.rdb
1047c6e288dSantirez    [offset 0] Checking RDB file dump.rdb
1057c6e288dSantirez    [offset 32] AUX FIELD redis-ver = '3.2.2'
1067c6e288dSantirez    [offset 46] AUX FIELD redis-bits = '64'
1077c6e288dSantirez    [offset 58] AUX FIELD ctime = '1469710178'
1087c6e288dSantirez    [offset 73] AUX FIELD used-mem = '1186528'
1097c6e288dSantirez
1107c6e288dSantirezThe ability to check how much memory was used by the instance that produced
1117c6e288dSantirezthe RDB file can be especially useful.
1127c6e288dSantirez
1137c6e288dSantirezFor credits and the full change log, see the list of commits below, that was
1147c6e288dSantirezmodified in order to be a bit less verbose compared to the last releases.
1157c6e288dSantirez
1167c6e288dSantirezEnjoy!
1177c6e288dSantirezSalvatore
1187c6e288dSantirez
1197c6e288dSantirezantirez in commit 0a45fbc:
1207c6e288dSantirez Ability of slave to announce arbitrary ip/port to master.
1217c6e288dSantirez 6 files changed, 129 insertions(+), 17 deletions(-)
1227c6e288dSantirez
1237c6e288dSantirezantirez in commit c3982c0:
1247c6e288dSantirez redis-benchmark: new option to show server errors on stdout.
1257c6e288dSantirez 1 file changed, 17 insertions(+), 1 deletion(-)
1267c6e288dSantirez
1277c6e288dSantirezantirez in commit fdafe23:
1287c6e288dSantirez Multiple GEORADIUS bugs fixed.
1297c6e288dSantirez 6 files changed, 177 insertions(+), 21 deletions(-)
1307c6e288dSantirez
1317c6e288dSantirezantirez in commit a1bfe22:
1327c6e288dSantirez Replication: when possible start RDB saving ASAP.
1337c6e288dSantirez 1 file changed, 8 insertions(+), 2 deletions(-)
1347c6e288dSantirez
1357c6e288dSantirezantirez in commit 7ca69af:
1367c6e288dSantirez Sentinel: new test unit 07 that tests master down conditions.
1377c6e288dSantirez 1 file changed, 68 insertions(+)
1387c6e288dSantirez
1397c6e288dSantirezantirez in commit 5b5e652:
1407c6e288dSantirez Sentinel: check Slave INFO state more often when disconnected.
1417c6e288dSantirez 2 files changed, 10 insertions(+), 3 deletions(-)
1427c6e288dSantirez
1437c6e288dSantirezantirez in commit 21cffc2:
1447c6e288dSantirez Avoid simultaneous RDB and AOF child process.
1457c6e288dSantirez 4 files changed, 51 insertions(+), 8 deletions(-)
1467c6e288dSantirez
1477c6e288dSantirezantirez in commit 017378e:
1487c6e288dSantirez Replication: start BGSAVE for replication always in replicationCron().
1497c6e288dSantirez 1 file changed, 15 insertions(+), 12 deletions(-)
1507c6e288dSantirez
1517c6e288dSantirezantirez in commit 940be9a:
1527c6e288dSantirez Regression test for issue #3333.
1537c6e288dSantirez 1 file changed, 6 insertions(+)
1547c6e288dSantirez
1557c6e288dSantirezantirez in commit 21736b4:
1567c6e288dSantirez getLongLongFromObject: use string2ll() instead of strict_strtoll().
1577c6e288dSantirez 1 file changed, 1 insertion(+), 6 deletions(-)
1587c6e288dSantirez
1597c6e288dSantirezantirez in commit 0b748e9:
1607c6e288dSantirez redis-cli: check SELECT reply type just in state updated.
1617c6e288dSantirez 1 file changed, 1 insertion(+), 1 deletion(-)
1627c6e288dSantirez
1637c6e288dSantirezsskorgal in commit 1158386:
1647c6e288dSantirez Fix for redis_cli printing default DB when select command fails.
1657c6e288dSantirez 1 file changed, 1 insertion(+), 1 deletion(-)
1667c6e288dSantirez
1677c6e288dSantirezantirez in commit 026f9fc:
1687c6e288dSantirez Sentinel: fix cross-master Sentinel address update.
1697c6e288dSantirez 1 file changed, 9 insertions(+), 2 deletions(-)
1707c6e288dSantirez
1717c6e288dSantirezantirez in commit 11523b3:
1727c6e288dSantirez CONFIG GET is now no longer case sensitive.
1737c6e288dSantirez 1 file changed, 12 insertions(+), 12 deletions(-)
1747c6e288dSantirez
1757c6e288dSantirezantirez in commit f5a7f4f:
1767c6e288dSantirez Fix test for new RDB checksum failure message.
1777c6e288dSantirez 1 file changed, 1 insertion(+), 1 deletion(-)
1787c6e288dSantirez
1797c6e288dSantirezantirez in commit 4c6ff74:
1807c6e288dSantirez Make tcp-keepalive default to 300 in internal conf.
1817c6e288dSantirez 1 file changed, 1 insertion(+), 1 deletion(-)
1827c6e288dSantirez
1837c6e288dSantirezantirez in commit 27dbec2:
1847c6e288dSantirez In Redis RDB check: more details in error reportings.
1857c6e288dSantirez 1 file changed, 24 insertions(+), 13 deletions(-)
1867c6e288dSantirez
1877c6e288dSantirezantirez in commit 41f3004:
1887c6e288dSantirez In Redis RDB check: log decompression errors.
1897c6e288dSantirez 2 files changed, 23 insertions(+), 2 deletions(-)
1907c6e288dSantirez
1917c6e288dSantirezantirez in commit 278fe3e:
1927c6e288dSantirez In Redis RDB check: log object type on error.
1937c6e288dSantirez 1 file changed, 27 insertions(+), 2 deletions(-)
1947c6e288dSantirez
1957c6e288dSantirezantirez in commit a117dfa:
1967c6e288dSantirez Added a trivial program to randomly corrupt RDB files in /utils.
1977c6e288dSantirez 1 file changed, 44 insertions(+)
1987c6e288dSantirez
1997c6e288dSantirezantirez in commit f5110c3:
2007c6e288dSantirez In Redis RDB check: minor output message changes.
2017c6e288dSantirez 1 file changed, 4 insertions(+), 1 deletion(-)
2027c6e288dSantirez
2037c6e288dSantirezantirez in commit 35b18bf:
2047c6e288dSantirez In Redis RDB check: better error reporting.
2057c6e288dSantirez 4 files changed, 71 insertions(+), 14 deletions(-)
2067c6e288dSantirez
2077c6e288dSantirezantirez in commit f578f08:
2087c6e288dSantirez In Redis RDB check: initial POC.
2097c6e288dSantirez 2 files changed, 189 insertions(+), 647 deletions(-)
2107c6e288dSantirez
2117c6e288dSantireztielei in commit 7f1e1ca:
2127c6e288dSantirez A string with 21 chars is not representable as a 64-bit integer.
2137c6e288dSantirez 1 file changed, 2 insertions(+), 2 deletions(-)
2147c6e288dSantirez
2157c6e288dSantirezantirez in commit 7a3a595:
2167c6e288dSantirez Test: new randomized stress tester for #3343 alike bugs.
2177c6e288dSantirez 1 file changed, 27 insertions(+), 2 deletions(-)
2187c6e288dSantirez
2197c6e288dSantirezantirez in commit c75ca10:
2207c6e288dSantirez Stress tester WIP.
2217c6e288dSantirez 1 file changed, 3 insertions(+)
2227c6e288dSantirez
2237c6e288dSantirezantirez in commit 2c3fcf8:
2247c6e288dSantirez Regression test for issue #3343 exact min crash sequence.
2257c6e288dSantirez 1 file changed, 16 insertions(+)
2267c6e288dSantirez
2277c6e288dSantirezantirez in commit 7041967:
2287c6e288dSantirez Fix quicklistReplaceAtIndex() by updating the quicklist ziplist size.
2297c6e288dSantirez 1 file changed, 1 insertion(+)
23004c7261fSantirez
23104c7261fSantirez================================================================================
23204c7261fSantirezRedis 3.2.1     Released Fri Jun 17 15:01:56 CEST 2016
23304c7261fSantirez================================================================================
23404c7261fSantirez
23504c7261fSantirezUpgrade urgency HIGH: Critical fix to Redis Sentinel, due to 3.2.0 regression
23604c7261fSantirez                      compared to 3.0.
23704c7261fSantirez
23804c7261fSantirezHey, this is Redis 3.2.1, and this release should bring some grain of
23904c7261fSantirezmaturity to Redis 3.2. The list of commits following this note will tell
24004c7261fSantirezyou the details, but the main things addressed in this release are the
24104c7261fSantirezfollowing:
24204c7261fSantirez
24304c7261fSantirez1. A critical bug in Sentinel was hopefully fixed. During the big 3.2
24404c7261fSantirez   refactoring of Redis Sentinel, in order to implement connection sharing
24504c7261fSantirez   to make Sentinel able to scale better (few Sentinels to monitor many
24604c7261fSantirez   masters), a bug was introduced that mis-counted the number of pending
24704c7261fSantirez   commands in the Redis link. This in turn resulted into an inability to talk
24804c7261fSantirez   with certain Redis instances. A common result of this bug was the inability
24904c7261fSantirez   of Redis Sentinel to reconfigure back the old master, after a failover,
25004c7261fSantirez   when it is reachable again, as the slave of the new master. This was due
25104c7261fSantirez   to the inability to talk with the old master at all.
25204c7261fSantirez
25304c7261fSantirez2. BITFIELD bugs fixed.
25404c7261fSantirez
25504c7261fSantirez3. GEO commands fixes on syntax errors and edge cases.
25604c7261fSantirez
25704c7261fSantirez4. RESTORE now accepts dumps generated by older Redis versions.
25804c7261fSantirez
25904c7261fSantirez5. Jemalloc now is really configured to save you memory, for a problem a
26004c7261fSantirez   change in the jemalloc configuration did not really survived when the
26104c7261fSantirez   3.2.0 release was finalized.
26204c7261fSantirez
26304c7261fSantirez6. TTL and TYPE command no longer alter the last access time of a key, for
26404c7261fSantirez   LRU evictions purposes. A new TOUCH command was introduced *just* to
26504c7261fSantirez   update the access time of a key.
26604c7261fSantirez
26704c7261fSantirez7. A bug was fixed in redis-cli, that connected to the instance running on the
26804c7261fSantirez   port 6379 if there was one, regardless of what was specified.
26904c7261fSantirez
27004c7261fSantirez8. TCP keep alive is now enabled by default. This should fix most ghost
27104c7261fSantirez   connections problems without resulting in any practical change in otherwise
27204c7261fSantirez   sane deployments.
27304c7261fSantirez
27404c7261fSantirez9. A Sentinel crash that could happen during failovers was fixed.
27504c7261fSantirez
27604c7261fSantirezAnd of course, more minor things that you can read in the detailed log
27704c7261fSantirezbelow. There are still reported bugs for 3.2 that were not fixed in this
27804c7261fSantirezrelease, but nothing critical AFAIK, and I wanted to release this one ASAP,
27904c7261fSantirezso likely a new release will not be too far.
28004c7261fSantirez
28104c7261fSantirezEnjoy,
28204c7261fSantirezSalvatore
28304c7261fSantirez
28404c7261fSantirez+-------------------------------------------------------------------------------
28504c7261fSantirez| config set list-max-ziplist-size didn't support negative values, unlike config file
28604c7261fSantirez| By oranagra, 2016-05-22 20:35:14 +0300
28704c7261fSantirez+--------------------------------------------------------------------------------
28804c7261fSantirezhttps://github.com/antirez/redis/commit/8207e828043e37a0d7e058530d2886bb3ff395ff
28904c7261fSantirez
29004c7261fSantirez
29104c7261fSantirez src/config.c | 6 +++---
29204c7261fSantirez 1 file changed, 3 insertions(+), 3 deletions(-)
29304c7261fSantirez
29404c7261fSantirez+-------------------------------------------------------------------------------
29504c7261fSantirez| Fix Sentinel pending commands counting.
29604c7261fSantirez| By antirez, 2016-06-16 19:24:34 +0200
29704c7261fSantirez+--------------------------------------------------------------------------------
29804c7261fSantirezhttps://github.com/antirez/redis/commit/6ad0371c9b4206a7a6692d50c9a301457baf9b6d
29904c7261fSantirez
30004c7261fSantirezThis bug most experienced effect was an inability of Redis to
30104c7261fSantirezreconfigure back old masters to slaves after they are reachable again
30204c7261fSantirezafter a failover. This was due to failing to reset the count of the
30304c7261fSantirezpending commands properly, so the master appeared fovever down.
30404c7261fSantirez
30504c7261fSantirezWas introduced in Redis 3.2 new Sentinel connection sharing feature
30604c7261fSantirezwhich is a lot more complex than the 3.0 code, but more scalable.
30704c7261fSantirez
30804c7261fSantirezMany thanks to people reporting the issue, and especially to
30904c7261fSantirez@sskorgal for investigating the issue in depth.
31004c7261fSantirez
31104c7261fSantirezHopefully closes #3285.
31204c7261fSantirez
31304c7261fSantirez src/sentinel.c | 1 +
31404c7261fSantirez 1 file changed, 1 insertion(+)
31504c7261fSantirez
31604c7261fSantirez+-------------------------------------------------------------------------------
31704c7261fSantirez| redis-cli: really connect to the right server.
31804c7261fSantirez| By antirez, 2016-06-16 17:23:31 +0200
31904c7261fSantirez+--------------------------------------------------------------------------------
32004c7261fSantirezhttps://github.com/antirez/redis/commit/58f1d446c35e8fe62df7c9ebe10f3c40a386c022
32104c7261fSantirez
32204c7261fSantirezI recently introduced populating the autocomplete help array with the
32304c7261fSantirezCOMMAND command if available. However this was performed before parsing
32404c7261fSantirezthe arguments, defaulting to instance 6379. After the connection is
32504c7261fSantirezperformed it remains stable.
32604c7261fSantirez
32704c7261fSantirezThe effect is that if there is an instance running on port 6339,
32804c7261fSantirezwhatever port you specify is ignored and 6379 is connected to instead.
32904c7261fSantirezThe right port will be selected only after a reconnection.
33004c7261fSantirez
33104c7261fSantirezClose #3314.
33204c7261fSantirez
33304c7261fSantirez src/redis-cli.c | 7 +++++--
33404c7261fSantirez 1 file changed, 5 insertions(+), 2 deletions(-)
33504c7261fSantirez
33604c7261fSantirez+-------------------------------------------------------------------------------
33704c7261fSantirez| Remove debug printing
33804c7261fSantirez| By Jan-Erik Rediger, 2016-05-21 13:50:01 +0200
33904c7261fSantirez+--------------------------------------------------------------------------------
34004c7261fSantirezhttps://github.com/antirez/redis/commit/b6007b324b81dbd4ffe519b3bdb19ab65fbb407f
34104c7261fSantirez
34204c7261fSantirez
34304c7261fSantirez src/redis-cli.c | 3 ---
34404c7261fSantirez 1 file changed, 3 deletions(-)
34504c7261fSantirez
34604c7261fSantirez+-------------------------------------------------------------------------------
34704c7261fSantirez| RESTORE: accept RDB dumps with older versions.
34804c7261fSantirez| By antirez, 2016-06-16 15:53:57 +0200
34904c7261fSantirez+--------------------------------------------------------------------------------
35004c7261fSantirezhttps://github.com/antirez/redis/commit/f592b4d3178963878084a522b4fd050772c335ae
35104c7261fSantirez
35204c7261fSantirezReference issue #3218.
35304c7261fSantirez
35404c7261fSantirezChecking the code I can't find a reason why the original RESTORE
35504c7261fSantirezcode was so opinionated about restoring only the current version. The
35604c7261fSantirezcode in to `rdb.c` appears to be capable as always to restore data from
35704c7261fSantirezolder versions of Redis, and the only places where it is needed the
35804c7261fSantirezcurrent version in order to correctly restore data, is while loading the
35904c7261fSantirezopcodes, not the values itself as it happens in the case of RESTORE.
36004c7261fSantirez
36104c7261fSantirezFor the above reasons, this commit enables RESTORE to accept older
36204c7261fSantirezversions of values payloads.
36304c7261fSantirez
36404c7261fSantirez src/cluster.c | 2 +-
36504c7261fSantirez 1 file changed, 1 insertion(+), 1 deletion(-)
36604c7261fSantirez
36704c7261fSantirez+-------------------------------------------------------------------------------
36804c7261fSantirez| CLIENT error message was out of date
36904c7261fSantirez| By oranagra, 2016-05-23 11:42:21 +0300
37004c7261fSantirez+--------------------------------------------------------------------------------
37104c7261fSantirezhttps://github.com/antirez/redis/commit/047ced4473ee35485e22e45db8b8b4a272bf1177
37204c7261fSantirez
37304c7261fSantirez
37404c7261fSantirez src/networking.c | 2 +-
37504c7261fSantirez 1 file changed, 1 insertion(+), 1 deletion(-)
37604c7261fSantirez
37704c7261fSantirez+-------------------------------------------------------------------------------
37804c7261fSantirez| fix georadius returns multiple replies
37904c7261fSantirez| By oranagra, 2016-05-23 13:58:50 +0300
38004c7261fSantirez+--------------------------------------------------------------------------------
38104c7261fSantirezhttps://github.com/antirez/redis/commit/14e04847ac2960aefe31dccbec63d2503cf09ca5
38204c7261fSantirez
38304c7261fSantirez
38404c7261fSantirez src/geo.c | 7 +++++--
38504c7261fSantirez 1 file changed, 5 insertions(+), 2 deletions(-)
38604c7261fSantirez
38704c7261fSantirez+-------------------------------------------------------------------------------
38804c7261fSantirez| Minor aesthetic fixes to PR #3264.
38904c7261fSantirez| By antirez, 2016-06-16 12:54:33 +0200
39004c7261fSantirez+--------------------------------------------------------------------------------
39104c7261fSantirezhttps://github.com/antirez/redis/commit/bd23ea3f9f3defbbdf512864ee1a88fd02665a7f
39204c7261fSantirez
39304c7261fSantirezComment format fixed + local var modified from camel case to underscore
39404c7261fSantirezseparators as Redis code base normally does (camel case is mostly used
39504c7261fSantirezfor global symbols like structure names, function names, global vars,
39604c7261fSantirez...).
39704c7261fSantirez
39804c7261fSantirez src/bitops.c | 10 +++++-----
39904c7261fSantirez 1 file changed, 5 insertions(+), 5 deletions(-)
40004c7261fSantirez
40104c7261fSantirez+-------------------------------------------------------------------------------
40204c7261fSantirez| check WRONGTYPE in BITFIELD before looping on the operations.
40304c7261fSantirez| By oranagra, 2016-05-24 23:31:36 +0300
40404c7261fSantirez+--------------------------------------------------------------------------------
40504c7261fSantirezhttps://github.com/antirez/redis/commit/2a3ee58ec73b6abdeeb4890937b25191119bce35
40604c7261fSantirez
40704c7261fSantirezoptimization: lookup key only once, and grow at once to the max need
40804c7261fSantirezfixes #3259 and #3221, and also an early return if wrongtype is discovered by SET
40904c7261fSantirez
41004c7261fSantirez src/bitops.c | 27 ++++++++++++++++++---------
41104c7261fSantirez 1 file changed, 18 insertions(+), 9 deletions(-)
41204c7261fSantirez
41304c7261fSantirez+-------------------------------------------------------------------------------
41404c7261fSantirez| fix crash in BITFIELD GET on non existing key or wrong type see #3259
41504c7261fSantirez| By oranagra, 2016-05-24 14:52:43 +0300
41604c7261fSantirez+--------------------------------------------------------------------------------
41704c7261fSantirezhttps://github.com/antirez/redis/commit/a2e27b810edfad18b3ecc9c176a4606f94a2f0e4
41804c7261fSantirez
41904c7261fSantirezthis was a bug in the recent refactoring: bee963c4459223d874e3294a0d8638a588d33c8e
42004c7261fSantirez
42104c7261fSantirez src/bitops.c | 8 +++++---
42204c7261fSantirez 1 file changed, 5 insertions(+), 3 deletions(-)
42304c7261fSantirez
42404c7261fSantirez+-------------------------------------------------------------------------------
42504c7261fSantirez| fix check when can't send the command to the promoted slave
42604c7261fSantirez| By MOON_CLJ, 2016-05-26 13:10:12 +0800
42704c7261fSantirez+--------------------------------------------------------------------------------
42804c7261fSantirezhttps://github.com/antirez/redis/commit/26555f5e008b099b888ef39cabec632f4b31a038
42904c7261fSantirez
43004c7261fSantirez
43104c7261fSantirez src/sentinel.c | 2 +-
43204c7261fSantirez 1 file changed, 1 insertion(+), 1 deletion(-)
43304c7261fSantirez
43404c7261fSantirez+-------------------------------------------------------------------------------
43504c7261fSantirez| Test TOUCH and new TTL / TYPE behavior about object access time.
43604c7261fSantirez| By antirez, 2016-06-15 17:15:18 +0200
43704c7261fSantirez+--------------------------------------------------------------------------------
43804c7261fSantirezhttps://github.com/antirez/redis/commit/f1c237cb6a647ad5400b0ebce124fd9802ea7f89
43904c7261fSantirez
44004c7261fSantirez
44104c7261fSantirez tests/test_helper.tcl          |  1 +
44204c7261fSantirez tests/unit/introspection-2.tcl | 23 +++++++++++++++++++++++
44304c7261fSantirez 2 files changed, 24 insertions(+)
44404c7261fSantirez
44504c7261fSantirez+-------------------------------------------------------------------------------
44604c7261fSantirez| GETRANGE: return empty string with negative, inverted start/end.
44704c7261fSantirez| By antirez, 2016-06-15 12:48:58 +0200
44804c7261fSantirez+--------------------------------------------------------------------------------
44904c7261fSantirezhttps://github.com/antirez/redis/commit/d4831e328759bf5bd07c2c6e6ce1d60e84ba196f
45004c7261fSantirez
45104c7261fSantirez
45204c7261fSantirez src/bitops.c   | 4 ++--
45304c7261fSantirez src/t_string.c | 4 ++++
45404c7261fSantirez 2 files changed, 6 insertions(+), 2 deletions(-)
45504c7261fSantirez
45604c7261fSantirez+-------------------------------------------------------------------------------
45704c7261fSantirez| Remove additional round brackets from fix for #3282.
45804c7261fSantirez| By antirez, 2016-06-15 12:16:39 +0200
45904c7261fSantirez+--------------------------------------------------------------------------------
46004c7261fSantirezhttps://github.com/antirez/redis/commit/9942070f5a41fa3bc953e9628a7248aeb7c0befa
46104c7261fSantirez
46204c7261fSantirez
46304c7261fSantirez src/bitops.c | 2 +-
46404c7261fSantirez 1 file changed, 1 insertion(+), 1 deletion(-)
46504c7261fSantirez
46604c7261fSantirez+-------------------------------------------------------------------------------
46704c7261fSantirez| bitcount bug:return non-zero value when start > end (both negative)
46804c7261fSantirez| By wenduo, 2016-05-30 16:21:08 +0800
46904c7261fSantirez+--------------------------------------------------------------------------------
47004c7261fSantirezhttps://github.com/antirez/redis/commit/f45fa5d05f47a5729786a69962119c9b3dc12645
47104c7261fSantirez
47204c7261fSantirez
47304c7261fSantirez src/bitops.c | 4 ++++
47404c7261fSantirez 1 file changed, 4 insertions(+)
47504c7261fSantirez
47604c7261fSantirez+-------------------------------------------------------------------------------
47704c7261fSantirez| Regression test for #3282.
47804c7261fSantirez| By antirez, 2016-06-15 11:49:49 +0200
47904c7261fSantirez+--------------------------------------------------------------------------------
48004c7261fSantirezhttps://github.com/antirez/redis/commit/0cb86064e602a093a23b56943a7321fe1af64984
48104c7261fSantirez
48204c7261fSantirez
48304c7261fSantirez tests/unit/bitops.tcl | 10 ++++++++++
48404c7261fSantirez 1 file changed, 10 insertions(+)
48504c7261fSantirez
48604c7261fSantirez+-------------------------------------------------------------------------------
48704c7261fSantirez| TTL and TYPE LRU access fixed. TOUCH implemented.
48804c7261fSantirez| By antirez, 2016-06-14 15:33:59 +0200
48904c7261fSantirez+--------------------------------------------------------------------------------
49004c7261fSantirezhttps://github.com/antirez/redis/commit/b23aa6706ac79a1c86c64aef07bd35e38f10f842
49104c7261fSantirez
49204c7261fSantirez
49304c7261fSantirez src/db.c     | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++-------
49404c7261fSantirez src/server.c |  1 +
49504c7261fSantirez src/server.h |  6 +++++-
49604c7261fSantirez 3 files changed, 60 insertions(+), 8 deletions(-)
49704c7261fSantirez
49804c7261fSantirez+-------------------------------------------------------------------------------
49904c7261fSantirez| redis-cli help.h updated.
50004c7261fSantirez| By antirez, 2016-06-14 14:45:48 +0200
50104c7261fSantirez+--------------------------------------------------------------------------------
50204c7261fSantirezhttps://github.com/antirez/redis/commit/6e4204fec9c78f3300d887ebc3db014df2c8b33e
50304c7261fSantirez
50404c7261fSantirez
50504c7261fSantirez src/help.h | 43 +++++++++++++++++++++++++++++--------------
50604c7261fSantirez 1 file changed, 29 insertions(+), 14 deletions(-)
50704c7261fSantirez
50804c7261fSantirez+-------------------------------------------------------------------------------
50904c7261fSantirez| Fix GEORADIUS wrong output with radius > Earth radius.
51004c7261fSantirez| By antirez, 2016-05-30 12:45:49 +0200
51104c7261fSantirez+--------------------------------------------------------------------------------
51204c7261fSantirezhttps://github.com/antirez/redis/commit/bb43f4cab2f756c0412ca2b94d9e29c3db5025ab
51304c7261fSantirez
51404c7261fSantirezClose #3266
51504c7261fSantirez
51604c7261fSantirez deps/geohash-int/geohash_helper.c | 2 ++
51704c7261fSantirez 1 file changed, 2 insertions(+)
51804c7261fSantirez
51904c7261fSantirez+-------------------------------------------------------------------------------
52004c7261fSantirez| Geo: fix typo in geohashEstimateStepsByRadius().
52104c7261fSantirez| By antirez, 2016-05-30 15:31:19 +0200
52204c7261fSantirez+--------------------------------------------------------------------------------
52304c7261fSantirezhttps://github.com/antirez/redis/commit/16102bc0af0912a0c9a92aedddf796eb24a80b9e
52404c7261fSantirez
52504c7261fSantirezI'm the author of this line but I can't see a good reason for it to
52604c7261fSantirezdon't be a typo, a step of 26 should be valid with 52 bits per
52704c7261fSantirezcoordinate, moreover the line was:
52804c7261fSantirez
52904c7261fSantirez    if (step > 26) step = 25;
53004c7261fSantirez
53104c7261fSantirezSo a step of 26 was actually already used, except when one of 27 was
53204c7261fSantirezcomputed (which is invalid) only then it was trimmed to 25 instead of
53304c7261fSantirez26.
53404c7261fSantirez
53504c7261fSantirezAll tests passing after the change.
53604c7261fSantirez
53704c7261fSantirez deps/geohash-int/geohash_helper.c | 2 +-
53804c7261fSantirez 1 file changed, 1 insertion(+), 1 deletion(-)
53904c7261fSantirez
54004c7261fSantirez+-------------------------------------------------------------------------------
54104c7261fSantirez| Avoid undefined behavior in BITFIELD implementation.
54204c7261fSantirez| By antirez, 2016-05-31 11:52:07 +0200
54304c7261fSantirez+--------------------------------------------------------------------------------
54404c7261fSantirezhttps://github.com/antirez/redis/commit/014bf8044285c6d401d83e6e24829d276ab837f9
54504c7261fSantirez
54604c7261fSantirezProbably there is no compiler that will actaully break the code or raise
54704c7261fSantireza signal for unsigned -> signed overflowing conversion, still it was
54804c7261fSantirezapparently possible to write it in a more correct way.
54904c7261fSantirez
55004c7261fSantirezAll tests passing.
55104c7261fSantirez
55204c7261fSantirez src/bitops.c | 23 +++++++++++++++--------
55304c7261fSantirez 1 file changed, 15 insertions(+), 8 deletions(-)
55404c7261fSantirez
55504c7261fSantirez+-------------------------------------------------------------------------------
55604c7261fSantirez| Now that SPOP can be called by scripts use BLPOP on 's' flag test.
55704c7261fSantirez| By antirez, 2016-05-31 16:43:21 +0200
55804c7261fSantirez+--------------------------------------------------------------------------------
55904c7261fSantirezhttps://github.com/antirez/redis/commit/b4e5e2ec1ad7e9d1f4e7e559b61e0ecd4e50f2da
56004c7261fSantirez
56104c7261fSantirez
56204c7261fSantirez tests/unit/scripting.tcl | 2 +-
56304c7261fSantirez 1 file changed, 1 insertion(+), 1 deletion(-)
56404c7261fSantirez
56504c7261fSantirez+-------------------------------------------------------------------------------
56604c7261fSantirez| Test: run GEO tests by default.
56704c7261fSantirez| By antirez, 2016-05-31 16:43:49 +0200
56804c7261fSantirez+--------------------------------------------------------------------------------
56904c7261fSantirezhttps://github.com/antirez/redis/commit/df419281a19e13429b27814a3e384f6f029c3519
57004c7261fSantirez
57104c7261fSantirezThanks to @oranagra for noticing it was missing.
57204c7261fSantirez
57304c7261fSantirez tests/test_helper.tcl | 1 +
57404c7261fSantirez 1 file changed, 1 insertion(+)
57504c7261fSantirez
57604c7261fSantirez+-------------------------------------------------------------------------------
57704c7261fSantirez| Enable tcp-keepalive by default.
57804c7261fSantirez| By antirez, 2016-06-13 12:03:14 +0200
57904c7261fSantirez+--------------------------------------------------------------------------------
58004c7261fSantirezhttps://github.com/antirez/redis/commit/40cfe13141c7178d22fd43e4ffbecc37686e0b43
58104c7261fSantirez
58204c7261fSantirez
58304c7261fSantirez redis.conf | 5 +++--
58404c7261fSantirez 1 file changed, 3 insertions(+), 2 deletions(-)
58504c7261fSantirez
58604c7261fSantirez+-------------------------------------------------------------------------------
58704c7261fSantirez| fix some compiler warnings
58804c7261fSantirez| By Pierre Chapuis, 2016-06-05 15:34:43 +0200
58904c7261fSantirez+--------------------------------------------------------------------------------
59004c7261fSantirezhttps://github.com/antirez/redis/commit/a650aaaf4f074ec428b450ef88799db1dcd34b0f
59104c7261fSantirez
59204c7261fSantirez
59304c7261fSantirez src/bitops.c | 4 ++--
59404c7261fSantirez 1 file changed, 2 insertions(+), 2 deletions(-)
59504c7261fSantirez
59604c7261fSantirez+-------------------------------------------------------------------------------
59704c7261fSantirez| Fixed typo in Sentinel compareSlavesForPromotion() comment.
59804c7261fSantirez| By antirez, 2016-06-10 09:15:01 +0200
59904c7261fSantirez+--------------------------------------------------------------------------------
60004c7261fSantirezhttps://github.com/antirez/redis/commit/3fd4baf1e77f125a306d57b788b72de5026c0564
60104c7261fSantirez
60204c7261fSantirez
60304c7261fSantirez src/sentinel.c | 2 +-
60404c7261fSantirez 1 file changed, 1 insertion(+), 1 deletion(-)
60504c7261fSantirez
60604c7261fSantirez+-------------------------------------------------------------------------------
60704c7261fSantirez| fix comment "b>a" to "a > b"
60804c7261fSantirez| By andyli, 2016-06-07 14:42:50 +0800
60904c7261fSantirez+--------------------------------------------------------------------------------
61004c7261fSantirezhttps://github.com/antirez/redis/commit/8d029a5950f4ef40723c02b5c486b171aff0189c
61104c7261fSantirez
61204c7261fSantirez
61304c7261fSantirez src/sentinel.c | 2 +-
61404c7261fSantirez 1 file changed, 1 insertion(+), 1 deletion(-)
61504c7261fSantirez
61604c7261fSantirez+-------------------------------------------------------------------------------
61704c7261fSantirez| fix pidfile in redis.conf
61804c7261fSantirez| By bogdanvlviv, 2016-04-19 14:43:06 +0300
61904c7261fSantirez+--------------------------------------------------------------------------------
62004c7261fSantirezhttps://github.com/antirez/redis/commit/6937f5960d1803ca0eda1ab6f4bc60023f50c914
62104c7261fSantirez
62204c7261fSantirez
62304c7261fSantirez redis.conf | 2 +-
62404c7261fSantirez 1 file changed, 1 insertion(+), 1 deletion(-)
62504c7261fSantirez
62604c7261fSantirez+-------------------------------------------------------------------------------
62704c7261fSantirez| Include 'fd_set' type name
62804c7261fSantirez| By jspraul, 2016-06-07 16:46:00 -0400
62904c7261fSantirez+--------------------------------------------------------------------------------
63004c7261fSantirezhttps://github.com/antirez/redis/commit/b5758cc5ce6c51ff75c86f9216214fe4d5e4c257
63104c7261fSantirez
63204c7261fSantirezFix an MSYS2-build-breaking error: unknown type name ‘fd_set’
63304c7261fSantirez src/ae_select.c | 1 +
63404c7261fSantirez 1 file changed, 1 insertion(+)
63504c7261fSantirez
63604c7261fSantirez+-------------------------------------------------------------------------------
63704c7261fSantirez| Allow SPOP from Lua scripts
63804c7261fSantirez| By Itamar Haber, 2016-05-28 20:01:46 +0300
63904c7261fSantirez+--------------------------------------------------------------------------------
64004c7261fSantirezhttps://github.com/antirez/redis/commit/620783e3b582e9ba6e1d8fbd47987281ce0b6317
64104c7261fSantirez
64204c7261fSantirezThe existing `R` flag appears to be sufficient and there's no apparent reason why the command should be blocked.
64304c7261fSantirez src/server.c | 2 +-
64404c7261fSantirez 1 file changed, 1 insertion(+), 1 deletion(-)
64504c7261fSantirez
64604c7261fSantirez+-------------------------------------------------------------------------------
64704c7261fSantirez| minor fixes - mainly signalModifiedKey, and GEORADIUS
64804c7261fSantirez| By oranagra, 2016-05-09 09:12:38 +0300
64904c7261fSantirez+--------------------------------------------------------------------------------
65004c7261fSantirezhttps://github.com/antirez/redis/commit/603234076f4e59967f331bc97de3c0db9947c8ef
65104c7261fSantirez
65204c7261fSantirez
65304c7261fSantirez src/geo.c    |  1 +
65404c7261fSantirez src/sds.c    |  8 ++++----
65504c7261fSantirez src/server.c |  2 +-
65604c7261fSantirez src/server.h |  3 +--
65704c7261fSantirez src/t_set.c  |  9 ++++++---
65804c7261fSantirez src/t_zset.c | 12 ++++++------
65904c7261fSantirez 6 files changed, 19 insertions(+), 16 deletions(-)
66004c7261fSantirez
66104c7261fSantirez+-------------------------------------------------------------------------------
66204c7261fSantirez| Code to access object string bytes repeated 3x refactored into 1 function.
66304c7261fSantirez| By antirez, 2016-05-18 15:35:17 +0200
66404c7261fSantirez+--------------------------------------------------------------------------------
66504c7261fSantirezhttps://github.com/antirez/redis/commit/2e6b99499abb5ff1fbeee3bac4d064e5ff4ea256
66604c7261fSantirez
66704c7261fSantirez
66804c7261fSantirez src/bitops.c | 74 ++++++++++++++++++++++++++++++++----------------------------
66904c7261fSantirez 1 file changed, 39 insertions(+), 35 deletions(-)
67004c7261fSantirez
67104c7261fSantirez+-------------------------------------------------------------------------------
67204c7261fSantirez| fix crash in BITFIELD GET when key is integer encoded
67304c7261fSantirez| By oranagra, 2016-05-10 11:19:45 +0300
67404c7261fSantirez+--------------------------------------------------------------------------------
67504c7261fSantirezhttps://github.com/antirez/redis/commit/dcaeafc8280eb8329e7ce68e7ab02c67d98f0cf4
67604c7261fSantirez
67704c7261fSantirez
67804c7261fSantirez src/bitops.c | 18 +++++++++++++++---
67904c7261fSantirez 1 file changed, 15 insertions(+), 3 deletions(-)
68004c7261fSantirez
68104c7261fSantirez+-------------------------------------------------------------------------------
68204c7261fSantirez| Clarify that the LOG_STR_SIZE includes null term.
68304c7261fSantirez| By antirez, 2016-05-18 15:23:18 +0200
68404c7261fSantirez+--------------------------------------------------------------------------------
68504c7261fSantirezhttps://github.com/antirez/redis/commit/4ad088818a3353ebd619e8d43847b5d58108af20
68604c7261fSantirez
68704c7261fSantirez
68804c7261fSantirez src/server.h | 2 +-
68904c7261fSantirez 1 file changed, 1 insertion(+), 1 deletion(-)
69004c7261fSantirez
69104c7261fSantirez+-------------------------------------------------------------------------------
69204c7261fSantirez| Test for BITFIELD regression #3221.
69304c7261fSantirez| By antirez, 2016-05-18 14:53:30 +0200
69404c7261fSantirez+--------------------------------------------------------------------------------
69504c7261fSantirezhttps://github.com/antirez/redis/commit/f991cdc3e19c187035855355808575efd6b4c149
69604c7261fSantirez
69704c7261fSantirez
69804c7261fSantirez tests/unit/bitfield.tcl | 5 +++++
69904c7261fSantirez 1 file changed, 5 insertions(+)
70004c7261fSantirez
70104c7261fSantirez+-------------------------------------------------------------------------------
70204c7261fSantirez| reduce struct padding by reordering members
70304c7261fSantirez| By oranagra, 2016-05-16 20:12:11 +0300
70404c7261fSantirez+--------------------------------------------------------------------------------
70504c7261fSantirezhttps://github.com/antirez/redis/commit/cb3e89e2cb0753d2d111eaeadc9c73cbe24025ab
70604c7261fSantirez
70704c7261fSantirez
70804c7261fSantirez src/quicklist.h | 2 +-
70904c7261fSantirez 1 file changed, 1 insertion(+), 1 deletion(-)
71004c7261fSantirez
71104c7261fSantirez+-------------------------------------------------------------------------------
71204c7261fSantirez| Actually use --with-lg-quantum=3 to build jemalloc.
71304c7261fSantirez| By antirez, 2016-05-18 11:58:36 +0200
71404c7261fSantirez+--------------------------------------------------------------------------------
71504c7261fSantirezhttps://github.com/antirez/redis/commit/a7f0fb448c110e125eece44dc955d6939e494daa
71604c7261fSantirez
71704c7261fSantirezThis change is documented in deps/README.md but was lost in one way or
71804c7261fSantirezthe other, neutralizing the benefits of 24 bytes size classes (and
71904c7261fSantirezothers).
72004c7261fSantirez
72104c7261fSantirezClose #3208.
72204c7261fSantirez
72304c7261fSantirez deps/Makefile | 2 +-
72404c7261fSantirez 1 file changed, 1 insertion(+), 1 deletion(-)
72504c7261fSantirez
72604c7261fSantirez+-------------------------------------------------------------------------------
72704c7261fSantirez| redis-cli: integrate help.h with COMMAND output.
72804c7261fSantirez| By antirez, 2016-05-07 13:03:25 +0200
72904c7261fSantirez+--------------------------------------------------------------------------------
73004c7261fSantirezhttps://github.com/antirez/redis/commit/029dc0d97fd492a2fd579796d4c1cc04053c7190
73104c7261fSantirez
73204c7261fSantirezUse the COMMAND output to fill with partial information the built-in
73304c7261fSantirezhelp. This makes redis-cli able to at least complete commands that are
73404c7261fSantirezexported by the Redis server it is connected to, but were not available
73504c7261fSantirezin the help.h file when the redis-cli binary was compiled.
73604c7261fSantirez
73704c7261fSantirez src/redis-cli.c | 80 +++++++++++++++++++++++++++++++++++++++++++++++++--------
73804c7261fSantirez 1 file changed, 70 insertions(+), 10 deletions(-)
73904c7261fSantirez
74004c7261fSantirez+-------------------------------------------------------------------------------
74104c7261fSantirez| Removed dofile() from Lua
74204c7261fSantirez| By Adam Baldwin, 2012-10-25 20:27:10 -0700
74304c7261fSantirez+--------------------------------------------------------------------------------
74404c7261fSantirezhttps://github.com/antirez/redis/commit/95def3aee044468504bb07633084afd49b085db3
74504c7261fSantirez
74604c7261fSantirez
74704c7261fSantirez src/scripting.c | 2 ++
74804c7261fSantirez 1 file changed, 2 insertions(+)
74904c7261fSantirez
75004c7261fSantirez
7517ca8fbabSantirez================================================================================
7527ca8fbabSantirezRedis 3.2.0     Released Fri May 06 08:47:10 CEST 2016
7537ca8fbabSantirez================================================================================
7547ca8fbabSantirez
7557ca8fbabSantirezUpgrade urgency HIGH: 3.2-RC users should upgrade ASAP to this more
7567ca8fbabSantirez                      stable release of Redis.
7577ca8fbabSantirez
7587ca8fbabSantirezHello, this is Redis 3.2.0 stable! And with the new release there is a new
7597ca8fbabSantirezformat for the changelog. Now it is composed of a "letter" like the one
7607ca8fbabSantirezyou are reading, followed by all the commits composing the release for people
7617ca8fbabSantirezinterested in the details.
7627ca8fbabSantirez
7637ca8fbabSantirezThere are a few changes between the latest release candidate of Redis 3.2
7647ca8fbabSantirezand the final 3.2.0 release. The main ones are the obvious bug fixes you
7657ca8fbabSantirezcan find detailed below, also a few new things:
7667ca8fbabSantirez
7677ca8fbabSantirezCritical bugs fixed:
7687ca8fbabSantirez
7697ca8fbabSantirez* There was a problem in the way a cluster instance loaded the AOF that
7707ca8fbabSantirez  could cause data written via scripts to be lost during reshardings.
7717ca8fbabSantirez
7727ca8fbabSantirezNew things:
7737ca8fbabSantirez
7747ca8fbabSantirez* There is a new very powerful BITFIELD command. Check the documentation
7757ca8fbabSantirez  here: http://redis.io/commands/BITFIELD
7767ca8fbabSantirez
7777ca8fbabSantirez* CONFIG GET is allowed during the loading of the dataset.
7787ca8fbabSantirez
7797ca8fbabSantirez* The DEBUG command have new features and can show an help with DEBUG HELP.
7807ca8fbabSantirez
7817ca8fbabSantirez* redis-cli show hits about the commands arguments to the right.
7827ca8fbabSantirez
7837ca8fbabSantirez* GEORADIUS got a STORE / STOREDIST option to store the result into a target
7847ca8fbabSantirez  key (as as orted set) instead of reporting it to the user.
7857ca8fbabSantirez
7867ca8fbabSantirez* Redis Cluster replicas migration now works in a slightly different way. In
7877ca8fbabSantirez  the past a slave could migrate only to a master that used to have slaves
7887ca8fbabSantirez  in the past (and if there was still trace of this information). Now instead
7897ca8fbabSantirez  if a new slave gets at least a slot, and at least one other master in the
7907ca8fbabSantirez  cluster has a slave, then the new master is considered a valid target for
7917ca8fbabSantirez  replica migration. So if it will be orphaned and there is a spare slave
7927ca8fbabSantirez  it will get one.
7937ca8fbabSantirez
7947ca8fbabSantirez* CLUSTER SLOTS output now includes the node ID (in a backward compatible
7957ca8fbabSantirez  manner).
7967ca8fbabSantirez
7977ca8fbabSantirez* A lot of bug fixes you can read in the commits details below, with the
7987ca8fbabSantirez  authors that kindly provided many useful patches. Thanks.
7997ca8fbabSantirez
8007ca8fbabSantirezAs usually what "stable" means is that we are confident the release is mature,
8017ca8fbabSantirezhowever do your tests before putting it into production in your environemnt
8027ca8fbabSantirezas it's fresh meat anyway.
8037ca8fbabSantirez
8047ca8fbabSantirezCheers,
8057ca8fbabSantirezSalvatore
8067ca8fbabSantirez
8077ca8fbabSantirez+-------------------------------------------------------------------------------
8087ca8fbabSantirez| Cluster: don't check scripts key slots during AOF loading.
8097ca8fbabSantirez| By antirez, 2016-05-05 23:37:08 +0200
8107ca8fbabSantirez+--------------------------------------------------------------------------------
8117ca8fbabSantirezhttps://github.com/antirez/redis/commit/746e1bebb4baf876c1e8cd2fe2d468a1c41e5dc3
8127ca8fbabSantirez
8137ca8fbabSantirez
8147ca8fbabSantirez src/scripting.c | 6 ++++--
8157ca8fbabSantirez 1 file changed, 4 insertions(+), 2 deletions(-)
8167ca8fbabSantirez
8177ca8fbabSantirez+-------------------------------------------------------------------------------
8187ca8fbabSantirez| redis-cli: remove debugging message.
8197ca8fbabSantirez| By antirez, 2016-05-05 18:05:37 +0200
8207ca8fbabSantirez+--------------------------------------------------------------------------------
8217ca8fbabSantirezhttps://github.com/antirez/redis/commit/3907b059280898c6340b53982b3b65957535da7c
8227ca8fbabSantirez
8237ca8fbabSantirez
8247ca8fbabSantirez src/redis-cli.c | 1 -
8257ca8fbabSantirez 1 file changed, 1 deletion(-)
8267ca8fbabSantirez
8277ca8fbabSantirez+-------------------------------------------------------------------------------
8287ca8fbabSantirez| Revert "Fix commandCommand arity"
8297ca8fbabSantirez| By antirez, 2016-05-05 17:35:33 +0200
8307ca8fbabSantirez+--------------------------------------------------------------------------------
8317ca8fbabSantirezhttps://github.com/antirez/redis/commit/f01a2714582a9a916b41e6cb90e42474a104925d
8327ca8fbabSantirez
8337ca8fbabSantirezThis reverts commit 1189a4eae6d009fc0da8d50fd542ba1391542165.
8347ca8fbabSantirez
8357ca8fbabSantirezActually this is wrong, the command can be called without args at all.
8367ca8fbabSantirez
8377ca8fbabSantirez src/server.c | 2 +-
8387ca8fbabSantirez 1 file changed, 1 insertion(+), 1 deletion(-)
8397ca8fbabSantirez
8407ca8fbabSantirez+-------------------------------------------------------------------------------
8417ca8fbabSantirez| Fix commandCommand arity
8427ca8fbabSantirez| By Ruben Bridgewater, 2016-01-04 11:39:45 +0100
8437ca8fbabSantirez+--------------------------------------------------------------------------------
8447ca8fbabSantirezhttps://github.com/antirez/redis/commit/1189a4eae6d009fc0da8d50fd542ba1391542165
8457ca8fbabSantirez
8467ca8fbabSantirez
8477ca8fbabSantirez src/server.c | 2 +-
8487ca8fbabSantirez 1 file changed, 1 insertion(+), 1 deletion(-)
8497ca8fbabSantirez
8507ca8fbabSantirez+-------------------------------------------------------------------------------
8517ca8fbabSantirez| 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.
8527ca8fbabSantirez| By Daniel Shih, 2016-01-12 17:06:47 +0800
8537ca8fbabSantirez+--------------------------------------------------------------------------------
8547ca8fbabSantirezhttps://github.com/antirez/redis/commit/d9dc0d777b775f2fe4f23f42e1b4130f4de1ed72
8557ca8fbabSantirez
8567ca8fbabSantirez
8577ca8fbabSantirez src/sentinel.c | 2 ++
8587ca8fbabSantirez 1 file changed, 2 insertions(+)
8597ca8fbabSantirez
8607ca8fbabSantirez+-------------------------------------------------------------------------------
8617ca8fbabSantirez| Fix nanosecond conversion
8627ca8fbabSantirez| By Jan-Erik Rediger, 2016-01-13 10:22:29 -0700
8637ca8fbabSantirez+--------------------------------------------------------------------------------
8647ca8fbabSantirezhttps://github.com/antirez/redis/commit/13bd702844eda7bccc7c672b6ff77f53e21ab841
8657ca8fbabSantirez
8667ca8fbabSantirez1 microsecond = 1000 nanoseconds
8677ca8fbabSantirez1e3 = 1000
8687ca8fbabSantirez10e3 = 10000
8697ca8fbabSantirez
8707ca8fbabSantirez src/redis-cli.c | 2 +-
8717ca8fbabSantirez 1 file changed, 1 insertion(+), 1 deletion(-)
8727ca8fbabSantirez
8737ca8fbabSantirez+-------------------------------------------------------------------------------
8747ca8fbabSantirez| redis-cli: don't free historyfile, is used later.
8757ca8fbabSantirez| By antirez, 2016-05-05 13:57:57 +0200
8767ca8fbabSantirez+--------------------------------------------------------------------------------
8777ca8fbabSantirezhttps://github.com/antirez/redis/commit/f6b7df3aec1d8fddf3121c4315fea4bf45cc4cfe
8787ca8fbabSantirez
8797ca8fbabSantirez
8807ca8fbabSantirez src/redis-cli.c | 2 +-
8817ca8fbabSantirez 1 file changed, 1 insertion(+), 1 deletion(-)
8827ca8fbabSantirez
8837ca8fbabSantirez+-------------------------------------------------------------------------------
8847ca8fbabSantirez| Cluster test 12: reshard back just a few slots to speedup the test.
8857ca8fbabSantirez| By antirez, 2016-05-05 11:49:27 +0200
8867ca8fbabSantirez+--------------------------------------------------------------------------------
8877ca8fbabSantirezhttps://github.com/antirez/redis/commit/97ce72fa2d348f914fc40ccf0a32008c7362b817
8887ca8fbabSantirez
8897ca8fbabSantirez
8907ca8fbabSantirez tests/cluster/tests/12-replica-migration-2.tcl | 14 +++++++-------
8917ca8fbabSantirez 1 file changed, 7 insertions(+), 7 deletions(-)
8927ca8fbabSantirez
8937ca8fbabSantirez+-------------------------------------------------------------------------------
8947ca8fbabSantirez| Cluster: make getNodeByQuery() responsible of -CLUSTERDOWN errors.
8957ca8fbabSantirez| By antirez, 2016-05-05 11:33:43 +0200
8967ca8fbabSantirez+--------------------------------------------------------------------------------
8977ca8fbabSantirezhttps://github.com/antirez/redis/commit/708f486c77b455fa7ae1e87cf31278474eb9d432
8987ca8fbabSantirez
8997ca8fbabSantirezThis fixes a bug introduced by d827dbf, and makes the code consistent
9007ca8fbabSantirezwith the logic of always allowing, while the cluster is down, commands
9017ca8fbabSantirezthat don't target any key.
9027ca8fbabSantirez
9037ca8fbabSantirezAs a side effect the code is also simpler now.
9047ca8fbabSantirez
9057ca8fbabSantirez src/cluster.c | 13 +++++++++++--
9067ca8fbabSantirez src/server.c  | 26 ++++++++++----------------
9077ca8fbabSantirez 2 files changed, 21 insertions(+), 18 deletions(-)
9087ca8fbabSantirez
9097ca8fbabSantirez+-------------------------------------------------------------------------------
9107ca8fbabSantirez| Fixes a typo
9117ca8fbabSantirez| By Itamar Haber, 2016-01-28 21:47:18 +0200
9127ca8fbabSantirez+--------------------------------------------------------------------------------
9137ca8fbabSantirezhttps://github.com/antirez/redis/commit/1fc2ed61bec2f2bf266b48e566a197c5214b4350
9147ca8fbabSantirez
9157ca8fbabSantirez
9167ca8fbabSantirez src/cluster.c | 2 +-
9177ca8fbabSantirez 1 file changed, 1 insertion(+), 1 deletion(-)
9187ca8fbabSantirez
9197ca8fbabSantirez+-------------------------------------------------------------------------------
9207ca8fbabSantirez| Reverse redirect address parse
9217ca8fbabSantirez| By David Cavar, 2016-02-09 15:04:42 +0100
9227ca8fbabSantirez+--------------------------------------------------------------------------------
9237ca8fbabSantirezhttps://github.com/antirez/redis/commit/787d5ab9be45bf4feb6cfa8a227c185c93aaadae
9247ca8fbabSantirez
9257ca8fbabSantirezFix issue in case the redirect address is in ipv6 format. Parse from behind to extract last part of the response which represents actual port.
9267ca8fbabSantirez src/redis-cli.c | 2 +-
9277ca8fbabSantirez 1 file changed, 1 insertion(+), 1 deletion(-)
9287ca8fbabSantirez
9297ca8fbabSantirez+-------------------------------------------------------------------------------
9307ca8fbabSantirez| Bind both IPv4 and IPv6 or exit with an error by default.
9317ca8fbabSantirez| By antirez, 2016-05-05 10:02:42 +0200
9327ca8fbabSantirez+--------------------------------------------------------------------------------
9337ca8fbabSantirezhttps://github.com/antirez/redis/commit/0fda06225f19b18a370d63ac650a8bb61020235d
9347ca8fbabSantirez
9357ca8fbabSantirezThanks to @tushar2708 for the PR. I applied a slightly different fix.
9367ca8fbabSantirezThanks to @cespare for reporting.
9377ca8fbabSantirez
9387ca8fbabSantirezClose #3024
9397ca8fbabSantirezClose #3020
9407ca8fbabSantirez
9417ca8fbabSantirez src/server.c | 18 ++++++++++--------
9427ca8fbabSantirez 1 file changed, 10 insertions(+), 8 deletions(-)
9437ca8fbabSantirez
9447ca8fbabSantirez+-------------------------------------------------------------------------------
9457ca8fbabSantirez| Quick fix to avoid false positive in replica migration test.
9467ca8fbabSantirez| By antirez, 2016-05-05 09:45:31 +0200
9477ca8fbabSantirez+--------------------------------------------------------------------------------
9487ca8fbabSantirezhttps://github.com/antirez/redis/commit/65707fa6b5bb38b5818af57ab93b9b1da47d708a
9497ca8fbabSantirez
9507ca8fbabSantirez
9517ca8fbabSantirez tests/cluster/tests/12-replica-migration-2.tcl | 5 ++++-
9527ca8fbabSantirez 1 file changed, 4 insertions(+), 1 deletion(-)
9537ca8fbabSantirez
9547ca8fbabSantirez+-------------------------------------------------------------------------------
9557ca8fbabSantirez| Ensure slots are rechecked on EXEC.
9567ca8fbabSantirez| By Chris Thunes, 2016-03-11 15:22:36 -0500
9577ca8fbabSantirez+--------------------------------------------------------------------------------
9587ca8fbabSantirezhttps://github.com/antirez/redis/commit/1f3ed652e2a6cfcbbd5300a31f5771f2ce842e98
9597ca8fbabSantirez
9607ca8fbabSantirezFixes #2515.
9617ca8fbabSantirez
9627ca8fbabSantirez src/server.c | 9 +++++++--
9637ca8fbabSantirez 1 file changed, 7 insertions(+), 2 deletions(-)
9647ca8fbabSantirez
9657ca8fbabSantirez+-------------------------------------------------------------------------------
9667ca8fbabSantirez| fix for #3187
9677ca8fbabSantirez| By therealbill, 2016-04-22 10:43:48 -0500
9687ca8fbabSantirez+--------------------------------------------------------------------------------
9697ca8fbabSantirezhttps://github.com/antirez/redis/commit/3a4810678904af013901a896ab0bb3c71856644c
9707ca8fbabSantirez
9717ca8fbabSantirezI've renamed maxmemoryToString to evictPolicyToString since that is
9727ca8fbabSantirezmore accurate (and easier to mentally connect with the correct data), as
9737ca8fbabSantirezwell as updated the function to user server.maxmemory_policy rather than
9747ca8fbabSantirezserver.maxmemory. Now with a default config it is actually returning
9757ca8fbabSantirezthe correct policy rather than volatile-lru.
9767ca8fbabSantirez
9777ca8fbabSantirez src/config.c | 4 ++--
9787ca8fbabSantirez src/server.c | 2 +-
9797ca8fbabSantirez src/server.h | 2 +-
9807ca8fbabSantirez 3 files changed, 4 insertions(+), 4 deletions(-)
9817ca8fbabSantirez
9827ca8fbabSantirez+-------------------------------------------------------------------------------
9837ca8fbabSantirez| Fixed typo in README.md
9847ca8fbabSantirez| By Seth Bergman, 2016-04-30 11:58:48 -0500
9857ca8fbabSantirez+--------------------------------------------------------------------------------
9867ca8fbabSantirezhttps://github.com/antirez/redis/commit/bba53d7fc7a759b53d72a7c3be17a00abe32039e
9877ca8fbabSantirez
9887ca8fbabSantirez
9897ca8fbabSantirez README.md | 2 +-
9907ca8fbabSantirez 1 file changed, 1 insertion(+), 1 deletion(-)
9917ca8fbabSantirez
9927ca8fbabSantirez+-------------------------------------------------------------------------------
9937ca8fbabSantirez| fix variable
9947ca8fbabSantirez| By Ryosuke Hasebe, 2016-03-30 23:09:36 +0900
9957ca8fbabSantirez+--------------------------------------------------------------------------------
9967ca8fbabSantirezhttps://github.com/antirez/redis/commit/ab7581489871eebcf0253915acc26efb27f5df23
9977ca8fbabSantirez
9987ca8fbabSantirez
9997ca8fbabSantirez src/redis-trib.rb | 10 +++++-----
10007ca8fbabSantirez 1 file changed, 5 insertions(+), 5 deletions(-)
10017ca8fbabSantirez
10027ca8fbabSantirez+-------------------------------------------------------------------------------
10037ca8fbabSantirez| fix check_open_slots
10047ca8fbabSantirez| By Ryosuke Hasebe, 2016-03-30 21:56:22 +0900
10057ca8fbabSantirez+--------------------------------------------------------------------------------
10067ca8fbabSantirezhttps://github.com/antirez/redis/commit/0fcf896ac14c6e5c57e3b79e836dd8bf7dad94b5
10077ca8fbabSantirez
10087ca8fbabSantirez
10097ca8fbabSantirez src/redis-trib.rb | 3 ++-
10107ca8fbabSantirez 1 file changed, 2 insertions(+), 1 deletion(-)
10117ca8fbabSantirez
10127ca8fbabSantirez+-------------------------------------------------------------------------------
10137ca8fbabSantirez| Minor redis-cli wording change in --help output.
10147ca8fbabSantirez| By antirez, 2016-05-04 22:34:17 +0200
10157ca8fbabSantirez+--------------------------------------------------------------------------------
10167ca8fbabSantirezhttps://github.com/antirez/redis/commit/b8a63635e39ce312b2c5664f2c2a59184849b8fb
10177ca8fbabSantirez
10187ca8fbabSantirez
10197ca8fbabSantirez src/redis-cli.c | 3 ++-
10207ca8fbabSantirez 1 file changed, 2 insertions(+), 1 deletion(-)
10217ca8fbabSantirez
10227ca8fbabSantirez+-------------------------------------------------------------------------------
10237ca8fbabSantirez| Allow CONFIG GET during loading.
10247ca8fbabSantirez| By antirez, 2016-05-04 15:45:38 +0200
10257ca8fbabSantirez+--------------------------------------------------------------------------------
10267ca8fbabSantirezhttps://github.com/antirez/redis/commit/ae95de93312d6bb2c8c365c31f2a3fd0b6d2c100
10277ca8fbabSantirez
10287ca8fbabSantirezThanks to @oranagra for the idea of allowing CONFIG GET during loading.
10297ca8fbabSantirez
10307ca8fbabSantirez src/config.c | 6 ++++++
10317ca8fbabSantirez src/server.c | 2 +-
10327ca8fbabSantirez 2 files changed, 7 insertions(+), 1 deletion(-)
10337ca8fbabSantirez
10347ca8fbabSantirez+-------------------------------------------------------------------------------
10357ca8fbabSantirez| Command "r" flag removed from commands not accessing the key space.
10367ca8fbabSantirez| By antirez, 2016-05-04 15:42:14 +0200
10377ca8fbabSantirez+--------------------------------------------------------------------------------
10387ca8fbabSantirezhttps://github.com/antirez/redis/commit/3ff8f57ef32e3b1ddd407b65d474f610881bef34
10397ca8fbabSantirez
10407ca8fbabSantirezThanks to @oranagra for the hint about misplaced 'r' flags.
10417ca8fbabSantirez
10427ca8fbabSantirez src/server.c | 70 ++++++++++++++++++++++++++++++------------------------------
10437ca8fbabSantirez 1 file changed, 35 insertions(+), 35 deletions(-)
10447ca8fbabSantirez
10457ca8fbabSantirez+-------------------------------------------------------------------------------
10467ca8fbabSantirez| DEBUG command self documentation.
10477ca8fbabSantirez| By antirez, 2016-05-04 12:45:55 +0200
10487ca8fbabSantirez+--------------------------------------------------------------------------------
10497ca8fbabSantirezhttps://github.com/antirez/redis/commit/07b852d24ec8d7cb47044b096baf0af1410c69ed
10507ca8fbabSantirez
10517ca8fbabSantirez
10527ca8fbabSantirez src/debug.c  | 49 ++++++++++++++++++++++++++++++++++++++++++++++++-
10537ca8fbabSantirez src/server.c |  2 +-
10547ca8fbabSantirez 2 files changed, 49 insertions(+), 2 deletions(-)
10557ca8fbabSantirez
10567ca8fbabSantirez+-------------------------------------------------------------------------------
10577ca8fbabSantirez| various cleanups and minor fixes
10587ca8fbabSantirez| By Oran Agra, 2016-04-25 16:49:57 +0300
10597ca8fbabSantirez+--------------------------------------------------------------------------------
10607ca8fbabSantirezhttps://github.com/antirez/redis/commit/cfc08b65b04cf972ebeadf3be9f39f2acd7672b3
10617ca8fbabSantirez
10627ca8fbabSantirez
10637ca8fbabSantirez src/adlist.c             | 18 ++++++------------
10647ca8fbabSantirez src/ae_epoll.c           |  6 ++----
10657ca8fbabSantirez src/aof.c                |  5 ++++-
10667ca8fbabSantirez src/db.c                 |  2 +-
10677ca8fbabSantirez src/rdb.c                |  6 ++++--
10687ca8fbabSantirez src/rio.c                |  5 +++--
10697ca8fbabSantirez src/rio.h                |  2 ++
10707ca8fbabSantirez src/server.h             |  3 +--
10717ca8fbabSantirez tests/support/test.tcl   |  6 ------
10727ca8fbabSantirez tests/unit/bitops.tcl    |  2 +-
10737ca8fbabSantirez tests/unit/other.tcl     |  1 +
10747ca8fbabSantirez tests/unit/scripting.tcl | 27 ++++++++++++++-------------
10757ca8fbabSantirez 12 files changed, 39 insertions(+), 44 deletions(-)
10767ca8fbabSantirez
10777ca8fbabSantirez+-------------------------------------------------------------------------------
10787ca8fbabSantirez| dict.c minor optimization
10797ca8fbabSantirez| By Oran Agra, 2016-04-25 16:48:25 +0300
10807ca8fbabSantirez+--------------------------------------------------------------------------------
10817ca8fbabSantirezhttps://github.com/antirez/redis/commit/6710c8dc15680b756de26d1d45df110987b951b3
10827ca8fbabSantirez
10837ca8fbabSantirez
10847ca8fbabSantirez src/dict.c | 8 ++++----
10857ca8fbabSantirez 1 file changed, 4 insertions(+), 4 deletions(-)
10867ca8fbabSantirez
10877ca8fbabSantirez+-------------------------------------------------------------------------------
10887ca8fbabSantirez| networking.c minor optimization
10897ca8fbabSantirez| By Oran Agra, 2016-04-25 16:48:09 +0300
10907ca8fbabSantirez+--------------------------------------------------------------------------------
10917ca8fbabSantirezhttps://github.com/antirez/redis/commit/be5c0869821b16f18104d9ea62ab42bfa0615816
10927ca8fbabSantirez
10937ca8fbabSantirez
10947ca8fbabSantirez src/networking.c | 11 +++++------
10957ca8fbabSantirez 1 file changed, 5 insertions(+), 6 deletions(-)
10967ca8fbabSantirez
10977ca8fbabSantirez+-------------------------------------------------------------------------------
10987ca8fbabSantirez| add DEBUG JEMALLC PURGE and JEMALLOC INFO cleanup
10997ca8fbabSantirez| By Oran Agra, 2016-04-25 16:47:42 +0300
11007ca8fbabSantirez+--------------------------------------------------------------------------------
11017ca8fbabSantirezhttps://github.com/antirez/redis/commit/3ede6c7a506bcff3c7d2147c8af140dd4102a36e
11027ca8fbabSantirez
11037ca8fbabSantirez
11047ca8fbabSantirez src/debug.c     | 17 ++++++++++++++++-
11057ca8fbabSantirez src/redis-cli.c |  2 +-
11067ca8fbabSantirez 2 files changed, 17 insertions(+), 2 deletions(-)
11077ca8fbabSantirez
11087ca8fbabSantirez+-------------------------------------------------------------------------------
11097ca8fbabSantirez| fix small issues in redis 3.2
11107ca8fbabSantirez| By Oran Agra, 2016-04-25 14:19:28 +0300
11117ca8fbabSantirez+--------------------------------------------------------------------------------
11127ca8fbabSantirezhttps://github.com/antirez/redis/commit/e2fab184efd01ffa0d510739f4d819a30b1d6787
11137ca8fbabSantirez
11147ca8fbabSantirez
11157ca8fbabSantirez src/config.c | 2 ++
11167ca8fbabSantirez src/rdb.c    | 2 +-
11177ca8fbabSantirez 2 files changed, 3 insertions(+), 1 deletion(-)
11187ca8fbabSantirez
11197ca8fbabSantirez+-------------------------------------------------------------------------------
11207ca8fbabSantirez| additional fix to issue #2948
11217ca8fbabSantirez| By Oran Agra, 2016-04-25 14:18:40 +0300
11227ca8fbabSantirez+--------------------------------------------------------------------------------
11237ca8fbabSantirezhttps://github.com/antirez/redis/commit/9d57ceec08687545c2a63a2c18c28e2bcaf74664
11247ca8fbabSantirez
11257ca8fbabSantirez
11267ca8fbabSantirez src/networking.c | 3 +++
11277ca8fbabSantirez 1 file changed, 3 insertions(+)
11287ca8fbabSantirez
11297ca8fbabSantirez+-------------------------------------------------------------------------------
11307ca8fbabSantirez| Reply with error on negative geo radius.
11317ca8fbabSantirez| By antirez, 2016-05-04 08:59:56 +0200
11327ca8fbabSantirez+--------------------------------------------------------------------------------
11337ca8fbabSantirezhttps://github.com/antirez/redis/commit/7ba2cf5f8bea9cd125e773de147e3ea9b19ee2b0
11347ca8fbabSantirez
11357ca8fbabSantirezThanks to @tidwall for reporting.
11367ca8fbabSantirezClose #3194.
11377ca8fbabSantirez
11387ca8fbabSantirez src/geo.c | 5 ++++-
11397ca8fbabSantirez 1 file changed, 4 insertions(+), 1 deletion(-)
11407ca8fbabSantirez
11417ca8fbabSantirez+-------------------------------------------------------------------------------
11427ca8fbabSantirez| Cluster regression test for #3043.
11437ca8fbabSantirez| By antirez, 2016-05-02 18:36:09 +0200
11447ca8fbabSantirez+--------------------------------------------------------------------------------
11457ca8fbabSantirezhttps://github.com/antirez/redis/commit/38cf2bd257d09b360be6adf450d59592a359696d
11467ca8fbabSantirez
11477ca8fbabSantirezThe test works but is very slow so far, since it involves resharding
11487ca8fbabSantirez1/5 of all the cluster slots from master 0 to the other 4 masters and
11497ca8fbabSantirezback into the original master.
11507ca8fbabSantirez
11517ca8fbabSantirez tests/cluster/tests/12-replica-migration-2.tcl | 61 ++++++++++++++++++++++++++
11527ca8fbabSantirez 1 file changed, 61 insertions(+)
11537ca8fbabSantirez
11547ca8fbabSantirez+-------------------------------------------------------------------------------
11557ca8fbabSantirez| New masters with slots are now targets of migration if others are.
11567ca8fbabSantirez| By antirez, 2016-05-02 16:41:56 +0200
11577ca8fbabSantirez+--------------------------------------------------------------------------------
11587ca8fbabSantirezhttps://github.com/antirez/redis/commit/7b618823c189c24313effbccda7022d167ea419c
11597ca8fbabSantirez
11607ca8fbabSantirezThis fixes issue #3043.
11617ca8fbabSantirez
11627ca8fbabSantirezBefore this fix, after a complete resharding of a master slots
11637ca8fbabSantirezto other nodes, the master remains empty and the slaves migrate away
11647ca8fbabSantirezto other masters with non-zero nodes. However the old master now empty,
11657ca8fbabSantirezis no longer considered a target for migration, because the system has
11667ca8fbabSantirezno way to tell it had slaves in the past.
11677ca8fbabSantirez
11687ca8fbabSantirezThis fix leaves the algorithm used in the past untouched, but adds a
11697ca8fbabSantireznew rule. When a new or old master which is empty and without slaves,
11707ca8fbabSantirezare assigend with their first slot, if other masters in the cluster have
11717ca8fbabSantirezslaves, they are automatically considered to be targets for replicas
11727ca8fbabSantirezmigration.
11737ca8fbabSantirez
11747ca8fbabSantirez src/cluster.c | 36 +++++++++++++++++++++++++++++++++++-
11757ca8fbabSantirez 1 file changed, 35 insertions(+), 1 deletion(-)
11767ca8fbabSantirez
11777ca8fbabSantirez+-------------------------------------------------------------------------------
11787ca8fbabSantirez| Test ZINCRBY return value.
11797ca8fbabSantirez| By antirez, 2016-05-02 08:57:30 +0200
11807ca8fbabSantirez+--------------------------------------------------------------------------------
11817ca8fbabSantirezhttps://github.com/antirez/redis/commit/1101b515c73dcb0ff4a868ba38a91dcebb5b85cc
11827ca8fbabSantirez
11837ca8fbabSantirez
11847ca8fbabSantirez tests/unit/type/zset.tcl | 6 ++++++
11857ca8fbabSantirez 1 file changed, 6 insertions(+)
11867ca8fbabSantirez
11877ca8fbabSantirez+-------------------------------------------------------------------------------
11887ca8fbabSantirez| redis-cli preferences and rc file support.
11897ca8fbabSantirez| By antirez, 2016-04-13 13:58:30 +0200
11907ca8fbabSantirez+--------------------------------------------------------------------------------
11917ca8fbabSantirezhttps://github.com/antirez/redis/commit/bbf93108ef2a7ac7bd53e26c96bf838f7c5e72df
11927ca8fbabSantirez
11937ca8fbabSantirez
11947ca8fbabSantirez src/redis-cli.c | 102 ++++++++++++++++++++++++++++++++++++++++++++++----------
11957ca8fbabSantirez 1 file changed, 85 insertions(+), 17 deletions(-)
11967ca8fbabSantirez
11977ca8fbabSantirez+-------------------------------------------------------------------------------
11987ca8fbabSantirez| redis-cli hints.
11997ca8fbabSantirez| By antirez, 2016-04-13 12:34:14 +0200
12007ca8fbabSantirez+--------------------------------------------------------------------------------
12017ca8fbabSantirezhttps://github.com/antirez/redis/commit/3fd3fca0dd38cb21c900e4ba98e3d41f333335aa
12027ca8fbabSantirez
12037ca8fbabSantirez
12047ca8fbabSantirez deps/linenoise/linenoise.c |  8 +++++++
12057ca8fbabSantirez deps/linenoise/linenoise.h |  2 +-
12067ca8fbabSantirez src/redis-cli.c            | 53 ++++++++++++++++++++++++++++++++++++++++++++++
12077ca8fbabSantirez 3 files changed, 62 insertions(+), 1 deletion(-)
12087ca8fbabSantirez
12097ca8fbabSantirez+-------------------------------------------------------------------------------
12107ca8fbabSantirez| Linenoise updated again (hints support).
12117ca8fbabSantirez| By antirez, 2016-04-12 23:39:18 +0200
12127ca8fbabSantirez+--------------------------------------------------------------------------------
12137ca8fbabSantirezhttps://github.com/antirez/redis/commit/34354473ffe8d60b80acdbc8c16b194f8bbd70a0
12147ca8fbabSantirez
12157ca8fbabSantirez
12167ca8fbabSantirez deps/linenoise/README.markdown | 176 ++++++++++++++++++++++++++++++++++++++++-
12177ca8fbabSantirez deps/linenoise/example.c       |  10 +++
12187ca8fbabSantirez deps/linenoise/linenoise.c     |  55 ++++++++++++-
12197ca8fbabSantirez deps/linenoise/linenoise.h     |  15 +++-
12207ca8fbabSantirez 4 files changed, 248 insertions(+), 8 deletions(-)
12217ca8fbabSantirez
12227ca8fbabSantirez+-------------------------------------------------------------------------------
12237ca8fbabSantirez| Linenoise updated.
12247ca8fbabSantirez| By antirez, 2016-04-06 13:37:27 +0200
12257ca8fbabSantirez+--------------------------------------------------------------------------------
12267ca8fbabSantirezhttps://github.com/antirez/redis/commit/58229cd766fa02f399267310b5b488aac2c55a6a
12277ca8fbabSantirez
12287ca8fbabSantirezAs a side effect, cat commands.txt | redis-cli now is able to handle
12297ca8fbabSantirezlines more than 4096 bytes.
12307ca8fbabSantirez
12317ca8fbabSantirez deps/linenoise/linenoise.c | 60 ++++++++++++++++++++++++++++++++++------------
12327ca8fbabSantirez 1 file changed, 45 insertions(+), 15 deletions(-)
12337ca8fbabSantirez
12347ca8fbabSantirez+-------------------------------------------------------------------------------
12357ca8fbabSantirez| ae.c: Fix delay until next timer event.
12367ca8fbabSantirez| By antirez, 2016-04-04 14:08:16 +0200
12377ca8fbabSantirez+--------------------------------------------------------------------------------
12387ca8fbabSantirezhttps://github.com/antirez/redis/commit/29645f1f44926ac2662ed768fe1e369775a30b66
12397ca8fbabSantirez
12407ca8fbabSantirezThis fix was written by Anthony LaTorre.
12417ca8fbabSantirezThe old code mis-calculated the amount of time to wait till next event.
12427ca8fbabSantirez
12437ca8fbabSantirez src/ae.c | 21 ++++++++++++---------
12447ca8fbabSantirez 1 file changed, 12 insertions(+), 9 deletions(-)
12457ca8fbabSantirez
12467ca8fbabSantirez+-------------------------------------------------------------------------------
12477ca8fbabSantirez| ae.c: comment to explain why we have a useless maxId check.
12487ca8fbabSantirez| By antirez, 2016-04-04 12:23:10 +0200
12497ca8fbabSantirez+--------------------------------------------------------------------------------
12507ca8fbabSantirezhttps://github.com/antirez/redis/commit/aa79c1f1c1d288e4cc2c0f4689ad01488678bf9d
12517ca8fbabSantirez
12527ca8fbabSantirez
12537ca8fbabSantirez src/ae.c | 6 +++++-
12547ca8fbabSantirez 1 file changed, 5 insertions(+), 1 deletion(-)
12557ca8fbabSantirez
12567ca8fbabSantirez+-------------------------------------------------------------------------------
12577ca8fbabSantirez| Fix ae.c to avoid timers infinite loop.
12587ca8fbabSantirez| By antirez, 2016-01-08 15:05:14 +0100
12597ca8fbabSantirez+--------------------------------------------------------------------------------
12607ca8fbabSantirezhttps://github.com/antirez/redis/commit/0b69c9865619b54b75576e67aaafe7b018734bec
12617ca8fbabSantirez
12627ca8fbabSantirezThis fix was suggested by Anthony LaTorre, that provided also a good
12637ca8fbabSantireztest case that was used to verify the fix.
12647ca8fbabSantirez
12657ca8fbabSantirezThe problem with the old implementation is that, the time returned by
12667ca8fbabSantireza timer event (that is the time after it want to run again) is added
12677ca8fbabSantirezto the event *start time*. So if the event takes, in order to run, more
12687ca8fbabSantirezthan the time it says it want to be scheduled again for running, an
12697ca8fbabSantirezinfinite loop is triggered.
12707ca8fbabSantirez
12717ca8fbabSantirez src/ae.c          | 51 ++++++++++++++++++++++-----------------------------
12727ca8fbabSantirez src/ae.h          |  3 +++
12737ca8fbabSantirez src/anet.h        |  2 ++
12747ca8fbabSantirez src/redis-trib.rb |  2 +-
12757ca8fbabSantirez 4 files changed, 28 insertions(+), 30 deletions(-)
12767ca8fbabSantirez
12777ca8fbabSantirez+-------------------------------------------------------------------------------
12787ca8fbabSantirez| BITFIELD: overflow wrap behavior fuzz tester.
12797ca8fbabSantirez| By antirez, 2016-03-02 17:22:42 +0100
12807ca8fbabSantirez+--------------------------------------------------------------------------------
12817ca8fbabSantirezhttps://github.com/antirez/redis/commit/258857cd62e0eb70da32742651a55213fbc28a53
12827ca8fbabSantirez
12837ca8fbabSantirez
12847ca8fbabSantirez tests/unit/bitfield.tcl | 51 +++++++++++++++++++++++++++++++++++++++++++++++++
12857ca8fbabSantirez 1 file changed, 51 insertions(+)
12867ca8fbabSantirez
12877ca8fbabSantirez+-------------------------------------------------------------------------------
12887ca8fbabSantirez| BITFIELD basic unit tests.
12897ca8fbabSantirez| By antirez, 2016-03-02 16:31:02 +0100
12907ca8fbabSantirez+--------------------------------------------------------------------------------
12917ca8fbabSantirezhttps://github.com/antirez/redis/commit/35d05d6dc5d7fb810e732f9de7b05c6b14933fb6
12927ca8fbabSantirez
12937ca8fbabSantirez
12947ca8fbabSantirez tests/unit/bitfield.tcl | 86 ++++++++++++++++++++++++++++++++++++++++++++++++-
12957ca8fbabSantirez 1 file changed, 85 insertions(+), 1 deletion(-)
12967ca8fbabSantirez
12977ca8fbabSantirez+-------------------------------------------------------------------------------
12987ca8fbabSantirez| BITFIELD: Farest bit set is offset+bits-1. Off by one error fixed.
12997ca8fbabSantirez| By antirez, 2016-03-02 16:20:28 +0100
13007ca8fbabSantirez+--------------------------------------------------------------------------------
13017ca8fbabSantirezhttps://github.com/antirez/redis/commit/6cf83feffad7f7b7693a207a9d63278354769ece
13027ca8fbabSantirez
13037ca8fbabSantirez
13047ca8fbabSantirez src/bitops.c | 6 ++++--
13057ca8fbabSantirez 1 file changed, 4 insertions(+), 2 deletions(-)
13067ca8fbabSantirez
13077ca8fbabSantirez+-------------------------------------------------------------------------------
13087ca8fbabSantirez| BITFIELD: overflow fuzzy testing.
13097ca8fbabSantirez| By antirez, 2016-03-02 15:15:18 +0100
13107ca8fbabSantirez+--------------------------------------------------------------------------------
13117ca8fbabSantirezhttps://github.com/antirez/redis/commit/b4d65c9501be01531eb8fbeb4ba2b444e35d6494
13127ca8fbabSantirez
13137ca8fbabSantirez
13147ca8fbabSantirez tests/test_helper.tcl   |  1 +
13157ca8fbabSantirez tests/unit/bitfield.tcl | 52 +++++++++++++++++++++++++++++++++++++++++++++++++
13167ca8fbabSantirez 2 files changed, 53 insertions(+)
13177ca8fbabSantirez
13187ca8fbabSantirez+-------------------------------------------------------------------------------
13197ca8fbabSantirez| Fix typo in bitops.tcl comment.
13207ca8fbabSantirez| By antirez, 2016-03-02 15:14:53 +0100
13217ca8fbabSantirez+--------------------------------------------------------------------------------
13227ca8fbabSantirezhttps://github.com/antirez/redis/commit/d75e0fdbe6ecf3074b18c4dd1e8b71a474254ccc
13237ca8fbabSantirez
13247ca8fbabSantirez
13257ca8fbabSantirez tests/unit/bitops.tcl | 2 +-
13267ca8fbabSantirez 1 file changed, 1 insertion(+), 1 deletion(-)
13277ca8fbabSantirez
13287ca8fbabSantirez+-------------------------------------------------------------------------------
13297ca8fbabSantirez| More BITFIELD fixes. Overflow conditional simplified.
13307ca8fbabSantirez| By antirez, 2016-03-02 15:13:45 +0100
13317ca8fbabSantirez+--------------------------------------------------------------------------------
13327ca8fbabSantirezhttps://github.com/antirez/redis/commit/5f3ef73ed41be6e051daad9fdb7efa91b4ca682d
13337ca8fbabSantirez
13347ca8fbabSantirezSee issue #3114.
13357ca8fbabSantirez
13367ca8fbabSantirez src/bitops.c | 17 ++++++++---------
13377ca8fbabSantirez 1 file changed, 8 insertions(+), 9 deletions(-)
13387ca8fbabSantirez
13397ca8fbabSantirez+-------------------------------------------------------------------------------
13407ca8fbabSantirez| bitops/bitfield: fix length, overflow condition and *sign
13417ca8fbabSantirez| By Sun He, 2016-03-02 18:11:30 +0800
13427ca8fbabSantirez+--------------------------------------------------------------------------------
13437ca8fbabSantirezhttps://github.com/antirez/redis/commit/5b9aa5026204fb6c8b0098d4e47c2e001cf06151
13447ca8fbabSantirez
13457ca8fbabSantirez
13467ca8fbabSantirez src/bitops.c | 13 ++++++++-----
13477ca8fbabSantirez 1 file changed, 8 insertions(+), 5 deletions(-)
13487ca8fbabSantirez
13497ca8fbabSantirez+-------------------------------------------------------------------------------
13507ca8fbabSantirez| Fix INFO commandstats reporting when argv is rewritten.
13517ca8fbabSantirez| By antirez, 2016-03-02 08:51:27 +0100
13527ca8fbabSantirez+--------------------------------------------------------------------------------
13537ca8fbabSantirezhttps://github.com/antirez/redis/commit/ba9154d7e7bf959b002533384319a1e90545447b
13547ca8fbabSantirez
13557ca8fbabSantirezWe want to report the original command in the stats, for example GEOADD,
13567ca8fbabSantirezeven when what is actually executed is the ZADD implementation.
13577ca8fbabSantirez
13587ca8fbabSantirez src/scripting.c | 2 +-
13597ca8fbabSantirez src/server.c    | 4 ++--
13607ca8fbabSantirez 2 files changed, 3 insertions(+), 3 deletions(-)
13617ca8fbabSantirez
13627ca8fbabSantirez+-------------------------------------------------------------------------------
13637ca8fbabSantirez| BITFIELD: refactoring & fix of retval on FAIL.
13647ca8fbabSantirez| By antirez, 2016-02-29 09:08:46 +0100
13657ca8fbabSantirez+--------------------------------------------------------------------------------
13667ca8fbabSantirezhttps://github.com/antirez/redis/commit/76b22e3728e37fe11582b71802bf98a2be09623f
13677ca8fbabSantirez
13687ca8fbabSantirez
13697ca8fbabSantirez src/bitops.c | 32 ++++++++++++++++++++++++--------
13707ca8fbabSantirez 1 file changed, 24 insertions(+), 8 deletions(-)
13717ca8fbabSantirez
13727ca8fbabSantirez+-------------------------------------------------------------------------------
13737ca8fbabSantirez| BITFIELD: Fix #<index> form parsing.
13747ca8fbabSantirez| By antirez, 2016-02-26 15:53:29 +0100
13757ca8fbabSantirez+--------------------------------------------------------------------------------
13767ca8fbabSantirezhttps://github.com/antirez/redis/commit/c333a9e2d7873190b22aaee8835a188bc55b60dc
13777ca8fbabSantirez
13787ca8fbabSantirez
13797ca8fbabSantirez src/bitops.c | 10 ++++------
13807ca8fbabSantirez 1 file changed, 4 insertions(+), 6 deletions(-)
13817ca8fbabSantirez
13827ca8fbabSantirez+-------------------------------------------------------------------------------
13837ca8fbabSantirez| BITFIELD: Support #<index> offsets form.
13847ca8fbabSantirez| By antirez, 2016-02-26 15:16:24 +0100
13857ca8fbabSantirez+--------------------------------------------------------------------------------
13867ca8fbabSantirezhttps://github.com/antirez/redis/commit/f84871cb5dd3bb3c04bfd7ac53b6e06b246f511f
13877ca8fbabSantirez
13887ca8fbabSantirez
13897ca8fbabSantirez src/bitops.c | 29 +++++++++++++++++++++++------
13907ca8fbabSantirez 1 file changed, 23 insertions(+), 6 deletions(-)
13917ca8fbabSantirez
13927ca8fbabSantirez+-------------------------------------------------------------------------------
13937ca8fbabSantirez| BITFIELD command initial implementation.
13947ca8fbabSantirez| By antirez, 2016-02-25 23:31:45 +0100
13957ca8fbabSantirez+--------------------------------------------------------------------------------
13967ca8fbabSantirezhttps://github.com/antirez/redis/commit/761a77287107ce53dbf4755f1435cc9660b6c86d
13977ca8fbabSantirez
13987ca8fbabSantirezThe new bitfield command is an extension to the Redis bit operations,
13997ca8fbabSantirezwhere not just single bit operations are performed, but the array of
14007ca8fbabSantirezbits composing a string, can be addressed at random, not aligned
14017ca8fbabSantirezoffsets, with any width unsigned and signed integers like u8, s5, u10
14027ca8fbabSantirez(up to 64 bit signed integers and 63 bit unsigned integers).
14037ca8fbabSantirez
14047ca8fbabSantirezThe BITFIELD command supports subcommands that can SET, GET, or INCRBY
14057ca8fbabSantirezthose arbitrary bit counters, with multiple overflow semantics.
14067ca8fbabSantirez
14077ca8fbabSantirezTrivial and credits:
14087ca8fbabSantirez
14097ca8fbabSantirezA similar command was imagined a few times in the past, but for
14107ca8fbabSantirezsome reason looked a bit far fetched or not well specified.
14117ca8fbabSantirezFinally the command was proposed again in a clear form by
14127ca8fbabSantirezYoav Steinberg from Redis Labs, that proposed a set of commands on
14137ca8fbabSantirezarbitrary sized integers stored at bit offsets.
14147ca8fbabSantirez
14157ca8fbabSantirezStarting from this proposal I wrote an initial specification of a single
14167ca8fbabSantirezcommand with sub-commands similar to what Yoav envisioned, using short
14177ca8fbabSantireznames for types definitions, and adding control on the overflow.
14187ca8fbabSantirez
14197ca8fbabSantirezThis commit is the resulting implementation.
14207ca8fbabSantirez
14217ca8fbabSantirezExamples:
14227ca8fbabSantirez
14237ca8fbabSantirez    BITFIELD mykey OVERFLOW wrap INCRBY i2 10 -1 GET i2 10
14247ca8fbabSantirez
14257ca8fbabSantirez src/bitops.c | 506 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
14267ca8fbabSantirez src/server.c |   1 +
14277ca8fbabSantirez src/server.h |   1 +
14287ca8fbabSantirez 3 files changed, 476 insertions(+), 32 deletions(-)
14297ca8fbabSantirez
14307ca8fbabSantirez+-------------------------------------------------------------------------------
14317ca8fbabSantirez| Eliminates engineers near the equator & prime meridian
14327ca8fbabSantirez| By Itamar Haber, 2016-02-18 15:11:30 -0800
14337ca8fbabSantirez+--------------------------------------------------------------------------------
14347ca8fbabSantirezhttps://github.com/antirez/redis/commit/4b89ea3a95ef72353e14e0eb5cbf293bf2dc8b48
14357ca8fbabSantirez
14367ca8fbabSantirez
14377ca8fbabSantirez src/geo.c | 8 ++++----
14387ca8fbabSantirez 1 file changed, 4 insertions(+), 4 deletions(-)
14397ca8fbabSantirez
14407ca8fbabSantirez+-------------------------------------------------------------------------------
14417ca8fbabSantirez| Fixes a typo in a comment
14427ca8fbabSantirez| By Itamar Haber, 2016-02-18 15:01:34 -0800
14437ca8fbabSantirez+--------------------------------------------------------------------------------
14447ca8fbabSantirezhttps://github.com/antirez/redis/commit/0f46f9bd423a146f96e1993aca6221e1305f9a28
14457ca8fbabSantirez
14467ca8fbabSantirez
14477ca8fbabSantirez src/geo.c | 2 +-
14487ca8fbabSantirez 1 file changed, 1 insertion(+), 1 deletion(-)
14497ca8fbabSantirez
14507ca8fbabSantirez+-------------------------------------------------------------------------------
14517ca8fbabSantirez| Adjusts accuracy for GEODIST
14527ca8fbabSantirez| By Itamar Haber, 2016-02-18 15:00:39 -0800
14537ca8fbabSantirez+--------------------------------------------------------------------------------
14547ca8fbabSantirezhttps://github.com/antirez/redis/commit/9de844603c5203ae6ff6e7882a3dcb47a9f79a85
14557ca8fbabSantirez
14567ca8fbabSantirez
14577ca8fbabSantirez src/geo.c | 2 +-
14587ca8fbabSantirez 1 file changed, 1 insertion(+), 1 deletion(-)
14597ca8fbabSantirez
14607ca8fbabSantirez+-------------------------------------------------------------------------------
14617ca8fbabSantirez| addReplyHumanLongDouble() API added.
14627ca8fbabSantirez| By antirez, 2016-02-18 22:08:47 +0100
14637ca8fbabSantirez+--------------------------------------------------------------------------------
14647ca8fbabSantirezhttps://github.com/antirez/redis/commit/79e553a58d7f814fd08482b118561fcf9854b1df
14657ca8fbabSantirez
14667ca8fbabSantirezSend a long double or double as a bulk reply, in a human friendly
14677ca8fbabSantirezformat.
14687ca8fbabSantirez
14697ca8fbabSantirez src/networking.c | 9 +++++++++
14707ca8fbabSantirez src/server.h     | 1 +
14717ca8fbabSantirez 2 files changed, 10 insertions(+)
14727ca8fbabSantirez
14737ca8fbabSantirez+-------------------------------------------------------------------------------
14747ca8fbabSantirez| Fix GEORADIUS STORE/DIST refcount after backport to 3.2.
14757ca8fbabSantirez| By antirez, 2016-02-18 15:33:02 +0100
14767ca8fbabSantirez+--------------------------------------------------------------------------------
14777ca8fbabSantirezhttps://github.com/antirez/redis/commit/158d1e2fbf6badb881a4d78623fd1bffde34cc49
14787ca8fbabSantirez
14797ca8fbabSantirez
14807ca8fbabSantirez src/geo.c | 2 ++
14817ca8fbabSantirez 1 file changed, 2 insertions(+)
14827ca8fbabSantirez
14837ca8fbabSantirez+-------------------------------------------------------------------------------
14847ca8fbabSantirez| GEOADD STORE/STOREDIST tests.
14857ca8fbabSantirez| By antirez, 2016-02-18 14:42:42 +0100
14867ca8fbabSantirez+--------------------------------------------------------------------------------
14877ca8fbabSantirezhttps://github.com/antirez/redis/commit/123cd88286127cc20684bf0457cb51107a67cfa2
14887ca8fbabSantirez
14897ca8fbabSantirez
14907ca8fbabSantirez tests/unit/geo.tcl | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
14917ca8fbabSantirez 1 file changed, 54 insertions(+)
14927ca8fbabSantirez
14937ca8fbabSantirez+-------------------------------------------------------------------------------
14947ca8fbabSantirez| New options for GEORADIUS: STORE and STOREDIST.
14957ca8fbabSantirez| By antirez, 2016-02-18 10:24:11 +0100
14967ca8fbabSantirez+--------------------------------------------------------------------------------
14977ca8fbabSantirezhttps://github.com/antirez/redis/commit/0b6daf5a6b27447f03c76387b8b707ce0ab7b08d
14987ca8fbabSantirez
14997ca8fbabSantirezRelated to issue #3019.
15007ca8fbabSantirez
15017ca8fbabSantirez src/geo.c    | 143 +++++++++++++++++++++++++++++++++++++++++------------------
15027ca8fbabSantirez src/server.c |   4 +-
15037ca8fbabSantirez src/server.h |   1 +
15047ca8fbabSantirez src/t_zset.c |  18 +++++---
15057ca8fbabSantirez 4 files changed, 117 insertions(+), 49 deletions(-)
15067ca8fbabSantirez
15077ca8fbabSantirez+-------------------------------------------------------------------------------
15087ca8fbabSantirez| Include full paths on RDB/AOF files errors.
15097ca8fbabSantirez| By antirez, 2016-02-15 16:14:56 +0100
15107ca8fbabSantirez+--------------------------------------------------------------------------------
15117ca8fbabSantirezhttps://github.com/antirez/redis/commit/f7af1beaab938b7e319d1b91d7736f043b7ef682
15127ca8fbabSantirez
15137ca8fbabSantirezClose #3086.
15147ca8fbabSantirez
15157ca8fbabSantirez src/aof.c | 17 +++++++++++++++--
15167ca8fbabSantirez src/rdb.c | 19 +++++++++++++++++--
15177ca8fbabSantirez 2 files changed, 32 insertions(+), 4 deletions(-)
15187ca8fbabSantirez
15197ca8fbabSantirez+-------------------------------------------------------------------------------
15207ca8fbabSantirez| Remove Lua state reference from buffers in lua_cmsgpack.
15217ca8fbabSantirez| By antirez, 2016-02-10 09:12:17 +0100
15227ca8fbabSantirez+--------------------------------------------------------------------------------
15237ca8fbabSantirezhttps://github.com/antirez/redis/commit/0b4a628fc716ab6b88c9823b143de174601a790d
15247ca8fbabSantirez
15257ca8fbabSantirez
15267ca8fbabSantirez deps/lua/src/lua_cmsgpack.c | 53 +++++++++++++++++++++------------------------
15277ca8fbabSantirez 1 file changed, 25 insertions(+), 28 deletions(-)
15287ca8fbabSantirez
15297ca8fbabSantirez+-------------------------------------------------------------------------------
15307ca8fbabSantirez| cmsgpack: pass correct osize values to lua allocator, update correct buf free space in cmsgpack
15317ca8fbabSantirez| By [email protected], 2016-02-07 20:24:28 +0200
15327ca8fbabSantirez+--------------------------------------------------------------------------------
15337ca8fbabSantirezhttps://github.com/antirez/redis/commit/43509f686452fba68966aa89b87d1be065b50e17
15347ca8fbabSantirez
15357ca8fbabSantirez
15367ca8fbabSantirez deps/lua/src/lua_cmsgpack.c | 8 ++++----
15377ca8fbabSantirez 1 file changed, 4 insertions(+), 4 deletions(-)
15387ca8fbabSantirez
15397ca8fbabSantirez+-------------------------------------------------------------------------------
15407ca8fbabSantirez| Fixes a typo
15417ca8fbabSantirez| By Itamar Haber, 2016-02-03 11:04:09 -0800
15427ca8fbabSantirez+--------------------------------------------------------------------------------
15437ca8fbabSantirezhttps://github.com/antirez/redis/commit/cd9f7c6976f81c0e9ffae9e34b31eda19384a7dd
15447ca8fbabSantirez
15457ca8fbabSantirez
15467ca8fbabSantirez src/server.c | 4 ++--
15477ca8fbabSantirez 1 file changed, 2 insertions(+), 2 deletions(-)
15487ca8fbabSantirez
15497ca8fbabSantirez+-------------------------------------------------------------------------------
15507ca8fbabSantirez| Adds keyspace notifications for lrem
15517ca8fbabSantirez| By Itamar Haber, 2016-02-02 09:58:19 -0800
15527ca8fbabSantirez+--------------------------------------------------------------------------------
15537ca8fbabSantirezhttps://github.com/antirez/redis/commit/bf30f5a73922e5111d6a39da7351e22357213134
15547ca8fbabSantirez
15557ca8fbabSantirez
15567ca8fbabSantirez src/t_list.c | 7 ++++++-
15577ca8fbabSantirez 1 file changed, 6 insertions(+), 1 deletion(-)
15587ca8fbabSantirez
15597ca8fbabSantirez+-------------------------------------------------------------------------------
15607ca8fbabSantirez| Typo ASII -> ASCII fixed in comment.
15617ca8fbabSantirez| By antirez, 2016-01-29 12:08:10 +0100
15627ca8fbabSantirez+--------------------------------------------------------------------------------
15637ca8fbabSantirezhttps://github.com/antirez/redis/commit/0c7c7631d206964b8bf1dae3db286a3acda4edad
15647ca8fbabSantirez
15657ca8fbabSantirez
15667ca8fbabSantirez src/server.h | 2 +-
15677ca8fbabSantirez 1 file changed, 1 insertion(+), 1 deletion(-)
15687ca8fbabSantirez
15697ca8fbabSantirez+-------------------------------------------------------------------------------
15707ca8fbabSantirez| Cluster: include node IDs in SLOTS output.
15717ca8fbabSantirez| By antirez, 2016-01-29 12:00:38 +0100
15727ca8fbabSantirez+--------------------------------------------------------------------------------
15737ca8fbabSantirezhttps://github.com/antirez/redis/commit/0f3fb0097ae70e36ee65468b79f0be4160934bb4
15747ca8fbabSantirez
15757ca8fbabSantirezCLUSTER SLOTS now includes IDs in the nodes description associated with
15767ca8fbabSantireza given slot range. Certain client libraries implementations need a way
15777ca8fbabSantirezto reference a node in an unique way, so they were relying on CLUSTER
15787ca8fbabSantirezNODES, that is not a stable API and may change frequently depending on
15797ca8fbabSantirezRedis Cluster future requirements.
15807ca8fbabSantirez
15817ca8fbabSantirez src/cluster.c | 8 ++++++--
15827ca8fbabSantirez 1 file changed, 6 insertions(+), 2 deletions(-)
15837ca8fbabSantirez
15847ca8fbabSantirez
15857ca8fbabSantirez~~~~~~~~~~~~~~~~~~~~~~~~~~ OLD STYLE CHANGELOG ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15867ca8fbabSantirez
158799eb0623Santirez--[ Redis 3.2.0 RC3 (version 3.1.103) ] Release date: 28 jan 2016
15888a8fe56cSantirez
158999eb0623SantirezUpgrade urgency MODERATE: this release fixes a non trivial Sentinel crash.
15908a8fe56cSantirez
1591d5dab731Santirez* [FIX] avg_ttl reporting in INFO improved. (Salvatore Sanfilippo)
1592d5dab731Santirez* [FIX] Sentinel: improve handling of known Sentinel instances.
1593d5dab731Santirez        (Salvatore Sanfilippo, thanks to Paweł Kowalczykf or the original
1594d5dab731Santirez         crash report).
1595d5dab731Santirez* [FIX] Redis Cluster address update (via gossip section) processing improved
1596d5dab731Santirez        to avoid initiating inwanted handshakes.
159799eb0623Santirez
159899eb0623Santirez--[ Redis 3.2.0 RC2 (version 3.1.102) ] Release date: 25 jan 2016
159999eb0623Santirez
160099eb0623SantirezUpgrade urgency MODERATE: this release fixes important Redis Cluster bugs.
160199eb0623Santirez
16028a8fe56cSantirez* [FIX] Many fixes to MIGRATE multiple keys implementation. The command
16038a8fe56cSantirez        could handle errors in a faulty way leading to crashes or other
16048a8fe56cSantirez        unexpected behaviors. MIGRATE command refactoring.
16058a8fe56cSantirez        (The analysis of the faulty conditions was conducted by
16068a8fe56cSantirez         Kevin McGehee. The fix was developed by Salvatore Sanfilippo)
16078a8fe56cSantirez* [FIX] A Redis Cluster node crash was fixed because of wrong handling of
16088a8fe56cSantirez        node->slaveof pointers.
16098a8fe56cSantirez        (Reported by JackyWoo, fixed by Salvatore Sanfilippo)
16108a8fe56cSantirez* [FIX] Fix redis-trib rebalance when nodes need to be left empty because
16118a8fe56cSantirez        the specified weight is zero.
16128a8fe56cSantirez        (Reported by Shahar Mor, fixed by Salvatore Sanfilippo)
16138a8fe56cSantirez* [FIX] MIGRATE: Never send -ASK redirections for MIGRATE when there are
16148a8fe56cSantirez        open slots. Redis-trib and other cluster management utility must
16158a8fe56cSantirez        always be free to move keys between nodes about open slots, in order
16168a8fe56cSantirez        to reshard, fix the cluster configuration, and so forth.
16178a8fe56cSantirez        (Salvatore Sanfilippo)
16188a8fe56cSantirez* [FIX] Lua debugger crash when printing too deeply nested objects.
16198a8fe56cSantirez        (Reported by Paul Kulchenko, fixed by Salvatore Sanfilippo)
16208a8fe56cSantirez* [FIX] Redis-cli implementation of Lua debugging now allows to use the
16218a8fe56cSantirez        SCRIPT DEBUG command directly, switching to debugging mode as needed.
16228a8fe56cSantirez        (Reported by Paul Kulchenko, fixed by Salvatore Sanfilippo)
16238a8fe56cSantirez* [FIX] Redis-trib is now able to fix more errors. A new CLUSTER subcommand
16248a8fe56cSantirez        called BUMPEPOCH was introduced in order to support new modes
16258a8fe56cSantirez        for the "fix" subcommand. (Salvatore Sanfilippo)
16268a8fe56cSantirez* [NEW] Redis proctected mode: this feature improves Redis security and makes
16278a8fe56cSantirez        harder to run Redis in a configuration that is unsecure because no
16288a8fe56cSantirez        firewalling was used in order to protect Redis from external accesses.
16298a8fe56cSantirez        See this Reddit post for more info: https://www.reddit.com/r/redis/comments/3zv85m/new_security_feature_redis_protected_mode/ (Salvatore Sanfilippo)
16308a8fe56cSantirez* [NEW] Cluster/Sentinel tests now use OSX leak to perform leak detection
16318a8fe56cSantirez        at the end of every unit. (Salvatore Sanfilippo)
16328a8fe56cSantirez* [NEW] Detect and show server crashes during Cluster/Sentinel tests.
16338a8fe56cSantirez        (Salvatore Sanfilippo)
16348a8fe56cSantirez* [NEW] More reliable Cluster/Sentinel test becuase of timing errors and
16358a8fe56cSantirez        -LOADING errors. (Salvatore Sanfilippo)
16368a8fe56cSantirez
16373955fdeeSantirez--[ Redis 3.2.0 RC1 (version 3.1.101) ] Release date: 23 dec 2015
16383955fdeeSantirez
16393955fdeeSantirezThis is the first release candidate of Redis 3.2. The changelog above shows
16403955fdeeSantirezwhat's new in this release. In the next of the following weeks we'll test
16413955fdeeSantirezin depth every feature and we'll release new RCs as bugs are discovered
16423955fdeeSantirezand fixed. Note that while 3.2 looks solid already, it contains many changes
16433955fdeeSantirezto its internals. It's still fresh code compared to 3.0.
16443955fdeeSantirez
16453955fdeeSantirezGeneral changes:
16463955fdeeSantirez
16473955fdeeSantirez* [NEW] Lua scripts "effect replication". Makes possible to write scripts
16483955fdeeSantirez        with side effects, use of random commands, and so forth.
16493955fdeeSantirez        (Salvatore Sanfilippo)
1650bb3ed7e2Santirez* [NEW] Lua scripts selective replication. Makes possible to replicate to
1651bb3ed7e2Santirez        slaves and AOF only selected parts of a script. (Design by
1652bb3ed7e2Santirez        Yossi Gottlieb and Salvatore Sanfilippo, implemented by Salvatore)
16533955fdeeSantirez* [NEW] Geo indexing support via GEOADD, GEORADIUS and other commands.
16543955fdeeSantirez        See http://redis.io/commands/geoadd for more information.
16553955fdeeSantirez        (Initially implemented in a fork of Redis called "Ardb".
16563955fdeeSantirez         Matt Stancliff "imported back" the work to Redis and created the
16573955fdeeSantirez         initial API and implementation. Salvatore Sanfilippo modified
16583955fdeeSantirez         the API and the implementation, fixed bugs, improved performances
16593955fdeeSantirez         and unified the duplicated code with t_zset.c)
16603955fdeeSantirez* [NEW] Lua debugger. A complete stepping, remote debugger for Lua scripts.
16613955fdeeSantirez        Video here: https://www.youtube.com/watch?v=IMvRfStaoyM
1662bb3ed7e2Santirez        (Salvatore Sanfilippo with many feedbacks and testing from
1663bb3ed7e2Santirez         Itamar Haber)
16643955fdeeSantirez* [NEW] SDS improvements for speed and maximum string length.
16653955fdeeSantirez        This makes Redis more memory efficient in different use cases.
16663955fdeeSantirez        (Design and implementation by Oran Agra, some additional work
16673955fdeeSantirez         by Salvatore Sanfilippo)
16683955fdeeSantirez* [NEW] Modify Jemalloc size classes to make certain Redis objects fit
16693955fdeeSantirez        better, improving memory efficiency. (Oran Agra)
16703955fdeeSantirez* [NEW] Better consistency behavior between masters and slaves for expired
16713955fdeeSantirez        keys. The slaves are only able to logically consider a key expired
16723955fdeeSantirez        even before receiving the `DEL` command from the master. This avoids
16733955fdeeSantirez        the delay there is sometimes between the natural expire of the key
16743955fdeeSantirez        and the moment the slave is notified. (Salvatore Sanfilippo)
16753955fdeeSantirez* [NEW] Support daemon supervision by upstart or systemd (Pierre-Yves Ritschard)
16763955fdeeSantirez* [NEW] New encoding for the List type: Quicklists. Very important memory
16773955fdeeSantirez        savings and storage space in RDB gains (up to 10x sometimes).
16783955fdeeSantirez        (Design and implementation by Matt Stancliff. RDB storage reworked
16793955fdeeSantirez         by Salvatore Sanfilippo)
16803955fdeeSantirez* [NEW] SPOP with optional count argument. (Initial implementation by
16813955fdeeSantirez        Alon Diamant, mostly reimplemented by Salvatore Sanfilippo for speed
16823955fdeeSantirez        and in order to make the replication of a this class of commands,
16833955fdeeSantirez        having as logical effect the execution of multiple commands, possible).
16843955fdeeSantirez* [NEW] Support for RDB AUX fields. Now RDB files contain additional info
16853955fdeeSantirez        like the creation date, version of Redis generating it and so forth.
16863955fdeeSantirez        (Salvatore Sanfilippo)
16873955fdeeSantirez* [NEW] Faster RDB loading via the RESIZEDB opcode to avoid useless hash tables
16883955fdeeSantirez        rehashings. (Salvatore Sanfilippo)
16893955fdeeSantirez* [NEW] HSTRLEN command. (@landmime and Salvatore Sanfilippo)
16903955fdeeSantirez* [NEW] CONFIG SET/GET implementations refactored, partially rewritten,
16913955fdeeSantirez        now exposing more config options. (Salvatore Sanfilippo)
16923955fdeeSantirez* [NEW] CLUSTER NODES major speedup. (Salvatore Sanfilippo)
16933955fdeeSantirez* [NEW] CLIENT KILL TYPE MASTER, to kill (disconnect) masters from slaves.
16943955fdeeSantirez        (Salvatore Sanfilippo)
16953955fdeeSantirez* [NEW] Jemalloc updated to 4.0.3 (Salvatore Sanfilippo)
16963955fdeeSantirez* [NEW] DEBUG RESTART/CRASH-AND-RECOVER [delay] (Salvatore Sanfilippo)
16973955fdeeSantirez* [NEW] CLIENT REPLY command implemented: ON, OFF and SKIP modes.
16983955fdeeSantirez        (Salvatore Sanfilippo)
16993955fdeeSantirez* [NEW] Crash report produced by Redis on crash improved. (Salvatore Sanfilippo)
17003955fdeeSantirez* [NEW] Better memory test on crash. (Salvatore Sanfilippo)
17013955fdeeSantirez
17023955fdeeSantirezRedis Cluster changes:
17033955fdeeSantirez
1704bb3ed7e2SantirezAll the Redis Cluster changes in 3.2 were backported to 3.0, so there is
1705bb3ed7e2Santireztechnically nothing new for now in this release. The most important things
1706bb3ed7e2Santirezare:
1707bb3ed7e2Santirez
1708bb3ed7e2Santirez* Cluster rebalancing.
1709bb3ed7e2Santirez* A pipelined MIGRATE command which is 10x faster and makes resharding
1710bb3ed7e2Santirez  and rebalancing faster.
1711bb3ed7e2Santirez* Improved replicas migration.
1712bb3ed7e2Santirez* As a side effect of quicklists encoding (see above items), moving big
1713bb3ed7e2Santirez  lists between nodes is now a lot faster.
17143955fdeeSantirez
17153955fdeeSantirezRedis Sentinel changes:
17163955fdeeSantirez
17173955fdeeSantirez* [NEW] Sentinel connection sharing. Makes Sentinels able to scale to
17183955fdeeSantirez        monitor many masters. (Salvatore Sanfilippo)
17193955fdeeSantirez* [NEW] New SENTINEL INFO-CACHE command. (Matt Stancliff)
17203955fdeeSantirez* More things backported to Redis 3.0 in the past, so no longer news of 3.2.
17213955fdeeSantirez
17223955fdeeSantirezMigrating from 3.0 to 3.2
17233955fdeeSantirez=========================
17243955fdeeSantirez
17253955fdeeSantirezRedis 3.0 is mostly a strict subset of 3.2, you should not have any problem
17263955fdeeSantirezupgrading your application from 3.0 to 3.2. However this is a list of small
17273955fdeeSantireznon-backward compatible changes introduced in the 3.2 release:
17283955fdeeSantirez
17293955fdeeSantirez* The default configuration file now binds to 127.0.0.1.
17303955fdeeSantirez* Slaves try to no longer expose stale data about already expired keys.
17313955fdeeSantirez* The RDB format changed. Redis 3.2 is still able to read 3.0 (and all the
17323955fdeeSantirez  past versions) files, but not the other way around.
17333955fdeeSantirez* Behavior on crash may be different. The crash log format changed and
17343955fdeeSantirez  the memory test executed is now different.
17353955fdeeSantirez
17363955fdeeSantirez--------------------------------------------------------------------------------
17373955fdeeSantirez
17383955fdeeSantirezCredits: For each release, a list of changes with the relative author is
17393955fdeeSantirezprovided. Where not specified the implementation and design is done by
17403955fdeeSantirezSalvatore Sanfilippo. Thanks to Redis Labs for making all this possible.
17413955fdeeSantirezAlso many thanks to all the other contributors and the amazing community
17423955fdeeSantirezwe have.
17433955fdeeSantirez
17443955fdeeSantirezCommit messages may contain additional credits.
17453955fdeeSantirez
17463955fdeeSantirezCheers,
17473955fdeeSantirezSalvatore
1748