1 2009-11-24 sorted sets saving fixed
2 2009-11-24 minor TODO change
3 2009-11-24 minor fix to avoid a false valgrind warning.
4 2009-11-23 epoll support enabled by default for Linux builds
5 2009-11-23 epoll module for ae.c implemented. Some more testing needed
6 2009-11-23 commented the HAVE_EPOLL test in config.h to allow compilation under Linux now that the epoll module is still missing
7 2009-11-23 ae_select module added
8 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).
9 2009-11-23 ae.c initial refactoring for epoll implementation
10 2009-11-21 version incremented up to 1.06
11 2009-11-21 TODO aesthetic changes
12 2009-11-21 TODO updated with plans up to 1.5
13 2009-11-21 SRANDMEMBER test
14 2009-11-21 Fixed a SORT memory leak that should never happen in practice
15 2009-11-21 SORT GET # implemented, with a test
16 2009-11-21 EXPIREAT test
17 2009-11-20 EXPIRE tests
18 2009-11-20 more RPOPLPUSH tests
19 2009-11-20 RPOPLPUSH tests added
20 2009-11-20 ZINCRBY return value fixed
21 2009-11-20 ZINCRSCOREBY => ZINCRBY
22 2009-11-19 ZINCRSCOREBY implemented
23 2009-11-19 writev() finally uncommented again
24 2009-11-19 redis-benchmark hopefully last bug with multi bulk reply fixed
25 2009-11-19 debug mode in redis-bench
26 2009-11-19 Use writev(2) if glue output buffers is disabled
27 2009-11-19 benchmark.c fixes
28 2009-11-18 more experiments with long replies, glue output buffer, and writev.
29 2009-11-18 benchmarking with different number of LRANGE elements. Ability to change the glue output buffer limit by #define
30 2009-11-18 more writev tests/work
31 2009-11-18 redis-benchmark multi bulk reply support hopefully fixed
32 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
33 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
34 2009-11-12 Solaris fix thanks to Alan Harder
35 2009-11-12 Merge git://github.com/ianxm/redis
36 2009-11-12 ZSCORE fixed, now returns NULL on missing key or missing element
37 2009-11-12 Redis test will not fail the SAVE test even if a background save is in progress
38 2009-11-12 LPOPPUSH renamed into RPOPLPUSH
39 2009-11-11 can select db num
40 2009-11-11 Workaround for test-redis.tcl and Tcl 8.4.x about ZSCORE test
41 2009-11-11 Removed a long time warning compiling with recent GCC on Linux
42 2009-11-11 TODO updated
43 2009-11-11 LPUSHPOP first implementation
44 2009-11-10 Tcl script, make target, and redis.c changes to build the static symbol table automagically
45 2009-11-10 Implemented a much better lazy expiring algorithm for EXPIRE
46 2009-11-10 Fixed issue 92 in redis: redis-cli (nil) return value lacks CR/LF
47 2009-11-10 Minor TODO change with new expiring algorithm description. New expiring algorithm moved since it'll go in 1.1
48 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.
49 2009-11-04 fixed a refcounting bug with SORT ... STORE leading to random crashes
50 2009-11-04 masterauth option merged, thanks to Anthony Lauzon
51 2009-11-03 ZSets double to string serialization fixed
52 2009-11-03 client-libraries directory readded
53 2009-11-03 redis.tcl put at toplevel since it's uesd for the test-redis.tcl script
54 2009-11-03 client libs removed from Redis git
55 2009-11-03 redis-cli now accepts a -r (repeat) switch. Still there is a memory leaks to fix
56 2009-11-01 TODO updated again
57 2009-11-01 TODO updated
58 2009-11-01 redis-cli now makes clear when the returned string is an integer
59 2009-11-01 SORT STORE option
60 2009-11-01 now Redis prints DB stats just after the startup without to wait a second for the first report
61 2009-11-01 another fix for append only mode, now read-only operations are not appended
62 2009-11-01 appendfsync parsing in config file fixed. If you benchmarked Redis against different appendfsync options is time to try again ;)
63 2009-11-01 append only file loading fixed
64 2009-11-01 first version of append only file loading -- STILL BROKEN don't use it
65 2009-10-31 Fixed Issue 83:Using TYPE on a zset results in a malformed response from the Redis server
66 2009-10-31 Fixed compilation on Linux
67 2009-10-30 append only mode is now able to translate EXPIRE into EXPIREAT transparently
68 2009-10-30 appendfsync is now set to NO by default
69 2009-10-30 support for appendonly mode no, always, everysec
70 2009-10-30 first fix for append only mode
71 2009-10-30 Initial implementation of append-only mode. Loading still not implemented.
72 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.
73 2009-10-30 EXPIREAT implemented, will be useful for the append-only mode
74 2009-10-29 Fixed Issue 74 (ERR just returned on invalid password), now the error message is -ERR invalid password.
75 2009-10-29 Fixed issue 72 (SLAVEOF shutdowns redis-server on malformed reply)
76 2009-10-29 Fixed issue 77 (Incorrect time in log files) thanks to youwantalex
77 2009-10-29 Fixed Issue 76 (redis-server crashes when it can't connect to MASTER and client connects to SLAVE)
78 2009-10-29 ZREMRANGEBYSCORE implemented. Remove a range of elements with score between min and max
79 2009-10-28 TODO changes and mostly theoretical minor skiplist change
80 2009-10-28 ZLEN renamed ZCARD for consistency with SCARD
81 2009-10-27 TODO reworked to reflect the real roadmap
82 2009-10-27 Fix for 'make 32bit'
83 2009-10-27 a fix for the solaris fix itself ;)
84 2009-10-27 More Solaris fixes
85 2009-10-27 A lot of ZSETs tests implemented, and a bug fixed thanks to this new tests
86 2009-10-27 zmalloc Solaris fixes thanks to Alan Harder
87 2009-10-27 ZSCORE implemented
88 2009-10-26 fix for ZRANGEBYSCORE
89 2009-10-26 ZRANGEBYSCORE implemented. Redis got range queries!
90 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!
91 2009-10-26 ZSET now saved on disk like any other type
92 2009-10-26 double serialization routines implemented
93 2009-10-26 ZSETs random fixes. Now the implementation appears to be pretty stable
94 2009-10-26 another leak fixed. Can't find more for now, but still a bug in ZSETs to fix
95 2009-10-26 ZSETs memory leak #1 solved, another one missing
96 2009-10-26 Fix for skiplists backward link
97 2009-10-26 Merged Solaris patches provided by Alan Harder
98 2009-10-26 backward support to skiplists for ZREVRANGE, still broken, committing since I've to merge the Solaris patches
99 2009-10-26 TODO updated
100 2009-10-26 ZREM implemented
101 2009-10-24 fix for ZADD in score update mode
102 2009-10-24 some work on ZADD against existing element (score update), still broken...
103 2009-10-23 zrange now starts to work. zadd still does not support update and will crash or leak or b000mmmmm
104 2009-10-23 zrange initial hack (not working for now)
105 2009-10-23 first skiplist fix, courtesy of valgrind
106 2009-10-23 zset symbols added to stack trace code. ZSets will simply crash at the moment
107 2009-10-23 more work on ZSETs and a new make target called 32bit to build i386 binaries on mac os x leopard
108 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.
109 2009-10-23 Fixed compilation in mac os x snow leopard when compiling a 32 bit binary.
110 2009-10-22 version incremented to 1.050 to distinguish from 1.001 stable and next stable versions with minor fixes
111 2009-10-21 TODO updated
112 2009-10-21 SRANDMEMBER added
113 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
114 2009-10-17 added multi-bulk protocol support to redis-cli and support for MSET and MSETNX
115 2009-10-17 MSET fixed, was not able to replace keys already set for a stupid bug
116 2009-10-16 some dead code removed
117 2009-10-16 multi bulk input protocol fixed
118 2009-10-16 MSET and MSETNX commands implemented
119 2009-10-07 undoed all the sds hacking that lead just to random bugs and no memory saving ;)
120 2009-10-07 initial multi-bulk query protocol, this will allow MSET and other interesting features.
121 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
122 2009-10-02 Issue 69 fixed. Object integer encoding now works with replication and MONITORing again.
123 2009-09-18 LREM fixed, used to crash since the new object integer encoding is on the stage
124 2009-09-17 maxmemory didn't worked in 64 systems for values > 4GB since it used to be an unsigned int. Fixed
125 2009-09-10 incremented version number to 1.001, AKA Redis edge is no longer stable...
126 2009-09-10 in-memory specialized object encoding (for now 32 signed integers only)
127 2009-09-03 Latest doc changes for 1.0
128 2009-09-03 Redis 1.0.0 release
129 2009-09-02 Redis version pushed to 1.0
130 2009-09-02 Ruby client lib updated to the latest git version
131 2009-09-02 update-scala-client script added
132 2009-09-02 Scala client added thanks to Alejanro Crosa
133 2009-09-02 QuickStart added
134 2009-09-01 Fixed crash with only space and newline as command (issue 61), thanks to a guy having as nick "fixxxerrr"
135 2009-08-11 TODO list modified
136 2009-07-24 more snow leopard related fixes (for 32bit systems)
137 2009-07-24 fixed compilation with Snow Leopard, thanks to Lon Baker for providing SSH access to Snow Leopard box
138 2009-07-22 Fixed NetBSD compile problems
139 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
140 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.
141 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.
142 2009-07-03 bugfix: EXPIRE now propagates to the Slave.
143 2009-06-16 Redis version modified to 0.900
144 2009-06-16 update-ruby-client script already points to ezmobius repo
145 2009-06-16 client libraries updated
146 2009-06-16 Redis release candidate 1
147 2009-06-16 Better handling of background saving process killed or crashed
148 2009-06-14 number of keys info in INFO command thanks to Diego Rosario Brogna
149 2009-06-14 SPOP documented
150 2009-06-14 Clojure library thanks to Ragnar Dahlén
151 2009-06-10 It is now possible to specify - as config file name to read it from stdin
152 2009-06-10 sync with jodosha redis-rb
153 2009-06-10 Redis-rb sync
154 2009-06-10 max inline request raised again to 1024*1024*256 bytes
155 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
156 2009-06-08 SPOP implemented. Hash table resizing for Sets and Expires too. Changed the resize policy to play better with RANDOMKEY and SPOP.
157 2009-06-07 some minor changes to the backtrace code
158 2009-06-07 enable backtrace capabilities only for Linux and MacOSX
159 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
160 2009-06-06 Merge git://github.com/dierbro/redis
161 2009-06-06 add more output
162 2009-06-06 store static function pointer for a useful stack trace
163 2009-06-06 TODO updated
164 2009-06-06 Makefile dependencies updated
165 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
166 2009-06-05 Kill the background saving process before performing SHUTDOWN to avoid races
167 2009-06-05 LREM now returns :0 for non existing keys
168 2009-06-05 - put some order in code - better output
169 2009-06-05 added config.h for #ifdef business isolation, added fstat64 for Mac OS X
170 2009-06-04 remove die() :-)
171 2009-06-04 add compile options to debug
172 2009-06-04 initial commit print stack trace
173 2009-06-04 initial commit print stack trace
174 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
175 2009-06-04 DEBUG OBJECT implemented
176 2009-06-04 backtrace support removed: unreliable stack trace :(
177 2009-06-04 initial backtrace dumping on sigsegv/sigbus + debug command
178 2009-06-03 Python lib updated
179 2009-06-03 shareobjectspoolsize implemented in reds.conf, in order to control the pool size when object sharing is on
180 2009-05-30 Erlang client updated
181 2009-05-30 Python client library updated
182 2009-05-29 Redis-rb minor bool convertion fix
183 2009-05-29 ruby library client is not Redis-rb merged with RubyRedis "engine" by Brian McKinney
184 2009-05-28 __P completely removed from pqsort.c/h
185 2009-05-28 another minor fix for Solaris boxes
186 2009-05-28 minor fix for Solaris boxes
187 2009-05-28 minor fix for Solaris boxes
188 2009-05-27 maxmemory implemented
189 2009-05-26 Redis git version modified to 0.101 in order to distinguish that from the latest tar.gz via INFO ;)
190 2009-05-26 Redis 0.100 released
191 2009-05-26 client libraries synched in git
192 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
193 2009-05-26 max bytes of a received command enlarged from 1k to 16k
194 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
195 2009-05-25 maxclients implemented, see redis.conf for details
196 2009-05-25 INFO command now reports replication info
197 2009-05-25 minor fix to RubyRedis about bulk commands sent without arguments
198 2009-05-24 Warns if using the default config
199 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
200 2009-05-23 RubyRedis: now sets are returned as arrays again, and not as Set objects
201 2009-05-23 SLAVEOF command documented
202 2009-05-23 SLAVEOF command implemented for replication remote control
203 2009-05-22 Fix: no connection timeout for the master!
204 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
205 2009-05-22 README tutorial now reflects the new proto
206 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
207 2009-05-22 TTL command doc added
208 2009-05-22 TTL command implemented
209 2009-05-22 S*STORE now return the cardinality of the resulting set
210 2009-05-22 rubyredis more compatible with Redis-rb
211 2009-05-21 minor indentation fix
212 2009-05-21 timeout support and Redis-rb compatibility aliases implemented in RubyRedis
213 2009-05-21 RubyRedis info postprocessor rewritten in a more functional way
214 2009-05-21 dead code removed from RubyRedis
215 2009-05-21 command postprocessing implemented into RubyRedis
216 2009-05-20 Automagically reconnection of RubyRedis
217 2009-05-20 RubyRedis: Array alike operators implemented
218 2009-05-20 random testing code removed
219 2009-05-20 RubyRedis DB selection forced at object creation
220 2009-05-20 Initial version of an alternative Ruby client added
221 2009-05-20 SDIFF / SDIFFSTORE added to doc
222 2009-05-20 Aman Gupta changes merged
223 2009-05-20 Merge git://github.com/tmm1/redis
224 2009-05-19 Allow timeout=0 config to disable client timeouts
225 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.
226 2009-05-19 psort.c/h added. This is a partial qsort implementation that Redis will use when SORT+LIMIT is requested
227 2009-05-17 Fix SINTER/UNIONSTORE to allow for &=/|= style operations (i.e. SINTERSTORE set1 set1 set2)
228 2009-05-17 Optimize SDIFF to return as soon as the result set is empty
229 2009-05-17 SDIFF/SDIFFSTORE implemnted unifying it with the implementation of SUNION/SUNIONSTORE
230 2009-05-11 timestamp in log lines
231 2009-05-11 Python client updated pushing from Ludo's repository
232 2009-05-11 disconnect when we cannot read from the socket
233 2009-05-11 benchmark utility now supports random keys
234 2009-05-10 minor doc changes
235 2009-05-09 added tests for vararg DEL
236 2009-05-09 DEL is now a vararg, IMPORTANT: memory leak fixed in loading DB code
237 2009-05-09 doc changes
238 2009-05-09 CPP client added thanks to Brian Hammond
239 2009-05-06 Infinite number of arguments for MGET and all the other commands
240 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
241 2009-04-30 zmalloc fix, return NULL or real malloc failure
242 2009-04-30 more fixes for dict.c and the 150 million keys limit
243 2009-04-30 dict.c modified to be able to handle more than 150,000,000 keys
244 2009-04-29 fuzz stresser implemented in redis-test
245 2009-04-29 fixed for HT resize check 32bits overflow
246 2009-04-29 Check for fork() failure in background saving
247 2009-04-29 fix for the LZF off-by-one bug added
248 2009-04-28 print bytes used at exit on SHUTDOWN
249 2009-04-28 SMOVE test added
250 2009-04-28 SMOVE command implemented
251 2009-04-28 less CPU usage in command parsing, case insensitive config directives
252 2009-04-28 GETSET command doc added
253 2009-04-28 GETSET tests
254 2009-04-28 GETSET implemented
255 2009-04-27 ability to specify a different file name for the DB
256 2009-04-27 log file parsing code improved a bit
257 2009-04-27 bgsave_in_progress field in INFO output
258 2009-04-27 INCRBY/DECRBY now support 64bit increments, with tests
259 2009-04-23 RANDOMKEY regression test added
260 2009-04-23 dictGetRandomKey bug fixed, RANDOMKEY will not block the server anymore
261 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
262 2009-04-21 forgot to comment testing code in PHP lib. Now it is ok
263 2009-04-21 PHP client ported to PHP5 and fixed
264 2009-04-21 doc update
265 2009-04-20 Non blocking replication (finally!). C-side linked lists API improved.
266 2009-04-19 SUNION, SUNIONSTORE, Initial work on non blocking replication
267 2009-04-10 Redis 0.091 released
268 2009-04-10 SINTER/SINTERSTORE/SLEMENTS fix: misisng keys are now not errors, but just like empty sets
269 2009-04-09 doc changes
270 2009-04-08 TODO changes, minor change to default redis.conf
271 2009-04-08 html doc updated
272 2009-04-08 library clients update scripts
273 2009-04-08 Ruby client updated
274 2009-04-08 Lua client updated
275 2009-04-08 Changelog updated
276 2009-04-08 Merge git://github.com/ludoo/redis
277 2009-04-08 add expire command to the php lib
278 2009-04-08 fix decode bug, add flush and info commands
279 2009-04-07 Rearrange redisObject struct to reduce memory usage in 64bit environments (as recommended http://groups.google.com/group/redis-db/msg/68f5a743f8f4e287)
280 2009-04-07 ruby19 compat: use each_line on string
281 2009-04-07 64bit fixes for usedmemory
282 2009-04-08 RANDOMKEY issue 26 fixed, generic test + regression added
283 2009-04-06 Don't accept SAVE if BGSAVE is in progress
284 2009-04-06 add expire command to the python lib
285 2009-04-03 persistent EXPIRE
286 2009-04-03 dirty increment was missing in two points. TODO updated
287 2009-04-02 LZF configured to initalize the HT in order to be determinsitic and play well with valgrind
288 2009-04-02 fix select test
289 2009-04-02 fix trailing cr+nl in values
290 2009-04-02 compression/decompression of large values on disk now working
291 2009-04-02 disable LZF compression since it's not able to load the DB for now, the load part is missing
292 2009-04-02 new LZF files added
293 2009-04-02 Fixed issue 23 about AUTH
294 2009-04-02 Issue 22 fixed
295 2009-04-01 non-lazy expired keys purging implemented
296 2009-04-01 fastlz dependence removed
297 2009-04-01 Initial implementation of EXPIRE
298 2009-03-30 TODO updated
299 2009-03-30 changelog added
300 2009-03-28 redis-sha1 utility added
301 2009-03-28 Integer encoding implemented in dump file. Doc updated
302 2009-03-27 feature macros defined to play well with C99
303 2009-03-27 feature macros defined to play well with C99
304 2009-03-27 now Redis is C99-ok
305 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
306 2009-03-27 ANSI-C compatibility changes
307 2009-03-27 Ruby client library updated. Important changes in this new version!
308 2009-03-26 Lua client added thanks to Daniele Alessandri
309 2009-03-26 Lua client added thanks to Daniele Alessandri
310 2009-03-26 AUTH merged from Brian Hammond fork, reworked a bit to fix minor problems
311 2009-03-25 Adds AUTH command.
312 2009-03-25 Nasty bug of the new DB format fixed, objects sharing implemented
313 2009-03-25 doc update
314 2009-03-25 Erlang client synched with Valentiono's repo
315 2009-03-25 New file dump format, perl client library added
316 2009-03-25 New protocol fix for LREM
317 2009-03-24 two typos fixed
318 2009-03-24 Now the Redis test uses the proper Tcl client library
319 2009-03-24 Tcl client library
320 2009-03-24 redis-benchmark sync with the new protocol
321 2009-03-24 git mess :)
322 2009-03-24 sync python client to the new protocol
323 2009-03-24 protocol fix in SORT reply with null elements
324 2009-03-24 protocol doc changed
325 2009-03-24 Server replies now in the new format, test-redis.tcl and redis-cli modified accordingly
326 2009-03-24 Python client library updated, thanks to Ludo!
327 2009-03-24 random tested mode for test-redis.tcl, minor other stuff, version switched to 0.8
328 2009-03-23 Now MONITOR/SYNC cannot be issued multiple times
329 2009-03-23 MONITOR command implemented.
330 2009-03-23 lucsky changes imported. pid file path can now be configured, redis-cli fixes
331 2009-03-23 Merge git://github.com/lucsky/redis
332 2009-03-23 another missing free->zfree replacement fixed. Thanks to Ludo
333 2009-03-23 Fixed redis-cli readLine loop to correctly handle EOF.
334 2009-03-23 Display the port on server startup.
335 2009-03-23 Allow to specify the pid file from the config file.
336 2009-03-23 Added gitignore file.
337 2009-03-22 MGET tests added
338 2009-03-22 doc changes
339 2009-03-22 added doc for MGET
340 2009-03-22 redis-cli now checks the arity of vararg commnads
341 2009-03-22 INFO fixed, MGET implemented, redis-cli implements INFO/MGET
342 2009-03-22 first commit