- 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.