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