Deploy to GitHub pages
[m6w6/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 1.1.0 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="Copyright" href="copyright.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
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="copyright.html">Copyright</a></li>
158 </ul>
159
160
161
162 </div>
163 </div>
164 </nav>
165
166 <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
167
168
169 <nav class="wy-nav-top" aria-label="top navigation">
170
171 <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
172 <a href="index.html">libmemcached</a>
173
174 </nav>
175
176
177 <div class="wy-nav-content">
178
179 <div class="rst-content">
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197 <div role="navigation" aria-label="breadcrumbs navigation">
198
199 <ul class="wy-breadcrumbs">
200
201 <li><a href="index.html">Docs</a> &raquo;</li>
202
203 <li><a href="changelogs.html">Change Logs</a> &raquo;</li>
204
205 <li>ChangeLog v0.x</li>
206
207
208 <li class="wy-breadcrumbs-aside">
209
210
211
212 <a href="https://github.com/m6w6/libmemcached/blob/v1.x/docs/source/ChangeLog-0.rst" class="fa fa-github"> Edit on GitHub</a>
213
214
215
216 </li>
217
218 </ul>
219
220
221 <hr/>
222 </div>
223 <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
224 <div itemprop="articleBody">
225
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>
230 <blockquote>
231 <div>released 2011-09-27</div></blockquote>
232 <ul class="simple">
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>
237 </ul>
238 </div>
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>
241 <blockquote>
242 <div>released 2011-09-12</div></blockquote>
243 <ul class="simple">
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>
248 </ul>
249 </div>
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>
252 <blockquote>
253 <div>released 2011-07-21</div></blockquote>
254 <ul class="simple">
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>
258 </ul>
259 </div>
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>
262 <blockquote>
263 <div>released 2011-06-20</div></blockquote>
264 <ul class="simple">
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>
271 </ul>
272 </div>
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>
275 <blockquote>
276 <div>released 2011-04-14</div></blockquote>
277 <ul class="simple">
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>
285 </ul>
286 </div>
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>
289 <blockquote>
290 <div>released 2011-03-16</div></blockquote>
291 <ul class="simple">
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>
294 </ul>
295 </div>
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>
298 <blockquote>
299 <div>released 2011-02-24</div></blockquote>
300 <ul class="simple">
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>
306 </ul>
307 </div>
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>
310 <blockquote>
311 <div>released 2011-02-14</div></blockquote>
312 <ul class="simple">
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>
317 </ul>
318 </div>
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>
321 <blockquote>
322 <div>released 2011-02-09</div></blockquote>
323 <ul class="simple">
324 <li>Add support for systemtap</li>
325 </ul>
326 </div>
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>
329 <blockquote>
330 <div>released 2010-09-23</div></blockquote>
331 <ul class="simple">
332 <li>Windows bug fixes.</li>
333 <li>Hudson port support in test harness.</li>
334 <li>Improved portability of test hanrness.</li>
335 <li>SASL fixes.</li>
336 </ul>
337 </div>
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>
340 <blockquote>
341 <div>released 2010-07-28</div></blockquote>
342 <ul class="simple">
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>
346 </ul>
347 </div>
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>
350 <blockquote>
351 <div>released 2010-07-06</div></blockquote>
352 <ul class="simple">
353 <li>Mistake in libtool caused issue with library version</li>
354 </ul>
355 </div>
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>
358 <blockquote>
359 <div>released 2010-06-30</div></blockquote>
360 <ul class="simple">
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>
366 </ul>
367 </div>
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>
370 <blockquote>
371 <div>released 2010-04-23</div></blockquote>
372 <ul class="simple">
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>
377 </ul>
378 </div>
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>
381 <blockquote>
382 <div>released 2010-04-06</div></blockquote>
383 <ul class="simple">
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>
392 </ul>
393 </div>
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>
396 <blockquote>
397 <div>released 2010-02-10</div></blockquote>
398 <ul class="simple">
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>
410 </ul>
411 </div>
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>
414 <blockquote>
415 <div>released 2010-01-12</div></blockquote>
416 <ul class="simple">
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>
423 </ul>
424 </div>
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>
427 <blockquote>
428 <div>released 2010-01-07</div></blockquote>
429 <ul class="simple">
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>
437 </ul>
438 </div>
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>
441 <blockquote>
442 <div>released 2009-11-09</div></blockquote>
443 <ul class="simple">
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>
449 </ul>
450 </div>
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>
453 <blockquote>
454 <div>released 2009-10-13</div></blockquote>
455 <ul class="simple">
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>
462 </ul>
463 </div>
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>
466 <blockquote>
467 <div>released 2009-09-23</div></blockquote>
468 <ul class="simple">
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>
473 </ul>
474 </div>
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>
477 <blockquote>
478 <div>released 2009-09-15</div></blockquote>
479 <ul class="simple">
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>
485 </ul>
486 </div>
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>
489 <blockquote>
490 <div>released 2009-07-10</div></blockquote>
491 <ul class="simple">
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>
497 </ul>
498 </div>
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>
501 <blockquote>
502 <div>released 2009-06-01</div></blockquote>
503 <ul class="simple">
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>
510 </ul>
511 </div>
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>
514 <blockquote>
515 <div>released 2009-05-19</div></blockquote>
516 <ul class="simple">
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>
523 </ul>
524 </div>
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>
527 <blockquote>
528 <div>released 2009-04-15</div></blockquote>
529 <ul class="simple">
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&#37;&#52;&#48;gmail&#46;com">nikkhils<span>&#64;</span>gmail<span>&#46;</span>com</a>)</li>
532 </ul>
533 </div>
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>
536 <blockquote>
537 <div>released 2009-03-30</div></blockquote>
538 <ul class="simple">
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>
546 </ul>
547 </div>
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>
550 <blockquote>
551 <div>released 2009-01-29</div></blockquote>
552 <ul class="simple">
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>
556 </ul>
557 </div>
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>
560 <blockquote>
561 <div>released 2008-11-28</div></blockquote>
562 <ul class="simple">
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>
569 </ul>
570 </div>
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>
573 <blockquote>
574 <div>released 2008-09-16</div></blockquote>
575 <ul class="simple">
576 <li>Cleanup compile warnings.</li>
577 <li>Fix issues in partitioning by keys.</li>
578 <li>Fixed &quot;fail case&quot; 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>
581 </ul>
582 </div>
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>
585 <blockquote>
586 <div>released 2008-09-07</div></blockquote>
587 <ul class="simple">
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>
595 </ul>
596 </div>
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>
599 <blockquote>
600 <div>released 2008-07-14</div></blockquote>
601 <ul class="simple">
602 <li>Fix where master key was no being checked for &quot;bad key&quot;</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>
607 </ul>
608 </div>
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>
611 <blockquote>
612 <div>released 2008-05-24</div></blockquote>
613 <ul class="simple">
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>
618 </ul>
619 </div>
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>
622 <blockquote>
623 <div>released 2008-05-05</div></blockquote>
624 <ul class="simple">
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>
633 </ul>
634 </div>
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>
637 <blockquote>
638 <div>released 2008-04-09</div></blockquote>
639 <ul class="simple">
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>
648 </ul>
649 </div>
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>
652 <blockquote>
653 <div>released 2008-03-17</div></blockquote>
654 <ul class="simple">
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>
661 </ul>
662 </div>
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>
665 <blockquote>
666 <div>released 2008-02-27</div></blockquote>
667 <ul class="simple">
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>
672 </ul>
673 </div>
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>
676 <blockquote>
677 <div>released 2008-02-18</div></blockquote>
678 <ul class="simple">
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>
688 </ul>
689 </div>
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>
692 <blockquote>
693 <div>released 2008-01-29</div></blockquote>
694 <ul class="simple">
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>
698 </ul>
699 </div>
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>
702 <blockquote>
703 <div>released 2008-01-22</div></blockquote>
704 <ul class="simple">
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 &quot;rpath&quot; 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>
712 </ul>
713 </div>
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>
716 <blockquote>
717 <div>released 2008-01-13</div></blockquote>
718 <ul class="simple">
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 &quot;buffering&quot; so that data is not automatically flushed.</li>
734 <li>Behavior change, buffered commands now return MEMCACHED_BUFFERED</li>
735 </ul>
736 </div>
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>
739 <blockquote>
740 <div>released 2007-12-11</div></blockquote>
741 <ul class="simple">
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>
752 </ul>
753 </div>
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>
756 <blockquote>
757 <div>released 2007-11-26</div></blockquote>
758 <ul class="simple">
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>&quot;make test&quot; 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>
765 </ul>
766 </div>
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>
769 <blockquote>
770 <div>released 2007-11-21</div></blockquote>
771 <ul class="simple">
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>
781 </ul>
782 </div>
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>
785 <blockquote>
786 <div>released 2007-11-15</div></blockquote>
787 <ul class="simple">
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 &quot;prepend&quot; and &quot;append&quot; added.</li>
796 <li>Added memcached_version()... not sure if I will make this public or not.</li>
797 </ul>
798 </div>
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>
801 <blockquote>
802 <div>released 2007-11-05</div></blockquote>
803 <ul class="simple">
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>
810 </ul>
811 </div>
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>
814 <blockquote>
815 <div>released 2007-10-30</div></blockquote>
816 <ul class="simple">
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>
823 </ul>
824 </div>
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>
827 <blockquote>
828 <div>released 2007-10-17</div></blockquote>
829 <ul class="simple">
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>
836 </ul>
837 </div>
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>
840 <blockquote>
841 <div>released 2007-10-09</div></blockquote>
842 <ul class="simple">
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&#37;&#52;&#48;segment7&#46;net">drbrain<span>&#64;</span>segment7<span>&#46;</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>
853 </ul>
854 </div>
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>
857 <blockquote>
858 <div>released 2007-10-03</div></blockquote>
859 <ul class="simple">
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>
866 </ul>
867 </div>
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>
870 <blockquote>
871 <div>released 2007-10-01</div></blockquote>
872 <ul class="simple">
873 <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>
874 <li>Added &quot;make rpm&quot; 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>
882 </ul>
883 </div>
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>
886 <blockquote>
887 <div>released 2007-09-27</div></blockquote>
888 <ul class="simple">
889 <li>First public version</li>
890 </ul>
891 </div>
892 </div>
893
894
895 </div>
896
897 </div>
898 <footer>
899
900 <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
901
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>
903
904
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>
906
907 </div>
908
909
910 <hr/>
911
912 <div role="contentinfo">
913 <p>
914 &copy; <a href="copyright.html">Copyright</a>
915
916 </p>
917 </div>
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>.
919
920 </footer>
921
922 </div>
923 </div>
924
925 </section>
926
927 </div>
928
929
930
931 <script type="text/javascript">
932 jQuery(function () {
933 SphinxRtdTheme.Navigation.enable(true);
934 });
935 </script>
936
937
938
939
940
941
942 </body>
943 </html>