root/trunk/server/ChangeLog @ 620

Revision 620, 14.2 kB (checked in by plindner, 2 years ago)

Add append command support written by Filipe Laborde. Tests/protocol doc updates by me.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
12007-10-03 Paul Lindner <lindner@inuus.com>
2        * Incorporate "cas" operation developed by Dustin
3          Sallings <dustin@spy.net> and implemented by
4          Chris Goffinet <goffinet@yahoo-inc.com>.  This
5          change allows you to do atomic changes to an
6          existing key.
7
8        * Fix for stats.evictions not incrementing
9          when exptime == 0 items are kicked off the cache.
10          from Jean-Francois BUSTARRET <jfbustarret@wat.tv>.
11
12        * Fix for do_item_cachedump() which was returning
13          an incorrect timestamp.
14       
15        * Switch to unsigned 64-bit increment/decrement counters
16          from Evan Miller and Dusgtin Sallings.
17
18        * Add append command support written by Filipe Laborde.
19          Tests/protocol doc updates by myself.
20
212007-08-21 Paul Lindner <lindner@inuus.com>
22        * Incorporate incrememnt patch from Evan Miller
23          <emiller@imvu.com> to define increment overflow
24          behavior.
25
262007-08-07 Leon Brocard <acme@astray.com>
27        * Bring the memcached.1 manpage up to date
28
292007-08-06 Paul Lindner <lindner@inuus.com>
30        * Fix crash when using -P and -d flags on x86_64
31          with latest libevent release.
32
332007-07-08  Steven Grimm  <sgrimm@facebook.com>
34
35        * Item stats commands weren't thread-safe; wrap them with locks
36          when compiled in multithreaded mode.
37        * The "stats items" command now works again; it broke with the
38          introduction of the powers-of-N chunk size change.
39
402007-07-06 [Version 1.2.3 released]
41
422007-06-19  Paul Lindner  <lindner@mirth.inuus.com>
43
44        * Solaris portability fixes from Trond Norbye
45
462007-05-29  Paul Lindner  <lindner@mirth.inuus.com>
47
48        * Properly document evictions statistic value
49
502007-05-10  Paul Lindner  <lindner@inuus.com>
51
52        * Flesh out tests for unix domain sockets and binary data.
53        * Update rpm spec file to run tests
54
552007-05-07  Paul Lindner  <lindner@inuus.com>
56
57        * Fix compilation bug on freebsd 6.x (and maybe others)
58        * Update RPM spec file per redhat bugzilla #238994
59        * Move unistd.h to memcached.h to get rid of warnings
60        * Add string.h to thread.c to get correctly prototyped strerror()
61
622007-05-04  Paul Lindner  <lindner@inuus.com>
63
64        * Add fedora/redhat style init script and RPM spec file
65
662007-05-12 [Version 1.2.2 released]
67
682007-04-16  Steven Grimm  <sgrimm@facebook.com>
69
70        * Command tokenizer performance and cleanliness improvement.
71          Patch contributed by Paolo Borelli <paolo.borelli@gmail.com>.
72
732007-04-16  Paul Lindner  <lindner@inuus.com>
74
75        * Add notes to README about MacOS, libevent and kqueue.
76
77        * Windows Patch integration -- part 1, warnings elimination.
78
792007-04-12  Paul Lindner  <lindner@mirth.inuus.com>
80
81        * Allow changes to the verbosity level of the server with a new
82          "verbosity" command and some compiler cleanups.
83          Patch contributed by Paolo Borelli <paolo.borelli@gmail.com>.
84
852007-04-08  Paul Lindner  <lindner@inuus.com>
86
87        * Add cleanup patch from "Tim Yardley" <liquid@haveheart.com> to
88          clean up source spacing issues, fix -Wall warnings, add some
89          null checks, adds asserts at the top of each function for any
90          use of conn *c without checking to see if c is NULL first.
91
92        * Also adjust clean-whitespace.pl to clean *.ac files.  Add
93          script to test-suite to test for tabs.
94
952007-04-04  Paul Lindner  <lindner@inuus.com>
96
97        * Add clarification of flush_all in the protocol docs
98          from Elizabeth Mattijsen <liz@dijkmat.nl>
99
1002007-03-31  Paul Lindner  <lindner@inuus.com>
101
102        * Add patch from Eli Bingham <eli@pandora.com> to
103          re-enable the -n switch to memcached.
104
1052007-03-20  Paul Lindner  <lindner@inuus.com>
106        * Add patch to collect eviction statistics from
107          Jean-Francois BUSTARRET <jfbustarret@wat.tv>.
108
109        * Updated docs, added new test cases for t/stats.t
110
1112007-03-18  Paul Lindner  <lindner@inuus.com>
112
113        * Add more test cases using larger buffer sizes up to and greater
114          than 1MB.
115
116        * Remove unused parameter to item_size_ok()
117
118        * Use a single printf() in usage()
119
120        * Add a failing test for conforming with maximum connections.
121
1222007-03-17
123        * crash fix from Thomas van Gulick <thomas@partyflock.nl> in
124          conn_shrink(), passing &ptr, instead of ptr to realloc().
125
1262007-03-05  Paul Lindner  <lindner@inuus.com>
127        * Fix a number of places where (s)printf calls were using unsigned
128          or signed formats that did not match their arguments.
129
130        * Add support for stdbool.h and stdint.h to use the bool and
131          uint8_t types.
132
133        * Major refactoring - move API calls for assoc/items/slabs to
134          their own individual header files.  Add apropriate const and
135          static declarations as appropriate.
136       
137        * Avoid type-punning.  Do a more efficient realloc inside the
138          conn_shrink routine.
139
140        * Fix overflow bug where uninitialized access to slabclass caused
141          size-0 mallocs during slab preallocation.
142
143        * Use EXIT_SUCCESS/EXIT_FAILURE constants.
144
145        * Convert some sprintf calls to snprintf to protect against
146          buffer overflows.
147
148        * Explicitly compare against NULL or zero in many places.
149
1502007-03-05
151        * Steven Grimm <sgrimm@facebook.com>: Per-object-type stats collection
152          support. Specify the object type delimiter with the -D command line
153          option. Turn stats gathering on and off with "stats detail on" and
154          "stats detail off". Dump the per-object-type details with
155          "stats detail dump".
156
1572007-03-01
158        * Steven Grimm <sgrimm@facebook.com>: Fix an off-by-one error in the
159          multithreaded version's message passing code.
160
1612006-12-23
162        * fix expirations of items set with absolute expiration times in
163          the past, before the server's start time.  bug was introduced in
164          1.2.0 with rel_time_t.  Thanks to Adam Dixon
165          <adamtdixon@gmail.com> for the bug report and test case!
166
1672006-11-26
168        * Steven Grimm <sgrimm@facebook.com>: Performance improvements:
169         
170          Dynamic sizing of hashtable to reduce collisions on very large
171          caches and conserve memory on small caches.
172
173          Only reposition items in the LRU queue once a minute, to reduce
174          overhead of accessing extremely frequently-used items.
175
176          Stop listening for new connections until an existing one closes
177          if we run out of available file descriptors.
178
179          Command parser refactoring: Add a single-pass tokenizer to cut
180          down on string scanning.  Split the command processing into
181          separate functions for easier profiling and better readability.
182          Pass key lengths along with the keys in all API functions that
183          need keys, to avoid needing to call strlen() repeatedly.
184
1852006-11-25
186        * Steve Peters <steve@fisharerojo.org>: OpenBSD has a malloc.h,
187        but warns to use stdlib.h instead
188
1892006-11-22
190        * Steven Grimm <sgrimm@facebook.com>: Add support for multithreaded
191          execution. Run configure with "--enable-threads" to enable. See
192          doc/threads.txt for details.
193
1942006-11-13
195        * Iain Wade <iwade@optusnet.com.au>: Fix for UDP responses on non-"get"
196         commands.
197
1982006-10-15
199        * Steven Grimm <sgrimm@facebook.com>: Dynamic sizing of hashtable to
200          reduce collisions on very large caches and conserve memory on
201          small caches.
202
2032006-10-13
204        * Steven Grimm <sgrimm@facebook.com>: New faster hash function.
205
2062006-09-20
207
208        * don't listen on UDP by default; more clear message when UDP port in use
209
2102006-09-09
211        * release 1.2.0 (along with 1.1.13, which is the more tested branch)
212
213        nobody has run 1.2.0 in production, to my knowledge.  facebook has run
214        their pre-merge-with-trunk version, but bugs were discovered (and fixed)
215        after the merge.  there might be more.  you've been warned.  :)
216
2172006-09-04
218        * improved autoconf libevent detection, from the Tor project.
219
2202006-09-03
221        * test suite and lot of expiration, delete, flush_all, etc corner
222          case bugs fixed (Brad Fitzpatrick)
223
2242006-09-02
225        * Nathan Neulinger <nneul@umr.edu>: fix breakage in expiration code
226          causing expiration times to not be processed correctly.
227
2282006-08-21
229        * Nathan Neulinger <nneul@umr.edu>: fix incompatabilities with
230          unix domain socket support and the UDP code and clean up stale
231          sockets
232
2332006-08-20
234        * Nathan Neulinger <nneul@umr.edu>: unix domain socket support
235
2362006-05-03
237        * Steven Grimm <sgrimm@facebook.com>:  big bunch of changes:
238          big CPU reduction work, UDP-based interface, increased memory
239          efficiency.  (intertwined patch, committed all together)
240          <http://lists.danga.com/pipermail/memcached/2006-May/002164.html>
241          or see svn commit logs
242
2432006-04-30
244        * River Tarnell:  autoconf work for Solaris 10.  Brad:
245        merge and verify it works on Nexenta.
246
2472006-03-04
248        * avva: bucket/generation patch (old, but Brad's just finally
249        committing it)
250
2512006-01-01
252        * Brad Fitzpatrick <brad@danga.com>:  allocate 1 slab per class
253        on start-up, to avoid confusing users with out-of-memory errors
254        later.  this is 18 MB of allocation on start, unless max memory
255        allowed with -m is lower, in which case only the smaller slab
256        classes are allocated.
257
2582005-08-09
259        * Elizabeth Mattijsen <liz@dijkmat.nl>: needed a way to flush all
260        memcached backend servers, but not at exactly the same time (to
261        reduce load peaks), I've added some simple functionality to the
262        memcached protocol in the "flush_all" command that allows you to
263        specify a time at which the flush will actually occur (instead of
264        always at the moment the "flush_all" command is received).
265
2662005-05-25
267        * patch from Peter van Dijk <peter@nextgear.nl> to make
268          stderr unbuffered, for running under daemontools
269
2702005-04-04
271        * patch from Don MacAskill <don@smugmug.com> 'flush_all' doesn't
272        seem to work properly.  Basically, if you try to add a key which
273        is present, but expired, the store fails but the old key is no
274        longer expired.
275
276        * release 1.1.12
277
2782005-01-14
279        * Date: Thu, 18 Nov 2004 15:25:59 -0600
280          From: David Phillips <electrum@gmail.com>
281        Here is a patch to configure.ac and Makefile.am to put the man page in
282        the correct location.  Trying to install the man page from a
283        subdirectory results in the subdirectory being used in the install
284        path (it tries to install to doc/memcached.1).  This is the correct
285        thing to  do:
286
287        - create a Makefile.am in the doc directory that installs the man page
288          with man_MANS
289        - modify Makefile.am in the base directory to reference the doc
290          directory using SUBDIRS
291        - modify the AC_CONFIG_FILES macro in configure.ac to output the
292          Makefile in doc
293
294       
2952005-01-14
296        * pidfile saving support from Lisa Seelye <lisa@gentoo.org>, sent
297          Jan 13, 2005
298
2992005-01-14
300        * don't delete libevent events that haven't been added (the deltimer)
301          patch from Ted Schundler <tschundler@gmail.com>
302
3032004-12-10
304        * document -M and -r in manpage (Doug Porter <dsp@dsp.name>)
305
3062004-07-22
307        * fix buffer overflow in items.c with 250 byte keys along with
308          other info on the same line going into a 256 byte char[].
309          thanks to Andrei Nigmatulin <anight@monamour.ru>
310       
3112004-06-15
312        * immediate deletes weren't being unlinked a few seconds,
313          preventing "add" commands to the same key in that time period.
314          thanks to Michael Alan Dorman <mdorman@debian.org> for the
315          bug report and demo script.
316       
3172004-04-30
318        * released 1.1.11
319
3202004-04-24
321        * Avva: Add a new command line option: -r , to maximize core file
322        limit.
323
3242004-03-31
325        * Avva: Use getrlimit and setrlimit to set limits for number of
326        simultaneously open file descriptors. Get the current limits and
327        try to raise them if they're not enough for the specified (or the
328        default) setting of max connections.
329       
3302004-02-24
331        * Adds a '-M' flag to turn off tossing items from the cache.
332          (Jason Titus <jtitus@postini.com>)
333
3342004-02-19 (Evan)
335        * Install manpage on "make install", etc.
336
3372003-12-30 (Brad)
338        * remove static build stuff.  interferes with PAM setuid stuff
339          and was only included as a possible fix with the old memory
340          allocator.  really shouldn't make a difference.
341        * add Jay Bonci's Debian scripts and manpage
342        * release version 1.1.10
343
3442003-12-01 (Avva)
345        * New command: flush_all, causes all existing items to
346          be invalidated immediately (without deleting them from
347          memory, merely causing memcached to no longer return them).
3482003-10-23
349        * Shift init code around to fix daemon mode on FreeBSD,
350        * and drop root only after creating the server socket (to
351        * allow the use of privileged ports)
352        * version 1.1.10pre
353
3542003-10-09
355        * BSD compile fixes from Ryan T. Dean
356        * version 1.1.9
357       
3582003-09-29
359        * ignore SIGPIPE at start instead of crashing in rare cases it
360          comes up.  no other code had to be modified, since everything
361          else is already dead-connection-aware.  (avva)
362       
3632003-09-09 (Avva, Lisa Marie Seelye <lisa@gentoo.org>)
364        * setuid support
365       
3662003-09-05 (Avva)
367        * accept all new connections in the same event (so we work with ET epoll)
368        * mark all items as clsid=0 after slab page reassignment to please future
369          asserts (on the road to making slab page reassignment work fully)
370
3712003-08-12 (Brad Fitzpatrick)
372        * use TCP_CORK on Linux or TCP_PUSH on BSD
373        * only use TCP_NODELAY when we don't have alternatives
374       
3752003-08-10
376        * disable Nagel's Algorithm (TCP_NODELAY) for better performance (avva)
377
3782003-08-10
379        * support multiple levels of verbosity (-vv)
380
3812003-08-10  (Evan Martin)
382        * Makefile.am: debug, optimization, and static flags are controlled
383          by the configure script.
384        * configure.ac:
385          - allow specifying libevent directory with --with-libevent=DIR
386          - check for malloc.h (unavailable on BSDs)
387          - check for socklen_t (unavailable on OSX)
388        * assoc.c, items.c, slabs.c:  Remove some unused headers.
389        * memcached.c:  allow for nonexistence of malloc.h; #define a POSIX
390          macro to import mlockall flags.
391
3922003-07-29
393        * version 1.1.7
394        * big bug fix: item exptime 0 meant expire immediately, not never
395        * version 1.1.8
396
3972003-07-22
398        * make 'delete' take second arg, of time to refuse new add/replace
399        * set/add/replace/delete can all take abs or delta time (delta can't
400          be larger than a month)
401
4022003-07-21
403        * added doc/protocol.txt
404
4052003-07-01
406        * report CPU usage in stats
407         
4082003-06-30
409        * version 1.1.6
410        * fix a number of obscure bugs
411        * more stats reporting
412       
4132003-06-10
414        * removing use of Judy; use a hash.  (judy caused memory fragmentation)
415        * shrink some structures
416        * security improvements
417        * version 1.1.0
418       
4192003-06-18
420        * changing maxsize back to an unsigned int
421       
4222003-06-16
423        * adding PHP support
424        * added CONTRIBUTORS file
425        * version 1.0.4
426       
4272003-06-15
428        * forgot to distribute website/api (still learning auto*)
429        * version 1.0.3
430       
4312003-06-15
432        * update to version 1.0.2
433        * autoconf/automake fixes for older versions
434        * make stats report version number
435        * change license from GPL to BSD
436       
437Fri, 13 Jun 2003 10:05:51 -0700  Evan Martin  <martine@danga.com>
438
439        * configure.ac, autogen.sh, Makefile.am:  Use autotools.
440        * items.c, memcached.c:  #include <time.h> for time(),
441          printf time_t as %lu (is this correct?),
442          minor warnings fixes.
443
Note: See TracBrowser for help on using the browser.