@@ -10,6 +10,842 @@ HIGH: There is a critical bug that may affect a subset of users. Upgrade!
10
10
CRITICAL: There is a critical bug affecting MOST USERS. Upgrade ASAP.
11
11
--------------------------------------------------------------------------------
12
12
13
+ ================================================================================
14
+ Redis 3.2.0 Released Fri May 06 08:47:10 CEST 2016
15
+ ================================================================================
16
+
17
+ Upgrade urgency HIGH: 3.2-RC users should upgrade ASAP to this more
18
+ stable release of Redis.
19
+
20
+ Hello, this is Redis 3.2.0 stable! And with the new release there is a new
21
+ format for the changelog. Now it is composed of a "letter" like the one
22
+ you are reading, followed by all the commits composing the release for people
23
+ interested in the details.
24
+
25
+ There are a few changes between the latest release candidate of Redis 3.2
26
+ and the final 3.2.0 release. The main ones are the obvious bug fixes you
27
+ can find detailed below, also a few new things:
28
+
29
+ Critical bugs fixed:
30
+
31
+ * There was a problem in the way a cluster instance loaded the AOF that
32
+ could cause data written via scripts to be lost during reshardings.
33
+
34
+ New things:
35
+
36
+ * There is a new very powerful BITFIELD command. Check the documentation
37
+ here: http://redis.io/commands/BITFIELD
38
+
39
+ * CONFIG GET is allowed during the loading of the dataset.
40
+
41
+ * The DEBUG command have new features and can show an help with DEBUG HELP.
42
+
43
+ * redis-cli show hits about the commands arguments to the right.
44
+
45
+ * GEORADIUS got a STORE / STOREDIST option to store the result into a target
46
+ key (as as orted set) instead of reporting it to the user.
47
+
48
+ * Redis Cluster replicas migration now works in a slightly different way. In
49
+ the past a slave could migrate only to a master that used to have slaves
50
+ in the past (and if there was still trace of this information). Now instead
51
+ if a new slave gets at least a slot, and at least one other master in the
52
+ cluster has a slave, then the new master is considered a valid target for
53
+ replica migration. So if it will be orphaned and there is a spare slave
54
+ it will get one.
55
+
56
+ * CLUSTER SLOTS output now includes the node ID (in a backward compatible
57
+ manner).
58
+
59
+ * A lot of bug fixes you can read in the commits details below, with the
60
+ authors that kindly provided many useful patches. Thanks.
61
+
62
+ As usually what "stable" means is that we are confident the release is mature,
63
+ however do your tests before putting it into production in your environemnt
64
+ as it's fresh meat anyway.
65
+
66
+ Cheers,
67
+ Salvatore
68
+
69
+ +-------------------------------------------------------------------------------
70
+ | Cluster: don't check scripts key slots during AOF loading.
71
+ | By antirez, 2016-05-05 23:37:08 +0200
72
+ +--------------------------------------------------------------------------------
73
+ https://github.com/antirez/redis/commit/746e1bebb4baf876c1e8cd2fe2d468a1c41e5dc3
74
+
75
+
76
+ src/scripting.c | 6 ++++--
77
+ 1 file changed, 4 insertions(+), 2 deletions(-)
78
+
79
+ +-------------------------------------------------------------------------------
80
+ | redis-cli: remove debugging message.
81
+ | By antirez, 2016-05-05 18:05:37 +0200
82
+ +--------------------------------------------------------------------------------
83
+ https://github.com/antirez/redis/commit/3907b059280898c6340b53982b3b65957535da7c
84
+
85
+
86
+ src/redis-cli.c | 1 -
87
+ 1 file changed, 1 deletion(-)
88
+
89
+ +-------------------------------------------------------------------------------
90
+ | Revert "Fix commandCommand arity"
91
+ | By antirez, 2016-05-05 17:35:33 +0200
92
+ +--------------------------------------------------------------------------------
93
+ https://github.com/antirez/redis/commit/f01a2714582a9a916b41e6cb90e42474a104925d
94
+
95
+ This reverts commit 1189a4eae6d009fc0da8d50fd542ba1391542165.
96
+
97
+ Actually this is wrong, the command can be called without args at all.
98
+
99
+ src/server.c | 2 +-
100
+ 1 file changed, 1 insertion(+), 1 deletion(-)
101
+
102
+ +-------------------------------------------------------------------------------
103
+ | Fix commandCommand arity
104
+ | By Ruben Bridgewater, 2016-01-04 11:39:45 +0100
105
+ +--------------------------------------------------------------------------------
106
+ https://github.com/antirez/redis/commit/1189a4eae6d009fc0da8d50fd542ba1391542165
107
+
108
+
109
+ src/server.c | 2 +-
110
+ 1 file changed, 1 insertion(+), 1 deletion(-)
111
+
112
+ +-------------------------------------------------------------------------------
113
+ | Fix a possible race condition of sdown detection if the connection to master/slave/sentinel decames disconnected just after the last PONG and before the next PING.
114
+ | By Daniel Shih, 2016-01-12 17:06:47 +0800
115
+ +--------------------------------------------------------------------------------
116
+ https://github.com/antirez/redis/commit/d9dc0d777b775f2fe4f23f42e1b4130f4de1ed72
117
+
118
+
119
+ src/sentinel.c | 2 ++
120
+ 1 file changed, 2 insertions(+)
121
+
122
+ +-------------------------------------------------------------------------------
123
+ | Fix nanosecond conversion
124
+ | By Jan-Erik Rediger, 2016-01-13 10:22:29 -0700
125
+ +--------------------------------------------------------------------------------
126
+ https://github.com/antirez/redis/commit/13bd702844eda7bccc7c672b6ff77f53e21ab841
127
+
128
+ 1 microsecond = 1000 nanoseconds
129
+ 1e3 = 1000
130
+ 10e3 = 10000
131
+
132
+ src/redis-cli.c | 2 +-
133
+ 1 file changed, 1 insertion(+), 1 deletion(-)
134
+
135
+ +-------------------------------------------------------------------------------
136
+ | redis-cli: don't free historyfile, is used later.
137
+ | By antirez, 2016-05-05 13:57:57 +0200
138
+ +--------------------------------------------------------------------------------
139
+ https://github.com/antirez/redis/commit/f6b7df3aec1d8fddf3121c4315fea4bf45cc4cfe
140
+
141
+
142
+ src/redis-cli.c | 2 +-
143
+ 1 file changed, 1 insertion(+), 1 deletion(-)
144
+
145
+ +-------------------------------------------------------------------------------
146
+ | Cluster test 12: reshard back just a few slots to speedup the test.
147
+ | By antirez, 2016-05-05 11:49:27 +0200
148
+ +--------------------------------------------------------------------------------
149
+ https://github.com/antirez/redis/commit/97ce72fa2d348f914fc40ccf0a32008c7362b817
150
+
151
+
152
+ tests/cluster/tests/12-replica-migration-2.tcl | 14 +++++++-------
153
+ 1 file changed, 7 insertions(+), 7 deletions(-)
154
+
155
+ +-------------------------------------------------------------------------------
156
+ | Cluster: make getNodeByQuery() responsible of -CLUSTERDOWN errors.
157
+ | By antirez, 2016-05-05 11:33:43 +0200
158
+ +--------------------------------------------------------------------------------
159
+ https://github.com/antirez/redis/commit/708f486c77b455fa7ae1e87cf31278474eb9d432
160
+
161
+ This fixes a bug introduced by d827dbf, and makes the code consistent
162
+ with the logic of always allowing, while the cluster is down, commands
163
+ that don't target any key.
164
+
165
+ As a side effect the code is also simpler now.
166
+
167
+ src/cluster.c | 13 +++++++++++--
168
+ src/server.c | 26 ++++++++++----------------
169
+ 2 files changed, 21 insertions(+), 18 deletions(-)
170
+
171
+ +-------------------------------------------------------------------------------
172
+ | Fixes a typo
173
+ | By Itamar Haber, 2016-01-28 21:47:18 +0200
174
+ +--------------------------------------------------------------------------------
175
+ https://github.com/antirez/redis/commit/1fc2ed61bec2f2bf266b48e566a197c5214b4350
176
+
177
+
178
+ src/cluster.c | 2 +-
179
+ 1 file changed, 1 insertion(+), 1 deletion(-)
180
+
181
+ +-------------------------------------------------------------------------------
182
+ | Reverse redirect address parse
183
+ | By David Cavar, 2016-02-09 15:04:42 +0100
184
+ +--------------------------------------------------------------------------------
185
+ https://github.com/antirez/redis/commit/787d5ab9be45bf4feb6cfa8a227c185c93aaadae
186
+
187
+ Fix issue in case the redirect address is in ipv6 format. Parse from behind to extract last part of the response which represents actual port.
188
+ src/redis-cli.c | 2 +-
189
+ 1 file changed, 1 insertion(+), 1 deletion(-)
190
+
191
+ +-------------------------------------------------------------------------------
192
+ | Bind both IPv4 and IPv6 or exit with an error by default.
193
+ | By antirez, 2016-05-05 10:02:42 +0200
194
+ +--------------------------------------------------------------------------------
195
+ https://github.com/antirez/redis/commit/0fda06225f19b18a370d63ac650a8bb61020235d
196
+
197
+ Thanks to @tushar2708 for the PR. I applied a slightly different fix.
198
+ Thanks to @cespare for reporting.
199
+
200
+ Close #3024
201
+ Close #3020
202
+
203
+ src/server.c | 18 ++++++++++--------
204
+ 1 file changed, 10 insertions(+), 8 deletions(-)
205
+
206
+ +-------------------------------------------------------------------------------
207
+ | Quick fix to avoid false positive in replica migration test.
208
+ | By antirez, 2016-05-05 09:45:31 +0200
209
+ +--------------------------------------------------------------------------------
210
+ https://github.com/antirez/redis/commit/65707fa6b5bb38b5818af57ab93b9b1da47d708a
211
+
212
+
213
+ tests/cluster/tests/12-replica-migration-2.tcl | 5 ++++-
214
+ 1 file changed, 4 insertions(+), 1 deletion(-)
215
+
216
+ +-------------------------------------------------------------------------------
217
+ | Ensure slots are rechecked on EXEC.
218
+ | By Chris Thunes, 2016-03-11 15:22:36 -0500
219
+ +--------------------------------------------------------------------------------
220
+ https://github.com/antirez/redis/commit/1f3ed652e2a6cfcbbd5300a31f5771f2ce842e98
221
+
222
+ Fixes #2515.
223
+
224
+ src/server.c | 9 +++++++--
225
+ 1 file changed, 7 insertions(+), 2 deletions(-)
226
+
227
+ +-------------------------------------------------------------------------------
228
+ | fix for #3187
229
+ | By therealbill, 2016-04-22 10:43:48 -0500
230
+ +--------------------------------------------------------------------------------
231
+ https://github.com/antirez/redis/commit/3a4810678904af013901a896ab0bb3c71856644c
232
+
233
+ I've renamed maxmemoryToString to evictPolicyToString since that is
234
+ more accurate (and easier to mentally connect with the correct data), as
235
+ well as updated the function to user server.maxmemory_policy rather than
236
+ server.maxmemory. Now with a default config it is actually returning
237
+ the correct policy rather than volatile-lru.
238
+
239
+ src/config.c | 4 ++--
240
+ src/server.c | 2 +-
241
+ src/server.h | 2 +-
242
+ 3 files changed, 4 insertions(+), 4 deletions(-)
243
+
244
+ +-------------------------------------------------------------------------------
245
+ | Fixed typo in README.md
246
+ | By Seth Bergman, 2016-04-30 11:58:48 -0500
247
+ +--------------------------------------------------------------------------------
248
+ https://github.com/antirez/redis/commit/bba53d7fc7a759b53d72a7c3be17a00abe32039e
249
+
250
+
251
+ README.md | 2 +-
252
+ 1 file changed, 1 insertion(+), 1 deletion(-)
253
+
254
+ +-------------------------------------------------------------------------------
255
+ | fix variable
256
+ | By Ryosuke Hasebe, 2016-03-30 23:09:36 +0900
257
+ +--------------------------------------------------------------------------------
258
+ https://github.com/antirez/redis/commit/ab7581489871eebcf0253915acc26efb27f5df23
259
+
260
+
261
+ src/redis-trib.rb | 10 +++++-----
262
+ 1 file changed, 5 insertions(+), 5 deletions(-)
263
+
264
+ +-------------------------------------------------------------------------------
265
+ | fix check_open_slots
266
+ | By Ryosuke Hasebe, 2016-03-30 21:56:22 +0900
267
+ +--------------------------------------------------------------------------------
268
+ https://github.com/antirez/redis/commit/0fcf896ac14c6e5c57e3b79e836dd8bf7dad94b5
269
+
270
+
271
+ src/redis-trib.rb | 3 ++-
272
+ 1 file changed, 2 insertions(+), 1 deletion(-)
273
+
274
+ +-------------------------------------------------------------------------------
275
+ | Minor redis-cli wording change in --help output.
276
+ | By antirez, 2016-05-04 22:34:17 +0200
277
+ +--------------------------------------------------------------------------------
278
+ https://github.com/antirez/redis/commit/b8a63635e39ce312b2c5664f2c2a59184849b8fb
279
+
280
+
281
+ src/redis-cli.c | 3 ++-
282
+ 1 file changed, 2 insertions(+), 1 deletion(-)
283
+
284
+ +-------------------------------------------------------------------------------
285
+ | Allow CONFIG GET during loading.
286
+ | By antirez, 2016-05-04 15:45:38 +0200
287
+ +--------------------------------------------------------------------------------
288
+ https://github.com/antirez/redis/commit/ae95de93312d6bb2c8c365c31f2a3fd0b6d2c100
289
+
290
+ Thanks to @oranagra for the idea of allowing CONFIG GET during loading.
291
+
292
+ src/config.c | 6 ++++++
293
+ src/server.c | 2 +-
294
+ 2 files changed, 7 insertions(+), 1 deletion(-)
295
+
296
+ +-------------------------------------------------------------------------------
297
+ | Command "r" flag removed from commands not accessing the key space.
298
+ | By antirez, 2016-05-04 15:42:14 +0200
299
+ +--------------------------------------------------------------------------------
300
+ https://github.com/antirez/redis/commit/3ff8f57ef32e3b1ddd407b65d474f610881bef34
301
+
302
+ Thanks to @oranagra for the hint about misplaced 'r' flags.
303
+
304
+ src/server.c | 70 ++++++++++++++++++++++++++++++------------------------------
305
+ 1 file changed, 35 insertions(+), 35 deletions(-)
306
+
307
+ +-------------------------------------------------------------------------------
308
+ | DEBUG command self documentation.
309
+ | By antirez, 2016-05-04 12:45:55 +0200
310
+ +--------------------------------------------------------------------------------
311
+ https://github.com/antirez/redis/commit/07b852d24ec8d7cb47044b096baf0af1410c69ed
312
+
313
+
314
+ src/debug.c | 49 ++++++++++++++++++++++++++++++++++++++++++++++++-
315
+ src/server.c | 2 +-
316
+ 2 files changed, 49 insertions(+), 2 deletions(-)
317
+
318
+ +-------------------------------------------------------------------------------
319
+ | various cleanups and minor fixes
320
+ | By Oran Agra, 2016-04-25 16:49:57 +0300
321
+ +--------------------------------------------------------------------------------
322
+ https://github.com/antirez/redis/commit/cfc08b65b04cf972ebeadf3be9f39f2acd7672b3
323
+
324
+
325
+ src/adlist.c | 18 ++++++------------
326
+ src/ae_epoll.c | 6 ++----
327
+ src/aof.c | 5 ++++-
328
+ src/db.c | 2 +-
329
+ src/rdb.c | 6 ++++--
330
+ src/rio.c | 5 +++--
331
+ src/rio.h | 2 ++
332
+ src/server.h | 3 +--
333
+ tests/support/test.tcl | 6 ------
334
+ tests/unit/bitops.tcl | 2 +-
335
+ tests/unit/other.tcl | 1 +
336
+ tests/unit/scripting.tcl | 27 ++++++++++++++-------------
337
+ 12 files changed, 39 insertions(+), 44 deletions(-)
338
+
339
+ +-------------------------------------------------------------------------------
340
+ | dict.c minor optimization
341
+ | By Oran Agra, 2016-04-25 16:48:25 +0300
342
+ +--------------------------------------------------------------------------------
343
+ https://github.com/antirez/redis/commit/6710c8dc15680b756de26d1d45df110987b951b3
344
+
345
+
346
+ src/dict.c | 8 ++++----
347
+ 1 file changed, 4 insertions(+), 4 deletions(-)
348
+
349
+ +-------------------------------------------------------------------------------
350
+ | networking.c minor optimization
351
+ | By Oran Agra, 2016-04-25 16:48:09 +0300
352
+ +--------------------------------------------------------------------------------
353
+ https://github.com/antirez/redis/commit/be5c0869821b16f18104d9ea62ab42bfa0615816
354
+
355
+
356
+ src/networking.c | 11 +++++------
357
+ 1 file changed, 5 insertions(+), 6 deletions(-)
358
+
359
+ +-------------------------------------------------------------------------------
360
+ | add DEBUG JEMALLC PURGE and JEMALLOC INFO cleanup
361
+ | By Oran Agra, 2016-04-25 16:47:42 +0300
362
+ +--------------------------------------------------------------------------------
363
+ https://github.com/antirez/redis/commit/3ede6c7a506bcff3c7d2147c8af140dd4102a36e
364
+
365
+
366
+ src/debug.c | 17 ++++++++++++++++-
367
+ src/redis-cli.c | 2 +-
368
+ 2 files changed, 17 insertions(+), 2 deletions(-)
369
+
370
+ +-------------------------------------------------------------------------------
371
+ | fix small issues in redis 3.2
372
+ | By Oran Agra, 2016-04-25 14:19:28 +0300
373
+ +--------------------------------------------------------------------------------
374
+ https://github.com/antirez/redis/commit/e2fab184efd01ffa0d510739f4d819a30b1d6787
375
+
376
+
377
+ src/config.c | 2 ++
378
+ src/rdb.c | 2 +-
379
+ 2 files changed, 3 insertions(+), 1 deletion(-)
380
+
381
+ +-------------------------------------------------------------------------------
382
+ | additional fix to issue #2948
383
+ | By Oran Agra, 2016-04-25 14:18:40 +0300
384
+ +--------------------------------------------------------------------------------
385
+ https://github.com/antirez/redis/commit/9d57ceec08687545c2a63a2c18c28e2bcaf74664
386
+
387
+
388
+ src/networking.c | 3 +++
389
+ 1 file changed, 3 insertions(+)
390
+
391
+ +-------------------------------------------------------------------------------
392
+ | Reply with error on negative geo radius.
393
+ | By antirez, 2016-05-04 08:59:56 +0200
394
+ +--------------------------------------------------------------------------------
395
+ https://github.com/antirez/redis/commit/7ba2cf5f8bea9cd125e773de147e3ea9b19ee2b0
396
+
397
+ Thanks to @tidwall for reporting.
398
+ Close #3194.
399
+
400
+ src/geo.c | 5 ++++-
401
+ 1 file changed, 4 insertions(+), 1 deletion(-)
402
+
403
+ +-------------------------------------------------------------------------------
404
+ | Cluster regression test for #3043.
405
+ | By antirez, 2016-05-02 18:36:09 +0200
406
+ +--------------------------------------------------------------------------------
407
+ https://github.com/antirez/redis/commit/38cf2bd257d09b360be6adf450d59592a359696d
408
+
409
+ The test works but is very slow so far, since it involves resharding
410
+ 1/5 of all the cluster slots from master 0 to the other 4 masters and
411
+ back into the original master.
412
+
413
+ tests/cluster/tests/12-replica-migration-2.tcl | 61 ++++++++++++++++++++++++++
414
+ 1 file changed, 61 insertions(+)
415
+
416
+ +-------------------------------------------------------------------------------
417
+ | New masters with slots are now targets of migration if others are.
418
+ | By antirez, 2016-05-02 16:41:56 +0200
419
+ +--------------------------------------------------------------------------------
420
+ https://github.com/antirez/redis/commit/7b618823c189c24313effbccda7022d167ea419c
421
+
422
+ This fixes issue #3043.
423
+
424
+ Before this fix, after a complete resharding of a master slots
425
+ to other nodes, the master remains empty and the slaves migrate away
426
+ to other masters with non-zero nodes. However the old master now empty,
427
+ is no longer considered a target for migration, because the system has
428
+ no way to tell it had slaves in the past.
429
+
430
+ This fix leaves the algorithm used in the past untouched, but adds a
431
+ new rule. When a new or old master which is empty and without slaves,
432
+ are assigend with their first slot, if other masters in the cluster have
433
+ slaves, they are automatically considered to be targets for replicas
434
+ migration.
435
+
436
+ src/cluster.c | 36 +++++++++++++++++++++++++++++++++++-
437
+ 1 file changed, 35 insertions(+), 1 deletion(-)
438
+
439
+ +-------------------------------------------------------------------------------
440
+ | Test ZINCRBY return value.
441
+ | By antirez, 2016-05-02 08:57:30 +0200
442
+ +--------------------------------------------------------------------------------
443
+ https://github.com/antirez/redis/commit/1101b515c73dcb0ff4a868ba38a91dcebb5b85cc
444
+
445
+
446
+ tests/unit/type/zset.tcl | 6 ++++++
447
+ 1 file changed, 6 insertions(+)
448
+
449
+ +-------------------------------------------------------------------------------
450
+ | redis-cli preferences and rc file support.
451
+ | By antirez, 2016-04-13 13:58:30 +0200
452
+ +--------------------------------------------------------------------------------
453
+ https://github.com/antirez/redis/commit/bbf93108ef2a7ac7bd53e26c96bf838f7c5e72df
454
+
455
+
456
+ src/redis-cli.c | 102 ++++++++++++++++++++++++++++++++++++++++++++++----------
457
+ 1 file changed, 85 insertions(+), 17 deletions(-)
458
+
459
+ +-------------------------------------------------------------------------------
460
+ | redis-cli hints.
461
+ | By antirez, 2016-04-13 12:34:14 +0200
462
+ +--------------------------------------------------------------------------------
463
+ https://github.com/antirez/redis/commit/3fd3fca0dd38cb21c900e4ba98e3d41f333335aa
464
+
465
+
466
+ deps/linenoise/linenoise.c | 8 +++++++
467
+ deps/linenoise/linenoise.h | 2 +-
468
+ src/redis-cli.c | 53 ++++++++++++++++++++++++++++++++++++++++++++++
469
+ 3 files changed, 62 insertions(+), 1 deletion(-)
470
+
471
+ +-------------------------------------------------------------------------------
472
+ | Linenoise updated again (hints support).
473
+ | By antirez, 2016-04-12 23:39:18 +0200
474
+ +--------------------------------------------------------------------------------
475
+ https://github.com/antirez/redis/commit/34354473ffe8d60b80acdbc8c16b194f8bbd70a0
476
+
477
+
478
+ deps/linenoise/README.markdown | 176 ++++++++++++++++++++++++++++++++++++++++-
479
+ deps/linenoise/example.c | 10 +++
480
+ deps/linenoise/linenoise.c | 55 ++++++++++++-
481
+ deps/linenoise/linenoise.h | 15 +++-
482
+ 4 files changed, 248 insertions(+), 8 deletions(-)
483
+
484
+ +-------------------------------------------------------------------------------
485
+ | Linenoise updated.
486
+ | By antirez, 2016-04-06 13:37:27 +0200
487
+ +--------------------------------------------------------------------------------
488
+ https://github.com/antirez/redis/commit/58229cd766fa02f399267310b5b488aac2c55a6a
489
+
490
+ As a side effect, cat commands.txt | redis-cli now is able to handle
491
+ lines more than 4096 bytes.
492
+
493
+ deps/linenoise/linenoise.c | 60 ++++++++++++++++++++++++++++++++++------------
494
+ 1 file changed, 45 insertions(+), 15 deletions(-)
495
+
496
+ +-------------------------------------------------------------------------------
497
+ | ae.c: Fix delay until next timer event.
498
+ | By antirez, 2016-04-04 14:08:16 +0200
499
+ +--------------------------------------------------------------------------------
500
+ https://github.com/antirez/redis/commit/29645f1f44926ac2662ed768fe1e369775a30b66
501
+
502
+ This fix was written by Anthony LaTorre.
503
+ The old code mis-calculated the amount of time to wait till next event.
504
+
505
+ src/ae.c | 21 ++++++++++++---------
506
+ 1 file changed, 12 insertions(+), 9 deletions(-)
507
+
508
+ +-------------------------------------------------------------------------------
509
+ | ae.c: comment to explain why we have a useless maxId check.
510
+ | By antirez, 2016-04-04 12:23:10 +0200
511
+ +--------------------------------------------------------------------------------
512
+ https://github.com/antirez/redis/commit/aa79c1f1c1d288e4cc2c0f4689ad01488678bf9d
513
+
514
+
515
+ src/ae.c | 6 +++++-
516
+ 1 file changed, 5 insertions(+), 1 deletion(-)
517
+
518
+ +-------------------------------------------------------------------------------
519
+ | Fix ae.c to avoid timers infinite loop.
520
+ | By antirez, 2016-01-08 15:05:14 +0100
521
+ +--------------------------------------------------------------------------------
522
+ https://github.com/antirez/redis/commit/0b69c9865619b54b75576e67aaafe7b018734bec
523
+
524
+ This fix was suggested by Anthony LaTorre, that provided also a good
525
+ test case that was used to verify the fix.
526
+
527
+ The problem with the old implementation is that, the time returned by
528
+ a timer event (that is the time after it want to run again) is added
529
+ to the event *start time*. So if the event takes, in order to run, more
530
+ than the time it says it want to be scheduled again for running, an
531
+ infinite loop is triggered.
532
+
533
+ src/ae.c | 51 ++++++++++++++++++++++-----------------------------
534
+ src/ae.h | 3 +++
535
+ src/anet.h | 2 ++
536
+ src/redis-trib.rb | 2 +-
537
+ 4 files changed, 28 insertions(+), 30 deletions(-)
538
+
539
+ +-------------------------------------------------------------------------------
540
+ | BITFIELD: overflow wrap behavior fuzz tester.
541
+ | By antirez, 2016-03-02 17:22:42 +0100
542
+ +--------------------------------------------------------------------------------
543
+ https://github.com/antirez/redis/commit/258857cd62e0eb70da32742651a55213fbc28a53
544
+
545
+
546
+ tests/unit/bitfield.tcl | 51 +++++++++++++++++++++++++++++++++++++++++++++++++
547
+ 1 file changed, 51 insertions(+)
548
+
549
+ +-------------------------------------------------------------------------------
550
+ | BITFIELD basic unit tests.
551
+ | By antirez, 2016-03-02 16:31:02 +0100
552
+ +--------------------------------------------------------------------------------
553
+ https://github.com/antirez/redis/commit/35d05d6dc5d7fb810e732f9de7b05c6b14933fb6
554
+
555
+
556
+ tests/unit/bitfield.tcl | 86 ++++++++++++++++++++++++++++++++++++++++++++++++-
557
+ 1 file changed, 85 insertions(+), 1 deletion(-)
558
+
559
+ +-------------------------------------------------------------------------------
560
+ | BITFIELD: Farest bit set is offset+bits-1. Off by one error fixed.
561
+ | By antirez, 2016-03-02 16:20:28 +0100
562
+ +--------------------------------------------------------------------------------
563
+ https://github.com/antirez/redis/commit/6cf83feffad7f7b7693a207a9d63278354769ece
564
+
565
+
566
+ src/bitops.c | 6 ++++--
567
+ 1 file changed, 4 insertions(+), 2 deletions(-)
568
+
569
+ +-------------------------------------------------------------------------------
570
+ | BITFIELD: overflow fuzzy testing.
571
+ | By antirez, 2016-03-02 15:15:18 +0100
572
+ +--------------------------------------------------------------------------------
573
+ https://github.com/antirez/redis/commit/b4d65c9501be01531eb8fbeb4ba2b444e35d6494
574
+
575
+
576
+ tests/test_helper.tcl | 1 +
577
+ tests/unit/bitfield.tcl | 52 +++++++++++++++++++++++++++++++++++++++++++++++++
578
+ 2 files changed, 53 insertions(+)
579
+
580
+ +-------------------------------------------------------------------------------
581
+ | Fix typo in bitops.tcl comment.
582
+ | By antirez, 2016-03-02 15:14:53 +0100
583
+ +--------------------------------------------------------------------------------
584
+ https://github.com/antirez/redis/commit/d75e0fdbe6ecf3074b18c4dd1e8b71a474254ccc
585
+
586
+
587
+ tests/unit/bitops.tcl | 2 +-
588
+ 1 file changed, 1 insertion(+), 1 deletion(-)
589
+
590
+ +-------------------------------------------------------------------------------
591
+ | More BITFIELD fixes. Overflow conditional simplified.
592
+ | By antirez, 2016-03-02 15:13:45 +0100
593
+ +--------------------------------------------------------------------------------
594
+ https://github.com/antirez/redis/commit/5f3ef73ed41be6e051daad9fdb7efa91b4ca682d
595
+
596
+ See issue #3114.
597
+
598
+ src/bitops.c | 17 ++++++++---------
599
+ 1 file changed, 8 insertions(+), 9 deletions(-)
600
+
601
+ +-------------------------------------------------------------------------------
602
+ | bitops/bitfield: fix length, overflow condition and *sign
603
+ | By Sun He, 2016-03-02 18:11:30 +0800
604
+ +--------------------------------------------------------------------------------
605
+ https://github.com/antirez/redis/commit/5b9aa5026204fb6c8b0098d4e47c2e001cf06151
606
+
607
+
608
+ src/bitops.c | 13 ++++++++-----
609
+ 1 file changed, 8 insertions(+), 5 deletions(-)
610
+
611
+ +-------------------------------------------------------------------------------
612
+ | Fix INFO commandstats reporting when argv is rewritten.
613
+ | By antirez, 2016-03-02 08:51:27 +0100
614
+ +--------------------------------------------------------------------------------
615
+ https://github.com/antirez/redis/commit/ba9154d7e7bf959b002533384319a1e90545447b
616
+
617
+ We want to report the original command in the stats, for example GEOADD,
618
+ even when what is actually executed is the ZADD implementation.
619
+
620
+ src/scripting.c | 2 +-
621
+ src/server.c | 4 ++--
622
+ 2 files changed, 3 insertions(+), 3 deletions(-)
623
+
624
+ +-------------------------------------------------------------------------------
625
+ | BITFIELD: refactoring & fix of retval on FAIL.
626
+ | By antirez, 2016-02-29 09:08:46 +0100
627
+ +--------------------------------------------------------------------------------
628
+ https://github.com/antirez/redis/commit/76b22e3728e37fe11582b71802bf98a2be09623f
629
+
630
+
631
+ src/bitops.c | 32 ++++++++++++++++++++++++--------
632
+ 1 file changed, 24 insertions(+), 8 deletions(-)
633
+
634
+ +-------------------------------------------------------------------------------
635
+ | BITFIELD: Fix #<index> form parsing.
636
+ | By antirez, 2016-02-26 15:53:29 +0100
637
+ +--------------------------------------------------------------------------------
638
+ https://github.com/antirez/redis/commit/c333a9e2d7873190b22aaee8835a188bc55b60dc
639
+
640
+
641
+ src/bitops.c | 10 ++++------
642
+ 1 file changed, 4 insertions(+), 6 deletions(-)
643
+
644
+ +-------------------------------------------------------------------------------
645
+ | BITFIELD: Support #<index> offsets form.
646
+ | By antirez, 2016-02-26 15:16:24 +0100
647
+ +--------------------------------------------------------------------------------
648
+ https://github.com/antirez/redis/commit/f84871cb5dd3bb3c04bfd7ac53b6e06b246f511f
649
+
650
+
651
+ src/bitops.c | 29 +++++++++++++++++++++++------
652
+ 1 file changed, 23 insertions(+), 6 deletions(-)
653
+
654
+ +-------------------------------------------------------------------------------
655
+ | BITFIELD command initial implementation.
656
+ | By antirez, 2016-02-25 23:31:45 +0100
657
+ +--------------------------------------------------------------------------------
658
+ https://github.com/antirez/redis/commit/761a77287107ce53dbf4755f1435cc9660b6c86d
659
+
660
+ The new bitfield command is an extension to the Redis bit operations,
661
+ where not just single bit operations are performed, but the array of
662
+ bits composing a string, can be addressed at random, not aligned
663
+ offsets, with any width unsigned and signed integers like u8, s5, u10
664
+ (up to 64 bit signed integers and 63 bit unsigned integers).
665
+
666
+ The BITFIELD command supports subcommands that can SET, GET, or INCRBY
667
+ those arbitrary bit counters, with multiple overflow semantics.
668
+
669
+ Trivial and credits:
670
+
671
+ A similar command was imagined a few times in the past, but for
672
+ some reason looked a bit far fetched or not well specified.
673
+ Finally the command was proposed again in a clear form by
674
+ Yoav Steinberg from Redis Labs, that proposed a set of commands on
675
+ arbitrary sized integers stored at bit offsets.
676
+
677
+ Starting from this proposal I wrote an initial specification of a single
678
+ command with sub-commands similar to what Yoav envisioned, using short
679
+ names for types definitions, and adding control on the overflow.
680
+
681
+ This commit is the resulting implementation.
682
+
683
+ Examples:
684
+
685
+ BITFIELD mykey OVERFLOW wrap INCRBY i2 10 -1 GET i2 10
686
+
687
+ src/bitops.c | 506 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
688
+ src/server.c | 1 +
689
+ src/server.h | 1 +
690
+ 3 files changed, 476 insertions(+), 32 deletions(-)
691
+
692
+ +-------------------------------------------------------------------------------
693
+ | Eliminates engineers near the equator & prime meridian
694
+ | By Itamar Haber, 2016-02-18 15:11:30 -0800
695
+ +--------------------------------------------------------------------------------
696
+ https://github.com/antirez/redis/commit/4b89ea3a95ef72353e14e0eb5cbf293bf2dc8b48
697
+
698
+
699
+ src/geo.c | 8 ++++----
700
+ 1 file changed, 4 insertions(+), 4 deletions(-)
701
+
702
+ +-------------------------------------------------------------------------------
703
+ | Fixes a typo in a comment
704
+ | By Itamar Haber, 2016-02-18 15:01:34 -0800
705
+ +--------------------------------------------------------------------------------
706
+ https://github.com/antirez/redis/commit/0f46f9bd423a146f96e1993aca6221e1305f9a28
707
+
708
+
709
+ src/geo.c | 2 +-
710
+ 1 file changed, 1 insertion(+), 1 deletion(-)
711
+
712
+ +-------------------------------------------------------------------------------
713
+ | Adjusts accuracy for GEODIST
714
+ | By Itamar Haber, 2016-02-18 15:00:39 -0800
715
+ +--------------------------------------------------------------------------------
716
+ https://github.com/antirez/redis/commit/9de844603c5203ae6ff6e7882a3dcb47a9f79a85
717
+
718
+
719
+ src/geo.c | 2 +-
720
+ 1 file changed, 1 insertion(+), 1 deletion(-)
721
+
722
+ +-------------------------------------------------------------------------------
723
+ | addReplyHumanLongDouble() API added.
724
+ | By antirez, 2016-02-18 22:08:47 +0100
725
+ +--------------------------------------------------------------------------------
726
+ https://github.com/antirez/redis/commit/79e553a58d7f814fd08482b118561fcf9854b1df
727
+
728
+ Send a long double or double as a bulk reply, in a human friendly
729
+ format.
730
+
731
+ src/networking.c | 9 +++++++++
732
+ src/server.h | 1 +
733
+ 2 files changed, 10 insertions(+)
734
+
735
+ +-------------------------------------------------------------------------------
736
+ | Fix GEORADIUS STORE/DIST refcount after backport to 3.2.
737
+ | By antirez, 2016-02-18 15:33:02 +0100
738
+ +--------------------------------------------------------------------------------
739
+ https://github.com/antirez/redis/commit/158d1e2fbf6badb881a4d78623fd1bffde34cc49
740
+
741
+
742
+ src/geo.c | 2 ++
743
+ 1 file changed, 2 insertions(+)
744
+
745
+ +-------------------------------------------------------------------------------
746
+ | GEOADD STORE/STOREDIST tests.
747
+ | By antirez, 2016-02-18 14:42:42 +0100
748
+ +--------------------------------------------------------------------------------
749
+ https://github.com/antirez/redis/commit/123cd88286127cc20684bf0457cb51107a67cfa2
750
+
751
+
752
+ tests/unit/geo.tcl | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
753
+ 1 file changed, 54 insertions(+)
754
+
755
+ +-------------------------------------------------------------------------------
756
+ | New options for GEORADIUS: STORE and STOREDIST.
757
+ | By antirez, 2016-02-18 10:24:11 +0100
758
+ +--------------------------------------------------------------------------------
759
+ https://github.com/antirez/redis/commit/0b6daf5a6b27447f03c76387b8b707ce0ab7b08d
760
+
761
+ Related to issue #3019.
762
+
763
+ src/geo.c | 143 +++++++++++++++++++++++++++++++++++++++++------------------
764
+ src/server.c | 4 +-
765
+ src/server.h | 1 +
766
+ src/t_zset.c | 18 +++++---
767
+ 4 files changed, 117 insertions(+), 49 deletions(-)
768
+
769
+ +-------------------------------------------------------------------------------
770
+ | Include full paths on RDB/AOF files errors.
771
+ | By antirez, 2016-02-15 16:14:56 +0100
772
+ +--------------------------------------------------------------------------------
773
+ https://github.com/antirez/redis/commit/f7af1beaab938b7e319d1b91d7736f043b7ef682
774
+
775
+ Close #3086.
776
+
777
+ src/aof.c | 17 +++++++++++++++--
778
+ src/rdb.c | 19 +++++++++++++++++--
779
+ 2 files changed, 32 insertions(+), 4 deletions(-)
780
+
781
+ +-------------------------------------------------------------------------------
782
+ | Remove Lua state reference from buffers in lua_cmsgpack.
783
+ | By antirez, 2016-02-10 09:12:17 +0100
784
+ +--------------------------------------------------------------------------------
785
+ https://github.com/antirez/redis/commit/0b4a628fc716ab6b88c9823b143de174601a790d
786
+
787
+
788
+ deps/lua/src/lua_cmsgpack.c | 53 +++++++++++++++++++++------------------------
789
+ 1 file changed, 25 insertions(+), 28 deletions(-)
790
+
791
+ +-------------------------------------------------------------------------------
792
+ | cmsgpack: pass correct osize values to lua allocator, update correct buf free space in cmsgpack
793
+ | By yoav@monfort.co.il, 2016-02-07 20:24:28 +0200
794
+ +--------------------------------------------------------------------------------
795
+ https://github.com/antirez/redis/commit/43509f686452fba68966aa89b87d1be065b50e17
796
+
797
+
798
+ deps/lua/src/lua_cmsgpack.c | 8 ++++----
799
+ 1 file changed, 4 insertions(+), 4 deletions(-)
800
+
801
+ +-------------------------------------------------------------------------------
802
+ | Fixes a typo
803
+ | By Itamar Haber, 2016-02-03 11:04:09 -0800
804
+ +--------------------------------------------------------------------------------
805
+ https://github.com/antirez/redis/commit/cd9f7c6976f81c0e9ffae9e34b31eda19384a7dd
806
+
807
+
808
+ src/server.c | 4 ++--
809
+ 1 file changed, 2 insertions(+), 2 deletions(-)
810
+
811
+ +-------------------------------------------------------------------------------
812
+ | Adds keyspace notifications for lrem
813
+ | By Itamar Haber, 2016-02-02 09:58:19 -0800
814
+ +--------------------------------------------------------------------------------
815
+ https://github.com/antirez/redis/commit/bf30f5a73922e5111d6a39da7351e22357213134
816
+
817
+
818
+ src/t_list.c | 7 ++++++-
819
+ 1 file changed, 6 insertions(+), 1 deletion(-)
820
+
821
+ +-------------------------------------------------------------------------------
822
+ | Typo ASII -> ASCII fixed in comment.
823
+ | By antirez, 2016-01-29 12:08:10 +0100
824
+ +--------------------------------------------------------------------------------
825
+ https://github.com/antirez/redis/commit/0c7c7631d206964b8bf1dae3db286a3acda4edad
826
+
827
+
828
+ src/server.h | 2 +-
829
+ 1 file changed, 1 insertion(+), 1 deletion(-)
830
+
831
+ +-------------------------------------------------------------------------------
832
+ | Cluster: include node IDs in SLOTS output.
833
+ | By antirez, 2016-01-29 12:00:38 +0100
834
+ +--------------------------------------------------------------------------------
835
+ https://github.com/antirez/redis/commit/0f3fb0097ae70e36ee65468b79f0be4160934bb4
836
+
837
+ CLUSTER SLOTS now includes IDs in the nodes description associated with
838
+ a given slot range. Certain client libraries implementations need a way
839
+ to reference a node in an unique way, so they were relying on CLUSTER
840
+ NODES, that is not a stable API and may change frequently depending on
841
+ Redis Cluster future requirements.
842
+
843
+ src/cluster.c | 8 ++++++--
844
+ 1 file changed, 6 insertions(+), 2 deletions(-)
845
+
846
+
847
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~ OLD STYLE CHANGELOG ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
848
+
13
849
--[ Redis 3.2.0 RC3 (version 3.1.103) ] Release date: 28 jan 2016
14
850
15
851
Upgrade urgency MODERATE: this release fixes a non trivial Sentinel crash.
0 commit comments