diff options
Diffstat (limited to '00-RELEASENOTES')
-rw-r--r-- | 00-RELEASENOTES | 249 |
1 files changed, 4 insertions, 245 deletions
diff --git a/00-RELEASENOTES b/00-RELEASENOTES index 8a547821b..864c8c145 100644 --- a/00-RELEASENOTES +++ b/00-RELEASENOTES @@ -1,249 +1,8 @@ -Redis 2.6 release notes +Redis 2.7 release notes ======================= -** IMPORTANT ** Check the 'Migrating from 2.4 to 2.6' section at the end of - this file for information about what changed between 2.4 and - 2.6 and how this may affect your application. +This is the unstable version of Redis 2.8, currently work in progress. --------------------------------------------------------------------------------- -Upgrade urgency levels: +When it will be ready it will be releaed as Redis 2.8.0 -LOW: No need to upgrade unless there are new features you want to use. -MODERATE: Program an upgrade of the server, but it's not urgent. -HIGH: There is a critical bug that may affect a subset of users. Upgrade! -CRITICAL: There is a critical bug affecting MOST USERS. Upgrade ASAP. --------------------------------------------------------------------------------- - ----[ Redis 2.6.0 ] - -* [BUGFIX] Allow AUTH when server is in -BUSY state because of a slow script. -* [BUGFIX] MULTI/EXEC flow now makes sense when observed in MONITOR -* [BUGFIX] SCRIPT KILL now uses different error prefixes for different errors. -* [BUGFIX] Default memory limit for 32bit archs lowered from 3.5 to 3 GB. -* [BUGFIX] redis-check-dump is now compatible with RDB files generated by 2.6. -* [IMPROVED] New field in INFO: slave_read_only. - ----[ Redis 2.5.14 (2.6 Release Candidate 8) ] - -* [BUGFIX] Fixed compilation on FreeBSD. -* [IMPROVED] SRANDMEMBER <count> that returns multiple random elements. -* [IMPROVED] Sentinel backported to 2.6. It will be taken in sync with 2.8. -* [IMPROVED] Helper function for scripting to return errors and status replies. -* [IMPROVED] SORT by nosort [ASC|DESC] uses sorted set elements ordering. -* [BUGFIX] Better resistence to system clock skew. -* [IMPROVED] Warn the user when the configured maxmemory seems odd. -* [BUGFIX] Hashing function is now murmurhash2 for security purposes. -* [IMPROVED] Install script no longer uses a template but redis.conf itself. - ----[ Redis 2.5.13 (2.6 Release Candidate 7) ] - -UPGRADE URGENCY: HIGH - -* [BUGFIX] Theoretical bug in ziplist fixed. -* [BUGFIX] Better out of memory handling (Log produced in log file). -* [BUGFIX] Incrementally flush RDB file on slave side while performing the - first synchronization with the master. This makes Redis less - blocking in environments where disk I/O is slow. -* [BUGFIX] Don't crash with Lua's redis.call() without arguments. -* [BUGFIX] Don't crash after a big number of Lua calls on 32 bit systems - because of a failed assertion. -* [BUGFIX] Fix SORT behaviour when called from scripting. -* [BUGFIX] Adjust slave PING period accordingly to REDIS_HZ define. -* [BUGFIX] BITCOUNT: fix crash on overflowing arguments. -* [BUGFIX] Return an error when SELECT argument is not an integer. -* [BUGFIX] Blocking operations on lists were completely reimplemented for - correctness. Now blocking list ops and pushes originated from - Lua scripts will play well together and will be replicated - and transmitted to the AOF correctly. -* [IMPROVED] Send async PING before starting replication to avoid blocking if - master allows us to connect but it is actually not able to reply. -* [IMPROVED] Support slave-priority for Redis Sentinel. -* [IMPROVED] Hiredis library updated. - ----[ Redis 2.5.12 (2.6 Release Candidate 6) ] - -UPGRADE URGENCY: MODERATE. - -* [BUGFIX] Fixed a timing attack on AUTH (Issue #560). -* [BUGFIX] Don't assume that "char" is signed. -* [BUGFIX] Check that we have connection before enabling pipe mode. -* [BUGFIX] Use the optimized version of the function to convert a double to - its string representation. Compilation was disabled because of - a typo in the #if statement. -* [IMPROVED} REPLCONF internal command introduced, now INFO shows slaves with - correct port numbers. This makes 2.5.12 Redis Sentinel compatible. -* [IMPROVED] Truncate short write from the AOF for a cleaner restart. On short - writes (for instance out of space) Redis will now try to remove - the half-written data so that the next restart will work without - the need for the "redis-check-aof" utility. -* [IMPROVED] New in INFO: aof_last_bgrewrite_status -* [IMPROVED] Allow Pub/Sub in contexts where other commands are blocked. -* [BUGFIX] mark fd as writable when EPOLLERR or EPOLLHUP is returned by - epoll_wait. - ----[ Redis 2.5.11 (2.6 Release Candidate 5) ] - -UPGRADE URGENCY: HIGH. - -* [BUGFIX] Fixed Hash corruption when loading an RDB file generated by - previous versions of Redis that encoded hashes using - a different ziplist encoding format for small integers. - All the fileds that are integers in the range 0-255 may not - be recognized, or duplicated un updates, causing a crash - when the ziplist is converted to a real hash. (Issue #547). -* [BUGFIX] Fixed the count of memory used by output buffers in the - setDeferredMultiBulkLength() function. - ----[ Redis 2.5.10 (2.6 Release Candidate 4) ] - -UPGRADE URGENCY: HIGH. - -* [BUGFIX] Allow PREFIX to be overwritten on "make install". -* [BUGFIX] Run the test with just one client if the computer is slow. -* [BUGFIX] Event port support in our event driven libray. -* [BUGFIX] Jemalloc updated to 3.0.0. This fixes a possibly AOF rewrite issue. - See https://github.com/antirez/redis/issues/504 for info. -* [BUGFIX] Fixed issue #516: ZINTERSTORE / ZUNIONSTORE with mixed sets/zsets. -* [BUGFIX] Set fd to writable when poll(2) detects POLLERR or POLLHUP event. -* [BUGFIX] Fixed RESTORE hash failure (Issue #532). -* [IMPROVED] Allow an AOF rewrite buffer > 2GB (Related to issue #504). -* [IMPROVED] Server cron function frequency is now configurable (REDIS_HZ). -* [IMPROVED] Better, less blocking expired keys collection algorithm. -* [FEATURE] New commands: BITOP and BITCOUNT. -* [FEATURE] redis-cli --pipe for mass import. - -What's new in Redis 2.5.9 (aka 2.6 Release Candidate 3) -======================================================= - -UPGRADE URGENCY: critical, upgrade ASAP. - -* [BUGFIX] Fix for issue #500 (https://github.com/antirez/redis/pull/500). - Redis 2.6-RC1 and RC2 may corrupt ziplist-encoded sorted sets - produced by Redis 2.4.x. -* [BUGFIX] Fixed several bugs in init.d script. -* [BUGFIX] syncio.c functions modified for speed and correctness. On osx - (and possibly other BSD-based systems) the slave would block on - replication to send the SYNC command when the master was not - available. This is fixed now, but was not affecting Linux installs. -* Now when slave-serve-stale-data is set to yes and the master is down, instead - of reporting a generic error Redis replies with -MASTERDOWN. - -What's new in Redis 2.5.8 (aka 2.6 Release Candidate 2) -======================================================= - -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.5.7 (aka 2.6 Release Candidate 1) -======================================================= - -UPGRADE URGENCY: upgrade not recommended because this is an RC release. - -* This is the first release candidate for Redis 2.6. We are not aware of - bugs, but part of this code is young and was never tested in production - environments, so handle with care. - -An overview of new features and changes in Redis 2.6.x -====================================================== - -* Server side Lua scripting, see http://redis.io/commands/eval -* Virtual Memory removed (was deprecated in 2.4) -* Hardcoded limits about max number of clients removed. -* AOF low level semantics is generally more sane, and especially when used - in slaves. -* Milliseconds resolution expires, also added new commands with milliseconds - precision (PEXPIRE, PTTL, ...). -* Better memory usage for "small" lists, ziplists and hashes when fields or - values contain small integers. -* Read only slaves. -* New bit opeations: BITCOUNT and BITOP commands. -* Clients max output buffer soft and hard limits. You can specifiy different - limits for different classes of clients (normal,pubsub,slave). -* More incremental (less blocking) expired keys collection algorithm, in - practical terms this means that Redis is more responsive when a very - big number of keys expire about at the same time. -* AOF is now able to rewrite aggregate data types using variadic commands, - often producing an AOF that is faster to save, load, and is smaller in size. -* Every redis.conf directive is now accepted as a command line option for the - redis-server binary, with the same name and number of arguments. -* Hash table seed randomization for protection against collisions attacks. -* Performances improved when writing large objects to Redis. -* Integrated memory test, see redis-server --test-memory. -* INCRBYFLOAT and HINCRBYFLOAT commands. -* New DUMP, RESTORE, MIGRATE commands (back ported from Redis Cluster to 2.6). -* CRC64 checksump in RDB files. -* Better MONITOR output and behavior (now commands are logged before execution). -* "Software Watchdog" feature to debug latency issues. -* Significant parts of the core refactored or rewritten. New internal APIs - and core changes allowed to develop Redis Cluster on top of the new code, - however for 2.6 all the cluster code was removed, and will be released with - Redis 3.0 when it is more complete and stable. -* Redis ASCII art logo added at startup. -* Crash report on memory violation or failed asserts improved significantly - to make debugging of hard to catch bugs simpler. -* redis-benchmark improvements: ability to run selected tests, - CSV output, faster, better help. -* redis-cli improvements: --eval for comfortable development of Lua scripts. -* SHUTDOWN now supports two optional arguments: "SAVE" and "NOSAVE". -* INFO output split into sections, the command is now able to just show - pecific sections. -* New statistics about how many time a command was called, and how much - execution time it used (INFO commandstats). -* More predictable SORT behavior in edge cases. -* Better support for big endian and *BSD systems. -* Build system improved. - -Migrating from 2.4 to 2.6 -========================= - -Redis 2.4 is mostly a strict subset of 2.6. However there are a few things -that you should be aware of: - -* You can't use .rdb and AOF files generated with 2.6 into a 2.4 instance. -* 2.6 slaves can be attached to 2.4 masters, but not the contrary, and only - for the time needed to perform the version upgrade. - -There are also a few API differences, that are unlikely to cause problems, -but it is better to keep them in mind: - -* SORT now will refuse to sort in numerical mode elements that can't be parsed - as numbers. -* EXPIREs now all have millisecond resolution (but this is very unlikely to - break code that was not conceived exploting the previous resolution error - in some way.) -* INFO output is a bit different now, and contains empty lines and comments - starting with '#'. All the major clients should be already fixed to work - with the new INFO format. -* Slaves are only read-only by default (but you can change this easily - setting the "slave-read-only" configuration option to "no" editing your - redis.conf or using CONFIG SET. - -The following INFO fields were renamed for consistency: - - changes_since_last_save -> rdb_changes_since_last_save - bgsave_in_progress -> rdb_bgsave_in_progress - last_save_time -> rdb_last_save_time - last_bgsave_status -> rdb_last_bgsave_status - bgrewriteaof_in_progress -> aof_rewrite_in_progress - bgrewriteaof_scheduled -> aof_rewrite_scheduled - -The following redis.conf and CONFIG GET / SET parameters changed: - - * hash-max-zipmap-entries, now replaced by hash-max-ziplist-entries - * hash-max-zipmap-value, now replaced by hash-max-ziplist-value - * glueoutputbuf option was now completely removed (was deprecated) - --------------------------------------------------------------------------------- - -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. - -See commit messages for more credits. - -Cheers, -Salvatore +Unstable versions of Redis 2.8 will be called 2.7.0, 2.7.1, and so forth. |