Judy 2.3.0

PHP Judy implements sparse dynamic arrays (aka Judy Arrays)


PHP Judy implements sparse dynamic arrays (aka Judy Arrays). This extension is based
on the Judy C library. A Judy array consumes memory only when it is populated,
yet can grow to take advantage of all available memory if desired. Judy's key benefits
are scalability, high performance, and memory efficiency.

License: PHP

Changes

- NEW FEATURE: Windows PECL DLL builds now published with each release (PHP 8.1-8.5, x86/x64, TS/NTS)
- NEW FEATURE: PHP 8.5 support added to CI matrix
- FIX: PHP 8.1+ compile fix - ZVAL_DUP replaced with ZVAL_COPY throughout
- FIX: free_obj memory leak resolved (Judy array, zvals, and iterator state now properly freed)
- FIX: BITSET clone bug fixed (was iterating new array instead of source)
- FIX: STRING_TO_INT counter no longer overcounts on value overwrite
- FIX: E_ERROR replaced with exceptions in constructor and write_dimension
- FIX: foreach-by-ref now throws a proper error instead of E_ERROR; fixed emalloc leak
- FIX: long->zend_long throughout; JLF() iterator bug fixed; redundant JLG lookups removed
- FIX: Removed -march=native and -flto from config.m4 for portability
- IMPROVEMENT: CI workflow consolidated; Windows benchmarks added to CI reporting