]> git.saurik.com Git - redis.git/blobdiff - 00-RELEASENOTES
Release notes updated with the new 2.6 features.
[redis.git] / 00-RELEASENOTES
index bca37d5f096aa1f2a7b1e5b37f8b927f4761e3b1..67abf9e65d5ad1d10f5f5a94aa06de695232e96e 100644 (file)
@@ -1,38 +1,94 @@
-Welcome to Redis 2.1.9 (2.2 Release Candidate 1)
-
-This is the first Release Candidate of Redis 2.2, in our experience the
-server is very stable, but in the latest weeks we rewrote part of the internals
-in order to use a lot less memory while the saving child process is performing
-a BGREWRITEAOF or a BGSAVE, so handle with care for a couple of weeks.
-
-Oh, and I've some very good news: the majority of apps can work if you simply replace 2.2 in your old 2.0 environment. I can't think of any breakage.
-
-WHAT'S NEW IN REDIS 2.2.x
-
-* Specially encoded data types, small lists and sets can now use up to an order of magnitude less memory.
-* VM partial rewrite for code cleaness and memory usage.
-* Change to the implementation of the top level dictionary for better memory efficienty.
-* redis-cli is hugely improved: tab completion, inline help (Thanks to TJ Holowaychuk), raw output, rewritten using the new hiredis C library.
-* Networking internals rewritten for efficiency. You can expect LRANGE and similar commands to be at least 10 times faster.
-* Most read only commands are now copy-on-write friendly, this means that Redis will use little memory when a saving child is active and the parent process is mostly stressed by read queries.
-* Non blocking replication even from the point of view of the slave, with configurable behavior about what to do when the link is disconnected. You can select if serving old data or replying with an error.
-* Check-and-set (CAS) transactions with the new WATCH command.
-* Now write operations work against keys with an EXPIRE set! Imagine the possibilities.
-* New maxmemory eviction policies. It is possible to select among LRU, farest TTL expire, and other algorithms, and if when the memory limit is reached only keys with an expire set or all the keys should be expired.
-* SETBIT / GETBIT / SETRANGE / GETRANGE / STRLEN. Now your strings are your arrays!
-* Syslog support (Thanks to Jonah H. Harris)
-* Unix domain socket support.
-* New List related functions LINSERT, LPUSHX, RPUSHX (Thanks to Robey Pointer)
-* BRPOPLPUSH (Thanks to Michel Martens and Damian Janowski)
-* Much more interesting informations in the INFO output.
-* Sorted sets are now less memory hungry.
-* Non blocking loading of .rdb / AOF file on startup, with process information in the INFO output.
-* Now Redis has a clean, powerful, supported C library: hiredis.
-* Code layout completely new, the 2.0.x huge redis.c file is now splitted in many parts.
-* Redis-benchmark rewritten to be faster and in order to use hiredis as well.
-* Endless other CPU optimizations and bugs fixed.
-
-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.
+Redis 2.6 release notes
+
+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.4 slaves can be attached to 2.6 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.
+
+Also the following redis.conf and CONFIG GET / SET parameters changed name:
+
+    * hash-max-zipmap-entries, now replaced by hash-max-ziplist-entries
+    * hash-max-zipmap-value, now replaced by hash-max-ziplist-value
+    * glueoutputbuf was no completely removed as it does not make sense
+
+---------
+CHANGELOG
+---------
+
+What's new in Redis 2.6.0
+=========================
+
+UPGRADE URGENCY: We suggest new users to start with 2.6.0, and old users to
+                 upgrade after some testing of the application with the new
+                 Redis version.
+
+* 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.
+* Clients max output buffer soft and hard limits. You can specifiy different
+  limits for different classes of clients (normal,pubsub,slave).
+* 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.
+
+--------------------------------------------------------------------------------
+
+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
 
 Cheers,
 Salvatore