xref: /memcached-1.4.29/ChangeLog (revision 81176472)
16d7b9358STrond Norbye2010-10-11
26d7b9358STrond Norbye	* ChangeLog is no longer being updated.
36d7b9358STrond Norbye	See http://code.google.com/p/memcached/wiki/ReleaseNotes
46d7b9358STrond Norbye
5acb84f05Sdormando2009-04-10
6acb84f05Sdormando
7acb84f05Sdormando	* *critical bugfix*. In 1.2.7 under multithreaded mode, memcached
8acb84f05Sdormando	  would never restart accepting connections after hitting the
9acb84f05Sdormando	  maximum connection limit.
10acb84f05Sdormando
11b53bf8b5SDustin Sallings2009-04-02
12b53bf8b5SDustin Sallings
13b53bf8b5SDustin Sallings	* Fix: Rewrote stat buffer handling (Trond)
14b53bf8b5SDustin Sallings
150cbcacf8SDustin Sallings2009-03-31
160cbcacf8SDustin Sallings
170cbcacf8SDustin Sallings	* Feature:  -b option for configuring backlog
180cbcacf8SDustin Sallings
190cbcacf8SDustin Sallings	* Feature:  stats settings
200cbcacf8SDustin Sallings
210cbcacf8SDustin Sallings	* Fix: binary stat alignment bug (bug26)
220cbcacf8SDustin Sallings
230cbcacf8SDustin Sallings	* Fix: buffer overflow in stats (bug27)
240cbcacf8SDustin Sallings
250cbcacf8SDustin Sallings	* Fix: recycle memory more aggressively (bug14)
260cbcacf8SDustin Sallings
270cbcacf8SDustin Sallings	* Fix: incr validation (bug31)
280cbcacf8SDustin Sallings
290cbcacf8SDustin Sallings	* Fix: 64-bit incr/decr delta problem (bug21)
300cbcacf8SDustin Sallings
310cbcacf8SDustin Sallings	* Fix: Ascii UDP set (bug36)
320cbcacf8SDustin Sallings
330cbcacf8SDustin Sallings	* Fix: stats slabs' used chunks (bug29)
340cbcacf8SDustin Sallings
350cbcacf8SDustin Sallings	* Fix: stats reset resetting more (bug22)
360cbcacf8SDustin Sallings
370cbcacf8SDustin Sallings	* Misc: More tests, documentation, cleanliness (godliness)
380cbcacf8SDustin Sallings
390cbcacf8SDustin Sallings	* Stable merge (stats, debuggability, listen bugs)
400cbcacf8SDustin Sallings
41da5ba7b8SDustin Sallings2009-03-11
42da5ba7b8SDustin Sallings
43da5ba7b8SDustin Sallings	* Protocol:  Binary complete (Dustin, Trond, Toru, etc...)
44da5ba7b8SDustin Sallings
45da5ba7b8SDustin Sallings	* Performance:  improvements from facebook (Dormando)
46da5ba7b8SDustin Sallings
47da5ba7b8SDustin Sallings	* Performance:  per-thread stats (Trond)
48da5ba7b8SDustin Sallings
49da5ba7b8SDustin Sallings	* Performance:  Hash expansion in its own thread (Trond)
50da5ba7b8SDustin Sallings
51da5ba7b8SDustin Sallings	* Stats:  Lots of new stats (Dustin)
52da5ba7b8SDustin Sallings
53da5ba7b8SDustin Sallings	* Bug fixes (various)
54da5ba7b8SDustin Sallings
55da5ba7b8SDustin Sallings	See the 1.3.2 release notes or revision control for more detail.
56da5ba7b8SDustin Sallings
57a700e9c9Sdormando2008-09-06
58b2943f40Sdormando       * Display error status on listen failures (Dormando)
59a700e9c9Sdormando
60a700e9c9Sdormando       * Remove managed instance code. Incomplete/etc. (Dormando)
61a700e9c9Sdormando
62b2943f40Sdormando          * Handle broken IPV6 stacks better (Brian Aker)
63b2943f40Sdormando
64b2943f40Sdormando          * Generate warnings on setsockopt() failures (Brian Aker)
65b2943f40Sdormando
66b2943f40Sdormando          * Fix some indentation issues (Brian Aker)
67b2943f40Sdormando
68b2943f40Sdormando          * UDP/TCP can be disabled by setting their port to zero (Brian Aker)
69b2943f40Sdormando
70b2943f40Sdormando          * Zero out libevent thread structures before use (Ricky Zhou)
71b2943f40Sdormando
72b2943f40Sdormando          * New stat: Last accessed time for last evicted item per slab class.
73b2943f40Sdormando            (Dormando)
74b2943f40Sdormando
75b2943f40Sdormando          * Use a dedicated socket accept thread (Facebook)
76b2943f40Sdormando
77b2943f40Sdormando          * Add -R option. Limit the number of requests processed by a connection
78b2943f40Sdormando            at once. Prevents starving other threads if bulk loading. (Facebook)
79b2943f40Sdormando
80a700e9c9Sdormando2008-07-29 [Version 1.2.6 released]
81a700e9c9Sdormando
82869f1868Sdormando2008-07-24 [Version 1.2.6-rc1 released]
83869f1868Sdormando
84869f1868Sdormando       * Add support for newer automake (Facebook)
85869f1868Sdormando
86869f1868Sdormando       * DTrace support for Solaris/etc (Trond Norbye)
87869f1868Sdormando
88869f1868Sdormando       * LRU tests (Steve Yen)
89869f1868Sdormando
90869f1868Sdormando       * Handle negative length items properly (Dormando)
91869f1868Sdormando
92869f1868Sdormando       * Don't leave stale data after failed set attempts (Dormando)
93869f1868Sdormando
94869f1868Sdormando       * Fix refcount leaks, which would result in OOM's on all sets
95869f1868Sdormando	       (Dormando)
96869f1868Sdormando
97869f1868Sdormando       * Fix buffer overruns (Dustin Sallings, Tomash Brechko)
98869f1868Sdormando
99869f1868Sdormando       * Fix memory corruption with CAS (Dustin Sallings)
100869f1868Sdormando
1017f241f91Sdormando2008-06-11
1027f241f91Sdormando
1037f241f91Sdormando       * Fix -k to work with -d. (reported by Gary Zhu)
1047f241f91Sdormando
1057dcd6a62Sdormando2008-03-02 [Version 1.2.5-rc1 released]
1067dcd6a62Sdormando
1077dcd6a62Sdormando       * Add per-item-class tracking of evictions and OOM errors (dormando)
1087dcd6a62Sdormando
1097dcd6a62Sdormando       * Optimize item_alloc() a little (dormando)
1107dcd6a62Sdormando
1117dcd6a62Sdormando       * Give 'SERVER_ERROR out of memory' errors more context (dormando)
1127dcd6a62Sdormando
1137dcd6a62Sdormando       * Enable usage of large memory pages under solaris
1147dcd6a62Sdormando         ([email protected])
1157dcd6a62Sdormando
1167dcd6a62Sdormando       * Enable UDP by default, clean up server socket code
1177dcd6a62Sdormando         ([email protected])
1187dcd6a62Sdormando
119c94f73a5Sdormando       * 'noreply' support (Tomash Brechko)
12099bb3a57Sdormando
12199bb3a57Sdormando       * IPv6 support, and IPv6 multi-interface support ([email protected])
12299bb3a57Sdormando
12399bb3a57Sdormando       * Add compiler options for Sun Studio compilers with --enable-threads
12499bb3a57Sdormando	     ([email protected])
12599bb3a57Sdormando
12699bb3a57Sdormando       * Add --enable-64bit for mulitarget platforms ([email protected])
12799bb3a57Sdormando
12899bb3a57Sdormando       * Use gettimeofday(2) instead of time(2).
12999bb3a57Sdormando
1301f119ce7Sdormando       * Make -k option work (Tomash Brechko)
1311f119ce7Sdormando
132e306a859Sdormando	   * Fix chunk slab alignment ([email protected])
133e306a859Sdormando
134c04daf27Sdormando2007-12-06 [Version 1.2.4 released]
135c04daf27Sdormando
136c04daf27Sdormando2007-12-05
137c04daf27Sdormando
138c04daf27Sdormando       * Fix compilation on panther (JS and Dormando)
139c04daf27Sdormando
140c04daf27Sdormando	   * More CAS tests (Chris Goffinet)
141c04daf27Sdormando
142c04daf27Sdormando	   * Final fixes for all 1.2.4 features are in, -rc2 sent out.
143c04daf27Sdormando
14456966a9bSdormando2007-11-19 [Version 1.2.4-rc1 released]
14556966a9bSdormando
14656966a9bSdormando2007-11-19  Dormando <[email protected]>
14756966a9bSdormando
14856966a9bSdormando       * Patch series from Tomash Brechko <[email protected]>:
14956966a9bSdormando         Minor fixes and optimisations.
15056966a9bSdormando
15156966a9bSdormando       * Patches from Chris, Dustin, and Dormando to fix CAS.
15256966a9bSdormando
15356966a9bSdormando       * Prepping for 1.2.4 release.
15456966a9bSdormando
15556966a9bSdormando2007-11-13  Dormando <[email protected]>
15656966a9bSdormando
15756966a9bSdormando	* Adjusted patch from js <[email protected]>: Compile on OS X Panther
15856966a9bSdormando	  and earlier.
15956966a9bSdormando
16079b394e5STomash Brechko2007-11-12  Steven Grimm  <[email protected]>
16179b394e5STomash Brechko
16279b394e5STomash Brechko	* Patch from Tomash Brechko <[email protected]>: Always send
16379b394e5STomash Brechko	  "SERVER_ERROR out of memory" when memory exhausted.
16479b394e5STomash Brechko
16540c76cedSDavid Bremner2007-10-15  Paul Lindner  <[email protected]>
16640c76cedSDavid Bremner
16740c76cedSDavid Bremner	* Patch from David Bremner <[email protected]> that implements
16840c76cedSDavid Bremner	  a new option "-a" which takes an octal permission mask
16940c76cedSDavid Bremner	  (like chmod) sets the permissions on the unix domain socket
17040c76cedSDavid Bremner	  (specified by "-s").
17140c76cedSDavid Bremner
172fc2e8effSDustin Sallings2007-10-03 Paul Lindner <[email protected]>
173fc2e8effSDustin Sallings	* Incorporate "cas" operation developed by Dustin
174e169fa0bSPaul Lindner	  Sallings <[email protected]> This change allows you
175e169fa0bSPaul Lindner	  to do atomic changes to an existing key.
176fc2e8effSDustin Sallings
177505bf15aSJean-Francois BUSTARRET	* Fix for stats.evictions not incrementing
178505bf15aSJean-Francois BUSTARRET	  when exptime == 0 items are kicked off the cache.
179505bf15aSJean-Francois BUSTARRET	  from Jean-Francois BUSTARRET <[email protected]>.
180505bf15aSJean-Francois BUSTARRET
18117473c06SPaul Lindner	* Fix for do_item_cachedump() which was returning
18217473c06SPaul Lindner	  an incorrect timestamp.
18314280226SEvan Miller
18414280226SEvan Miller	* Switch to unsigned 64-bit increment/decrement counters
185e169fa0bSPaul Lindner	  from Evan Miller and Dustin Sallings.
18617473c06SPaul Lindner
1877283d85bSFilipe Laborde	* Add append command support written by Filipe Laborde.
1886091c6deSPaul Lindner	  Thread safe version plus prepend command from Maxim Dounin
1896091c6deSPaul Lindner	  <[email protected]>
1907283d85bSFilipe Laborde
1918834e625SDan Christian	* The memcached-tool script can now display stats.  Patch
1928834e625SDan Christian	  provided by Dan Christian <[email protected]>
1938834e625SDan Christian
19452d1cf20SMaxim Dounin	* Fix for Unix Domain sockets on FreeBSD
19552d1cf20SMaxim Dounin	  FreeBSD's sendmsg() requires msg_name in msghdr structure
19652d1cf20SMaxim Dounin	  to be NULL if not used, setting msg_namelen to 0 isn't enough.
19752d1cf20SMaxim Dounin	  Patch from Maxim Dounin <[email protected]>
19852d1cf20SMaxim Dounin
199b95946f4SEvan Miller2007-08-21 Paul Lindner <[email protected]>
200b95946f4SEvan Miller	* Incorporate incrememnt patch from Evan Miller
201b95946f4SEvan Miller	  <[email protected]> to define increment overflow
202b95946f4SEvan Miller	  behavior.
203b95946f4SEvan Miller
204beb60f83SLéon Brocard2007-08-07 Leon Brocard <[email protected]>
205beb60f83SLéon Brocard	* Bring the memcached.1 manpage up to date
206beb60f83SLéon Brocard
2079fd05720SPaul Lindner2007-08-06 Paul Lindner <[email protected]>
2089fd05720SPaul Lindner	* Fix crash when using -P and -d flags on x86_64
2099fd05720SPaul Lindner	  with latest libevent release.
2109fd05720SPaul Lindner
2116f60aac4SSteven Grimm2007-07-08  Steven Grimm  <[email protected]>
2126f60aac4SSteven Grimm
2136f60aac4SSteven Grimm	* Item stats commands weren't thread-safe; wrap them with locks
2146f60aac4SSteven Grimm	  when compiled in multithreaded mode.
215ee6df65aSSteven Grimm	* The "stats items" command now works again; it broke with the
216ee6df65aSSteven Grimm	  introduction of the powers-of-N chunk size change.
2176f60aac4SSteven Grimm
2181a8bb408SPaul Lindner2007-07-06 [Version 1.2.3 released]
2191a8bb408SPaul Lindner
22061f543a5SPaul Lindner2007-06-19  Paul Lindner  <[email protected]>
22161f543a5SPaul Lindner
22261f543a5SPaul Lindner	* Solaris portability fixes from Trond Norbye
22361f543a5SPaul Lindner
224772a6caeSPaul Lindner2007-05-29  Paul Lindner  <[email protected]>
225772a6caeSPaul Lindner
226772a6caeSPaul Lindner	* Properly document evictions statistic value
227772a6caeSPaul Lindner
2287b573c21SPaul Lindner2007-05-10  Paul Lindner  <[email protected]>
2297b573c21SPaul Lindner
2307b573c21SPaul Lindner	* Flesh out tests for unix domain sockets and binary data.
2317b573c21SPaul Lindner	* Update rpm spec file to run tests
2327b573c21SPaul Lindner
233b65aa2abSPaul Lindner2007-05-07  Paul Lindner  <[email protected]>
234b65aa2abSPaul Lindner
235b65aa2abSPaul Lindner	* Fix compilation bug on freebsd 6.x (and maybe others)
236d9b97d80SPaul Lindner	* Update RPM spec file per redhat bugzilla #238994
237d9b97d80SPaul Lindner	* Move unistd.h to memcached.h to get rid of warnings
238d9b97d80SPaul Lindner	* Add string.h to thread.c to get correctly prototyped strerror()
239b65aa2abSPaul Lindner
240275f8c40SPaul Lindner2007-05-04  Paul Lindner  <[email protected]>
241275f8c40SPaul Lindner
242275f8c40SPaul Lindner	* Add fedora/redhat style init script and RPM spec file
243275f8c40SPaul Lindner
24424d9040bSBrad Fitzpatrick2007-05-12 [Version 1.2.2 released]
24524d9040bSBrad Fitzpatrick
246ce96a208SPaolo Borelli2007-04-16  Steven Grimm  <[email protected]>
247ce96a208SPaolo Borelli
248ce96a208SPaolo Borelli	* Command tokenizer performance and cleanliness improvement.
249ce96a208SPaolo Borelli	  Patch contributed by Paolo Borelli <[email protected]>.
250fb6b20baSPaul Lindner
251c6975ef4SPaul Lindner2007-04-16  Paul Lindner  <[email protected]>
252c6975ef4SPaul Lindner
253fb6b20baSPaul Lindner	* Add notes to README about MacOS, libevent and kqueue.
254fb6b20baSPaul Lindner
255c6975ef4SPaul Lindner	* Windows Patch integration -- part 1, warnings elimination.
256c6975ef4SPaul Lindner
257eca55c9aSPaul Lindner2007-04-12  Paul Lindner  <[email protected]>
258eca55c9aSPaul Lindner
259eca55c9aSPaul Lindner	* Allow changes to the verbosity level of the server with a new
260c0ec7b09SPaolo Borelli	  "verbosity" command and some compiler cleanups.
261c0ec7b09SPaolo Borelli          Patch contributed by Paolo Borelli <[email protected]>.
262eca55c9aSPaul Lindner
26378955139STim Yardley2007-04-08  Paul Lindner  <[email protected]>
26478955139STim Yardley
26578955139STim Yardley	* Add cleanup patch from "Tim Yardley" <[email protected]> to
26678955139STim Yardley	  clean up source spacing issues, fix -Wall warnings, add some
26778955139STim Yardley	  null checks, adds asserts at the top of each function for any
26878955139STim Yardley	  use of conn *c without checking to see if c is NULL first.
26978955139STim Yardley
270b80ab7cfSPaul Lindner        * Also adjust clean-whitespace.pl to clean *.ac files.  Add
271b80ab7cfSPaul Lindner          script to test-suite to test for tabs.
272b80ab7cfSPaul Lindner
27345a56668SPaul Lindner2007-04-04  Paul Lindner  <[email protected]>
27445a56668SPaul Lindner
27545a56668SPaul Lindner	* Add clarification of flush_all in the protocol docs
27645a56668SPaul Lindner	  from Elizabeth Mattijsen <[email protected]>
27745a56668SPaul Lindner
278eaca6b2aSEli Bingham2007-03-31  Paul Lindner  <[email protected]>
279eaca6b2aSEli Bingham
280eaca6b2aSEli Bingham	* Add patch from Eli Bingham <[email protected]> to
281eaca6b2aSEli Bingham	  re-enable the -n switch to memcached.
282eaca6b2aSEli Bingham
2833373cdffSJean-Francois BUSTARRET2007-03-20  Paul Lindner  <[email protected]>
2843373cdffSJean-Francois BUSTARRET	* Add patch to collect eviction statistics from
2853373cdffSJean-Francois BUSTARRET          Jean-Francois BUSTARRET <[email protected]>.
28610862f60SPaul Lindner
2873373cdffSJean-Francois BUSTARRET        * Updated docs, added new test cases for t/stats.t
28810862f60SPaul Lindner
28910862f60SPaul Lindner2007-03-18  Paul Lindner  <[email protected]>
29010862f60SPaul Lindner
29110862f60SPaul Lindner	* Add more test cases using larger buffer sizes up to and greater
29210862f60SPaul Lindner	  than 1MB.
29310862f60SPaul Lindner
29410862f60SPaul Lindner	* Remove unused parameter to item_size_ok()
29510862f60SPaul Lindner
29610862f60SPaul Lindner	* Use a single printf() in usage()
29710862f60SPaul Lindner
29810862f60SPaul Lindner	* Add a failing test for conforming with maximum connections.
29910862f60SPaul Lindner
3008bb08bc2SThomas van Gulick2007-03-17
3018bb08bc2SThomas van Gulick	* crash fix from Thomas van Gulick <[email protected]> in
3028bb08bc2SThomas van Gulick	  conn_shrink(), passing &ptr, instead of ptr to realloc().
3038bb08bc2SThomas van Gulick
3042b551b06SPaul Lindner2007-03-05  Paul Lindner  <[email protected]>
30577dde9f9SPaul Lindner	* Fix a number of places where (s)printf calls were using unsigned
30677dde9f9SPaul Lindner	  or signed formats that did not match their arguments.
30777dde9f9SPaul Lindner
30877dde9f9SPaul Lindner	* Add support for stdbool.h and stdint.h to use the bool and
30977dde9f9SPaul Lindner	  uint8_t types.
31077dde9f9SPaul Lindner
31177dde9f9SPaul Lindner	* Major refactoring - move API calls for assoc/items/slabs to
312*81176472Sclark.kang	  their own individual header files.  Add appropriate const and
31377dde9f9SPaul Lindner	  static declarations as appropriate.
3142b551b06SPaul Lindner
3152b551b06SPaul Lindner	* Avoid type-punning.  Do a more efficient realloc inside the
3162b551b06SPaul Lindner	  conn_shrink routine.
3172b551b06SPaul Lindner
3182b551b06SPaul Lindner        * Fix overflow bug where uninitialized access to slabclass caused
3193938c578SPaul Lindner	  size-0 mallocs during slab preallocation.
320d1d2c3f6SPaul Lindner
32177dde9f9SPaul Lindner	* Use EXIT_SUCCESS/EXIT_FAILURE constants.
32277dde9f9SPaul Lindner
32377dde9f9SPaul Lindner	* Convert some sprintf calls to snprintf to protect against
32477dde9f9SPaul Lindner	  buffer overflows.
32577dde9f9SPaul Lindner
32677dde9f9SPaul Lindner	* Explicitly compare against NULL or zero in many places.
32777dde9f9SPaul Lindner
32856b8339eSSteven Grimm2007-03-05
32956b8339eSSteven Grimm	* Steven Grimm <[email protected]>: Per-object-type stats collection
33056b8339eSSteven Grimm	  support. Specify the object type delimiter with the -D command line
33156b8339eSSteven Grimm	  option. Turn stats gathering on and off with "stats detail on" and
33256b8339eSSteven Grimm	  "stats detail off". Dump the per-object-type details with
33356b8339eSSteven Grimm	  "stats detail dump".
33456b8339eSSteven Grimm
33556b8339eSSteven Grimm2007-03-01
33656b8339eSSteven Grimm	* Steven Grimm <[email protected]>: Fix an off-by-one error in the
33756b8339eSSteven Grimm	  multithreaded version's message passing code.
33856b8339eSSteven Grimm
33942fda7d0SAdam Dixon2006-12-23
34042fda7d0SAdam Dixon	* fix expirations of items set with absolute expiration times in
34142fda7d0SAdam Dixon	  the past, before the server's start time.  bug was introduced in
34242fda7d0SAdam Dixon	  1.2.0 with rel_time_t.  Thanks to Adam Dixon
34342fda7d0SAdam Dixon	  <[email protected]> for the bug report and test case!
34442fda7d0SAdam Dixon
345217dcce0SSteven Grimm2006-11-26
346217dcce0SSteven Grimm	* Steven Grimm <[email protected]>: Performance improvements:
347217dcce0SSteven Grimm
348217dcce0SSteven Grimm	  Dynamic sizing of hashtable to reduce collisions on very large
349217dcce0SSteven Grimm	  caches and conserve memory on small caches.
350217dcce0SSteven Grimm
351217dcce0SSteven Grimm	  Only reposition items in the LRU queue once a minute, to reduce
352217dcce0SSteven Grimm	  overhead of accessing extremely frequently-used items.
353217dcce0SSteven Grimm
354217dcce0SSteven Grimm	  Stop listening for new connections until an existing one closes
355217dcce0SSteven Grimm	  if we run out of available file descriptors.
356217dcce0SSteven Grimm
357217dcce0SSteven Grimm	  Command parser refactoring: Add a single-pass tokenizer to cut
358217dcce0SSteven Grimm	  down on string scanning.  Split the command processing into
359217dcce0SSteven Grimm	  separate functions for easier profiling and better readability.
360217dcce0SSteven Grimm	  Pass key lengths along with the keys in all API functions that
361217dcce0SSteven Grimm	  need keys, to avoid needing to call strlen() repeatedly.
362217dcce0SSteven Grimm
363117ca7fcSSteve Peters2006-11-25
364117ca7fcSSteve Peters	* Steve Peters <[email protected]>: OpenBSD has a malloc.h,
365117ca7fcSSteve Peters	but warns to use stdlib.h instead
366117ca7fcSSteve Peters
36756b8339eSSteven Grimm2006-11-22
36856b8339eSSteven Grimm	* Steven Grimm <[email protected]>: Add support for multithreaded
36956b8339eSSteven Grimm	  execution. Run configure with "--enable-threads" to enable. See
37056b8339eSSteven Grimm	  doc/threads.txt for details.
37156b8339eSSteven Grimm
3724d616399SIain Wade2006-11-13
3734d616399SIain Wade	* Iain Wade <[email protected]>: Fix for UDP responses on non-"get"
3744d616399SIain Wade	 commands.
3754d616399SIain Wade
37656b8339eSSteven Grimm2006-10-15
37756b8339eSSteven Grimm	* Steven Grimm <[email protected]>: Dynamic sizing of hashtable to
37856b8339eSSteven Grimm	  reduce collisions on very large caches and conserve memory on
37956b8339eSSteven Grimm	  small caches.
38056b8339eSSteven Grimm
381b511741aSSteven Grimm2006-10-13
382b511741aSSteven Grimm	* Steven Grimm <[email protected]>: New faster hash function.
383b511741aSSteven Grimm
3843a643851SBrad Fitzpatrick2006-09-20
3853a643851SBrad Fitzpatrick
3863a643851SBrad Fitzpatrick	* don't listen on UDP by default; more clear message when UDP port in use
3873a643851SBrad Fitzpatrick
3883a643851SBrad Fitzpatrick2006-09-09
3893a643851SBrad Fitzpatrick	* release 1.2.0 (along with 1.1.13, which is the more tested branch)
3903a643851SBrad Fitzpatrick
3913a643851SBrad Fitzpatrick	nobody has run 1.2.0 in production, to my knowledge.  facebook has run
3923a643851SBrad Fitzpatrick	their pre-merge-with-trunk version, but bugs were discovered (and fixed)
3933a643851SBrad Fitzpatrick	after the merge.  there might be more.  you've been warned.  :)
3943a643851SBrad Fitzpatrick
3951f11bf02SBrad Fitzpatrick2006-09-04
3961f11bf02SBrad Fitzpatrick	* improved autoconf libevent detection, from the Tor project.
3971f11bf02SBrad Fitzpatrick
3981f11bf02SBrad Fitzpatrick2006-09-03
3991f11bf02SBrad Fitzpatrick	* test suite and lot of expiration, delete, flush_all, etc corner
4001f11bf02SBrad Fitzpatrick	  case bugs fixed (Brad Fitzpatrick)
4011f11bf02SBrad Fitzpatrick
4026bb24240SNathan Neulinger2006-09-02
4036bb24240SNathan Neulinger	* Nathan Neulinger <[email protected]>: fix breakage in expiration code
4046bb24240SNathan Neulinger	  causing expiration times to not be processed correctly.
4056bb24240SNathan Neulinger
406c9607c6dSBrad Fitzpatrick2006-08-21
407*81176472Sclark.kang	* Nathan Neulinger <[email protected]>: fix incompatibilities with
408c9607c6dSBrad Fitzpatrick	  unix domain socket support and the UDP code and clean up stale
409c9607c6dSBrad Fitzpatrick	  sockets
410c9607c6dSBrad Fitzpatrick
411c9607c6dSBrad Fitzpatrick2006-08-20
412c9607c6dSBrad Fitzpatrick	* Nathan Neulinger <[email protected]>: unix domain socket support
413c9607c6dSBrad Fitzpatrick
414c9607c6dSBrad Fitzpatrick2006-05-03
415c9607c6dSBrad Fitzpatrick	* Steven Grimm <[email protected]>:  big bunch of changes:
416c9607c6dSBrad Fitzpatrick	  big CPU reduction work, UDP-based interface, increased memory
417c9607c6dSBrad Fitzpatrick	  efficiency.  (intertwined patch, committed all together)
418c9607c6dSBrad Fitzpatrick	  <http://lists.danga.com/pipermail/memcached/2006-May/002164.html>
419c9607c6dSBrad Fitzpatrick	  or see svn commit logs
420c9607c6dSBrad Fitzpatrick
42198ca309dSBrad Fitzpatrick2006-04-30
42298ca309dSBrad Fitzpatrick	* River Tarnell:  autoconf work for Solaris 10.  Brad:
42398ca309dSBrad Fitzpatrick	merge and verify it works on Nexenta.
42498ca309dSBrad Fitzpatrick
4257a308025SAnatoly Vorobey2006-03-04
4267a308025SAnatoly Vorobey	* avva: bucket/generation patch (old, but Brad's just finally
4277a308025SAnatoly Vorobey	committing it)
4287a308025SAnatoly Vorobey
429c252f6e9SBrad Fitzpatrick2006-01-01
430c252f6e9SBrad Fitzpatrick	* Brad Fitzpatrick <[email protected]>:  allocate 1 slab per class
431c252f6e9SBrad Fitzpatrick	on start-up, to avoid confusing users with out-of-memory errors
432c252f6e9SBrad Fitzpatrick	later.  this is 18 MB of allocation on start, unless max memory
433c252f6e9SBrad Fitzpatrick	allowed with -m is lower, in which case only the smaller slab
434c252f6e9SBrad Fitzpatrick	classes are allocated.
435c252f6e9SBrad Fitzpatrick
43654c9113bSElizabeth Mattijsen2005-08-09
43754c9113bSElizabeth Mattijsen	* Elizabeth Mattijsen <[email protected]>: needed a way to flush all
43854c9113bSElizabeth Mattijsen	memcached backend servers, but not at exactly the same time (to
43954c9113bSElizabeth Mattijsen	reduce load peaks), I've added some simple functionality to the
44054c9113bSElizabeth Mattijsen	memcached protocol in the "flush_all" command that allows you to
44154c9113bSElizabeth Mattijsen	specify a time at which the flush will actually occur (instead of
44254c9113bSElizabeth Mattijsen	always at the moment the "flush_all" command is received).
44354c9113bSElizabeth Mattijsen
444146ba544SPeter van Dijk2005-05-25
445146ba544SPeter van Dijk	* patch from Peter van Dijk <[email protected]> to make
446146ba544SPeter van Dijk	  stderr unbuffered, for running under daemontools
447146ba544SPeter van Dijk
4481a07ead8SDon MacAskill2005-04-04
4491a07ead8SDon MacAskill	* patch from Don MacAskill <[email protected]> 'flush_all' doesn't
4501a07ead8SDon MacAskill	seem to work properly.  Basically, if you try to add a key which
4511a07ead8SDon MacAskill	is present, but expired, the store fails but the old key is no
4521a07ead8SDon MacAskill	longer expired.
4531a07ead8SDon MacAskill
45495a02c2dSBrad Fitzpatrick	* release 1.1.12
45595a02c2dSBrad Fitzpatrick
4560b2d51fbSTed Schundler2005-01-14
457b585e734SDavid Phillips	* Date: Thu, 18 Nov 2004 15:25:59 -0600
458b585e734SDavid Phillips	  From: David Phillips <[email protected]>
459b585e734SDavid Phillips	Here is a patch to configure.ac and Makefile.am to put the man page in
460b585e734SDavid Phillips	the correct location.  Trying to install the man page from a
461b585e734SDavid Phillips	subdirectory results in the subdirectory being used in the install
462b585e734SDavid Phillips	path (it tries to install to doc/memcached.1).  This is the correct
463b585e734SDavid Phillips	thing to  do:
464b585e734SDavid Phillips
465b585e734SDavid Phillips	- create a Makefile.am in the doc directory that installs the man page
466b585e734SDavid Phillips	  with man_MANS
467b585e734SDavid Phillips	- modify Makefile.am in the base directory to reference the doc
468b585e734SDavid Phillips  	  directory using SUBDIRS
469b585e734SDavid Phillips	- modify the AC_CONFIG_FILES macro in configure.ac to output the
470b585e734SDavid Phillips	  Makefile in doc
471b585e734SDavid Phillips
472b585e734SDavid Phillips
473b585e734SDavid Phillips2005-01-14
474032912ceSLisa Seelye	* pidfile saving support from Lisa Seelye <[email protected]>, sent
475032912ceSLisa Seelye	  Jan 13, 2005
476032912ceSLisa Seelye
477032912ceSLisa Seelye2005-01-14
4780b2d51fbSTed Schundler	* don't delete libevent events that haven't been added (the deltimer)
4790b2d51fbSTed Schundler	  patch from Ted Schundler <[email protected]>
4800b2d51fbSTed Schundler
481c189fbb9SDoug Porter2004-12-10
482c189fbb9SDoug Porter	* document -M and -r in manpage (Doug Porter <[email protected]>)
483c189fbb9SDoug Porter
4848f5960e0SBrad Fitzpatrick2004-07-22
4858f5960e0SBrad Fitzpatrick	* fix buffer overflow in items.c with 250 byte keys along with
4868f5960e0SBrad Fitzpatrick	  other info on the same line going into a 256 byte char[].
4878f5960e0SBrad Fitzpatrick	  thanks to Andrei Nigmatulin <[email protected]>
4888f5960e0SBrad Fitzpatrick
489585d68caSMichael Alan Dorman2004-06-15
490585d68caSMichael Alan Dorman	* immediate deletes weren't being unlinked a few seconds,
491585d68caSMichael Alan Dorman	  preventing "add" commands to the same key in that time period.
492585d68caSMichael Alan Dorman	  thanks to Michael Alan Dorman <[email protected]> for the
493585d68caSMichael Alan Dorman	  bug report and demo script.
494585d68caSMichael Alan Dorman
4953802f098SBrad Fitzpatrick2004-04-30
4963802f098SBrad Fitzpatrick	* released 1.1.11
4973802f098SBrad Fitzpatrick
498a1de83caSBrad Fitzpatrick2004-04-24
499a1de83caSBrad Fitzpatrick	* Avva: Add a new command line option: -r , to maximize core file
500a1de83caSBrad Fitzpatrick	limit.
501a1de83caSBrad Fitzpatrick
502a1de83caSBrad Fitzpatrick2004-03-31
503a1de83caSBrad Fitzpatrick	* Avva: Use getrlimit and setrlimit to set limits for number of
504a1de83caSBrad Fitzpatrick	simultaneously open file descriptors. Get the current limits and
505a1de83caSBrad Fitzpatrick	try to raise them if they're not enough for the specified (or the
506a1de83caSBrad Fitzpatrick	default) setting of max connections.
507a1de83caSBrad Fitzpatrick
508841811e9SJason Titus2004-02-24
509841811e9SJason Titus	* Adds a '-M' flag to turn off tossing items from the cache.
510841811e9SJason Titus	  (Jason Titus <[email protected]>)
511841811e9SJason Titus
5124983b17dSEvan Martin2004-02-19 (Evan)
5134983b17dSEvan Martin	* Install manpage on "make install", etc.
5144983b17dSEvan Martin
5154b1b1ae7SBrad Fitzpatrick2003-12-30 (Brad)
5164b1b1ae7SBrad Fitzpatrick	* remove static build stuff.  interferes with PAM setuid stuff
5174b1b1ae7SBrad Fitzpatrick	  and was only included as a possible fix with the old memory
5184b1b1ae7SBrad Fitzpatrick	  allocator.  really shouldn't make a difference.
5194b1b1ae7SBrad Fitzpatrick	* add Jay Bonci's Debian scripts and manpage
5204b1b1ae7SBrad Fitzpatrick	* release version 1.1.10
5214b1b1ae7SBrad Fitzpatrick
522f2049d4eSAnatoly Vorobey2003-12-01 (Avva)
523f2049d4eSAnatoly Vorobey	* New command: flush_all, causes all existing items to
524f2049d4eSAnatoly Vorobey	  be invalidated immediately (without deleting them from
525f2049d4eSAnatoly Vorobey	  memory, merely causing memcached to no longer return them).
526ed0f5b0eSBrion Vibber2003-10-23
527ed0f5b0eSBrion Vibber	* Shift init code around to fix daemon mode on FreeBSD,
528ed0f5b0eSBrion Vibber	* and drop root only after creating the server socket (to
529ed0f5b0eSBrion Vibber	* allow the use of privileged ports)
530ed0f5b0eSBrion Vibber	* version 1.1.10pre
531ed0f5b0eSBrion Vibber
5322b6bec19SBrad Fitzpatrick2003-10-09
5332b6bec19SBrad Fitzpatrick	* BSD compile fixes from Ryan T. Dean
5342b6bec19SBrad Fitzpatrick	* version 1.1.9
5352b6bec19SBrad Fitzpatrick
536f4242fdfSAnatoly Vorobey2003-09-29
537f4242fdfSAnatoly Vorobey	* ignore SIGPIPE at start instead of crashing in rare cases it
538f4242fdfSAnatoly Vorobey	  comes up.  no other code had to be modified, since everything
539f4242fdfSAnatoly Vorobey	  else is already dead-connection-aware.  (avva)
540f4242fdfSAnatoly Vorobey
5414961114aSBrad Fitzpatrick2003-09-09 (Avva, Lisa Marie Seelye <[email protected]>)
5424961114aSBrad Fitzpatrick	* setuid support
5434961114aSBrad Fitzpatrick
54451b1074bSBrad Fitzpatrick2003-09-05 (Avva)
54589deba77SBrad Fitzpatrick	* accept all new connections in the same event (so we work with ET epoll)
54651b1074bSBrad Fitzpatrick	* mark all items as clsid=0 after slab page reassignment to please future
54751b1074bSBrad Fitzpatrick	  asserts (on the road to making slab page reassignment work fully)
54889deba77SBrad Fitzpatrick
54960a5ff1fSBrad Fitzpatrick2003-08-12 (Brad Fitzpatrick)
55060a5ff1fSBrad Fitzpatrick	* use TCP_CORK on Linux or TCP_PUSH on BSD
55160a5ff1fSBrad Fitzpatrick	* only use TCP_NODELAY when we don't have alternatives
55260a5ff1fSBrad Fitzpatrick
55316a4b555SBrad Fitzpatrick2003-08-10
554386c274dSAnatoly Vorobey	* disable Nagel's Algorithm (TCP_NODELAY) for better performance (avva)
555386c274dSAnatoly Vorobey
556386c274dSAnatoly Vorobey2003-08-10
5579aa4cab2SEvan Martin	* support multiple levels of verbosity (-vv)
5589aa4cab2SEvan Martin
5599aa4cab2SEvan Martin2003-08-10  (Evan Martin)
5608405f723SEvan Martin	* Makefile.am: debug, optimization, and static flags are controlled
5618405f723SEvan Martin	  by the configure script.
5628405f723SEvan Martin	* configure.ac:
5638405f723SEvan Martin	  - allow specifying libevent directory with --with-libevent=DIR
5648405f723SEvan Martin	  - check for malloc.h (unavailable on BSDs)
5658405f723SEvan Martin	  - check for socklen_t (unavailable on OSX)
5668405f723SEvan Martin	* assoc.c, items.c, slabs.c:  Remove some unused headers.
5678405f723SEvan Martin	* memcached.c:  allow for nonexistence of malloc.h; #define a POSIX
5688405f723SEvan Martin	  macro to import mlockall flags.
5698405f723SEvan Martin
5704ae59c5bSBrad Fitzpatrick2003-07-29
5714ae59c5bSBrad Fitzpatrick	* version 1.1.7
572bfebefb7SBrad Fitzpatrick	* big bug fix: item exptime 0 meant expire immediately, not never
573bfebefb7SBrad Fitzpatrick	* version 1.1.8
5744ae59c5bSBrad Fitzpatrick
5754ae59c5bSBrad Fitzpatrick2003-07-22
5764ae59c5bSBrad Fitzpatrick	* make 'delete' take second arg, of time to refuse new add/replace
5774ae59c5bSBrad Fitzpatrick	* set/add/replace/delete can all take abs or delta time (delta can't
5784ae59c5bSBrad Fitzpatrick	  be larger than a month)
5794ae59c5bSBrad Fitzpatrick
5804ae59c5bSBrad Fitzpatrick2003-07-21
5814ae59c5bSBrad Fitzpatrick	* added doc/protocol.txt
5824ae59c5bSBrad Fitzpatrick
583fb738a56SBrad Fitzpatrick2003-07-01
584fb738a56SBrad Fitzpatrick	* report CPU usage in stats
585fb738a56SBrad Fitzpatrick
586f4c83361SBrad Fitzpatrick2003-06-30
587f4c83361SBrad Fitzpatrick	* version 1.1.6
588f4c83361SBrad Fitzpatrick	* fix a number of obscure bugs
589f4c83361SBrad Fitzpatrick	* more stats reporting
590f4c83361SBrad Fitzpatrick
591f6d334e0SBrad Fitzpatrick2003-06-10
592f6d334e0SBrad Fitzpatrick	* removing use of Judy; use a hash.  (judy caused memory fragmentation)
593f6d334e0SBrad Fitzpatrick	* shrink some structures
594f6d334e0SBrad Fitzpatrick	* security improvements
595f6d334e0SBrad Fitzpatrick	* version 1.1.0
596f6d334e0SBrad Fitzpatrick
597a5b8ef85SBrad Fitzpatrick2003-06-18
598a5b8ef85SBrad Fitzpatrick	* changing maxsize back to an unsigned int
599a5b8ef85SBrad Fitzpatrick
600aa96811eSBrad Fitzpatrick2003-06-16
601aa96811eSBrad Fitzpatrick	* adding PHP support
602aa96811eSBrad Fitzpatrick	* added CONTRIBUTORS file
603aa96811eSBrad Fitzpatrick	* version 1.0.4
604aa96811eSBrad Fitzpatrick
6050c3b47f4SBrad Fitzpatrick2003-06-15
6065f5e0432SBrad Fitzpatrick	* forgot to distribute website/api (still learning auto*)
6075f5e0432SBrad Fitzpatrick	* version 1.0.3
6085f5e0432SBrad Fitzpatrick
6095f5e0432SBrad Fitzpatrick2003-06-15
610601b6900SBrad Fitzpatrick	* update to version 1.0.2
611601b6900SBrad Fitzpatrick	* autoconf/automake fixes for older versions
612601b6900SBrad Fitzpatrick	* make stats report version number
6130c3b47f4SBrad Fitzpatrick	* change license from GPL to BSD
614601b6900SBrad Fitzpatrick
6151b533267SBrad FitzpatrickFri, 13 Jun 2003 10:05:51 -0700  Evan Martin  <[email protected]>
6161b533267SBrad Fitzpatrick
6171b533267SBrad Fitzpatrick	* configure.ac, autogen.sh, Makefile.am:  Use autotools.
6181b533267SBrad Fitzpatrick	* items.c, memcached.c:  #include <time.h> for time(),
6191b533267SBrad Fitzpatrick	  printf time_t as %lu (is this correct?),
6201b533267SBrad Fitzpatrick	  minor warnings fixes.
6211b533267SBrad Fitzpatrick
622