Tags

Tags give the ability to mark specific points in history as being important
  • 1.0.0

    protected
    2d172f35 · Update README.md ·
    First stable release.
    
    Cloner is now considered stable and ready for production use. This release establishes the public API and behavior introduced during the 0.0.x releases as the 1.0 baseline.
    
    Highlights:
    
    * Deep cloning with restoration of PHP internal object state.
    * Support for iterator, SimpleXML, Throwable, and DOM state restoration.
    * Explicit handling of objects that cannot be cloned or restored safely.
    * Improved preservation of iterator positions and internal exception/error state.
    * Comprehensive regression and contract coverage for supported cloning and restoration behavior.
    
    No known backwards-incompatible changes from 0.0.3.
  • 0.0.3

    protected
    01c9ee3a · Fix phpstan error ·
    Reduce redundancy in exception message creation.
  • 0.0.2

    protected
    This release strengthens cloning and state restoration for PHP internal objects, with a focus on iterator, SimpleXML, Throwable, DOM, and uncloneable internal-class edge cases.
    
    Highlights:
    
    - Restores uncloneable internal objects through reflection rebuilds and registered internal handlers, with documented CannotRestoreObjectException failures when restoration is impossible.
    - Preserves iterator state more accurately, including ArrayIterator cursor position, cloned inner iterators, SimpleXMLIterator positions, and AppendIterator positions with duplicate keys.
    - Preserves internal Exception/Error state such as file, line, trace, previous throwable, and string output.
    - Fixes SimpleXML child-node property handling so projected XML nodes are treated as internal state while declared userland properties remain supported.
    - Avoids nullable optional constructor arguments for DOM restoration, preventing PHP 8.5 deprecations.
    - Tightens internal handler behavior so handlers only process runtime PHP internal classes, not userland subclasses.
    - Updates documentation for the added internal-state restoration difference from spatie/php-cloneable and adds an AI implementation assistance disclaimer.
    - Removes an invalid PHPStan suppression and expands regression/contract coverage around internal handlers.
    
    Potential compatibility note: userland subclasses of PHP internal classes are now explicitly rejected by internal handlers rather than being restored through those handlers.
  • 0.0.1

    protected
    First release (beta).