-
Notifications
You must be signed in to change notification settings - Fork 3
/
00-RELEASENOTES
2858 lines (2188 loc) · 97.4 KB
/
00-RELEASENOTES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Redis 5.0 release notes
=======================
--------------------------------------------------------------------------------
Upgrade urgency levels:
LOW: No need to upgrade unless there are new features you want to use.
MODERATE: Program an upgrade of the server, but it's not urgent.
HIGH: There is a critical bug that may affect a subset of users. Upgrade!
CRITICAL: There is a critical bug affecting MOST USERS. Upgrade ASAP.
SECURITY: There are security fixes in the release.
--------------------------------------------------------------------------------
================================================================================
Redis 5.0.5 Released Mon Apr 7 2019
================================================================================
Visual Studio 2017 on Windows
Jemalloc 5.2.0
================================================================================
Redis 5.0.4 Released Mon Mar 18 17:12:53 CET 2019
================================================================================
Upgrade urgency HIGH: This release fixes several Redis stability issues.
Dear Redis users, this release includes a number of fixes for bugs that may
result in Redis crashing in special conditions (not normal usage, but specific
artificial conditions), fixes to certain Redis behaviors especially around
Redis streams, and finally a set of new APIs for Redis Modules.
Specifically:
* Hyperloglog different coding errors leading to potential crashes were fixed.
* A replication bug leading to a potential crash in case of plain misuse of handshake commands was fixed.
* XCLAIM command incrementing of number of deliveries was fixed.
* LFU field management in objects was improved.
* A potential overflow in the redis-check-aof was fixed.
* A memory leak in case of API misuse was fixed.
* ZPOP* behavior when count is 0 is fixed.
* A few redis-cli --cluster bugs were fixed, plus a few improvements.
* Many other smaller bugs.
We suggest to upgrade Redis, especially in case your instance is facing
untrusted users (for instance Cloud providers) because several of these
bugs could result in unwanted crashes.
This is the list of commits:
antirez in commit 84bdd440:
HyperLogLog: fix comment in hllCount().
1 file changed, 2 insertions(+), 2 deletions(-)
antirez in commit ef1833b3:
HyperLogLog: handle wrong offset in the base case.
1 file changed, 2 insertions(+), 6 deletions(-)
antirez in commit 623afd5e:
HyperLogLog: speedup fuzz test.
1 file changed, 1 insertion(+), 2 deletions(-)
antirez in commit 12b5ff10:
HyperLogLog: enlarge reghisto variable for safety.
1 file changed, 6 insertions(+), 1 deletion(-)
antirez in commit 254d897e:
HyperLogLog: dense/sparse repr parsing fuzz test.
1 file changed, 29 insertions(+)
John Sully in commit 7f79849c:
Fix hyperloglog corruption
1 file changed, 6 insertions(+)
Brad Solomon in commit 3ef2c831:
Provide an uninstall target in Makefile
1 file changed, 3 insertions(+)
antirez in commit 57aea463:
redis-check-aof: fix potential overflow.
1 file changed, 2 insertions(+), 2 deletions(-)
antirez in commit ba5145b8:
Fix objectSetLRUOrLFU() when LFU underflows.
1 file changed, 11 insertions(+), 7 deletions(-)
antirez in commit 76c59f0e:
Fix ZPOP return type when COUNT=0. Related to #5799.
1 file changed, 1 insertion(+), 1 deletion(-)
antirez in commit 1c636714:
Improve comments after merging #5834.
2 files changed, 14 insertions(+), 8 deletions(-)
Guy Benoish in commit 6a3fca4c:
Trim SDS free space of retained module strings
4 files changed, 28 insertions(+), 5 deletions(-)
Guy Benoish in commit 9ec144ea:
Fix mismatching keyspace notification classes
2 files changed, 2 insertions(+), 2 deletions(-)
Guy Benoish in commit d04b5211:
Fix zlexrangespec mem-leak in genericZrangebylexCommand
1 file changed, 4 insertions(+), 1 deletion(-)
Guy Benoish in commit 516f1c77:
Use memtoll() in 'CONFIG SET client-output-buffer-limit'
1 file changed, 2 insertions(+), 2 deletions(-)
Guy Benoish in commit 8db67a55:
Increase string2ld's buffer size (and fix HINCRBYFLOAT)
2 files changed, 5 insertions(+), 1 deletion(-)
Guy Benoish in commit db3d626b:
Check server.verbosity in RM_LogRaw
1 file changed, 2 insertions(+)
Guy Benoish in commit 71439a07:
ZPOP should return an empty array if COUNT=0
1 file changed, 4 insertions(+), 1 deletion(-)
antirez in commit c8a26834:
Modules shared API: export new core APIs.
2 files changed, 6 insertions(+)
antirez in commit a13ba750:
Modules shared API: also unregister the module as user.
1 file changed, 23 insertions(+)
antirez in commit 500e5117:
Modules shared API: prevent unloading of used modules.
1 file changed, 10 insertions(+), 4 deletions(-)
antirez in commit 7854daa1:
Modules shared API: unregister APIs function.
1 file changed, 25 insertions(+)
antirez in commit d38d82af:
Modules shared API: initial core functions.
2 files changed, 89 insertions(+), 1 deletion(-)
antirez in commit 4d747bb8:
Revert shared APIs to modify the design.
3 files changed, 120 deletions(-)
MeirShpilraien in commit 8824b509:
added module ability to register api to be used by other modules
3 files changed, 120 insertions(+)
zhaozhao.zz in commit 000b055b:
Streams: checkType before XGROUP CREATE
1 file changed, 7 insertions(+), 5 deletions(-)
antirez in commit 9b2a0d54:
Fix BZPOP arity, backport from fix in cd2743c.
1 file changed, 2 insertions(+), 2 deletions(-)
chendianqiang in commit 134b2582:
optimize cluster failover
1 file changed, 1 insertion(+)
Steve Webster in commit 1293e2a5:
Only increment delivery count if JUSTID option is omitted
2 files changed, 18 insertions(+), 3 deletions(-)
Steve Webster in commit 3cc4f469:
Increment delivery counter on XCLAIM unless RETRYCOUNT specified
2 files changed, 35 insertions(+), 2 deletions(-)
antirez in commit f4edd2b9:
Merge branch '5.0' of github.com:/antirez/redis into 5.0
swilly22 in commit cedcc54e:
document additional flag of RM_GetContextFlags
1 file changed, 3 insertions(+)
swilly22 in commit 26e98da2:
Extend REDISMODULE_CTX_FLAGS to indicate if command was sent by master
2 files changed, 6 insertions(+)
Salvatore Sanfilippo in commit 0e910939:
Merge pull request #5879 from meierfra-ergon/redis-cli-assume-yes
antirez in commit 67452e91:
Make comment in #5911 stay inside 80 cols.
1 file changed, 2 insertions(+), 1 deletion(-)
John Sully in commit 30f666ef:
Replicas aren't allowed to run the replicaof command
1 file changed, 8 insertions(+)
Frank Meier in commit bc6c1c40:
extend use of cluster-yes option to other confimation questions
1 file changed, 9 insertions(+)
antirez in commit 76419d8d:
Merge branch '5.0' of github.com:/antirez/redis into 5.0
Oran Agra in commit 72ba6069:
redis-cli add support for --memkeys, fix --bigkeys for module types
1 file changed, 132 insertions(+), 81 deletions(-)
chendianqiang in commit 2ca21753:
fix replicationid will not change for server.masterhost==NULL in cluster mode when restart slave
1 file changed, 1 insertion(+), 1 deletion(-)
Salvatore Sanfilippo in commit bd7ddd79:
Merge pull request #5870 from fengweiyuan/5.0
varianfeng in commit d13bc143:
fix corrupt_rdb.c bug.Let the name of input rdb file name be valid.
1 file changed, 2 insertions(+), 1 deletion(-)
artix in commit 44c5bce0:
Cluster Manager: fix replica assigment anti-affinity (create)
1 file changed, 6 insertions(+)
artix in commit f066e526:
Cluster Manager: remove unused code elements
1 file changed, 8 insertions(+), 13 deletions(-)
Zhicheng Wei in commit 23214966:
fix clusterManagerGetAntiAffinityScore double free otypes
1 file changed, 2 insertions(+), 1 deletion(-)
antirez in commit 80bccd71:
Remove debugging printf from replication.tcl test.
1 file changed, 1 deletion(-)
================================================================================
Redis 5.0.3 Released Tue Dec 11 18:17:26 CET 2018
================================================================================
Upgrade urgency HIGH: Redis 5 is consolidating, upgrading is a good idea.
However there is nothing very critical here, but certain
issues resolved could lead to very rare crashes.
Welcome to Redis 5.0.3, several interesting bug fixes here:
* Redis no longer panics when you send data to a replica-mode connection that
is in MONITOR or SYNC mode.
* Fixes to certain sorted set edge cases. You are unlikely to ever notice those
issues, but now it is more correct.
* Certain BSD variants now are better supported: build & register logging
on crash.
* The networking core now recovers if an IPv6 address is listed in bind but
is actually not able to work because there is no such protocol in the
system.
* redis-cli cluster mode improved in many ways. Especially the fix subcommand
work was enhanced to cover other edge cases that were still not covered
after the work done for Redis 5.
* MEMORY USAGE is now more accurate.
* DEBUG DIGEST-VALUE added in case you want to make sure a given set of keys
(and not the whole DB) are excatly the same between two instances.
* Fix a potential crash in the networking code related to recent changes
to the way the reply is consumed.
* Reject EXEC containing write commands against an instance that changed role
from master to replica during our transaction.
* Fix a crash in KEYS and other commands using pattern matching, in an edge
case where the pattern contains a zero byte.
* Fix eviction during AOF loading due to maxmemory triggered by commands
executed in loading state.
The following is the list of commmits if you want to check credits or dig
further in the details.
commit 2c6ee0f9b3d9ca48c6da8bd18796186784216bff
Author: antirez <[email protected]>
Date: Wed Dec 12 11:37:15 2018 +0100
freeMemoryIfNeeded() small refactoring.
Related to issue #5686 and PR #5689.
commit 107e93e75acfd5def0252efb6870751940816395
Author: zhaozhao.zz <[email protected]>
Date: Wed Dec 12 00:25:24 2018 +0800
evict: don't care about mem if loading
When loading data, we call processEventsWhileBlocked
to process events and execute commands.
But if we are loading AOF it's dangerous, because
processCommand would call freeMemoryIfNeeded to evict,
and that will break data consistency, see issue #5686.
antirez in commit ee93dc0b:
Crashing is too much in addReplyErrorLength().
1 file changed, 6 deletions(-)
hdmg in commit c55254a5:
fix comments fault discription
1 file changed, 1 insertion(+), 1 deletion(-)
lsytj0413 in commit dfd25013:
fix a typo: craeted -> created
1 file changed, 1 insertion(+), 1 deletion(-)
antirez in commit 392a2566:
stringmatchlen() fuzz test added.
3 files changed, 22 insertions(+)
antirez in commit 7602f695:
Fix stringmatchlen() read past buffer bug.
1 file changed, 1 insertion(+), 1 deletion(-)
zhaozhao.zz in commit c4f3585e:
multi: ignore multiState's cmd_flags when loading AOF
1 file changed, 1 insertion(+), 1 deletion(-)
antirez in commit d037e987:
Reject EXEC containing write commands against RO replica.
2 files changed, 20 insertions(+)
artix in commit e00ab324:
Cluster Manager: - Multiple owners checking in 'fix'/'check' commands is
now optional (using --cluster-search-multiple-owners). - Updated help.
1 file changed, 14 insertions(+), 5 deletions(-)
artix in commit 94f64de3:
Cluster Manager: FixOpenSlot now correctly updates in-memory cluster
configuration. Improved output messages.
1 file changed, 17 insertions(+), 5 deletions(-)
artix in commit 752d636f:
Cluster Manager: 'fix' command now handles open slots with migrating state
in one node and importing state in multiple nodes.
1 file changed, 74 insertions(+), 6 deletions(-)
artix in commit 552091f9:
Cluster Manager: setting new slot owner is now handled atomically in
'fix' command.
1 file changed, 72 insertions(+), 31 deletions(-)
artix in commit 2280f4f7:
Cluster Manager: code cleanup.
1 file changed, 41 insertions(+), 87 deletions(-)
artix in commit e084b8cc:
Cluster Manager: check/fix commands now handle multiple owners even
if all slots are covered and not open.
1 file changed, 129 insertions(+), 6 deletions(-)
zhaozhao.zz in commit fa726e2a:
remove useless tryObjectEncoding in debug assert
1 file changed, 1 deletion(-)
Oran Agra in commit 40244b10:
fix #5580, display fragmentation and rss overhead bytes as signed
2 files changed, 6 insertions(+), 6 deletions(-)
zhaozhao.zz in commit beab3151:
networking: current_client should not be NULL when trim qb_pos
1 file changed, 1 insertion(+), 1 deletion(-)
antirez in commit 07ccb642:
Remove no longer relevant comment in processCommand().
1 file changed, 2 insertions(+), 6 deletions(-)
antirez in commit 60fdaf07:
DEBUG DIGEST-VALUE implemented.
1 file changed, 17 insertions(+), 3 deletions(-)
antirez in commit 48b31b0d:
DEBUG DIGEST refactoring: extract function to digest a value.
1 file changed, 142 insertions(+), 131 deletions(-)
yura in commit ef3ff402:
redis-cli reshard/rebalance: ability to force replacement on existing keys
1 file changed, 6 insertions(+), 5 deletions(-)
Thomas Orozco in commit ee223fb8:
cli: pass auth through REDISCLI_AUTH
1 file changed, 14 insertions(+)
yongman in commit 41295e55:
Fix cluster call reply format readable
1 file changed, 1 insertion(+), 1 deletion(-)
Oran Agra in commit 0ed3970f:
fix small test suite race conditions
3 files changed, 11 insertions(+)
zhaozhao.zz in commit 605dddbb:
MEMORY command: make USAGE more accurate
1 file changed, 7 insertions(+), 6 deletions(-)
yongman in commit 1f43bf29:
Fix choose a random master node for slot assignment
1 file changed, 29 insertions(+), 5 deletions(-)
Weiliang Li in commit 69f0c678:
fix comment typo in util.c
1 file changed, 1 insertion(+), 1 deletion(-)
Chris Lamb in commit bc53a3ab:
Clarify the "Creating Server TCP listening socket" error.
1 file changed, 1 insertion(+), 1 deletion(-)
Chris Lamb in commit fefe5460:
Don't treat unsupported protocols as fatal errors
1 file changed, 4 insertions(+)
David Carlier in commit a8862972:
OpenBSD support.
3 files changed, 74 insertions(+), 1 deletion(-)
David Carlier in commit 5e86daf9:
Backtrace/register dump on BSD.
3 files changed, 97 insertions(+), 3 deletions(-)
Guy Benoish in commit 7c8cf5ac:
Don't call sdscmp() with shared.maxstring or shared.minstring
2 files changed, 23 insertions(+), 9 deletions(-)
Qu Chen in commit 39e9eda3:
Add unit test for stream XCLAIM command.
1 file changed, 48 insertions(+)
antirez in commit 62485232:
Abort instead of crashing when loading bad stream master key.
1 file changed, 3 insertions(+)
Madelyn Olson in commit a5487309:
Fixed a serverPanic when sending an invalid command to a monitor client
1 file changed, 1 insertion(+), 1 deletion(-)
================================================================================
Redis 5.0.2 Released Thu Nov 22 11:22:37 CET 2018
================================================================================
Upgrade urgency: CRITICAL if you use streams and consumer groups.
HIGH if you use redis-cli with Redis Cluster.
LOW otherwise.
Welcome to Redis 5.0.2. This release fixes two issues with Streams consumer
groups, where items could be returned duplicated by XREADGROUP when accessing
the history, and another bug where XREADGROUP can report some history even
if the comsumer pending list is empty. Both problems were addressed and unit
tests to avoid regressions implemented. Moreover this release fixes some
issue with redis-cli when in cluster mode. Finally some FreeBSD and DragonFly
build problems are now resolved. The list of the commits is below.
Enjoy,
Salvatore
David Carlier in commit e8b4291a:
DragonFlyBSD little build fix
2 files changed, 6 insertions(+), 1 deletion(-)
yongman in commit 8fcfd374:
skip slave nodes when sending cluster setslot command
1 file changed, 1 insertion(+)
yongman in commit d7089ddd:
Fix pointer access and memory leak in redis-cli.
1 file changed, 6 insertions(+), 3 deletions(-)
antirez in commit 17b4cd83:
Test: regression test for #5570.
1 file changed, 15 insertions(+)
antirez in commit 45123169:
Stream: fix XREADGROUP history reading of deleted messages.
1 file changed, 1 insertion(+), 1 deletion(-)
David Carlier in commit 5ad588f0:
only FreeBSD change/little warning addressing
2 files changed, 7 insertions(+), 4 deletions(-)
David Carlier in commit 11801e1a:
tweak form feedback
1 file changed, 1 insertion(+), 1 deletion(-)
David Carlier in commit c1f13575:
allow flavors
1 file changed, 1 insertion(+), 1 deletion(-)
David Carlier in commit 275a2d49:
Fix clang build.
1 file changed, 5 insertions(+), 1 deletion(-)
antirez in commit 44ad5141:
Test: regression test for #5577.
1 file changed, 24 insertions(+)
antirez in commit c7951f43:
Streams: fix XREADGROUP history reading when CG last_id is low.
1 file changed, 12 insertions(+), 9 deletions(-)
antirez in commit a69bc5be:
t_stream.c comment resized to 80 cols.
1 file changed, 2 insertions(+), 1 deletion(-)
antirez in commit 5314099d:
Redis 5 changelog: don't expect Lua replies to be ordered.
1 file changed, 14 insertions(+), 5 deletions(-)
================================================================================
Redis 5.0.1 Released Wed Nov 07 13:09:30 CET 2018
================================================================================
Upgrade urgency: URGENT if you use Redis Streams. MODERATE otherwise.
Hi all, this is the first patch level release of Redis 5. It contains
both fixes and improvements. Here there is a list of the major ones, however
read the commit messages at the end of the changelog if you want to know
more about the smaller things. Let's start with the new features:
* Sentinel now supports authentication! Check the Sentinel official doc
for more info.
* Redis-cli cluster "fix" is now able to fix a big number of clusters put
in a bad condition. Previously many corner cases were not covered.
Now the critical fixes:
1. Fix RESTORE mismatch reply when certain keys already expired.
2. Fix an XCLAIM non trivial issue: sometimes the command returned a wrong
entry or desynchronized the protocol.
And now the other fixes:
3. Stack trace generation on the Raspberry PI (and 32bit ARM) fixed.
4. Don't evict expired keys when the KEYS command is called, in order to
avoid a mass deletion event. However expired keys are not displayed
by KEYS as usually.
5. Improvements in the computation of the memory used, when estimating
the AOF buffers.
6. XRANGE COUNT of 0 fixed.
7. "key misses" stats accounting fixed. Many cache misses were not counted.
8. When in MULTI state, return OOM while accumulating commands and there
is no longer memory available.
9. Fix build on FreeBSD and possibly others.
10. Fix a crash in Redis modules, thread safe context reply accumulation.
11. Fix a race condition when producing the RDB file for full SYNC.
12. Disable protected mode in Sentinel.
13. More commands now have the HELP subcommand.
14. Fixed an issue about adaptive server HZ timer.
15. Fix cluster-replica-no-failover option name.
Finally, this is the list of commits. Enjoy Redis 5.0.1!
antirez in commit c801283f:
Fix cluster-replica-no-failover option name.
1 file changed, 1 insertion(+), 1 deletion(-)
antirez in commit 4c4f50e1:
MEMORY command: make strcasecmp() conditional like the following.
1 file changed, 1 insertion(+), 2 deletions(-)
Itamar Haber in commit a7b46e0e:
Uppercases subcommands in MEMORY HELP
1 file changed, 5 insertions(+), 5 deletions(-)
Itamar Haber in commit 80e129d9:
Standardizes `MEMORY HELP` subcommand
1 file changed, 13 insertions(+), 14 deletions(-)
valentino in commit 88805cbb:
fix short period of server.hz being uninitialized
1 file changed, 1 insertion(+), 1 deletion(-)
Itamar Haber in commit 6b402733:
Adds HELP to LATENCY
1 file changed, 14 insertions(+), 2 deletions(-)
yongman in commit 1c637de9:
fix malloc in clusterManagerComputeReshardTable
1 file changed, 1 insertion(+), 1 deletion(-)
artix in commit 90b52fde:
Cluster Manager: removed unused var.
1 file changed, 1 insertion(+), 2 deletions(-)
artix in commit 89cbb5df:
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.
1 file changed, 49 insertions(+), 10 deletions(-)
artix in commit 175515c9:
Cluster Manager: fixed string parsing issue in clusterManagerGetConfigSignature
1 file changed, 3 insertions(+), 3 deletions(-)
artix in commit 3997dd6e:
Cluster Manager: better fix subcommand.
1 file changed, 78 insertions(+), 20 deletions(-)
artix in commit bd80291c:
Cluster Manager: fixed typos in comments.
1 file changed, 3 insertions(+), 3 deletions(-)
artix in commit 4369cbce:
Cluster Manager: fixed 'DELSLOT' subcommand typo.
1 file changed, 1 insertion(+), 1 deletion(-)
antirez in commit 1ed821e2:
Fix XCLAIM missing entry bug.
1 file changed, 3 insertions(+), 2 deletions(-)
michael-grunder in commit b49bcd01:
Use typedef'd mstime_t instead of time_t
1 file changed, 1 insertion(+), 1 deletion(-)
antirez in commit 09d1849e:
Improve streamReplyWithRange() top comment.
1 file changed, 9 insertions(+), 5 deletions(-)
antirez in commit bdf6306f:
Add support for Sentinel authentication.
1 file changed, 17 insertions(+), 3 deletions(-)
antirez in commit 50222af5:
Disable protected mode in Sentinel mode.
1 file changed, 1 insertion(+)
antirez in commit 643ee6e3:
When replica kills a pending RDB save during SYNC, log it.
1 file changed, 6 insertions(+)
Andrey Bugaevskiy in commit 8b609c99:
Move child termination to readSyncBulkPayload
1 file changed, 6 insertions(+), 7 deletions(-)
Andrey Bugaevskiy in commit 27102605:
Prevent RDB autosave from overwriting full resync results
1 file changed, 7 insertions(+)
antirez in commit a677923d:
asyncCloseClientOnOutputBufferLimitReached(): don't free fake clients.
1 file changed, 1 insertion(+)
David Carlier in commit 427e440a:
needs it for the global
1 file changed, 1 insertion(+)
David Carlier in commit 28f9ca4e:
Fix non Linux build.
3 files changed, 20 insertions(+), 1 deletion(-)
zhaozhao.zz in commit 4bf9efe2:
MULTI: OOM err if cannot free enough memory in MULTI/EXEC context
1 file changed, 5 insertions(+), 2 deletions(-)
antirez in commit 4fbd7a39:
Add command fingerprint comment for XSETID.
1 file changed, 3 insertions(+), 1 deletion(-)
Itamar Haber in commit 2480db53:
Plugs a potential underflow
1 file changed, 1 insertion(+)
Itamar Haber in commit e5e4d2ef:
Corrects inline documentation of syntax
1 file changed, 1 insertion(+), 1 deletion(-)
zhaozhao.zz in commit 713800d2:
if we read a expired key, misses++
1 file changed, 5 insertions(+), 1 deletion(-)
antirez in commit e79ee263:
Fix XRANGE COUNT option for value of 0.
1 file changed, 8 insertions(+), 2 deletions(-)
antirez in commit 505cc70f:
Fix typo in streamReplyWithRange() top comment.
1 file changed, 1 insertion(+), 1 deletion(-)
Damien Tournoud in commit 3c36561d:
Overhead is the allocated size of the AOF buffer, not its length
2 files changed, 2 insertions(+), 2 deletions(-)
antirez in commit 3761582f:
Simplify part of the #5470 patch.
1 file changed, 11 insertions(+), 12 deletions(-)
zhaozhao.zz in commit edc47a3a:
do not delete expired keys in KEYS command
1 file changed, 34 insertions(+), 27 deletions(-)
antirez in commit 9872af6d:
Use guide comments to make changes in #5462 more obvious.
1 file changed, 6 insertions(+)
youjiali1995 in commit 3f399c3b:
migrate: fix mismatch of RESTORE reply when some keys have expired.
1 file changed, 8 insertions(+), 6 deletions(-)
hujie in commit eaaff621:
fix typo in config.c
1 file changed, 1 insertion(+), 1 deletion(-)
hujiecs in commit 43ebb7ee:
several typos fixed, optimize MSETNX to avoid unnecessary loop
4 files changed, 4 insertions(+), 4 deletions(-)
antirez in commit de8fdaac:
Remove useless complexity from MSET implementation.
1 file changed, 5 insertions(+), 7 deletions(-)
antirez in commit dc8f1112:
Fix again stack generation on the Raspberry Pi.
1 file changed, 4 insertions(+)
antirez in commit 83a6e81d:
Get rid of the word slave in the release note of Redis 5.
1 file changed, 2 insertions(+), 2 deletions(-)
================================================================================
Redis 5.0.0 Released Wed Oct 17 13:28:26 CEST 2018
================================================================================
Upgrade urgency CRITICAL: Several fixes to streams AOF and replication.
Hi all and welcome to the first stable release of Redis 5! \o/
To start a quick recap of what's new in Redis 5:
1. The new Stream data type. https://redis.io/topics/streams-intro
2. New Redis modules APIs: Timers, Cluster and Dictionary APIs.
3. RDB now store LFU and LRU information.
4. The cluster manager was ported from Ruby (redis-trib.rb) to C code
inside redis-cli. Check `redis-cli --cluster help` for more info.
5. New sorted set commands: ZPOPMIN/MAX and blocking variants.
6. Active defragmentation version 2.
7. Improvemenets in HyperLogLog implementations.
8. Better memory reporting capabilities.
9. Many commands with sub-commands now have an HELP subcommand.
10. Better performances when clients connect and disconnect often.
11. Many bug fixes and other random improvements.
12. Jemalloc was upgraded to version 5.1
13. CLIENT UNBLOCK and CLIENT ID.
14. The LOLWUT command was added. http://antirez.com/news/123
15. We no longer use the "slave" word if not for API backward compatibility.
16. Differnet optimizations in the networking layer.
17. Lua improvements:
- Better propagation of Lua scripts to replicas / AOF.
- Lua scripts can now timeout and get in -BUSY state in the replica as well.
18. Dynamic HZ to balance idle CPU usage with responsiveness.
19. The Redis core was refactored and improved in many ways.
However the list above really does not do justice to the changes of Redis 5
since the core was improved in many ways during the development of the new
version. However certain changes were back ported into Redis 4 once they were
sensed as safe, because many improvements were hard to distinguish from fixes.
The most important user facing improvement is without doubts the introduction
of the new general purpose data type after years: the streams.
Note that we worked to improve and fix streams till a few hours ago, so while
we are not aware of critical bugs in this release, surely there is to handle it
with some care for the first weeks. Bug reporting will be highly appreciated and
we are ready to work immediately to release 5.0.1 once there is enough important
stuff to justify a new release (probably soon).
People not using the streams can have probably a better production-ready
experience with Redis 5, also because many internals are shared with Redis 4
so the jump is not as big as it was between 3.2 and 4 in terms of how things
internally work.
Well, many thanks to the Redis community and the developers that made
this release possible, contributing bug reports, patches, new features, working
on the clients, sometimes debugging problems for days. Also thank to everybody
that adopted Redis for their use cases making things work for users worldwide.
The list of commits in this release follows.
Cheers,
Salvatore
antirez in commit bcc0916d:
Fix conditional in XGROUP.
1 file changed, 1 insertion(+), 1 deletion(-)
antirez in commit 1b2f23f3:
Update help.h for redis-cli.
1 file changed, 57 insertions(+), 7 deletions(-)
antirez in commit de0ae56c:
Tests for XGROUP CREATE MKSTREAM.
1 file changed, 11 insertions(+)
antirez in commit 56c3dfa1:
Fix XGROUP CREATE MKSTREAM handling of .
1 file changed, 7 insertions(+), 2 deletions(-)
antirez in commit 2687f228:
Process MKSTREAM option of XGROUP CREATE at a later time.
1 file changed, 28 insertions(+), 17 deletions(-)
zhaozhao.zz in commit cfbaf8f1:
Scripting & Streams: some commands need right flags
1 file changed, 5 insertions(+), 5 deletions(-)
antirez in commit 4e4099b9:
XGROUP CREATE: MKSTREAM option for automatic stream creation.
1 file changed, 29 insertions(+), 5 deletions(-)
zhaozhao.zz in commit 6dd4d864:
Streams: Tests modified XSTREAM -> XSETID
1 file changed, 2 insertions(+), 2 deletions(-)
zhaozhao.zz in commit 3aff0e8c:
Streams: rewrite empty streams with certain lastid
1 file changed, 1 insertion(+), 1 deletion(-)
antirez in commit 880b563e:
Tests modified to use XADD MAXLEN 0 + XSETID.
1 file changed, 12 insertions(+), 26 deletions(-)
antirez in commit 83c87835:
Streams: rewrite empty streams with XADD MAXLEN 0. Use XSETID.
1 file changed, 18 insertions(+), 12 deletions(-)
antirez in commit fd22e3ac:
XSETID: accept IDs based on last entry.
1 file changed, 18 insertions(+), 5 deletions(-)
antirez in commit dfab3cba:
Streams: XSTREAM SETID -> XSETID.
3 files changed, 17 insertions(+), 67 deletions(-)
zhaozhao.zz in commit a3fb28ed:
Streams: rewrite id in XSTREAM CREATE *
1 file changed, 4 insertions(+)
zhaozhao.zz in commit f4b4db13:
Streams: add tests for aof rewrite
1 file changed, 23 insertions(+)
zhaozhao.zz in commit d22f1ef0:
Stream & AOF: rewrite stream in correct way
1 file changed, 32 insertions(+), 16 deletions(-)
zhaozhao.zz in commit 6455274d:
Streams: add tests for XSTREAM command
1 file changed, 39 insertions(+)
zhaozhao.zz in commit 0edbe953:
Streams: add a new command XTREAM
3 files changed, 67 insertions(+)
Hamid Alaei in commit 9714bba2:
fix timer context selected database
1 file changed, 3 insertions(+), 1 deletion(-)
antirez in commit eb53f15a:
Make comment about nack->consumer test for minidle more obvious.
1 file changed, 4 insertions(+), 2 deletions(-)
antirez in commit a77f836e:
Streams: use propagate_last_id itself as streamPropagateGroupID trigger.
1 file changed, 2 insertions(+), 2 deletions(-)
antirez in commit 0f0610eb:
Streams: better naming: lastid_updated -> propagate_last_id.
1 file changed, 6 insertions(+), 6 deletions(-)
zhaozhao.zz in commit a745e423:
Streams: panic if streamID invalid after check, should not be possible.
1 file changed, 2 insertions(+), 1 deletion(-)
zhaozhao.zz in commit 9974be13:
Streams: propagate lastid in XCLAIM when it has effect
1 file changed, 13 insertions(+), 6 deletions(-)
zhaozhao.zz in commit 69a628d0:
Streams: XCLAIM ignore minidle if NACK is created by FORCE
1 file changed, 4 insertions(+), 2 deletions(-)
zhaozhao.zz in commit a04b43c7:
Streams: bugfix XCLAIM should propagate group name not consumer name
1 file changed, 1 insertion(+), 1 deletion(-)
Sergey Chupov in commit 8977a90c:
fixed typos in readme
1 file changed, 2 insertions(+), 2 deletions(-)
antirez in commit 3a745674:
redis.conf typo fixed: ingore -> ignore.
1 file changed, 1 insertion(+), 1 deletion(-)
antirez in commit 22770d76:
Rax: radix tree updated to latest version from antirez/rax.
2 files changed, 233 insertions(+), 68 deletions(-)
antirez in commit fbac534f:
Test: avoid time related false positive in RESTORE test.
1 file changed, 1 insertion(+), 1 deletion(-)
antirez in commit 49872337:
LOLWUT: capitalize Nees.
1 file changed, 1 insertion(+), 1 deletion(-)
antirez in commit 80c471f5:
Test: cgroup propagation test also for NOACK variant.
1 file changed, 39 insertions(+), 29 deletions(-)
antirez in commit 8defa5da:
Test: consumer group last ID slave propagation test.
1 file changed, 39 insertions(+)
zhaozhao.zz in commit e1e3eaca:
Avoid recreate write handler for protected client.
1 file changed, 4 insertions(+)
antirez in commit b501fd5d:
Fix propagation of consumer groups last ID.
3 files changed, 56 insertions(+), 9 deletions(-)
================================================================================
Redis 5.0-rc6 Released Wed Oct 10 11:03:54 CEST 2018
================================================================================
Upgrade urgency HIGH: Many bugs fixed especially in the context of streams.
This is probably the last release candidate of Redis 5. The Redis 5 GA version
will be released 17th of October. The main highlights of this release are:
* Critical AOF bug, as old as AOF itself: if an open MULTI/EXEC block is at
the end of the AOF file, Redis would still read the half-transaction when
reloading back the AOF.
* The slave name was removed from logs and documentation, now replica is used
instead.
* LOLWUT command added.
* New modules APIs: Disable Redis Cluster redirection.
* New modules APIs: Sorted dictionaries data type.
* Modules APIs fixes: timer / cluster messages callback now can call RM_Call().
* Fix for #5024 - commandstats for multi-exec were logged as EXEC.
* A number of optimizations and fixes for the stream data type.
* Many other stability improvements.
This is the list of comments and contributors:
antirez in commit 9a6fa7d0:
changelog.tcl: get optional argument for number of commits.
1 file changed, 8 insertions(+), 3 deletions(-)
antirez in commit 101e419f:
Free protected clients asynchronously.
1 file changed, 7 insertions(+)
antirez in commit 726debb8:
Actually use the protectClient() API where needed.
2 files changed, 8 insertions(+), 9 deletions(-)
antirez in commit 0b87f78a:
Introduce protectClient() + some refactoring.
2 files changed, 60 insertions(+), 18 deletions(-)
zhaozhao.zz in commit 6aa8ac70:
debug: avoid free client unexpectedly when reload & loadaof
1 file changed, 8 insertions(+), 2 deletions(-)
antirez in commit 48040b02:
aof.c: improve indentation and change warning message.
1 file changed, 11 insertions(+), 4 deletions(-)
zhaozhao.zz in commit 7cc20569:
AOF: discard if we lost EXEC when loading aof
2 files changed, 14 insertions(+), 3 deletions(-)
antirez in commit 2007d30c:
Refactoring of XADD / XTRIM MAXLEN rewriting.
1 file changed, 15 insertions(+), 22 deletions(-)
zhaozhao.zz in commit 6a298110:
Streams: add test cases for XADD/XTRIM maxlen
1 file changed, 46 insertions(+)
zhaozhao.zz in commit 041161b7:
Streams: propagate specified MAXLEN instead of approximated
1 file changed, 35 insertions(+), 6 deletions(-)
zhaozhao.zz in commit f04d799b:
Streams: reset approx_maxlen in every maxlen loop
1 file changed, 2 insertions(+)
zhaozhao.zz in commit affd9365:
Streams: XTRIM will return an error if MAXLEN with a count < 0
1 file changed, 6 insertions(+), 1 deletion(-)
zhaozhao.zz in commit 4c405ad0:
Streams: propagate original MAXLEN argument in XADD context
1 file changed, 3 insertions(+), 12 deletions(-)
antirez in commit 5c6d4b4a:
Fix typo in replicationCron() comment.
1 file changed, 1 insertion(+), 1 deletion(-)
antirez in commit a67a8dbf:
Fix typo in design comment of bio.c.
1 file changed, 1 insertion(+), 1 deletion(-)
antirez in commit c4ab5a05: