Login  |  Packages  |  Support  |  Bugs
PECL is deprecated.

Have you heard about PIE? 🥧 PHP Installer for Extensions (PIE) is the replacement for PECL. We recommend publishing your extension using PIE instead.

Find out more at https://github.com/php/pie.

Return

Changelog for yac
Release What has changed?
2.4.1 - Integrity-check every value with CRC-32C on read: three interleaved hardware chains for values over 1KB on x86-64/ARM64, sliced-by-8 software table elsewhere
- Eviction rework: separate expired sweep, victims picked by remaining ttl (ties fall to least hit), corrupt blocks tombstoned on find
- A single MurmurHash64A drives home slot and probe stride (two hashes before)
- hits/miss accumulated per process and folded once at request end, off the shared-counter hot path
- Default memory raised: keys 4M to 8M, values 32M to 64M; compression on by default at 4K
- Fixed a refcount leak on the multi-get $default
- Entries failing to decompress are now invalidated instead of being evicted over and over
- Fixed crc sampling and the decompression check
- Fixed spurious kicks
- Fixed the JSON serializer decoding from an unterminated buffer
- Fixed info() folding miss counts into the hits counter
2.4.0 - Embed small scalars directly in the hash slot, avoiding value allocations for tiny entries
- Switch compression from FastLZ to LZ4 (better ratio and speed)
- get() accepts an optional $default argument (returned on miss instead of NULL)
- dump() gains an $offset parameter and reports hits, atime, embedded and c_len per entry
- Per-entry hit counters and start_time exposed in info()/dump()
- Multi-get omits missing keys (filled with $default when given) instead of false placeholders
- Field-by-field slot commits and spinlock backoff (pause/yield) reduce contention overhead
- Fixed a startup hang when values_memory_size is below the 4M segment minimum
- Fixed Windows shared memory cleanup (view unmapped exactly once)
- Fixed valgrind-reported leaks and uninitialized reads (MINFO output, compression error paths)
2.3.2 - PHP 8.2, 8.3, 8.4, 8.5 and 8.6 support
- Added ARMv8 hardware CRC32C support
- Fixed dead SSE4.2 CRC32 detection, modernized config.m4
- Retry on CAS failures in set()
- Treat decode/decompression failures as silent cache misses
- Fixed delete() returning true for non-existent keys
- Added PIE (PHP Installer for Extensions) support
2.3.1 - PHP8.1 Supports
2.3.0 - PHP8 Supported
2.2.1 - Refactor key manipulation, avoding memory allocation
- Refactor Yac::__set/__get by using native objects_handler
2.2.0 - Added json serializer
- Added igbinary serializer
- change yac.serilalizer to string, "php", "json" etc
2.1.2 - Also use crc32_u32 in 64 bits
- Fixed crc32c only pick the first byte
2.1.1 - Implemnented CAS based lock-free protection
- Use SSE4.2 _mm_crc32 instead of normal crc32 to make speedup
- Some optimization to avoding memory usage
- Fixed PECL package (missed yac_atomic.h)
2.1.0 - Implemnented CAS based lock-free protection
- Some optimization to avoding memory usage
2.0.4 - Fixed PHP-7.4 windows build
2.0.3 - Fixed PHP-7.4 Compatiblity
2.0.2 - Fixed PHP-7.2 Compatiblity
2.0.1 - Fixed issue #63 (include smart_str.h)
2.0.0 - Release yac for PHP7
0.9.2 - Add --with-system-fastlz option
0.9.1 - Try to fix windows build
0.9.0 - first release

Return

PRIVACY POLICY  |  CREDITS
Copyright © 2001-2026 The PHP Group
All rights reserved.
Last updated: Wed Jun 17 13:08:36 2026 UTC
Bandwidth and hardware provided by: pair Networks