summaryrefslogtreecommitdiff
path: root/00-RELEASENOTES
blob: 59fae246f4b3ef2712df2f800996a7facc074a74 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
Redis 2.4 release notes

Migrating from 2.2 to 2.4
=========================

Redis 2.2 is mostly a strict subset of 2.4.
The only thing you should be aware is that you can't use .rdb and AOF files
generated with 2.4 into a 2.2 instance.

2.4 slaves can be attached to 2.2 masters, but not the contrary, and only for
the time needed to perform the version upgrade.

From the point of view of the API Redis 2.4 only adds new commands
(other commands now accepts a variable number of arguments) so you don't need
to modify your program in order to use Redis 2.4.

---------
CHANGELOG
---------

What's new in Redis 2.4.17
==========================

* INFO command now contains the run_id field for Redis Sentinel compatibility.
* Support for the "slave priority" parameter published via INFO and used by
  Redis Sentinel.
* [BUGFIX] An optimization to convert double values into strings was not used
  because of an error in a preprocessor directive. Now it's fixed. Saving
  datasets with many sorted sets should be faster.
* [BUGFIX] Fixed a theoretic bug in the ziplist implementation.

What's new in Redis 2.4.16
==========================

* INFO command now shows slaves with the correct port number, assuming you
  use 2.4.16 or greater as slave as well. This makes Redis 2.4.16 compatible
  with Redis Sentinel. This fix required the introduction of a new internal
  command called REPLCONF, see commit b998ebe for more information.

What's new in Redis 2.4.15
==========================

UPGRADE URGENCY: moderate if you use AOF, otherwise low.

* [BUGFIX] Jemalloc updated to 3.0.0. This fixes a possibly AOF rewrite issue.
           See https://github.com/antirez/redis/issues/504 for info.

What's new in Redis 2.4.14
==========================

UPGRADE URGENCY: high, many non trivial bugs fixed in this release.

* [BUGFIX] Fixed issue #518 (Redis 99% CPU when master down).
* [BUGFIX] Fixed issue #516 (ZINTERSTORE mixing sets and zsets).
* [BUGFIX] Fixed a bug in install_server.sh when using chkconfig
* [BUGFIX] Fixes to --test-memory implementation.
* [BUGFIX] Allow PREFIX to be overridden in Makefile.
* [BUGFIX] The test is now more reliable on slow computers.
* redis-cli --pipe mode, see http://redis.io/topics/mass-insert
* Much better expired keys collection algorithm that makes the server much
  more responsive when a lot of keys are expiring at the same time.

What's new in Redis 2.4.13
==========================

UPGRADE URGENCY: high for all the users of the KEYS command, otherwise low.

* [BUGFIX] Fix for KEYS command: if the DB contains keys with expires the KEYS
           command may return the wrong output, having duplicated or missing
           keys. See issue #487 and #488 on github for details.

What's new in Redis 2.4.12
==========================

UPGRADE URGENCY: low if you don't experience any of the fixed problems.

* [BUGFIX] Limit the amount of memory consumed by the slow log.
* [BUGFIX] --test-memory option fixes.
* [BUGFIX] Less false positives in tests.

What's new in Redis 2.4.11
==========================

UPGRADE URGENCY: moderate if you don't experience any of the fixed problems.

* [BUGFIX] Fixed a problem with aeWait() implementation. May cause a crash
           under non easy to replicate condiitons. See issue #267 on github.
* [BUGFIX] SORT with GET/BY option fetching expiring keys fixed. Issue #460.
* [BUGFIX] INFO field master_link_down_since_seconds initialized correctly.
* [FEATURE] redis-cli back ported from Redis unstable. Now has support for
            --bigkeys (to sample the DB for very large keys), --slave to
            simulate a slave instance.

What's new in Redis 2.4.10
==========================

UPGRADE URGENCY: High for users using replication with a DB identifier higher than 9, or chaining replication so that slaves are attached to other slaves. Low for all the other users.

* [FEATURE] Redis --test-meory improved with new test testing addressing.
* [BUGFIX] Fixed a memory leak: happens when replication is used with DB > 9.
* [BUGFIX] Fixed a replication bug that happens in chained replicaiton when a slave is attached to a master that is later turned into a slave. Now the chained slave reconnection is properly forced.

What's new in Redis 2.4.9
=========================

UPGRADE URGENCY: low. Mostly new features and minor bug fixing.

