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