]> git.saurik.com Git - redis.git/blobdiff - Changelog
Fixed daemonization when using kqueue/kevent. Now the server initialization is perfor...
[redis.git] / Changelog
index d3d4f6c529de06386f38e1f20d9f78318f654501..aaf38f4275aaebcc0822c97492e81d316595dae6 100644 (file)
--- a/Changelog
+++ b/Changelog
@@ -1,3 +1,302 @@
+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
+2009-09-02 update-scala-client script added
+2009-09-02 Scala client added thanks to Alejanro Crosa
+2009-09-02 QuickStart added
+2009-09-01 Fixed crash with only space and newline as command (issue 61), thanks to a guy having as nick "fixxxerrr"
+2009-08-11 TODO list modified
+2009-07-24 more snow leopard related fixes (for 32bit systems)
+2009-07-24 fixed compilation with Snow Leopard, thanks to Lon Baker for providing SSH access to Snow Leopard box
+2009-07-22 Fixed NetBSD compile problems
+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
+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.
+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.
+2009-07-03 bugfix: EXPIRE now propagates to the Slave.
+2009-06-16 Redis version modified to 0.900
+2009-06-16 update-ruby-client script already points to ezmobius repo
+2009-06-16 client libraries updated
+2009-06-16 Redis release candidate 1
+2009-06-16 Better handling of background saving process killed or crashed
+2009-06-14 number of keys info in INFO command thanks to Diego Rosario Brogna
+2009-06-14 SPOP documented
+2009-06-14 Clojure library thanks to Ragnar DahlĂ©n
+2009-06-10 It is now possible to specify - as config file name to read it from stdin
+2009-06-10 sync with jodosha redis-rb
+2009-06-10 Redis-rb sync
+2009-06-10 max inline request raised again to 1024*1024*256 bytes
+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
+2009-06-08 SPOP implemented. Hash table resizing for Sets and Expires too. Changed the resize policy to play better with RANDOMKEY and SPOP.
+2009-06-07 some minor changes to the backtrace code
+2009-06-07 enable backtrace capabilities only for Linux and MacOSX
+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
+2009-06-06 Merge git://github.com/dierbro/redis
+2009-06-06 add more output
+2009-06-06 store static function pointer for a useful stack trace
+2009-06-06 TODO updated
+2009-06-06 Makefile dependencies updated
+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
+2009-06-05 Kill the background saving process before performing SHUTDOWN to avoid races
+2009-06-05 LREM now returns :0 for non existing keys
+2009-06-05 - put some order in code - better output
+2009-06-05 added config.h for #ifdef business isolation, added fstat64 for Mac OS X
+2009-06-04 remove die() :-)
+2009-06-04 add compile options to debug
+2009-06-04 initial commit print stack trace
+2009-06-04 initial commit print stack trace
+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
+2009-06-04 DEBUG OBJECT implemented
+2009-06-04 backtrace support removed: unreliable stack trace :(
+2009-06-04 initial backtrace dumping on sigsegv/sigbus + debug command
+2009-06-03 Python lib updated
+2009-06-03 shareobjectspoolsize implemented in reds.conf, in order to control the pool size when object sharing is on
+2009-05-30 Erlang client updated
+2009-05-30 Python client library updated
+2009-05-29 Redis-rb minor bool convertion fix
+2009-05-29 ruby library client is not Redis-rb merged with RubyRedis "engine" by Brian McKinney
+2009-05-28 __P completely removed from pqsort.c/h
+2009-05-28 another minor fix for Solaris boxes
+2009-05-28 minor fix for Solaris boxes
+2009-05-28 minor fix for Solaris boxes
+2009-05-27 maxmemory implemented
+2009-05-26 Redis git version modified to 0.101 in order to distinguish that from the latest tar.gz via INFO ;)
+2009-05-26 Redis 0.100 released
+2009-05-26 client libraries synched in git
+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
+2009-05-26 max bytes of a received command enlarged from 1k to 16k
+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
+2009-05-25 maxclients implemented, see redis.conf for details
+2009-05-25 INFO command now reports replication info
+2009-05-25 minor fix to RubyRedis about bulk commands sent without arguments
+2009-05-24 Warns if using the default config
+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
+2009-05-23 RubyRedis: now sets are returned as arrays again, and not as Set objects
+2009-05-23 SLAVEOF command documented
+2009-05-23 SLAVEOF command implemented for replication remote control
+2009-05-22 Fix: no connection timeout for the master!
+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
+2009-05-22 README tutorial now reflects the new proto
+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
+2009-05-22 TTL command doc added
+2009-05-22 TTL command implemented
+2009-05-22 S*STORE now return the cardinality of the resulting set
+2009-05-22 rubyredis more compatible with Redis-rb
+2009-05-21 minor indentation fix
+2009-05-21 timeout support and Redis-rb compatibility aliases implemented in RubyRedis
+2009-05-21 RubyRedis info postprocessor rewritten in a more functional way
+2009-05-21 dead code removed from RubyRedis
+2009-05-21 command postprocessing implemented into RubyRedis
+2009-05-20 Automagically reconnection of RubyRedis
+2009-05-20 RubyRedis: Array alike operators implemented
+2009-05-20 random testing code removed
+2009-05-20 RubyRedis DB selection forced at object creation
+2009-05-20 Initial version of an alternative Ruby client added
+2009-05-20 SDIFF / SDIFFSTORE added to doc
+2009-05-20 Aman Gupta changes merged
+2009-05-20 Merge git://github.com/tmm1/redis
+2009-05-19 Allow timeout=0 config to disable client timeouts
+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.
+2009-05-19 psort.c/h added. This is a partial qsort implementation that Redis will use when SORT+LIMIT is requested
+2009-05-17 Fix SINTER/UNIONSTORE to allow for &=/|= style operations (i.e. SINTERSTORE set1 set1 set2)
+2009-05-17 Optimize SDIFF to return as soon as the result set is empty
+2009-05-17 SDIFF/SDIFFSTORE implemnted unifying it with the implementation of SUNION/SUNIONSTORE
+2009-05-11 timestamp in log lines
+2009-05-11 Python client updated pushing from Ludo's repository
+2009-05-11 disconnect when we cannot read from the socket
+2009-05-11 benchmark utility now supports random keys
+2009-05-10 minor doc changes
+2009-05-09 added tests for vararg DEL
+2009-05-09 DEL is now a vararg, IMPORTANT: memory leak fixed in loading DB code
+2009-05-09 doc changes
+2009-05-09 CPP client added thanks to Brian Hammond
+2009-05-06 Infinite number of arguments for MGET and all the other commands
+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
+2009-04-30 zmalloc fix, return NULL or real malloc failure
+2009-04-30 more fixes for dict.c and the 150 million keys limit
+2009-04-30 dict.c modified to be able to handle more than 150,000,000 keys
+2009-04-29 fuzz stresser implemented in redis-test
+2009-04-29 fixed for HT resize check 32bits overflow
+2009-04-29 Check for fork() failure in background saving
+2009-04-29 fix for the LZF off-by-one bug added
+2009-04-28 print bytes used at exit on SHUTDOWN
+2009-04-28 SMOVE test added
+2009-04-28 SMOVE command implemented
+2009-04-28 less CPU usage in command parsing, case insensitive config directives
+2009-04-28 GETSET command doc added
+2009-04-28 GETSET tests
+2009-04-28 GETSET implemented
+2009-04-27 ability to specify a different file name for the DB
+2009-04-27 log file parsing code improved a bit
+2009-04-27 bgsave_in_progress field in INFO output
+2009-04-27 INCRBY/DECRBY now support 64bit increments, with tests
+2009-04-23 RANDOMKEY regression test added
+2009-04-23 dictGetRandomKey bug fixed, RANDOMKEY will not block the server anymore
+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
+2009-04-21 forgot to comment testing code in PHP lib. Now it is ok
+2009-04-21 PHP client ported to PHP5 and fixed
+2009-04-21 doc update
+2009-04-20 Non blocking replication (finally!). C-side linked lists API improved.
+2009-04-19 SUNION, SUNIONSTORE, Initial work on non blocking replication
 2009-04-10 Redis 0.091 released
 2009-04-10 SINTER/SINTERSTORE/SLEMENTS fix: misisng keys are now not errors, but just like empty sets
 2009-04-09 doc changes