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