xref: /f-stack/app/redis-5.0.5/00-RELEASENOTES (revision 572c4311)
1Redis 5.0 release notes
2=======================
3
4--------------------------------------------------------------------------------
5Upgrade urgency levels:
6
7LOW:      No need to upgrade unless there are new features you want to use.
8MODERATE: Program an upgrade of the server, but it's not urgent.
9HIGH:     There is a critical bug that may affect a subset of users. Upgrade!
10CRITICAL: There is a critical bug affecting MOST USERS. Upgrade ASAP.
11SECURITY: There are security fixes in the release.
12--------------------------------------------------------------------------------
13
14================================================================================
15Redis 5.0.5     Released Wed May 15 17:57:41 CEST 2019
16================================================================================
17
18Upgrade urgency CRITICAL: This release fixes an important AOF fysnc bug
19                          and other less critical issues.
20
21
22Dear user,
23
24Redis 5.0.5 fixes an important issue with AOF and adds multiple very useful
25modules APIs. Moreover smaller bugs in other parts of Redis are fixed in
26this release.
27
28The AOF bug
29-----------
30
31The AOF bug happens when the fsync policy is set to "everysec", which is the
32default: if the write load in the server drops immediately, the commands
33executed in the latest second may not be fsync-ed to disk as it should.
34This may lead to data loss in case the write load drops immediately and
35successively a server crash happens.
36
37Other things in this release
38----------------------------
39
40* Streams: a bug in the iterator could prevent certain items to be returned in
41           range queries under specific conditions.
42* Memleak in bitfieldCommand fixed.
43* Modules API: Preserve client->id for blocked clients.
44* Fix memory leak when rewriting config file in case of write errors.
45* New modules API: RedisModule_GetKeyNameFromIO().
46* Fix non critical bugs in diskless replication.
47* New mdouels API: command filtering. See RedisModule_RegisterCommandFilter();
48* Tests improved to be more deterministic.
49* Fix a Redis Cluster bug, manual failover may abort because of the master
50  sending PINGs to the replicas.
51
52The following is the full list of commmits.
53
54Regards,
55Salvatore
56
57Christian Zeller in commit 1cac9b4b:
58 Typo fixes in CONTRIBUTING
59 1 file changed, 2 insertions(+), 2 deletions(-)
60
61antirez in commit f63c5c7b:
62 Update CONTRIBUTING with present info.
63 1 file changed, 15 insertions(+), 5 deletions(-)
64
65antirez in commit 668661da:
66 Narrow the effects of PR #6029 to the exact state.
67 1 file changed, 17 insertions(+), 5 deletions(-)
68
69chendianqiang in commit 3c2800e3:
70 stop ping when client pause
71 1 file changed, 1 insertion(+), 1 deletion(-)
72
73antirez in commit 7ac7ffd5:
74 Test: fix slowlog test false positive.
75 1 file changed, 3 insertions(+), 1 deletion(-)
76
77antirez in commit cc101721:
78 Make comment in getClientOutputBufferMemoryUsage() describing the present.
79 1 file changed, 1 insertion(+), 8 deletions(-)
80
81WuYunlong in commit 72420b0d:
82 Do not active expire keys in the background when the switch is off.
83 1 file changed, 6 insertions(+), 4 deletions(-)
84
85liaotonglang in commit 33a50d24:
86 delete sdsTest() from REDIS_TEST
87 1 file changed, 2 deletions(-)
88
89zhaozhao.zz in commit 6a92836f:
90 test cases: skiptill -> skip-till
91 1 file changed, 1 insertion(+), 1 deletion(-)
92
93Oran Agra in commit f179f71e:
94 make replication tests more stable on slow machines
95 3 files changed, 34 insertions(+), 4 deletions(-)
96
97Yossi Gottlieb in commit 1825a4ec:
98 Add runtest-moduleapi with commandfilter coverage.
99 5 files changed, 63 insertions(+), 28 deletions(-)
100
101Yossi Gottlieb in commit 9d20fdb4:
102 fix: missing initialization.
103 3 files changed, 1 insertion(+)
104
105antirez in commit ded1980e:
106 Test: disable module testing for now.
107 1 file changed, 1 deletion(-)
108
109Yossi Gottlieb in commit c3df78c2:
110 CommandFilter API: REDISMODULE_CMDFILTER_NOSELF.
111 4 files changed, 62 insertions(+), 15 deletions(-)
112
113Yossi Gottlieb in commit 8d38ef20:
114 CommandFilter API: fix UnregisterCommandFilter.
115 1 file changed, 2 insertions(+), 3 deletions(-)
116
117Yossi Gottlieb in commit 9b7009b1:
118 CommandFilter API: Add unregister option.
119 4 files changed, 126 insertions(+), 32 deletions(-)
120
121Yossi Gottlieb in commit 05802442:
122 CommandFilter API: Extend documentation.
123 1 file changed, 43 insertions(+), 5 deletions(-)
124
125Yossi Gottlieb in commit d5194daf:
126 CommandFilter API: hellofilter and tests.
127 2 files changed, 47 insertions(+), 5 deletions(-)
128
129Yossi Gottlieb in commit 8897c154:
130 CommandFilter API: Support Lua and RM_call() flows.
131 2 files changed, 18 insertions(+), 7 deletions(-)
132
133Yossi Gottlieb in commit 6dd5bad4:
134 CommandFilter API: More cleanup.
135 2 files changed, 10 insertions(+), 29 deletions(-)
136
137Yossi Gottlieb in commit 83026101:
138 Add command filter Module API tests.
139 2 files changed, 28 insertions(+)
140
141Yossi Gottlieb in commit dc5edc7b:
142 Add command filtering argument handling API.
143 3 files changed, 132 insertions(+), 13 deletions(-)
144
145Yossi Gottlieb in commit 5f29e2e2:
146 Initial command filter experiment.
147 6 files changed, 161 insertions(+), 2 deletions(-)
148
149Oran Agra in commit e1839ab3:
150 diskless fork kept streaming RDB to a disconnected slave
151 1 file changed, 10 insertions(+)
152
153Oran Agra in commit 3b207b89:
154 diskless replication - notify slave when rdb transfer failed
155 1 file changed, 1 insertion(+)
156
157antirez in commit 7e350b09:
158 More sensible name for function: restartAOFAfterSYNC().
159 1 file changed, 7 insertions(+), 3 deletions(-)
160
161antirez in commit 91238a60:
162 Mostly aesthetic changes to restartAOF().
163 1 file changed, 7 insertions(+), 3 deletions(-)
164
165oranagra in commit ee2da67c:
166 bugfix to restartAOF, exit will never happen since retry will get negative.
167 1 file changed, 5 insertions(+), 4 deletions(-)
168
169Oran Agra in commit 78022492:
170 Add log when server dies of SIGTERM during loading
171 1 file changed, 1 insertion(+)
172
173Yossi Gottlieb in commit 232dca7f:
174 Add RedisModule_GetKeyNameFromIO().
175 8 files changed, 30 insertions(+), 17 deletions(-)
176
177antirez in commit 7f98129a:
178 MANIFESTO: simplicity and lock-in.
179 1 file changed, 5 insertions(+), 1 deletion(-)
180
181antirez in commit 71265fe3:
182 MANIFESTO v2.
183 1 file changed, 41 insertions(+), 6 deletions(-)
184
185yongman in commit 8115be6e:
186 Fix uint64_t hash value in active defrag
187 1 file changed, 3 insertions(+), 3 deletions(-)
188
189Angus Pearson in commit 90e7b5a9:
190 Enlarge error buffer in redis-check-aof.c to remove compiler warning of output truncation through snprintf format string
191 1 file changed, 1 insertion(+), 1 deletion(-)
192
193zhaozhao.zz in commit 43151baf:
194 fix memory leak when rewrite config file
195 1 file changed, 3 insertions(+), 4 deletions(-)
196
197唐权 in commit d3c17c9d:
198 Update ziplist.c
199 1 file changed, 1 insertion(+), 1 deletion(-)
200
201stan011 in commit 296bd097:
202 change the comments there may have a mis type
203 1 file changed, 1 insertion(+), 1 deletion(-)
204
205Yossi Gottlieb in commit e08c9c15:
206 Preserve client->id for blocked clients.
207 1 file changed, 4 insertions(+), 1 deletion(-)
208
209zhaozhao.zz in commit c6b1252f:
210 aof: enhance AOF_FSYNC_EVERYSEC, more details in #5985
211 2 files changed, 32 insertions(+), 3 deletions(-)
212
213David Carlier in commit ce54e299:
214 build fix
215 1 file changed, 1 insertion(+)
216
217yongman in commit c9274498:
218 Fix memleak in bitfieldCommand
219 1 file changed, 8 insertions(+), 2 deletions(-)
220
221James Rouzier in commit 635d8d83:
222 Fix start and end key initialize
223 1 file changed, 2 insertions(+), 2 deletions(-)
224
225Salvatore Sanfilippo in commit 7c23e534:
226 Merge pull request #6047 from abhaynahar/removed-obsolete-warning-5.0
227abhay in commit 9ea8ec42:
228 removed obsolete warning as per - https://github.com/antirez/redis/issues/5291
229 1 file changed, 1 insertion(+), 7 deletions(-)
230
231antirez in commit 1b7407fa:
232 Aesthetic change to #5962 to conform to Redis style.
233 1 file changed, 1 insertion(+), 3 deletions(-)
234
235Oran Agra in commit 3bbf9747:
236 slave corrupts replication stream when module blocked client uses large reply (or POSTPONED_ARRAY)
237 3 files changed, 15 insertions(+), 6 deletions(-)
238
239================================================================================
240Redis 5.0.4     Released Mon Mar 18 17:12:53 CET 2019
241================================================================================
242
243Upgrade urgency HIGH: This release fixes several Redis stability issues.
244
245Dear Redis users, this release includes a number of fixes for bugs that may
246result in Redis crashing in special conditions (not normal usage, but specific
247artificial conditions), fixes to certain Redis behaviors especially around
248Redis streams, and finally a set of new APIs for Redis Modules.
249
250Specifically:
251
252* Hyperloglog different coding errors leading to potential crashes were fixed.
253* A replication bug leading to a potential crash in case of plain misuse of handshake commands was fixed.
254* XCLAIM command incrementing of number of deliveries was fixed.
255* LFU field management in objects was improved.
256* A potential overflow in the redis-check-aof was fixed.
257* A memory leak in case of API misuse was fixed.
258* ZPOP* behavior when count is 0 is fixed.
259* A few redis-cli --cluster bugs were fixed, plus a few improvements.
260* Many other smaller bugs.
261
262We suggest to upgrade Redis, especially in case your instance is facing
263untrusted users (for instance Cloud providers) because several of these
264bugs could result in unwanted crashes.
265
266This is the list of commits:
267
268antirez in commit 84bdd440:
269 HyperLogLog: fix comment in hllCount().
270 1 file changed, 2 insertions(+), 2 deletions(-)
271
272antirez in commit ef1833b3:
273 HyperLogLog: handle wrong offset in the base case.
274 1 file changed, 2 insertions(+), 6 deletions(-)
275
276antirez in commit 623afd5e:
277 HyperLogLog: speedup fuzz test.
278 1 file changed, 1 insertion(+), 2 deletions(-)
279
280antirez in commit 12b5ff10:
281 HyperLogLog: enlarge reghisto variable for safety.
282 1 file changed, 6 insertions(+), 1 deletion(-)
283
284antirez in commit 254d897e:
285 HyperLogLog: dense/sparse repr parsing fuzz test.
286 1 file changed, 29 insertions(+)
287
288John Sully in commit 7f79849c:
289 Fix hyperloglog corruption
290 1 file changed, 6 insertions(+)
291
292Brad Solomon in commit 3ef2c831:
293 Provide an uninstall target in Makefile
294 1 file changed, 3 insertions(+)
295
296antirez in commit 57aea463:
297 redis-check-aof: fix potential overflow.
298 1 file changed, 2 insertions(+), 2 deletions(-)
299
300antirez in commit ba5145b8:
301 Fix objectSetLRUOrLFU() when LFU underflows.
302 1 file changed, 11 insertions(+), 7 deletions(-)
303
304antirez in commit 76c59f0e:
305 Fix ZPOP return type when COUNT=0. Related to #5799.
306 1 file changed, 1 insertion(+), 1 deletion(-)
307
308antirez in commit 1c636714:
309 Improve comments after merging #5834.
310 2 files changed, 14 insertions(+), 8 deletions(-)
311
312Guy Benoish in commit 6a3fca4c:
313 Trim SDS free space of retained module strings
314 4 files changed, 28 insertions(+), 5 deletions(-)
315
316Guy Benoish in commit 9ec144ea:
317 Fix mismatching keyspace notification classes
318 2 files changed, 2 insertions(+), 2 deletions(-)
319
320Guy Benoish in commit d04b5211:
321 Fix zlexrangespec mem-leak in genericZrangebylexCommand
322 1 file changed, 4 insertions(+), 1 deletion(-)
323
324Guy Benoish in commit 516f1c77:
325 Use memtoll() in 'CONFIG SET client-output-buffer-limit'
326 1 file changed, 2 insertions(+), 2 deletions(-)
327
328Guy Benoish in commit 8db67a55:
329 Increase string2ld's buffer size (and fix HINCRBYFLOAT)
330 2 files changed, 5 insertions(+), 1 deletion(-)
331
332Guy Benoish in commit db3d626b:
333 Check server.verbosity in RM_LogRaw
334 1 file changed, 2 insertions(+)
335
336Guy Benoish in commit 71439a07:
337 ZPOP should return an empty array if COUNT=0
338 1 file changed, 4 insertions(+), 1 deletion(-)
339
340antirez in commit c8a26834:
341 Modules shared API: export new core APIs.
342 2 files changed, 6 insertions(+)
343
344antirez in commit a13ba750:
345 Modules shared API: also unregister the module as user.
346 1 file changed, 23 insertions(+)
347
348antirez in commit 500e5117:
349 Modules shared API: prevent unloading of used modules.
350 1 file changed, 10 insertions(+), 4 deletions(-)
351
352antirez in commit 7854daa1:
353 Modules shared API: unregister APIs function.
354 1 file changed, 25 insertions(+)
355
356antirez in commit d38d82af:
357 Modules shared API: initial core functions.
358 2 files changed, 89 insertions(+), 1 deletion(-)
359
360antirez in commit 4d747bb8:
361 Revert shared APIs to modify the design.
362 3 files changed, 120 deletions(-)
363
364MeirShpilraien in commit 8824b509:
365 added module ability to register api to be used by other modules
366 3 files changed, 120 insertions(+)
367
368zhaozhao.zz in commit 000b055b:
369 Streams: checkType before XGROUP CREATE
370 1 file changed, 7 insertions(+), 5 deletions(-)
371
372antirez in commit 9b2a0d54:
373 Fix BZPOP arity, backport from fix in cd2743c.
374 1 file changed, 2 insertions(+), 2 deletions(-)
375
376chendianqiang in commit 134b2582:
377 optimize cluster failover
378 1 file changed, 1 insertion(+)
379
380Steve Webster in commit 1293e2a5:
381 Only increment delivery count if JUSTID option is omitted
382 2 files changed, 18 insertions(+), 3 deletions(-)
383
384Steve Webster in commit 3cc4f469:
385 Increment delivery counter on XCLAIM unless RETRYCOUNT specified
386 2 files changed, 35 insertions(+), 2 deletions(-)
387
388antirez in commit f4edd2b9:
389 Merge branch '5.0' of github.com:/antirez/redis into 5.0
390swilly22 in commit cedcc54e:
391 document additional flag of RM_GetContextFlags
392 1 file changed, 3 insertions(+)
393
394swilly22 in commit 26e98da2:
395 Extend REDISMODULE_CTX_FLAGS to indicate if command was sent by master
396 2 files changed, 6 insertions(+)
397
398Salvatore Sanfilippo in commit 0e910939:
399 Merge pull request #5879 from meierfra-ergon/redis-cli-assume-yes
400antirez in commit 67452e91:
401 Make comment in #5911 stay inside 80 cols.
402 1 file changed, 2 insertions(+), 1 deletion(-)
403
404John Sully in commit 30f666ef:
405 Replicas aren't allowed to run the replicaof command
406 1 file changed, 8 insertions(+)
407
408Frank Meier in commit bc6c1c40:
409 extend use of cluster-yes option to other confimation questions
410 1 file changed, 9 insertions(+)
411
412antirez in commit 76419d8d:
413 Merge branch '5.0' of github.com:/antirez/redis into 5.0
414Oran Agra in commit 72ba6069:
415 redis-cli add support for --memkeys, fix --bigkeys for module types
416 1 file changed, 132 insertions(+), 81 deletions(-)
417
418chendianqiang in commit 2ca21753:
419 fix replicationid will not change for server.masterhost==NULL in cluster mode when restart slave
420 1 file changed, 1 insertion(+), 1 deletion(-)
421
422Salvatore Sanfilippo in commit bd7ddd79:
423 Merge pull request #5870 from fengweiyuan/5.0
424varianfeng in commit d13bc143:
425 fix corrupt_rdb.c bug.Let the name of input rdb file name be valid.
426 1 file changed, 2 insertions(+), 1 deletion(-)
427
428artix in commit 44c5bce0:
429 Cluster Manager: fix replica assigment anti-affinity (create)
430 1 file changed, 6 insertions(+)
431
432artix in commit f066e526:
433 Cluster Manager: remove unused code elements
434 1 file changed, 8 insertions(+), 13 deletions(-)
435
436Zhicheng Wei in commit 23214966:
437 fix clusterManagerGetAntiAffinityScore double free otypes
438 1 file changed, 2 insertions(+), 1 deletion(-)
439
440antirez in commit 80bccd71:
441 Remove debugging printf from replication.tcl test.
442 1 file changed, 1 deletion(-)
443
444================================================================================
445Redis 5.0.3     Released Tue Dec 11 18:17:26 CET 2018
446================================================================================
447
448Upgrade urgency HIGH: Redis 5 is consolidating, upgrading is a good idea.
449                      However there is nothing very critical here, but certain
450                      issues resolved could lead to very rare crashes.
451
452Welcome to Redis 5.0.3, several interesting bug fixes here:
453
454* Redis no longer panics when you send data to a replica-mode connection that
455  is in MONITOR or SYNC mode.
456
457* Fixes to certain sorted set edge cases. You are unlikely to ever notice those
458  issues, but now it is more correct.
459
460* Certain BSD variants now are better supported: build & register logging
461  on crash.
462
463* The networking core now recovers if an IPv6 address is listed in bind but
464  is actually not able to work because there is no such protocol in the
465  system.
466
467* redis-cli cluster mode improved in many ways. Especially the fix subcommand
468  work was enhanced to cover other edge cases that were still not covered
469  after the work done for Redis 5.
470
471* MEMORY USAGE is now more accurate.
472
473* DEBUG DIGEST-VALUE added in case you want to make sure a given set of keys
474  (and not the whole DB) are excatly the same between two instances.
475
476* Fix a potential crash in the networking code related to recent changes
477  to the way the reply is consumed.
478
479* Reject EXEC containing write commands against an instance that changed role
480  from master to replica during our transaction.
481
482* Fix a crash in KEYS and other commands using pattern matching, in an edge
483  case where the pattern contains a zero byte.
484
485* Fix eviction during AOF loading due to maxmemory triggered by commands
486  executed in loading state.
487
488The following is the list of commmits if you want to check credits or dig
489further in the details.
490
491commit 2c6ee0f9b3d9ca48c6da8bd18796186784216bff
492Author: antirez <[email protected]>
493Date:   Wed Dec 12 11:37:15 2018 +0100
494
495    freeMemoryIfNeeded() small refactoring.
496
497    Related to issue #5686 and PR #5689.
498
499commit 107e93e75acfd5def0252efb6870751940816395
500Author: zhaozhao.zz <[email protected]>
501Date:   Wed Dec 12 00:25:24 2018 +0800
502
503    evict: don't care about mem if loading
504
505    When loading data, we call processEventsWhileBlocked
506    to process events and execute commands.
507    But if we are loading AOF it's dangerous, because
508    processCommand would call freeMemoryIfNeeded to evict,
509    and that will break data consistency, see issue #5686.
510
511antirez in commit ee93dc0b:
512 Crashing is too much in addReplyErrorLength().
513 1 file changed, 6 deletions(-)
514
515hdmg in commit c55254a5:
516 fix comments fault discription
517 1 file changed, 1 insertion(+), 1 deletion(-)
518
519lsytj0413 in commit dfd25013:
520 fix a typo: craeted -> created
521 1 file changed, 1 insertion(+), 1 deletion(-)
522
523antirez in commit 392a2566:
524 stringmatchlen() fuzz test added.
525 3 files changed, 22 insertions(+)
526
527antirez in commit 7602f695:
528 Fix stringmatchlen() read past buffer bug.
529 1 file changed, 1 insertion(+), 1 deletion(-)
530
531zhaozhao.zz in commit c4f3585e:
532 multi: ignore multiState's cmd_flags when loading AOF
533 1 file changed, 1 insertion(+), 1 deletion(-)
534
535antirez in commit d037e987:
536 Reject EXEC containing write commands against RO replica.
537 2 files changed, 20 insertions(+)
538
539artix in commit e00ab324:
540 Cluster Manager: - Multiple owners checking in 'fix'/'check' commands is
541 now optional (using --cluster-search-multiple-owners). - Updated help.
542 1 file changed, 14 insertions(+), 5 deletions(-)
543
544artix in commit 94f64de3:
545 Cluster Manager: FixOpenSlot now correctly updates in-memory cluster
546 configuration. Improved output messages.
547 1 file changed, 17 insertions(+), 5 deletions(-)
548
549artix in commit 752d636f:
550 Cluster Manager: 'fix' command now handles open slots with migrating state
551 in one node and importing state in multiple nodes.
552 1 file changed, 74 insertions(+), 6 deletions(-)
553
554artix in commit 552091f9:
555 Cluster Manager: setting new slot owner is now handled atomically in
556 'fix' command.
557 1 file changed, 72 insertions(+), 31 deletions(-)
558
559artix in commit 2280f4f7:
560 Cluster Manager: code cleanup.
561 1 file changed, 41 insertions(+), 87 deletions(-)
562
563artix in commit e084b8cc:
564 Cluster Manager: check/fix commands now handle multiple owners even
565 if all slots are covered and not open.
566 1 file changed, 129 insertions(+), 6 deletions(-)
567
568zhaozhao.zz in commit fa726e2a:
569 remove useless tryObjectEncoding in debug assert
570 1 file changed, 1 deletion(-)
571
572Oran Agra in commit 40244b10:
573 fix #5580, display fragmentation and rss overhead bytes as signed
574 2 files changed, 6 insertions(+), 6 deletions(-)
575
576zhaozhao.zz in commit beab3151:
577 networking: current_client should not be NULL when trim qb_pos
578 1 file changed, 1 insertion(+), 1 deletion(-)
579
580antirez in commit 07ccb642:
581 Remove no longer relevant comment in processCommand().
582 1 file changed, 2 insertions(+), 6 deletions(-)
583
584antirez in commit 60fdaf07:
585 DEBUG DIGEST-VALUE implemented.
586 1 file changed, 17 insertions(+), 3 deletions(-)
587
588antirez in commit 48b31b0d:
589 DEBUG DIGEST refactoring: extract function to digest a value.
590 1 file changed, 142 insertions(+), 131 deletions(-)
591
592yura in commit ef3ff402:
593 redis-cli reshard/rebalance: ability to force replacement on existing keys
594 1 file changed, 6 insertions(+), 5 deletions(-)
595
596Thomas Orozco in commit ee223fb8:
597 cli: pass auth through REDISCLI_AUTH
598 1 file changed, 14 insertions(+)
599
600yongman in commit 41295e55:
601 Fix cluster call reply format readable
602 1 file changed, 1 insertion(+), 1 deletion(-)
603
604Oran Agra in commit 0ed3970f:
605 fix small test suite race conditions
606 3 files changed, 11 insertions(+)
607
608zhaozhao.zz in commit 605dddbb:
609 MEMORY command: make USAGE more accurate
610 1 file changed, 7 insertions(+), 6 deletions(-)
611
612yongman in commit 1f43bf29:
613 Fix choose a random master node for slot assignment
614 1 file changed, 29 insertions(+), 5 deletions(-)
615
616Weiliang Li in commit 69f0c678:
617 fix comment typo in util.c
618 1 file changed, 1 insertion(+), 1 deletion(-)
619
620Chris Lamb in commit bc53a3ab:
621 Clarify the "Creating Server TCP listening socket" error.
622 1 file changed, 1 insertion(+), 1 deletion(-)
623
624Chris Lamb in commit fefe5460:
625 Don't treat unsupported protocols as fatal errors
626 1 file changed, 4 insertions(+)
627
628David Carlier in commit a8862972:
629 OpenBSD support.
630 3 files changed, 74 insertions(+), 1 deletion(-)
631
632David Carlier in commit 5e86daf9:
633 Backtrace/register dump on BSD.
634 3 files changed, 97 insertions(+), 3 deletions(-)
635
636Guy Benoish in commit 7c8cf5ac:
637 Don't call sdscmp() with shared.maxstring or shared.minstring
638 2 files changed, 23 insertions(+), 9 deletions(-)
639
640Qu Chen in commit 39e9eda3:
641 Add unit test for stream XCLAIM command.
642 1 file changed, 48 insertions(+)
643
644antirez in commit 62485232:
645 Abort instead of crashing when loading bad stream master key.
646 1 file changed, 3 insertions(+)
647
648Madelyn Olson in commit a5487309:
649 Fixed a serverPanic when sending an invalid command to a monitor client
650 1 file changed, 1 insertion(+), 1 deletion(-)
651
652================================================================================
653Redis 5.0.2     Released Thu Nov 22 11:22:37 CET 2018
654================================================================================
655
656Upgrade urgency: CRITICAL if you use streams and consumer groups.
657                 HIGH if you use redis-cli with Redis Cluster.
658                 LOW otherwise.
659
660Welcome to Redis 5.0.2. This release fixes two issues with Streams consumer
661groups, where items could be returned duplicated by XREADGROUP when accessing
662the history, and another bug where XREADGROUP can report some history even
663if the comsumer pending list is empty. Both problems were addressed and unit
664tests to avoid regressions implemented. Moreover this release fixes some
665issue with redis-cli when in cluster mode. Finally some FreeBSD and DragonFly
666build problems are now resolved. The list of the commits is below.
667
668Enjoy,
669Salvatore
670
671David Carlier in commit e8b4291a:
672 DragonFlyBSD little build fix
673 2 files changed, 6 insertions(+), 1 deletion(-)
674
675yongman in commit 8fcfd374:
676 skip slave nodes when sending cluster setslot command
677 1 file changed, 1 insertion(+)
678
679yongman in commit d7089ddd:
680 Fix pointer access and memory leak in redis-cli.
681 1 file changed, 6 insertions(+), 3 deletions(-)
682
683antirez in commit 17b4cd83:
684 Test: regression test for #5570.
685 1 file changed, 15 insertions(+)
686
687antirez in commit 45123169:
688 Stream: fix XREADGROUP history reading of deleted messages.
689 1 file changed, 1 insertion(+), 1 deletion(-)
690
691David Carlier in commit 5ad588f0:
692 only FreeBSD change/little warning addressing
693 2 files changed, 7 insertions(+), 4 deletions(-)
694
695David Carlier in commit 11801e1a:
696 tweak form feedback
697 1 file changed, 1 insertion(+), 1 deletion(-)
698
699David Carlier in commit c1f13575:
700 allow flavors
701 1 file changed, 1 insertion(+), 1 deletion(-)
702
703David Carlier in commit 275a2d49:
704 Fix clang build.
705 1 file changed, 5 insertions(+), 1 deletion(-)
706
707antirez in commit 44ad5141:
708 Test: regression test for #5577.
709 1 file changed, 24 insertions(+)
710
711antirez in commit c7951f43:
712 Streams: fix XREADGROUP history reading when CG last_id is low.
713 1 file changed, 12 insertions(+), 9 deletions(-)
714
715antirez in commit a69bc5be:
716 t_stream.c comment resized to 80 cols.
717 1 file changed, 2 insertions(+), 1 deletion(-)
718
719antirez in commit 5314099d:
720 Redis 5 changelog: don't expect Lua replies to be ordered.
721 1 file changed, 14 insertions(+), 5 deletions(-)
722
723================================================================================
724Redis 5.0.1     Released Wed Nov 07 13:09:30 CET 2018
725================================================================================
726
727Upgrade urgency: URGENT if you use Redis Streams. MODERATE otherwise.
728
729Hi all, this is the first patch level release of Redis 5. It contains
730both fixes and improvements. Here there is a list of the major ones, however
731read the commit messages at the end of the changelog if you want to know
732more about the smaller things. Let's start with the new features:
733
734* Sentinel now supports authentication! Check the Sentinel official doc
735  for more info.
736
737* Redis-cli cluster "fix" is now able to fix a big number of clusters put
738  in a bad condition. Previously many corner cases were not covered.
739
740Now the critical fixes:
741
7421. Fix RESTORE mismatch reply when certain keys already expired.
7432. Fix an XCLAIM non trivial issue: sometimes the command returned a wrong
744   entry or desynchronized the protocol.
745
746And now the other fixes:
747
7483. Stack trace generation on the Raspberry PI (and 32bit ARM) fixed.
7494. Don't evict expired keys when the KEYS command is called, in order to
750   avoid a mass deletion event. However expired keys are not displayed
751   by KEYS as usually.
7525. Improvements in the computation of the memory used, when estimating
753   the AOF buffers.
7546. XRANGE COUNT of 0 fixed.
7557. "key misses" stats accounting fixed. Many cache misses were not counted.
7568. When in MULTI state, return OOM while accumulating commands and there
757   is no longer memory available.
7589. Fix build on FreeBSD and possibly others.
75910. Fix a crash in Redis modules, thread safe context reply accumulation.
76011. Fix a race condition when producing the RDB file for full SYNC.
76112. Disable protected mode in Sentinel.
76213. More commands now have the HELP subcommand.
76314. Fixed an issue about adaptive server HZ timer.
76415. Fix cluster-replica-no-failover option name.
765
766Finally, this is the list of commits. Enjoy Redis 5.0.1!
767
768antirez in commit c801283f:
769 Fix cluster-replica-no-failover option name.
770 1 file changed, 1 insertion(+), 1 deletion(-)
771
772antirez in commit 4c4f50e1:
773 MEMORY command: make strcasecmp() conditional like the following.
774 1 file changed, 1 insertion(+), 2 deletions(-)
775
776Itamar Haber in commit a7b46e0e:
777 Uppercases subcommands in MEMORY HELP
778 1 file changed, 5 insertions(+), 5 deletions(-)
779
780Itamar Haber in commit 80e129d9:
781 Standardizes `MEMORY HELP` subcommand
782 1 file changed, 13 insertions(+), 14 deletions(-)
783
784valentino in commit 88805cbb:
785 fix short period of server.hz being uninitialized
786 1 file changed, 1 insertion(+), 1 deletion(-)
787
788Itamar Haber in commit 6b402733:
789 Adds HELP to LATENCY
790 1 file changed, 14 insertions(+), 2 deletions(-)
791
792yongman in commit 1c637de9:
793 fix malloc in clusterManagerComputeReshardTable
794 1 file changed, 1 insertion(+), 1 deletion(-)
795
796artix in commit 90b52fde:
797 Cluster Manager: removed unused var.
798 1 file changed, 1 insertion(+), 2 deletions(-)
799
800artix in commit 89cbb5df:
801 Cluster Manager: further improvements to "fix": - clusterManagerFixOpenSlot: ensure that the   slot is unassigned before ADDSLOTS - clusterManagerFixSlotsCoverage: after cold   migration, the slot configuration   is now updated on all the nodes.
802 1 file changed, 49 insertions(+), 10 deletions(-)
803
804artix in commit 175515c9:
805 Cluster Manager: fixed string parsing issue in clusterManagerGetConfigSignature
806 1 file changed, 3 insertions(+), 3 deletions(-)
807
808artix in commit 3997dd6e:
809 Cluster Manager: better fix subcommand.
810 1 file changed, 78 insertions(+), 20 deletions(-)
811
812artix in commit bd80291c:
813 Cluster Manager: fixed typos in comments.
814 1 file changed, 3 insertions(+), 3 deletions(-)
815
816artix in commit 4369cbce:
817 Cluster Manager: fixed 'DELSLOT' subcommand typo.
818 1 file changed, 1 insertion(+), 1 deletion(-)
819
820antirez in commit 1ed821e2:
821 Fix XCLAIM missing entry bug.
822 1 file changed, 3 insertions(+), 2 deletions(-)
823
824michael-grunder in commit b49bcd01:
825 Use typedef'd mstime_t instead of time_t
826 1 file changed, 1 insertion(+), 1 deletion(-)
827
828antirez in commit 09d1849e:
829 Improve streamReplyWithRange() top comment.
830 1 file changed, 9 insertions(+), 5 deletions(-)
831
832antirez in commit bdf6306f:
833 Add support for Sentinel authentication.
834 1 file changed, 17 insertions(+), 3 deletions(-)
835
836antirez in commit 50222af5:
837 Disable protected mode in Sentinel mode.
838 1 file changed, 1 insertion(+)
839
840antirez in commit 643ee6e3:
841 When replica kills a pending RDB save during SYNC, log it.
842 1 file changed, 6 insertions(+)
843
844Andrey Bugaevskiy in commit 8b609c99:
845 Move child termination to readSyncBulkPayload
846 1 file changed, 6 insertions(+), 7 deletions(-)
847
848Andrey Bugaevskiy in commit 27102605:
849 Prevent RDB autosave from overwriting full resync results
850 1 file changed, 7 insertions(+)
851
852antirez in commit a677923d:
853 asyncCloseClientOnOutputBufferLimitReached(): don't free fake clients.
854 1 file changed, 1 insertion(+)
855
856David Carlier in commit 427e440a:
857 needs it for the global
858 1 file changed, 1 insertion(+)
859
860David Carlier in commit 28f9ca4e:
861 Fix non Linux build.
862 3 files changed, 20 insertions(+), 1 deletion(-)
863
864zhaozhao.zz in commit 4bf9efe2:
865 MULTI: OOM err if cannot free enough memory in MULTI/EXEC context
866 1 file changed, 5 insertions(+), 2 deletions(-)
867
868antirez in commit 4fbd7a39:
869 Add command fingerprint comment for XSETID.
870 1 file changed, 3 insertions(+), 1 deletion(-)
871
872Itamar Haber in commit 2480db53:
873 Plugs a potential underflow
874 1 file changed, 1 insertion(+)
875
876Itamar Haber in commit e5e4d2ef:
877 Corrects inline documentation of syntax
878 1 file changed, 1 insertion(+), 1 deletion(-)
879
880zhaozhao.zz in commit 713800d2:
881 if we read a expired key, misses++
882 1 file changed, 5 insertions(+), 1 deletion(-)
883
884antirez in commit e79ee263:
885 Fix XRANGE COUNT option for value of 0.
886 1 file changed, 8 insertions(+), 2 deletions(-)
887
888antirez in commit 505cc70f:
889 Fix typo in streamReplyWithRange() top comment.
890 1 file changed, 1 insertion(+), 1 deletion(-)
891
892Damien Tournoud in commit 3c36561d:
893 Overhead is the allocated size of the AOF buffer, not its length
894 2 files changed, 2 insertions(+), 2 deletions(-)
895
896antirez in commit 3761582f:
897 Simplify part of the #5470 patch.
898 1 file changed, 11 insertions(+), 12 deletions(-)
899
900zhaozhao.zz in commit edc47a3a:
901 do not delete expired keys in KEYS command
902 1 file changed, 34 insertions(+), 27 deletions(-)
903
904antirez in commit 9872af6d:
905 Use guide comments to make changes in #5462 more obvious.
906 1 file changed, 6 insertions(+)
907
908youjiali1995 in commit 3f399c3b:
909 migrate: fix mismatch of RESTORE reply when some keys have expired.
910 1 file changed, 8 insertions(+), 6 deletions(-)
911
912hujie in commit eaaff621:
913 fix typo in config.c
914 1 file changed, 1 insertion(+), 1 deletion(-)
915
916hujiecs in commit 43ebb7ee:
917 several typos fixed, optimize MSETNX to avoid unnecessary loop
918 4 files changed, 4 insertions(+), 4 deletions(-)
919
920antirez in commit de8fdaac:
921 Remove useless complexity from MSET implementation.
922 1 file changed, 5 insertions(+), 7 deletions(-)
923
924antirez in commit dc8f1112:
925 Fix again stack generation on the Raspberry Pi.
926 1 file changed, 4 insertions(+)
927
928antirez in commit 83a6e81d:
929 Get rid of the word slave in the release note of Redis 5.
930 1 file changed, 2 insertions(+), 2 deletions(-)
931
932================================================================================
933Redis 5.0.0     Released Wed Oct 17 13:28:26 CEST 2018
934================================================================================
935
936Upgrade urgency CRITICAL: Several fixes to streams AOF and replication.
937
938Hi all and welcome to the first stable release of Redis 5! \o/
939
940To start a quick recap of what's new in Redis 5:
941
9421. The new Stream data type. https://redis.io/topics/streams-intro
9432. New Redis modules APIs: Timers, Cluster and Dictionary APIs.
9443. RDB now store LFU and LRU information.
9454. The cluster manager was ported from Ruby (redis-trib.rb) to C code
946   inside redis-cli. Check `redis-cli --cluster help` for more info.
9475. New sorted set commands: ZPOPMIN/MAX and blocking variants.
9486. Active defragmentation version 2.
9497. Improvemenets in HyperLogLog implementations.
9508. Better memory reporting capabilities.
9519. Many commands with sub-commands now have an HELP subcommand.
95210. Better performances when clients connect and disconnect often.
95311. Many bug fixes and other random improvements.
95412. Jemalloc was upgraded to version 5.1
95513. CLIENT UNBLOCK and CLIENT ID.
95614. The LOLWUT command was added. http://antirez.com/news/123
95715. We no longer use the "slave" word if not for API backward compatibility.
95816. Differnet optimizations in the networking layer.
95917. Lua improvements:
960    - Better propagation of Lua scripts to replicas / AOF.
961    - Lua scripts can now timeout and get in -BUSY state in the replica as well.
96218. Dynamic HZ to balance idle CPU usage with responsiveness.
96319. The Redis core was refactored and improved in many ways.
964
965However the list above really does not do justice to the changes of Redis 5
966since the core was improved in many ways during the development of the new
967version. However certain changes were back ported into Redis 4 once they were
968sensed as safe, because many improvements were hard to distinguish from fixes.
969
970The most important user facing improvement is without doubts the introduction
971of the new general purpose data type after years: the streams.
972
973Note that we worked to improve and fix streams till a few hours ago, so while
974we are not aware of critical bugs in this release, surely there is to handle it
975with some care for the first weeks. Bug reporting will be highly appreciated and
976we are ready to work immediately to release 5.0.1 once there is enough important
977stuff to justify a new release (probably soon).
978
979People not using the streams can have probably a better production-ready
980experience with Redis 5, also because many internals are shared with Redis 4
981so the jump is not as big as it was between 3.2 and 4 in terms of how things
982internally work.
983
984Well, many thanks to the Redis community and the developers that made
985this release possible, contributing bug reports, patches, new features, working
986on the clients, sometimes debugging problems for days. Also thank to everybody
987that adopted Redis for their use cases making things work for users worldwide.
988
989The list of commits in this release follows.
990
991Cheers,
992Salvatore
993
994antirez in commit bcc0916d:
995 Fix conditional in XGROUP.
996 1 file changed, 1 insertion(+), 1 deletion(-)
997
998antirez in commit 1b2f23f3:
999 Update help.h for redis-cli.
1000 1 file changed, 57 insertions(+), 7 deletions(-)
1001
1002antirez in commit de0ae56c:
1003 Tests for XGROUP CREATE MKSTREAM.
1004 1 file changed, 11 insertions(+)
1005
1006antirez in commit 56c3dfa1:
1007 Fix XGROUP CREATE MKSTREAM handling of .
1008 1 file changed, 7 insertions(+), 2 deletions(-)
1009
1010antirez in commit 2687f228:
1011 Process MKSTREAM option of XGROUP CREATE at a later time.
1012 1 file changed, 28 insertions(+), 17 deletions(-)
1013
1014zhaozhao.zz in commit cfbaf8f1:
1015 Scripting & Streams: some commands need right flags
1016 1 file changed, 5 insertions(+), 5 deletions(-)
1017
1018antirez in commit 4e4099b9:
1019 XGROUP CREATE: MKSTREAM option for automatic stream creation.
1020 1 file changed, 29 insertions(+), 5 deletions(-)
1021
1022zhaozhao.zz in commit 6dd4d864:
1023 Streams: Tests modified XSTREAM -> XSETID
1024 1 file changed, 2 insertions(+), 2 deletions(-)
1025
1026zhaozhao.zz in commit 3aff0e8c:
1027 Streams: rewrite empty streams with certain lastid
1028 1 file changed, 1 insertion(+), 1 deletion(-)
1029
1030antirez in commit 880b563e:
1031 Tests modified to use XADD MAXLEN 0 + XSETID.
1032 1 file changed, 12 insertions(+), 26 deletions(-)
1033
1034antirez in commit 83c87835:
1035 Streams: rewrite empty streams with XADD MAXLEN 0. Use XSETID.
1036 1 file changed, 18 insertions(+), 12 deletions(-)
1037
1038antirez in commit fd22e3ac:
1039 XSETID: accept IDs based on last entry.
1040 1 file changed, 18 insertions(+), 5 deletions(-)
1041
1042antirez in commit dfab3cba:
1043 Streams: XSTREAM SETID -> XSETID.
1044 3 files changed, 17 insertions(+), 67 deletions(-)
1045
1046zhaozhao.zz in commit a3fb28ed:
1047 Streams: rewrite id in XSTREAM CREATE *
1048 1 file changed, 4 insertions(+)
1049
1050zhaozhao.zz in commit f4b4db13:
1051 Streams: add tests for aof rewrite
1052 1 file changed, 23 insertions(+)
1053
1054zhaozhao.zz in commit d22f1ef0:
1055 Stream & AOF: rewrite stream in correct way
1056 1 file changed, 32 insertions(+), 16 deletions(-)
1057
1058zhaozhao.zz in commit 6455274d:
1059 Streams: add tests for XSTREAM command
1060 1 file changed, 39 insertions(+)
1061
1062zhaozhao.zz in commit 0edbe953:
1063 Streams: add a new command XTREAM
1064 3 files changed, 67 insertions(+)
1065
1066Hamid Alaei in commit 9714bba2:
1067 fix timer context selected database
1068 1 file changed, 3 insertions(+), 1 deletion(-)
1069
1070antirez in commit eb53f15a:
1071 Make comment about nack->consumer test for minidle more obvious.
1072 1 file changed, 4 insertions(+), 2 deletions(-)
1073
1074antirez in commit a77f836e:
1075 Streams: use propagate_last_id itself as streamPropagateGroupID trigger.
1076 1 file changed, 2 insertions(+), 2 deletions(-)
1077
1078antirez in commit 0f0610eb:
1079 Streams: better naming: lastid_updated -> propagate_last_id.
1080 1 file changed, 6 insertions(+), 6 deletions(-)
1081
1082zhaozhao.zz in commit a745e423:
1083 Streams: panic if streamID invalid after check, should not be possible.
1084 1 file changed, 2 insertions(+), 1 deletion(-)
1085
1086zhaozhao.zz in commit 9974be13:
1087 Streams: propagate lastid in XCLAIM when it has effect
1088 1 file changed, 13 insertions(+), 6 deletions(-)
1089
1090zhaozhao.zz in commit 69a628d0:
1091 Streams: XCLAIM ignore minidle if NACK is created by FORCE
1092 1 file changed, 4 insertions(+), 2 deletions(-)
1093
1094zhaozhao.zz in commit a04b43c7:
1095 Streams: bugfix XCLAIM should propagate group name not consumer name
1096 1 file changed, 1 insertion(+), 1 deletion(-)
1097
1098Sergey Chupov in commit 8977a90c:
1099 fixed typos in readme
1100 1 file changed, 2 insertions(+), 2 deletions(-)
1101
1102antirez in commit 3a745674:
1103 redis.conf typo fixed: ingore -> ignore.
1104 1 file changed, 1 insertion(+), 1 deletion(-)
1105
1106antirez in commit 22770d76:
1107 Rax: radix tree updated to latest version from antirez/rax.
1108 2 files changed, 233 insertions(+), 68 deletions(-)
1109
1110antirez in commit fbac534f:
1111 Test: avoid time related false positive in RESTORE test.
1112 1 file changed, 1 insertion(+), 1 deletion(-)
1113
1114antirez in commit 49872337:
1115 LOLWUT: capitalize Nees.
1116 1 file changed, 1 insertion(+), 1 deletion(-)
1117
1118antirez in commit 80c471f5:
1119 Test: cgroup propagation test also for NOACK variant.
1120 1 file changed, 39 insertions(+), 29 deletions(-)
1121
1122antirez in commit 8defa5da:
1123 Test: consumer group last ID slave propagation test.
1124 1 file changed, 39 insertions(+)
1125
1126zhaozhao.zz in commit e1e3eaca:
1127 Avoid recreate write handler for protected client.
1128 1 file changed, 4 insertions(+)
1129
1130antirez in commit b501fd5d:
1131 Fix propagation of consumer groups last ID.
1132 3 files changed, 56 insertions(+), 9 deletions(-)
1133
1134
1135================================================================================
1136Redis 5.0-rc6     Released Wed Oct 10 11:03:54 CEST 2018
1137================================================================================
1138
1139Upgrade urgency HIGH: Many bugs fixed especially in the context of streams.
1140
1141This is probably the last release candidate of Redis 5. The Redis 5 GA version
1142will be released 17th of October. The main highlights of this release are:
1143
1144* Critical AOF bug, as old as AOF itself: if an open MULTI/EXEC block is at
1145  the end of the AOF file, Redis would still read the half-transaction when
1146  reloading back the AOF.
1147* The slave name was removed from logs and documentation, now replica is used
1148  instead.
1149* LOLWUT command added.
1150* New modules APIs: Disable Redis Cluster redirection.
1151* New modules APIs: Sorted dictionaries data type.
1152* Modules APIs fixes: timer / cluster messages callback now can call RM_Call().
1153* Fix for #5024 - commandstats for multi-exec were logged as EXEC.
1154* A number of optimizations and fixes for the stream data type.
1155* Many other stability improvements.
1156
1157This is the list of comments and contributors:
1158
1159antirez in commit 9a6fa7d0:
1160 changelog.tcl: get optional argument for number of commits.
1161 1 file changed, 8 insertions(+), 3 deletions(-)
1162
1163antirez in commit 101e419f:
1164 Free protected clients asynchronously.
1165 1 file changed, 7 insertions(+)
1166
1167antirez in commit 726debb8:
1168 Actually use the protectClient() API where needed.
1169 2 files changed, 8 insertions(+), 9 deletions(-)
1170
1171antirez in commit 0b87f78a:
1172 Introduce protectClient() + some refactoring.
1173 2 files changed, 60 insertions(+), 18 deletions(-)
1174
1175zhaozhao.zz in commit 6aa8ac70:
1176 debug: avoid free client unexpectedly when reload & loadaof
1177 1 file changed, 8 insertions(+), 2 deletions(-)
1178
1179antirez in commit 48040b02:
1180 aof.c: improve indentation and change warning message.
1181 1 file changed, 11 insertions(+), 4 deletions(-)
1182
1183zhaozhao.zz in commit 7cc20569:
1184 AOF: discard if we lost EXEC when loading aof
1185 2 files changed, 14 insertions(+), 3 deletions(-)
1186
1187antirez in commit 2007d30c:
1188 Refactoring of XADD / XTRIM MAXLEN rewriting.
1189 1 file changed, 15 insertions(+), 22 deletions(-)
1190
1191zhaozhao.zz in commit 6a298110:
1192 Streams: add test cases for XADD/XTRIM maxlen
1193 1 file changed, 46 insertions(+)
1194
1195zhaozhao.zz in commit 041161b7:
1196 Streams: propagate specified MAXLEN instead of approximated
1197 1 file changed, 35 insertions(+), 6 deletions(-)
1198
1199zhaozhao.zz in commit f04d799b:
1200 Streams: reset approx_maxlen in every maxlen loop
1201 1 file changed, 2 insertions(+)
1202
1203zhaozhao.zz in commit affd9365:
1204 Streams: XTRIM  will return an error if MAXLEN with a count < 0
1205 1 file changed, 6 insertions(+), 1 deletion(-)
1206
1207zhaozhao.zz in commit 4c405ad0:
1208 Streams: propagate original MAXLEN argument in XADD context
1209 1 file changed, 3 insertions(+), 12 deletions(-)
1210
1211antirez in commit 5c6d4b4a:
1212 Fix typo in replicationCron() comment.
1213 1 file changed, 1 insertion(+), 1 deletion(-)
1214
1215antirez in commit a67a8dbf:
1216 Fix typo in design comment of bio.c.
1217 1 file changed, 1 insertion(+), 1 deletion(-)
1218
1219antirez in commit c4ab5a05:
1220 xclaimCommand(): fix comment typos.
1221 1 file changed, 2 insertions(+), 2 deletions(-)
1222
1223antirez in commit dc0b628a:
1224 streamAppendItem(): Update the radix tree pointer only if changed.
1225 1 file changed, 2 insertions(+), 1 deletion(-)
1226
1227antirez in commit 4566fbc7:
1228 Listpack: optionally force reallocation on inserts.
1229 1 file changed, 20 insertions(+)
1230
1231antirez in commit 5eca170c:
1232 Fix printf type mismatch in genRedisInfoString().
1233 1 file changed, 1 insertion(+), 1 deletion(-)
1234
1235antirez in commit 260b53a2:
1236 streamIteratorRemoveEntry(): set back lp only if pointer changed.
1237 1 file changed, 2 insertions(+), 1 deletion(-)
1238
1239zhaozhao.zz in commit 5d12f9d9:
1240 Streams: update listpack with new pointer in XDEL
1241 1 file changed, 3 insertions(+)
1242
1243zhaozhao.zz in commit 6b7ad838:
1244 bugfix: replace lastcmd with cmd when rewrite BRPOPLPUSH as RPOPLPUSH
1245 1 file changed, 1 insertion(+), 1 deletion(-)
1246
1247Oran Agra in commit 3454a043:
1248 script cache memory in INFO and MEMORY includes both script code and overheads
1249 2 files changed, 3 insertions(+), 3 deletions(-)
1250
1251Oran Agra in commit d6aeca86:
1252 fix #5024 - commandstats for multi-exec were logged as EXEC.
1253 2 files changed, 63 insertions(+), 2 deletions(-)
1254
1255antirez in commit a996b2a2:
1256 Fix XINFO comment for consistency.
1257 1 file changed, 1 insertion(+), 1 deletion(-)
1258
1259Bruce Merry in commit 1a8447b6:
1260 Fix invalid use of sdsZmallocSize on an embedded string
1261 1 file changed, 1 insertion(+), 1 deletion(-)
1262
1263Bruce Merry in commit 8dde46ad:
1264 Fix incorrect memory usage accounting in zrealloc
1265 3 files changed, 24 insertions(+), 2 deletions(-)
1266
1267Hamid Alaei in commit b362a1b7:
1268 fix dict get on not found
1269 1 file changed, 1 insertion(+), 1 deletion(-)
1270
1271antirez in commit 55e9df8a:
1272 Try to avoid issues with GCC pragmas and older compilers.
1273 1 file changed, 7 insertions(+), 4 deletions(-)
1274
1275antirez in commit b0d22702:
1276 Modules: hellodict example WIP #3: KEYRANGE.
1277 1 file changed, 40 insertions(+)
1278
1279antirez in commit af2f6682:
1280 Modules: Modules: dictionary API WIP #13: Compare API exported.
1281 2 files changed, 6 insertions(+)
1282
1283antirez in commit f9a3e6ef:
1284 Modules: Modules: dictionary API WIP #12: DictCompare API.
1285 1 file changed, 8 insertions(+)
1286
1287antirez in commit 01e0341a:
1288 Modules: Modules: dictionary API WIP #11: DictCompareC API.
1289 1 file changed, 18 insertions(+)
1290
1291antirez in commit f9b3ce9a:
1292 Modules: hellodict example WIP #1: GET command.
1293 1 file changed, 18 insertions(+)
1294
1295antirez in commit 36e66d86:
1296 Modules: hellodict example WIP #1: SET command.
1297 1 file changed, 74 insertions(+)
1298
1299antirez in commit e33fdbe8:
1300 Modules: remove useless defines in hellotimer.c
1301 2 files changed, 6 insertions(+), 4 deletions(-)
1302
1303antirez in commit 1c8b2248:
1304 Modules: fix top comment of hellotimer.c
1305 1 file changed, 1 insertion(+), 1 deletion(-)
1306
1307Guy Korland in commit 7ded552d:
1308 add missing argument to function doc
1309 1 file changed, 1 insertion(+), 1 deletion(-)
1310
1311Pavel Skuratovich in commit f92b3273:
1312 Fix typo in comment
1313 1 file changed, 1 insertion(+), 1 deletion(-)
1314
1315antirez in commit 57b6c343:
1316 Modules: dictionary API WIP #10: export API to modules.
1317 2 files changed, 60 insertions(+)
1318
1319antirez in commit 3f82e59c:
1320 Modules: dictionary API WIP #9: iterator returning string object.
1321 1 file changed, 23 insertions(+), 6 deletions(-)
1322
1323antirez in commit 6a73aca3:
1324 Modules: dictionary API WIP #8: Iterator next/prev.
1325 1 file changed, 42 insertions(+)
1326
1327antirez in commit ef8413db:
1328 Modules: dictionary API WIP #7: don't store the context.
1329 1 file changed, 7 insertions(+), 8 deletions(-)
1330
1331antirez in commit 05579e38:
1332 Modules: dictionary API WIP #6: implement automatic memory management.
1333 1 file changed, 21 insertions(+), 7 deletions(-)
1334
1335antirez in commit 11c53f8c:
1336 Modules: dictionary API work in progress #5: rename API for consistency.
1337 1 file changed, 25 insertions(+), 25 deletions(-)
1338
1339antirez in commit 0bd7091b:
1340 Modules: change RedisModuleString API to allow NULL context.
1341 1 file changed, 33 insertions(+), 12 deletions(-)
1342
1343antirez in commit 5fc16f17:
1344 Modules: dictionary API work in progress #4: reseek API.
1345 1 file changed, 25 insertions(+), 6 deletions(-)
1346
1347antirez in commit 45b7f779:
1348 Modules: dictionary API work in progress #3: Iterator creation.
1349 1 file changed, 41 insertions(+), 1 deletion(-)
1350
1351antirez in commit 8576b0ae:
1352 Modules: dictionary API work in progress #2: Del API.
1353 1 file changed, 17 insertions(+), 2 deletions(-)
1354
1355antirez in commit 4b0fa7a7:
1356 Modules: dictionary API work in progress #1.
1357 2 files changed, 95 insertions(+), 1 deletion(-)
1358
1359antirez in commit 28210760:
1360 Module cluster flags: use RM_SetClusterFlags() in the example.
1361 2 files changed, 11 insertions(+)
1362
1363antirez in commit 18c5ab93:
1364 Module cluster flags: add RM_SetClusterFlags() API.
1365 3 files changed, 33 insertions(+)
1366
1367antirez in commit 4ce6bff2:
1368 Module cluster flags: add hooks for NO_FAILOVER flag.
1369 1 file changed, 4 insertions(+), 2 deletions(-)
1370
1371antirez in commit 2ba52889:
1372 Module cluster flags: add hooks for NO_REDIRECTION flag.
1373 3 files changed, 14 insertions(+), 4 deletions(-)
1374
1375antirez in commit 6a39ece6:
1376 Module cluster flags: initial vars / defines added.
1377 5 files changed, 20 insertions(+)
1378
1379antirez in commit 0ff35370:
1380 Modules: rename the reused static client to something more general.
1381 1 file changed, 10 insertions(+), 8 deletions(-)
1382
1383antirez in commit 2d11ee95:
1384 Modules: associate a fake client to timer context callback.
1385 1 file changed, 2 insertions(+)
1386
1387antirez in commit 851b2ed3:
1388 Modules: associate a fake client to cluster message context callback.
1389 1 file changed, 2 insertions(+)
1390
1391artix in commit 148e4911:
1392 Cluster Manager: clusterManagerFixOpenSlot now counts node's keys in slot if node is neither migrating nor importing.
1393 1 file changed, 20 insertions(+), 1 deletion(-)
1394
1395Guy Korland in commit 8afca145:
1396 No need to return "OK"
1397 1 file changed, 1 insertion(+), 1 deletion(-)
1398
1399Guy Korland in commit 9a278db2:
1400 typo fix
1401 1 file changed, 1 insertion(+), 1 deletion(-)
1402
1403antirez in commit 26479036:
1404 Revert "fix repeat argument issue and reduce unnessary loop times for redis-cli."
1405 1 file changed, 7 insertions(+), 12 deletions(-)
1406
1407Guy Korland in commit 27b7fb5a:
1408 Fix few typos
1409 1 file changed, 10 insertions(+), 10 deletions(-)
1410
1411Guy Korland in commit 233aa2d3:
1412 RedisModule_HashSet call must end with NULL
1413 1 file changed, 3 insertions(+), 1 deletion(-)
1414
1415antirez in commit a8494072:
1416 Sentinel: document how to undo a renamed command.
1417 1 file changed, 6 insertions(+), 1 deletion(-)
1418
1419antirez in commit 6c8a8f2e:
1420 LOLWUT: split the command from version-specific implementations.
1421 3 files changed, 297 insertions(+), 241 deletions(-)
1422
1423antirez in commit 5c758406:
1424 Slave removal: add a few forgotten aliases for CONFIG SET.
1425 1 file changed, 10 insertions(+)
1426
1427antirez in commit 2da823c4:
1428 LOLWUT: add Redis version in the output.
1429 1 file changed, 3 insertions(+), 1 deletion(-)
1430
1431antirez in commit bfcba420:
1432 LOLWUT: Ness -> Nees.
1433 1 file changed, 1 insertion(+), 1 deletion(-)
1434
1435antirez in commit efed898a:
1436 LOLWUT: Limit maximum CPU effort.
1437 1 file changed, 5 insertions(+)
1438
1439antirez in commit eb0fbd71:
1440 LOLWUT: change padding conditional to a more direct one.
1441 1 file changed, 1 insertion(+), 1 deletion(-)
1442
1443Slobodan Mišković in commit ed08feb7:
1444 Fix spelling descrive -> describe
1445 1 file changed, 1 insertion(+), 1 deletion(-)
1446
1447antirez in commit 2ffb4413:
1448 LOLWUT: fix crash when col < 2.
1449 1 file changed, 1 insertion(+), 1 deletion(-)
1450
1451antirez in commit 55dae693:
1452 LOLWUT: fix structure typo in comment.
1453 1 file changed, 1 insertion(+), 1 deletion(-)
1454
1455antirez in commit 9b3098b9:
1456 LOLWUT: Fix license copyright year.
1457 1 file changed, 1 insertion(+), 1 deletion(-)
1458
1459antirez in commit 263dbadc:
1460 LOLWUT: increase the translation factor.
1461 1 file changed, 2 insertions(+), 2 deletions(-)
1462
1463antirez in commit a622f6c0:
1464 LOLWUT: change default size to fit a normal terminal better.
1465 1 file changed, 6 insertions(+), 6 deletions(-)
1466
1467antirez in commit 38b0d25a:
1468 LOLWUT: wrap it into a proper command.
1469 4 files changed, 40 insertions(+), 15 deletions(-)
1470
1471antirez in commit 34ebd898:
1472 LOLWUT: draw Schotter by Georg Nees.
1473 1 file changed, 47 insertions(+), 3 deletions(-)
1474
1475antirez in commit 46286e64:
1476 LOLWUT: draw rotated squares using trivial trigonometry.
1477 1 file changed, 44 insertions(+)
1478
1479antirez in commit 2d4143fd:
1480 LOLWUT: draw lines using Bresenham algorithm.
1481 1 file changed, 26 insertions(+), 2 deletions(-)
1482
1483antirez in commit 3546d9ce:
1484 LOLWUT: Rendering of the virtual canvas to a string.
1485 1 file changed, 78 insertions(+), 7 deletions(-)
1486
1487antirez in commit b404a6ce:
1488 LOLWUT: show the output verbatim in redis-cli.
1489 1 file changed, 1 insertion(+)
1490
1491antirez in commit e30ba94f:
1492 LOLWUT: canvas structure and BSD license on top.
1493 1 file changed, 46 insertions(+)
1494
1495antirez in commit 9c771145:
1496 LOLWUT: Emit Braille unicode according to pixel pattern.
1497 1 file changed, 23 insertions(+)
1498
1499Jakub Vrana in commit 4a1d6c7d:
1500 Slave removal: capitalize Replica
1501 2 files changed, 5 insertions(+), 5 deletions(-)
1502
1503antirez in commit 72e0368a:
1504 Slave removal: remove slave from integration tests descriptions.
1505 8 files changed, 36 insertions(+), 36 deletions(-)
1506
1507antirez in commit c7841c2b:
1508 Slave removal: remove slave from top-level tests descriptions.
1509 3 files changed, 12 insertions(+), 12 deletions(-)
1510
1511antirez in commit 1b9b19ba:
1512 Slave removal: remove slave from object.c.
1513 1 file changed, 1 insertion(+), 1 deletion(-)
1514
1515antirez in commit 7da266e6:
1516 Slave removal: remove slave from the README.
1517 1 file changed, 7 insertions(+), 7 deletions(-)
1518
1519antirez in commit 93d803c9:
1520 Slave removal: server.c logs fixed.
1521 1 file changed, 5 insertions(+), 5 deletions(-)
1522
1523antirez in commit 89434032:
1524 Slave removal: remove slave from sentinel.conf when possible.
1525 1 file changed, 18 insertions(+), 18 deletions(-)
1526
1527antirez in commit 7673d88d:
1528 Slave removal: replace very few things in Sentinel.
1529 1 file changed, 12 insertions(+), 8 deletions(-)
1530
1531antirez in commit f1de29b3:
1532 Slave removal: scripting.c logs and other stuff fixed.
1533 1 file changed, 6 insertions(+), 2 deletions(-)
1534
1535antirez in commit 53fe558e:
1536 Slave removal: replication.c logs fixed.
1537 1 file changed, 35 insertions(+), 35 deletions(-)
1538
1539antirez in commit c92b02dd:
1540 Slave removal: networking.c logs fixed.
1541 1 file changed, 5 insertions(+), 5 deletions(-)
1542
1543antirez in commit be76ed0c:
1544 Slave removal: blocked.c logs fixed.
1545 1 file changed, 1 insertion(+), 1 deletion(-)
1546
1547antirez in commit 3fd73151:
1548 Slave removal: Make obvious in redis.conf what a replica is.
1549 1 file changed, 5 insertions(+)
1550
1551antirez in commit a22168e4:
1552 Slave removal: slave mode -> replica mode text in redis-cli.
1553 1 file changed, 1 insertion(+), 1 deletion(-)
1554
1555antirez in commit 0e222fbe:
1556 Slave removal: fix typo of replicaof.
1557 1 file changed, 1 insertion(+), 1 deletion(-)
1558
1559antirez in commit 34a5615e:
1560 Slave removal: slave -> replica in redis.conf and output buffer option.
1561 3 files changed, 132 insertions(+), 129 deletions(-)
1562
1563antirez in commit 1d2fcf6f:
1564 Slave removal: Convert cluster.c log messages and command names.
1565 1 file changed, 12 insertions(+), 11 deletions(-)
1566
1567antirez in commit 2546158d:
1568 Slave removal: config.c converted + config rewriting hacks.
1569 1 file changed, 117 insertions(+), 38 deletions(-)
1570
1571antirez in commit c0952c0d:
1572 Slave removal: redis-cli --slave -> --replica.
1573 1 file changed, 3 insertions(+), 1 deletion(-)
1574
1575antirez in commit 1f37f1dd:
1576 Slave removal: SLAVEOF -> REPLICAOF. SLAVEOF is now an alias.
1577 3 files changed, 4 insertions(+), 3 deletions(-)
1578
1579Amin Mesbah in commit 7928f578:
1580 Use geohash limit defines in constraint check
1581 1 file changed, 2 insertions(+), 2 deletions(-)
1582
1583Jeffrey Lovitz in commit bb2bed78:
1584 CLI Help text loop verifies arg count
1585 1 file changed, 1 insertion(+), 1 deletion(-)
1586
1587youjiali1995 in commit 246980d0:
1588 sentinel: fix randomized sentinelTimer.
1589 1 file changed, 1 insertion(+), 3 deletions(-)
1590
1591youjiali1995 in commit fa7de8c4:
1592 bio: fix bioWaitStepOfType.
1593 1 file changed, 3 insertions(+), 3 deletions(-)
1594
1595Weiliang Li in commit 7642f9d5:
1596 fix usage typo in redis-cli
1597 1 file changed, 1 insertion(+), 1 deletion(-)
1598
1599================================================================================
1600Redis 5.0 RC5     Released Thu Sep 06 12:54:29 CEST 2018
1601================================================================================
1602
1603Upgrade urgency HIGH: Several imporant bugs fixed.
1604
1605Hi all,
1606
1607This is the release candidate number five, and has a lot of bug fixes inside,
1608together with a few big changes to the Redis behavior from the point of view
1609of replication of scripts and handling of the maxmemory directive in slaves.
1610Make sure to read the whole list!
1611
1612* BREAKING BEHAVIOR: Slaves now ignore maxmemory by default.
1613* BREAKING BEHAVIOR: Now scripts are always replicated for their effects, and
1614                     never sending the script itself to slaves/AOF.
1615* Improvement: Big pipelining performances improved significantly.
1616* Fix: Rewrite BRPOPLPUSH as RPOPLPUSH to propagate.
1617* Fix: False positives in tests.
1618* Fix: Certain command flags were modified because not correct.
1619* Fix: Fix blocking XREAD for streams that are empty.
1620* Improvement: Allow scripts to timeout on slaves as well.
1621* Fix: Different corner cases due to CLIENT PAUSE are now fixed.
1622* Improvement: Optimize parsing large bulk greater than 32k.
1623* Fix: Propagate read-only scripts as SCRIPT LOAD, not as EVAL.
1624
1625The following is the list of commits, so that you can read the details and
1626check the credits of the commits.
1627
1628antirez in commit 1d1bf7f0:
1629 Document that effects replication is Redis 5 default.
1630 1 file changed, 8 insertions(+)
1631
1632antirez in commit cfd969c7:
1633 Fix scripting tests now that we default to commands repl.
1634 1 file changed, 8 insertions(+), 1 deletion(-)
1635
1636antirez in commit 3e1fb5ff:
1637 Use commands (effects) replication by default in scripts.
1638 3 files changed, 8 insertions(+), 1 deletion(-)
1639
1640antirez in commit c6c71abe:
1641 Safer script stop condition on OOM.
1642 1 file changed, 5 insertions(+), 2 deletions(-)
1643
1644antirez in commit dfbce91a:
1645 Propagate read-only scripts as SCRIPT LOAD.
1646 1 file changed, 16 insertions(+), 3 deletions(-)
1647
1648antirez in commit 1705e42e:
1649 Don't perform eviction when re-entering the event loop.
1650 1 file changed, 7 insertions(+), 2 deletions(-)
1651
1652antirez in commit a0dd6f82:
1653 Clarify why remaining may be zero in readQueryFromClient().
1654 1 file changed, 2 insertions(+)
1655
1656zhaozhao.zz in commit 2eed31a5:
1657 networking: fix unexpected negative or zero readlen
1658 1 file changed, 1 insertion(+), 1 deletion(-)
1659
1660antirez in commit 37fb606c:
1661 Merge branch '5.0' of github.com:/antirez/redis into 5.0
1662zhaozhao.zz in commit 1898e6ce:
1663 networking: optimize parsing large bulk greater than 32k
1664 1 file changed, 13 insertions(+), 10 deletions(-)
1665
1666antirez in commit 82fc63d1:
1667 Unblocked clients API refactoring. See #4418.
1668 4 files changed, 33 insertions(+), 15 deletions(-)
1669
1670zhaozhao.zz in commit 839bb52c:
1671 if master is already unblocked, do not unblock it twice
1672 1 file changed, 1 insertion(+), 1 deletion(-)
1673
1674zhaozhao.zz in commit 2e1cd82d:
1675 fix multiple unblock for clientsArePaused()
1676 1 file changed, 3 insertions(+), 3 deletions(-)
1677
1678antirez in commit 17233080:
1679 Make pending buffer processing safe for CLIENT_MASTER client.
1680 3 files changed, 22 insertions(+), 13 deletions(-)
1681
1682antirez in commit 42bce87a:
1683 Test: processing of master stream in slave -BUSY state.
1684 1 file changed, 44 insertions(+)
1685
1686antirez in commit 8bf42f60:
1687 After slave Lua script leaves busy state, re-process the master buffer.
1688 2 files changed, 5 insertions(+), 2 deletions(-)
1689
1690antirez in commit c2b104c7:
1691 While the slave is busy, just accumulate master input.
1692 2 files changed, 6 insertions(+), 1 deletion(-)
1693
1694antirez in commit 7b75f4ae:
1695 Allow scripts to timeout even if from the master instance.
1696 1 file changed, 6 insertions(+), 11 deletions(-)
1697
1698antirez in commit adc4e031:
1699 Allow scripts to timeout on slaves as well.
1700 2 files changed, 10 insertions(+), 3 deletions(-)
1701
1702dejun.xdj in commit 20ec1f0c:
1703 Revise the comments of latency command.
1704 1 file changed, 2 insertions(+), 1 deletion(-)
1705
1706Chris Lamb in commit 8e5423eb:
1707 Correct "did not received" -> "did not receive" typos/grammar.
1708 6 files changed, 10 insertions(+), 10 deletions(-)
1709
1710zhaozhao.zz in commit 395063d7:
1711 remove duplicate bind in sentinel.conf
1712 1 file changed, 10 deletions(-)
1713
1714Salvatore Sanfilippo in commit b221ca41:
1715 Merge pull request #5300 from SaschaRoland/xread-block-5299
1716Sascha Roland in commit eea0d3c5:
1717 #5299 Fix blocking XREAD for streams that ran dry
1718 1 file changed, 2 insertions(+), 2 deletions(-)
1719
1720antirez in commit 4cb9ee11:
1721 Add maxmemory slave behavior change in the change log.
1722 1 file changed, 8 insertions(+)
1723
1724zhaozhao.zz in commit 5ad888ba:
1725 Supplement to PR #4835, just take info/memory/command as random commands
1726 1 file changed, 3 insertions(+), 3 deletions(-)
1727
1728zhaozhao.zz in commit d928487f:
1729 some commands' flags should be set correctly, issue #4834
1730 1 file changed, 14 insertions(+), 14 deletions(-)
1731
1732Oran Agra in commit af675f0a:
1733 Fix unstable tests on slow machines.
1734 3 files changed, 23 insertions(+), 17 deletions(-)
1735
1736antirez in commit f2cd16be:
1737 Document slave-ignore-maxmemory in redis.conf.
1738 1 file changed, 20 insertions(+)
1739
1740antirez in commit 02d729b4:
1741 Make slave-ignore-maxmemory configurable.
1742 1 file changed, 9 insertions(+)
1743
1744antirez in commit 447da44d:
1745 Introduce repl_slave_ignore_maxmemory flag internally.
1746 3 files changed, 7 insertions(+)
1747
1748antirez in commit 868b2925:
1749 Better variable meaning in processCommand().
1750 1 file changed, 2 insertions(+), 2 deletions(-)
1751
1752antirez in commit 319f2ee6:
1753 Re-apply rebased #2358.
1754 1 file changed, 1 insertion(+), 1 deletion(-)
1755
1756zhaozhao.zz in commit 22c166da:
1757 block: format code
1758 1 file changed, 2 insertions(+), 2 deletions(-)
1759
1760zhaozhao.zz in commit c03c5913:
1761 block: rewrite BRPOPLPUSH as RPOPLPUSH to propagate
1762 3 files changed, 5 insertions(+), 1 deletion(-)
1763
1764zhaozhao.zz in commit fcd5ef16:
1765 networking: make setProtocolError simple and clear
1766 1 file changed, 11 insertions(+), 13 deletions(-)
1767
1768zhaozhao.zz in commit 656e4b2f:
1769 networking: just move qb_pos instead of sdsrange in processInlineBuffer
1770 1 file changed, 2 insertions(+), 3 deletions(-)
1771
1772zhaozhao.zz in commit 2c7972ce:
1773 networking: just return C_OK if multibulk processing saw a <= 0 length.
1774 1 file changed, 2 insertions(+), 5 deletions(-)
1775
1776zhaozhao.zz in commit 1203a04f:
1777 adjust qbuf to 26 in test case for client list
1778 1 file changed, 1 insertion(+), 1 deletion(-)
1779
1780zhaozhao.zz in commit aff86fa1:
1781 pipeline: do not sdsrange querybuf unless all commands processed
1782 2 files changed, 48 insertions(+), 40 deletions(-)
1783
1784Chris Lamb in commit 45a6c5be:
1785 Use SOURCE_DATE_EPOCH over unreproducible uname + date calls.
1786 1 file changed, 3 insertions(+)
1787
1788Chris Lamb in commit 186df148:
1789 Make some defaults explicit in the sentinel.conf for package maintainers
1790 1 file changed, 25 insertions(+)
1791
1792dejun.xdj in commit b59f04a0:
1793 Streams: ID of xclaim command starts from the sixth argument.
1794 1 file changed, 1 insertion(+), 1 deletion(-)
1795
1796shenlongxing in commit a3f2437b:
1797 Fix stream command paras
1798 2 files changed, 7 insertions(+), 7 deletions(-)
1799
1800antirez in commit df911235:
1801 Fix AOF comment to report the current behavior.
1802 1 file changed, 3 insertions(+), 1 deletion(-)
1803
1804
1805
1806================================================================================
1807Redis 5.0 RC4     Released Fri Aug 03 13:51:02 CEST 2018
1808================================================================================
1809
1810Upgrade urgency
1811
1812    HIGH: Many non critical but important issues fixed.
1813    CRITICAL for Stream users: Many important bugs fixed.
1814
1815Hi all, welcome to Redis 5.0 RC4.
1816
1817This release is a huge step forward in Redis 5 maturity and fixes a number
1818of issues. It also provides interesting improvements. Here I'll summarize
1819the biggest one, but laster you can find the full list of commits:
1820
1821Fixes:
1822
1823* A number of fixes related to Streams: stability and correctnes.
1824* Fix dbRandomKey() potential infinite loop.
1825* Improve eviction LFU/LRU when keys are created by INCR commands family.
1826* Active defragmentation is now working on Redis 5.
1827* Fix corner case in Redis CLuster / Sentinel failover, by resetting the
1828  disconnection time with master in a more appropriate place.
1829* Use a private version of localtime() to avoid potential deadlocks.
1830* Different redis-cli non critical fixes.
1831* Fix rare replication stream corruption with disk-based replication.
1832
1833Improvements:
1834
1835* Sentinel: add an option to deny online script reconfiguration.
1836* Improved RESTORE command.
1837* Sentinel command renaming: allows to use Sentinel with Redis instances
1838  that have non standard command names.
1839* CLIENT ID and CLIENT UNBLOCK.
1840* CLIENT LIST now supports a TYPE option.
1841* redis-cli --cluster now supports authentication.
1842* redis-trib is now deprecated (use redis-cli --cluster).
1843* Better slaves output buffers efficiency.
1844* Faster INFO when there are many clients connected.
1845* Dynamic HZ feature.
1846* Improvements in what the MEMORY command is able to report.
1847* Add year in log. (WARNING: may be incompatible with log scraping tools)
1848* Lazy freeing now works even when values are overwritten (for instance SET).
1849* Faster ZADD when elements scores are updated.
1850* Improvements to the test suite, including many new options.
1851
1852antirez in commit a4d1201e:
1853 Test suite: add --loop option.
1854 1 file changed, 12 insertions(+), 5 deletions(-)
1855
1856antirez in commit 273d8191:
1857 Test suite: new --stop option.
1858 1 file changed, 13 insertions(+), 4 deletions(-)
1859
1860antirez in commit fbbcc6a6:
1861 Streams IDs parsing refactoring.
1862 1 file changed, 32 insertions(+), 17 deletions(-)
1863
1864antirez in commit 70c4bcb7:
1865 Test: new sorted set skiplist order consistency.
1866 1 file changed, 26 insertions(+)
1867
1868antirez in commit 63addc5c:
1869 Fix zslUpdateScore() edge case.
1870 1 file changed, 2 insertions(+), 2 deletions(-)
1871
1872antirez in commit 724740cc:
1873 More commenting of zslUpdateScore().
1874 1 file changed, 2 insertions(+)
1875
1876antirez in commit ddc87eef:
1877 Explain what's the point of zslUpdateScore() in top comment.
1878 1 file changed, 5 insertions(+)
1879
1880antirez in commit 741f29ea:
1881 Remove old commented zslUpdateScore() from source.
1882 1 file changed, 13 deletions(-)
1883
1884antirez in commit 20116836:
1885 Optimize zslUpdateScore() as asked in #5179.
1886 1 file changed, 44 insertions(+)
1887
1888antirez in commit 8c297e8b:
1889 zsetAdd() refactored adding zslUpdateScore().
1890 1 file changed, 18 insertions(+), 7 deletions(-)
1891
1892dejun.xdj in commit bd2f3f6b:
1893 Streams: rearrange the usage of '-' and '+' IDs in stream commands.
1894 1 file changed, 13 insertions(+), 13 deletions(-)
1895
1896dejun.xdj in commit c0c06b84:
1897 Streams: add mmid_supp argument in streamParseIDOrReply().
1898 1 file changed, 6 insertions(+), 2 deletions(-)
1899
1900antirez in commit ab237a8e:
1901 Minor improvements to PR #5187.
1902 2 files changed, 13 insertions(+), 6 deletions(-)
1903
1904Oran Agra in commit 1ce3cf7a:
1905 test suite conveniency improvements
1906 3 files changed, 79 insertions(+), 3 deletions(-)
1907
1908Oran Agra in commit 36622899:
1909 add DEBUG LOG, to to assist test suite debugging
1910 1 file changed, 4 insertions(+)
1911
1912antirez in commit 83d4311a:
1913 Cluster cron announce IP minor refactoring.
1914 1 file changed, 6 insertions(+), 3 deletions(-)
1915
1916shenlongxing in commit a633f8e1:
1917 Fix cluster-announce-ip memory leak
1918 1 file changed, 3 insertions(+), 2 deletions(-)
1919
1920antirez in commit 24c45538:
1921 Tranfer -> transfer typo fixed.
1922 1 file changed, 1 insertion(+), 1 deletion(-)
1923
1924zhaozhao.zz in commit c609f240:
1925 refactor dbOverwrite to make lazyfree work
1926 4 files changed, 27 insertions(+), 12 deletions(-)
1927
1928antirez in commit 9e971739:
1929 Refactoring: replace low-level checks with writeCommandsDeniedByDiskError().
1930 2 files changed, 6 insertions(+), 13 deletions(-)
1931
1932antirez in commit 0e77cef0:
1933 Fix writeCommandsDeniedByDiskError() inverted return value.
1934 1 file changed, 2 insertions(+), 2 deletions(-)
1935
1936antirez in commit acfe9d13:
1937 Better top comment for writeCommandsDeniedByDiskError().
1938 1 file changed, 8 insertions(+), 1 deletion(-)
1939
1940antirez in commit 4e933e00:
1941 Introduce writeCommandsDeniedByDiskError().
1942 2 files changed, 24 insertions(+)
1943
1944WuYunlong in commit 41607dfd:
1945 Consider aof write error as well as rdb in lua script.
1946 1 file changed, 14 insertions(+), 4 deletions(-)
1947
1948Salvatore Sanfilippo in commit 1d073a64:
1949 Merge pull request #5168 from rpv-tomsk/issue-5033
1950Guy Korland in commit 2db31fd4:
1951 Few typo fixes
1952 1 file changed, 13 insertions(+), 13 deletions(-)
1953
1954antirez in commit 64242757:
1955 Add year in log.
1956 1 file changed, 1 insertion(+), 1 deletion(-)
1957
1958antirez in commit 50be4a1f:
1959 Document dynamic-hz in the example redis.conf.
1960 1 file changed, 16 insertions(+)
1961
1962antirez in commit 9a76472d:
1963 Make dynamic hz actually configurable.
1964 1 file changed, 9 insertions(+)
1965
1966antirez in commit a330d06c:
1967 Control dynamic HZ via server configuration.
1968 2 files changed, 13 insertions(+), 6 deletions(-)
1969
1970antirez in commit d42602ff:
1971 Dynamic HZ: adapt cron frequency to number of clients.
1972 2 files changed, 17 insertions(+), 5 deletions(-)
1973
1974antirez in commit 7b5f0223:
1975 Dynamic HZ: separate hz from the configured hz.
1976 3 files changed, 15 insertions(+), 9 deletions(-)
1977
1978antirez in commit 037b00de:
1979 Remove useless conditional from emptyDb().
1980 1 file changed, 1 deletion(-)
1981
1982antirez in commit 0e97ae79:
1983 Make emptyDb() change introduced in #4852 simpler to read.
1984 1 file changed, 8 insertions(+), 3 deletions(-)
1985
1986zhaozhao.zz in commit f7740faf:
1987 optimize flushdb, avoid useless loops
1988 1 file changed, 5 insertions(+), 2 deletions(-)
1989
1990zhaozhao.zz in commit 0c008376:
1991 Streams: fix xdel memory leak
1992 1 file changed, 1 insertion(+)
1993
1994antirez in commit dc600a25:
1995 Example the magic +1 in migrateCommand().
1996 1 file changed, 4 insertions(+)
1997
1998antirez in commit d6827ab6:
1999 Make changes of PR #5154 hopefully simpler.
2000 1 file changed, 10 insertions(+), 5 deletions(-)
2001
2002WuYunlong in commit 89ec1453:
2003 Do not migrate already expired keys.
2004 1 file changed, 6 insertions(+), 2 deletions(-)
2005
2006Pavel Rochnyack in commit cd25ed17:
2007 INFO CPU: higher precision of reported values
2008 1 file changed, 8 insertions(+), 8 deletions(-)
2009
2010antirez in commit 6bfb4745:
2011 Streams: refactoring of next entry seek in the iterator.
2012 1 file changed, 11 insertions(+), 7 deletions(-)
2013
2014zhaozhao.zz in commit 4724548e:
2015 Streams: skip master fileds only when we are going forward in streamIteratorGetID
2016 1 file changed, 8 insertions(+), 5 deletions(-)
2017
2018Oran Agra in commit 4b79fdf1:
2019 fix slave buffer test suite false positives
2020 1 file changed, 1 insertion(+), 1 deletion(-)
2021
2022antirez in commit a1e081f7:
2023 string2ll(): better commenting.
2024 1 file changed, 6 insertions(+)
2025
2026dsomeshwar in commit 8b4fe752:
2027 removing redundant check
2028 1 file changed, 3 deletions(-)
2029
2030antirez in commit 9e5bf047:
2031 Restore string2ll() to original version.
2032 1 file changed, 7 insertions(+), 2 deletions(-)
2033
2034Oran Agra in commit c2ecdcde:
2035 fix recursion typo in zmalloc_usable
2036 1 file changed, 1 insertion(+), 1 deletion(-)
2037
2038antirez in commit 4f742bd6:
2039 string2ll(): remove duplicated check for special case.
2040 1 file changed, 1 insertion(+), 6 deletions(-)
2041
2042antirez in commit a4efac00:
2043 string2ll(): test for NULL pointer in all the cases.
2044 1 file changed, 1 insertion(+), 1 deletion(-)
2045
2046antirez in commit 2c07c107:
2047 Change 42 to 1000 as warning level for cached scripts.
2048 1 file changed, 3 insertions(+), 3 deletions(-)
2049
2050Itamar Haber in commit 270903d6:
2051 Adds Lua overheads to MEMORY STATS, smartens the MEMORY DOCTOR
2052 3 files changed, 30 insertions(+), 4 deletions(-)
2053
2054Itamar Haber in commit faf3dbfc:
2055 Adds memory information about the script's cache to INFO
2056 3 files changed, 12 insertions(+)
2057
2058antirez in commit 49841a54:
2059 Fix merge errors.
2060 2 files changed, 7 deletions(-)
2061
2062antirez in commit 77a7ec72:
2063 Merge branch 'unstable' into 5.0 branch
2064antirez in commit 4ff47a0b:
2065 Top comment clientsCron().
2066 1 file changed, 19 insertions(+), 4 deletions(-)
2067
2068antirez in commit aba68552:
2069 Clarify that clientsCronTrackExpansiveClients() indexes may jump ahead.
2070 1 file changed, 9 insertions(+), 1 deletion(-)
2071
2072antirez in commit be88c0b1:
2073 Rename INFO CLIENT max buffers field names for correctness.
2074 1 file changed, 2 insertions(+), 2 deletions(-)
2075
2076antirez in commit 0cf3794e:
2077 Fix wrong array index variable in getExpansiveClientsInfo().
2078 1 file changed, 1 insertion(+), 1 deletion(-)
2079
2080antirez in commit ea3a20c5:
2081 Change INFO CLIENTS sections to report pre-computed max/min client buffers.
2082 1 file changed, 5 insertions(+), 5 deletions(-)
2083
2084antirez in commit 8f7e496b:
2085 Rename var in clientsCronTrackExpansiveClients() for clarity.
2086 1 file changed, 3 insertions(+), 3 deletions(-)
2087
2088antirez in commit 8d617596:
2089 Implement a function to retrieve the expansive clients mem usage.
2090 1 file changed, 12 insertions(+)
2091
2092antirez in commit 85a1b4f8:
2093 clientsCronTrackExpansiveClients() actual implementation.
2094 1 file changed, 14 insertions(+), 1 deletion(-)
2095
2096antirez in commit d4c5fc57:
2097 clientsCronTrackExpansiveClients() skeleton and ideas.
2098 1 file changed, 23 insertions(+)
2099
2100antirez in commit 1c95c075:
2101 Make vars used only by INFO CLIENTS local to the block.
2102 1 file changed, 1 insertion(+), 1 deletion(-)
2103
2104Salvatore Sanfilippo in commit 16b8d364:
2105 Merge pull request #4727 from kingpeterpaule/redis-fix-info-cli
2106antirez in commit 0aca977c:
2107 Merge branch 'unstable' of github.com:/antirez/redis into unstable
2108antirez in commit 313b2240:
2109 In addReplyErrorLength() only panic when replying to slave.
2110 1 file changed, 4 insertions(+), 3 deletions(-)
2111
2112antirez in commit 6183f059:
2113 Refine comment in addReplyErrorLength() about replying to masters/slaves.
2114 1 file changed, 11 insertions(+)
2115
2116Salvatore Sanfilippo in commit 22e9321c:
2117 Merge pull request #5138 from oranagra/improve_defrag_test
2118Oran Agra in commit f89c93c8:
2119 make active defrag test more stable
2120 2 files changed, 6 insertions(+), 5 deletions(-)
2121
2122Salvatore Sanfilippo in commit 8213f64d:
2123 Merge pull request #5122 from trevor211/allowWritesWhenAofDisabled
2124Salvatore Sanfilippo in commit 46fd9278:
2125 Merge pull request #4237 from aspirewit/update-comment
2126antirez in commit 6201f7b4:
2127 Streams: better error when $ is given with XREADGROUP.
2128 1 file changed, 5 insertions(+), 2 deletions(-)
2129
2130Salvatore Sanfilippo in commit 4bff45c7:
2131 Merge pull request #5136 from 0xtonyxia/fix-xread-id-parse
2132antirez in commit afc7e08a:
2133 Panic when we are sending an error to our master/slave.
2134 1 file changed, 5 insertions(+)
2135
2136Salvatore Sanfilippo in commit e03358c0:
2137 Merge pull request #5135 from oranagra/rare_repl_corruption
2138dejun.xdj in commit 846cf12a:
2139 Streams: remove meaningless if condition.
2140 1 file changed, 1 insertion(+), 1 deletion(-)
2141
2142dejun.xdj in commit 6501b6bb:
2143 Streams: return an error message if using xreadgroup with '$' ID.
2144 1 file changed, 5 insertions(+)
2145
2146Oran Agra in commit d5559898:
2147 fix rare replication stream corruption with disk-based replication
2148 3 files changed, 18 insertions(+), 9 deletions(-)
2149
2150antirez in commit cefe21d2:
2151 dict.c: remove a few trailing spaces.
2152 1 file changed, 2 insertions(+), 2 deletions(-)
2153
2154Salvatore Sanfilippo in commit 4fc20992:
2155 Merge pull request #5128 from kingpeterpaule/remove-one-loop-in-freeMemoryIfNeeded
2156Salvatore Sanfilippo in commit 9fbd49bb:
2157 Merge pull request #5113 from 0xtonyxia/using-compare-func-instead
2158Salvatore Sanfilippo in commit cab39676:
2159 Merge pull request #5127 from oranagra/sds_req_type
2160antirez in commit f9c84d6d:
2161 Hopefully improve commenting of #5126.
2162 2 files changed, 22 insertions(+), 10 deletions(-)
2163
2164Salvatore Sanfilippo in commit e22a1218:
2165 Merge pull request #5126 from oranagra/slave_buf_memory_2
2166Salvatore Sanfilippo in commit 28dd8dd1:
2167 Merge pull request #5132 from soloestoy/propagate-xdel-correctly
2168Oran Agra in commit bf680b6f:
2169 slave buffers were wasteful and incorrectly counted causing eviction
2170 10 files changed, 182 insertions(+), 50 deletions(-)
2171
2172zhaozhao.zz in commit 73306c6f:
2173 Streams: correctly propagate xdel if needed
2174 1 file changed, 7 insertions(+), 3 deletions(-)
2175
2176antirez in commit 103c5a1a:
2177 Add a few comments to streamIteratorRemoveEntry().
2178 1 file changed, 4 insertions(+)
2179
2180Salvatore Sanfilippo in commit a317f55d:
2181 Merge pull request #5131 from soloestoy/optimize-xdel
2182antirez in commit 185e0d9c:
2183 Modify XINFO field from last-id to last-generated-id.
2184 1 file changed, 1 insertion(+), 1 deletion(-)
2185
2186Salvatore Sanfilippo in commit 4215e74b:
2187 Merge pull request #5129 from soloestoy/xinfo-show-last-id
2188zhaozhao.zz in commit c9324f81:
2189 Streams: free lp if all elements are deleted
2190 1 file changed, 9 insertions(+), 4 deletions(-)
2191
2192paule in commit b6ce7d5d:
2193 Update dict.c
2194 1 file changed, 4 insertions(+), 2 deletions(-)
2195
2196zhaozhao.zz in commit b4ba5ac8:
2197 Streams: show last id for streams and groups
2198 1 file changed, 6 insertions(+), 2 deletions(-)
2199
2200peterpaule in commit 816fc6cb:
2201 remove one ineffective loop in dictGetSomeKeys.
2202 1 file changed, 1 insertion(+), 1 deletion(-)
2203
2204Oran Agra in commit b05a22e2:
2205 bugfix in sdsReqType creating 64bit sds headers on 32bit systems
2206 1 file changed, 3 insertions(+), 1 deletion(-)
2207
2208dejun.xdj in commit 491682a6:
2209 Streams: using streamCompareID() instead of direct compare in block.c.
2210 1 file changed, 1 insertion(+), 4 deletions(-)
2211
2212dejun.xdj in commit a2177cd2:
2213 Streams: add streamCompareID() declaration in stream.h.
2214 1 file changed, 1 insertion(+)
2215
2216dejun.xdj in commit 0484dbcf:
2217 Streams: using streamCompareID() instead of direct compare.
2218 1 file changed, 2 insertions(+), 6 deletions(-)
2219
2220WuYunlong in commit 2d4366c5:
2221 Accept write commands if persisting is disabled, event if we do have problems persisting on disk previously.
2222 1 file changed, 2 insertions(+), 1 deletion(-)
2223
2224Salvatore Sanfilippo in commit ab33bcd3:
2225 Merge pull request #5120 from andrewsensus/leap-year-comment-patch-1
2226antirez in commit 2352a519:
2227 Test: XDEL fuzz testing. Remove and check stage.
2228 1 file changed, 15 insertions(+)
2229
2230antirez in commit 3d7d20b7:
2231 Test: fix lshuffle by providing the "K" combinator.
2232 1 file changed, 2 insertions(+)
2233
2234antirez in commit 967ad364:
2235 Test: add lshuffle in the Tcl utility functions set.
2236 1 file changed, 14 insertions(+)
2237
2238antirez in commit d6efd5fc:
2239 Test: XDEL fuzz testing, stream creation.
2240 1 file changed, 20 insertions(+)
2241
2242andrewsensus in commit 8dc08ae2:
2243 update leap year comment
2244 1 file changed, 1 insertion(+), 1 deletion(-)
2245
2246antirez in commit 69997153:
2247 Merge branch 'unstable' of github.com:/antirez/redis into unstable
2248antirez in commit a93f8f09:
2249 Test: XDEL basic test.
2250 1 file changed, 12 insertions(+)
2251
2252Salvatore Sanfilippo in commit a44a5934:
2253 Merge pull request #5119 from trevor211/fixSlowlogConfig
2254WuYunlong in commit d6ba4fd5:
2255 Fix config set slowlog-log-slower-than and condition in createLatencyReport
2256 2 files changed, 2 insertions(+), 2 deletions(-)
2257
2258WuYunlong in commit b3660be8:
2259 Add test in slowlog.tcl
2260 1 file changed, 10 insertions(+)
2261
2262artix in commit d4182a0a:
2263 Cluster Manager: more checks on --cluster-weight option.
2264 1 file changed, 12 insertions(+), 2 deletions(-)
2265
2266artix in commit d222eda9:
2267 Redis-trib deprecated: it no longer works and it outputs a warning to the user.
2268 1 file changed, 103 insertions(+), 1804 deletions(-)
2269
2270artix in commit 513eb572:
2271 Cluster Manager: auth support (-a argument).
2272 1 file changed, 41 insertions(+), 19 deletions(-)
2273
2274Salvatore Sanfilippo in commit f3980bb9:
2275 Merge pull request #5115 from shenlongxing/patch-1
2276Shen Longxing in commit c2a85fb3:
2277 Delete unused role checking.
2278 1 file changed, 2 insertions(+), 6 deletions(-)
2279
2280Salvatore Sanfilippo in commit 4cb5bd4e:
2281 Merge pull request #4820 from charpty/wip-serverc-simplify
2282antirez in commit 8d6b7861:
2283 Add regression test for #5111.
2284 1 file changed, 15 insertions(+)
2285
2286antirez in commit b6260a02:
2287 Streams: when re-delivering because of SETID, reset deliveries counter.
2288 1 file changed, 2 insertions(+), 2 deletions(-)
2289
2290antirez in commit a7c180e5:
2291 Simplify duplicated NACK #5112 fix.
2292 1 file changed, 18 insertions(+), 21 deletions(-)
2293
2294Salvatore Sanfilippo in commit bf4def0f:
2295 Merge pull request #5112 from 0xtonyxia/fix-xreadgroup-crash-after-setid
2296Salvatore Sanfilippo in commit 16770551:
2297 Merge pull request #5114 from oranagra/defrag_32
2298Oran Agra in commit 920158ec:
2299 Active defrag fixes for 32bit builds (again)
2300 1 file changed, 2 insertions(+), 2 deletions(-)
2301
2302Salvatore Sanfilippo in commit f45e7901:
2303 Merge pull request #4967 from JingchengLi/unstable
2304tengfeng in commit 9505dd20:
2305 fix repeat argument issue and reduce unnessary loop times for redis-cli.
2306 1 file changed, 12 insertions(+), 7 deletions(-)
2307
2308antirez in commit 0420c327:
2309 Merge branch 'unstable' of github.com:/antirez/redis into unstable
2310antirez in commit 28e95c7c:
2311 Streams: fix typo "consumer".
2312 1 file changed, 1 insertion(+), 1 deletion(-)
2313
2314antirez in commit a8c1bb31:
2315 Streams: fix new XREADGROUP sync logic.
2316 1 file changed, 13 insertions(+), 3 deletions(-)
2317
2318antirez in commit 1a02b5f6:
2319 Streams: make blocking for > a truly special case.
2320 1 file changed, 29 insertions(+), 4 deletions(-)
2321
2322antirez in commit a71e8148:
2323 Streams: send an error to consumers blocked on non-existing group.
2324 1 file changed, 5 insertions(+), 1 deletion(-)
2325
2326antirez in commit 09327f11:
2327 Streams: fix unblocking logic into a consumer group.
2328 1 file changed, 24 insertions(+), 14 deletions(-)
2329
2330dejun.xdj in commit 3f8a3efe:
2331 Streams: fix xreadgroup crash after xgroup SETID is sent.
2332 1 file changed, 20 insertions(+), 15 deletions(-)
2333
2334Salvatore Sanfilippo in commit 7239e9ca:
2335 Merge pull request #5095 from 0xtonyxia/fix-indentation
2336dejun.xdj in commit 61f12973:
2337 Bugfix: PEL is incorrect when consumer is blocked using xreadgroup with NOACK option.
2338 4 files changed, 6 insertions(+), 1 deletion(-)
2339
2340antirez in commit b67f0276:
2341 redis-cli: fix #4990 additional argument in help.
2342 1 file changed, 1 insertion(+)
2343
2344antirez in commit 18d65849:
2345 redis-cli: fix #5096 double error message.
2346 1 file changed, 1 insertion(+), 1 deletion(-)
2347
2348antirez in commit 84620327:
2349 redis-cli: cliConnect() flags CC_FORCE and CC_QUIET.
2350 1 file changed, 23 insertions(+), 13 deletions(-)
2351
2352Amit Dey in commit a3a5a25f:
2353 fixing broken link in CONTRIBUTING
2354 1 file changed, 1 insertion(+), 1 deletion(-)
2355
2356dejun.xdj in commit 289d8d9c:
2357 CLIENT UNBLOCK: fix client unblock help message.
2358 1 file changed, 1 insertion(+), 1 deletion(-)
2359
2360minkikim89 in commit 62a4a8c1:
2361 fix whitespace in redis-cli.c
2362 1 file changed, 362 insertions(+), 362 deletions(-)
2363
2364WuYunlong in commit 0a5805d7:
2365 fix compile warning in addReplySubcommandSyntaxError
2366 1 file changed, 1 insertion(+), 1 deletion(-)
2367
2368antirez in commit cb78c842:
2369 Use nolocks_localtime() for safer logging.
2370 2 files changed, 8 insertions(+), 2 deletions(-)
2371
2372antirez in commit 81778d91:
2373 Cache timezone and daylight active flag for safer logging.
2374 2 files changed, 14 insertions(+), 1 deletion(-)
2375
2376antirez in commit 18d8205b:
2377 Localtime: clarify is_leap_year() working with comments.
2378 1 file changed, 4 insertions(+), 4 deletions(-)
2379
2380antirez in commit 29644144:
2381 Localtime: fix comment about leap year.
2382 1 file changed, 1 insertion(+), 1 deletion(-)
2383
2384antirez in commit 0ea39aa4:
2385 Localtime: fix daylight saving adjustment. Use * not +.
2386 1 file changed, 1 insertion(+), 1 deletion(-)
2387
2388antirez in commit 6614d305:
2389 Localtime: fix daylight time documentation and computation.
2390 1 file changed, 14 insertions(+), 4 deletions(-)
2391
2392dejun.xdj in commit 46f5a2ca:
2393 Fix indentation.
2394 2 files changed, 14 insertions(+), 14 deletions(-)
2395
2396antirez in commit 243c5a7a:
2397 Localtime: add a test main() function to check the output.
2398 1 file changed, 15 insertions(+), 1 deletion(-)
2399
2400antirez in commit c25ee35a:
2401 Localtime: day of month is 1 based. Convert from 0 based "days".
2402 1 file changed, 2 insertions(+), 2 deletions(-)
2403
2404antirez in commit b9f33830:
2405 Localtime: fix timezone adjustment.
2406 1 file changed, 2 insertions(+), 1 deletion(-)
2407
2408antirez in commit 0c12cbed:
2409 Localtime: compute year, month and day of the month.
2410 1 file changed, 26 insertions(+)
2411
2412antirez in commit 06ca400f:
2413 Localtime: basics initial calculations. Year missing.
2414 1 file changed, 30 insertions(+), 2 deletions(-)
2415
2416antirez in commit 6a529067:
2417 Localtime function skeleton and file added.
2418 1 file changed, 44 insertions(+)
2419
2420Jack Drogon in commit 93238575:
2421 Fix typo
2422 40 files changed, 99 insertions(+), 99 deletions(-)
2423
2424antirez in commit 94b3ee61:
2425 Clarify the pending_querybuf field of clients.
2426 1 file changed, 4 insertions(+), 3 deletions(-)
2427
2428antirez in commit 549b8b99:
2429 Improve style of PR #5084.
2430 1 file changed, 8 insertions(+), 2 deletions(-)
2431
2432Salvatore Sanfilippo in commit 526b30a7:
2433 Merge pull request #5084 from chendq8/pending-querybuf
2434antirez in commit 677d10b2:
2435 Set repl_down_since to zero on state change.
2436 1 file changed, 2 insertions(+), 1 deletion(-)
2437
2438Salvatore Sanfilippo in commit 02e38516:
2439 Merge pull request #5081 from trevor211/fixClusterFailover
2440chendianqiang in commit cbb2ac07:
2441 Merge branch 'unstable' into pending-querybuf
2442antirez in commit 2edcafb3:
2443 addReplySubSyntaxError() renamed to addReplySubcommandSyntaxError().
2444 12 files changed, 14 insertions(+), 14 deletions(-)
2445
2446Salvatore Sanfilippo in commit bc6a0045:
2447 Merge pull request #4998 from itamarhaber/module_command_help
2448Salvatore Sanfilippo in commit ee09b5ed:
2449 Merge pull request #5071 from akshaynagpal/patch-2
2450Salvatore Sanfilippo in commit f03ad962:
2451 Merge pull request #5068 from shenlongxing/fix-rename-command
2452Salvatore Sanfilippo in commit e4881cd0:
2453 Merge pull request #5090 from trevor211/test_helper_tcl
2454WuYunlong in commit 2833cfbe:
2455 fix tests/test_helper.tcl with --wait-server option. Issue #5063 added --wait-server option, but can not work.
2456 1 file changed, 1 deletion(-)
2457
2458chendianqiang in commit 7de1ada0:
2459 limit the size of pending-querybuf in masterclient
2460 4 files changed, 48 insertions(+)
2461
2462WuYunlong in commit 2e167f7d:
2463 fix server.repl_down_since resetting, so that slaves could failover automatically as expected.
2464 1 file changed, 1 insertion(+), 1 deletion(-)
2465
2466WuYunlong in commit aeb7bc3e:
2467 cluster.tcl: Add master consecutively down test.
2468 1 file changed, 77 insertions(+)
2469
2470antirez in commit d751d98b:
2471 Change CLIENT LIST TYPE help string.
2472 1 file changed, 2 insertions(+), 2 deletions(-)
2473
2474Salvatore Sanfilippo in commit a0b05a04:
2475 Merge pull request #5075 from soloestoy/client-list-types
2476Salvatore Sanfilippo in commit aa2c390e:
2477 Merge pull request #5074 from soloestoy/fix-compile-warning
2478Salvatore Sanfilippo in commit a4ef94d2:
2479 Merge pull request #5076 from 0xtonyxia/add-no-auth-warning-option
2480dejun.xdj in commit 9f185626:
2481 Check if password is used on command line interface.
2482 1 file changed, 1 insertion(+), 1 deletion(-)
2483
2484dejun.xdj in commit 1139070a:
2485 Fix trailing white space.
2486 1 file changed, 1 insertion(+), 1 deletion(-)
2487
2488dejun.xdj in commit bbd0ca95:
2489 Fix code format issue.
2490 1 file changed, 4 insertions(+), 4 deletions(-)
2491
2492dejun.xdj in commit 7becf54e:
2493 Don't output password warning message when --no-auth-warning is used.
2494 1 file changed, 10 insertions(+), 1 deletion(-)
2495
2496dejun.xdj in commit bde05e9c:
2497 Avoid -Woverlength-strings compile warning.
2498 1 file changed, 5 insertions(+), 3 deletions(-)
2499
2500antirez in commit 5baf50d8:
2501 Rax library updated (node callback).
2502 2 files changed, 19 insertions(+), 5 deletions(-)
2503
2504dejun.xdj in commit 0b74fd67:
2505 Add --no-auth-warning help message.
2506 1 file changed, 2 insertions(+)
2507
2508zhaozhao.zz in commit b9cbd04b:
2509 clients: add type option for client list
2510 4 files changed, 20 insertions(+), 6 deletions(-)
2511
2512zhaozhao.zz in commit f5538642:
2513 clients: show pubsub flag in client list
2514 1 file changed, 1 insertion(+)
2515
2516zhaozhao.zz in commit 1fcf2737:
2517 fix some compile warnings
2518 2 files changed, 2 insertions(+), 2 deletions(-)
2519
2520Akshay Nagpal in commit 007e3cbd:
2521 Added link to Google Group
2522 1 file changed, 3 insertions(+), 1 deletion(-)
2523
2524antirez in commit ab55f9da:
2525 Make CLIENT HELP output nicer to the eyes.
2526 1 file changed, 11 insertions(+), 11 deletions(-)
2527
2528antirez in commit 75f1a7bd:
2529 Merge branch 'unstable' of github.com:/antirez/redis into unstable
2530antirez in commit 4a70ff74:
2531 Add unblock in CLIENT HELP.
2532 1 file changed, 1 insertion(+)
2533
2534shenlongxing in commit 3c27db1c:
2535 fix empty string for sentinel rename-command
2536 1 file changed, 5 insertions(+)
2537
2538Salvatore Sanfilippo in commit f7b21bc7:
2539 Merge pull request #5066 from oranagra/defrag_jemalloc5_fix
2540Salvatore Sanfilippo in commit 730a4cfa:
2541 Merge pull request #5067 from mpaltun/mpaltun-doc-fix
2542antirez in commit 2214043b:
2543 CLIENT UNBLOCK: support unblocking by error.
2544 1 file changed, 22 insertions(+), 3 deletions(-)
2545
2546Mustafa Paltun in commit 010dc172:
2547 Update t_stream.c
2548 1 file changed, 2 insertions(+), 2 deletions(-)
2549
2550Mustafa Paltun in commit 6d0acb33:
2551 Update help.h
2552 1 file changed, 1 insertion(+), 1 deletion(-)
2553
2554Oran Agra in commit de495ee7:
2555 minor fix in creating a stream NACK for rdb and defrag tests
2556 2 files changed, 2 insertions(+), 2 deletions(-)
2557
2558antirez in commit 71295ee3:
2559 CLIENT UNBLOCK implemented.
2560 1 file changed, 22 insertions(+)
2561
2562antirez in commit fb39bfd7:
2563 Take clients in a ID -> Client handle dictionary.
2564 3 files changed, 6 insertions(+)
2565
2566antirez in commit ed65d734:
2567 CLIENT ID implemented.
2568 1 file changed, 4 insertions(+)
2569
2570Salvatore Sanfilippo in commit 345b4809:
2571 Merge pull request #5063 from oranagra/test_suite_improvements
2572Salvatore Sanfilippo in commit 35c5f3fa:
2573 Merge pull request #5065 from oranagra/defrag_jemalloc5
2574Oran Agra in commit 5616d4c6:
2575 add active defrag support for streams
2576 6 files changed, 230 insertions(+), 25 deletions(-)
2577
2578Oran Agra in commit e8099cab:
2579 add defrag hint support into jemalloc 5
2580 3 files changed, 43 insertions(+)
2581
2582Oran Agra in commit 751eea24:
2583 test suite infra improvements and fix
2584 2 files changed, 19 insertions(+)
2585
2586Salvatore Sanfilippo in commit bb666d44:
2587 Merge pull request #5027 from tigertv/unstable
2588antirez in commit b9058c73:
2589 Merge branch 'unstable' of github.com:/antirez/redis into unstable
2590antirez in commit 43831779:
2591 Sentinel: test command renaming feature.
2592 1 file changed, 10 insertions(+)
2593
2594Salvatore Sanfilippo in commit eb052ba9:
2595 Merge pull request #5059 from guybe7/fix_restore_warning
2596antirez in commit 27178a3f:
2597 Fix type of argslen in sendSynchronousCommand().
2598 1 file changed, 1 insertion(+), 1 deletion(-)
2599
2600antirez in commit 1f1e724f:
2601 Remove black space.
2602 1 file changed, 1 insertion(+), 1 deletion(-)
2603
2604Salvatore Sanfilippo in commit aa5eaad4:
2605 Merge pull request #5037 from madolson/repl-auth-fix
2606antirez in commit 3cf8dd2c:
2607 Sentinel: fix SENTINEL SET error reporting.
2608 1 file changed, 18 insertions(+), 9 deletions(-)
2609
2610Madelyn Olson in commit 45731edc:
2611 Addressed comments
2612 1 file changed, 1 insertion(+), 1 deletion(-)
2613
2614Madelyn Olson in commit e8d68b6b:
2615 Fixed replication authentication with whitespace in password
2616 1 file changed, 12 insertions(+), 5 deletions(-)
2617
2618antirez in commit fc0c9c80:
2619 Sentinel: drop the renamed-command entry in a more natural way.
2620 1 file changed, 4 insertions(+), 7 deletions(-)
2621
2622antirez in commit 8ba670f5:
2623 Sentinel command renaming: document it into sentinel.conf.
2624 1 file changed, 19 insertions(+)
2625
2626antirez in commit a8a76bda:
2627 Merge branch 'unstable' of github.com:/antirez/redis into unstable
2628antirez in commit 2358de68:
2629 Sentinel command renaming: use case sensitive hashing for the dict.
2630 1 file changed, 2 insertions(+), 1 deletion(-)
2631
2632antirez in commit a9c50088:
2633 Sentinel command renaming: fix CONFIG SET event logging.
2634 1 file changed, 17 insertions(+), 1 deletion(-)
2635
2636antirez in commit b72cecd7:
2637 Sentinel command renaming: fix CONFIG SET after refactoring.
2638 1 file changed, 5 insertions(+), 5 deletions(-)
2639
2640antirez in commit 91a384a5:
2641 Sentinel command renaming: implement SENTINEL SET.
2642 1 file changed, 19 insertions(+)
2643
2644antirez in commit 903582dd:
2645 Sentinel: make SENTINEL SET able to handle different arities.
2646 1 file changed, 19 insertions(+), 12 deletions(-)
2647
2648antirez in commit c303e768:
2649 Sentinel command renaming: config rewriting.
2650 1 file changed, 12 insertions(+)
2651
2652antirez in commit 60df7dbe:
2653 Sentinel command renaming: rename-command option parsing.
2654 1 file changed, 11 insertions(+)
2655
2656antirez in commit 72e8a33b:
2657 Sentinel command renaming: base machanism implemented.
2658 1 file changed, 64 insertions(+), 15 deletions(-)
2659
2660Guy Benoish in commit dfcc20f4:
2661 Fix compiler warning in restoreCommand
2662 1 file changed, 1 insertion(+), 1 deletion(-)
2663
2664Salvatore Sanfilippo in commit cf7fcdbe:
2665 Merge pull request #4634 from soloestoy/special-auth
2666Salvatore Sanfilippo in commit 70b7fa2c:
2667 Merge pull request #5049 from youjiali1995/fix-load-rdb
2668Salvatore Sanfilippo in commit 54d66d39:
2669 Merge pull request #5053 from michael-grunder/zpopminmax-keypos
2670Salvatore Sanfilippo in commit 199e704a:
2671 Merge pull request #5050 from shenlongxing/fix-typo
2672michael-grunder in commit db6b99f9:
2673 Update ZPOPMIN/ZPOPMAX command declaration
2674 1 file changed, 2 insertions(+), 2 deletions(-)
2675
2676Salvatore Sanfilippo in commit a16aa03a:
2677 Merge pull request #5051 from oranagra/streams_mem_estimate
2678Oran Agra in commit 20e10dc7:
2679 fix streams memory estimation, missing raxSeek
2680 1 file changed, 2 insertions(+), 1 deletion(-)
2681
2682shenlongxing in commit ec55df11:
2683 fix typo
2684 4 files changed, 4 insertions(+), 4 deletions(-)
2685
2686youjiali1995 in commit df6644fe:
2687 Fix rdbLoadIntegerObject() to create shared objects when needed.
2688 1 file changed, 1 insertion(+), 1 deletion(-)
2689
2690Salvatore Sanfilippo in commit 1527bcad:
2691 Merge pull request #5036 from bepahol/unstable
2692Salvatore Sanfilippo in commit c1e82405:
2693 Merge pull request #5039 from oranagra/rdb_dbsize_hint
2694Salvatore Sanfilippo in commit 79f55eed:
2695 Merge pull request #5040 from oranagra/memrev64ifbe_fix
2696Salvatore Sanfilippo in commit c6f4118c:
2697 Merge pull request #5045 from guybe7/restore_fix
2698Guy Benoish in commit b5197f1f:
2699 Enhance RESTORE with RDBv9 new features
2700 5 files changed, 100 insertions(+), 22 deletions(-)
2701
2702Salvatore Sanfilippo in commit c6fdebf5:
2703 Merge pull request #5042 from oranagra/malloc_usable_size_libc
2704Oran Agra in commit 482785ac:
2705 add malloc_usable_size for libc malloc
2706 2 files changed, 8 insertions(+), 3 deletions(-)
2707
2708Salvatore Sanfilippo in commit 4da29630:
2709 Merge pull request #5023 from FX-HAO/unstable
2710antirez in commit e7219025:
2711 Test RDB stream encoding saving/loading.
2712 1 file changed, 17 insertions(+)
2713
2714Salvatore Sanfilippo in commit 5f5e1199:
2715 Merge pull request #5041 from oranagra/redis-rdb-check_rdbLoadMillisecondTime
2716antirez in commit 4848fbec:
2717 Modules: convert hash to hash table for big objects.
2718 1 file changed, 3 insertions(+)
2719
2720Oran Agra in commit f31b0405:
2721 fix redis-rdb-check to provide proper arguments to rdbLoadMillisecondTime
2722 2 files changed, 3 insertions(+), 2 deletions(-)
2723
2724antirez in commit 333c98c4:
2725 AOF: remove no longer used variable "now".
2726 1 file changed, 1 deletion(-)
2727
2728antirez in commit e94b2053:
2729 Modify clusterRedirectClient() to handle ZPOP and XREAD.
2730 1 file changed, 5 insertions(+), 1 deletion(-)
2731
2732Oran Agra in commit 26229aa6:
2733 use safe macro (non empty) in memrev64ifbe to eliminate empty if warning
2734 1 file changed, 3 insertions(+), 3 deletions(-)
2735
2736Oran Agra in commit 5cd3c952:
2737 64 bit RDB_OPCODE_RESIZEDB in rdb saving
2738 1 file changed, 3 insertions(+), 7 deletions(-)
2739
2740antirez in commit ba92b517:
2741 Remove AOF optimization to skip expired keys.
2742 1 file changed, 3 deletions(-)
2743
2744Benjamin Holst in commit 36524060:
2745 Update README.md
2746 1 file changed, 1 insertion(+), 1 deletion(-)
2747
2748antirez in commit 44571088:
2749 Merge branch 'unstable' of github.com:/antirez/redis into unstable
2750antirez in commit 6967d0bd:
2751 Revert fix #4976 just leaving the flush() part.
2752 1 file changed, 1 insertion(+), 5 deletions(-)
2753
2754antirez in commit 0ed0dc3c:
2755 Fix incrDecrCommand() to create shared objects when needed.
2756 1 file changed, 1 insertion(+), 1 deletion(-)
2757
2758antirez in commit bd92389c:
2759 Refactor createObjectFromLongLong() to be suitable for value objects.
2760 2 files changed, 33 insertions(+), 2 deletions(-)
2761
2762Salvatore Sanfilippo in commit 3518bb66:
2763 Merge pull request #5020 from shenlongxing/fix-config
2764antirez in commit 20766608:
2765 Streams: fix xreadGetKeys() for correctness.
2766 1 file changed, 19 insertions(+), 5 deletions(-)
2767
2768Salvatore Sanfilippo in commit e670ccff:
2769 Merge pull request #4857 from youjiali1995/fix-command-getkeys
2770antirez in commit a0b27dae:
2771 Streams: fix xreadGetKeys() buffer overflow.
2772 1 file changed, 1 insertion(+), 1 deletion(-)
2773
2774antirez in commit 62f9ac6f:
2775 Streams: Change XADD MAXLEN handling of values <= 0.
2776 1 file changed, 3 insertions(+), 3 deletions(-)
2777
2778Max Vetrov in commit d4c4f20a:
2779 Update sort.c
2780 1 file changed, 1 insertion(+), 3 deletions(-)
2781
2782antirez in commit 79a1c19a:
2783 XADD MAXLEN should return an error for values < 0.
2784 1 file changed, 5 insertions(+)
2785
2786Salvatore Sanfilippo in commit 2e0ab4a8:
2787 Merge pull request #4976 from trevor211/fixDebugLoadaof
2788Salvatore Sanfilippo in commit 94658303:
2789 Merge pull request #4758 from soloestoy/rdb-save-incremental-fsync
2790antirez in commit 6a66b93b:
2791 Sentinel: add an option to deny online script reconfiguration.
2792 2 files changed, 41 insertions(+)
2793
2794antirez in commit d353023a:
2795 Merge branch 'unstable' of github.com:/antirez/redis into unstable
2796antirez in commit d6e8fe77:
2797 Fix infinite loop in dbRandomKey().
2798 1 file changed, 13 insertions(+)
2799
2800Salvatore Sanfilippo in commit 40d5df65:
2801 Merge pull request #5008 from zwkno1/unstable
2802Salvatore Sanfilippo in commit 8bc3ffcb:
2803 Merge pull request #5021 from soloestoy/fix-exists
2804Salvatore Sanfilippo in commit 6c7847a1:
2805 Merge pull request #5018 from soloestoy/optimize-reply
2806antirez in commit 1e92fde3:
2807 Fix SCAN bug regression test, avoiding empty SREM call.
2808 1 file changed, 1 insertion(+), 1 deletion(-)
2809
2810Fuxin Hao in commit a4f658b2:
2811 Fix update_zmalloc_stat_alloc in zrealloc
2812 1 file changed, 1 insertion(+), 1 deletion(-)
2813
2814================================================================================
2815Redis 5.0 RC3     Released Wed Jun 14 9:51:44 CEST 2018
2816================================================================================
2817
2818Upgrade urgency LOW:
2819
2820This release fixes compilation of Redis RC2. For an error the commit from unstable
2821updating the Rax library was not merged into the 5.0 branch.
2822
2823================================================================================
2824Redis 5.0 RC2     Released Wed Jun 13 12:49:13 CEST 2018
2825================================================================================
2826
2827Upgrade urgency CRITICAL: This release fixes important security issues.
2828                    HIGH: This release fixes a SCAN commands family bug.
2829                MODERATE: This release fixes a PSYNC2 edge case with expires.
2830                MODERATE: Sentinel related fixes.
2831                     LOW: All the other issues
2832
2833NOTE: This release breaks API compatibility with certain APIs that were
2834introduced in Redis 5.0 RC1. Notably ZPOP* now returns score/element in reverse
2835order. XINFO <key> special form was removed, now XINFO STREAM <key> must be
2836used to obtain general information about the stream.
2837
2838Redis 5.0 RC2 ixes a number of important issues:
2839
2840* Important security issues related to the Lua scripting engine.
2841  Please check https://github.com/antirez/redis/issues/5017
2842  for more information.
2843
2844* A bug with SCAN, SSCAN, HSCAN and ZSCAN, that may not return all the elements.
2845  We also add a regression test that can trigger the issue often when present, and
2846  may in theory be able to find unrelated regressions.
2847
2848* A PSYNC2 bug is fixed: Redis should not expire keys when saving RDB files
2849  because otherwise it is no longer possible to use such RDB file as a base
2850  for partial resynchronization. It no longer represents the right state.
2851
2852* Compatibility of AOF with RDB preamble when the RDB checksum is disabled.
2853
2854* Sentinel bug that in some cases prevented Sentinel to detect that the master
2855  was down immediately. A delay was added to the detection.
2856
2857* XREADGROUP would crash when the master had attacked slaves.
2858
2859* Replication and events generation of several streams command were fixed.
2860
2861* XREVRANGE fixed, in some cases it could not return elements, or crash the
2862  server, or in general not behave correctly.
2863
2864* ZPOP can now unblock multiple clients in a sane way.
2865
2866* Other minor issues.
2867
2868Moreover this release adds new features:
2869
2870* XGROUP DESTROY and XGROUP SETID.
2871
2872* RDB loading speedup.
2873
2874* Configurable stream macro node limits (number of elements / bytes).
2875
2876* More smaller improvements.
2877
2878The following is the list of commits composing the release, please check
2879the commit messages and authors for credits.
2880
2881antirez in commit 9fdcc159:
2882 Security: fix redis-cli buffer overflow.
2883 1 file changed, 16 insertions(+), 11 deletions(-)
2884
2885antirez in commit cf760071:
2886 Security: fix Lua struct package offset handling.
2887 1 file changed, 6 insertions(+), 2 deletions(-)
2888
2889antirez in commit a57595ca:
2890 Security: more cmsgpack fixes by @soloestoy.
2891 1 file changed, 7 insertions(+)
2892
2893antirez in commit 8783fb94:
2894 Security: update Lua struct package for security.
2895 1 file changed, 23 insertions(+), 23 deletions(-)
2896
2897antirez in commit 8cb9344b:
2898 Security: fix Lua cmsgpack library stack overflow.
2899 1 file changed, 3 insertions(+)
2900
2901赵磊 in commit 59080f60:
2902 Fix dictScan(): It can't scan all buckets when dict is shrinking.
2903 1 file changed, 14 insertions(+), 11 deletions(-)
2904
2905dejun.xdj in commit ac2a824a:
2906 Fix redis-cli memory leak when sending set preference command.
2907 1 file changed, 2 insertions(+)
2908
2909dejun.xdj in commit c7197ff5:
2910 Check if the repeat value is positive in while loop of cliSendCommand().
2911 1 file changed, 1 insertion(+), 1 deletion(-)
2912
2913dejun.xdj in commit 3f77777f:
2914 Change the type of repeat argument to long for function cliSendCommand.
2915 1 file changed, 1 insertion(+), 1 deletion(-)
2916
2917dejun.xdj in commit 7a565d72:
2918 Fix negtive repeat command value issue.
2919 1 file changed, 11 insertions(+), 3 deletions(-)
2920
2921dejun.xdj in commit 64bf60fb:
2922 Detect and stop saving history for auth command with repeat option.
2923 1 file changed, 17 insertions(+), 10 deletions(-)
2924
2925dejun.xdj in commit 5bed12aa:
2926 Change the warning message a little bit to avoid trademark issuses.
2927 1 file changed, 1 insertion(+), 1 deletion(-)
2928
2929dejun.xdj in commit d71c4961:
2930 Stop saving auth command in redis-cli history.
2931 1 file changed, 4 insertions(+), 2 deletions(-)
2932
2933dejun.xdj in commit fca99e41:
2934 Add warning message when using password on command line
2935 1 file changed, 1 insertion(+)
2936
2937antirez in commit 01407a3a:
2938 Don't expire keys while loading RDB from AOF preamble.
2939 3 files changed, 5 insertions(+), 5 deletions(-)
2940
2941WuYunlong in commit fb5408cf:
2942 Fix rdb save by allowing dumping of expire keys, so that when we add a new slave, and do a failover, eighter by manual or not, other local slaves will delete the expired keys properly.
2943 2 files changed, 3 insertions(+), 7 deletions(-)
2944
2945antirez in commit 0b8b6df4:
2946 Backport hiredis issue 525 fix to compile on FreeBSD.
2947 1 file changed, 1 insertion(+), 1 deletion(-)
2948
2949antirez in commit e98627c5:
2950 Add INIT INFO to the provided init script.
2951 1 file changed, 8 insertions(+)
2952
2953antirez in commit 17f5de89:
2954 Fix ae.c when a timer finalizerProc adds an event.
2955 2 files changed, 10 insertions(+), 6 deletions(-)
2956
2957antirez in commit 266e6423:
2958 Sentinel: fix delay in detecting ODOWN.
2959 1 file changed, 9 insertions(+), 5 deletions(-)
2960
2961zhaozhao.zz in commit eafaf172:
2962 AOF & RDB: be compatible with rdbchecksum no
2963 1 file changed, 9 insertions(+), 7 deletions(-)
2964
2965huijing.whj in commit 4630da37:
2966 fix int overflow problem in freeMemoryIfNeeded
2967 1 file changed, 1 insertion(+), 1 deletion(-)
2968
2969================================================================================
2970Redis 5.0 RC1   Released Tue May 29 14:14:11 CEST 2018
2971================================================================================
2972
2973Upgrade urgency LOW: This is the first RC of Redis 5.
2974
2975Introduction to the Redis 5 release
2976===================================
2977
2978Redis 5 is a release focused on a few important features. While Redis 4
2979was very very focused on operations, Redis 5 changes are mostly user-facing,
2980with the implementation of new data types and operations on top of existing
2981types. The following are the major features of this release:
2982
29831. The new Stream data type. https://redis.io/topics/streams-intro
29842. New Redis modules APIs: Timers, Cluster and Dictionary APIs.
29853. RDB now store LFU and LRU information.
29864. The cluster manager was ported from Ruby (redis-trib.rb) to C code
2987   inside redis-cli. Check `redis-cli --cluster help` for more info.
29885. New sorted set commands: ZPOPMIN/MAX and blocking variants.
29896. Active defragmentation version 2.
29907. Improvemenets in HyperLogLog implementations.
29918. Better memory reporting capabilities.
29929. Many commands with sub-commands now have an HELP subcommand.
299310. Better performances when clients connect and disconnect often.
299411. Many bug fixes and other random improvements.
299512. Jemalloc was upgraded to version 5.1
299613. CLIENT UNBLOCK and CLIENT ID.
299714. The LOLWUT command was added. http://antirez.com/news/123
299815. We no longer use the "slave" word if not for API backward compatibility.
299916. Differnet optimizations in the networking layer.
300017. Lua improvements:
3001    - Better propagation of Lua scripts to slaves / AOF.
3002    - Lua scripts can now timeout and get in -BUSY state in the slave as well.
300318. Dynamic HZ to balance idle CPU usage with responsiveness.
300419. The Redis core was refactored and improved in many ways.
3005
3006Thanks to all the users and developers who made this release possible.
3007We'll follow up with more RC releases, until the code looks production ready
3008and we don't get reports of serious issues for a while.
3009
3010A special thank you for the amount of work put into this release
3011(in decreasing number of commits) by:
3012
3013Fabio Nicotra, <[email protected]>
3014Soloestoy <[email protected]>
3015Itamar Haber <[email protected]>
3016Oran Agra <[email protected]>
3017Dvir Volk <[email protected]>
3018dejun.xdj <[email protected]>
3019Guy Benoish <[email protected]>
3020Charsyam <[email protected]>
3021Otmar Ertl <[email protected]>
3022Jan-Erik Rediger <[email protected]>
3023Spinlock <[email protected]>
3024
3025Migrating from 4.0 to 5.0
3026=========================
3027
3028Redis 4.0 is mostly a strict subset of 5.0, you should not have any problem
3029upgrading your application from 4.0 to 5.0. However this is a list of small
3030non-backward compatible changes introduced in the 5.0 release:
3031
3032* redis-cli now implements the cluster management tool. We still ship the
3033  old redis-trib, but new fixes will be implemented only in redis-cli.
3034  See `redis-cli --cluster help` for more info.
3035
3036* The RDB format changed. Redis 5.0 is still able to read 4.0 (and all the
3037  past versions) files, but not the other way around.
3038
3039* Certain log formats and sentences are different in Redis 5.0.
3040
3041* Now by default maxmemory is ignored by slaves, and used only once a slave
3042  is promoted to master. It means that in setups where you want slaves to
3043  enforce maxmemory in an independent way from the master (that will anyway
3044  stream the key eviction DEL commands), you should active this feature manually
3045  and make sure you understand that it breaks consistency if writes are not
3046  always idempotent. TLDR: the new behavior is much better for 99.999% of use
3047  cases, revert it if you really know what you are doing.
3048
3049* Scripts are only replicated by their *effects* and not by sending EVAL/EVALSHA
3050  to slaves or the AOF log itself. This is much better in the general case
3051  and in the future we want to totally remove the other possiblity of
3052  propagating scripts the old way (as EVAL). However you can still turn this
3053  back to the default via the non-documented (if not here) Redis configuration
3054  directive "lua-replicate-commands yes" or
3055  "DEBUG lua-always-replicate-commands 0". However note that Redis 6 may
3056  completely remove such feature.
3057
3058* Because of the above change related to scripts replication, certain Redis
3059  commands that in Redis 4 had their result ordered lexicographically before
3060  being passed to Lua via the return value of redis.call(), now have a behavior
3061  more similar to calling the commands directly from a normal client. For
3062  instance the ordering of elements returned by SMEMBERS or SDIFF is now
3063  undetermined in Lua, exactly as it is by default when calling the commands
3064  from a non-scripting context.
3065
3066--------------------------------------------------------------------------------
3067
3068Credits: For each release, a list of changes with the relative author is
3069provided. Where not specified the implementation and design is done by
3070Salvatore Sanfilippo. Thanks to Redis Labs for making all this possible.
3071Also many thanks to all the other contributors and the amazing community
3072we have.
3073
3074Commit messages may contain additional credits.
3075
3076Enjoy,
3077Salvatore
3078