]> git.saurik.com Git - redis.git/blame - Changelog
Enabled object encoding for multiple keys in MSET. Added a test for memory leaks...
[redis.git] / Changelog
CommitLineData
1c0abf3c 12009-11-24 sorted sets saving fixed
22009-11-24 minor TODO change
32009-11-24 minor fix to avoid a false valgrind warning.
42009-11-23 epoll support enabled by default for Linux builds
52009-11-23 epoll module for ae.c implemented. Some more testing needed
62009-11-23 commented the HAVE_EPOLL test in config.h to allow compilation under Linux now that the epoll module is still missing
72009-11-23 ae_select module added
82009-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).
92009-11-23 ae.c initial refactoring for epoll implementation
102009-11-21 version incremented up to 1.06
112009-11-21 TODO aesthetic changes
122009-11-21 TODO updated with plans up to 1.5
132009-11-21 SRANDMEMBER test
142009-11-21 Fixed a SORT memory leak that should never happen in practice
152009-11-21 SORT GET # implemented, with a test
162009-11-21 EXPIREAT test
172009-11-20 EXPIRE tests
182009-11-20 more RPOPLPUSH tests
192009-11-20 RPOPLPUSH tests added
202009-11-20 ZINCRBY return value fixed
212009-11-20 ZINCRSCOREBY => ZINCRBY
222009-11-19 ZINCRSCOREBY implemented
232009-11-19 writev() finally uncommented again
242009-11-19 redis-benchmark hopefully last bug with multi bulk reply fixed
252009-11-19 debug mode in redis-bench
262009-11-19 Use writev(2) if glue output buffers is disabled
272009-11-19 benchmark.c fixes
282009-11-18 more experiments with long replies, glue output buffer, and writev.
292009-11-18 benchmarking with different number of LRANGE elements. Ability to change the glue output buffer limit by #define
302009-11-18 more writev tests/work
312009-11-18 redis-benchmark multi bulk reply support hopefully fixed
322009-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
332009-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
342009-11-12 Solaris fix thanks to Alan Harder
ef3ac64a 352009-11-12 Merge git://github.com/ianxm/redis
362009-11-12 ZSCORE fixed, now returns NULL on missing key or missing element
372009-11-12 Redis test will not fail the SAVE test even if a background save is in progress
382009-11-12 LPOPPUSH renamed into RPOPLPUSH
392009-11-11 can select db num
402009-11-11 Workaround for test-redis.tcl and Tcl 8.4.x about ZSCORE test
412009-11-11 Removed a long time warning compiling with recent GCC on Linux
422009-11-11 TODO updated
432009-11-11 LPUSHPOP first implementation
442009-11-10 Tcl script, make target, and redis.c changes to build the static symbol table automagically
452009-11-10 Implemented a much better lazy expiring algorithm for EXPIRE
462009-11-10 Fixed issue 92 in redis: redis-cli (nil) return value lacks CR/LF
472009-11-10 Minor TODO change with new expiring algorithm description. New expiring algorithm moved since it'll go in 1.1
bf75f580 482009-11-04 redis-test is now a better Redis citizen, testing everything against DB 9 and 10 and only if this DBs are empty.
492009-11-04 fixed a refcounting bug with SORT ... STORE leading to random crashes
502009-11-04 masterauth option merged, thanks to Anthony Lauzon
512009-11-03 ZSets double to string serialization fixed
522009-11-03 client-libraries directory readded
532009-11-03 redis.tcl put at toplevel since it's uesd for the test-redis.tcl script
542009-11-03 client libs removed from Redis git
552009-11-03 redis-cli now accepts a -r (repeat) switch. Still there is a memory leaks to fix
562009-11-01 TODO updated again
572009-11-01 TODO updated
582009-11-01 redis-cli now makes clear when the returned string is an integer
592009-11-01 SORT STORE option
602009-11-01 now Redis prints DB stats just after the startup without to wait a second for the first report
612009-11-01 another fix for append only mode, now read-only operations are not appended
622009-11-01 appendfsync parsing in config file fixed. If you benchmarked Redis against different appendfsync options is time to try again ;)
632009-11-01 append only file loading fixed
642009-11-01 first version of append only file loading -- STILL BROKEN don't use it
652009-10-31 Fixed Issue 83:Using TYPE on a zset results in a malformed response from the Redis server
662009-10-31 Fixed compilation on Linux
672009-10-30 append only mode is now able to translate EXPIRE into EXPIREAT transparently
682009-10-30 appendfsync is now set to NO by default
692009-10-30 support for appendonly mode no, always, everysec
702009-10-30 first fix for append only mode
712009-10-30 Initial implementation of append-only mode. Loading still not implemented.
722009-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.
732009-10-30 EXPIREAT implemented, will be useful for the append-only mode
742009-10-29 Fixed Issue 74 (ERR just returned on invalid password), now the error message is -ERR invalid password.
752009-10-29 Fixed issue 72 (SLAVEOF shutdowns redis-server on malformed reply)
762009-10-29 Fixed issue 77 (Incorrect time in log files) thanks to youwantalex
772009-10-29 Fixed Issue 76 (redis-server crashes when it can't connect to MASTER and client connects to SLAVE)
782009-10-29 ZREMRANGEBYSCORE implemented. Remove a range of elements with score between min and max
792009-10-28 TODO changes and mostly theoretical minor skiplist change
802009-10-28 ZLEN renamed ZCARD for consistency with SCARD
3c41331e 812009-10-27 TODO reworked to reflect the real roadmap
822009-10-27 Fix for 'make 32bit'
832009-10-27 a fix for the solaris fix itself ;)
842009-10-27 More Solaris fixes
852009-10-27 A lot of ZSETs tests implemented, and a bug fixed thanks to this new tests
862009-10-27 zmalloc Solaris fixes thanks to Alan Harder
872009-10-27 ZSCORE implemented
882009-10-26 fix for ZRANGEBYSCORE
892009-10-26 ZRANGEBYSCORE implemented. Redis got range queries!
902009-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!
912009-10-26 ZSET now saved on disk like any other type
922009-10-26 double serialization routines implemented
932009-10-26 ZSETs random fixes. Now the implementation appears to be pretty stable
942009-10-26 another leak fixed. Can't find more for now, but still a bug in ZSETs to fix
952009-10-26 ZSETs memory leak #1 solved, another one missing
962009-10-26 Fix for skiplists backward link
972009-10-26 Merged Solaris patches provided by Alan Harder
982009-10-26 backward support to skiplists for ZREVRANGE, still broken, committing since I've to merge the Solaris patches
992009-10-26 TODO updated
1002009-10-26 ZREM implemented
1012009-10-24 fix for ZADD in score update mode
1022009-10-24 some work on ZADD against existing element (score update), still broken...
1032009-10-23 zrange now starts to work. zadd still does not support update and will crash or leak or b000mmmmm
1042009-10-23 zrange initial hack (not working for now)
1052009-10-23 first skiplist fix, courtesy of valgrind
1062009-10-23 zset symbols added to stack trace code. ZSets will simply crash at the moment
1072009-10-23 more work on ZSETs and a new make target called 32bit to build i386 binaries on mac os x leopard
1082009-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.
1092009-10-23 Fixed compilation in mac os x snow leopard when compiling a 32 bit binary.
1102009-10-22 version incremented to 1.050 to distinguish from 1.001 stable and next stable versions with minor fixes
1812e024 1112009-10-21 TODO updated
1122009-10-21 SRANDMEMBER added
1132009-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
1142009-10-17 added multi-bulk protocol support to redis-cli and support for MSET and MSETNX
1152009-10-17 MSET fixed, was not able to replace keys already set for a stupid bug
1162009-10-16 some dead code removed
1172009-10-16 multi bulk input protocol fixed
1182009-10-16 MSET and MSETNX commands implemented
1192009-10-07 undoed all the sds hacking that lead just to random bugs and no memory saving ;)
1202009-10-07 initial multi-bulk query protocol, this will allow MSET and other interesting features.
1212009-10-03 benchmark now outputs the right command line to shorten the TIME_WAIT interval on Mac OS X when keep alive is set
1222009-10-02 Issue 69 fixed. Object integer encoding now works with replication and MONITORing again.
0ea663ea 1232009-09-18 LREM fixed, used to crash since the new object integer encoding is on the stage
1242009-09-17 maxmemory didn't worked in 64 systems for values > 4GB since it used to be an unsigned int. Fixed
1252009-09-10 incremented version number to 1.001, AKA Redis edge is no longer stable...
1262009-09-10 in-memory specialized object encoding (for now 32 signed integers only)
1272009-09-03 Latest doc changes for 1.0
557a74e5 1282009-09-03 Redis 1.0.0 release
1292009-09-02 Redis version pushed to 1.0
1302009-09-02 Ruby client lib updated to the latest git version
1312009-09-02 update-scala-client script added
1322009-09-02 Scala client added thanks to Alejanro Crosa
7c44bbb1 1332009-09-02 QuickStart added
1342009-09-01 Fixed crash with only space and newline as command (issue 61), thanks to a guy having as nick "fixxxerrr"
1352009-08-11 TODO list modified
1362009-07-24 more snow leopard related fixes (for 32bit systems)
1372009-07-24 fixed compilation with Snow Leopard, thanks to Lon Baker for providing SSH access to Snow Leopard box
1382009-07-22 Fixed NetBSD compile problems
1392009-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
1402009-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.
1412009-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.
1422009-07-03 bugfix: EXPIRE now propagates to the Slave.
1432009-06-16 Redis version modified to 0.900
f0dec43b 1442009-06-16 update-ruby-client script already points to ezmobius repo
1452009-06-16 client libraries updated
1462009-06-16 Redis release candidate 1
df3fd8d8 1472009-06-16 Better handling of background saving process killed or crashed
1482009-06-14 number of keys info in INFO command thanks to Diego Rosario Brogna
1492009-06-14 SPOP documented
7492bbe9 1502009-06-14 Clojure library thanks to Ragnar Dahlén
1512009-06-10 It is now possible to specify - as config file name to read it from stdin
1522009-06-10 sync with jodosha redis-rb
1532009-06-10 Redis-rb sync
1542009-06-10 max inline request raised again to 1024*1024*256 bytes
1552009-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
1562009-06-08 SPOP implemented. Hash table resizing for Sets and Expires too. Changed the resize policy to play better with RANDOMKEY and SPOP.
1572009-06-07 some minor changes to the backtrace code
1582009-06-07 enable backtrace capabilities only for Linux and MacOSX
e65fdc78 1592009-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
1602009-06-06 Merge git://github.com/dierbro/redis
1612009-06-06 add more output
1622009-06-06 store static function pointer for a useful stack trace
1632009-06-06 TODO updated
a3cc9e36 1642009-06-06 Makefile dependencies updated
1652009-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
1662009-06-05 Kill the background saving process before performing SHUTDOWN to avoid races
1672009-06-05 LREM now returns :0 for non existing keys
e65fdc78 1682009-06-05 - put some order in code - better output
a3cc9e36 1692009-06-05 added config.h for #ifdef business isolation, added fstat64 for Mac OS X
e65fdc78 1702009-06-04 remove die() :-)
1712009-06-04 add compile options to debug
1722009-06-04 initial commit print stack trace
1732009-06-04 initial commit print stack trace
a3cc9e36 1742009-06-04 macosx specific zmalloc.c, uses malloc_size function in order to avoid to waste memory and time to put an additional header
1752009-06-04 DEBUG OBJECT implemented
333298da 1762009-06-04 backtrace support removed: unreliable stack trace :(
1772009-06-04 initial backtrace dumping on sigsegv/sigbus + debug command
1782009-06-03 Python lib updated
1792009-06-03 shareobjectspoolsize implemented in reds.conf, in order to control the pool size when object sharing is on
1802009-05-30 Erlang client updated
1812009-05-30 Python client library updated
1822009-05-29 Redis-rb minor bool convertion fix
1832009-05-29 ruby library client is not Redis-rb merged with RubyRedis "engine" by Brian McKinney
1842009-05-28 __P completely removed from pqsort.c/h
1852009-05-28 another minor fix for Solaris boxes
1862009-05-28 minor fix for Solaris boxes
1872009-05-28 minor fix for Solaris boxes
1882009-05-27 maxmemory implemented
1892009-05-26 Redis git version modified to 0.101 in order to distinguish that from the latest tar.gz via INFO ;)
16edf32d 1902009-05-26 Redis 0.100 released
1912009-05-26 client libraries synched in git
d7fc9edb 1922009-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
1932009-05-26 max bytes of a received command enlarged from 1k to 16k
1942009-05-26 RubyRedis: set TCP_NODELAY TCP socket option to to disable the neagle algorithm. Makes a huge difference under some OS, notably Linux
a56785f7 1952009-05-25 maxclients implemented, see redis.conf for details
1962009-05-25 INFO command now reports replication info
1972009-05-25 minor fix to RubyRedis about bulk commands sent without arguments
0b420168 1982009-05-24 Warns if using the default config
1992009-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
2002009-05-23 RubyRedis: now sets are returned as arrays again, and not as Set objects
2012009-05-23 SLAVEOF command documented
2022009-05-23 SLAVEOF command implemented for replication remote control
321b0e13 2032009-05-22 Fix: no connection timeout for the master!
2042009-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
2052009-05-22 README tutorial now reflects the new proto
2062009-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
2072009-05-22 TTL command doc added
2082009-05-22 TTL command implemented
fd88489a 2092009-05-22 S*STORE now return the cardinality of the resulting set
2102009-05-22 rubyredis more compatible with Redis-rb
2112009-05-21 minor indentation fix
2122009-05-21 timeout support and Redis-rb compatibility aliases implemented in RubyRedis
2132009-05-21 RubyRedis info postprocessor rewritten in a more functional way
2142009-05-21 dead code removed from RubyRedis
2152009-05-21 command postprocessing implemented into RubyRedis
2162009-05-20 Automagically reconnection of RubyRedis
2172009-05-20 RubyRedis: Array alike operators implemented
2182009-05-20 random testing code removed
2192009-05-20 RubyRedis DB selection forced at object creation
2202009-05-20 Initial version of an alternative Ruby client added
2212009-05-20 SDIFF / SDIFFSTORE added to doc
1350d27e 2222009-05-20 Aman Gupta changes merged
2232009-05-20 Merge git://github.com/tmm1/redis
2242009-05-19 Allow timeout=0 config to disable client timeouts
2252009-05-19 Partial qsort implemented in SORT command, only when both BY and LIMIT is used. minor fix for a warning compiling under Linux.
2262009-05-19 psort.c/h added. This is a partial qsort implementation that Redis will use when SORT+LIMIT is requested
2272009-05-17 Fix SINTER/UNIONSTORE to allow for &=/|= style operations (i.e. SINTERSTORE set1 set1 set2)
2282009-05-17 Optimize SDIFF to return as soon as the result set is empty
2292009-05-17 SDIFF/SDIFFSTORE implemnted unifying it with the implementation of SUNION/SUNIONSTORE
2302009-05-11 timestamp in log lines
2312009-05-11 Python client updated pushing from Ludo's repository
74077975 2322009-05-11 disconnect when we cannot read from the socket
2332009-05-11 benchmark utility now supports random keys
2342009-05-10 minor doc changes
2352009-05-09 added tests for vararg DEL
2362009-05-09 DEL is now a vararg, IMPORTANT: memory leak fixed in loading DB code
5109cdff 2372009-05-09 doc changes
2382009-05-09 CPP client added thanks to Brian Hammond
2392009-05-06 Infinite number of arguments for MGET and all the other commands
2402009-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
2412009-04-30 zmalloc fix, return NULL or real malloc failure
2422009-04-30 more fixes for dict.c and the 150 million keys limit
2432009-04-30 dict.c modified to be able to handle more than 150,000,000 keys
2442009-04-29 fuzz stresser implemented in redis-test
75398fbc 2452009-04-29 fixed for HT resize check 32bits overflow
2462009-04-29 Check for fork() failure in background saving
2472009-04-29 fix for the LZF off-by-one bug added
2482009-04-28 print bytes used at exit on SHUTDOWN
2492009-04-28 SMOVE test added
2502009-04-28 SMOVE command implemented
a4460ef4 2512009-04-28 less CPU usage in command parsing, case insensitive config directives
2522009-04-28 GETSET command doc added
02fdd5ab 2532009-04-28 GETSET tests
2542009-04-28 GETSET implemented
2552009-04-27 ability to specify a different file name for the DB
b8b553c8 2562009-04-27 log file parsing code improved a bit
2572009-04-27 bgsave_in_progress field in INFO output
2582009-04-27 INCRBY/DECRBY now support 64bit increments, with tests
d68ed120 2592009-04-23 RANDOMKEY regression test added
2602009-04-23 dictGetRandomKey bug fixed, RANDOMKEY will not block the server anymore
6f864e62 2612009-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
2622009-04-21 forgot to comment testing code in PHP lib. Now it is ok
2632009-04-21 PHP client ported to PHP5 and fixed
2642009-04-21 doc update
2652009-04-20 Non blocking replication (finally!). C-side linked lists API improved.
2662009-04-19 SUNION, SUNIONSTORE, Initial work on non blocking replication
40d224a9 2672009-04-10 Redis 0.091 released
6bea3d5f 2682009-04-10 SINTER/SINTERSTORE/SLEMENTS fix: misisng keys are now not errors, but just like empty sets
2692009-04-09 doc changes
2702009-04-08 TODO changes, minor change to default redis.conf
2712009-04-08 html doc updated
2722009-04-08 library clients update scripts
2732009-04-08 Ruby client updated
2742009-04-08 Lua client updated
2752009-04-08 Changelog updated
8b382972 2762009-04-08 Merge git://github.com/ludoo/redis
2772009-04-08 add expire command to the php lib
2782009-04-08 fix decode bug, add flush and info commands
2792009-04-07 Rearrange redisObject struct to reduce memory usage in 64bit environments (as recommended http://groups.google.com/group/redis-db/msg/68f5a743f8f4e287)
2802009-04-07 ruby19 compat: use each_line on string
2812009-04-07 64bit fixes for usedmemory
2822009-04-08 RANDOMKEY issue 26 fixed, generic test + regression added
2832009-04-06 Don't accept SAVE if BGSAVE is in progress
2842009-04-06 add expire command to the python lib
2852009-04-03 persistent EXPIRE
2862009-04-03 dirty increment was missing in two points. TODO updated
2872009-04-02 LZF configured to initalize the HT in order to be determinsitic and play well with valgrind
2882009-04-02 fix select test
2892009-04-02 fix trailing cr+nl in values
2902009-04-02 compression/decompression of large values on disk now working
2912009-04-02 disable LZF compression since it's not able to load the DB for now, the load part is missing
2922009-04-02 new LZF files added
2932009-04-02 Fixed issue 23 about AUTH
2942009-04-02 Issue 22 fixed
2952009-04-01 non-lazy expired keys purging implemented
2962009-04-01 fastlz dependence removed
2972009-04-01 Initial implementation of EXPIRE
2982009-03-30 TODO updated
2992009-03-30 changelog added
378fd421 3002009-03-28 redis-sha1 utility added
3012009-03-28 Integer encoding implemented in dump file. Doc updated
3022009-03-27 feature macros defined to play well with C99
3032009-03-27 feature macros defined to play well with C99
3042009-03-27 now Redis is C99-ok
3052009-03-27 IMPORTANT FIX: new dump format implementation was broken. Now it's ok but tests for the 32-bit case values are needed
3062009-03-27 ANSI-C compatibility changes
3072009-03-27 Ruby client library updated. Important changes in this new version!
3082009-03-26 Lua client added thanks to Daniele Alessandri
3092009-03-26 Lua client added thanks to Daniele Alessandri
3102009-03-26 AUTH merged from Brian Hammond fork, reworked a bit to fix minor problems
3112009-03-25 Adds AUTH command.
3122009-03-25 Nasty bug of the new DB format fixed, objects sharing implemented
3132009-03-25 doc update
3142009-03-25 Erlang client synched with Valentiono's repo
3152009-03-25 New file dump format, perl client library added
3162009-03-25 New protocol fix for LREM
3172009-03-24 two typos fixed
3182009-03-24 Now the Redis test uses the proper Tcl client library
3192009-03-24 Tcl client library
3202009-03-24 redis-benchmark sync with the new protocol
3212009-03-24 git mess :)
3222009-03-24 sync python client to the new protocol
3232009-03-24 protocol fix in SORT reply with null elements
3242009-03-24 protocol doc changed
3252009-03-24 Server replies now in the new format, test-redis.tcl and redis-cli modified accordingly
3262009-03-24 Python client library updated, thanks to Ludo!
3272009-03-24 random tested mode for test-redis.tcl, minor other stuff, version switched to 0.8
3282009-03-23 Now MONITOR/SYNC cannot be issued multiple times
3292009-03-23 MONITOR command implemented.
3302009-03-23 lucsky changes imported. pid file path can now be configured, redis-cli fixes
3312009-03-23 Merge git://github.com/lucsky/redis
3322009-03-23 another missing free->zfree replacement fixed. Thanks to Ludo
3332009-03-23 Fixed redis-cli readLine loop to correctly handle EOF.
3342009-03-23 Display the port on server startup.
3352009-03-23 Allow to specify the pid file from the config file.
3362009-03-23 Added gitignore file.
3372009-03-22 MGET tests added
3382009-03-22 doc changes
3392009-03-22 added doc for MGET
3402009-03-22 redis-cli now checks the arity of vararg commnads
3412009-03-22 INFO fixed, MGET implemented, redis-cli implements INFO/MGET
8b382972 3422009-03-22 first commit