Releases: krakjoe/apcu
Releases · krakjoe/apcu
Version 5.1.14
Bugfix release for PHP 7
- Fixed #347: Disable slam defense by default.
- Fix potential issue with destruction of locks. This does not affect Linux, but might affect Windows and BSD.
- Use mutex instead of rwlock for shared memory allocator (if pthreads mutex available).
- Require only read-lock for apcu_cas(), by using atomic compare-and-swap.
Version 5.1.13
Bugfix release for PHP 7
- Reimplement persistence logic using precise allocation rather than memory pools. This reduces
memory usage of cache entries, especially for small values, and improves performance of persisting
and unpersisting values. - Fixed #335: Stampede protection is broken.
- Fixed #328: Segfault in apcu_key_info() if APCu is disabled.
- Generally make the behavior of functions if APCu is disabled more consistent.
- Fixed PHP bug #72980: Empty strings are now consistently allowed as cache keys.
- Optimized apcu_key_info() and apcu_cache_info() by using interned strings.
- Fix build against PHP master (PHP 7.4).
- Many changes to internal C APIs.
Version 5.1.12
Bugfix release for PHP 7
- #307: Fix 'Timout' sort option (apc.php).
- #308: Keep search parameter on cache entry detail link (apc.php).
- Fix --enable-apcu-clear-signal support.
- Show entries with expired global TTL in APCuIterator.
- Respect TTL when calculating APCuIterator totals.
- The per-entry TTL now always takes precedence over the global TTL.
- The global TTL is now always relative to the access time.
- apcu_inc() and apcu_dec() no longer update hard-expired entries. Instead a new entry is created.
- Added optional $ttl argument to apcu_inc() and apcu_dec(), used when creating a new entry.
- PHP bug #76145: Fix use of APCu inside Serializer::(un)serialize().
- #304: If apcu_cas() is used on a non-existing entry, don't insert it.
- #295: Improve APCuIterator performance by using PCRE JIT and preallocating key strings.
- Reduce the memory overhead of cache entries.
- Prevent potential memory corruption in the cache slam defense implementation.
- Ensure cache entry references are released on bailout during unserialization.
- Make support for atomic operations a hard requirement for building APCu.
- Check write-lock acquisition for failure, to help debugging deadlock situations.
- Make sure apcu_inc/dec are atomic when working on a non-existing entry.
- Many changes to internal C APIs.
Version 5.1.11
Version 5.1.10
Bugfix release for PHP 7
- fix #247 when a NUL char is used as key, apcu_fetch(array) truncates the key
- fix #248 apcu_fetch may return values causing zend_mm_corruption or segfaults
when custom serializer is used - fix #260 apcu.serializer=default results in segfault
- fix #274 non-portable shell == in config.m4
- fix crash when passing bad array to apcu_delete
- improve fix #266 refcounting errors in APCIterator
- fix for PHP 7.3 compatibility
Version 5.1.9
Bugfix release for PHP 7
- fix #234 mmap disabled when configure is called with --enable-apcu-mmap
- fix #226 Warning: apcu_fetch(): apc_fetch() expects a string or array of strings.
- mitigate #223 Fatal error when starting php on windows
- add support for PCRE2 in 7.3
- use row formatting for information in phpinfo() tables
- set IS_STR_PERSISTENT so refcounting failures are reported by -DRC_DEBUG=1
- fix #266 refcounting errors in APCIterator
Version 5.1.8
Version 5.1.7
Version 5.1.6
v5.1.5
Bugfix release for PHP 7
- fix version check in control panel page (#182, @lennartwesdijk )
- do not create null strings, palloc may fail