test: poll_timeout; see php-memcached-dev/php-memcached#531
[awesomized/libmemcached] / ChangeLog-1.1.md
1 # ChangeLog v1.1
2
3 ## v 1.1.4
4
5 > released TBA
6
7 * Fix [gh #107](https://github.com/awesomized/libmemcached/issues/107):
8 macOS: deprecated sasl API (improve detection of `libsasl2`).
9 * Fix [gh #131](https://github.com/awesomized/libmemcached/issues/131):
10 Consider renaming tools (add `CLIENT_PREFIX` build option; default: `mem`)
11 * Fix [gh #132](https://github.com/awesomized/libmemcached/issues/132):
12 Add build of static library (add `BUILD_SHARED_LIBS` build option; default: `ON`).
13 * Fix [gh #134](https://github.com/awesomized/libmemcached/issues/134):
14 Update client option documentation.
15 * Fix [gh #136](https://github.com/awesomized/libmemcached/issues/136):
16 `libmemcachedutil` is underlinked (link against libmemcached).
17
18 ## v 1.1.3
19
20 > released 2022-11-09
21
22 * Fix [gh #130](https://github.com/awesomized/libmemcached/issues/130)
23 with [gh #124](https://github.com/awesomized/libmemcached/issues/124):
24 Server response count can underflow.
25
26 ## v 1.1.2
27
28 > released 2022-08-10
29
30 * Fix handling of negative expiration values, which are somehow allowed by legacy.
31 See also [gh #125](https://github.com/awesomized/libmemcached/issues/125),
32 and [gh #76](https://github.com/awesomized/libmemcached/issues/76).
33 * Fix [gh #122](https://github.com/awesomized/libmemcached/issues/122):
34 If libcrypto implementation of AES is used, do not compile internal.
35 * Fix missing include of <array> in tests.
36 * Fix warnings with non-SASL builds.
37 * Fix pthread.h detection.
38
39 ## v 1.1.1
40
41 > released 2021-09-16
42
43 * Fix [gh #67](https://github.com/awesomized/libmemcached/issues/67):
44 GET returns `NOTFOUND` on `TIMEOUT`.
45 * Fix [gh #113](https://github.com/awesomized/libmemcached/issues/105):
46 Build failure with Catch2 < 2.13.5.
47 * Add [gh #114](https://github.com/awesomized/libmemcached/pull/114):
48 Add possibility to use libcrypto for encryption.
49 * Add [gh #115](https://github.com/awesomized/libmemcached/pull/115):
50 Add `LIBMEMCACHED_AWESOME` CPP define.
51 * Add test for [gh #75](https://github.com/awesomized/libmemcached/issues/75):
52 memcached_clone of SASL connection closes random file descriptor.
53 * Fix [gh #116](https://github.com/awesomized/libmemcached/issues/116):
54 Add libmemcachedpotocol-0-0/configure.h guarding `ssize_t` typedef.
55 * Fix [gh #120](https://github.com/awesomized/libmemcached/issues/120):
56 libmemcached.pc is missing a `Requires` entry for libsasl2.
57
58 ## v 1.1.0
59
60 > released 2021-06-23
61
62 **Changes from beta3:**
63
64 * Add ASCII multi get support to bin/memslap.
65
66 See logs from `beta3`, `beta2`, and `beta1` for
67 the full list of changes since the last 1.0 release.
68
69 ## v 1.1.0-beta3
70
71 > released 2021-04-15
72
73 **Changes from beta2:**
74
75 * Fix [gh #108](https://github.com/awesomized/libmemcached/issues/105):
76 macOS Big Sur: dtrace does not understand -G switch.
77 * Add support for IPv6 bracketed syntax in `memcached_servers_parse`.
78 * Make `memcat`'s `--file` option's argument optional defaulting to `<key>`.
79 * Fix libmemcachedprotocol's binary `STAT` and `VERSION` handlers.
80 * Fix [gh #105](https://github.com/awesomized/libmemcached/issues/105):
81 EINTR handled too defensively when polling.
82
83 ## v 1.1.0-beta2
84
85 > released 2020-12-28
86
87 **Changes from beta1:**
88
89 * Fix [gh #103](https://github.com/awesomized/libmemcached/issues/103):
90 Build failure on 32-bit.
91 * Fix [gh #102](https://github.com/awesomized/libmemcached/issues/102):
92 Doc build with old sphinx.
93 * Fix [gh #100](https://github.com/awesomized/libmemcached/issues/100):
94 Revert symbolic rename of public header include directories.
95 * Fix [gh #98](https://github.com/awesomized/libmemcached/issues/98):
96 Library SONAMEs and NAME_LINKs differ from 1.0.18.
97 * Fix [gh #97](https://github.com/awesomized/libmemcached/issues/97):
98 Location of cmake files installation directory.
99 * Fix [gh #96](https://github.com/awesomized/libmemcached/issues/96):
100 LIBXXX_VERSION_HEX constants format.
101
102 ## v 1.1.0-beta1
103
104 > released 2020-12-21
105
106 **NOTE:**
107 This is a bug fix release, not a feature release. The minor version number
108 was incremented due to the following changes:
109
110 * Ported build system to CMake.
111 * Ported test suite to Catch2.
112 * Build requires C++11 compiler support.
113 * Tests require C++17 compiler support.
114 * Moved to the Semantic Versioning Specification: https://semver.org
115 * Moved the project from launchpad to github:
116 * Source: https://github.com/awesomized/libmemcached
117 * Documentation: https://awesomized.github.io/libmemcached
118 * Continuous Integration:
119 * Github: https://github.com/awesomized/libmemcached/actions (Linux, MacOS, Windows **·** amd64)
120 * Sourcehut: https://builds.sr.ht/~m6w6/libmemcached (FreeBSD,
121 OpenBSD **·** amd64)
122 * Build artifacts: https://artifacts.m6w6.name/libmemcached/ rsync://m6w6.name::artifacts/libmemcached/
123
124
125 * Fix build failure due to comparison of incompatible types in bin/memflush and bin/memstat.
126 * Fix wrong type of memcached_instance_st::server_timeout_counter_query_id from uint32_t to uint64_t.
127 * Fix memcached_dump():
128 returned MEMCACHED_CLIENT_ERROR on request to dump illegal slab id.
129 * Fix bin/memcapable:
130 failed with "No hostname was provided" when providing a hostname.
131 * Fix hashkit/murmur and hashkit/murur3:
132 undefined behavior on platforms requiring aligned access.
133 * Fix Memcache::set():
134 possible subscription of empty vector.
135 * Fix libmemcached_util_version_check().
136 * Fix ketama/consistent hashing:
137 crash on reallocation of continuum.
138 * Fix [gh #90](https://github.com/awesomized/libmemcached/issues/90):
139 Build fails on Darwin.
140 * Fix [gh #83](https://github.com/awesomized/libmemcached/issues/83):
141 memcp waits forever if file no found.
142 * Fix [gh #80](https://github.com/awesomized/libmemcached/issues/80):
143 memparse docs.
144 * Fix [gh #72](https://github.com/awesomized/libmemcached/issues/72)
145 and [gh #47](https://github.com/awesomized/libmemcached/issues/47):
146 memcached_return_t docs.
147 * Fix [gh #62](https://github.com/awesomized/libmemcached/issues/62):
148 uint32_t overflow cause busy loop.
149 * Removed restriction of UDP+IPv6.
150 * Fix SERVER_ERROR_MEMORY_ALLOCATION_FAILURE:
151 recognize more strings returned by the server.
152 * Fix [gh #13](https://github.com/awesomized/libmemcached/issues/13):
153 reset continuum counter after freeing them.
154 * Fix [gh #14](https://github.com/awesomized/libmemcached/issues/14)
155 and [gh #17](https://github.com/awesomized/libmemcached/issues/17):
156 SASL: AUTH_CONTINUE was considered a failure and caused IO reset.
157 * Fix [gh #25](https://github.com/awesomized/libmemcached/issues/25):
158 hashkit/murmur3 unavailable.
159 * Fix missing handling of EAGAIN for non-blocking unix domain socket.
160 * Fix [gh #35](https://github.com/awesomized/libmemcached/issues/35):
161 handling of BEHAVIOR_REMOVE_FAILED_SERVERS.
162 * Fix [gh #41](https://github.com/awesomized/libmemcached/issues/41):
163 ensure stable sort on continuum host key collision.
164 * Fix [gh #42](https://github.com/awesomized/libmemcached/issues/42):
165 MEMCACHED_MAX_BUFFER docs.
166 * Fix [gh #43](https://github.com/awesomized/libmemcached/issues/43):
167 libmemcached_configuration docs.
168 * Fix [gh #46](https://github.com/awesomized/libmemcached/issues/46):
169 clarification on millisecond timeout docs.
170 * Fix [gh #50](https://github.com/awesomized/libmemcached/issues/50):
171 memcached_fetch_result() can return previously returned data.
172 * Fix [gh #53](https://github.com/awesomized/libmemcached/issues/53):
173 stack overflow in memcached_fetch_result().
174 * Fix [gh #57](https://github.com/awesomized/libmemcached/issues/57):
175 include <inttypes.h> vs <cinttypes>
176 * Fix [gh #58](https://github.com/awesomized/libmemcached/issues/58):
177 more specific error messages when connect() fails.
178 * Fix [gh #59](https://github.com/awesomized/libmemcached/issues/59):
179 bin/memcat: typo in "No servers provied".
180 * Fix [gh #77](https://github.com/awesomized/libmemcached/issues/77):
181 undeclared UINT64_C in ketama.cc.
182 * Fix [gh #12](https://github.com/awesomized/libmemcached/issues/12):
183 never reconnects after connection reset (binary protocol).
184 * Fix [gh #49](https://github.com/awesomized/libmemcached/issues/49):
185 assertion memcached_failed(rc) failed in memcached_send_ascii().
186 * Fix [gh #67](https://github.com/awesomized/libmemcached/issues/67):
187 get returns NOTFOUND on timeout.
188 * Fix [gh #76](https://github.com/awesomized/libmemcached/issues/76):
189 memcached_touch() crashes when expiration=-1 (ASCII only).
190 * Fix [gh #23](https://github.com/awesomized/libmemcached/issues/23):
191 build fails with bison 2.3.
192 * Fix memaslap: build fails with newer compiler versions.
193 * Fix usage of strerror_r() implementations returning pointer to char.
194 * Fix pipelining commands with memcached >= 1.6.
195 * Fix memcached_stat_get_value(): buffer overflow.
196 * Fix memcached_stat(): undefined behavior due to unintialized memcached_return_t.
197 * Fix SASL tests: requires SASL_PWDB_CONF.
198 * Fix bin/memaslap to idnentify itself as memaslap instead of memslap.
199 * Fix bin/memcapable to work with memcached >= 1.6.
200 * Fix murmur and murmur3 hashes on big endian platforms.
201 * Fix [gh #82](https://github.com/awesomized/libmemcached/issues/82),
202 [gh #64](https://github.com/awesomized/libmemcached/issues/64) and
203 [gh #21](https://github.com/awesomized/libmemcached/issues/21):
204 clarify documentation on replication.
205 * Fix [gh #95](https://github.com/awesomized/libmemcached/issues/95):
206 MEMCACHED_CALLBACK_GET_FAILURE and MEMCACHED_BEHAVIOR_BUFFER_REQUESTS
207 * Fix bin/memcat to output flags if requested with `--flag`.
208 * Fix [gh #68](https://github.com/awesomized/libmemcached/issues/68):
209 Windows support.
210
211 ---
212
213 See [ChangeLog-1.0](./ChangeLog-1.0.md) for changes prior v1.1.