2
0

00-RELEASENOTES 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300
  1. Redis 2.4 release notes
  2. Migrating from 2.2 to 2.4
  3. =========================
  4. Redis 2.2 is mostly a strict subset of 2.4.
  5. The only thing you should be aware is that you can't use .rdb and AOF files
  6. generated with 2.4 into a 2.2 instance.
  7. 2.4 slaves can be attached to 2.2 masters, but not the contrary, and only for
  8. the time needed to perform the version upgrade.
  9. From the point of view of the API Redis 2.4 only adds new commands
  10. (other commands now accepts a variable number of arguments) so you don't need
  11. to modify your program in order to use Redis 2.4.
  12. ---------
  13. CHANGELOG
  14. ---------
  15. What's new in Redis 2.4.18
  16. ==========================
  17. UPGRADE URGENCY: critical if you experienced one more more crashes.
  18. * [BUGFIX] Jemalloc updated to 3.2.0.
  19. What's new in Redis 2.4.17
  20. ==========================
  21. * INFO command now contains the run_id field for Redis Sentinel compatibility.
  22. * Support for the "slave priority" parameter published via INFO and used by
  23. Redis Sentinel.
  24. * [BUGFIX] An optimization to convert double values into strings was not used
  25. because of an error in a preprocessor directive. Now it's fixed. Saving
  26. datasets with many sorted sets should be faster.
  27. * [BUGFIX] Fixed a theoretic bug in the ziplist implementation.
  28. What's new in Redis 2.4.16
  29. ==========================
  30. * INFO command now shows slaves with the correct port number, assuming you
  31. use 2.4.16 or greater as slave as well. This makes Redis 2.4.16 compatible
  32. with Redis Sentinel. This fix required the introduction of a new internal
  33. command called REPLCONF, see commit b998ebe for more information.
  34. What's new in Redis 2.4.15
  35. ==========================
  36. UPGRADE URGENCY: moderate if you use AOF, otherwise low.
  37. * [BUGFIX] Jemalloc updated to 3.0.0. This fixes a possibly AOF rewrite issue.
  38. See https://github.com/antirez/redis/issues/504 for info.
  39. What's new in Redis 2.4.14
  40. ==========================
  41. UPGRADE URGENCY: high, many non trivial bugs fixed in this release.
  42. * [BUGFIX] Fixed issue #518 (Redis 99% CPU when master down).
  43. * [BUGFIX] Fixed issue #516 (ZINTERSTORE mixing sets and zsets).
  44. * [BUGFIX] Fixed a bug in install_server.sh when using chkconfig
  45. * [BUGFIX] Fixes to --test-memory implementation.
  46. * [BUGFIX] Allow PREFIX to be overridden in Makefile.
  47. * [BUGFIX] The test is now more reliable on slow computers.
  48. * redis-cli --pipe mode, see http://redis.io/topics/mass-insert
  49. * Much better expired keys collection algorithm that makes the server much
  50. more responsive when a lot of keys are expiring at the same time.
  51. What's new in Redis 2.4.13
  52. ==========================
  53. UPGRADE URGENCY: high for all the users of the KEYS command, otherwise low.
  54. * [BUGFIX] Fix for KEYS command: if the DB contains keys with expires the KEYS
  55. command may return the wrong output, having duplicated or missing
  56. keys. See issue #487 and #488 on github for details.
  57. What's new in Redis 2.4.12
  58. ==========================
  59. UPGRADE URGENCY: low if you don't experience any of the fixed problems.
  60. * [BUGFIX] Limit the amount of memory consumed by the slow log.
  61. * [BUGFIX] --test-memory option fixes.
  62. * [BUGFIX] Less false positives in tests.
  63. What's new in Redis 2.4.11
  64. ==========================
  65. UPGRADE URGENCY: moderate if you don't experience any of the fixed problems.
  66. * [BUGFIX] Fixed a problem with aeWait() implementation. May cause a crash
  67. under non easy to replicate condiitons. See issue #267 on github.
  68. * [BUGFIX] SORT with GET/BY option fetching expiring keys fixed. Issue #460.
  69. * [BUGFIX] INFO field master_link_down_since_seconds initialized correctly.
  70. * [FEATURE] redis-cli back ported from Redis unstable. Now has support for
  71. --bigkeys (to sample the DB for very large keys), --slave to
  72. simulate a slave instance.
  73. What's new in Redis 2.4.10
  74. ==========================
  75. 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.
  76. * [FEATURE] Redis --test-meory improved with new test testing addressing.
  77. * [BUGFIX] Fixed a memory leak: happens when replication is used with DB > 9.
  78. * [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.
  79. What's new in Redis 2.4.9
  80. =========================
  81. UPGRADE URGENCY: low. Mostly new features and minor bug fixing.
  82. * [FEATURE] Redis server is now able to test your memory for broken RAM.
  83. Usage: ./redis-server --test-memory <megabytes>.
  84. * [FEATURE] redis-benchmark backported from unstable. Pipelining, run selected
  85. tests, and a few more features.
  86. * [BUGFIX] utils/install_server.sh script now works on Redhat / Centos.
  87. * [BUGFIX] Minor fix to redis-cli (github issue #306).
  88. What's new in Redis 2.4.8
  89. =========================
  90. UPGRADE URGENCY: moderate if you don't experience any of the fixed problems.
  91. * [BUGFIX] Make install now uses cp -f to avoid 'text file busy' errors.
  92. * [BUGFIX] redis-check-aof is now large files safe also on 32 bit systems.
  93. * [BUGFIX] Issue #327 fixed: maxmemory and replication now work much better.
  94. * [BUGFIX] Now HINCRBY can detect overflows too. Fix for issue #330.
  95. * [BUGFIX] Fixed compilation with latest clang.
  96. * [BUGFIX] Fixed handling of empty sorted sets produced in RDB by
  97. very old Redis versions (1.2.x).
  98. What's new in Redis 2.4.7
  99. =========================
  100. UPGRADE URGENCY: low/moderate if you don't experience any of the fixed problems.
  101. * [BUGFIX] Fixed false positive in issue #141 regression test.
  102. * [BUGFIX] Slave should not expire keys when loading an RDB after a SYNC.
  103. * [BUGFIX] Don't increment stats for key misses / hits when key is written.
  104. * [BUGFIX] sds.c library now don't allocate more than 1MB ahead.
  105. * 32 bit instances without a maxmemory set now get a default limit of 3.5GB with
  106. maxmemory-policy set to noeviction.
  107. * Better crash report on crash (containing current client and command arguments).
  108. What's new in Redis 2.4.6
  109. =========================
  110. * [BUGFIX] Fixed issue #141 part 1: Possible protocol desyncs when clients send
  111. wrong protocol is now fixed. (See issue 141 for more details)
  112. * [BUGFIX] Fixed issue #141 part 2: Connection of multiple slaves used to result
  113. from time to time into corrupted protocol send to slaves connected
  114. after the first one. (See issue 141 for more details)
  115. * [BUGFIX] Do not propagate DEBUG LOADAOF.
  116. * New INFO contains information such as ip/port/state for every conneced slave.
  117. * Show GCC version in INFO output.
  118. What's new in Redis 2.4.5
  119. =========================
  120. * [BUGFIX] Fixed a ZUNIONSTORE/ZINTERSTORE bug that can cause a NaN to be
  121. inserted as a sorted set element score. This happens when one of the
  122. elements has +inf/-inf score and the weight used is 0.
  123. * [BUGFIX] Fixed memory leak in CLIENT INFO.
  124. * [BUGFIX] Fixed a non critical SORT bug (Issue 224).
  125. * [BUGFIX] Fixed a replication bug: now the timeout configuration is respected
  126. during the connection with the master.
  127. * --quiet option implemented in the Redis test.
  128. What's new in Redis 2.4.4
  129. =========================
  130. * [BUGFIX] jemalloc upgraded to version 2.2.5, previous versions had a
  131. potentially serious issue when allocating big memory areas, something that
  132. Redis actually does. However we never received bug reports that appear
  133. to be caused by jemalloc.
  134. * [BUGFIX] DISCARD now clears DIRTY_CAS flag in the client. Now the next
  135. transaction will not fail if the previous transaction used WATCH and
  136. the key was touched.
  137. * CLIENT LIST output modified to include the last command executed by clients.
  138. * Better bug report on crash.
  139. * Protocol errors are now logged for loglevel >= verbose.
  140. * Two new INFO fields related to AOF, that can be useful when investigating
  141. Redis issues.
  142. What's new in Redis 2.4.3
  143. =========================
  144. * redis-cli now supports 'single quotes' style strings.
  145. * It is possible to disable password auth with CONFIG SET.
  146. * Some section of redis.conf better documented.
  147. * Default timeout for client connections now is 0 (no timeout).
  148. * I/O buffer length modified for better performances with big payloads.
  149. * Fixed crash on SPARC due to improper alighment due to bad assumptions about data types size.
  150. * CLIENT LIST output improved, code refactored.
  151. * [BUGFIX] Max log message length set to 4k to avoid truncation in INFO output written in the log file after a crash.
  152. * [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.
  153. What's new in Redis 2.4.2
  154. =========================
  155. * [BUGFIX] Unix socket creation mask config directive fixed.
  156. * [BUGFIX] Fixed a bug that forced Redis to continously rewrite the AOF file
  157. when a manual BGREWRITEAOF was issued during a BGSAVE was
  158. still in progress.
  159. * [BUGFIX] Fixed a server crash resulting from bad handling of SLAVEOF NO ONE.
  160. * [BUGFIX] Fixed a memory leak in redis-cli.
  161. * Debian/Ubuntu Redis system-wide installation script added under /utils.
  162. What's new in Redis 2.4.1
  163. =========================
  164. * [BUGFIX] FLUSHALL was not replicated nor written into the Append Only File.
  165. * [BUGFIX] FLUSHALL now only performs a sync SAVE if there is at least
  166. one save point configured.
  167. What's new in Redis 2.4.0
  168. =========================
  169. * [BUGFIX] redis-cli segfault with single numerical argument fixed.
  170. * [BUGFIX] OpenBSD compilation problem fixed.
  171. * [BUGFIX] More robust Redis test, with better random port selection.
  172. * [BUGFIX] Fix for bug #128 about the RENAME command.
  173. * [BUGFIX] Fixed Issue #131. stime/utime reported in INFO was inverted.
  174. * [BUGFIX] Unlink Unix socket file on shutdown.
  175. * [BUGFIX] AUTH now returns error if no password is set on the server.
  176. * [BUGFIX] Exit with Fatal error at startup on RDB loading errors.
  177. * redis-check-dump: RDB version 2 now supported.
  178. * More informative error when DEBUG RELOAD fails.
  179. * Added a config directive for a Unix socket mask.
  180. * CONFIG SET/GET for loglevel.
  181. What's new in Redis 2.3.11 (2.4 Release Candidate 8)
  182. ====================================================
  183. * [BUGFIX] Fixed a rare but possible AOF race condition that could result into
  184. duplicated commands inside the AOF.
  185. * [BUGFIX] Fixed issue 620, don't segfault on corrupted (by hand) AOF.
  186. * [BUGFIX] Fixed compilation on Mac/PPC.
  187. * [BUGFIX] Don't replicate SAVE.
  188. * LRANGE optimization may drastically improve performances when querying the
  189. final part of a long list.
  190. * redis-cli now implements a --latency mode to monitory Redis delay.
  191. * Hash type settings removed from INFO (same info is available via config GET)
  192. * Include port number on error when can't bind.
  193. * AOF fsync is now performed in background when fsync policy is 'everysec'.
  194. * AOF performances improved moving in background a possibly slow close(2) call.
  195. * AOF protocol synthesis speedup.
  196. What's new in Redis 2.3.10 (2.4 Release Candidate 7)
  197. ====================================================
  198. * [BUGFIX] Fixed issue 593 (BRPOPLPUSH related crash).
  199. * [BUGFIX] Fixed an issue with the networking layer that may prevent Redis from sending the whole reply back to client under extreme conditions.
  200. What's new in Redis 2.3.9 (2.4 Release Candidate 6)
  201. ===================================================
  202. * [BUGFIX] Fixed a bug with the automatic AOF rewrite causing continuous
  203. rewrites for AOF files bigger than 4 GB.
  204. * New maxmemory tests.
  205. What's new in Redis 2.3.8 (2.4 Release Candidate 5)
  206. ===================================================
  207. Compared to Redis 2.3.7 (RC4) there are the following changes:
  208. * [BUGFIX] HDEL: Abort deleting fields when hash is removed.
  209. * [BUGFIX] Fix adding bulk reply when getcwd fails.
  210. WHAT'S NEW IN REDIS 2.4 compared to the 2.2 version?
  211. ====================================================
  212. * Specially encoded sorted sets, now small sorted sets will use little memory.
  213. * Native persistence of specially encoded data types (ziplists, zipmaps,
  214. intsets). Many data sets will be saved and loaded an order of magnitude
  215. faster.
  216. * Variadic versions of commands: SADD, HDEL, SREM, ZREM, ZADD, L/RPUSH.
  217. * Jemalloc support (enabled by default for Linux build) in order to
  218. avoid fragmentation issues.
  219. * Reduced memory usage while saving.
  220. * More info fields (peak memory, fork time, ...)
  221. * OBJECT command for objects introspection.
  222. * CLIENT command for clients introspection.
  223. * Non blocking slave -> master connection.
  224. * Better redis-cli connection handling. New redis-cli features.
  225. * Better redis-benchmark, now able to benchmark user provided commands.
  226. * Colorized Make.
  227. * VM deprecated. Still supported but with a big warning... don't use it.
  228. * Many speed optimizations and bug fixes.
  229. Credits: Where not specified the implementation and design are done by
  230. Salvatore Sanfilippo and Pieter Noordhuis. Thanks to VMware for making all
  231. this possible. Also many thanks to all the other contributors and the amazing
  232. community we have.
  233. Cheers,
  234. Salvatore