Changelog
This is a summary of recent changes to APCu, extracted from package.xml.
5.1.28 (2025-12-07)
- Defragmentation now reclaims unused space from moved entries, resulting in better compaction.
- Shared memory for new entries is allocated faster in scenarios with many free memory blocks. This should improve APCu's insertion performance when entries are frequently deleted or replaced, or when APCu is used with larger amounts of memory.
- Trying to insert entries larger than the shared memory no longer results in cache wipes.
- Fix build against PHP 8.6.
- Fix apc.php compatibility with older apcu versions.
5.1.27 (2025-08-28)
- Fixed another hang introduced in apcu 5.1.25, which can occur when defragmentation is triggered under load.
- Internal changes: The
report_memleaksINI directive has been removed from all tests as it will be deprecated in PHP 8.5.
5.1.26 (2025-08-05)
- Fixed hang introduced in apcu 5.1.25, which can occur when defragmentation is triggered under load.
- Fixed a test on PHP 8.5.
5.1.25 (2025-07-28)
- If the cache is full, try to clean up expired entries based on their per-entry hard TTL even if the soft
apc.ttlis 0. Previously the entire cache was discarded. - If a new entry cannot be inserted due to fragmentation, the cache will be defragmented, combining many small free blocks into one big free block by moving around cache entries. This avoids the need to discard the entire cache in more cases.
- The access time (which is used by the soft
apc.ttl) is now also updated when usingapcu_exists(). apc.entries_hintnow defaults to 512 entries per 1MB of shared memory.- Added
apc.mmap_hugepage_sizeto use huge pages for the apcu shared memory segment. - The
apc.shm_segmentsini option has been removed. - The
apc.smartconfiguration setting should now work more reliably. - The number of cache cleanups and defragmentations performed is now available in
apcu_cache_info(). - Fixed several issues that caused inserting new entries to fail unexpectedly.
5.1.24 (2024-09-21)
- Make compatible with PHP 8.4.
- apc.php: Preserve search parameter when deleting entry.
- apc.php: Allow arbitrary search regex.