- Build with php72 on Package Hub
- Updated to 5.1.15 - Restore apc.serializer=php as the default, as the "default" serializer still/again has issues. - Fix possible issues in persistence of arrays with the "default" serializer. - Attempt to reduce shared memory fragementation. - Updated to 5.1.14 - Fixed GH #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. - Updated to 5.1.13 - 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 GH #335: Stampede protection is broken. - Fixed GH #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.
- Updated to 5.1.12 - gh#307: Fix 'Timout' sort option (apc.php). - gh#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(). - gh#304: If apcu_cas() is used on a non-existing entry, don't insert it. - gh#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.
- updated to 5.1.11 - fix gh#krakjoe/apcu#246 apcu_entry hangs - fix gh#krakjoe/apcu#259 deadlock in apcu_store - fix gh#krakjoe/apcu#281 undefined variable in apc.php - fix handling of fatal errors in apcu_entry - check string lengths when looking up keys - many internal C APIs changed - updated to 5.1.10 - fix gh#krakjoe/apcu#247 when a NUL char is used as key, apcu_fetch(array) truncates the key - fix gh#krakjoe/apcu#248 apcu_fetch may return values causing zend_mm_corruption or segfaults when custom serializer is used - fix gh#krakjoe/apcu#260 apcu.serializer=default results in segfault - fix gh#krakjoe/apcu#274 non-portable shell == in config.m4 - fix crash when passing bad array to apcu_delete - improve fix gh#krakjoe/apcu#266 refcounting errors in APCIterator - fix for PHP 7.3 compatibility
- Build with -fvisibility=hidden, PHP process namespace pollution must be heavily limited to avoid symbol clashes. - Use SOURCE_DATE_EPOCH if set instead of custom build hack. - Update to version 5.1.9 - fix gh#234 mmap disabled when configure is called with --enable-apcu-mmap - fix gh#226 Warning: apcu_fetch(): apc_fetch() expects a string or array of strings. - mitigate gh#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 gh#266 refcounting errors in APCIterator