Skip to content

Commit 7ca8fba

Browse files
committedMay 6, 2016
Redis 3.2.0
1 parent 746e1be commit 7ca8fba

File tree

2 files changed

+837
-1
lines changed

2 files changed

+837
-1
lines changed
 

‎00-RELEASENOTES

+836
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,842 @@ HIGH: There is a critical bug that may affect a subset of users. Upgrade!
1010
CRITICAL: There is a critical bug affecting MOST USERS. Upgrade ASAP.
1111
--------------------------------------------------------------------------------
1212

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+
13849
--[ Redis 3.2.0 RC3 (version 3.1.103) ] Release date: 28 jan 2016
14850

15851
Upgrade urgency MODERATE: this release fixes a non trivial Sentinel crash.

‎src/version.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
#define REDIS_VERSION "3.1.103"
1+
#define REDIS_VERSION "3.2.0"

0 commit comments

Comments
 (0)
Please sign in to comment.