Changes since 5.1.9:
- fix gh#247 when a NUL char is used as key, apcu_fetch(array) truncates the key
- fix gh#248 apcu_fetch may return values causing zend_mm_corruption or segfaults
when custom serializer is used
- fix gh#260 apcu.serializer=default results in segfault
- fix gh#274 non-portable shell == in config.m4
- fix crash when passing bad array to apcu_delete
- improve fix gh#266 refcounting errors in APCIterator
- fix for PHP 7.3 compatibility
Changes since 5.1.8:
- 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
Changes:
- PHP 7 compatibility
- provide APC compatibility in "apc" optional extension
- move APCIterator to APC compatibility extension
- add APCuIterator without cache argument
- drop apcu_bin_* functions
- add apcu_entry(key, callback, ttl) function
- fix race on refcount of entry when using rwlocks (or on windows)
NOTE: apc-compatible interfaces moved into separate module
APCu is userland caching: APC stripped of opcode caching in preparation for
the deployment of Zend Optimizer+ as the primary solution to opcode caching
in future versions of PHP.
APCu has a revised and simplified codebase, by the time the PECL release is
available, every part of APCu being used will have received review and where
necessary or appropriate, changes.
Simplifying and documenting the API of APCu completely removes the barrier to
maintenance and development of APCu in the future, and additionally allows us
to make optimizations not possible previously because of APC's inherent
complexity.
APCu only supports userland caching (and dumping) of variables, providing an
upgrade path for the future. When O+ takes over, many will be tempted to use
3rd party solutions to userland caching, possibly even distributed solutions;
this would be a grave error. The tried and tested APC codebase provides far
superior support for local storage of PHP variables.