Deploy to GitHub pages
[awesomized/libmemcached] / ChangeLog-0.html
1
2
3 <!DOCTYPE html>
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]-->
6 <head>
7 <meta charset="utf-8">
8
9 <meta name="viewport" content="width=device-width, initial-scale=1.0">
10
11 <title>ChangeLog v0.x &mdash; libmemcached-awesome 1.1.4 documentation</title>
12
13
14
15
16
17
18
19
20 <script type="text/javascript" src="_static/js/modernizr.min.js"></script>
21
22
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>
28
29 <script type="text/javascript" src="_static/js/theme.js"></script>
30
31
32
33
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="Bugs, Known Issues and Insufficiencies" href="issues.html" />
40 <link rel="prev" title="ChangeLog v1.0" href="ChangeLog-1.0.html" />
41 </head>
42
43 <body class="wy-body-for-nav">
44
45
46 <div class="wy-grid-for-nav">
47
48 <nav data-toggle="wy-nav-shift" class="wy-nav-side">
49 <div class="wy-side-scroll">
50 <div class="wy-side-nav-search" >
51
52
53
54 <a href="index.html" class="icon icon-home"> libmemcached-awesome
55
56
57
58 </a>
59
60
61
62
63 <div class="version">
64 1.1
65 </div>
66
67
68
69
70 <div role="search">
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" />
75 </form>
76 </div>
77
78
79 </div>
80
81 <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
82
83
84
85
86
87
88 <ul>
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>
95 </ul>
96 <ul class="current">
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>
153 </ul>
154 </li>
155 </ul>
156 </li>
157 <li class="toctree-l1"><a class="reference internal" href="issues.html">Known issues</a></li>
158 <li class="toctree-l1"><a class="reference internal" href="copyright.html">Copyright</a></li>
159 </ul>
160
161
162
163 </div>
164 </div>
165 </nav>
166
167 <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
168
169
170 <nav class="wy-nav-top" aria-label="top navigation">
171
172 <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
173 <a href="index.html">libmemcached-awesome</a>
174
175 </nav>
176
177
178 <div class="wy-nav-content">
179
180 <div class="rst-content">
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198 <div role="navigation" aria-label="breadcrumbs navigation">
199
200 <ul class="wy-breadcrumbs">
201
202 <li><a href="index.html">Docs</a> &raquo;</li>
203
204 <li><a href="changelogs.html">Change Logs</a> &raquo;</li>
205
206 <li>ChangeLog v0.x</li>
207
208
209 <li class="wy-breadcrumbs-aside">
210
211
212
213 <a href="https://github.com/awesomized/libmemcached/blob/v1.x/docs/source/ChangeLog-0.rst" class="fa fa-github"> Edit on GitHub</a>
214
215
216
217 </li>
218
219 </ul>
220
221
222 <hr/>
223 </div>
224 <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
225 <div itemprop="articleBody">
226
227 <div class="section" id="changelog-v0-x">
228 <h1>ChangeLog v0.x<a class="headerlink" href="#changelog-v0-x" title="Permalink to this headline"></a></h1>
229 <div class="section" id="v-0-53">
230 <h2>v 0.53<a class="headerlink" href="#v-0-53" title="Permalink to this headline"></a></h2>
231 <blockquote>
232 <div>released 2011-09-27</div></blockquote>
233 <ul class="simple">
234 <li>Fix for FreeBSD/OpenBSD and -lm</li>
235 <li>Added memcached_exist()</li>
236 <li>Fix for memory when using config test.</li>
237 <li>CLI gained --quiet</li>
238 </ul>
239 </div>
240 <div class="section" id="v-0-52">
241 <h2>v 0.52<a class="headerlink" href="#v-0-52" title="Permalink to this headline"></a></h2>
242 <blockquote>
243 <div>released 2011-09-12</div></blockquote>
244 <ul class="simple">
245 <li>Build fixes for Ubuntu/Suse.</li>
246 <li>Fixes for OSX Lion.</li>
247 <li>Bug fix for looping back through dns lookups under certain failures.</li>
248 <li>Fixes related to dead server failures.</li>
249 </ul>
250 </div>
251 <div class="section" id="v-0-51">
252 <h2>v 0.51<a class="headerlink" href="#v-0-51" title="Permalink to this headline"></a></h2>
253 <blockquote>
254 <div>released 2011-07-21</div></blockquote>
255 <ul class="simple">
256 <li>memcached_callback_set() now takes its data argument as const</li>
257 <li>Update to tests.</li>
258 <li>Fix in parser for port number.</li>
259 </ul>
260 </div>
261 <div class="section" id="v-0-50">
262 <h2>v 0.50<a class="headerlink" href="#v-0-50" title="Permalink to this headline"></a></h2>
263 <blockquote>
264 <div>released 2011-06-20</div></blockquote>
265 <ul class="simple">
266 <li>Updates to C++ interface</li>
267 <li>Custom free allocators need to now check for value before calling free.</li>
268 <li>memcached_fetch_result() now uses the internal result when available (about 25 to 50% faster).</li>
269 <li>Fix for stats structure.</li>
270 <li>Updates to documentation.</li>
271 <li>memcached_fetch_result() now uses the internal result when available (about 25 to 50% faster).</li>
272 </ul>
273 </div>
274 <div class="section" id="v-0-49">
275 <h2>v 0.49<a class="headerlink" href="#v-0-49" title="Permalink to this headline"></a></h2>
276 <blockquote>
277 <div>released 2011-04-14</div></blockquote>
278 <ul class="simple">
279 <li>Fix calls to auto methods so that if value is not passed in nothing bad happens.</li>
280 <li>New parser calls for generating memcached_st objects.</li>
281 <li>New error system.</li>
282 <li>New flow control for messages means faster get/set calls.</li>
283 <li>Added new documentation system.</li>
284 <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>
285 <li>Added MEMCACHED_BEHAVIOR_REMOVE_FAILED_SERVERS to simplify the setting of AUTO REJECT for servers.</li>
286 </ul>
287 </div>
288 <div class="section" id="v-0-48">
289 <h2>v 0.48<a class="headerlink" href="#v-0-48" title="Permalink to this headline"></a></h2>
290 <blockquote>
291 <div>released 2011-03-16</div></blockquote>
292 <ul class="simple">
293 <li>Fix memory leak in server parse.</li>
294 <li>Move test framework out to be its own library (easier to work with Gearman).</li>
295 </ul>
296 </div>
297 <div class="section" id="v-0-47">
298 <h2>v 0.47<a class="headerlink" href="#v-0-47" title="Permalink to this headline"></a></h2>
299 <blockquote>
300 <div>released 2011-02-24</div></blockquote>
301 <ul class="simple">
302 <li>Additional fixes for OpenBSD.</li>
303 <li>Bug fix 677609, 456080.</li>
304 <li>SIGPIPE fix for Linux send().</li>
305 <li>memcapable can now test ascii or binary based on flags.</li>
306 <li>Additional build fixes for SASL.</li>
307 </ul>
308 </div>
309 <div class="section" id="v-0-46">
310 <h2>v 0.46<a class="headerlink" href="#v-0-46" title="Permalink to this headline"></a></h2>
311 <blockquote>
312 <div>released 2011-02-14</div></blockquote>
313 <ul class="simple">
314 <li>Fixes a number of corner case bugs.</li>
315 <li>Fixes related to OpenBSD.</li>
316 <li>Better testing for protocol version.</li>
317 <li>Removes special case infinite wait on blocking setup.</li>
318 </ul>
319 </div>
320 <div class="section" id="v-0-45">
321 <h2>v 0.45<a class="headerlink" href="#v-0-45" title="Permalink to this headline"></a></h2>
322 <blockquote>
323 <div>released 2011-02-09</div></blockquote>
324 <ul class="simple">
325 <li>Add support for systemtap</li>
326 </ul>
327 </div>
328 <div class="section" id="v-0-44">
329 <h2>v 0.44<a class="headerlink" href="#v-0-44" title="Permalink to this headline"></a></h2>
330 <blockquote>
331 <div>released 2010-09-23</div></blockquote>
332 <ul class="simple">
333 <li>Windows bug fixes.</li>
334 <li>Hudson port support in test harness.</li>
335 <li>Improved portability of test hanrness.</li>
336 <li>SASL fixes.</li>
337 </ul>
338 </div>
339 <div class="section" id="v-0-43">
340 <h2>v 0.43<a class="headerlink" href="#v-0-43" title="Permalink to this headline"></a></h2>
341 <blockquote>
342 <div>released 2010-07-28</div></blockquote>
343 <ul class="simple">
344 <li>Added --args to memstat so that a greater range of values can be returned.</li>
345 <li>Prelimanary support for Windows.</li>
346 <li>memcached_stat_execute() merged.</li>
347 </ul>
348 </div>
349 <div class="section" id="v-0-42">
350 <h2>v 0.42<a class="headerlink" href="#v-0-42" title="Permalink to this headline"></a></h2>
351 <blockquote>
352 <div>released 2010-07-06</div></blockquote>
353 <ul class="simple">
354 <li>Mistake in libtool caused issue with library version</li>
355 </ul>
356 </div>
357 <div class="section" id="v-0-41">
358 <h2>v 0.41<a class="headerlink" href="#v-0-41" title="Permalink to this headline"></a></h2>
359 <blockquote>
360 <div>released 2010-06-30</div></blockquote>
361 <ul class="simple">
362 <li>Added --file for memcat.</li>
363 <li>Added limemcached_ping() to libmemcached_util</li>
364 <li>Bugfix for some cases where connect would have issues with timeout.</li>
365 <li>Wrong value for errno given as error on an IO failure inside of poll.</li>
366 <li>Bug fix for issue where multiple interfaces with bad DNS were not being caught.</li>
367 </ul>
368 </div>
369 <div class="section" id="v-0-40">
370 <h2>v 0.40<a class="headerlink" href="#v-0-40" title="Permalink to this headline"></a></h2>
371 <blockquote>
372 <div>released 2010-04-23</div></blockquote>
373 <ul class="simple">
374 <li>Placed retry logic in for busted resolvers</li>
375 <li>Add an ignore for SIGPIPE to solve OSX issues.</li>
376 <li>A couple of fixed for memcached_light server.</li>
377 <li>Updated to debug mode to track io_wait</li>
378 </ul>
379 </div>
380 <div class="section" id="v-0-39">
381 <h2>v 0.39<a class="headerlink" href="#v-0-39" title="Permalink to this headline"></a></h2>
382 <blockquote>
383 <div>released 2010-04-06</div></blockquote>
384 <ul class="simple">
385 <li>Add support for prefix keys to binary protocol.</li>
386 <li>Remove the undocumented call memcached_server_remove().</li>
387 <li>The undocumented call memcached_server_by_key() now returns const.</li>
388 <li>memcached_server_error_reset() has been deprecated.</li>
389 <li>memcached_server_list() has been deprecated. Use memcached_server_cursor() to walk the servers found in a memcached_st() structure.</li>
390 <li>memcached_verbosity() can now be run concurrently with other operations.</li>
391 <li>SASL support.</li>
392 <li>Fixes memory leak found in EJECT HOSTS.</li>
393 </ul>
394 </div>
395 <div class="section" id="v-0-38">
396 <h2>v 0.38<a class="headerlink" href="#v-0-38" title="Permalink to this headline"></a></h2>
397 <blockquote>
398 <div>released 2010-02-10</div></blockquote>
399 <ul class="simple">
400 <li>C++ interface for libhashkit.</li>
401 <li>Modified memcached_set_memory_allocators() so that it requires a context pointer.</li>
402 <li>memcached_clone() now runs 5 times faster.</li>
403 <li>Functions used for callbacks are now given const memcached_st.</li>
404 <li>Added MEMCACHED_BEHAVIOR_CORK.</li>
405 <li>memslap now creates a configuration file at ~/.memslap.cnf</li>
406 <li>memcached_purge() now calls any callbacks registered during get execution.</li>
407 <li>Many fixes to memslap.</li>
408 <li>Updates for memcapable.</li>
409 <li>Compile fixes for OpenBSD.</li>
410 <li>Fix for possible recursive decent on IO failure.</li>
411 </ul>
412 </div>
413 <div class="section" id="v-0-37">
414 <h2>v 0.37<a class="headerlink" href="#v-0-37" title="Permalink to this headline"></a></h2>
415 <blockquote>
416 <div>released 2010-01-12</div></blockquote>
417 <ul class="simple">
418 <li>Fixed build for libhashkit.</li>
419 <li>Fixed install path regression.</li>
420 <li>Modified RPM to strict check install.</li>
421 <li>Added documentation for memcached_server_cursor();</li>
422 <li>Added memcached_servers_reset().</li>
423 <li>Modified memcached_st to remove dead cursor_server member.</li>
424 </ul>
425 </div>
426 <div class="section" id="v-0-36">
427 <h2>v 0.36<a class="headerlink" href="#v-0-36" title="Permalink to this headline"></a></h2>
428 <blockquote>
429 <div>released 2010-01-07</div></blockquote>
430 <ul class="simple">
431 <li>Merged in new memslap utility.</li>
432 <li>All of constants.h has been updated to match style (all old identifiers continue to work).</li>
433 <li>Added first pass for libhashkit.</li>
434 <li>Updated test Framework/extended tests.</li>
435 <li>Random read support during replication added.</li>
436 <li>Modified use_sort so that the option can be applied to any distribution type.</li>
437 <li>We removed the MEMCACHED_BEHAVIOR_KETAMA_COMPAT_MODE added in 0.35. Instead use memcached_behavior_set_distribution().</li>
438 </ul>
439 </div>
440 <div class="section" id="v-0-35">
441 <h2>v 0.35<a class="headerlink" href="#v-0-35" title="Permalink to this headline"></a></h2>
442 <blockquote>
443 <div>released 2009-11-09</div></blockquote>
444 <ul class="simple">
445 <li>Added support for by_key operations for inc/dec methods.</li>
446 <li>Added mget test to memslap.</li>
447 <li>Support for compatible ketama for SpyMemcached</li>
448 <li>Update C++ interface.</li>
449 <li>Fix for memcp</li>
450 </ul>
451 </div>
452 <div class="section" id="v-0-34">
453 <h2>v 0.34<a class="headerlink" href="#v-0-34" title="Permalink to this headline"></a></h2>
454 <blockquote>
455 <div>released 2009-10-13</div></blockquote>
456 <ul class="simple">
457 <li>Added support for setting behavior flags on a connection pool.</li>
458 <li>Don't increment server_failure_counter on normal disconnects.</li>
459 <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>
460 <li>Updated memcapable to test ASCII protocol.</li>
461 <li>Changed behavior so that server can be removed at first sign of failure.</li>
462 <li>Added memcached_server_get_last_disconnect() call</li>
463 </ul>
464 </div>
465 <div class="section" id="v-0-33">
466 <h2>v 0.33<a class="headerlink" href="#v-0-33" title="Permalink to this headline"></a></h2>
467 <blockquote>
468 <div>released 2009-09-23</div></blockquote>
469 <ul class="simple">
470 <li>Added memcapable to test servers for binary compatibility.</li>
471 <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>
472 <li>Several bug fixes for binary protocol support.</li>
473 <li>Fixed crashing issue with dumping from memcachd server (server internals were changed without documenting change).</li>
474 </ul>
475 </div>
476 <div class="section" id="v-0-32">
477 <h2>v 0.32<a class="headerlink" href="#v-0-32" title="Permalink to this headline"></a></h2>
478 <blockquote>
479 <div>released 2009-09-15</div></blockquote>
480 <ul class="simple">
481 <li>Change of behavior where linger is only modified for no-block and then it is set to zero.</li>
482 <li>Added Twitter's memcached_server_error() functions.</li>
483 <li>Fix for OSX compiles in development builds.</li>
484 <li>Updated C++ interface.</li>
485 <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>
486 </ul>
487 </div>
488 <div class="section" id="v-0-31">
489 <h2>v 0.31<a class="headerlink" href="#v-0-31" title="Permalink to this headline"></a></h2>
490 <blockquote>
491 <div>released 2009-07-10</div></blockquote>
492 <ul class="simple">
493 <li>Added support or HA via replication.</li>
494 <li>malloc() removed for server key usage.</li>
495 <li>Update build system.</li>
496 <li>Added support for memcached_set_memory_allocators().</li>
497 <li>Fixed bug in configure.ac for have_htoll.</li>
498 </ul>
499 </div>
500 <div class="section" id="v-0-30">
501 <h2>v 0.30<a class="headerlink" href="#v-0-30" title="Permalink to this headline"></a></h2>
502 <blockquote>
503 <div>released 2009-06-01</div></blockquote>
504 <ul class="simple">
505 <li>Added memcachd_dump command (and framework for memdump tool).</li>
506 <li>Realigned all structures to remove padding (and line up important bits for 64bit caches.</li>
507 <li>Remove some of sprintf() in storage calls().</li>
508 <li>Removed printf() in stat call for unknown stat member.</li>
509 <li>memcached_generate_hash() function added.</li>
510 <li>Added tests to make sure all hash functions are stable.</li>
511 </ul>
512 </div>
513 <div class="section" id="v-0-29">
514 <h2>v 0.29<a class="headerlink" href="#v-0-29" title="Permalink to this headline"></a></h2>
515 <blockquote>
516 <div>released 2009-05-19</div></blockquote>
517 <ul class="simple">
518 <li>Fixed malloc usage to calloc for spots where we need zero filled memory.</li>
519 <li>All code warnings now treated as errors.</li>
520 <li>Fixes for debian packaging.</li>
521 <li>Added new pooling mechanism.</li>
522 <li>MEMCACHED_BEHAVIOR_NO_BLOCK no longer also sets MEMCACHED_BEHAVIOR_BUFFER_REQUESTS.</li>
523 <li>Updated generic rpm.</li>
524 </ul>
525 </div>
526 <div class="section" id="v-0-28">
527 <h2>v 0.28<a class="headerlink" href="#v-0-28" title="Permalink to this headline"></a></h2>
528 <blockquote>
529 <div>released 2009-04-15</div></blockquote>
530 <ul class="simple">
531 <li>Fixed bug in init sructure (reapplied)</li>
532 <li>Fixed bug in get/set by key (<a class="reference external" href="mailto:nikkhils&#37;&#52;&#48;gmail&#46;com">nikkhils<span>&#64;</span>gmail<span>&#46;</span>com</a>)</li>
533 </ul>
534 </div>
535 <div class="section" id="v-0-27">
536 <h2>v 0.27<a class="headerlink" href="#v-0-27" title="Permalink to this headline"></a></h2>
537 <blockquote>
538 <div>released 2009-03-30</div></blockquote>
539 <ul class="simple">
540 <li>Added new UDP fire-forget mode.</li>
541 <li>Reworked performance for mget() to better make use of async protocol</li>
542 <li>Cleaned up execution of fetch (just one set of code now)</li>
543 <li>Fixed Jenkin's for big endian hosts.</li>
544 <li>Updates for memstat to determine network latency.</li>
545 <li>Updates for binary protocol.</li>
546 <li>Many updates to documentation.</li>
547 </ul>
548 </div>
549 <div class="section" id="v-0-26">
550 <h2>v 0.26<a class="headerlink" href="#v-0-26" title="Permalink to this headline"></a></h2>
551 <blockquote>
552 <div>released 2009-01-29</div></blockquote>
553 <ul class="simple">
554 <li>Fix for decrement on hash key</li>
555 <li>Fixed assert that was catching bad memset() call in host_reset()</li>
556 <li>Fix purge issue for blocked IO which has been stacked.</li>
557 </ul>
558 </div>
559 <div class="section" id="v-0-25">
560 <h2>v 0.25<a class="headerlink" href="#v-0-25" title="Permalink to this headline"></a></h2>
561 <blockquote>
562 <div>released 2008-11-28</div></blockquote>
563 <ul class="simple">
564 <li>Jenkins HASH added.</li>
565 <li>Update of Murmur hash code</li>
566 <li>Support explicit weights (Robey Pointer, Evan Weaver)</li>
567 <li>Bugfix for ketama continuum (Robey Pointer)</li>
568 <li>New behavior MEMCACHED_BEHAVIOR_HASH_WITH_PREFIX_KEY (Robey Pointer)</li>
569 <li>Don't ever call stats for weighting servers, because it is unstable.</li>
570 </ul>
571 </div>
572 <div class="section" id="v-0-24">
573 <h2>v 0.24<a class="headerlink" href="#v-0-24" title="Permalink to this headline"></a></h2>
574 <blockquote>
575 <div>released 2008-09-16</div></blockquote>
576 <ul class="simple">
577 <li>Cleanup compile warnings.</li>
578 <li>Fix issues in partitioning by keys.</li>
579 <li>Fixed &quot;fail case&quot; to make sure when calling memcached_clone() no memcached_st is over written.</li>
580 <li>New memcached_server_by_key() method for finding a server from a key.</li>
581 <li>memcached_server_free() was added for freeing server structures.</li>
582 </ul>
583 </div>
584 <div class="section" id="v-0-23">
585 <h2>v 0.23<a class="headerlink" href="#v-0-23" title="Permalink to this headline"></a></h2>
586 <blockquote>
587 <div>released 2008-09-07</div></blockquote>
588 <ul class="simple">
589 <li>Added strings.h header for Solaris 9</li>
590 <li>Solaris 64bit fix.</li>
591 <li>Support for weighted Ketama from Yin Chen.</li>
592 <li>Fix for Chinese</li>
593 <li>Fix for 0 length key to trigger bad key.</li>
594 <li>Added behaviors MEMCACHED_BEHAVIOR_SND_TIMEOUT, MEMCACHED_BEHAVIOR_RCV_TIMEOUT</li>
595 <li>Support for Binary Protocol added</li>
596 </ul>
597 </div>
598 <div class="section" id="v-0-22">
599 <h2>v 0.22<a class="headerlink" href="#v-0-22" title="Permalink to this headline"></a></h2>
600 <blockquote>
601 <div>released 2008-07-14</div></blockquote>
602 <ul class="simple">
603 <li>Fix where master key was no being checked for &quot;bad key&quot;</li>
604 <li>Fixed bugs in stats output (thread output was wrong)</li>
605 <li>Clarified MEMCACHED_BAD_KEY_PROVIDED is return for bad prefix key.</li>
606 <li>Found a bug in Flags return (Jacek Ostrowski)</li>
607 <li>Fixed issue with compiling on Visual Studio</li>
608 </ul>
609 </div>
610 <div class="section" id="v-0-21">
611 <h2>v 0.21<a class="headerlink" href="#v-0-21" title="Permalink to this headline"></a></h2>
612 <blockquote>
613 <div>released 2008-05-24</div></blockquote>
614 <ul class="simple">
615 <li>Change of char * to const char * for all key based functions.</li>
616 <li>New MEMCACHED_CALLBACK_PREFIX_KEY added. You can now create domains for values.</li>
617 <li>Fixed bug introducd in last version on memcp</li>
618 <li>Fix for death of file io to call shutdown()</li>
619 </ul>
620 </div>
621 <div class="section" id="v-0-20">
622 <h2>v 0.20<a class="headerlink" href="#v-0-20" title="Permalink to this headline"></a></h2>
623 <blockquote>
624 <div>released 2008-05-05</div></blockquote>
625 <ul class="simple">
626 <li>New consistent distribution tests.</li>
627 <li>Found a memory leak when a server constantly fails.</li>
628 <li>Fix in watchpoint macro</li>
629 <li>Changed default timeout to 1 second for poll timeouts</li>
630 <li>Wheel uses less memory/dynamic allocation for size (no longer limited to 512 hosts by default.</li>
631 <li>memslap memory leak fix</li>
632 <li>Added Ketama distribution</li>
633 <li>Fix assert.h compile problem on CentOS</li>
634 </ul>
635 </div>
636 <div class="section" id="v-0-19">
637 <h2>v 0.19<a class="headerlink" href="#v-0-19" title="Permalink to this headline"></a></h2>
638 <blockquote>
639 <div>released 2008-04-09</div></blockquote>
640 <ul class="simple">
641 <li>Documentation fix in libmemcached.</li>
642 <li>Fixed bug where sort was always occuring on hosts</li>
643 <li>Logic fix in branch prediction (thanks Jay!)</li>
644 <li>Read through cached support.</li>
645 <li>Fixed for cas by key operation.</li>
646 <li>Fix for memcached_server_st list structures to have correct count.</li>
647 <li>Added callback MEMCACHED_CALLBACK_DELETE_TRIGGER</li>
648 <li>Removed function call in favor of macro (aka cut out some instructions)</li>
649 </ul>
650 </div>
651 <div class="section" id="v-0-18">
652 <h2>v 0.18<a class="headerlink" href="#v-0-18" title="Permalink to this headline"></a></h2>
653 <blockquote>
654 <div>released 2008-03-17</div></blockquote>
655 <ul class="simple">
656 <li>Fix plus tests for non-zero value objects and flags.</li>
657 <li>MEMCACHED_HASH_MURMUR added for murmur algorithm provided.</li>
658 <li>MEMCACHED_BEHAVIOR_RETRY_TIMEOUT added to keep connecting from looping on timeout.</li>
659 <li>gcc branch prediction optimizations</li>
660 <li>Refactored entire tree to make include files cleaner</li>
661 <li>Fixed leaked socket.</li>
662 </ul>
663 </div>
664 <div class="section" id="v-0-17">
665 <h2>v 0.17<a class="headerlink" href="#v-0-17" title="Permalink to this headline"></a></h2>
666 <blockquote>
667 <div>released 2008-02-27</div></blockquote>
668 <ul class="simple">
669 <li>MEMCACHED_BEHAVIOR_CONNECT_TIMEOUT added for connect timeout in non-block mode.</li>
670 <li>Incompatible change in memcached_behavior_set() api. We now use a uint64_t, instead of a pointer.</li>
671 <li>Fix for storage of values for zero.</li>
672 <li>memcached_server_cursor() function added to API for cycling through servers.</li>
673 </ul>
674 </div>
675 <div class="section" id="v-0-16">
676 <h2>v 0.16<a class="headerlink" href="#v-0-16" title="Permalink to this headline"></a></h2>
677 <blockquote>
678 <div>released 2008-02-18</div></blockquote>
679 <ul class="simple">
680 <li>Work on the UDP protocol</li>
681 <li>Added get_by_key, set_by_key tests for C++ API</li>
682 <li>Fix for limit_maxbytes to be 64bit in stats</li>
683 <li>Added Atom Smasher test (scale baby, scale!)</li>
684 <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>
685 <li>Added MEMCACHED_BAD_KEY_PROVIDED error for auto, set, and get operations. MEMCACHED_BEHAVIOR_VERIFY_KEY was added to enable this feature.</li>
686 <li>More error messages on command line tools.</li>
687 <li>Fixed bugs in memcached_cas() operator.</li>
688 <li>Fix to loop through interfaces</li>
689 </ul>
690 </div>
691 <div class="section" id="v-0-15">
692 <h2>v 0.15<a class="headerlink" href="#v-0-15" title="Permalink to this headline"></a></h2>
693 <blockquote>
694 <div>released 2008-01-29</div></blockquote>
695 <ul class="simple">
696 <li>More work on the C++ API.</li>
697 <li>Bug fixes around block corner cases.</li>
698 <li>Slight performance increase in both read() and write().</li>
699 </ul>
700 </div>
701 <div class="section" id="v-0-14">
702 <h2>v 0.14<a class="headerlink" href="#v-0-14" title="Permalink to this headline"></a></h2>
703 <blockquote>
704 <div>released 2008-01-22</div></blockquote>
705 <ul class="simple">
706 <li>For for bug found by Evan Weaver where increment() was not returning propper error of value was not found.</li>
707 <li>Fix for bad null pointer on flag by Toru Maesaka.</li>
708 <li>Refactor of all IO to just pass in the active server</li>
709 <li>Problem configuring (PKG_CHECK_MODULES) fixed by removal of &quot;rpath&quot; in support/libmemcached.pc.in (Thanks to Ross McFarland).</li>
710 <li>Added memcached_callback_get()/set()</li>
711 <li>First prototype of C++ interface</li>
712 <li>Updated docs for uint16_t changes in previous release</li>
713 </ul>
714 </div>
715 <div class="section" id="v-0-13">
716 <h2>v 0.13<a class="headerlink" href="#v-0-13" title="Permalink to this headline"></a></h2>
717 <blockquote>
718 <div>released 2008-01-13</div></blockquote>
719 <ul class="simple">
720 <li>MEMCACHED_BEHAVIOR_USER_DATA added to store user pointer.</li>
721 <li>Fix for failure to connect to invalidate socket.</li>
722 <li>Patch from Marc Rossi to add --hash option for memcp, memrm, and memcat.</li>
723 <li>Kevin's patch for fixing EOF issues during a read.</li>
724 <li>Toru Maesaka patch for stats mismatch</li>
725 <li>Fix for when CRC return 0</li>
726 <li>Fixed uint16_t issues around flags. Turns out the documentation on the protocol was wrong.</li>
727 <li>Lingering socket fixes for FreeBSD.</li>
728 <li>Patches from Kevin Dalley for FreeBSD 4.0</li>
729 <li>Added multi delete functions.</li>
730 <li>All get key returns have C style null termination</li>
731 <li>If memcached_server_list_append is passed NULLs instead of pointers it returns NULL.</li>
732 <li>Added memcached_fetch_execute() method</li>
733 <li>Found a bug where memcached_fetch() was not null terminating the result value.</li>
734 <li>memcached_behavior() now has the ability to set &quot;buffering&quot; so that data is not automatically flushed.</li>
735 <li>Behavior change, buffered commands now return MEMCACHED_BUFFERED</li>
736 </ul>
737 </div>
738 <div class="section" id="v-0-12">
739 <h2>v 0.12<a class="headerlink" href="#v-0-12" title="Permalink to this headline"></a></h2>
740 <blockquote>
741 <div>released 2007-12-11</div></blockquote>
742 <ul class="simple">
743 <li>Updates for consistent hashing</li>
744 <li>IPV6 support</li>
745 <li>Static allocation for hostname (performance)</li>
746 <li>Fixed bug where in non-block mode all data might not have been sent on close().</li>
747 <li>Refactor of memcached_get() to use common code.</li>
748 <li>Change in value fetch, MEMCACHED_END is now returned when keys are no longer in the pipe.</li>
749 <li>Fixed bug where key could be out of range of characters</li>
750 <li>Added _by_key() methods to allow partitioning of values to particular servers.</li>
751 <li>MEMCACHED_DEFAILT_TIMEOUT is now set to a non -1 value.</li>
752 <li>Performance improvements in get operations.</li>
753 </ul>
754 </div>
755 <div class="section" id="v-0-11">
756 <h2>v 0.11<a class="headerlink" href="#v-0-11" title="Permalink to this headline"></a></h2>
757 <blockquote>
758 <div>released 2007-11-26</div></blockquote>
759 <ul class="simple">
760 <li>Added option to memcache_behavior_set() so that poll() can be timed out.</li>
761 <li>Fixed memory leak in case of using memcached_fetch_result() where no value was returned.</li>
762 <li>Bug fixed in memcached_connect() which would cause servers that did not need to be enabled to be enabled (performance issue).</li>
763 <li>Rewrote bounds checking code for get calls.</li>
764 <li>&quot;make test&quot; now starts its own memcached servers.</li>
765 <li>Added Hseih hash (MEMCACHED_HASH_HSIEH), which is showing about 7% performance over standard hash.</li>
766 </ul>
767 </div>
768 <div class="section" id="v-0-10">
769 <h2>v 0.10<a class="headerlink" href="#v-0-10" title="Permalink to this headline"></a></h2>
770 <blockquote>
771 <div>released 2007-11-21</div></blockquote>
772 <ul class="simple">
773 <li>Added append binary test.</li>
774 <li>Added MEMCACHED_BEHAVIOR_CACHE_LOOKUPS behavior so that you can save on multiple DNS lookups.</li>
775 <li>Added CAS support, though this is optional and must be enabled during runtime.</li>
776 <li>Added the utility memerror to create human readable error strings from memcached errors (aka convert ints to strings)</li>
777 <li>Fixed type in MEMCACHED_HOST_LOOKUP_FAILURE</li>
778 <li>Fixed bug where hostname might not be null terminated</li>
779 <li>Moved to using gethostbyname_r() on Linux to solve thread safety issue</li>
780 <li>Added -rpath support for pkg-config</li>
781 <li>Documentation fix for hash setting using memcached_behavior_set()</li>
782 </ul>
783 </div>
784 <div class="section" id="v-0-9">
785 <h2>v 0.9<a class="headerlink" href="#v-0-9" title="Permalink to this headline"></a></h2>
786 <blockquote>
787 <div>released 2007-11-15</div></blockquote>
788 <ul class="simple">
789 <li>fix for when no servers are definied.</li>
790 <li>different buffers are now kept for different connections to speed up async efforts</li>
791 <li>Modified increment/decrement functions to return uint64_t values</li>
792 <li>Fixed bug in cases where zero length keys were provided</li>
793 <li>Thread cleanup issue in memslap</li>
794 <li>No hostname lookup on reconnect</li>
795 <li>Fix for flag settings (was doing hex by accident!)</li>
796 <li>Support for 1.2.4 server additions &quot;prepend&quot; and &quot;append&quot; added.</li>
797 <li>Added memcached_version()... not sure if I will make this public or not.</li>
798 </ul>
799 </div>
800 <div class="section" id="v-0-8">
801 <h2>v 0.8<a class="headerlink" href="#v-0-8" title="Permalink to this headline"></a></h2>
802 <blockquote>
803 <div>released 2007-11-05</div></blockquote>
804 <ul class="simple">
805 <li>Adding support for CRC hash method</li>
806 <li>Adding support for UNIX sockets</li>
807 <li>Added additional HASHing methods of FNV1_64,FNV1A_64, FNV1_32, FNV1A_32</li>
808 <li>Added pkgconfig support (PKG_CHECK_MODULES)</li>
809 <li>Fixed conflict with defined type in MySQL</li>
810 <li>Added memcached_result_st structure and functions to manipulate it.</li>
811 </ul>
812 </div>
813 <div class="section" id="v-0-7">
814 <h2>v 0.7<a class="headerlink" href="#v-0-7" title="Permalink to this headline"></a></h2>
815 <blockquote>
816 <div>released 2007-10-30</div></blockquote>
817 <ul class="simple">
818 <li>Poved to poll() from select()</li>
819 <li>Fixes in internal string class for allocation of large numbers of strings.</li>
820 <li>memcached_mget() function now sends keys as it parses them instead of building strings as it goes.</li>
821 <li>Propper flush now for making sure we get all IO sent even when in non-block mode.</li>
822 <li>Added --enable-debug rule for configure</li>
823 <li>All asserts() removed (hey this is going into production!)</li>
824 </ul>
825 </div>
826 <div class="section" id="v-0-6">
827 <h2>v 0.6<a class="headerlink" href="#v-0-6" title="Permalink to this headline"></a></h2>
828 <blockquote>
829 <div>released 2007-10-17</div></blockquote>
830 <ul class="simple">
831 <li>get value returns are now null terminated (request by Cal Heldenbrand)</li>
832 <li>Fixed connections for more hosts then two.</li>
833 <li>Rewrite of the read/write IO systems to handle different sorts of host failures.</li>
834 <li>Added man pages for all functions and tools</li>
835 <li>Raised buffer size for readinng/writing to 16K</li>
836 <li>You can now optionally set the socket size for recv/send via memached_behavior_set/get.</li>
837 </ul>
838 </div>
839 <div class="section" id="v-0-5">
840 <h2>v 0.5<a class="headerlink" href="#v-0-5" title="Permalink to this headline"></a></h2>
841 <blockquote>
842 <div>released 2007-10-09</div></blockquote>
843 <ul class="simple">
844 <li>Ruby maintainer mentioned TCP_NODELAY patch he had added. Added this to C
845 library as well. (Eric Hodel <a class="reference external" href="mailto:drbrain&#37;&#52;&#48;segment7&#46;net">drbrain<span>&#64;</span>segment7<span>&#46;</span>net</a>)</li>
846 <li>Added support script for set_benchmark</li>
847 <li>Updated memslap to allow testing of TCP_NODELAY</li>
848 <li>Updated memslap to support --flush (aka dump memcache servers before testing)</li>
849 <li>Fixed bug in multiple hosts not being activated</li>
850 <li>Added environmental variable MEMCACHED_SERVERS which can be used to set the servers list.</li>
851 <li>fixed memcached_stat method (and now memstat works)</li>
852 <li>server connect now happens on demand.</li>
853 <li>Help for all command line applications</li>
854 </ul>
855 </div>
856 <div class="section" id="v-0-4">
857 <h2>v 0.4<a class="headerlink" href="#v-0-4" title="Permalink to this headline"></a></h2>
858 <blockquote>
859 <div>released 2007-10-03</div></blockquote>
860 <ul class="simple">
861 <li>Added buffered IO to write calls for keys</li>
862 <li>Added buffered IO for reads</li>
863 <li>memstat was broken (bad if/else on connect)</li>
864 <li>New non-blocking IO (not default yet). Mucho faster</li>
865 <li>Refactor of test system.</li>
866 <li>memslap crash solved</li>
867 </ul>
868 </div>
869 <div class="section" id="v-0-3">
870 <h2>v 0.3<a class="headerlink" href="#v-0-3" title="Permalink to this headline"></a></h2>
871 <blockquote>
872 <div>released 2007-10-01</div></blockquote>
873 <ul class="simple">
874 <li>Jeff Fisher <a class="reference external" href="mailto:guppy&#37;&#52;&#48;techmonkeys&#46;org">guppy<span>&#64;</span>techmonkeys<span>&#46;</span>org</a> provided a spec file</li>
875 <li>Added &quot;make rpm&quot; around dist file</li>
876 <li>Added support for Solaris</li>
877 <li>Added support for DTrace</li>
878 <li>Fixed read to be recv and write to be send</li>
879 <li>Bug fix where memstat would core if no server was found</li>
880 <li>Added memslap tool (load generator)</li>
881 <li>Numerous bug fixes in library</li>
882 <li>Added calls to library for creating host lists (see text cases to understand how to use this).</li>
883 </ul>
884 </div>
885 <div class="section" id="v-0-2">
886 <h2>v 0.2<a class="headerlink" href="#v-0-2" title="Permalink to this headline"></a></h2>
887 <blockquote>
888 <div>released 2007-09-27</div></blockquote>
889 <ul class="simple">
890 <li>First public version</li>
891 </ul>
892 </div>
893 </div>
894
895
896 </div>
897
898 </div>
899 <footer>
900
901 <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
902
903 <a href="issues.html" class="btn btn-neutral float-right" title="Bugs, Known Issues and Insufficiencies" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
904
905
906 <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>
907
908 </div>
909
910
911 <hr/>
912
913 <div role="contentinfo">
914 <p>
915 &copy; <a href="copyright.html">Copyright</a>
916
917 </p>
918 </div>
919 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>.
920
921 </footer>
922
923 </div>
924 </div>
925
926 </section>
927
928 </div>
929
930
931
932 <script type="text/javascript">
933 jQuery(function () {
934 SphinxRtdTheme.Navigation.enable(true);
935 });
936 </script>
937
938
939
940
941
942
943 </body>
944 </html>