1 2010-04-12 Now all the commands returning a multi bulk reply against non existing keys will return an empty multi bulk, not a nil one
2 2010-04-12 implemented HMSET
3 2010-04-12 Sharing of small integer objects: may save a lot of memory with datasets having many of this
4 2010-04-10 dict.c fixed to play well with enabling/disabling of the hash table
5 2010-04-09 removed a no longer true assert in the VM code
6 2010-04-09 shareobjects feautres killed - no gains most of the time, but VM complexities
7 2010-04-09 use directly the real key object in VM I/O jobs to match by pointer, and to handle different keys with the same name living in different DBs, but being at the same moment in the IO job queues
8 2010-04-08 last change reverted as it was unstable... more testing needed
9 2010-04-08 Prevent hash table resize while there are active child processes in order to play well with copy on write
10 2010-04-08 Merge branch 'issue_218' of git://github.com/pietern/redis
11 2010-04-08 -1 not needed...
12 2010-04-08 Skiplist theoretical fix
13 2010-04-07 Now when a child is terminated by a signal, the signal number is logged as well
14 2010-04-07 First version of evented Redis Tcl client, that will be used for BLPOP and Pub/Sub tests
15 2010-04-05 use long long reply type for HINCRBY
16 2010-04-05 last argument is never encoded for HINCRBY
17 2010-04-02 Now PUBLISH commands are replicated to slaves
18 2010-04-01 use the right object when cleaning up after zunion/zinter (fixes issue 216)
19 2010-04-01 Merge branch 'zipmap' of git://github.com/pietern/redis
20 2010-04-01 reduce code complexity because zipmapLen now is O(1)
21 2010-04-01 update the zipmap entry in-place instead of appending it
22 2010-04-01 updated zipmap documentation to match the implementation
23 2010-04-01 allow 4 free trailing bytes for each value
24 2010-04-01 Pub/Sub pattern matching capabilities
25 2010-04-01 use function to determine length of a single entry
26 2010-03-31 Deny EXEC under out of memory
27 2010-03-29 No timeouts nor other commands for clients in a Pub/Sub context
28 2010-03-29 free hash table entries about no longer active classes, so that PUBSUB can be abused with millions of different classes
29 2010-03-29 Fixed a refcount stuff leading to PUBSUB crashes
30 2010-03-29 fmacros added to linenoise, avoiding all the nice warnings...
31 2010-03-29 First pubsub fix
32 2010-03-29 PUBSUB implemented
33 2010-03-29 Redis version is now 1.3.8
34 2010-03-28 removed references in code to ZIPMAP_EMPTY
35 2010-03-28 use first byte of zipmap to store length
36 2010-03-28 implemented strategy that doesn't use free blocks in zipmaps
37 2010-03-26 Merge branch 'hincrby' of git://github.com/pietern/redis
38 2010-03-26 removed unnecessary refcount increase that caused the HINCRBY memleak
39 2010-03-26 implements HINCRBY and tests (todo: find and fix small memleak)
40 2010-03-26 Removed a useless if spotted by Pieter Noordhuis
41 2010-03-26 Fixed a critical replication bug: binary values issued with the multi bulk protocol caused a protocol desync with slaves.
42 2010-03-24 Fixed the reply about denied write commands under maxmemory reached condition: now the error will no longer lead to a client-server protocol desync
43 2010-03-24 CONFIG command implemened -- just a start but already useful
44 2010-03-24 redis-cli prompt is now redis>
45 2010-03-23 with --help states that you can use - as config file name to feed config via stdin
46 2010-03-23 New INFO field: expired_keys
47 2010-03-23 the Cron timer function is now called 10 times per second instead of 1 time per second to make Redis more responsibe to BGSAVE and to delete expired keys more incrementally
48 2010-03-23 Use linenoise for line editing on redis-cli.
49 2010-03-23 Fix authentication for redis-cli on non-interactive mode.
50 2010-03-23 key deletion on empty value fix + some refactoring
51 2010-03-23 Empty value trigger key removal in all the operations
52 2010-03-22 Merged gnrfan patches fixing issues 191, 193, 194
53 2010-03-22 Merge branch 'issue_193' of git://github.com/gnrfan/redis
54 2010-03-22 Merge branch 'issue_191' of git://github.com/gnrfan/redis
55 2010-03-22 Redis master version is now 1.3.7
56 2010-03-19 support for include directive in config parser
57 2010-03-19 Removed a stupid overriding of config values due to a wrong cut&paste
58 2010-03-19 VM hash type swappability implemented. Handling of failed pthread_create() call.
59 2010-03-19 Solving issue #191 on Google Code: -v and --version should print the version of Redis
60 2010-03-19 Solves issue #194 on Google Code: --help parameter to redis-srver prints the usage message
61 2010-03-19 Fixing issue 193
62 2010-03-18 increment server.dirty on HDEL
63 2010-03-18 Redis 1.3.6
64 2010-03-18 test-redis.tcl dataset digest function Hash support
65 2010-03-18 zipmap fix for large values
66 2010-03-18 Optimization fixed and re-activated
67 2010-03-18 reverted an optimization that makes Redis not stable
68 2010-03-18 Fixed redis-cli auth code
69 2010-03-17 HDEL fix, an optimization for comparison of objects in hash table lookups when they are integer encoding
70 2010-03-17 Version is now 1.3.5
71 2010-03-17 Merged Pietern patch for VM key args helper function. Fixed an obvious bug in the redis-cli passwd auth stuff
72 2010-03-17 Merge branch 'aggregates' of git://github.com/pietern/redis
73 2010-03-17 Added Authentication to redis-cli.c using -a switch Update usage fixed Makefile to delete redis-check-dump during make clean
74 2010-03-17 HEXISTS and tests implemented
75 2010-03-17 More hash tests
76 2010-03-17 better HSET test
77 2010-03-17 Fixed a bug in HSET, a memory leak, and a theoretical bug in dict.c
78 2010-03-17 More Hash tests
79 2010-03-13 added preloading keys from VM when using ZINTER or ZUNION
80 2010-03-13 added explicit AGGREGATE [SUM|MIN|MAX] option to ZUNION/ZINTER
81 2010-03-16 HGET fix for integer encoded field against zipmap encoded hash
82 2010-03-16 zrevrank support in redis-cli
83 2010-03-16 HKEYS / HVALS / HGETALL
84 2010-03-16 Solved a memory leak with Hashes
85 2010-03-15 pretty big refactoring
86 2010-03-15 An interesting refactoring + more expressive internal API
87 2010-03-15 Fixed the same problem in ZREVRANK
88 2010-03-15 Fixed a ZRANK bug
89 2010-03-15 zipmap to hash conversion in HSET
90 2010-03-14 max zipmap entries and max zipmap value parameters added into INFO output
91 2010-03-14 HDEL and some improvement in DEBUG OBJECT command
92 2010-03-14 Append only file support for hashes
93 2010-03-13 utility to check rdb files for unprocessable opcodes
94 2010-03-12 A minor fix and a few debug messages removed
95 2010-03-12 Applied the replication bug patch provided by Jeremy Zawodny, removing temp file collision after the slave got the dump.rdb file in the SYNC stage
96 2010-03-11 Fix for HGET against non Hash type, debug messages used to understand a bit better a corrupted rdb file
97 2010-03-09 fix: use zmalloc instead of malloc
98 2010-03-09 Merged zsetops branch from Pietern
99 2010-03-09 Merged ZREMBYRANK from Pietern
100 2010-03-09 Merged ZREVRANK from Pietern
101 2010-03-09 use a struct to store both a dict and its weight for ZUNION and ZINTER, so qsort can be applied
102 2010-03-09 Hash auto conversion from zipmap to hash table, type fixed for hashes, hash loading from disk
103 2010-03-09 replaced ZMERGE by ZUNION and ZINTER. note: key preloading by the VM does not yet work
104 2010-03-08 Hashes saving / fixes
105 2010-03-08 use ZMERGE as starting point
106 2010-03-07 HSET fixes, now the new pointer is stored back in the object pointer field
107 2010-03-07 added ZREVRANK
108 2010-03-06 Fix for replicaiton with over 2GB dump file initial SYNC stage
109 2010-03-06 first implementation of HSET/HSET. More work needed
110 2010-03-05 zipmaps functions to get, iterate, test for existence. Initial works for Hash data type
111 2010-03-04 redis-benchmark now implements Set commands benchmarks
112 2010-03-04 zipmap iteration code
113 2010-03-04 moved code to delete a single node from a zset to a separate function
114 2010-03-04 rename zslDeleteRange to zslDeleteRangeByScore (to differentiate between deleting using score or rank)
115 2010-03-04 use 1-based rank across zsl*Rank functions consistently
116 2010-03-04 implemented ZREMBYRANK
117 2010-03-04 A fix for initialization of augmented skip lists
118 2010-03-04 A fix for an invalid access when VM is disabled
119 2010-03-04 Merge branch 'zsl-get-rank' of git://github.com/pietern/redis
120 2010-03-04 redis-cli now runs in interactive mode if no command is provided
121 2010-03-04 merged memory reduction patch
122 2010-03-04 Now list push commands return the length of the new list, thanks to Gustavo Picon
123 2010-03-04 first check if starting point is trivial (head or tail) before applying log(N) search
124 2010-03-04 use rank to find starting point for ZRANGE and ZREVRANGE
125 2010-03-04 lookup rank of a zset entry in a different function
126 2010-03-04 SUBSTR fix for integer encoded vals
127 2010-03-04 fix ZRANK (realize that rank is 1-based due to the skip list header)
128 2010-03-03 initial implementation of SUBSTR
129 2010-03-03 TODO updated
130 2010-03-03 fpurge call removed from redis-cli
131 2010-03-03 ZRANK stress tester
132 2010-03-03 use less memory as element->span[0] will always be 1; any level 0 skip list is essentially a linked list
133 2010-03-03 rank is very unlikely to overflow integer range
134 2010-03-03 x->backward never equals zsl->header
135 2010-03-03 initial implementation for augmented zsets and the zrank command
136 2010-03-03 zipampDel() implemented
137 2010-03-03 added quit and exit commands to redis-cli in order to quit the interactive mode
138 2010-03-03 Merge remote branch 'djanowski/interactive'
139 2010-03-02 Add support for MULTI/EXEC.
140 2010-03-02 Remove trailing newline in interactive mode.
141 2010-03-02 minor fix for a Linux warning
142 2010-03-02 Add interactive mode to redis-cli.
143 2010-03-02 Better to increment the version minor number when a VM bug is fixed... it will be simpler to understand what's going on when users will report problems with the INFO trace.
144 2010-03-02 Fixed a subtle VM bug... was not flushing the buffer so the child process read truncated data
145 2010-03-01 KEYS now returns a multi bulk reply
146 2010-02-27 Add DISCARD command to discard queued MULTI commands.
147 2010-03-01 Swappability bug due to a typo fixed thanks to code review by Felix Geisendörfer @felixge
148 2010-02-28 minor fixes for zipmap.c
149 2010-02-27 first zipmap fix of a long sequence in the days to come ;)
150 2010-02-27 initial zipmap.c implementation
151 2010-02-27 Bug #169 fixed (BLOP/BRPOP interrupted connections are not cleared from the queue)
152 2010-02-22 Fixed 32bit make target to work on Linux out of the box
153 2010-02-19 A problem with replication with multiple slaves connectiong to a single master fixed. It was due to a typo, and reported on github by the user micmac. Also the copyright year fixed from many files.
154 2010-02-10 Saner VM defaults for redis.conf
155 2010-02-09 VM now is able to block clients on swapped keys for all the commands
156 2010-02-07 ZCOUNT and ZRANGEBYSCORE new tests
157 2010-02-07 ZRANGEBYSCORE now supports open intervals, prefixing double values with a open paren. Added ZCOUNT that can count the elements inside an interval of scores, this supports open intervals too
158 2010-02-07 WITHSCORES in ZRANGEBYSCORE thanks to Sam Hendley
159 2010-02-06 Added "withscores" option to zrangebyscore command. Based on withscores support in zrange function, ugliest part was the argument parsing to handle using it with the limit option.
160 2010-02-06 DEBUG OBJECT provide info about serialized object length even when VM is disabled
161 2010-02-06 multi bulk requests in redis-benchmark, default fsync policy changed to everysec, added a prefix character for DEBUG logs
162 2010-02-04 APPEND tests
163 2010-02-04 APPEND command
164 2010-02-02 Faster version of the function hashing possibly encoded objects, leading to a general speed gain when working with Sets of integers
165 2010-02-02 faster Set loading time from .rdb file resizing the hash table to the right size before loading elements
166 2010-02-02 Log time taken to load the DB at startup, in seconds
167 2010-01-31 Fixed VM corruption due to child fclosing the VM file directly or indirectly calling exit(), now replaced with _exit() in all the sensible places. Masked a few signals from IO threads.
168 2010-01-28 loading side of the threaded VM
169 2010-01-26 TODO cahnges
170 2010-01-23 Fixed memory human style memory reporting, removed server.usedmemory, now zmalloc_used_memory() is used always.
171 2010-01-22 VM tuning thanks to redis-stat vmstat. Now it performs much better under high load
172 2010-01-21 Changelog updated
173 2010-01-21 REDIS_MAX_COMPLETED_JOBS_PROCESSED is now in percentage, not number of jobs. Moved a debugging message a few lines forward as it was called where a few logged parameters where invalid, leading to a crash
174 2010-01-20 fixed a deadlock caused by too much finished processes in queue so that I/O clients writing to the wirte side of the pipe used to awake the main thread where blocking. Then a BGSAVE started waiting for the last active thread to finish, condition impossible because all the I/O threads where blocking on threads. Takes this as a note to myself...
175 2010-01-20 ae.c event loop does no longer support exception notifications, as they are fully pointless. Also a theoretical bug that never happens in practice fixed.
176 2010-01-19 commercial tools stuff removed from the Redis makefile. cotools are now migrated into a different repos
177 2010-01-19 removed a bug in the function to cancel an I/O job
178 2010-01-17 static symbols update
179 2010-01-16 removed support for REDIS_HELGRIND_FRIENDLY since Helgrind 3.5.0 is friendly enough even with many threads created and destroyed
180 2010-01-15 now redis-cli understands -h
181 2010-01-15 Create swap file only if not exists
182 2010-01-15 I hate warnings
183 2010-01-15 fixed a minor memory leak in configuration file parsing
185 2010-01-15 support for named VM swap file. Fixed a few important interaction issues between the background saving processes and IO threads
186 2010-01-15 fix for the just added new test
187 2010-01-15 useless debugging messages removed
188 2010-01-15 new test added
189 2010-01-15 thread safe zmalloc used memory counter
190 2010-01-15 A define to make Redis more helgrind friendly
191 2010-01-15 removed a few races from threaded VM
192 2010-01-14 Fixed a never experienced, theoretical bug that can actually happen in practice. Basically when a thread is working on a I/O Job we need to wait it to finish before to cancel the Job in vmCancelThreadedIOJob(), otherwise the thread may mess with an object that is being manipulated by the main thread as well.
193 2010-01-14 Set the new threads stack size to a LZF friendly amount
194 2010-01-13 access to already freed job structure fixed by statements reoredering
195 2010-01-13 removed a useless debugging message
196 2010-01-13 Wait zero active threads condition before to fork() for BGSAVE or BGREWRITEAOF
197 2010-01-13 list API is now thread safe
198 2010-01-13 minor TODO and debugging info changes
199 2010-01-12 support for blocking VM in config file
200 2010-01-12 more non blocking VM changes
201 2010-01-12 fix for test #11
202 2010-01-12 a few more stuff in INFO about VM. Test #11 changed a bit in order to be less lame
203 2010-01-12 Added a define to configure how many completed IO jobs the handler should process at every call.
204 2010-01-11 Fixed a bug in the IO Job canceling funtion
205 2010-01-11 more steps towards a working non blocking VM
206 2010-01-11 converted random printfs in debug logs
207 2010-01-11 removed a bug introduced with non blocking VM
208 2010-01-11 a few non blocking VM bugs fixed
209 2010-01-11 More work on non-blocking VM. Should work in a few days
210 2010-01-11 More threaded I/O VM work + Redis init script
211 2010-01-10 more work on VM threaded I/O. Still nothing of usable
212 2010-01-09 non-blocking VM data structures, just a start
213 2010-01-08 used_memory_human added to INFO output. Human readable amount of memory used.
214 2010-01-07 Now DEBUG OBJECT plays well with swapped out objects
215 2010-01-07 fflush VM swap file after object swapping
216 2010-01-07 added the fmacros to enable support for fseeko() lseeko() with 64bit off_t
217 2010-01-07 VM now swaps objects out while loading datasets not fitting into vm-max-memory bytes of RAM
218 2010-01-07 added process id information in INFO
219 2010-01-06 vm-enabled set to no by default in redis.conf
220 2010-01-06 a new default redis.conf
221 2010-01-06 VM stats in INFO command
222 2010-01-06 Introduced a new log verbosity level, so now DEBUG is really for debugging. Refactored a bit maxmemory. When virtual memory is short in RAM free the objects freelist as well as swapping things out.
223 2010-01-05 fixed a bug in bgsave when VM is off but still it was testing for obj->storage field
224 2010-01-05 converted a few calls to assert() => redisAssert() to print stack trace
225 2010-01-05 BGREWRITEAOF now works with swapping on
226 2010-01-05 A first fix for SET key overwrite
227 2010-01-05 SAVE now works with VM
228 2010-01-05 swapping algorithm a bit more aggressive under low memory
229 2010-01-05 basic VM mostly working!
230 2010-01-05 New object field (one of the unused bytes) to hold the type of the swapped out value object in key objects
231 2010-01-05 VM internals bugfixes, set 1
232 2010-01-05 load key from swap on key lookup
233 2010-01-05 more object-level VM primitives
234 2010-01-05 Redis objects swapping / loading
235 2010-01-05 rdbLoadObject() as a separated function to load objects from disk. Dropped support for RDB version 0, I guess no longer has this legacy DBs around
236 2010-01-04 VM low level pages handling
237 2010-01-04 vm swap file creation, and some basic configuration
238 2010-01-04 version marked 1.3.2
239 2010-01-04 saving code refactored a bit, added a function returning the number of bytes an object will use on disk
240 2010-01-02 Now the PUSH side of RPOPLPUSH is able to unblock clients blocked on BLPOP
241 2010-01-02 Version is now 1.3.1
242 2010-01-02 New vararg BLPOP able to block against multiple keys
243 2009-12-29 fixed a problem with BLPOP timeout of zero, now it blocks forever
244 2009-12-29 BLPOP timeouts implemented
245 2009-12-29 first working implementation of BLPOP and BRPOP, still everything is to test well
246 2009-12-29 a few more fixes, still broken
247 2009-12-29 First fix, still broken
248 2009-12-29 minor fix for Linux 64 bit
249 2009-12-29 not yet working BLPOP implementation
250 2009-12-27 AOFSYNC removed, got a better idea...
251 2009-12-27 AOFSYNC command implemented
252 2009-12-27 Version changed to 1.3.0, welcome to the new unstable
253 2009-12-27 Now MULTI returns +OK as well
254 2009-12-27 MULTI/EXEC first implementation
255 2009-12-24 Fixed a minor bug in GETSET, now the SET part is not performed if the GET fails because the key does not contain a string value
256 2009-12-23 html doc readded
257 2009-12-23 ZRANGE WITHSCORES test added
258 2009-12-23 version is now 1.1.94
259 2009-12-23 Add the command name in the unknown command error message.
260 2009-12-22 ZRANGE, ZREVRANGE now support WITHSCORES options
261 2009-12-22 html docs update (ZINCRBY added)
262 2009-12-18 TODO list update
263 2009-12-18 the pipelining test was ran against DB 1 for error, now it runs on DB 9 like all the other tests
264 2009-12-18 still more tests
265 2009-12-18 SORT STORE test added
266 2009-12-18 Now SORT returns an empty bulk reply if the key does not exist
267 2009-12-18 modified a bit the ZREVRANGE test to cover a few lines of code more
268 2009-12-18 SHUTDOWN now does the right thing when append only is on, that is, fsync instead to save the snapshot.
269 2009-12-18 Added a missing server.dirty increment in a non critical place, added more tests
270 2009-12-18 LTRIM stress testing test added
271 2009-12-18 LTRIM now returns +OK against non existing keys. More tests in test-redis.tcl
272 2009-12-18 added sdstoupper() declaration in sds.h
273 2009-12-18 Fixed sds.c bug #124
274 2009-12-16 LZF compression re-enabled by default, but with INIT_HTAB set to 0 to avoid the very costly memset initialization. Note that with this option set valgrind will output some false positive about lzf_c.c
275 2009-12-16 lzf compression switched off by default now, with config file option to enable it in redis.conf
276 2009-12-16 Regression for epoll bug in redis-test.tcl, version is now 1.1.93
277 2009-12-16 Fixed a lame epoll issue
278 2009-12-15 html doc updated
279 2009-12-15 version is now 1.1.92
280 2009-12-15 Two important fixes to append only file: zero length values and expires. A pretty neat new test to check consistency of randomly build datasets against snapshotting and AOF.
281 2009-12-15 debug loadaof implemented in order to add more consistency tests in test-redis.tcl
282 2009-12-15 Added a new test able to stress a lot the snapshotting engine
283 2009-12-15 Unified handling of empty queries with normal queries.
284 2009-12-15 Fixed some subtle bug in the command processing code almost impossible to spot in the real world, thanks to gcov
285 2009-12-15 Regression test for SINTERSTORE added
286 2009-12-15 Fixed issue #121
287 2009-12-14 a few more tests and ability to run a specific test in test-redis.tcl
288 2009-12-13 Changed the reply of BGSAVE and BGREWRITEAOF from +OK to a more meaningful message that makes the user aware of an operation that just started and is not yet finished.
289 2009-12-13 Set the master->slave logical client as authenticated on creation, so that if the slave requires a password replication works anyway
290 2009-12-13 TODO update
291 2009-12-12 bgrewriteaof_in_progress added to INFO
292 2009-12-12 TODO list modified. What's planned for 1.4 is now written in the stone ;)
293 2009-12-12 better handling of non blocking connect on redis-benchmark: EPIPE on read does not print an error message now
294 2009-12-11 some change to redis-sha1.rb utility to make it more robust against non-meaningful changes in the dataset
295 2009-12-10 redis-sha1.rb utility updated
296 2009-12-10 a bit more verbose -ERR wrong number o arguments error, now gives info about the command name causing the error
297 2009-12-10 TODO change and minor SETNX optimization
298 2009-12-06 in rdbLoadDoubleValue now the buffer is nul terminated correctly. Thanks valgrind.
299 2009-12-06 printf format warnings fixed by casting
300 2009-12-06 Regression tests for SETNX and MSETNX bugs added
301 2009-12-06 SETNX and MSETNX now respect the delete-on-write operation of EXPIREing keys
302 2009-12-06 Fixed daemonization when using kqueue/kevent. Now the server initialization is performed *after* the daemonization
303 2009-12-05 more HTML doc changes
304 2009-12-05 HTML doc update
305 2009-12-05 a few redis-cli format specified fixed
306 2009-12-05 use __attribute__ format in sdscatprintf() when the compiler is GCC. Fixed format bugs resulting from the new warnings.
307 2009-12-01 TODO update
308 2009-12-01 compilation problem on 64bit mac os x 10.5 possibly fixed
309 2009-12-01 virtual memory design doc typos
310 2009-12-01 design documents added to the project
311 2009-11-30 Fixed issued #85 (getDecodedObject: Assertion 1 != 1 failed. While sorting a set), added a smarter assert() function to dump the stacktrace, provided a macro to initalize Redis objects on the stack to avoid this kind of bugs.
312 2009-11-30 fixed a subtle bug in redis-cli not having visible effects
313 2009-11-29 TODO updated
314 2009-11-29 Version chagned to 1.100, also known as the first first 2.0 beta version
315 2009-11-29 more tests in test-redis.tcl, some minor fix
316 2009-11-29 SORT support for sorted sets
317 2009-11-28 Implemented LIMIT option in ZRANGEBYSCORE. We now enter feature-freeze
318 2009-11-28 Changelog updated
319 2009-11-28 html doc updated
320 2009-11-28 enable kqueue/kevent only for Mac OS X 10.6.x as it seems that 10.5.x has a broken implementation of this syscalls.
321 2009-11-28 TODO updated
322 2009-11-28 ZRANGEBYSCORE fuzzy test
323 2009-11-28 ZRANGEBYSCORE memory leak fixed, ZRANGEBYSCORE initial test added
324 2009-11-28 INFO refactored. Stack trace on memory corruption now dumps the same information as the INFO command
325 2009-11-28 ifdefs added to use kevent on Free Open and Net BSD as well. INFO and ae.c modified in order to report the multiplexing API in use
326 2009-11-28 Enabled object encoding for multiple keys in MSET. Added a test for memory leaks in test-redis.tcl when running on Mac OS X
327 2009-11-28 Merge branch 'kqueue' of git://github.com/mallipeddi/redis
328 2009-11-28 Changes to TODO list, commented a function in redis.c
329 2009-11-28 Added support for kqueue.
330 2009-11-27 TODO updated
331 2009-11-26 zero length bulk data reading fixed in loadAppendOnlyFile()
332 2009-11-26 append only file fixes
333 2009-11-26 log rebuilding, random refactoring, work in progress please wait for an OK commit before to use this version
334 2009-11-24 DEBUG RELOAD implemented, and test-redis.tcl modified to use it to check for persistence consistency.
335 2009-11-24 Redis version set to 1.07
336 2009-11-24 sorted sets saving fixed
337 2009-11-24 minor TODO change
338 2009-11-24 minor fix to avoid a false valgrind warning.
339 2009-11-23 epoll support enabled by default for Linux builds
340 2009-11-23 epoll module for ae.c implemented. Some more testing needed
341 2009-11-23 commented the HAVE_EPOLL test in config.h to allow compilation under Linux now that the epoll module is still missing
342 2009-11-23 ae_select module added
343 2009-11-23 ae.c now supports multiple polling API modules, even if only ae_select.c is implemented currently. Also adding and removing an event is now O(1).
344 2009-11-23 ae.c initial refactoring for epoll implementation
345 2009-11-21 version incremented up to 1.06
346 2009-11-21 TODO aesthetic changes
347 2009-11-21 TODO updated with plans up to 1.5
348 2009-11-21 SRANDMEMBER test
349 2009-11-21 Fixed a SORT memory leak that should never happen in practice
350 2009-11-21 SORT GET # implemented, with a test
351 2009-11-21 EXPIREAT test
352 2009-11-20 EXPIRE tests
353 2009-11-20 more RPOPLPUSH tests
354 2009-11-20 RPOPLPUSH tests added
355 2009-11-20 ZINCRBY return value fixed
356 2009-11-20 ZINCRSCOREBY => ZINCRBY
357 2009-11-19 ZINCRSCOREBY implemented
358 2009-11-19 writev() finally uncommented again
359 2009-11-19 redis-benchmark hopefully last bug with multi bulk reply fixed
360 2009-11-19 debug mode in redis-bench
361 2009-11-19 Use writev(2) if glue output buffers is disabled
362 2009-11-19 benchmark.c fixes
363 2009-11-18 more experiments with long replies, glue output buffer, and writev.
364 2009-11-18 benchmarking with different number of LRANGE elements. Ability to change the glue output buffer limit by #define
365 2009-11-18 more writev tests/work
366 2009-11-18 redis-benchmark multi bulk reply support hopefully fixed
367 2009-11-17 support for writev implemented but currently ifdef-ed in order to understan why I can't see the improvements expected. Btw code provided by Stefano Barbato
368 2009-11-17 multi-bulk reply support for redis-bench, and as a result LRANGE is not tested, providing some number for the tuning of multi-bulk requests performances server-side
369 2009-11-12 Solaris fix thanks to Alan Harder
370 2009-11-12 Merge git://github.com/ianxm/redis
371 2009-11-12 ZSCORE fixed, now returns NULL on missing key or missing element
372 2009-11-12 Redis test will not fail the SAVE test even if a background save is in progress
373 2009-11-12 LPOPPUSH renamed into RPOPLPUSH
374 2009-11-11 can select db num
375 2009-11-11 Workaround for test-redis.tcl and Tcl 8.4.x about ZSCORE test
376 2009-11-11 Removed a long time warning compiling with recent GCC on Linux
377 2009-11-11 TODO updated
378 2009-11-11 LPUSHPOP first implementation
379 2009-11-10 Tcl script, make target, and redis.c changes to build the static symbol table automagically
380 2009-11-10 Implemented a much better lazy expiring algorithm for EXPIRE
381 2009-11-10 Fixed issue 92 in redis: redis-cli (nil) return value lacks CR/LF
382 2009-11-10 Minor TODO change with new expiring algorithm description. New expiring algorithm moved since it'll go in 1.1
383 2009-11-04 redis-test is now a better Redis citizen, testing everything against DB 9 and 10 and only if this DBs are empty.
384 2009-11-04 fixed a refcounting bug with SORT ... STORE leading to random crashes
385 2009-11-04 masterauth option merged, thanks to Anthony Lauzon
386 2009-11-03 ZSets double to string serialization fixed
387 2009-11-03 client-libraries directory readded
388 2009-11-03 redis.tcl put at toplevel since it's uesd for the test-redis.tcl script
389 2009-11-03 client libs removed from Redis git
390 2009-11-03 redis-cli now accepts a -r (repeat) switch. Still there is a memory leaks to fix
391 2009-11-01 TODO updated again
392 2009-11-01 TODO updated
393 2009-11-01 redis-cli now makes clear when the returned string is an integer
394 2009-11-01 SORT STORE option
395 2009-11-01 now Redis prints DB stats just after the startup without to wait a second for the first report
396 2009-11-01 another fix for append only mode, now read-only operations are not appended
397 2009-11-01 appendfsync parsing in config file fixed. If you benchmarked Redis against different appendfsync options is time to try again ;)
398 2009-11-01 append only file loading fixed
399 2009-11-01 first version of append only file loading -- STILL BROKEN don't use it
400 2009-10-31 Fixed Issue 83:Using TYPE on a zset results in a malformed response from the Redis server
401 2009-10-31 Fixed compilation on Linux
402 2009-10-30 append only mode is now able to translate EXPIRE into EXPIREAT transparently
403 2009-10-30 appendfsync is now set to NO by default
404 2009-10-30 support for appendonly mode no, always, everysec
405 2009-10-30 first fix for append only mode
406 2009-10-30 Initial implementation of append-only mode. Loading still not implemented.
407 2009-10-30 EXPIRE behaviour changed a bit, a negative TTL or an EXPIREAT with unix time in the past will now delete the key. It seems saner to me than doing nothing.
408 2009-10-30 EXPIREAT implemented, will be useful for the append-only mode
409 2009-10-29 Fixed Issue 74 (ERR just returned on invalid password), now the error message is -ERR invalid password.
410 2009-10-29 Fixed issue 72 (SLAVEOF shutdowns redis-server on malformed reply)
411 2009-10-29 Fixed issue 77 (Incorrect time in log files) thanks to youwantalex
412 2009-10-29 Fixed Issue 76 (redis-server crashes when it can't connect to MASTER and client connects to SLAVE)
413 2009-10-29 ZREMRANGEBYSCORE implemented. Remove a range of elements with score between min and max
414 2009-10-28 TODO changes and mostly theoretical minor skiplist change
415 2009-10-28 ZLEN renamed ZCARD for consistency with SCARD
416 2009-10-27 TODO reworked to reflect the real roadmap
417 2009-10-27 Fix for 'make 32bit'
418 2009-10-27 a fix for the solaris fix itself ;)
419 2009-10-27 More Solaris fixes
420 2009-10-27 A lot of ZSETs tests implemented, and a bug fixed thanks to this new tests
421 2009-10-27 zmalloc Solaris fixes thanks to Alan Harder
422 2009-10-27 ZSCORE implemented
423 2009-10-26 fix for ZRANGEBYSCORE
424 2009-10-26 ZRANGEBYSCORE implemented. Redis got range queries!
425 2009-10-26 A trivial change makes the new implementation O(log(N)) instead of O(log(N))+O(M) when there are M repeated scores!
426 2009-10-26 ZSET now saved on disk like any other type
427 2009-10-26 double serialization routines implemented
428 2009-10-26 ZSETs random fixes. Now the implementation appears to be pretty stable
429 2009-10-26 another leak fixed. Can't find more for now, but still a bug in ZSETs to fix
430 2009-10-26 ZSETs memory leak #1 solved, another one missing
431 2009-10-26 Fix for skiplists backward link
432 2009-10-26 Merged Solaris patches provided by Alan Harder
433 2009-10-26 backward support to skiplists for ZREVRANGE, still broken, committing since I've to merge the Solaris patches
434 2009-10-26 TODO updated
435 2009-10-26 ZREM implemented
436 2009-10-24 fix for ZADD in score update mode
437 2009-10-24 some work on ZADD against existing element (score update), still broken...
438 2009-10-23 zrange now starts to work. zadd still does not support update and will crash or leak or b000mmmmm
439 2009-10-23 zrange initial hack (not working for now)
440 2009-10-23 first skiplist fix, courtesy of valgrind
441 2009-10-23 zset symbols added to stack trace code. ZSets will simply crash at the moment
442 2009-10-23 more work on ZSETs and a new make target called 32bit to build i386 binaries on mac os x leopard
443 2009-10-23 initial skiplist implementation. Most memory checks removed and zmalloc() modified to fail with an error message and abort. Anyway Redis is not designed to recover from out of memory conditions.
444 2009-10-23 Fixed compilation in mac os x snow leopard when compiling a 32 bit binary.
445 2009-10-22 version incremented to 1.050 to distinguish from 1.001 stable and next stable versions with minor fixes
446 2009-10-21 TODO updated
447 2009-10-21 SRANDMEMBER added
448 2009-10-20 Imporant bug leading to data corruption fixed (NOT affecting stable distribution), Tcl client lib MSET/MSETNX implementation fixed, Added new tests for MSET and MSETNX in test-redis.tcl
449 2009-10-17 added multi-bulk protocol support to redis-cli and support for MSET and MSETNX
450 2009-10-17 MSET fixed, was not able to replace keys already set for a stupid bug
451 2009-10-16 some dead code removed
452 2009-10-16 multi bulk input protocol fixed
453 2009-10-16 MSET and MSETNX commands implemented
454 2009-10-07 undoed all the sds hacking that lead just to random bugs and no memory saving ;)
455 2009-10-07 initial multi-bulk query protocol, this will allow MSET and other interesting features.
456 2009-10-03 benchmark now outputs the right command line to shorten the TIME_WAIT interval on Mac OS X when keep alive is set
457 2009-10-02 Issue 69 fixed. Object integer encoding now works with replication and MONITORing again.
458 2009-09-18 LREM fixed, used to crash since the new object integer encoding is on the stage
459 2009-09-17 maxmemory didn't worked in 64 systems for values > 4GB since it used to be an unsigned int. Fixed
460 2009-09-10 incremented version number to 1.001, AKA Redis edge is no longer stable...
461 2009-09-10 in-memory specialized object encoding (for now 32 signed integers only)
462 2009-09-03 Latest doc changes for 1.0
463 2009-09-03 Redis 1.0.0 release
464 2009-09-02 Redis version pushed to 1.0
465 2009-09-02 Ruby client lib updated to the latest git version
466 2009-09-02 update-scala-client script added
467 2009-09-02 Scala client added thanks to Alejanro Crosa
468 2009-09-02 QuickStart added
469 2009-09-01 Fixed crash with only space and newline as command (issue 61), thanks to a guy having as nick "fixxxerrr"
470 2009-08-11 TODO list modified
471 2009-07-24 more snow leopard related fixes (for 32bit systems)
472 2009-07-24 fixed compilation with Snow Leopard, thanks to Lon Baker for providing SSH access to Snow Leopard box
473 2009-07-22 Fixed NetBSD compile problems
474 2009-07-17 now the size of the shared pool can be really modified via config, also the number of objects in the sharing pool is logged when the log level is set to debug. Thanks to Aman Gupta
475 2009-07-05 added utils/redis-copy.rb, a script that is able to copy data from one Redis server to another one on the fly.
476 2009-07-04 Applied three different patches thanks to Chris Lamb, one to fix compilation and get the IP register value on Linux IA64 and other systems. One in order to log the overcommit problem on the logs instead of the standard output when Redis is demonized. The latest in order to suggest a more consistent way in order to switch to 1 the memory overcommit Linux feature.
477 2009-07-03 bugfix: EXPIRE now propagates to the Slave.
478 2009-06-16 Redis version modified to 0.900
479 2009-06-16 update-ruby-client script already points to ezmobius repo
480 2009-06-16 client libraries updated
481 2009-06-16 Redis release candidate 1
482 2009-06-16 Better handling of background saving process killed or crashed
483 2009-06-14 number of keys info in INFO command thanks to Diego Rosario Brogna
484 2009-06-14 SPOP documented
485 2009-06-14 Clojure library thanks to Ragnar Dahlén
486 2009-06-10 It is now possible to specify - as config file name to read it from stdin
487 2009-06-10 sync with jodosha redis-rb
488 2009-06-10 Redis-rb sync
489 2009-06-10 max inline request raised again to 1024*1024*256 bytes
490 2009-06-10 max bytes in an inline command raised to 1024*1024 bytes, in order to allow for very large MGETs and still protect from client crashes
491 2009-06-08 SPOP implemented. Hash table resizing for Sets and Expires too. Changed the resize policy to play better with RANDOMKEY and SPOP.
492 2009-06-07 some minor changes to the backtrace code
493 2009-06-07 enable backtrace capabilities only for Linux and MacOSX
494 2009-06-07 Dump a backtrace on sigsegv/sigbus, original coded thanks to Diego Rosario Brogna, modified in order to work on different OSes and to enhance reliability
495 2009-06-06 Merge git://github.com/dierbro/redis
496 2009-06-06 add more output
497 2009-06-06 store static function pointer for a useful stack trace
498 2009-06-06 TODO updated
499 2009-06-06 Makefile dependencies updated
500 2009-06-05 Avoid a busy loop while sending very large replies against very fast links, this allows to be more responsive with other clients even under a KEY * against the loopback interface
501 2009-06-05 Kill the background saving process before performing SHUTDOWN to avoid races
502 2009-06-05 LREM now returns :0 for non existing keys
503 2009-06-05 - put some order in code - better output
504 2009-06-05 added config.h for #ifdef business isolation, added fstat64 for Mac OS X
505 2009-06-04 remove die() :-)
506 2009-06-04 add compile options to debug
507 2009-06-04 initial commit print stack trace
508 2009-06-04 initial commit print stack trace
509 2009-06-04 macosx specific zmalloc.c, uses malloc_size function in order to avoid to waste memory and time to put an additional header
510 2009-06-04 DEBUG OBJECT implemented
511 2009-06-04 backtrace support removed: unreliable stack trace :(
512 2009-06-04 initial backtrace dumping on sigsegv/sigbus + debug command
513 2009-06-03 Python lib updated
514 2009-06-03 shareobjectspoolsize implemented in reds.conf, in order to control the pool size when object sharing is on
515 2009-05-30 Erlang client updated
516 2009-05-30 Python client library updated
517 2009-05-29 Redis-rb minor bool convertion fix
518 2009-05-29 ruby library client is not Redis-rb merged with RubyRedis "engine" by Brian McKinney
519 2009-05-28 __P completely removed from pqsort.c/h
520 2009-05-28 another minor fix for Solaris boxes
521 2009-05-28 minor fix for Solaris boxes
522 2009-05-28 minor fix for Solaris boxes
523 2009-05-27 maxmemory implemented
524 2009-05-26 Redis git version modified to 0.101 in order to distinguish that from the latest tar.gz via INFO ;)
525 2009-05-26 Redis 0.100 released
526 2009-05-26 client libraries synched in git
527 2009-05-26 ignore gcc warning about write() return code not checked. It is esplicitily this way since the "max number of clients reached" is a best-effort error
528 2009-05-26 max bytes of a received command enlarged from 1k to 16k
529 2009-05-26 RubyRedis: set TCP_NODELAY TCP socket option to to disable the neagle algorithm. Makes a huge difference under some OS, notably Linux
530 2009-05-25 maxclients implemented, see redis.conf for details
531 2009-05-25 INFO command now reports replication info
532 2009-05-25 minor fix to RubyRedis about bulk commands sent without arguments
533 2009-05-24 Warns if using the default config
534 2009-05-24 Issue with redis-client used in scripts solved, now to check if the latest argument must come from standard input we do not check that stdin is or not a tty but the command arity
535 2009-05-23 RubyRedis: now sets are returned as arrays again, and not as Set objects
536 2009-05-23 SLAVEOF command documented
537 2009-05-23 SLAVEOF command implemented for replication remote control
538 2009-05-22 Fix: no connection timeout for the master!
539 2009-05-22 replication slave timeout when receiving the initial bulk data set to 3600 seconds, now that replication is non-blocking the server must save the db before to start the async replication and this can take a lot of time with huge datasets
540 2009-05-22 README tutorial now reflects the new proto
541 2009-05-22 critical bug about glueoutputbuffers=yes fixed. Under load and with pipelining and clients disconnecting on the middle of the chat with the server, Redis could block. Now it's ok
542 2009-05-22 TTL command doc added
543 2009-05-22 TTL command implemented
544 2009-05-22 S*STORE now return the cardinality of the resulting set
545 2009-05-22 rubyredis more compatible with Redis-rb
546 2009-05-21 minor indentation fix
547 2009-05-21 timeout support and Redis-rb compatibility aliases implemented in RubyRedis
548 2009-05-21 RubyRedis info postprocessor rewritten in a more functional way
549 2009-05-21 dead code removed from RubyRedis
550 2009-05-21 command postprocessing implemented into RubyRedis
551 2009-05-20 Automagically reconnection of RubyRedis
552 2009-05-20 RubyRedis: Array alike operators implemented
553 2009-05-20 random testing code removed
554 2009-05-20 RubyRedis DB selection forced at object creation
555 2009-05-20 Initial version of an alternative Ruby client added
556 2009-05-20 SDIFF / SDIFFSTORE added to doc
557 2009-05-20 Aman Gupta changes merged
558 2009-05-20 Merge git://github.com/tmm1/redis
559 2009-05-19 Allow timeout=0 config to disable client timeouts
560 2009-05-19 Partial qsort implemented in SORT command, only when both BY and LIMIT is used. minor fix for a warning compiling under Linux.
561 2009-05-19 psort.c/h added. This is a partial qsort implementation that Redis will use when SORT+LIMIT is requested
562 2009-05-17 Fix SINTER/UNIONSTORE to allow for &=/|= style operations (i.e. SINTERSTORE set1 set1 set2)
563 2009-05-17 Optimize SDIFF to return as soon as the result set is empty
564 2009-05-17 SDIFF/SDIFFSTORE implemnted unifying it with the implementation of SUNION/SUNIONSTORE
565 2009-05-11 timestamp in log lines
566 2009-05-11 Python client updated pushing from Ludo's repository
567 2009-05-11 disconnect when we cannot read from the socket
568 2009-05-11 benchmark utility now supports random keys
569 2009-05-10 minor doc changes
570 2009-05-09 added tests for vararg DEL
571 2009-05-09 DEL is now a vararg, IMPORTANT: memory leak fixed in loading DB code
572 2009-05-09 doc changes
573 2009-05-09 CPP client added thanks to Brian Hammond
574 2009-05-06 Infinite number of arguments for MGET and all the other commands
575 2009-05-04 Warns if /proc/sys/vm/overcommit_memory is set to 0 on Linux. Also make sure to don't resize the hash tables while the child process is saving in order to avoid copy-on-write of memory pages
576 2009-04-30 zmalloc fix, return NULL or real malloc failure
577 2009-04-30 more fixes for dict.c and the 150 million keys limit
578 2009-04-30 dict.c modified to be able to handle more than 150,000,000 keys
579 2009-04-29 fuzz stresser implemented in redis-test
580 2009-04-29 fixed for HT resize check 32bits overflow
581 2009-04-29 Check for fork() failure in background saving
582 2009-04-29 fix for the LZF off-by-one bug added
583 2009-04-28 print bytes used at exit on SHUTDOWN
584 2009-04-28 SMOVE test added
585 2009-04-28 SMOVE command implemented
586 2009-04-28 less CPU usage in command parsing, case insensitive config directives
587 2009-04-28 GETSET command doc added
588 2009-04-28 GETSET tests
589 2009-04-28 GETSET implemented
590 2009-04-27 ability to specify a different file name for the DB
591 2009-04-27 log file parsing code improved a bit
592 2009-04-27 bgsave_in_progress field in INFO output
593 2009-04-27 INCRBY/DECRBY now support 64bit increments, with tests
594 2009-04-23 RANDOMKEY regression test added
595 2009-04-23 dictGetRandomKey bug fixed, RANDOMKEY will not block the server anymore
596 2009-04-22 FLUSHALL/FLUSHDB no longer sync on disk. Just increment the dirty counter by the number of elements removed, that will probably trigger a background saving operation
597 2009-04-21 forgot to comment testing code in PHP lib. Now it is ok
598 2009-04-21 PHP client ported to PHP5 and fixed
599 2009-04-21 doc update
600 2009-04-20 Non blocking replication (finally!). C-side linked lists API improved.
601 2009-04-19 SUNION, SUNIONSTORE, Initial work on non blocking replication
602 2009-04-10 Redis 0.091 released
603 2009-04-10 SINTER/SINTERSTORE/SLEMENTS fix: misisng keys are now not errors, but just like empty sets
604 2009-04-09 doc changes
605 2009-04-08 TODO changes, minor change to default redis.conf
606 2009-04-08 html doc updated
607 2009-04-08 library clients update scripts
608 2009-04-08 Ruby client updated
609 2009-04-08 Lua client updated
610 2009-04-08 Changelog updated
611 2009-04-08 Merge git://github.com/ludoo/redis
612 2009-04-08 add expire command to the php lib
613 2009-04-08 fix decode bug, add flush and info commands
614 2009-04-07 Rearrange redisObject struct to reduce memory usage in 64bit environments (as recommended http://groups.google.com/group/redis-db/msg/68f5a743f8f4e287)
615 2009-04-07 ruby19 compat: use each_line on string
616 2009-04-07 64bit fixes for usedmemory
617 2009-04-08 RANDOMKEY issue 26 fixed, generic test + regression added
618 2009-04-06 Don't accept SAVE if BGSAVE is in progress
619 2009-04-06 add expire command to the python lib
620 2009-04-03 persistent EXPIRE
621 2009-04-03 dirty increment was missing in two points. TODO updated
622 2009-04-02 LZF configured to initalize the HT in order to be determinsitic and play well with valgrind
623 2009-04-02 fix select test
624 2009-04-02 fix trailing cr+nl in values
625 2009-04-02 compression/decompression of large values on disk now working
626 2009-04-02 disable LZF compression since it's not able to load the DB for now, the load part is missing
627 2009-04-02 new LZF files added
628 2009-04-02 Fixed issue 23 about AUTH
629 2009-04-02 Issue 22 fixed
630 2009-04-01 non-lazy expired keys purging implemented
631 2009-04-01 fastlz dependence removed
632 2009-04-01 Initial implementation of EXPIRE
633 2009-03-30 TODO updated
634 2009-03-30 changelog added
635 2009-03-28 redis-sha1 utility added
636 2009-03-28 Integer encoding implemented in dump file. Doc updated
637 2009-03-27 feature macros defined to play well with C99
638 2009-03-27 feature macros defined to play well with C99
639 2009-03-27 now Redis is C99-ok
640 2009-03-27 IMPORTANT FIX: new dump format implementation was broken. Now it's ok but tests for the 32-bit case values are needed
641 2009-03-27 ANSI-C compatibility changes
642 2009-03-27 Ruby client library updated. Important changes in this new version!
643 2009-03-26 Lua client added thanks to Daniele Alessandri
644 2009-03-26 Lua client added thanks to Daniele Alessandri
645 2009-03-26 AUTH merged from Brian Hammond fork, reworked a bit to fix minor problems
646 2009-03-25 Adds AUTH command.
647 2009-03-25 Nasty bug of the new DB format fixed, objects sharing implemented
648 2009-03-25 doc update
649 2009-03-25 Erlang client synched with Valentiono's repo
650 2009-03-25 New file dump format, perl client library added
651 2009-03-25 New protocol fix for LREM
652 2009-03-24 two typos fixed
653 2009-03-24 Now the Redis test uses the proper Tcl client library
654 2009-03-24 Tcl client library
655 2009-03-24 redis-benchmark sync with the new protocol
656 2009-03-24 git mess :)
657 2009-03-24 sync python client to the new protocol
658 2009-03-24 protocol fix in SORT reply with null elements
659 2009-03-24 protocol doc changed
660 2009-03-24 Server replies now in the new format, test-redis.tcl and redis-cli modified accordingly
661 2009-03-24 Python client library updated, thanks to Ludo!
662 2009-03-24 random tested mode for test-redis.tcl, minor other stuff, version switched to 0.8
663 2009-03-23 Now MONITOR/SYNC cannot be issued multiple times
664 2009-03-23 MONITOR command implemented.
665 2009-03-23 lucsky changes imported. pid file path can now be configured, redis-cli fixes
666 2009-03-23 Merge git://github.com/lucsky/redis
667 2009-03-23 another missing free->zfree replacement fixed. Thanks to Ludo
668 2009-03-23 Fixed redis-cli readLine loop to correctly handle EOF.
669 2009-03-23 Display the port on server startup.
670 2009-03-23 Allow to specify the pid file from the config file.
671 2009-03-23 Added gitignore file.
672 2009-03-22 MGET tests added
673 2009-03-22 doc changes
674 2009-03-22 added doc for MGET
675 2009-03-22 redis-cli now checks the arity of vararg commnads
676 2009-03-22 INFO fixed, MGET implemented, redis-cli implements INFO/MGET
677 2009-03-22 first commit