fix #105 EINTR handled too defensively when polling
[awesomized/libmemcached] / ChangeLog-1.1.md
1 # ChangeLog v1.1
2
3 ## v 1.1.0-beta3
4
5 > TBR
6
7 **Changes from beta2:**
8
9 * Fix [gh #105](https://github.com/m6w6/libmemcached/issues/105):
10 EINTR handled too defensively when polling.
11
12 ## v 1.1.0-beta2
13
14 > released 2020-12-28
15
16 **Changes from beta1:**
17
18 * Fix [gh #103](https://github.com/m6w6/libmemcached/issues/103):
19 Build failure on 32-bit.
20 * Fix [gh #102](https://github.com/m6w6/libmemcached/issues/102):
21 Doc build with old sphinx.
22 * Fix [gh #100](https://github.com/m6w6/libmemcached/issues/100):
23 Revert symbolic rename of public header include directories.
24 * Fix [gh #98](https://github.com/m6w6/libmemcached/issues/98):
25 Library SONAMEs and NAME_LINKs differ from 1.0.18.
26 * Fix [gh #97](https://github.com/m6w6/libmemcached/issues/97):
27 Location of cmake files installation directory.
28 * Fix [gh #96](https://github.com/m6w6/libmemcached/issues/96):
29 LIBXXX_VERSION_HEX constants format.
30
31 ## v 1.1.0-beta1
32
33 > released 2020-12-21
34
35 **NOTE:**
36 This is a bug fix release, not a feature release. The minor version number
37 was incremented due to the following changes:
38
39 * Ported build system to CMake.
40 * Ported test suite to Catch2.
41 * Build requires C++11 compiler support.
42 * Tests require C++17 compiler support.
43 * Moved to the Semantic Versioning Specification: https://semver.org
44 * Moved the project from launchpad to github:
45 * Source: https://github.com/m6w6/libmemcached
46 * Documentation: https://m6w6.github.io/libmemcached
47 * Continuous Integration:
48 * Github: https://github.com/m6w6/libmemcached/actions (Linux, MacOS, Windows **·** amd64)
49 * Sourcehut: https://builds.sr.ht/~m6w6/libmemcached (FreeBSD, OpenBSD **·** amd64)
50 * Build artifacts: https://artifacts.m6w6.name/libmemcached/ rsync://m6w6.name::artifacts/libmemcached/
51
52
53 * Fix build failure due to comparison of incompatible types in bin/memflush and bin/memstat.
54 * Fix wrong type of memcached_instance_st::server_timeout_counter_query_id from uint32_t to uint64_t.
55 * Fix memcached_dump():
56 returned MEMCACHED_CLIENT_ERROR on request to dump illegal slab id.
57 * Fix bin/memcapable:
58 failed with "No hostname was provided" when providing a hostname.
59 * Fix hashkit/murmur and hashkit/murur3:
60 undefined behavior on platforms requiring aligned access.
61 * Fix Memcache::set():
62 possible subscription of empty vector.
63 * Fix libmemcached_util_version_check().
64 * Fix ketama/consistent hashing:
65 crash on reallocation of continuum.
66 * Fix [gh #90](https://github.com/m6w6/libmemcached/issues/90):
67 Build fails on Darwin.
68 * Fix [gh #83](https://github.com/m6w6/libmemcached/issues/83):
69 memcp waits forever if file no found.
70 * Fix [gh #80](https://github.com/m6w6/libmemcached/issues/80):
71 memparse docs.
72 * Fix [gh #72](https://github.com/m6w6/libmemcached/issues/72)
73 and [gh #47](https://github.com/m6w6/libmemcached/issues/47):
74 memcached_return_t docs.
75 * Fix [gh #62](https://github.com/m6w6/libmemcached/issues/62):
76 uint32_t overflow cause busy loop.
77 * Removed restriction of UDP+IPv6.
78 * Fix SERVER_ERROR_MEMORY_ALLOCATION_FAILURE:
79 recognize more strings returned by the server.
80 * Fix [gh #13](https://github.com/m6w6/libmemcached/issues/13):
81 reset continuum counter after freeing them.
82 * Fix [gh #14](https://github.com/m6w6/libmemcached/issues/14)
83 and [gh #17](https://github.com/m6w6/libmemcached/issues/17):
84 SASL: AUTH_CONTINUE was considered a failure and caused IO reset.
85 * Fix [gh #25](https://github.com/m6w6/libmemcached/issues/25):
86 hashkit/murmur3 unavailable.
87 * Fix missing handling of EAGAIN for non-blocking unix domain socket.
88 * Fix [gh #35](https://github.com/m6w6/libmemcached/issues/35):
89 handling of BEHAVIOR_REMOVE_FAILED_SERVERS.
90 * Fix [gh #41](https://github.com/m6w6/libmemcached/issues/41):
91 ensure stable sort on continuum host key collision.
92 * Fix [gh #42](https://github.com/m6w6/libmemcached/issues/42):
93 MEMCACHED_MAX_BUFFER docs.
94 * Fix [gh #43](https://github.com/m6w6/libmemcached/issues/43):
95 libmemcached_configuration docs.
96 * Fix [gh #46](https://github.com/m6w6/libmemcached/issues/46):
97 clarification on millisecond timeout docs.
98 * Fix [gh #50](https://github.com/m6w6/libmemcached/issues/50):
99 memcached_fetch_result() can return previously returned data.
100 * Fix [gh #53](https://github.com/m6w6/libmemcached/issues/53):
101 stack overflow in memcached_fetch_result().
102 * Fix [gh #57](https://github.com/m6w6/libmemcached/issues/57):
103 include <inttypes.h> vs <cinttypes>
104 * Fix [gh #58](https://github.com/m6w6/libmemcached/issues/58):
105 more specific error messages when connect() fails.
106 * Fix [gh #59](https://github.com/m6w6/libmemcached/issues/59):
107 bin/memcat: typo in "No servers provied".
108 * Fix [gh #77](https://github.com/m6w6/libmemcached/issues/77):
109 undeclared UINT64_C in ketama.cc.
110 * Fix [gh #12](https://github.com/m6w6/libmemcached/issues/12):
111 never reconnects after connection reset (binary protocol).
112 * Fix [gh #49](https://github.com/m6w6/libmemcached/issues/49):
113 assertion memcached_failed(rc) failed in memcached_send_ascii().
114 * Fix [gh #67](https://github.com/m6w6/libmemcached/issues/67):
115 get returns NOTFOUND on timeout.
116 * Fix [gh #76](https://github.com/m6w6/libmemcached/issues/76):
117 memcached_touch() crashes when expiration=-1 (ASCII only).
118 * Fix [gh #23](https://github.com/m6w6/libmemcached/issues/23):
119 build fails with bison 2.3.
120 * Fix memaslap: build fails with newer compiler versions.
121 * Fix usage of strerror_r() implementations returning pointer to char.
122 * Fix pipelining commands with memcached >= 1.6.
123 * Fix memcached_stat_get_value(): buffer overflow.
124 * Fix memcached_stat(): undefined behavior due to unintialized memcached_return_t.
125 * Fix SASL tests: requires SASL_PWDB_CONF.
126 * Fix bin/memaslap to idnentify itself as memaslap instead of memslap.
127 * Fix bin/memcapable to work with memcached >= 1.6.
128 * Fix murmur and murmur3 hashes on big endian platforms.
129 * Fix [gh #82](https://github.com/m6w6/libmemcached/issues/82),
130 [gh #64](https://github.com/m6w6/libmemcached/issues/64) and
131 [gh #21](https://github.com/m6w6/libmemcached/issues/21):
132 clarify documentation on replication.
133 * Fix [gh #95](https://github.com/m6w6/libmemcached/issues/95):
134 MEMCACHED_CALLBACK_GET_FAILURE and MEMCACHED_BEHAVIOR_BUFFER_REQUESTS
135 * Fix bin/memcat to output flags if requested with `--flag`.
136 * Fix [gh #68](https://github.com/m6w6/libmemcached/issues/68):
137 Windows support.
138
139 ---
140
141 See [ChangeLog-1.0](./ChangeLog-1.0.md) for changes prior v1.1.