]>
Commit | Line | Data |
---|---|---|
c2513ecb | 1 | Redis 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 | 8 | What's new in Redis 2.5.9 (aka 2.6 Release Candidate 3) |
9 | ======================================================= | |
10 | ||
11 | UPGRADE 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 | 24 | What's new in Redis 2.5.8 (aka 2.6 Release Candidate 2) |
25 | ======================================================= | |
26 | ||
27 | UPGRADE 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 | 33 | What's new in Redis 2.5.7 (aka 2.6 Release Candidate 1) |
34 | ======================================================= | |
35 | ||
36 | UPGRADE 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 | 42 | An 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 | 92 | Migrating from 2.4 to 2.6 |
93 | ========================= | |
94 | ||
95 | Redis 2.4 is mostly a strict subset of 2.6. However there are a few things | |
96 | that 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 | ||
102 | There are also a few API differences, that are unlikely to cause problems, | |
103 | but 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 | ||
117 | The 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 | ||
126 | The 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 | ||
134 | Credits: Where not specified the implementation and design are done by | |
135 | Salvatore Sanfilippo and Pieter Noordhuis. Thanks to VMware for making all | |
136 | this possible. Also many thanks to all the other contributors and the amazing | |
137 | community we have. | |
138 | ||
139 | See commit messages for more credits. | |
140 | ||
141 | Cheers, | |
142 | Salvatore |