* [FEATURE] Redis server is now able to test your memory for broken RAM.
            Usage: ./redis-server --test-memory <megabytes>.
* [FEATURE] redis-benchmark backported from unstable. Pipelining, run selected
            tests, and a few more features.
* [BUGFIX] utils/install_server.sh script now works on Redhat / Centos.
* [BUGFIX] Minor fix to redis-cli (github issue #306).

What's new in Redis 2.4.8
=========================

UPGRADE URGENCY: moderate if you don't experience any of the fixed problems.

* [BUGFIX] Make install now uses cp -f to avoid 'text file busy' errors.
* [BUGFIX] redis-check-aof is now large files safe also on 32 bit systems.
* [BUGFIX] Issue #327 fixed: maxmemory and replication now work much better.
* [BUGFIX] Now HINCRBY can detect overflows too. Fix for issue #330.
* [BUGFIX] Fixed compilation with latest clang.
* [BUGFIX] Fixed handling of empty sorted sets produced in RDB by
           very old Redis versions (1.2.x).

What's new in Redis 2.4.7
=========================

UPGRADE URGENCY: low/moderate if you don't experience any of the fixed problems.

* [BUGFIX] Fixed false positive in issue #141 regression test.
* [BUGFIX] Slave should not expire keys when loading an RDB after a SYNC.
* [BUGFIX] Don't increment stats for key misses / hits when key is written.
* [BUGFIX] sds.c library now don't allocate more than 1MB ahead.
* 32 bit instances without a maxmemory set now get a default limit of 3.5GB with
  maxmemory-policy set to noeviction.
* Better crash report on crash (containing current client and command arguments).

What's new in Redis 2.4.6
=========================

* [BUGFIX] Fixed issue #141 part 1: Possible protocol desyncs when clients send
           wrong protocol is now fixed. (See issue 141 for more details)
* [BUGFIX] Fixed issue #141 part 2: Connection of multiple slaves used to result
           from time to time into corrupted protocol send to slaves connected
           after the first one. (See issue 141 for more details)
* [BUGFIX] Do not propagate DEBUG LOADAOF.
* New INFO contains information such as ip/port/state for every conneced slave.
* Show GCC version in INFO output.

What's new in Redis 2.4.5
=========================

* [BUGFIX] Fixed a ZUNIONSTORE/ZINTERSTORE bug that can cause a NaN to be
           inserted as a sorted set element score. This happens when one of the
           elements has +inf/-inf score and the weight used is 0.
* [BUGFIX] Fixed memory leak in CLIENT INFO.
* [BUGFIX] Fixed a non critical SORT bug (Issue 224).
* [BUGFIX] Fixed a replication bug: now the timeout configuration is respected
           during the connection with the master.
* --quiet option implemented in the Redis test.

What's new in Redis 2.4.4
=========================

* [BUGFIX] jemalloc upgraded to version 2.2.5, previous versions had a
  potentially serious issue when allocating big memory areas, something that
  Redis actually does. However we never received bug reports that appear
  to be caused by jemalloc.
* [BUGFIX] DISCARD now clears DIRTY_CAS flag in the client. Now the next
  transaction will not fail if the previous transaction used WATCH and
  the key was touched.
* CLIENT LIST output modified to include the last command executed by clients.
* Better bug report on crash.
* Protocol errors are now logged for loglevel >= verbose.
* Two new INFO fields related to AOF, that can be useful when investigating
  Redis issues.

What's new in Redis 2.4.3
=========================

* redis-cli now supports 'single quotes' style strings.
* It is possible to disable password auth with CONFIG SET.
* Some section of redis.conf better documented.
* Default timeout for client connections now is 0 (no timeout).
* I/O buffer length modified for better performances with big payloads.
* Fixed crash on SPARC due to improper alighment due to bad assumptions about data types size.
* CLIENT LIST output improved, code refactored.
* [BUGFIX] Max log message length set to 4k to avoid truncation in INFO output written in the log file after a crash.
* [BUGFIX] Close client connection when the query buffer reaches 1GB and log informaiton about the offending client, instead of crashing the instance when the query buffer reaches 2GB (for sds.c string overflow). This is related to issue #141 (github issues) and should fix the effect of this rare bug related to replication, but the cause is still not perfectly clear.

What's new in Redis 2.4.2
=========================

* [BUGFIX] Unix socket creation mask config directive fixed.
* [BUGFIX] Fixed a bug that forced Redis to continously rewrite the AOF file
           when a manual BGREWRITEAOF was issued during a BGSAVE was
           still in progress.
* [BUGFIX] Fixed a server crash resulting from bad handling of SLAVEOF NO ONE.
* [BUGFIX] Fixed a memory leak in redis-cli.
* Debian/Ubuntu Redis system-wide installation script added under /utils.

What's new in Redis 2.4.1
=========================

* [BUGFIX] FLUSHALL was not replicated nor written into the Append Only File.
* [BUGFIX] FLUSHALL now only performs a sync SAVE if there is at least
           one save point configured.

What's new in Redis 2.4.0
=========================

* [BUGFIX] redis-cli segfault with single numerical argument fixed.
* [BUGFIX] OpenBSD compilation problem fixed.
* [BUGFIX] More robust Redis test, with better random port selection.
* [BUGFIX] Fix for bug #128 about the RENAME command.
* [BUGFIX] Fixed Issue #131. stime/utime reported in INFO was inverted.
* [BUGFIX] Unlink Unix socket file on shutdown.
* [BUGFIX] AUTH now returns error if no password is set on the server.
* [BUGFIX] Exit with Fatal error at startup on RDB loading errors.
* redis-check-dump: RDB version 2 now supported.
* More informative error when DEBUG RELOAD fails.
* Added a config directive for a Unix socket mask.
* CONFIG SET/GET for loglevel.

What's new in Redis 2.3.11 (2.4 Release Candidate 8)
====================================================

* [BUGFIX] Fixed a rare but possible AOF race condition that could result into
           duplicated commands inside the AOF.
* [BUGFIX] Fixed issue 620, don't segfault on corrupted (by hand) AOF.
* [BUGFIX] Fixed compilation on Mac/PPC.
* [BUGFIX] Don't replicate SAVE.
* LRANGE optimization may drastically improve performances when querying the
  final part of a long list.
* redis-cli now implements a --latency mode to monitory Redis delay.
* Hash type settings removed from INFO (same info is available via config GET)
* Include port number on error when can't bind.
* AOF fsync is now performed in background when fsync policy is 'everysec'.
* AOF performances improved moving in background a possibly slow close(2) call.
* AOF protocol synthesis speedup.

What's new in Redis 2.3.10 (2.4 Release Candidate 7)
====================================================

* [BUGFIX] Fixed issue 593 (BRPOPLPUSH related crash).
* [BUGFIX] Fixed an issue with the networking layer that may prevent Redis from sending the whole reply back to client under extreme conditions.

What's new in Redis 2.3.9 (2.4 Release Candidate 6)
===================================================

* [BUGFIX] Fixed a bug with the automatic AOF rewrite causing continuous
  rewrites for AOF files bigger than 4 GB.
* New maxmemory tests.

What's new in Redis 2.3.8 (2.4 Release Candidate 5)
===================================================

Compared to Redis 2.3.7 (RC4) there are the following changes:

* [BUGFIX] HDEL: Abort deleting fields when hash is removed.
* [BUGFIX] Fix adding bulk reply when getcwd fails.

WHAT'S NEW IN REDIS 2.4 compared to the 2.2 version?
====================================================

* Specially encoded sorted sets, now small sorted sets will use little memory.
* Native persistence of specially encoded data types (ziplists, zipmaps,
  intsets). Many data sets will be saved and loaded an order of magnitude
  faster.
* Variadic versions of commands: SADD, HDEL, SREM, ZREM, ZADD, L/RPUSH.
* Jemalloc support (enabled by default for Linux build) in order to
  avoid fragmentation issues.
* Reduced memory usage while saving.
* More info fields (peak memory, fork time, ...)
* OBJECT command for objects introspection.
* CLIENT command for clients introspection.
* Non blocking slave -> master connection.
* Better redis-cli connection handling. New redis-cli features.
* Better redis-benchmark, now able to benchmark user provided commands.
* Colorized Make.
* VM deprecated. Still supported but with a big warning... don't use it.
* Many speed optimizations and bug fixes.

Credits: Where not specified the implementation and design are done by
Salvatore Sanfilippo and Pieter Noordhuis. Thanks to VMware for making all
this possible. Also many thanks to all the other contributors and the amazing
community we have.

Cheers,
Salvatore