]> git.saurik.com Git - redis.git/blame - 00-RELEASENOTES
Fixed RESTORE hash failure (Issue #532)
[redis.git] / 00-RELEASENOTES
CommitLineData
c2513ecb 1Redis 2.6 release notes
69396249 2=======================
c2513ecb 3
69396249 4** IMPORTANT ** Check the 'Migrating from 2.4 to 2.6' section at the end of
5 this file for information about what changed between 2.4 and
6 2.6 and how this may affect your application.
c2513ecb 7
184b8e78 8What's new in Redis 2.5.9 (aka 2.6 Release Candidate 3)
9=======================================================
10
11UPGRADE URGENCY: critical, upgrade ASAP.
12
13* [BUGFIX] Fix for issue #500 (https://github.com/antirez/redis/pull/500).
14 Redis 2.6-RC1 and RC2 may corrupt ziplist-encoded sorted sets
15 produced by Redis 2.4.x.
af2455be 16* [BUGFIX] Fixed several bugs in init.d script.
17* [BUGFIX] syncio.c functions modified for speed and correctness. On osx
18 (and possibly other BSD-based systems) the slave would block on
19 replication to send the SYNC command when the master was not
20 available. This is fixed now, but was not affecting Linux installs.
8afa5b70 21* Now when slave-serve-stale-data is set to yes and the master is down, instead
af2455be 22 of reporting a generic error Redis replies with -MASTERDOWN.
184b8e78 23
0f077815 24What's new in Redis 2.5.8 (aka 2.6 Release Candidate 2)
25=======================================================
26
27UPGRADE URGENCY: high for all the users of the KEYS command, otherwise low.
28
29* [BUGFIX] Fix for KEYS command: if the DB contains keys with expires the KEYS
30 command may return the wrong output, having duplicated or missing
31 keys. See issue #487 and #488 on github for details.
32
7c5d96d9 33What's new in Redis 2.5.7 (aka 2.6 Release Candidate 1)
34=======================================================
35
36UPGRADE URGENCY: upgrade not recommended because this is an RC release.
37
38* This is the first release candidate for Redis 2.6. We are not aware of
39 bugs, but part of this code is young and was never tested in production
40 environments, so handle with care.
c2513ecb 41
7c5d96d9 42An overview of new features and changes in Redis 2.6.x
43======================================================
c2513ecb 44
45* Server side Lua scripting, see http://redis.io/commands/eval
46* Virtual Memory removed (was deprecated in 2.4)
47* Hardcoded limits about max number of clients removed.
48* AOF low level semantics is generally more sane, and especially when used
49 in slaves.
50* Milliseconds resolution expires, also added new commands with milliseconds
51 precision (PEXPIRE, PTTL, ...).
748f206e 52* Better memory usage for "small" lists, ziplists and hashes when fields or
53 values contain small integers.
b330de57 54* Read only slaves.
9a8d51ad 55* New bit opeations: BITCOUNT and BITOP commands.
518e7202 56* Clients max output buffer soft and hard limits. You can specifiy different
c2513ecb 57 limits for different classes of clients (normal,pubsub,slave).
9a8d51ad 58* More incremental (less blocking) expired keys collection algorithm, in
59 practical terms this means that Redis is more responsive when a very
60 big number of keys expire about at the same time.
c2513ecb 61* AOF is now able to rewrite aggregate data types using variadic commands,
62 often producing an AOF that is faster to save, load, and is smaller in size.
63* Every redis.conf directive is now accepted as a command line option for the
64 redis-server binary, with the same name and number of arguments.
65* Hash table seed randomization for protection against collisions attacks.
66* Performances improved when writing large objects to Redis.
748f206e 67* Integrated memory test, see redis-server --test-memory.
68* INCRBYFLOAT and HINCRBYFLOAT commands.
69* New DUMP, RESTORE, MIGRATE commands (back ported from Redis Cluster to 2.6).
70* CRC64 checksump in RDB files.
71* Better MONITOR output and behavior (now commands are logged before execution).
72* "Software Watchdog" feature to debug latency issues.
c2513ecb 73* Significant parts of the core refactored or rewritten. New internal APIs
74 and core changes allowed to develop Redis Cluster on top of the new code,
75 however for 2.6 all the cluster code was removed, and will be released with
76 Redis 3.0 when it is more complete and stable.
77* Redis ASCII art logo added at startup.
78* Crash report on memory violation or failed asserts improved significantly
79 to make debugging of hard to catch bugs simpler.
80* redis-benchmark improvements: ability to run selected tests,
81 CSV output, faster, better help.
82* redis-cli improvements: --eval for comfortable development of Lua scripts.
83* SHUTDOWN now supports two optional arguments: "SAVE" and "NOSAVE".
84* INFO output split into sections, the command is now able to just show
85 pecific sections.
86* New statistics about how many time a command was called, and how much
87 execution time it used (INFO commandstats).
88* More predictable SORT behavior in edge cases.
748f206e 89* Better support for big endian and *BSD systems.
90* Build system improved.
c2513ecb 91
69396249 92Migrating from 2.4 to 2.6
93=========================
94
95Redis 2.4 is mostly a strict subset of 2.6. However there are a few things
96that you should be aware of:
97
98* You can't use .rdb and AOF files generated with 2.6 into a 2.4 instance.
99* 2.4 slaves can be attached to 2.6 masters, but not the contrary, and only
100 for the time needed to perform the version upgrade.
101
102There are also a few API differences, that are unlikely to cause problems,
103but it is better to keep them in mind:
104
105* SORT now will refuse to sort in numerical mode elements that can't be parsed
106 as numbers.
107* EXPIREs now all have millisecond resolution (but this is very unlikely to
108 break code that was not conceived exploting the previous resolution error
109 in some way.)
110* INFO output is a bit different now, and contains empty lines and comments
111 starting with '#'. All the major clients should be already fixed to work
112 with the new INFO format.
113* Slaves are only read-only by default (but you can change this easily
114 setting the "slave-read-only" configuration option to "no" editing your
115 redis.conf or using CONFIG SET.
116
117The following INFO fields were renamed for consistency:
118
119 changes_since_last_save -> rdb_changes_since_last_save
120 bgsave_in_progress -> rdb_bgsave_in_progress
121 last_save_time -> rdb_last_save_time
122 last_bgsave_status -> rdb_last_bgsave_status
123 bgrewriteaof_in_progress -> aof_rewrite_in_progress
124 bgrewriteaof_scheduled -> aof_rewrite_scheduled
125
126The following redis.conf and CONFIG GET / SET parameters changed:
127
128 * hash-max-zipmap-entries, now replaced by hash-max-ziplist-entries
129 * hash-max-zipmap-value, now replaced by hash-max-ziplist-value
130 * glueoutputbuf option was now completely removed (was deprecated)
131
c2513ecb 132--------------------------------------------------------------------------------
133
134Credits: Where not specified the implementation and design are done by
135Salvatore Sanfilippo and Pieter Noordhuis. Thanks to VMware for making all
136this possible. Also many thanks to all the other contributors and the amazing
137community we have.
138
139See commit messages for more credits.
140
141Cheers,
142Salvatore