released 2023-03-06
- Fix gh #107:
macOS: deprecated sasl API (improve detection of
libsasl2
). - Fix gh #131:
Consider renaming tools (add
CLIENT_PREFIX
build option; default:mem
) - Fix gh #132:
Add build of static library (add
BUILD_SHARED_LIBS
build option; default:ON
). - Fix gh #134: Update client option documentation.
- Fix gh #136:
libmemcachedutil
is underlinked (link against libmemcached). - Fix gh php-memcached#531:
get
returns random values when lower than defaultOPT_POLL_TIMEOUT
is set.
NOTE: This is a security related fix; more information can be found at: https://github.com/awesomized/libmemcached/security/advisories/GHSA-wwmh-39wj-fx59
released 2022-11-09
released 2022-08-10
- Fix handling of negative expiration values, which are somehow allowed by legacy.
See also gh #125, and gh #76. - Fix gh #122: If libcrypto implementation of AES is used, do not compile internal.
- Fix missing include of in tests.
- Fix warnings with non-SASL builds.
- Fix pthread.h detection.
released 2021-09-16
- Fix gh #67:
GET returns
NOTFOUND
onTIMEOUT
. - Fix gh #113: Build failure with Catch2 < 2.13.5.
- Add gh #114: Add possibility to use libcrypto for encryption.
- Add gh #115:
Add
LIBMEMCACHED_AWESOME
CPP define. - Add test for gh #75: memcached_clone of SASL connection closes random file descriptor.
- Fix gh #116:
Add libmemcachedpotocol-0-0/configure.h guarding
ssize_t
typedef. - Fix gh #120:
libmemcached.pc is missing a
Requires
entry for libsasl2.
released 2021-06-23
Changes from beta3:
- Add ASCII multi get support to bin/memslap.
See logs from beta3
, beta2
, and beta1
for
the full list of changes since the last 1.0 release.
released 2021-04-15
Changes from beta2:
- Fix gh #108: macOS Big Sur: dtrace does not understand -G switch.
- Add support for IPv6 bracketed syntax in
memcached_servers_parse
. - Make
memcat
's--file
option's argument optional defaulting to<key>
. - Fix libmemcachedprotocol's binary
STAT
andVERSION
handlers. - Fix gh #105: EINTR handled too defensively when polling.
released 2020-12-28
Changes from beta1:
- Fix gh #103: Build failure on 32-bit.
- Fix gh #102: Doc build with old sphinx.
- Fix gh #100: Revert symbolic rename of public header include directories.
- Fix gh #98: Library SONAMEs and NAME_LINKs differ from 1.0.18.
- Fix gh #97: Location of cmake files installation directory.
- Fix gh #96: LIBXXX_VERSION_HEX constants format.
released 2020-12-21
NOTE:
This is a bug fix release, not a feature release. The minor version number
was incremented due to the following changes:
-
Ported build system to CMake.
-
Ported test suite to Catch2.
-
Build requires C++11 compiler support.
-
Tests require C++17 compiler support.
-
Moved to the Semantic Versioning Specification: https://semver.org
-
Moved the project from launchpad to github:
- Source: https://github.com/awesomized/libmemcached
- Documentation: https://awesomized.github.io/libmemcached
- Continuous Integration:
- Github: https://github.com/awesomized/libmemcached/actions (Linux, MacOS, Windows · amd64)
- Sourcehut: https://builds.sr.ht/~m6w6/libmemcached (FreeBSD, OpenBSD · amd64)
- Build artifacts: https://artifacts.m6w6.name/libmemcached/ rsync://m6w6.name::artifacts/libmemcached/
-
Fix build failure due to comparison of incompatible types in bin/memflush and bin/memstat.
-
Fix wrong type of memcached_instance_st::server_timeout_counter_query_id from uint32_t to uint64_t.
-
Fix memcached_dump(): returned MEMCACHED_CLIENT_ERROR on request to dump illegal slab id.
-
Fix bin/memcapable: failed with "No hostname was provided" when providing a hostname.
-
Fix hashkit/murmur and hashkit/murur3: undefined behavior on platforms requiring aligned access.
-
Fix Memcache::set(): possible subscription of empty vector.
-
Fix libmemcached_util_version_check().
-
Fix ketama/consistent hashing: crash on reallocation of continuum.
-
Fix gh #90: Build fails on Darwin.
-
Fix gh #83: memcp waits forever if file no found.
-
Fix gh #80: memparse docs.
-
Fix gh #62: uint32_t overflow cause busy loop.
-
Removed restriction of UDP+IPv6.
-
Fix SERVER_ERROR_MEMORY_ALLOCATION_FAILURE: recognize more strings returned by the server.
-
Fix gh #13: reset continuum counter after freeing them.
-
Fix gh #14 and gh #17: SASL: AUTH_CONTINUE was considered a failure and caused IO reset.
-
Fix gh #25: hashkit/murmur3 unavailable.
-
Fix missing handling of EAGAIN for non-blocking unix domain socket.
-
Fix gh #35: handling of BEHAVIOR_REMOVE_FAILED_SERVERS.
-
Fix gh #41: ensure stable sort on continuum host key collision.
-
Fix gh #42: MEMCACHED_MAX_BUFFER docs.
-
Fix gh #43: libmemcached_configuration docs.
-
Fix gh #46: clarification on millisecond timeout docs.
-
Fix gh #50: memcached_fetch_result() can return previously returned data.
-
Fix gh #53: stack overflow in memcached_fetch_result().
-
Fix gh #57: include <inttypes.h> vs
-
Fix gh #58: more specific error messages when connect() fails.
-
Fix gh #59: bin/memcat: typo in "No servers provied".
-
Fix gh #77: undeclared UINT64_C in ketama.cc.
-
Fix gh #12: never reconnects after connection reset (binary protocol).
-
Fix gh #49: assertion memcached_failed(rc) failed in memcached_send_ascii().
-
Fix gh #67: get returns NOTFOUND on timeout.
-
Fix gh #76: memcached_touch() crashes when expiration=-1 (ASCII only).
-
Fix gh #23: build fails with bison 2.3.
-
Fix memaslap: build fails with newer compiler versions.
-
Fix usage of strerror_r() implementations returning pointer to char.
-
Fix pipelining commands with memcached >= 1.6.
-
Fix memcached_stat_get_value(): buffer overflow.
-
Fix memcached_stat(): undefined behavior due to unintialized memcached_return_t.
-
Fix SASL tests: requires SASL_PWDB_CONF.
-
Fix bin/memaslap to idnentify itself as memaslap instead of memslap.
-
Fix bin/memcapable to work with memcached >= 1.6.
-
Fix murmur and murmur3 hashes on big endian platforms.
-
Fix gh #82, gh #64 and gh #21: clarify documentation on replication.
-
Fix gh #95: MEMCACHED_CALLBACK_GET_FAILURE and MEMCACHED_BEHAVIOR_BUFFER_REQUESTS
-
Fix bin/memcat to output flags if requested with
--flag
. -
Fix gh #68: Windows support.
See ChangeLog-1.0 for changes prior v1.1.