### Install sebastian/recursion-context using Composer Source: https://github.com/sebastianbergmann/recursion-context/blob/main/README.md This snippet shows how to add the sebastian/recursion-context library to your project's dependencies using Composer. It covers both regular and development-time installations. ```bash composer require sebastian/recursion-context ``` ```bash composer require --dev sebastian/recursion-context ``` -------------------------------- ### PHPStan Adoption Source: https://github.com/sebastianbergmann/recursion-context/blob/main/ChangeLog.md Version 6.0.2 of the recursion-context project switched from Psalm to PHPStan for static analysis. ```PHP * This project now uses PHPStan instead of Psalm for static analysis ``` -------------------------------- ### PHP 8 Support Added Source: https://github.com/sebastianbergmann/recursion-context/blob/main/ChangeLog.md Version 4.0.2 added support for PHP 8 to the recursion-context component. ```PHP * This component is now supported on PHP 8 ``` -------------------------------- ### PHP 7.3, 7.4, and 8.0 Support Removed Source: https://github.com/sebastianbergmann/recursion-context/blob/main/ChangeLog.md Version 5.0.0 of the recursion-context component removed support for PHP 7.3, PHP 7.4, and PHP 8.0. ```PHP * This component is no longer supported on PHP 7.3, PHP 7.4 and PHP 8.0 ``` -------------------------------- ### PHP 8.1 Support Removed Source: https://github.com/sebastianbergmann/recursion-context/blob/main/ChangeLog.md Version 6.0.0 of the recursion-context component removed support for PHP 8.1. ```PHP * This component is no longer supported on PHP 8.1 ``` -------------------------------- ### PHP 8.2 Support Removed Source: https://github.com/sebastianbergmann/recursion-context/blob/main/ChangeLog.md Version 7.0.0 of the recursion-context component removed support for PHP 8.2. ```PHP * This component is no longer supported on PHP 8.2 ``` -------------------------------- ### Type Annotations and PHP Constraint Update Source: https://github.com/sebastianbergmann/recursion-context/blob/main/ChangeLog.md Version 4.0.3 added type annotations for in/out parameters and updated the PHP version constraint in `composer.json` from `^7.3 || ^8.0` to `>=7.3`. ```PHP * [#21](https://github.com/sebastianbergmann/recursion-context/pull/21): Add type annotations for in/out parameters * Changed PHP version constraint in `composer.json` from `^7.3 || ^8.0` to `>=7.3` ``` -------------------------------- ### Exception Class Inheritance Source: https://github.com/sebastianbergmann/recursion-context/blob/main/ChangeLog.md In version 4.0.4, the `SebastianBergmannRecursionContextException` class was updated to correctly extend `\Throwable`. ```PHP * `SebastianBergmann\RecursionContext\Exception` now correctly extends `\Throwable` ``` -------------------------------- ### Archive Export Ignored Tests Source: https://github.com/sebastianbergmann/recursion-context/blob/main/ChangeLog.md Version 4.0.1 changed the behavior for archive exports to ignore tests and other development-related files. ```PHP * Tests etc. are now ignored for archive exports ``` -------------------------------- ### spl_object_id() Usage Source: https://github.com/sebastianbergmann/recursion-context/blob/main/ChangeLog.md In version 6.0.1, the recursion-context project updated to use the more efficient `spl_object_id()` instead of `spl_object_hash()`. ```PHP * [#30](https://github.com/sebastianbergmann/recursion-context/pull/30): Use more efficient `spl_object_id()` over `spl_object_hash()` ``` -------------------------------- ### Null Value Handling Fix Source: https://github.com/sebastianbergmann/recursion-context/blob/main/ChangeLog.md Version 4.0.5 fixed an issue where null values could be overwritten if `array_key_exists(PHP_INT_MAX, $array)` was true. ```PHP * [#26](https://github.com/sebastianbergmann/recursion-context/pull/26): Don't clobber `null` values if `array_key_exists(PHP_INT_MAX, $array)` ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.