Igbinary is a drop in replacement for the standard php serializer. Instead of
the time and space consuming textual representation used by PHP's serialize(), igbinary stores php data
structures in a compact binary form. Savings are significant when using
memcached or similar memory based storages for serialized data.
* Update test expectations for php 8.2.0-dev. Add `#[AllowDynamicProperties]` Attribute to some tests to avoid notices.
* In php 8.1+, make igbinary_unserialize check to see if an equivalent interned string already exists when unserializing object property names, array keys, and class names
and use that instead of creating a brand new string.
(This deliberately doesn't create a new interned string if one doesn't already exist.)
(Before this change, igbinary would deduplicate strings when serializing, but would not check if strings were interned by PHP itself when unserializing)
* Avoid debug build assertion failure for `HT_ASSERT_RC1` the same way as PHP's unserialize - this is a case where ostensibly there are no other references to the array being unserialized.
|3.2.6||* Fix igbinary extension version found in reflection.|
|3.2.5||* Fix change in behavior introduced in 3.2.2RC1 when unserializing arrays - the internal array pointer (for `next()`, `key()`, etc) pointed past the end of the array in php 7.0-7.2.|
|3.2.4||* Forbid serializing classes that deny serialization/unserialization (anonymous classes, CURLFile, etc.) even when subclasses implement '__serialize' and '__unserialize'|
* Fix build for php 8.1 after changes to enum internals.
* Update tests to suppress deprecations in php 8.1 and support run-tests.php changes in php 8.1
* Don't emit a notice when unserialize_callback_func causes igbinary_unserialize to throw https://bugs.php.net/bug.php?id=81118