All notable changes of the PHPUnit 8.5 release series are documented in this file using the Keep a CHANGELOG principles.
convertDeprecationsToExceptions="true" to enable this)convertDeprecationsToExceptions="true"phpunit.phar does not work with PHP 8.1PHP_VERSION contains a value that is not compatible with version_compare(), for instance X.Y.Z-(to be removed in future macOS)PHPUnit\Runner\DefaultTestResultCache) no longer uses PHP's serialize() and unserialize() functions for persistence. It now uses a versioned JSON format instead that is independent of PHP implementation details (see #3581 and #4662 for examples why this is a problem). When PHPUnit tries to load the test result cache from a file that does not exist, or from a file that does not contain data in JSON format, or from a file that contains data in a JSON format version other than the one used by the currently running PHPUnit version, then this is considered to be a "cache miss". An empty DefaultTestResultCache object is created in this case. This should also prevent PHPUnit from crashing when trying to load a test result cache file created by a different version of PHPUnit (see #4580 for example).TestCase::expectError() works on PHP 7.3, but not on PHP >= 7.4iterable return types should return empty array by defaultTestCase::getMockFromWsdl() does not work with PHP 8.1-devgetMockFromWsdl() does not handle methods that do not have parameters correctly%xx sequences in path to phpunit.xsdcomposer.json from ^7.2 to >=7.2 to allow the installation of PHPUnit 8.5 on PHP 8. Please note that the code coverage functionality is not available for PHPUnit 8.5 on PHP 8.phpunit/php-code-coveragephpunit/phpunit-selenium does not work with PHPUnit 8.5.9--static-backup --strict-global-state is used1phpdbg_*() functions are scoped to PHPUnit\phpdbg_*()$GLOBALS is deletedPHPUnit\TextUI\Command passes warnings to PHPUnit\TextUI\TestRunnerexpectExceptionMessageRegExp() has been removed in PHPUnit 9 without a deprecation warning being given in PHPUnit 8eval-stdin.php has been removed, it was not used anymore since PHPUnit 7.2.7eval-stdin.php can now only be executed with cli and phpdbgaddMethods() and onlyMethods()assertFileEqualsCanonicalizing(), assertFileEqualsIgnoringCase(), assertStringEqualsFileCanonicalizing(), assertStringEqualsFileIgnoringCase(), assertFileNotEqualsCanonicalizing(), assertFileNotEqualsIgnoringCase(), assertStringNotEqualsFileCanonicalizing(), and assertStringNotEqualsFileIgnoringCase() as alternative to using assertFileEquals() etc. with optional parametersassertFileEquals() etc.