Skip to content

v0.8.9

Latest

Choose a tag to compare

@github-actions github-actions released this 14 Oct 09:15
Immutable release. Only release title and notes can be modified.
a385089

Added

  • A package.xml, so that install-php-extensions builds the extension, eg
    install-php-extensions symfony/php-ext-deepclone@v0.8.9 in a Dockerfile.

Changed

  • deepclone_from_array() is faster: 14% fewer instructions on the cached
    payloads of a Symfony app, 18% on a graph of 1600 objects. It resolves
    object ids inline, and writes typed properties right after checking their
    type, like deepclone_hydrate() now does too.

Fixed

  • deepclone_from_array() read the wakeup flags of "objectMeta" as 32-bit
    integers, so 4294967295 read as -1 and -4294967296 as no flag. Only
    their sign matters now.
  • When deepclone_from_array() returns lazy ghosts, it checks the markers of
    their properties and states right away, like for other objects. Unknown
    object or reference ids, values of the wrong type and malformed closures were
    reported on first access before.
  • A const-expr closure with a negative or too large closure index is reported
    before its class is looked up, like its other malformed parts.