Changelog for memcached |
Release |
What has changed? |
3.3.0 |
- Add #515 option to locally enforce payload size limit
- Add #539 zstd support
- Add #540 compression_level option
- Mark password as a sensitive param for PHP 8.2
- Upgrade Windows libmemcached to v1.1.4
- Fix Windows PHP 8 compatibility
- Fix #518 Windows msgpack support
- Fix #522 signed integer overflow
- Fix #523 incorrect PHP reflection type for Memcached::cas $cas_token
- Fix #546 don't check key automatically, unless client-side verify_key is enabled
- Fix #555 incompatible pointer types (32-bit) |
3.3.0RC1 |
- Add #515 option to locally enforce payload size limit
- Add #539 zstd support
- Add #540 compression_level option
- Mark password as a sensitive param for PHP 8.2
- Fix Windows PHP 8 compatibility
- Fix #518 Windows msgpack support
- Fix #522 signed integer overflow
- Fix #523 incorrect PHP reflection type for Memcached::cas $cas_token
- Fix #546 don't check key automatically, unless client-side verify_key is enabled
- Fix #555 incompatible pointer types (32-bit) |
3.2.0 |
- PHP 8.0 and 8.1 support
- store_retry_count is no more set explicitly (#452)
- fix MemcachedServer (libmemcached-awesome is recommended)
- code cleanup
- fix windows build |
3.2.0RC2 |
- PHP 8.0 and 8.1 support
- store_retry_count is no more set explicitly (#452)
- fix MemcachedServer (libmemcached-awesome is recommended)
- code cleanup
- fix windows build |
3.2.0RC1 |
- PHP 8.0 and 8.1 support
- store_retry_count is no more set explicitly (#452)
- fix MemcachedServer (libmemcached-awesome is recommended)
- code cleanup |
3.1.5 |
PHP 7.0 - 7.1 - 7.2 - 7.3 - 7.4 release of memcached extension. Note that support for
libmemcached 0.x series has been discontinued and the oldest actively tested
version is 1.0.8. It is highly recommended to use version 1.0.18 of
libmemcached.
Fixes
* Fix build with PHP 7.4 release due to ulong typedef removal (#445) |
3.1.4 |
PHP 7.0 - 7.1 - 7.2 - 7.3 - 7.4 release of memcached extension. Note that support for
libmemcached 0.x series has been discontinued and the oldest actively tested
version is 1.0.8. It is highly recommended to use version 1.0.18 of
libmemcached.
Fixes
* Test on PHP 7.4 as well as 8.0 (#440)
* Fix segfault for unknown memcached flags (#431)
* Update documented defaults for sess_lock_retries (#432)
* Remove stray instances of the TSRMLS_CC macro for PHP 8 compatibility (#444) |
3.1.3 |
PHP 7.0 - 7.1 - 7.2 - 7.3 release of memcached extension. Note that support for
libmemcached 0.x series has been discontinued and the oldest actively tested
version is 1.0.8. It is highly recommended to use version 1.0.18 of
libmemcached.
Fixes
* Fix --disable-memcached-session by ifdef-ing session INI handler callbacks (#396, #420) |
3.1.2 |
PHP 7.0 - 7.1 - 7.2 - 7.3 release of memcached extension. Note that support for
libmemcached 0.x series has been discontinued and the oldest actively tested
version is 1.0.8. It is highly recommended to use version 1.0.18 of
libmemcached.
Fixes
* Fix --enable-memcached-protocol was set to yes by default, reverted to no (#418) |
3.1.1 |
PHP 7.0 - 7.1 - 7.2 - 7.3 release of memcached extension. Note that support for
libmemcached 0.x series has been discontinued and the oldest actively tested
version is 1.0.8. It is highly recommended to use version 1.0.18 of
libmemcached.
Fixes
* Fix --disable-memcached-sasl and --disable-memcached-session replaced by --enable variants (#416) |
3.1.0 |
PHP 7.0 - 7.1 - 7.2 - 7.3 release of memcached extension. Note that support for
libmemcached 0.x series has been discontinued and the oldest actively tested
version is 1.0.8. It is highly recommended to use version 1.0.18 of
libmemcached.
New
* Support for PHP 7.3 (#385, #390)
* Add INI setting to choose session consistent hash (ketama or ketama_weighted) (#344, #392)
* Add support for libmemcached encryption (#345, #381)
* Add error reporting to session code (#165)
* Expose build configuration via PECL (#383)
Fixes
* Fix hanging getStats() when binary protocol and non-blocking are both enabled (#348)
* Fix session persistence by checking memcached behavior values before setting (#379)
* Fix memcached.sess_persistent not working with memcached.sess_binary_protocol = On (#375)
* Configure warns if libmemcached needs sasl.h (#341, #380)
* Resolve various INI deviations in 3.0.3 (#351)
* Turn off sess_binary_protocol by default with older libmemcached (#330)
Changes
* Impove Windows builds (#411)
* Support Homebrew ZLIB path (#410)
* Remove forgotten unused comment about -lpthread (#406)
* Git ignore configure.ac (#405)
* Replace obsolete macros AC_TRY_FOO with AC_FOO_IFELSE (#403)
* Remove unused defines (#354)
* Change session_lock and sess_prefix default ini values (#340, #350)
* Use new fast_zpp parameter parsing API (#302, #311) |
3.0.4 |
PHP 7.0 - 7.1 - 7.2 release of memcached extension. Note that support for
libmemcached 0.x series has been discontinued and the oldest actively tested
version is 1.0.2. It is highly recommended to use version 1.0.18 of
libmemcached.
Fixes
* Fix corrupted interned strings (#338)
* Fix unit tests for compatibility with PHP 7.2 (#358, #359)
* Fix \x0a in key name locks up connection and triggers a fatal timeout error (#339)
* Fix missing optional parameter getStats($type) (#337)
* Fix typo in skip message (#331)
* Fix build warnings (329)
* Document GET_EXTENDED flag, add/rename other missing/misnamed constants (#335) |
3.0.3 |
PHP7 release of memcached extension. Note that support for libmemcached 0.x series has been discontinued
and the oldest actively tested version is 1.0.2. It is highly recommended to use version 1.0.18 of
libmemcached.
Fixes
* Fix crash when checking session data with older versions of libmemcached (#328)
* Fix crash due to zend_mm_corrupted when fetching session data (#327) |
3.0.2 |
PHP7 release of memcached extension. Note that support for libmemcached 0.x series has been discontinued
and the oldest actively tested version is 1.0.2. It is highly recommended to use version 1.0.18 of
libmemcached.
Fixes
* Update warning for touch command in binary protocol mode with libmemcached below 1.0.18 (#322)
* Add tests for 64-bit increment/decrement/incrementByKey/decrementByKey (#321)
* Fix tests for 32-bit increment/decrement/incrementByKey/decrementByKey (#319) |
3.0.0 |
PHP7 release of memcached extension. Note that support for libmemcached 0.x series has been discontinued
and the oldest actively tested version is 1.0.2. It is highly recommended to use version 1.0.18 of
libmemcached.
API
* The method signature of get, getByKey, getMulti, and getMultiByKey changed.
* get* and getMulti* commands no longer take cas or user flags parameters.
* get* and getMulti* commands now take the Memcached::GET_EXTENDED flag to retrieve user flags and cas tokens.
* Fixes getStats command to return all stats from all servers
* Fixes allKeys command behaviour
* Fixes error where cache callback for get command was not setting expiration time properly
* Added server type to server list
* Remove use_sasl ini-variable and initialise sasl as needed
* CAS tokens are returned as integers and they overflow to strings as needed
Session handler
* The session memcached protocol config name was changed, and the default protocol was changed from text to binary protocol. If your memcached setup does not support the binary protocol(e.g. if using twemproxy), then set memcached.sess_binary_protocol = Off. (Previously called memcached.sess_binary)
* Session lock algorithm updated (new ini-values memcached.sess_lock_wait_min, memcached.sess_lock_wait_max and memcached.sess_lock_retries)
* Session extension uses PHP allocators (still some work to do on the rest of the extension)
* Ini-values take effect during session_start or session_regenerate_id
* Fixes crash with session_regenerate_id (work-around for PHP bug)
Tests
* Fix several problematic tests |
3.0.1 |
PHP7 release of memcached extension. Note that support for libmemcached 0.x series has been discontinued
and the oldest actively tested version is 1.0.2. It is highly recommended to use version 1.0.18 of
libmemcached.
Fixes
* Add API entries for flushBuffers() and getAllKeys() (#316)
* Ignore specific errors from memcached_dump for getAllKeys() with newer memcached servers (#315)
* Fix compiling with memcached binary protocol enabled (#312)
* Restore php_libmemcached_compat with workaround for missing memcached_exists (#314)
* Travis CI purge old versions of memcached and libmemcached (#309) |
2.2.0 |
- Added the OPT_SERVER_TIMEOUT_LIMIT behaviour |
2.2.0RC1 |
- Fixes incorrect size when compressing serialized objects
- Fixes endianess of compressed values |
2.2.0b1 |
- Reinstate support for libememcached 0.x series
- Added SASL support to session handler
- Added Memcached::flushBuffers as per GH #78
- Fixes GH #54: Fixed UDP server adding with newer libmemcached
- Fixed PHP bug #65334: (Segfault if uncompress value failed)
- Fixes GH #14: get with cas token fails to fetch all results
- Fixes GH #68: memcached 2.1.0 requires libmemcached 1.0.10
- Fixes GH #69: compiling on CentOS 6.4 with libmemcached 1.0.17
- Merged PR #91: More granular session locking support
- Added session handler settings:
* memcached.sess_number_of_replicas
* memcached.sess_randomize_replica_read
* memcached.sess_remove_failed
* memcached.sess_connect_timeout
- Added support for memcached protocol handlers
- Added Memcached::setBucket for virtual bucket support
- Added support for msgpack serialization
- Memcached::setSaslAuthData returns correct status on success
- Added support for user-defined flags in set and get operations |
2.1.0 |
- Drop support for libmemcached 0.x series, now 1.0.x is required
- Add support for virtual bucket distribution
- Fix compilation against PHP 5.2 |
2.0.1 |
- Fix embedded version number to be not -dev |
2.0.0 |
- Add touch() and touchByKey() methods
- Add resetServerList() and quit() methods
- Support binary protocol in sessions
- Make it work with libmemcached up to 1.0.4
- Test against PHP 5.4.0 |
2.0.0b2 |
- Add OPT_REMOVE_FAILED_SERVERS option.
- Make it work with libmemcached up to 0.49.
- Fix a case where invalid session ID could lock the script.
- Improve session support:
* Add support for libmemcached config string
* Add persistence support via PERSISTENT=persistent_id prefix
of the save_path
- Add 3rd parameter to the __construct() that allows specification
of libmemcached configuration string
- Fix a possible crash in __construct() when using persistent
connections
- Add work-around a bug in libmemcached < 0.50 that causes truncation
of last character of server key prefix
- When using multiple servers implement transparent fail-over
- Fix php_memc_cas_impl() implementation when server_key is not being used
- Add support for incrementByKey() and decrementByKey()
- Make increment/decrement initialize value when it is not available (when
using binary protocol) |
2.0.0b1 |
- Change the return value for non-existing keys to be NULL rather than
'false', affects simple get only
- Add fastlz library that provides better/faster payload compression
- Add configure switch to enable/disable JSON serialization support
- Add getAllKeys() method
- Add deleteMulti() and deleteMultiByKey() methods
- Add isPristine() and isPersistent() methods
- Add setOptions() method to set multiple options at once
- Add SERIALIZER_JSON_ARRAY type that decodes JSON payloads as arrays
instead of objects
- Add support for Unix domain socket connections
- Add memcached.compression_threshold INI setting
- Add memcached.compression_factor INI setting
- Add memcached.compression_type INI setting
- Implement a few speed optimizations
- Many bug fixes and memory leaks plugged
- Add several more tests
- Add constants for libmemcached 0.37+:
* Memcached::OPT_NUMBER_OF_REPLICAS
* Memcached::OPT_RANDOMIZE_REPLICA_READ
- Add 'on_new' callback to constructor
- Add SASL support |
1.0.2 |
- Fix build for libmemcached-0.39 (memcached_server_list() issue) |
1.0.1 |
- Fix build for libmemcached-0.38. |
1.0.0 |
- First stable release.
- Add getResultMessage() method.
- Fix OPT_RECV_TIMEOUT definition.
- Initialize Session lock wait to max execution time (if max execution
time is unlimited, default to 30 seconds). |
0.2.0 |
- Refactor the way payload types are stored in memcached flags to optimize the structure
and allow for future expansion. WARNING! You have to flush the cache when upgrading from
an older version.
- Add JSON serializer support, requires PHP 5.2.10+.
- Add HAVE_JSON and HAVE_IGBINARY class constants that indicate whether the respective
serializers are available.
- Add 'flags' parameter to getMulti() and getMultiByKey().
- Add GET_PRESERVE_ORDER class constant that can be used with abovementioned flags
parameter to make the order of the keys in the response match the request.
- Fix an issue with retrieving 0-length payloads (FALSE boolean value).
- Add several tests. |
0.1.5 |
- Implement getVersion().
- Add support for preserving boolean value types.
- Fix crash when child class does not call constructor.
- Fix bug #16084 (Crash when addServers is called with an associative array).
- ZTS compilation fixes. |
0.1.4 |
- Fix compilation against PHP 5.3.
- Add support for 'igbinary' serializer (Oleg Grenrus) |
0.1.3 |
- Bludgeon bug #15896 (Memcached setMulti error) into submission. |
0.1.2 |
- Fix bug #15896 (Memcached setMulti error).
- Check for empty key in getServerByKey().
- Allow passing 'null' for callbacks.
- get() with cas token fetching wasn't erroring out properly.
- Rename certain parameters in the API to be more clear.
- Allow only strings as the append/prepend value.
- Remove expiration parameter from append/prepend. |
0.1.1 |
- Add OPT_LIBKETAMA_COMPATIBLE option.
- Implement addServers() method.
- Swap internal compressed and serialized flags to be compatible with other clients. |
0.1.0 |
Initial PECL release |