4 <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
5 <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
9 <meta name=
"viewport" content=
"width=device-width, initial-scale=1.0">
11 <title>ChangeLog v0.x
— libmemcached
1.0.99 documentation
</title>
20 <script type=
"text/javascript" src=
"_static/js/modernizr.min.js"></script>
23 <script type=
"text/javascript" id=
"documentation_options" data-url_root=
"./" src=
"_static/documentation_options.js"></script>
24 <script type=
"text/javascript" src=
"_static/jquery.js"></script>
25 <script type=
"text/javascript" src=
"_static/underscore.js"></script>
26 <script type=
"text/javascript" src=
"_static/doctools.js"></script>
27 <script type=
"text/javascript" src=
"_static/language_data.js"></script>
29 <script type=
"text/javascript" src=
"_static/js/theme.js"></script>
34 <link rel=
"stylesheet" href=
"_static/css/theme.css" type=
"text/css" />
35 <link rel=
"stylesheet" href=
"_static/pygments.css" type=
"text/css" />
36 <link rel=
"index" title=
"Index" href=
"genindex.html" />
37 <link rel=
"search" title=
"Search" href=
"search.html" />
38 <link rel=
"copyright" title=
"Copyright" href=
"copyright.html" />
39 <link rel=
"next" title=
"Copyright" href=
"copyright.html" />
40 <link rel=
"prev" title=
"ChangeLog v1.0" href=
"ChangeLog-1.0.html" />
43 <body class=
"wy-body-for-nav">
46 <div class=
"wy-grid-for-nav">
48 <nav data-toggle=
"wy-nav-shift" class=
"wy-nav-side">
49 <div class=
"wy-side-scroll">
50 <div class=
"wy-side-nav-search" >
54 <a href=
"index.html" class=
"icon icon-home"> libmemcached
71 <form id=
"rtd-search-form" class=
"wy-form" action=
"search.html" method=
"get">
72 <input type=
"text" name=
"q" placeholder=
"Search docs" />
73 <input type=
"hidden" name=
"check_keywords" value=
"yes" />
74 <input type=
"hidden" name=
"area" value=
"default" />
81 <div class=
"wy-menu wy-menu-vertical" data-spy=
"affix" role=
"navigation" aria-label=
"main navigation">
89 <li class=
"toctree-l1"><a class=
"reference internal" href=
"libmemcached.html">Introduction
</a></li>
90 <li class=
"toctree-l1"><a class=
"reference internal" href=
"libmemcached/index.html">libmemcached API
</a></li>
91 <li class=
"toctree-l1"><a class=
"reference internal" href=
"libmemcachedutil/index.html">libmemcachedutil API
</a></li>
92 <li class=
"toctree-l1"><a class=
"reference internal" href=
"libhashkit/index.html">libhashkit API
</a></li>
93 <li class=
"toctree-l1"><a class=
"reference internal" href=
"bin/index.html">Client Applications
</a></li>
94 <li class=
"toctree-l1"><a class=
"reference internal" href=
"libmemcached/index_misc.html">Miscellaneous
</a></li>
97 <li class=
"toctree-l1 current"><a class=
"reference internal" href=
"changelogs.html">Change Logs
</a><ul class=
"current">
98 <li class=
"toctree-l2"><a class=
"reference internal" href=
"ChangeLog-1.1.html">ChangeLog v1.1
</a></li>
99 <li class=
"toctree-l2"><a class=
"reference internal" href=
"ChangeLog-1.0.html">ChangeLog v1.0
</a></li>
100 <li class=
"toctree-l2 current"><a class=
"current reference internal" href=
"#">ChangeLog v0.x
</a><ul>
101 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-53">v
0.53</a></li>
102 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-52">v
0.52</a></li>
103 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-51">v
0.51</a></li>
104 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-50">v
0.50</a></li>
105 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-49">v
0.49</a></li>
106 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-48">v
0.48</a></li>
107 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-47">v
0.47</a></li>
108 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-46">v
0.46</a></li>
109 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-45">v
0.45</a></li>
110 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-44">v
0.44</a></li>
111 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-43">v
0.43</a></li>
112 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-42">v
0.42</a></li>
113 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-41">v
0.41</a></li>
114 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-40">v
0.40</a></li>
115 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-39">v
0.39</a></li>
116 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-38">v
0.38</a></li>
117 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-37">v
0.37</a></li>
118 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-36">v
0.36</a></li>
119 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-35">v
0.35</a></li>
120 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-34">v
0.34</a></li>
121 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-33">v
0.33</a></li>
122 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-32">v
0.32</a></li>
123 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-31">v
0.31</a></li>
124 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-30">v
0.30</a></li>
125 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-29">v
0.29</a></li>
126 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-28">v
0.28</a></li>
127 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-27">v
0.27</a></li>
128 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-26">v
0.26</a></li>
129 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-25">v
0.25</a></li>
130 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-24">v
0.24</a></li>
131 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-23">v
0.23</a></li>
132 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-22">v
0.22</a></li>
133 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-21">v
0.21</a></li>
134 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-20">v
0.20</a></li>
135 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-19">v
0.19</a></li>
136 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-18">v
0.18</a></li>
137 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-17">v
0.17</a></li>
138 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-16">v
0.16</a></li>
139 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-15">v
0.15</a></li>
140 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-14">v
0.14</a></li>
141 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-13">v
0.13</a></li>
142 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-12">v
0.12</a></li>
143 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-11">v
0.11</a></li>
144 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-10">v
0.10</a></li>
145 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-9">v
0.9</a></li>
146 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-8">v
0.8</a></li>
147 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-7">v
0.7</a></li>
148 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-6">v
0.6</a></li>
149 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-5">v
0.5</a></li>
150 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-4">v
0.4</a></li>
151 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-3">v
0.3</a></li>
152 <li class=
"toctree-l3"><a class=
"reference internal" href=
"#v-0-2">v
0.2</a></li>
157 <li class=
"toctree-l1"><a class=
"reference internal" href=
"copyright.html">Copyright
</a></li>
166 <section data-toggle=
"wy-nav-shift" class=
"wy-nav-content-wrap">
169 <nav class=
"wy-nav-top" aria-label=
"top navigation">
171 <i data-toggle=
"wy-nav-top" class=
"fa fa-bars"></i>
172 <a href=
"index.html">libmemcached
</a>
177 <div class=
"wy-nav-content">
179 <div class=
"rst-content">
197 <div role=
"navigation" aria-label=
"breadcrumbs navigation">
199 <ul class=
"wy-breadcrumbs">
201 <li><a href=
"index.html">Docs
</a> »</li>
203 <li><a href=
"changelogs.html">Change Logs
</a> »</li>
205 <li>ChangeLog v0.x
</li>
208 <li class=
"wy-breadcrumbs-aside">
212 <a href=
"https://github.com/m6w6/libmemcached/blob/v1.x/docs/source/ChangeLog-0.rst" class=
"fa fa-github"> Edit on GitHub
</a>
223 <div role=
"main" class=
"document" itemscope=
"itemscope" itemtype=
"http://schema.org/Article">
224 <div itemprop=
"articleBody">
226 <div class=
"section" id=
"changelog-v0-x">
227 <h1>ChangeLog v0.x
<a class=
"headerlink" href=
"#changelog-v0-x" title=
"Permalink to this headline">¶
</a></h1>
228 <div class=
"section" id=
"v-0-53">
229 <h2>v
0.53<a class=
"headerlink" href=
"#v-0-53" title=
"Permalink to this headline">¶
</a></h2>
231 <div>released
2011-
09-
27</div></blockquote>
233 <li>Fix for FreeBSD/OpenBSD and -lm
</li>
234 <li>Added memcached_exist()
</li>
235 <li>Fix for memory when using config test.
</li>
236 <li>CLI gained --quiet
</li>
239 <div class=
"section" id=
"v-0-52">
240 <h2>v
0.52<a class=
"headerlink" href=
"#v-0-52" title=
"Permalink to this headline">¶
</a></h2>
242 <div>released
2011-
09-
12</div></blockquote>
244 <li>Build fixes for Ubuntu/Suse.
</li>
245 <li>Fixes for OSX Lion.
</li>
246 <li>Bug fix for looping back through dns lookups under certain failures.
</li>
247 <li>Fixes related to dead server failures.
</li>
250 <div class=
"section" id=
"v-0-51">
251 <h2>v
0.51<a class=
"headerlink" href=
"#v-0-51" title=
"Permalink to this headline">¶
</a></h2>
253 <div>released
2011-
07-
21</div></blockquote>
255 <li>memcached_callback_set() now takes its data argument as const
</li>
256 <li>Update to tests.
</li>
257 <li>Fix in parser for port number.
</li>
260 <div class=
"section" id=
"v-0-50">
261 <h2>v
0.50<a class=
"headerlink" href=
"#v-0-50" title=
"Permalink to this headline">¶
</a></h2>
263 <div>released
2011-
06-
20</div></blockquote>
265 <li>Updates to C++ interface
</li>
266 <li>Custom free allocators need to now check for value before calling free.
</li>
267 <li>memcached_fetch_result() now uses the internal result when available (about
25 to
50% faster).
</li>
268 <li>Fix for stats structure.
</li>
269 <li>Updates to documentation.
</li>
270 <li>memcached_fetch_result() now uses the internal result when available (about
25 to
50% faster).
</li>
273 <div class=
"section" id=
"v-0-49">
274 <h2>v
0.49<a class=
"headerlink" href=
"#v-0-49" title=
"Permalink to this headline">¶
</a></h2>
276 <div>released
2011-
04-
14</div></blockquote>
278 <li>Fix calls to auto methods so that if value is not passed in nothing bad happens.
</li>
279 <li>New parser calls for generating memcached_st objects.
</li>
280 <li>New error system.
</li>
281 <li>New flow control for messages means faster get/set calls.
</li>
282 <li>Added new documentation system.
</li>
283 <li>A behavior change has been now made that if you specify a weight for any server, we enable the weight flag and do weight balancing.
</li>
284 <li>Added MEMCACHED_BEHAVIOR_REMOVE_FAILED_SERVERS to simplify the setting of AUTO REJECT for servers.
</li>
287 <div class=
"section" id=
"v-0-48">
288 <h2>v
0.48<a class=
"headerlink" href=
"#v-0-48" title=
"Permalink to this headline">¶
</a></h2>
290 <div>released
2011-
03-
16</div></blockquote>
292 <li>Fix memory leak in server parse.
</li>
293 <li>Move test framework out to be its own library (easier to work with Gearman).
</li>
296 <div class=
"section" id=
"v-0-47">
297 <h2>v
0.47<a class=
"headerlink" href=
"#v-0-47" title=
"Permalink to this headline">¶
</a></h2>
299 <div>released
2011-
02-
24</div></blockquote>
301 <li>Additional fixes for OpenBSD.
</li>
302 <li>Bug fix
677609,
456080.
</li>
303 <li>SIGPIPE fix for Linux send().
</li>
304 <li>memcapable can now test ascii or binary based on flags.
</li>
305 <li>Additional build fixes for SASL.
</li>
308 <div class=
"section" id=
"v-0-46">
309 <h2>v
0.46<a class=
"headerlink" href=
"#v-0-46" title=
"Permalink to this headline">¶
</a></h2>
311 <div>released
2011-
02-
14</div></blockquote>
313 <li>Fixes a number of corner case bugs.
</li>
314 <li>Fixes related to OpenBSD.
</li>
315 <li>Better testing for protocol version.
</li>
316 <li>Removes special case infinite wait on blocking setup.
</li>
319 <div class=
"section" id=
"v-0-45">
320 <h2>v
0.45<a class=
"headerlink" href=
"#v-0-45" title=
"Permalink to this headline">¶
</a></h2>
322 <div>released
2011-
02-
09</div></blockquote>
324 <li>Add support for systemtap
</li>
327 <div class=
"section" id=
"v-0-44">
328 <h2>v
0.44<a class=
"headerlink" href=
"#v-0-44" title=
"Permalink to this headline">¶
</a></h2>
330 <div>released
2010-
09-
23</div></blockquote>
332 <li>Windows bug fixes.
</li>
333 <li>Hudson port support in test harness.
</li>
334 <li>Improved portability of test hanrness.
</li>
338 <div class=
"section" id=
"v-0-43">
339 <h2>v
0.43<a class=
"headerlink" href=
"#v-0-43" title=
"Permalink to this headline">¶
</a></h2>
341 <div>released
2010-
07-
28</div></blockquote>
343 <li>Added --args to memstat so that a greater range of values can be returned.
</li>
344 <li>Prelimanary support for Windows.
</li>
345 <li>memcached_stat_execute() merged.
</li>
348 <div class=
"section" id=
"v-0-42">
349 <h2>v
0.42<a class=
"headerlink" href=
"#v-0-42" title=
"Permalink to this headline">¶
</a></h2>
351 <div>released
2010-
07-
06</div></blockquote>
353 <li>Mistake in libtool caused issue with library version
</li>
356 <div class=
"section" id=
"v-0-41">
357 <h2>v
0.41<a class=
"headerlink" href=
"#v-0-41" title=
"Permalink to this headline">¶
</a></h2>
359 <div>released
2010-
06-
30</div></blockquote>
361 <li>Added --file for memcat.
</li>
362 <li>Added limemcached_ping() to libmemcached_util
</li>
363 <li>Bugfix for some cases where connect would have issues with timeout.
</li>
364 <li>Wrong value for errno given as error on an IO failure inside of poll.
</li>
365 <li>Bug fix for issue where multiple interfaces with bad DNS were not being caught.
</li>
368 <div class=
"section" id=
"v-0-40">
369 <h2>v
0.40<a class=
"headerlink" href=
"#v-0-40" title=
"Permalink to this headline">¶
</a></h2>
371 <div>released
2010-
04-
23</div></blockquote>
373 <li>Placed retry logic in for busted resolvers
</li>
374 <li>Add an ignore for SIGPIPE to solve OSX issues.
</li>
375 <li>A couple of fixed for memcached_light server.
</li>
376 <li>Updated to debug mode to track io_wait
</li>
379 <div class=
"section" id=
"v-0-39">
380 <h2>v
0.39<a class=
"headerlink" href=
"#v-0-39" title=
"Permalink to this headline">¶
</a></h2>
382 <div>released
2010-
04-
06</div></blockquote>
384 <li>Add support for prefix keys to binary protocol.
</li>
385 <li>Remove the undocumented call memcached_server_remove().
</li>
386 <li>The undocumented call memcached_server_by_key() now returns const.
</li>
387 <li>memcached_server_error_reset() has been deprecated.
</li>
388 <li>memcached_server_list() has been deprecated. Use memcached_server_cursor() to walk the servers found in a memcached_st() structure.
</li>
389 <li>memcached_verbosity() can now be run concurrently with other operations.
</li>
390 <li>SASL support.
</li>
391 <li>Fixes memory leak found in EJECT HOSTS.
</li>
394 <div class=
"section" id=
"v-0-38">
395 <h2>v
0.38<a class=
"headerlink" href=
"#v-0-38" title=
"Permalink to this headline">¶
</a></h2>
397 <div>released
2010-
02-
10</div></blockquote>
399 <li>C++ interface for libhashkit.
</li>
400 <li>Modified memcached_set_memory_allocators() so that it requires a context pointer.
</li>
401 <li>memcached_clone() now runs
5 times faster.
</li>
402 <li>Functions used for callbacks are now given const memcached_st.
</li>
403 <li>Added MEMCACHED_BEHAVIOR_CORK.
</li>
404 <li>memslap now creates a configuration file at ~/.memslap.cnf
</li>
405 <li>memcached_purge() now calls any callbacks registered during get execution.
</li>
406 <li>Many fixes to memslap.
</li>
407 <li>Updates for memcapable.
</li>
408 <li>Compile fixes for OpenBSD.
</li>
409 <li>Fix for possible recursive decent on IO failure.
</li>
412 <div class=
"section" id=
"v-0-37">
413 <h2>v
0.37<a class=
"headerlink" href=
"#v-0-37" title=
"Permalink to this headline">¶
</a></h2>
415 <div>released
2010-
01-
12</div></blockquote>
417 <li>Fixed build for libhashkit.
</li>
418 <li>Fixed install path regression.
</li>
419 <li>Modified RPM to strict check install.
</li>
420 <li>Added documentation for memcached_server_cursor();
</li>
421 <li>Added memcached_servers_reset().
</li>
422 <li>Modified memcached_st to remove dead cursor_server member.
</li>
425 <div class=
"section" id=
"v-0-36">
426 <h2>v
0.36<a class=
"headerlink" href=
"#v-0-36" title=
"Permalink to this headline">¶
</a></h2>
428 <div>released
2010-
01-
07</div></blockquote>
430 <li>Merged in new memslap utility.
</li>
431 <li>All of constants.h has been updated to match style (all old identifiers continue to work).
</li>
432 <li>Added first pass for libhashkit.
</li>
433 <li>Updated test Framework/extended tests.
</li>
434 <li>Random read support during replication added.
</li>
435 <li>Modified use_sort so that the option can be applied to any distribution type.
</li>
436 <li>We removed the MEMCACHED_BEHAVIOR_KETAMA_COMPAT_MODE added in
0.35. Instead use memcached_behavior_set_distribution().
</li>
439 <div class=
"section" id=
"v-0-35">
440 <h2>v
0.35<a class=
"headerlink" href=
"#v-0-35" title=
"Permalink to this headline">¶
</a></h2>
442 <div>released
2009-
11-
09</div></blockquote>
444 <li>Added support for by_key operations for inc/dec methods.
</li>
445 <li>Added mget test to memslap.
</li>
446 <li>Support for compatible ketama for SpyMemcached
</li>
447 <li>Update C++ interface.
</li>
448 <li>Fix for memcp
</li>
451 <div class=
"section" id=
"v-0-34">
452 <h2>v
0.34<a class=
"headerlink" href=
"#v-0-34" title=
"Permalink to this headline">¶
</a></h2>
454 <div>released
2009-
10-
13</div></blockquote>
456 <li>Added support for setting behavior flags on a connection pool.
</li>
457 <li>Don't increment server_failure_counter on normal disconnects.
</li>
458 <li>Added prototype for a callback based protocol parser (server side) with examples so that you could let your own application speak the memcached protocol
</li>
459 <li>Updated memcapable to test ASCII protocol.
</li>
460 <li>Changed behavior so that server can be removed at first sign of failure.
</li>
461 <li>Added memcached_server_get_last_disconnect() call
</li>
464 <div class=
"section" id=
"v-0-33">
465 <h2>v
0.33<a class=
"headerlink" href=
"#v-0-33" title=
"Permalink to this headline">¶
</a></h2>
467 <div>released
2009-
09-
23</div></blockquote>
469 <li>Added memcapable to test servers for binary compatibility.
</li>
470 <li>Updated C++ interface. Added basic support for C++ exceptions. Added multiple constructors the memcached client object. The C++ interface now takes parameters which are C++ types (such as std::string).
</li>
471 <li>Several bug fixes for binary protocol support.
</li>
472 <li>Fixed crashing issue with dumping from memcachd server (server internals were changed without documenting change).
</li>
475 <div class=
"section" id=
"v-0-32">
476 <h2>v
0.32<a class=
"headerlink" href=
"#v-0-32" title=
"Permalink to this headline">¶
</a></h2>
478 <div>released
2009-
09-
15</div></blockquote>
480 <li>Change of behavior where linger is only modified for no-block and then it is set to zero.
</li>
481 <li>Added Twitter's memcached_server_error() functions.
</li>
482 <li>Fix for OSX compiles in development builds.
</li>
483 <li>Updated C++ interface.
</li>
484 <li>Updated memcached_mget and memcached_mget_by_key to take a size_t as a parameter instead of an unsigned int for number_of_keys.
</li>
487 <div class=
"section" id=
"v-0-31">
488 <h2>v
0.31<a class=
"headerlink" href=
"#v-0-31" title=
"Permalink to this headline">¶
</a></h2>
490 <div>released
2009-
07-
10</div></blockquote>
492 <li>Added support or HA via replication.
</li>
493 <li>malloc() removed for server key usage.
</li>
494 <li>Update build system.
</li>
495 <li>Added support for memcached_set_memory_allocators().
</li>
496 <li>Fixed bug in configure.ac for have_htoll.
</li>
499 <div class=
"section" id=
"v-0-30">
500 <h2>v
0.30<a class=
"headerlink" href=
"#v-0-30" title=
"Permalink to this headline">¶
</a></h2>
502 <div>released
2009-
06-
01</div></blockquote>
504 <li>Added memcachd_dump command (and framework for memdump tool).
</li>
505 <li>Realigned all structures to remove padding (and line up important bits for
64bit caches.
</li>
506 <li>Remove some of sprintf() in storage calls().
</li>
507 <li>Removed printf() in stat call for unknown stat member.
</li>
508 <li>memcached_generate_hash() function added.
</li>
509 <li>Added tests to make sure all hash functions are stable.
</li>
512 <div class=
"section" id=
"v-0-29">
513 <h2>v
0.29<a class=
"headerlink" href=
"#v-0-29" title=
"Permalink to this headline">¶
</a></h2>
515 <div>released
2009-
05-
19</div></blockquote>
517 <li>Fixed malloc usage to calloc for spots where we need zero filled memory.
</li>
518 <li>All code warnings now treated as errors.
</li>
519 <li>Fixes for debian packaging.
</li>
520 <li>Added new pooling mechanism.
</li>
521 <li>MEMCACHED_BEHAVIOR_NO_BLOCK no longer also sets MEMCACHED_BEHAVIOR_BUFFER_REQUESTS.
</li>
522 <li>Updated generic rpm.
</li>
525 <div class=
"section" id=
"v-0-28">
526 <h2>v
0.28<a class=
"headerlink" href=
"#v-0-28" title=
"Permalink to this headline">¶
</a></h2>
528 <div>released
2009-
04-
15</div></blockquote>
530 <li>Fixed bug in init sructure (reapplied)
</li>
531 <li>Fixed bug in get/set by key (
<a class=
"reference external" href=
"mailto:nikkhils%40gmail.com">nikkhils
<span>@</span>gmail
<span>.</span>com
</a>)
</li>
534 <div class=
"section" id=
"v-0-27">
535 <h2>v
0.27<a class=
"headerlink" href=
"#v-0-27" title=
"Permalink to this headline">¶
</a></h2>
537 <div>released
2009-
03-
30</div></blockquote>
539 <li>Added new UDP fire-forget mode.
</li>
540 <li>Reworked performance for mget() to better make use of async protocol
</li>
541 <li>Cleaned up execution of fetch (just one set of code now)
</li>
542 <li>Fixed Jenkin's for big endian hosts.
</li>
543 <li>Updates for memstat to determine network latency.
</li>
544 <li>Updates for binary protocol.
</li>
545 <li>Many updates to documentation.
</li>
548 <div class=
"section" id=
"v-0-26">
549 <h2>v
0.26<a class=
"headerlink" href=
"#v-0-26" title=
"Permalink to this headline">¶
</a></h2>
551 <div>released
2009-
01-
29</div></blockquote>
553 <li>Fix for decrement on hash key
</li>
554 <li>Fixed assert that was catching bad memset() call in host_reset()
</li>
555 <li>Fix purge issue for blocked IO which has been stacked.
</li>
558 <div class=
"section" id=
"v-0-25">
559 <h2>v
0.25<a class=
"headerlink" href=
"#v-0-25" title=
"Permalink to this headline">¶
</a></h2>
561 <div>released
2008-
11-
28</div></blockquote>
563 <li>Jenkins HASH added.
</li>
564 <li>Update of Murmur hash code
</li>
565 <li>Support explicit weights (Robey Pointer, Evan Weaver)
</li>
566 <li>Bugfix for ketama continuum (Robey Pointer)
</li>
567 <li>New behavior MEMCACHED_BEHAVIOR_HASH_WITH_PREFIX_KEY (Robey Pointer)
</li>
568 <li>Don't ever call stats for weighting servers, because it is unstable.
</li>
571 <div class=
"section" id=
"v-0-24">
572 <h2>v
0.24<a class=
"headerlink" href=
"#v-0-24" title=
"Permalink to this headline">¶
</a></h2>
574 <div>released
2008-
09-
16</div></blockquote>
576 <li>Cleanup compile warnings.
</li>
577 <li>Fix issues in partitioning by keys.
</li>
578 <li>Fixed
"fail case
" to make sure when calling memcached_clone() no memcached_st is over written.
</li>
579 <li>New memcached_server_by_key() method for finding a server from a key.
</li>
580 <li>memcached_server_free() was added for freeing server structures.
</li>
583 <div class=
"section" id=
"v-0-23">
584 <h2>v
0.23<a class=
"headerlink" href=
"#v-0-23" title=
"Permalink to this headline">¶
</a></h2>
586 <div>released
2008-
09-
07</div></blockquote>
588 <li>Added strings.h header for Solaris
9</li>
589 <li>Solaris
64bit fix.
</li>
590 <li>Support for weighted Ketama from Yin Chen.
</li>
591 <li>Fix for Chinese
</li>
592 <li>Fix for
0 length key to trigger bad key.
</li>
593 <li>Added behaviors MEMCACHED_BEHAVIOR_SND_TIMEOUT, MEMCACHED_BEHAVIOR_RCV_TIMEOUT
</li>
594 <li>Support for Binary Protocol added
</li>
597 <div class=
"section" id=
"v-0-22">
598 <h2>v
0.22<a class=
"headerlink" href=
"#v-0-22" title=
"Permalink to this headline">¶
</a></h2>
600 <div>released
2008-
07-
14</div></blockquote>
602 <li>Fix where master key was no being checked for
"bad key
"</li>
603 <li>Fixed bugs in stats output (thread output was wrong)
</li>
604 <li>Clarified MEMCACHED_BAD_KEY_PROVIDED is return for bad prefix key.
</li>
605 <li>Found a bug in Flags return (Jacek Ostrowski)
</li>
606 <li>Fixed issue with compiling on Visual Studio
</li>
609 <div class=
"section" id=
"v-0-21">
610 <h2>v
0.21<a class=
"headerlink" href=
"#v-0-21" title=
"Permalink to this headline">¶
</a></h2>
612 <div>released
2008-
05-
24</div></blockquote>
614 <li>Change of char * to const char * for all key based functions.
</li>
615 <li>New MEMCACHED_CALLBACK_PREFIX_KEY added. You can now create domains for values.
</li>
616 <li>Fixed bug introducd in last version on memcp
</li>
617 <li>Fix for death of file io to call shutdown()
</li>
620 <div class=
"section" id=
"v-0-20">
621 <h2>v
0.20<a class=
"headerlink" href=
"#v-0-20" title=
"Permalink to this headline">¶
</a></h2>
623 <div>released
2008-
05-
05</div></blockquote>
625 <li>New consistent distribution tests.
</li>
626 <li>Found a memory leak when a server constantly fails.
</li>
627 <li>Fix in watchpoint macro
</li>
628 <li>Changed default timeout to
1 second for poll timeouts
</li>
629 <li>Wheel uses less memory/dynamic allocation for size (no longer limited to
512 hosts by default.
</li>
630 <li>memslap memory leak fix
</li>
631 <li>Added Ketama distribution
</li>
632 <li>Fix assert.h compile problem on CentOS
</li>
635 <div class=
"section" id=
"v-0-19">
636 <h2>v
0.19<a class=
"headerlink" href=
"#v-0-19" title=
"Permalink to this headline">¶
</a></h2>
638 <div>released
2008-
04-
09</div></blockquote>
640 <li>Documentation fix in libmemcached.
</li>
641 <li>Fixed bug where sort was always occuring on hosts
</li>
642 <li>Logic fix in branch prediction (thanks Jay!)
</li>
643 <li>Read through cached support.
</li>
644 <li>Fixed for cas by key operation.
</li>
645 <li>Fix for memcached_server_st list structures to have correct count.
</li>
646 <li>Added callback MEMCACHED_CALLBACK_DELETE_TRIGGER
</li>
647 <li>Removed function call in favor of macro (aka cut out some instructions)
</li>
650 <div class=
"section" id=
"v-0-18">
651 <h2>v
0.18<a class=
"headerlink" href=
"#v-0-18" title=
"Permalink to this headline">¶
</a></h2>
653 <div>released
2008-
03-
17</div></blockquote>
655 <li>Fix plus tests for non-zero value objects and flags.
</li>
656 <li>MEMCACHED_HASH_MURMUR added for murmur algorithm provided.
</li>
657 <li>MEMCACHED_BEHAVIOR_RETRY_TIMEOUT added to keep connecting from looping on timeout.
</li>
658 <li>gcc branch prediction optimizations
</li>
659 <li>Refactored entire tree to make include files cleaner
</li>
660 <li>Fixed leaked socket.
</li>
663 <div class=
"section" id=
"v-0-17">
664 <h2>v
0.17<a class=
"headerlink" href=
"#v-0-17" title=
"Permalink to this headline">¶
</a></h2>
666 <div>released
2008-
02-
27</div></blockquote>
668 <li>MEMCACHED_BEHAVIOR_CONNECT_TIMEOUT added for connect timeout in non-block mode.
</li>
669 <li>Incompatible change in memcached_behavior_set() api. We now use a uint64_t, instead of a pointer.
</li>
670 <li>Fix for storage of values for zero.
</li>
671 <li>memcached_server_cursor() function added to API for cycling through servers.
</li>
674 <div class=
"section" id=
"v-0-16">
675 <h2>v
0.16<a class=
"headerlink" href=
"#v-0-16" title=
"Permalink to this headline">¶
</a></h2>
677 <div>released
2008-
02-
18</div></blockquote>
679 <li>Work on the UDP protocol
</li>
680 <li>Added get_by_key, set_by_key tests for C++ API
</li>
681 <li>Fix for limit_maxbytes to be
64bit in stats
</li>
682 <li>Added Atom Smasher test (scale baby, scale!)
</li>
683 <li>Servers are now sorted, meaning that servers are now ordered so that clients with the same lists, will have same distribution. (Idea from Ross McFarland). MEMCACHED_BEHAVIOR_SORT_HOSTS was added to enable this support.
</li>
684 <li>Added MEMCACHED_BAD_KEY_PROVIDED error for auto, set, and get operations. MEMCACHED_BEHAVIOR_VERIFY_KEY was added to enable this feature.
</li>
685 <li>More error messages on command line tools.
</li>
686 <li>Fixed bugs in memcached_cas() operator.
</li>
687 <li>Fix to loop through interfaces
</li>
690 <div class=
"section" id=
"v-0-15">
691 <h2>v
0.15<a class=
"headerlink" href=
"#v-0-15" title=
"Permalink to this headline">¶
</a></h2>
693 <div>released
2008-
01-
29</div></blockquote>
695 <li>More work on the C++ API.
</li>
696 <li>Bug fixes around block corner cases.
</li>
697 <li>Slight performance increase in both read() and write().
</li>
700 <div class=
"section" id=
"v-0-14">
701 <h2>v
0.14<a class=
"headerlink" href=
"#v-0-14" title=
"Permalink to this headline">¶
</a></h2>
703 <div>released
2008-
01-
22</div></blockquote>
705 <li>For for bug found by Evan Weaver where increment() was not returning propper error of value was not found.
</li>
706 <li>Fix for bad null pointer on flag by Toru Maesaka.
</li>
707 <li>Refactor of all IO to just pass in the active server
</li>
708 <li>Problem configuring (PKG_CHECK_MODULES) fixed by removal of
"rpath
" in support/libmemcached.pc.in (Thanks to Ross McFarland).
</li>
709 <li>Added memcached_callback_get()/set()
</li>
710 <li>First prototype of C++ interface
</li>
711 <li>Updated docs for uint16_t changes in previous release
</li>
714 <div class=
"section" id=
"v-0-13">
715 <h2>v
0.13<a class=
"headerlink" href=
"#v-0-13" title=
"Permalink to this headline">¶
</a></h2>
717 <div>released
2008-
01-
13</div></blockquote>
719 <li>MEMCACHED_BEHAVIOR_USER_DATA added to store user pointer.
</li>
720 <li>Fix for failure to connect to invalidate socket.
</li>
721 <li>Patch from Marc Rossi to add --hash option for memcp, memrm, and memcat.
</li>
722 <li>Kevin's patch for fixing EOF issues during a read.
</li>
723 <li>Toru Maesaka patch for stats mismatch
</li>
724 <li>Fix for when CRC return
0</li>
725 <li>Fixed uint16_t issues around flags. Turns out the documentation on the protocol was wrong.
</li>
726 <li>Lingering socket fixes for FreeBSD.
</li>
727 <li>Patches from Kevin Dalley for FreeBSD
4.0</li>
728 <li>Added multi delete functions.
</li>
729 <li>All get key returns have C style null termination
</li>
730 <li>If memcached_server_list_append is passed NULLs instead of pointers it returns NULL.
</li>
731 <li>Added memcached_fetch_execute() method
</li>
732 <li>Found a bug where memcached_fetch() was not null terminating the result value.
</li>
733 <li>memcached_behavior() now has the ability to set
"buffering
" so that data is not automatically flushed.
</li>
734 <li>Behavior change, buffered commands now return MEMCACHED_BUFFERED
</li>
737 <div class=
"section" id=
"v-0-12">
738 <h2>v
0.12<a class=
"headerlink" href=
"#v-0-12" title=
"Permalink to this headline">¶
</a></h2>
740 <div>released
2007-
12-
11</div></blockquote>
742 <li>Updates for consistent hashing
</li>
743 <li>IPV6 support
</li>
744 <li>Static allocation for hostname (performance)
</li>
745 <li>Fixed bug where in non-block mode all data might not have been sent on close().
</li>
746 <li>Refactor of memcached_get() to use common code.
</li>
747 <li>Change in value fetch, MEMCACHED_END is now returned when keys are no longer in the pipe.
</li>
748 <li>Fixed bug where key could be out of range of characters
</li>
749 <li>Added _by_key() methods to allow partitioning of values to particular servers.
</li>
750 <li>MEMCACHED_DEFAILT_TIMEOUT is now set to a non -
1 value.
</li>
751 <li>Performance improvements in get operations.
</li>
754 <div class=
"section" id=
"v-0-11">
755 <h2>v
0.11<a class=
"headerlink" href=
"#v-0-11" title=
"Permalink to this headline">¶
</a></h2>
757 <div>released
2007-
11-
26</div></blockquote>
759 <li>Added option to memcache_behavior_set() so that poll() can be timed out.
</li>
760 <li>Fixed memory leak in case of using memcached_fetch_result() where no value was returned.
</li>
761 <li>Bug fixed in memcached_connect() which would cause servers that did not need to be enabled to be enabled (performance issue).
</li>
762 <li>Rewrote bounds checking code for get calls.
</li>
763 <li>"make test
" now starts its own memcached servers.
</li>
764 <li>Added Hseih hash (MEMCACHED_HASH_HSIEH), which is showing about
7% performance over standard hash.
</li>
767 <div class=
"section" id=
"v-0-10">
768 <h2>v
0.10<a class=
"headerlink" href=
"#v-0-10" title=
"Permalink to this headline">¶
</a></h2>
770 <div>released
2007-
11-
21</div></blockquote>
772 <li>Added append binary test.
</li>
773 <li>Added MEMCACHED_BEHAVIOR_CACHE_LOOKUPS behavior so that you can save on multiple DNS lookups.
</li>
774 <li>Added CAS support, though this is optional and must be enabled during runtime.
</li>
775 <li>Added the utility memerror to create human readable error strings from memcached errors (aka convert ints to strings)
</li>
776 <li>Fixed type in MEMCACHED_HOST_LOOKUP_FAILURE
</li>
777 <li>Fixed bug where hostname might not be null terminated
</li>
778 <li>Moved to using gethostbyname_r() on Linux to solve thread safety issue
</li>
779 <li>Added -rpath support for pkg-config
</li>
780 <li>Documentation fix for hash setting using memcached_behavior_set()
</li>
783 <div class=
"section" id=
"v-0-9">
784 <h2>v
0.9<a class=
"headerlink" href=
"#v-0-9" title=
"Permalink to this headline">¶
</a></h2>
786 <div>released
2007-
11-
15</div></blockquote>
788 <li>fix for when no servers are definied.
</li>
789 <li>different buffers are now kept for different connections to speed up async efforts
</li>
790 <li>Modified increment/decrement functions to return uint64_t values
</li>
791 <li>Fixed bug in cases where zero length keys were provided
</li>
792 <li>Thread cleanup issue in memslap
</li>
793 <li>No hostname lookup on reconnect
</li>
794 <li>Fix for flag settings (was doing hex by accident!)
</li>
795 <li>Support for
1.2.4 server additions
"prepend
" and
"append
" added.
</li>
796 <li>Added memcached_version()... not sure if I will make this public or not.
</li>
799 <div class=
"section" id=
"v-0-8">
800 <h2>v
0.8<a class=
"headerlink" href=
"#v-0-8" title=
"Permalink to this headline">¶
</a></h2>
802 <div>released
2007-
11-
05</div></blockquote>
804 <li>Adding support for CRC hash method
</li>
805 <li>Adding support for UNIX sockets
</li>
806 <li>Added additional HASHing methods of FNV1_64,FNV1A_64, FNV1_32, FNV1A_32
</li>
807 <li>Added pkgconfig support (PKG_CHECK_MODULES)
</li>
808 <li>Fixed conflict with defined type in MySQL
</li>
809 <li>Added memcached_result_st structure and functions to manipulate it.
</li>
812 <div class=
"section" id=
"v-0-7">
813 <h2>v
0.7<a class=
"headerlink" href=
"#v-0-7" title=
"Permalink to this headline">¶
</a></h2>
815 <div>released
2007-
10-
30</div></blockquote>
817 <li>Poved to poll() from select()
</li>
818 <li>Fixes in internal string class for allocation of large numbers of strings.
</li>
819 <li>memcached_mget() function now sends keys as it parses them instead of building strings as it goes.
</li>
820 <li>Propper flush now for making sure we get all IO sent even when in non-block mode.
</li>
821 <li>Added --enable-debug rule for configure
</li>
822 <li>All asserts() removed (hey this is going into production!)
</li>
825 <div class=
"section" id=
"v-0-6">
826 <h2>v
0.6<a class=
"headerlink" href=
"#v-0-6" title=
"Permalink to this headline">¶
</a></h2>
828 <div>released
2007-
10-
17</div></blockquote>
830 <li>get value returns are now null terminated (request by Cal Heldenbrand)
</li>
831 <li>Fixed connections for more hosts then two.
</li>
832 <li>Rewrite of the read/write IO systems to handle different sorts of host failures.
</li>
833 <li>Added man pages for all functions and tools
</li>
834 <li>Raised buffer size for readinng/writing to
16K
</li>
835 <li>You can now optionally set the socket size for recv/send via memached_behavior_set/get.
</li>
838 <div class=
"section" id=
"v-0-5">
839 <h2>v
0.5<a class=
"headerlink" href=
"#v-0-5" title=
"Permalink to this headline">¶
</a></h2>
841 <div>released
2007-
10-
09</div></blockquote>
843 <li>Ruby maintainer mentioned TCP_NODELAY patch he had added. Added this to C
844 library as well. (Eric Hodel
<a class=
"reference external" href=
"mailto:drbrain%40segment7.net">drbrain
<span>@</span>segment7
<span>.</span>net
</a>)
</li>
845 <li>Added support script for set_benchmark
</li>
846 <li>Updated memslap to allow testing of TCP_NODELAY
</li>
847 <li>Updated memslap to support --flush (aka dump memcache servers before testing)
</li>
848 <li>Fixed bug in multiple hosts not being activated
</li>
849 <li>Added environmental variable MEMCACHED_SERVERS which can be used to set the servers list.
</li>
850 <li>fixed memcached_stat method (and now memstat works)
</li>
851 <li>server connect now happens on demand.
</li>
852 <li>Help for all command line applications
</li>
855 <div class=
"section" id=
"v-0-4">
856 <h2>v
0.4<a class=
"headerlink" href=
"#v-0-4" title=
"Permalink to this headline">¶
</a></h2>
858 <div>released
2007-
10-
03</div></blockquote>
860 <li>Added buffered IO to write calls for keys
</li>
861 <li>Added buffered IO for reads
</li>
862 <li>memstat was broken (bad if/else on connect)
</li>
863 <li>New non-blocking IO (not default yet). Mucho faster
</li>
864 <li>Refactor of test system.
</li>
865 <li>memslap crash solved
</li>
868 <div class=
"section" id=
"v-0-3">
869 <h2>v
0.3<a class=
"headerlink" href=
"#v-0-3" title=
"Permalink to this headline">¶
</a></h2>
871 <div>released
2007-
10-
01</div></blockquote>
873 <li>Jeff Fisher
<a class=
"reference external" href=
"mailto:guppy%40techmonkeys.org">guppy
<span>@</span>techmonkeys
<span>.</span>org
</a> provided a spec file
</li>
874 <li>Added
"make rpm
" around dist file
</li>
875 <li>Added support for Solaris
</li>
876 <li>Added support for DTrace
</li>
877 <li>Fixed read to be recv and write to be send
</li>
878 <li>Bug fix where memstat would core if no server was found
</li>
879 <li>Added memslap tool (load generator)
</li>
880 <li>Numerous bug fixes in library
</li>
881 <li>Added calls to library for creating host lists (see text cases to understand how to use this).
</li>
884 <div class=
"section" id=
"v-0-2">
885 <h2>v
0.2<a class=
"headerlink" href=
"#v-0-2" title=
"Permalink to this headline">¶
</a></h2>
887 <div>released
2007-
09-
27</div></blockquote>
889 <li>First public version
</li>
900 <div class=
"rst-footer-buttons" role=
"navigation" aria-label=
"footer navigation">
902 <a href=
"copyright.html" class=
"btn btn-neutral float-right" title=
"Copyright" accesskey=
"n" rel=
"next">Next
<span class=
"fa fa-arrow-circle-right"></span></a>
905 <a href=
"ChangeLog-1.0.html" class=
"btn btn-neutral float-left" title=
"ChangeLog v1.0" accesskey=
"p" rel=
"prev"><span class=
"fa fa-arrow-circle-left"></span> Previous
</a>
912 <div role=
"contentinfo">
914 © <a href=
"copyright.html">Copyright
</a>
918 Built with
<a href=
"http://sphinx-doc.org/">Sphinx
</a> using a
<a href=
"https://github.com/rtfd/sphinx_rtd_theme">theme
</a> provided by
<a href=
"https://readthedocs.org">Read the Docs
</a>.
931 <script type=
"text/javascript">
933 SphinxRtdTheme.Navigation.enable(true);