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