12008-02-10 2 3 * Make -k option work (Tomash Brechko) 4 52007-12-06 [Version 1.2.4 released] 6 72007-12-05 8 9 * Fix compilation on panther (JS and Dormando) 10 11 * More CAS tests (Chris Goffinet) 12 13 * Final fixes for all 1.2.4 features are in, -rc2 sent out. 14 152007-11-19 [Version 1.2.4-rc1 released] 16 172007-11-19 Dormando <[email protected]> 18 19 * Patch series from Tomash Brechko <[email protected]>: 20 Minor fixes and optimisations. 21 22 * Patches from Chris, Dustin, and Dormando to fix CAS. 23 24 * Prepping for 1.2.4 release. 25 262007-11-13 Dormando <[email protected]> 27 28 * Adjusted patch from js <[email protected]>: Compile on OS X Panther 29 and earlier. 30 312007-11-12 Steven Grimm <[email protected]> 32 33 * Patch from Tomash Brechko <[email protected]>: Always send 34 "SERVER_ERROR out of memory" when memory exhausted. 35 362007-10-15 Paul Lindner <[email protected]> 37 38 * Patch from David Bremner <[email protected]> that implements 39 a new option "-a" which takes an octal permission mask 40 (like chmod) sets the permissions on the unix domain socket 41 (specified by "-s"). 42 432007-10-03 Paul Lindner <[email protected]> 44 * Incorporate "cas" operation developed by Dustin 45 Sallings <[email protected]> This change allows you 46 to do atomic changes to an existing key. 47 48 * Fix for stats.evictions not incrementing 49 when exptime == 0 items are kicked off the cache. 50 from Jean-Francois BUSTARRET <[email protected]>. 51 52 * Fix for do_item_cachedump() which was returning 53 an incorrect timestamp. 54 55 * Switch to unsigned 64-bit increment/decrement counters 56 from Evan Miller and Dustin Sallings. 57 58 * Add append command support written by Filipe Laborde. 59 Thread safe version plus prepend command from Maxim Dounin 60 <[email protected]> 61 62 * The memcached-tool script can now display stats. Patch 63 provided by Dan Christian <[email protected]> 64 65 * Fix for Unix Domain sockets on FreeBSD 66 FreeBSD's sendmsg() requires msg_name in msghdr structure 67 to be NULL if not used, setting msg_namelen to 0 isn't enough. 68 Patch from Maxim Dounin <[email protected]> 69 702007-08-21 Paul Lindner <[email protected]> 71 * Incorporate incrememnt patch from Evan Miller 72 <[email protected]> to define increment overflow 73 behavior. 74 752007-08-07 Leon Brocard <[email protected]> 76 * Bring the memcached.1 manpage up to date 77 782007-08-06 Paul Lindner <[email protected]> 79 * Fix crash when using -P and -d flags on x86_64 80 with latest libevent release. 81 822007-07-08 Steven Grimm <[email protected]> 83 84 * Item stats commands weren't thread-safe; wrap them with locks 85 when compiled in multithreaded mode. 86 * The "stats items" command now works again; it broke with the 87 introduction of the powers-of-N chunk size change. 88 892007-07-06 [Version 1.2.3 released] 90 912007-06-19 Paul Lindner <[email protected]> 92 93 * Solaris portability fixes from Trond Norbye 94 952007-05-29 Paul Lindner <[email protected]> 96 97 * Properly document evictions statistic value 98 992007-05-10 Paul Lindner <[email protected]> 100 101 * Flesh out tests for unix domain sockets and binary data. 102 * Update rpm spec file to run tests 103 1042007-05-07 Paul Lindner <[email protected]> 105 106 * Fix compilation bug on freebsd 6.x (and maybe others) 107 * Update RPM spec file per redhat bugzilla #238994 108 * Move unistd.h to memcached.h to get rid of warnings 109 * Add string.h to thread.c to get correctly prototyped strerror() 110 1112007-05-04 Paul Lindner <[email protected]> 112 113 * Add fedora/redhat style init script and RPM spec file 114 1152007-05-12 [Version 1.2.2 released] 116 1172007-04-16 Steven Grimm <[email protected]> 118 119 * Command tokenizer performance and cleanliness improvement. 120 Patch contributed by Paolo Borelli <[email protected]>. 121 1222007-04-16 Paul Lindner <[email protected]> 123 124 * Add notes to README about MacOS, libevent and kqueue. 125 126 * Windows Patch integration -- part 1, warnings elimination. 127 1282007-04-12 Paul Lindner <[email protected]> 129 130 * Allow changes to the verbosity level of the server with a new 131 "verbosity" command and some compiler cleanups. 132 Patch contributed by Paolo Borelli <[email protected]>. 133 1342007-04-08 Paul Lindner <[email protected]> 135 136 * Add cleanup patch from "Tim Yardley" <[email protected]> to 137 clean up source spacing issues, fix -Wall warnings, add some 138 null checks, adds asserts at the top of each function for any 139 use of conn *c without checking to see if c is NULL first. 140 141 * Also adjust clean-whitespace.pl to clean *.ac files. Add 142 script to test-suite to test for tabs. 143 1442007-04-04 Paul Lindner <[email protected]> 145 146 * Add clarification of flush_all in the protocol docs 147 from Elizabeth Mattijsen <[email protected]> 148 1492007-03-31 Paul Lindner <[email protected]> 150 151 * Add patch from Eli Bingham <[email protected]> to 152 re-enable the -n switch to memcached. 153 1542007-03-20 Paul Lindner <[email protected]> 155 * Add patch to collect eviction statistics from 156 Jean-Francois BUSTARRET <[email protected]>. 157 158 * Updated docs, added new test cases for t/stats.t 159 1602007-03-18 Paul Lindner <[email protected]> 161 162 * Add more test cases using larger buffer sizes up to and greater 163 than 1MB. 164 165 * Remove unused parameter to item_size_ok() 166 167 * Use a single printf() in usage() 168 169 * Add a failing test for conforming with maximum connections. 170 1712007-03-17 172 * crash fix from Thomas van Gulick <[email protected]> in 173 conn_shrink(), passing &ptr, instead of ptr to realloc(). 174 1752007-03-05 Paul Lindner <[email protected]> 176 * Fix a number of places where (s)printf calls were using unsigned 177 or signed formats that did not match their arguments. 178 179 * Add support for stdbool.h and stdint.h to use the bool and 180 uint8_t types. 181 182 * Major refactoring - move API calls for assoc/items/slabs to 183 their own individual header files. Add apropriate const and 184 static declarations as appropriate. 185 186 * Avoid type-punning. Do a more efficient realloc inside the 187 conn_shrink routine. 188 189 * Fix overflow bug where uninitialized access to slabclass caused 190 size-0 mallocs during slab preallocation. 191 192 * Use EXIT_SUCCESS/EXIT_FAILURE constants. 193 194 * Convert some sprintf calls to snprintf to protect against 195 buffer overflows. 196 197 * Explicitly compare against NULL or zero in many places. 198 1992007-03-05 200 * Steven Grimm <[email protected]>: Per-object-type stats collection 201 support. Specify the object type delimiter with the -D command line 202 option. Turn stats gathering on and off with "stats detail on" and 203 "stats detail off". Dump the per-object-type details with 204 "stats detail dump". 205 2062007-03-01 207 * Steven Grimm <[email protected]>: Fix an off-by-one error in the 208 multithreaded version's message passing code. 209 2102006-12-23 211 * fix expirations of items set with absolute expiration times in 212 the past, before the server's start time. bug was introduced in 213 1.2.0 with rel_time_t. Thanks to Adam Dixon 214 <[email protected]> for the bug report and test case! 215 2162006-11-26 217 * Steven Grimm <[email protected]>: Performance improvements: 218 219 Dynamic sizing of hashtable to reduce collisions on very large 220 caches and conserve memory on small caches. 221 222 Only reposition items in the LRU queue once a minute, to reduce 223 overhead of accessing extremely frequently-used items. 224 225 Stop listening for new connections until an existing one closes 226 if we run out of available file descriptors. 227 228 Command parser refactoring: Add a single-pass tokenizer to cut 229 down on string scanning. Split the command processing into 230 separate functions for easier profiling and better readability. 231 Pass key lengths along with the keys in all API functions that 232 need keys, to avoid needing to call strlen() repeatedly. 233 2342006-11-25 235 * Steve Peters <[email protected]>: OpenBSD has a malloc.h, 236 but warns to use stdlib.h instead 237 2382006-11-22 239 * Steven Grimm <[email protected]>: Add support for multithreaded 240 execution. Run configure with "--enable-threads" to enable. See 241 doc/threads.txt for details. 242 2432006-11-13 244 * Iain Wade <[email protected]>: Fix for UDP responses on non-"get" 245 commands. 246 2472006-10-15 248 * Steven Grimm <[email protected]>: Dynamic sizing of hashtable to 249 reduce collisions on very large caches and conserve memory on 250 small caches. 251 2522006-10-13 253 * Steven Grimm <[email protected]>: New faster hash function. 254 2552006-09-20 256 257 * don't listen on UDP by default; more clear message when UDP port in use 258 2592006-09-09 260 * release 1.2.0 (along with 1.1.13, which is the more tested branch) 261 262 nobody has run 1.2.0 in production, to my knowledge. facebook has run 263 their pre-merge-with-trunk version, but bugs were discovered (and fixed) 264 after the merge. there might be more. you've been warned. :) 265 2662006-09-04 267 * improved autoconf libevent detection, from the Tor project. 268 2692006-09-03 270 * test suite and lot of expiration, delete, flush_all, etc corner 271 case bugs fixed (Brad Fitzpatrick) 272 2732006-09-02 274 * Nathan Neulinger <[email protected]>: fix breakage in expiration code 275 causing expiration times to not be processed correctly. 276 2772006-08-21 278 * Nathan Neulinger <[email protected]>: fix incompatabilities with 279 unix domain socket support and the UDP code and clean up stale 280 sockets 281 2822006-08-20 283 * Nathan Neulinger <[email protected]>: unix domain socket support 284 2852006-05-03 286 * Steven Grimm <[email protected]>: big bunch of changes: 287 big CPU reduction work, UDP-based interface, increased memory 288 efficiency. (intertwined patch, committed all together) 289 <http://lists.danga.com/pipermail/memcached/2006-May/002164.html> 290 or see svn commit logs 291 2922006-04-30 293 * River Tarnell: autoconf work for Solaris 10. Brad: 294 merge and verify it works on Nexenta. 295 2962006-03-04 297 * avva: bucket/generation patch (old, but Brad's just finally 298 committing it) 299 3002006-01-01 301 * Brad Fitzpatrick <[email protected]>: allocate 1 slab per class 302 on start-up, to avoid confusing users with out-of-memory errors 303 later. this is 18 MB of allocation on start, unless max memory 304 allowed with -m is lower, in which case only the smaller slab 305 classes are allocated. 306 3072005-08-09 308 * Elizabeth Mattijsen <[email protected]>: needed a way to flush all 309 memcached backend servers, but not at exactly the same time (to 310 reduce load peaks), I've added some simple functionality to the 311 memcached protocol in the "flush_all" command that allows you to 312 specify a time at which the flush will actually occur (instead of 313 always at the moment the "flush_all" command is received). 314 3152005-05-25 316 * patch from Peter van Dijk <[email protected]> to make 317 stderr unbuffered, for running under daemontools 318 3192005-04-04 320 * patch from Don MacAskill <[email protected]> 'flush_all' doesn't 321 seem to work properly. Basically, if you try to add a key which 322 is present, but expired, the store fails but the old key is no 323 longer expired. 324 325 * release 1.1.12 326 3272005-01-14 328 * Date: Thu, 18 Nov 2004 15:25:59 -0600 329 From: David Phillips <[email protected]> 330 Here is a patch to configure.ac and Makefile.am to put the man page in 331 the correct location. Trying to install the man page from a 332 subdirectory results in the subdirectory being used in the install 333 path (it tries to install to doc/memcached.1). This is the correct 334 thing to do: 335 336 - create a Makefile.am in the doc directory that installs the man page 337 with man_MANS 338 - modify Makefile.am in the base directory to reference the doc 339 directory using SUBDIRS 340 - modify the AC_CONFIG_FILES macro in configure.ac to output the 341 Makefile in doc 342 343 3442005-01-14 345 * pidfile saving support from Lisa Seelye <[email protected]>, sent 346 Jan 13, 2005 347 3482005-01-14 349 * don't delete libevent events that haven't been added (the deltimer) 350 patch from Ted Schundler <[email protected]> 351 3522004-12-10 353 * document -M and -r in manpage (Doug Porter <[email protected]>) 354 3552004-07-22 356 * fix buffer overflow in items.c with 250 byte keys along with 357 other info on the same line going into a 256 byte char[]. 358 thanks to Andrei Nigmatulin <[email protected]> 359 3602004-06-15 361 * immediate deletes weren't being unlinked a few seconds, 362 preventing "add" commands to the same key in that time period. 363 thanks to Michael Alan Dorman <[email protected]> for the 364 bug report and demo script. 365 3662004-04-30 367 * released 1.1.11 368 3692004-04-24 370 * Avva: Add a new command line option: -r , to maximize core file 371 limit. 372 3732004-03-31 374 * Avva: Use getrlimit and setrlimit to set limits for number of 375 simultaneously open file descriptors. Get the current limits and 376 try to raise them if they're not enough for the specified (or the 377 default) setting of max connections. 378 3792004-02-24 380 * Adds a '-M' flag to turn off tossing items from the cache. 381 (Jason Titus <[email protected]>) 382 3832004-02-19 (Evan) 384 * Install manpage on "make install", etc. 385 3862003-12-30 (Brad) 387 * remove static build stuff. interferes with PAM setuid stuff 388 and was only included as a possible fix with the old memory 389 allocator. really shouldn't make a difference. 390 * add Jay Bonci's Debian scripts and manpage 391 * release version 1.1.10 392 3932003-12-01 (Avva) 394 * New command: flush_all, causes all existing items to 395 be invalidated immediately (without deleting them from 396 memory, merely causing memcached to no longer return them). 3972003-10-23 398 * Shift init code around to fix daemon mode on FreeBSD, 399 * and drop root only after creating the server socket (to 400 * allow the use of privileged ports) 401 * version 1.1.10pre 402 4032003-10-09 404 * BSD compile fixes from Ryan T. Dean 405 * version 1.1.9 406 4072003-09-29 408 * ignore SIGPIPE at start instead of crashing in rare cases it 409 comes up. no other code had to be modified, since everything 410 else is already dead-connection-aware. (avva) 411 4122003-09-09 (Avva, Lisa Marie Seelye <[email protected]>) 413 * setuid support 414 4152003-09-05 (Avva) 416 * accept all new connections in the same event (so we work with ET epoll) 417 * mark all items as clsid=0 after slab page reassignment to please future 418 asserts (on the road to making slab page reassignment work fully) 419 4202003-08-12 (Brad Fitzpatrick) 421 * use TCP_CORK on Linux or TCP_PUSH on BSD 422 * only use TCP_NODELAY when we don't have alternatives 423 4242003-08-10 425 * disable Nagel's Algorithm (TCP_NODELAY) for better performance (avva) 426 4272003-08-10 428 * support multiple levels of verbosity (-vv) 429 4302003-08-10 (Evan Martin) 431 * Makefile.am: debug, optimization, and static flags are controlled 432 by the configure script. 433 * configure.ac: 434 - allow specifying libevent directory with --with-libevent=DIR 435 - check for malloc.h (unavailable on BSDs) 436 - check for socklen_t (unavailable on OSX) 437 * assoc.c, items.c, slabs.c: Remove some unused headers. 438 * memcached.c: allow for nonexistence of malloc.h; #define a POSIX 439 macro to import mlockall flags. 440 4412003-07-29 442 * version 1.1.7 443 * big bug fix: item exptime 0 meant expire immediately, not never 444 * version 1.1.8 445 4462003-07-22 447 * make 'delete' take second arg, of time to refuse new add/replace 448 * set/add/replace/delete can all take abs or delta time (delta can't 449 be larger than a month) 450 4512003-07-21 452 * added doc/protocol.txt 453 4542003-07-01 455 * report CPU usage in stats 456 4572003-06-30 458 * version 1.1.6 459 * fix a number of obscure bugs 460 * more stats reporting 461 4622003-06-10 463 * removing use of Judy; use a hash. (judy caused memory fragmentation) 464 * shrink some structures 465 * security improvements 466 * version 1.1.0 467 4682003-06-18 469 * changing maxsize back to an unsigned int 470 4712003-06-16 472 * adding PHP support 473 * added CONTRIBUTORS file 474 * version 1.0.4 475 4762003-06-15 477 * forgot to distribute website/api (still learning auto*) 478 * version 1.0.3 479 4802003-06-15 481 * update to version 1.0.2 482 * autoconf/automake fixes for older versions 483 * make stats report version number 484 * change license from GPL to BSD 485 486Fri, 13 Jun 2003 10:05:51 -0700 Evan Martin <[email protected]> 487 488 * configure.ac, autogen.sh, Makefile.am: Use autotools. 489 * items.c, memcached.c: #include <time.h> for time(), 490 printf time_t as %lu (is this correct?), 491 minor warnings fixes. 492 493