xref: /memcached-1.4.29/ChangeLog (revision 85ca98b5)
12007-05-29  Paul Lindner  <[email protected]>
2
3	* Properly document evictions statistic value
4
52007-05-10  Paul Lindner  <[email protected]>
6
7	* Flesh out tests for unix domain sockets and binary data.
8	* Update rpm spec file to run tests
9
102007-05-07  Paul Lindner  <[email protected]>
11
12	* Fix compilation bug on freebsd 6.x (and maybe others)
13	* Update RPM spec file per redhat bugzilla #238994
14	* Move unistd.h to memcached.h to get rid of warnings
15	* Add string.h to thread.c to get correctly prototyped strerror()
16
172007-05-04  Paul Lindner  <[email protected]>
18
19	* Add fedora/redhat style init script and RPM spec file
20
212007-05-12 [Version 1.2.2 released]
22
232007-04-16  Steven Grimm  <[email protected]>
24
25	* Command tokenizer performance and cleanliness improvement.
26	  Patch contributed by Paolo Borelli <[email protected]>.
27
282007-04-16  Paul Lindner  <[email protected]>
29
30	* Add notes to README about MacOS, libevent and kqueue.
31
32	* Windows Patch integration -- part 1, warnings elimination.
33
342007-04-12  Paul Lindner  <[email protected]>
35
36	* Allow changes to the verbosity level of the server with a new
37	  "verbosity" command and some compiler cleanups.
38          Patch contributed by Paolo Borelli <[email protected]>.
39
402007-04-08  Paul Lindner  <[email protected]>
41
42	* Add cleanup patch from "Tim Yardley" <[email protected]> to
43	  clean up source spacing issues, fix -Wall warnings, add some
44	  null checks, adds asserts at the top of each function for any
45	  use of conn *c without checking to see if c is NULL first.
46
47        * Also adjust clean-whitespace.pl to clean *.ac files.  Add
48          script to test-suite to test for tabs.
49
502007-04-04  Paul Lindner  <[email protected]>
51
52	* Add clarification of flush_all in the protocol docs
53	  from Elizabeth Mattijsen <[email protected]>
54
552007-03-31  Paul Lindner  <[email protected]>
56
57	* Add patch from Eli Bingham <[email protected]> to
58	  re-enable the -n switch to memcached.
59
602007-03-20  Paul Lindner  <[email protected]>
61	* Add patch to collect eviction statistics from
62          Jean-Francois BUSTARRET <[email protected]>.
63
64        * Updated docs, added new test cases for t/stats.t
65
662007-03-18  Paul Lindner  <[email protected]>
67
68	* Add more test cases using larger buffer sizes up to and greater
69	  than 1MB.
70
71	* Remove unused parameter to item_size_ok()
72
73	* Use a single printf() in usage()
74
75	* Add a failing test for conforming with maximum connections.
76
772007-03-17
78	* crash fix from Thomas van Gulick <[email protected]> in
79	  conn_shrink(), passing &ptr, instead of ptr to realloc().
80
812007-03-05  Paul Lindner  <[email protected]>
82	* Fix a number of places where (s)printf calls were using unsigned
83	  or signed formats that did not match their arguments.
84
85	* Add support for stdbool.h and stdint.h to use the bool and
86	  uint8_t types.
87
88	* Major refactoring - move API calls for assoc/items/slabs to
89	  their own individual header files.  Add apropriate const and
90	  static declarations as appropriate.
91
92	* Avoid type-punning.  Do a more efficient realloc inside the
93	  conn_shrink routine.
94
95        * Fix overflow bug where uninitialized access to slabclass caused
96	  size-0 mallocs during slab preallocation.
97
98	* Use EXIT_SUCCESS/EXIT_FAILURE constants.
99
100	* Convert some sprintf calls to snprintf to protect against
101	  buffer overflows.
102
103	* Explicitly compare against NULL or zero in many places.
104
1052007-03-05
106	* Steven Grimm <[email protected]>: Per-object-type stats collection
107	  support. Specify the object type delimiter with the -D command line
108	  option. Turn stats gathering on and off with "stats detail on" and
109	  "stats detail off". Dump the per-object-type details with
110	  "stats detail dump".
111
1122007-03-01
113	* Steven Grimm <[email protected]>: Fix an off-by-one error in the
114	  multithreaded version's message passing code.
115
1162006-12-23
117	* fix expirations of items set with absolute expiration times in
118	  the past, before the server's start time.  bug was introduced in
119	  1.2.0 with rel_time_t.  Thanks to Adam Dixon
120	  <[email protected]> for the bug report and test case!
121
1222006-11-26
123	* Steven Grimm <[email protected]>: Performance improvements:
124
125	  Dynamic sizing of hashtable to reduce collisions on very large
126	  caches and conserve memory on small caches.
127
128	  Only reposition items in the LRU queue once a minute, to reduce
129	  overhead of accessing extremely frequently-used items.
130
131	  Stop listening for new connections until an existing one closes
132	  if we run out of available file descriptors.
133
134	  Command parser refactoring: Add a single-pass tokenizer to cut
135	  down on string scanning.  Split the command processing into
136	  separate functions for easier profiling and better readability.
137	  Pass key lengths along with the keys in all API functions that
138	  need keys, to avoid needing to call strlen() repeatedly.
139
1402006-11-25
141	* Steve Peters <[email protected]>: OpenBSD has a malloc.h,
142	but warns to use stdlib.h instead
143
1442006-11-22
145	* Steven Grimm <[email protected]>: Add support for multithreaded
146	  execution. Run configure with "--enable-threads" to enable. See
147	  doc/threads.txt for details.
148
1492006-11-13
150	* Iain Wade <[email protected]>: Fix for UDP responses on non-"get"
151	 commands.
152
1532006-10-15
154	* Steven Grimm <[email protected]>: Dynamic sizing of hashtable to
155	  reduce collisions on very large caches and conserve memory on
156	  small caches.
157
1582006-10-13
159	* Steven Grimm <[email protected]>: New faster hash function.
160
1612006-09-20
162
163	* don't listen on UDP by default; more clear message when UDP port in use
164
1652006-09-09
166	* release 1.2.0 (along with 1.1.13, which is the more tested branch)
167
168	nobody has run 1.2.0 in production, to my knowledge.  facebook has run
169	their pre-merge-with-trunk version, but bugs were discovered (and fixed)
170	after the merge.  there might be more.  you've been warned.  :)
171
1722006-09-04
173	* improved autoconf libevent detection, from the Tor project.
174
1752006-09-03
176	* test suite and lot of expiration, delete, flush_all, etc corner
177	  case bugs fixed (Brad Fitzpatrick)
178
1792006-09-02
180	* Nathan Neulinger <[email protected]>: fix breakage in expiration code
181	  causing expiration times to not be processed correctly.
182
1832006-08-21
184	* Nathan Neulinger <[email protected]>: fix incompatabilities with
185	  unix domain socket support and the UDP code and clean up stale
186	  sockets
187
1882006-08-20
189	* Nathan Neulinger <[email protected]>: unix domain socket support
190
1912006-05-03
192	* Steven Grimm <[email protected]>:  big bunch of changes:
193	  big CPU reduction work, UDP-based interface, increased memory
194	  efficiency.  (intertwined patch, committed all together)
195	  <http://lists.danga.com/pipermail/memcached/2006-May/002164.html>
196	  or see svn commit logs
197
1982006-04-30
199	* River Tarnell:  autoconf work for Solaris 10.  Brad:
200	merge and verify it works on Nexenta.
201
2022006-03-04
203	* avva: bucket/generation patch (old, but Brad's just finally
204	committing it)
205
2062006-01-01
207	* Brad Fitzpatrick <[email protected]>:  allocate 1 slab per class
208	on start-up, to avoid confusing users with out-of-memory errors
209	later.  this is 18 MB of allocation on start, unless max memory
210	allowed with -m is lower, in which case only the smaller slab
211	classes are allocated.
212
2132005-08-09
214	* Elizabeth Mattijsen <[email protected]>: needed a way to flush all
215	memcached backend servers, but not at exactly the same time (to
216	reduce load peaks), I've added some simple functionality to the
217	memcached protocol in the "flush_all" command that allows you to
218	specify a time at which the flush will actually occur (instead of
219	always at the moment the "flush_all" command is received).
220
2212005-05-25
222	* patch from Peter van Dijk <[email protected]> to make
223	  stderr unbuffered, for running under daemontools
224
2252005-04-04
226	* patch from Don MacAskill <[email protected]> 'flush_all' doesn't
227	seem to work properly.  Basically, if you try to add a key which
228	is present, but expired, the store fails but the old key is no
229	longer expired.
230
231	* release 1.1.12
232
2332005-01-14
234	* Date: Thu, 18 Nov 2004 15:25:59 -0600
235	  From: David Phillips <[email protected]>
236	Here is a patch to configure.ac and Makefile.am to put the man page in
237	the correct location.  Trying to install the man page from a
238	subdirectory results in the subdirectory being used in the install
239	path (it tries to install to doc/memcached.1).  This is the correct
240	thing to  do:
241
242	- create a Makefile.am in the doc directory that installs the man page
243	  with man_MANS
244	- modify Makefile.am in the base directory to reference the doc
245  	  directory using SUBDIRS
246	- modify the AC_CONFIG_FILES macro in configure.ac to output the
247	  Makefile in doc
248
249
2502005-01-14
251	* pidfile saving support from Lisa Seelye <[email protected]>, sent
252	  Jan 13, 2005
253
2542005-01-14
255	* don't delete libevent events that haven't been added (the deltimer)
256	  patch from Ted Schundler <[email protected]>
257
2582004-12-10
259	* document -M and -r in manpage (Doug Porter <[email protected]>)
260
2612004-07-22
262	* fix buffer overflow in items.c with 250 byte keys along with
263	  other info on the same line going into a 256 byte char[].
264	  thanks to Andrei Nigmatulin <[email protected]>
265
2662004-06-15
267	* immediate deletes weren't being unlinked a few seconds,
268	  preventing "add" commands to the same key in that time period.
269	  thanks to Michael Alan Dorman <[email protected]> for the
270	  bug report and demo script.
271
2722004-04-30
273	* released 1.1.11
274
2752004-04-24
276	* Avva: Add a new command line option: -r , to maximize core file
277	limit.
278
2792004-03-31
280	* Avva: Use getrlimit and setrlimit to set limits for number of
281	simultaneously open file descriptors. Get the current limits and
282	try to raise them if they're not enough for the specified (or the
283	default) setting of max connections.
284
2852004-02-24
286	* Adds a '-M' flag to turn off tossing items from the cache.
287	  (Jason Titus <[email protected]>)
288
2892004-02-19 (Evan)
290	* Install manpage on "make install", etc.
291
2922003-12-30 (Brad)
293	* remove static build stuff.  interferes with PAM setuid stuff
294	  and was only included as a possible fix with the old memory
295	  allocator.  really shouldn't make a difference.
296	* add Jay Bonci's Debian scripts and manpage
297	* release version 1.1.10
298
2992003-12-01 (Avva)
300	* New command: flush_all, causes all existing items to
301	  be invalidated immediately (without deleting them from
302	  memory, merely causing memcached to no longer return them).
3032003-10-23
304	* Shift init code around to fix daemon mode on FreeBSD,
305	* and drop root only after creating the server socket (to
306	* allow the use of privileged ports)
307	* version 1.1.10pre
308
3092003-10-09
310	* BSD compile fixes from Ryan T. Dean
311	* version 1.1.9
312
3132003-09-29
314	* ignore SIGPIPE at start instead of crashing in rare cases it
315	  comes up.  no other code had to be modified, since everything
316	  else is already dead-connection-aware.  (avva)
317
3182003-09-09 (Avva, Lisa Marie Seelye <[email protected]>)
319	* setuid support
320
3212003-09-05 (Avva)
322	* accept all new connections in the same event (so we work with ET epoll)
323	* mark all items as clsid=0 after slab page reassignment to please future
324	  asserts (on the road to making slab page reassignment work fully)
325
3262003-08-12 (Brad Fitzpatrick)
327	* use TCP_CORK on Linux or TCP_PUSH on BSD
328	* only use TCP_NODELAY when we don't have alternatives
329
3302003-08-10
331	* disable Nagel's Algorithm (TCP_NODELAY) for better performance (avva)
332
3332003-08-10
334	* support multiple levels of verbosity (-vv)
335
3362003-08-10  (Evan Martin)
337	* Makefile.am: debug, optimization, and static flags are controlled
338	  by the configure script.
339	* configure.ac:
340	  - allow specifying libevent directory with --with-libevent=DIR
341	  - check for malloc.h (unavailable on BSDs)
342	  - check for socklen_t (unavailable on OSX)
343	* assoc.c, items.c, slabs.c:  Remove some unused headers.
344	* memcached.c:  allow for nonexistence of malloc.h; #define a POSIX
345	  macro to import mlockall flags.
346
3472003-07-29
348	* version 1.1.7
349	* big bug fix: item exptime 0 meant expire immediately, not never
350	* version 1.1.8
351
3522003-07-22
353	* make 'delete' take second arg, of time to refuse new add/replace
354	* set/add/replace/delete can all take abs or delta time (delta can't
355	  be larger than a month)
356
3572003-07-21
358	* added doc/protocol.txt
359
3602003-07-01
361	* report CPU usage in stats
362
3632003-06-30
364	* version 1.1.6
365	* fix a number of obscure bugs
366	* more stats reporting
367
3682003-06-10
369	* removing use of Judy; use a hash.  (judy caused memory fragmentation)
370	* shrink some structures
371	* security improvements
372	* version 1.1.0
373
3742003-06-18
375	* changing maxsize back to an unsigned int
376
3772003-06-16
378	* adding PHP support
379	* added CONTRIBUTORS file
380	* version 1.0.4
381
3822003-06-15
383	* forgot to distribute website/api (still learning auto*)
384	* version 1.0.3
385
3862003-06-15
387	* update to version 1.0.2
388	* autoconf/automake fixes for older versions
389	* make stats report version number
390	* change license from GPL to BSD
391
392Fri, 13 Jun 2003 10:05:51 -0700  Evan Martin  <[email protected]>
393
394	* configure.ac, autogen.sh, Makefile.am:  Use autotools.
395	* items.c, memcached.c:  #include <time.h> for time(),
396	  printf time_t as %lu (is this correct?),
397	  minor warnings fixes.
398
399