]> git.saurik.com Git - redis.git/blobdiff - Changelog
zipmap to hash conversion in HSET
[redis.git] / Changelog
index 1ce4d1184bcccab08c7a279fc79b18bf77c627cc..3154cf53a79a36dfa28971290646ef5ecac3afb2 100644 (file)
--- a/Changelog
+++ b/Changelog
@@ -1,3 +1,376 @@
+2010-03-14 max zipmap entries and max zipmap value parameters added into INFO output
+2010-03-14 HDEL and some improvement in DEBUG OBJECT command
+2010-03-14 Append only file support for hashes
+2010-03-13 utility to check rdb files for unprocessable opcodes
+2010-03-12 A minor fix and a few debug messages removed
+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
+2010-03-11 Fix for HGET against non Hash type, debug messages used to understand a bit better a corrupted rdb file
+2010-03-09 fix: use zmalloc instead of malloc
+2010-03-09 Merged zsetops branch from Pietern
+2010-03-09 Merged ZREMBYRANK from Pietern
+2010-03-09 Merged ZREVRANK from Pietern
+2010-03-09 use a struct to store both a dict and its weight for ZUNION and ZINTER, so qsort can be applied
+2010-03-09 Hash auto conversion from zipmap to hash table, type fixed for hashes, hash loading from disk
+2010-03-09 replaced ZMERGE by ZUNION and ZINTER. note: key preloading by the VM does not yet work
+2010-03-08 Hashes saving / fixes
+2010-03-08 use ZMERGE as starting point
+2010-03-07 HSET fixes, now the new pointer is stored back in the object pointer field
+2010-03-07 added ZREVRANK
+2010-03-06 Fix for replicaiton with over 2GB dump file initial SYNC stage
+2010-03-06 first implementation of HSET/HSET. More work needed
+2010-03-05 zipmaps functions to get, iterate, test for existence. Initial works for Hash data type
+2010-03-04 redis-benchmark now implements Set commands benchmarks
+2010-03-04 zipmap iteration code
+2010-03-04 moved code to delete a single node from a zset to a separate function
+2010-03-04 rename zslDeleteRange to zslDeleteRangeByScore (to differentiate between deleting using score or rank)
+2010-03-04 use 1-based rank across zsl*Rank functions consistently
+2010-03-04 implemented ZREMBYRANK
+2010-03-04 A fix for initialization of augmented skip lists
+2010-03-04 A fix for an invalid access when VM is disabled
+2010-03-04 Merge branch 'zsl-get-rank' of git://github.com/pietern/redis
+2010-03-04 redis-cli now runs in interactive mode if no command is provided
+2010-03-04 merged memory reduction patch
+2010-03-04 Now list push commands return the length of the new list, thanks to Gustavo Picon
+2010-03-04 first check if starting point is trivial (head or tail) before applying log(N) search
+2010-03-04 use rank to find starting point for ZRANGE and ZREVRANGE
+2010-03-04 lookup rank of a zset entry in a different function
+2010-03-04 SUBSTR fix for integer encoded vals
+2010-03-04 fix ZRANK (realize that rank is 1-based due to the skip list header)
+2010-03-03 initial implementation of SUBSTR
+2010-03-03 TODO updated
+2010-03-03 fpurge call removed from redis-cli
+2010-03-03 ZRANK stress tester
+2010-03-03 use less memory as element->span[0] will always be 1; any level 0 skip list is essentially a linked list
+2010-03-03 rank is very unlikely to overflow integer range
+2010-03-03 x->backward never equals zsl->header
+2010-03-03 initial implementation for augmented zsets and the zrank command
+2010-03-03 zipampDel() implemented
+2010-03-03 added quit and exit commands to redis-cli in order to quit the interactive mode
+2010-03-03 Merge remote branch 'djanowski/interactive'
+2010-03-02 Add support for MULTI/EXEC.
+2010-03-02 Remove trailing newline in interactive mode.
+2010-03-02 minor fix for a Linux warning
+2010-03-02 Add interactive mode to redis-cli.
+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.
+2010-03-02 Fixed a subtle VM bug... was not flushing the buffer so the child process read truncated data
+2010-03-01 KEYS now returns a multi bulk reply
+2010-02-27 Add DISCARD command to discard queued MULTI commands.
+2010-03-01 Swappability bug due to a typo fixed thanks to code review by Felix Geisendörfer @felixge
+2010-02-28 minor fixes for zipmap.c
+2010-02-27 first zipmap fix of a long sequence in the days to come ;)
+2010-02-27 initial zipmap.c implementation
+2010-02-27 Bug #169 fixed (BLOP/BRPOP interrupted connections are not cleared from the queue)
+2010-02-22 Fixed 32bit make target to work on Linux out of the box
+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.
+2010-02-10 Saner VM defaults for redis.conf
+2010-02-09 VM now is able to block clients on swapped keys for all the commands
+2010-02-07 ZCOUNT and ZRANGEBYSCORE new tests
+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
+2010-02-07 WITHSCORES in ZRANGEBYSCORE thanks to Sam Hendley
+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.
+2010-02-06 DEBUG OBJECT provide info about serialized object length even when VM is disabled
+2010-02-06 multi bulk requests in redis-benchmark, default fsync policy changed to everysec, added a prefix character for DEBUG logs
+2010-02-04 APPEND tests
+2010-02-04 APPEND command
+2010-02-02 Faster version of the function hashing possibly encoded objects, leading to a general speed gain when working with Sets of integers
+2010-02-02 faster Set loading time from .rdb file resizing the hash table to the right size before loading elements
+2010-02-02 Log time taken to load the DB at startup, in seconds
+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.
+2010-01-28 loading side of the threaded VM
+2010-01-26 TODO cahnges
+2010-01-23 Fixed memory human style memory reporting, removed server.usedmemory, now zmalloc_used_memory() is used always.
+2010-01-22 VM tuning thanks to redis-stat vmstat. Now it performs much better under high load
+2010-01-21 Changelog updated
+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
+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...
+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.
+2010-01-19 commercial tools stuff removed from the Redis makefile. cotools are now migrated into a different repos
+2010-01-19 removed a bug in the function to cancel an I/O job
+2010-01-17 static symbols update
+2010-01-16 removed support for REDIS_HELGRIND_FRIENDLY since Helgrind 3.5.0 is friendly enough even with many threads created and destroyed
+2010-01-15 now redis-cli understands -h
+2010-01-15 Create swap file only if not exists
+2010-01-15 I hate warnings
+2010-01-15 fixed a minor memory leak in configuration file parsing
+2010-01-15 minor fix
+2010-01-15 support for named VM swap file. Fixed a few important interaction issues between the background saving processes and IO threads
+2010-01-15 fix for the just added new test
+2010-01-15 useless debugging messages removed
+2010-01-15 new test added
+2010-01-15 thread safe zmalloc used memory counter
+2010-01-15 A define to make Redis more helgrind friendly
+2010-01-15 removed a few races from threaded VM
+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.
+2010-01-14 Set the new threads stack size to a LZF friendly amount
+2010-01-13 access to already freed job structure fixed by statements reoredering
+2010-01-13 removed a useless debugging message
+2010-01-13 Wait zero active threads condition before to fork() for BGSAVE or BGREWRITEAOF
+2010-01-13 list API is now thread safe
+2010-01-13 minor TODO and debugging info changes
+2010-01-12 support for blocking VM in config file
+2010-01-12 more non blocking VM changes
+2010-01-12 fix for test #11
+2010-01-12 a few more stuff in INFO about VM. Test #11 changed a bit in order to be less lame
+2010-01-12 Added a define to configure how many completed IO jobs the handler should process at every call.
+2010-01-11 Fixed a bug in the IO Job canceling funtion
+2010-01-11 more steps towards a working non blocking VM
+2010-01-11 converted random printfs in debug logs
+2010-01-11 removed a bug introduced with non blocking VM
+2010-01-11 a few non blocking VM bugs fixed
+2010-01-11 More work on non-blocking VM. Should work in a few days
+2010-01-11 More threaded I/O VM work + Redis init script
+2010-01-10 more work on VM threaded I/O. Still nothing of usable
+2010-01-09 non-blocking VM data structures, just a start
+2010-01-08 used_memory_human added to INFO output. Human readable amount of memory used.
+2010-01-07 Now DEBUG OBJECT plays well with swapped out objects
+2010-01-07 fflush VM swap file after object swapping
+2010-01-07 added the fmacros to enable support for fseeko() lseeko() with 64bit off_t
+2010-01-07 VM now swaps objects out while loading datasets not fitting into vm-max-memory bytes of RAM
+2010-01-07 added process id information in INFO
+2010-01-06 vm-enabled set to no by default in redis.conf
+2010-01-06 a new default redis.conf
+2010-01-06 VM stats in INFO command
+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.
+2010-01-05 fixed a bug in bgsave when VM is off but still it was testing for obj->storage field
+2010-01-05 converted a few calls to assert() => redisAssert() to print stack trace
+2010-01-05 BGREWRITEAOF now works with swapping on
+2010-01-05 A first fix for SET key overwrite
+2010-01-05 SAVE now works with VM
+2010-01-05 swapping algorithm a bit more aggressive under low memory
+2010-01-05 basic VM mostly working!
+2010-01-05 New object field (one of the unused bytes) to hold the type of the swapped out value object in key objects
+2010-01-05 VM internals bugfixes, set 1
+2010-01-05 load key from swap on key lookup
+2010-01-05 more object-level VM primitives
+2010-01-05 Redis objects swapping / loading
+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
+2010-01-04 VM low level pages handling
+2010-01-04 vm swap file creation, and some basic configuration
+2010-01-04 version marked 1.3.2
+2010-01-04 saving code refactored a bit, added a function returning the number of bytes an object will use on disk
+2010-01-02 Now the PUSH side of RPOPLPUSH is able to unblock clients blocked on BLPOP
+2010-01-02 Version is now 1.3.1
+2010-01-02 New vararg BLPOP able to block against multiple keys
+2009-12-29 fixed a problem with BLPOP timeout of zero, now it blocks forever
+2009-12-29 BLPOP timeouts implemented
+2009-12-29 first working implementation of BLPOP and BRPOP, still everything is to test well
+2009-12-29 a few more fixes, still broken
+2009-12-29 First fix, still broken
+2009-12-29 minor fix for Linux 64 bit
+2009-12-29 not yet working BLPOP implementation
+2009-12-27 AOFSYNC removed, got a better idea...
+2009-12-27 AOFSYNC command implemented
+2009-12-27 Version changed to 1.3.0, welcome to the new unstable
+2009-12-27 Now MULTI returns +OK as well
+2009-12-27 MULTI/EXEC first implementation
+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
+2009-12-23 html doc readded
+2009-12-23 ZRANGE WITHSCORES test added
+2009-12-23 version is now 1.1.94
+2009-12-23 Add the command name in the unknown command error message.
+2009-12-22 ZRANGE, ZREVRANGE now support WITHSCORES options
+2009-12-22 html docs update (ZINCRBY added)
+2009-12-18 TODO list update
+2009-12-18 the pipelining test was ran against DB 1 for error, now it runs on DB 9 like all the other tests
+2009-12-18 still more tests
+2009-12-18 SORT STORE test added
+2009-12-18 Now SORT returns an empty bulk reply if the key does not exist
+2009-12-18 modified a bit the ZREVRANGE test to cover a few lines of code more
+2009-12-18 SHUTDOWN now does the right thing when append only is on, that is, fsync instead to save the snapshot.
+2009-12-18 Added a missing server.dirty increment in a non critical place, added more tests
+2009-12-18 LTRIM stress testing test added
+2009-12-18 LTRIM now returns +OK against non existing keys. More tests in test-redis.tcl
+2009-12-18 added sdstoupper() declaration in sds.h
+2009-12-18 Fixed sds.c bug #124
+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
+2009-12-16 lzf compression switched off by default now, with config file option to enable it in redis.conf
+2009-12-16 Regression for epoll bug in redis-test.tcl, version is now 1.1.93
+2009-12-16 Fixed a lame epoll issue
+2009-12-15 html doc updated
+2009-12-15 version is now 1.1.92
+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.
+2009-12-15 debug loadaof implemented in order to add more consistency tests in test-redis.tcl
+2009-12-15 Added a new test able to stress a lot the snapshotting engine
+2009-12-15 Unified handling of empty queries with normal queries.
+2009-12-15 Fixed some subtle bug in the command processing code almost impossible to spot in the real world, thanks to gcov
+2009-12-15 Regression test for SINTERSTORE added
+2009-12-15 Fixed issue #121
+2009-12-14 a few more tests and ability to run a specific test in test-redis.tcl
+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.
+2009-12-13 Set the master->slave logical client as authenticated on creation, so that if the slave requires a password replication works anyway
+2009-12-13 TODO update
+2009-12-12 bgrewriteaof_in_progress added to INFO
+2009-12-12 TODO list modified. What's planned for 1.4 is now written in the stone ;)
+2009-12-12 better handling of non blocking connect on redis-benchmark: EPIPE on read does not print an error message now
+2009-12-11 some change to redis-sha1.rb utility to make it more robust against non-meaningful changes in the dataset
+2009-12-10 redis-sha1.rb utility updated
+2009-12-10 a bit more verbose -ERR wrong number o arguments error, now gives info about the command name causing the error
+2009-12-10 TODO change and minor SETNX optimization
+2009-12-06 in rdbLoadDoubleValue now the buffer is nul terminated correctly. Thanks valgrind.
+2009-12-06 printf format warnings fixed by casting
+2009-12-06 Regression tests for SETNX and MSETNX bugs added
+2009-12-06 SETNX and MSETNX now respect the delete-on-write operation of EXPIREing keys
+2009-12-06 Fixed daemonization when using kqueue/kevent. Now the server initialization is performed *after* the daemonization
+2009-12-05 more HTML doc changes
+2009-12-05 HTML doc update
+2009-12-05 a few redis-cli format specified fixed
+2009-12-05 use __attribute__ format in sdscatprintf() when the compiler is GCC. Fixed format bugs resulting from the new warnings.
+2009-12-01 TODO update
+2009-12-01 compilation problem on 64bit mac os x 10.5 possibly fixed
+2009-12-01 virtual memory design doc typos
+2009-12-01 design documents added to the project
+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.
+2009-11-30 fixed a subtle bug in redis-cli not having visible effects
+2009-11-29 TODO updated
+2009-11-29 Version chagned to 1.100, also known as the first first 2.0 beta version
+2009-11-29 more tests in test-redis.tcl, some minor fix
+2009-11-29 SORT support for sorted sets
+2009-11-28 Implemented LIMIT option in ZRANGEBYSCORE. We now enter feature-freeze
+2009-11-28 Changelog updated
+2009-11-28 html doc updated
+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.
+2009-11-28 TODO updated
+2009-11-28 ZRANGEBYSCORE fuzzy test
+2009-11-28 ZRANGEBYSCORE memory leak fixed, ZRANGEBYSCORE initial test added
+2009-11-28 INFO refactored. Stack trace on memory corruption now dumps the same information as the INFO command
+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
+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
+2009-11-28 Merge branch 'kqueue' of git://github.com/mallipeddi/redis
+2009-11-28 Changes to TODO list, commented a function in redis.c
+2009-11-28 Added support for kqueue.
+2009-11-27 TODO updated
+2009-11-26 zero length bulk data reading fixed in loadAppendOnlyFile()
+2009-11-26 append only file fixes
+2009-11-26 log rebuilding, random refactoring, work in progress please wait for an OK commit before to use this version
+2009-11-24 DEBUG RELOAD implemented, and test-redis.tcl modified to use it to check for persistence consistency.
+2009-11-24 Redis version set to 1.07
+2009-11-24 sorted sets saving fixed
+2009-11-24 minor TODO change
+2009-11-24 minor fix to avoid a false valgrind warning.
+2009-11-23 epoll support enabled by default for Linux builds
+2009-11-23 epoll module for ae.c implemented. Some more testing needed
+2009-11-23 commented the HAVE_EPOLL test in config.h to allow compilation under Linux now that the epoll module is still missing
+2009-11-23 ae_select module added
+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).
+2009-11-23 ae.c initial refactoring for epoll implementation
+2009-11-21 version incremented up to 1.06
+2009-11-21 TODO aesthetic changes
+2009-11-21 TODO updated with plans up to 1.5
+2009-11-21 SRANDMEMBER test
+2009-11-21 Fixed a SORT memory leak that should never happen in practice
+2009-11-21 SORT GET # implemented, with a test
+2009-11-21 EXPIREAT test
+2009-11-20 EXPIRE tests
+2009-11-20 more RPOPLPUSH tests
+2009-11-20 RPOPLPUSH tests added
+2009-11-20 ZINCRBY return value fixed
+2009-11-20 ZINCRSCOREBY => ZINCRBY
+2009-11-19 ZINCRSCOREBY implemented
+2009-11-19 writev() finally uncommented again
+2009-11-19 redis-benchmark hopefully last bug with multi bulk reply fixed
+2009-11-19 debug mode in redis-bench
+2009-11-19 Use writev(2) if glue output buffers is disabled
+2009-11-19 benchmark.c fixes
+2009-11-18 more experiments with long replies, glue output buffer, and writev.
+2009-11-18 benchmarking with different number of LRANGE elements. Ability to change the glue output buffer limit by #define
+2009-11-18 more writev tests/work
+2009-11-18 redis-benchmark multi bulk reply support hopefully fixed
+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
+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
+2009-11-12 Solaris fix thanks to Alan Harder
+2009-11-12 Merge git://github.com/ianxm/redis
+2009-11-12 ZSCORE fixed, now returns NULL on missing key or missing element
+2009-11-12 Redis test will not fail the SAVE test even if a background save is in progress
+2009-11-12 LPOPPUSH renamed into RPOPLPUSH
+2009-11-11 can select db num
+2009-11-11 Workaround for test-redis.tcl and Tcl 8.4.x about ZSCORE test
+2009-11-11 Removed a long time warning compiling with recent GCC on Linux
+2009-11-11 TODO updated
+2009-11-11 LPUSHPOP first implementation
+2009-11-10 Tcl script, make target, and redis.c changes to build the static symbol table automagically
+2009-11-10 Implemented a much better lazy expiring algorithm for EXPIRE
+2009-11-10 Fixed issue 92 in redis: redis-cli (nil) return value lacks CR/LF
+2009-11-10 Minor TODO change with new expiring algorithm description. New expiring algorithm moved since it'll go in 1.1
+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.
+2009-11-04 fixed a refcounting bug with SORT ... STORE leading to random crashes
+2009-11-04 masterauth option merged, thanks to Anthony Lauzon
+2009-11-03 ZSets double to string serialization fixed
+2009-11-03 client-libraries directory readded
+2009-11-03 redis.tcl put at toplevel since it's uesd for the test-redis.tcl script
+2009-11-03 client libs removed from Redis git
+2009-11-03 redis-cli now accepts a -r (repeat) switch. Still there is a memory leaks to fix
+2009-11-01 TODO updated again
+2009-11-01 TODO updated
+2009-11-01 redis-cli now makes clear when the returned string is an integer
+2009-11-01 SORT STORE option
+2009-11-01 now Redis prints DB stats just after the startup without to wait a second for the first report
+2009-11-01 another fix for append only mode, now read-only operations are not appended
+2009-11-01 appendfsync parsing in config file fixed. If you benchmarked Redis against different appendfsync options is time to try again ;)
+2009-11-01 append only file loading fixed
+2009-11-01 first version of append only file loading -- STILL BROKEN don't use it
+2009-10-31 Fixed Issue 83:Using TYPE on a zset results in a malformed response from the Redis server
+2009-10-31 Fixed compilation on Linux
+2009-10-30 append only mode is now able to translate EXPIRE into EXPIREAT transparently
+2009-10-30 appendfsync is now set to NO by default
+2009-10-30 support for appendonly mode no, always, everysec
+2009-10-30 first fix for append only mode
+2009-10-30 Initial implementation of append-only mode. Loading still not implemented.
+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.
+2009-10-30 EXPIREAT implemented, will be useful for the append-only mode
+2009-10-29 Fixed Issue 74 (ERR just returned on invalid password), now the error message is -ERR invalid password.
+2009-10-29 Fixed issue 72 (SLAVEOF shutdowns redis-server on malformed reply)
+2009-10-29 Fixed issue 77 (Incorrect time in log files) thanks to youwantalex
+2009-10-29 Fixed  Issue 76 (redis-server crashes when it can't connect to MASTER and client connects to SLAVE)
+2009-10-29 ZREMRANGEBYSCORE implemented. Remove a range of elements with score between min and max
+2009-10-28 TODO changes and mostly theoretical minor skiplist change
+2009-10-28 ZLEN renamed ZCARD for consistency with SCARD
+2009-10-27 TODO reworked to reflect the real roadmap
+2009-10-27 Fix for 'make 32bit'
+2009-10-27 a fix for the solaris fix itself ;)
+2009-10-27 More Solaris fixes
+2009-10-27 A lot of ZSETs tests implemented, and a bug fixed thanks to this new tests
+2009-10-27 zmalloc Solaris fixes thanks to Alan Harder
+2009-10-27 ZSCORE implemented
+2009-10-26 fix for ZRANGEBYSCORE
+2009-10-26 ZRANGEBYSCORE implemented. Redis got range queries!
+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!
+2009-10-26 ZSET now saved on disk like any other type
+2009-10-26 double serialization routines implemented
+2009-10-26 ZSETs random fixes. Now the implementation appears to be pretty stable
+2009-10-26 another leak fixed. Can't find more for now, but still a bug in ZSETs to fix
+2009-10-26 ZSETs memory leak #1 solved, another one missing
+2009-10-26 Fix for skiplists backward link
+2009-10-26 Merged Solaris patches provided by Alan Harder
+2009-10-26 backward support to skiplists for ZREVRANGE, still broken, committing since I've to merge the Solaris patches
+2009-10-26 TODO updated
+2009-10-26 ZREM implemented
+2009-10-24 fix for ZADD in score update mode
+2009-10-24 some work on ZADD against existing element (score update), still broken...
+2009-10-23 zrange now starts to work. zadd still does not support update and will crash or leak or b000mmmmm
+2009-10-23 zrange initial hack (not working for now)
+2009-10-23 first skiplist fix, courtesy of valgrind
+2009-10-23 zset symbols added to stack trace code. ZSets will simply crash at the moment
+2009-10-23 more work on ZSETs and a new make target called 32bit to build i386 binaries on mac os x leopard
+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.
+2009-10-23 Fixed compilation in mac os x snow leopard when compiling a 32 bit binary.
+2009-10-22 version incremented to 1.050 to distinguish from 1.001 stable and next stable versions with minor fixes
+2009-10-21 TODO updated
+2009-10-21 SRANDMEMBER added
+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
+2009-10-17 added multi-bulk protocol support to redis-cli and support for MSET and MSETNX
+2009-10-17 MSET fixed, was not able to replace keys already set for a stupid bug
+2009-10-16 some dead code removed
+2009-10-16 multi bulk input protocol fixed
+2009-10-16 MSET and MSETNX commands implemented
+2009-10-07 undoed all the sds hacking that lead just to random bugs and no memory saving ;)
+2009-10-07 initial multi-bulk query protocol, this will allow MSET and other interesting features.
+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
+2009-10-02 Issue 69 fixed. Object integer encoding now works with replication and MONITORing again.
+2009-09-18 LREM fixed, used to crash since the new object integer encoding is on the stage
+2009-09-17 maxmemory didn't worked in 64 systems for values > 4GB since it used to be an unsigned int. Fixed
+2009-09-10 incremented version number to 1.001, AKA Redis edge is no longer stable...
+2009-09-10 in-memory specialized object encoding (for now 32 signed integers only)
+2009-09-03 Latest doc changes for 1.0
 2009-09-03 Redis 1.0.0 release
 2009-09-02 Redis version pushed to 1.0
 2009-09-02 Ruby client lib updated to the latest git version