igbinary extension
Igbinary is a drop in replacement for the standard php serializer. Instead of
time and space consuming textual representation, igbinary stores php data
structures in a compact binary form. Savings are significant when using
memcached or similar memory based storages for serialized data.
License: BSD-3-Clause
Version | Release | Download |
3.2.2RC1 | 2021-01-12 | igbinary-3.2.2RC1.tgz |
3.2.1 | 2020-12-27 | igbinary-3.2.1.tgz |
3.2.0 | 2020-12-26 | igbinary-3.2.0.tgz |
3.1.6 | 2020-10-08 | igbinary-3.1.6.tgz |
3.1.6RC1 | 2020-10-07 | igbinary-3.1.6RC1.tgz |
Version | Message |
3.2.2RC1 |
* Update php version check to allow igbinary to be statically built in PHP 8.0+ * Fix bug in out of memory error handling in __sleep, slightly speed up serializing with __sleep. * Continue serializing remaining properties if a missing property name is returned from __sleep. * Speed up serializing by optimizing for the case where there is no memory manager override. When there is a memory manager override, only use that for allocating the string to return. (benchmarks/serialize-scalar-int.b.php showed a speedup from 0.22 to 0.18 seconds for repeated serialization of a single scalar, and from 0.186 to 0.180 seconds for benchmarks/serialize-stringarray.b.php for an array of strings) * Speed up unserializing arrays in php 7.2-8.0 by adding optimized code for finding the hash bucket of a string/integer key of an array, or creating a placeholder if it does not already exist. |
3.2.1 | * Fix crash when unserializing if __serialize was defined but __unserialize was undefined in php 8.0+ (due to typo). |
3.2.0 |
* Use PHP's shared empty array instance when unserializing empty arrays in php 7.3+. (helps slightly with memory usage when repeatedly unserializing, when removing elements from arrays before unserializing them, or when serializing values including an empty array that was unserialized) * Emit a deprecation notice when serializing resources. PHP itself is converting many resources to objects that throw an Error on serialization attempts. Continue to represent resources as null in the serialized data. * Fix memory management bug when unserializing invalid data (duplicate properties in objects (e.g. from `__sleep`) or duplicate fields in arrays (impossible for valid data)). * Speed up calls to `__serialize`/`__unserialize` in php 8.0+. * Fix error messages for unserialize_callback_func: make messages properly refer to the autoload function. * Optimize unserializing alternative names for private/protected constants that were previously public. |
3.1.6 |
* Fix build failure with older C standard (e.g. building on CentOS 6). * Otherwise, identical to 3.1.6RC1. |
3.1.6RC1 | * Fix igbinary_serialize incorrectly deduplicating arrays/objects/references when they were garbage collected/freed during serialization. |