Skip to content

Releases: krakjoe/apcu

Version 5.1.14

21 Nov 07:42
Compare
Choose a tag to compare

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

19 Nov 09:18
Compare
Choose a tag to compare

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

09 Jul 10:17
Compare
Choose a tag to compare

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

08 Mar 05:18
Compare
Choose a tag to compare

Bugfix release for PHP 7

  • fix #246 apcu_entry hangs
  • fix #259 deadlock in apcu_store
  • fix #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

Version 5.1.10

16 Feb 05:55
Compare
Choose a tag to compare

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

02 Jan 14:35
Compare
Choose a tag to compare

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

16 Jan 07:01
Compare
Choose a tag to compare

Bugfix release for PHP 7

  • fix #207 Segmentation fault in apc_sma_api_free()
  • fix #221 memory leak
  • update to apc dashboard (Tyson Andre)

Version 5.1.7

21 Oct 12:22
Compare
Choose a tag to compare

Bugfix release for PHP 7

  • fixes #19: hung apaches on pthread wrlocks
  • fixes #203: segfaults in bailout / longjmp

Version 5.1.6

06 Oct 05:19
Compare
Choose a tag to compare

Bugfix release for PHP 7

  • fixes #19: Hung apaches on pthread wrlocks
  • fixes #188: Fix Segfault in ZTS build when locking (Tyson Andre)
  • fixes #194: apcu_entry ttl not working
  • fixes #189: SegFault in apc_copy_zval
  • fixes #185: zend_mm_heap corrupted
  • fixes #190: memory leak/failed check for duplicates

v5.1.5

07 Jun 12:52
Compare
Choose a tag to compare

Bugfix release for PHP 7

  • fix version check in control panel page (#182, @lennartwesdijk )
  • do not create null strings, palloc may fail