Repository navigation
Releases: sebastianbergmann/phpunit
Releases · sebastianbergmann/phpunit
Release list
PHPUnit 13.4.1
Immutable
release. Only release title and notes can be modified.
Changed
- The Software Bill of Materials (SBOM) embedded in the PHAR now uses CycloneDX 1.7 and provides the NTIA minimum elements as well as the data fields that BSI TR-03183-2 (version 2.1.0) requires for logical and identified components, including component creators, original, distribution and effective licences, source code URIs, and the PHP runtime and its extensions as external components
Fixed
- #7029:
TestSuite::runTests()doubles garbage collector time whenzend.exception_ignore_argsis off setUpBeforeClass()andtearDownAfterClass()were run twice for a test class that is the only test class in a test suite of the XML configuration file that has the name of that test class- Tests could not be run in process isolation when the path of the bootstrap script, the test file, or the directory for temporary files contained a single quote
- Arguments in the
--ARGS--section of a PHPT test that start with-were interpreted by PHP instead of being passed to the test when the test also has a--STDIN--section - Recording the tests that passed in a child process copied all tests that had passed so far, which made running many tests in process isolation increasingly slow
Learn how to install or update PHPUnit 13.4 in the documentation.
Keep up to date with PHPUnit:
- You can follow @phpunit@phpc.social to stay up to date with PHPUnit's development.
- You can subscribe to the PHPUnit Updates newsletter to receive updates about and tips for PHPUnit.
PHPUnit 12.5.38
Immutable
release. Only release title and notes can be modified.
Changed
- The Software Bill of Materials (SBOM) embedded in the PHAR now uses CycloneDX 1.7 and provides the NTIA minimum elements as well as the data fields that BSI TR-03183-2 (version 2.1.0) requires for logical and identified components, including component creators, original, distribution and effective licences, source code URIs, and the PHP runtime and its extensions as external components
Fixed
setUpBeforeClass()andtearDownAfterClass()were run twice for a test class that is the only test class in a test suite of the XML configuration file that has the name of that test class- Tests could not be run in process isolation when the path of the bootstrap script, the test file, or the directory for temporary files contained a single quote
- A test that is run in process isolation aborts the test run when its result cannot be unserialized, for instance because it returns an object that holds a test double
- Issues that are listed in the baseline are not ignored for tests that are run in a separate process
- Arguments in the
--ARGS--section of a PHPT test that start with-were interpreted by PHP instead of being passed to the test when the test also has a--STDIN--section - Recording the tests that passed in a child process copied all tests that had passed so far, which made running many tests in process isolation increasingly slow
Learn how to install or update PHPUnit 12.5 in the documentation.
Keep up to date with PHPUnit:
- You can follow @phpunit@phpc.social to stay up to date with PHPUnit's development.
- You can subscribe to the PHPUnit Updates newsletter to receive updates about and tips for PHPUnit.
PHPUnit 11.5.57
Immutable
release. Only release title and notes can be modified.
Changed
- The Software Bill of Materials (SBOM) embedded in the PHAR now uses CycloneDX 1.7 and provides the NTIA minimum elements as well as the data fields that BSI TR-03183-2 (version 2.1.0) requires for logical and identified components, including component creators, original, distribution and effective licences, source code URIs, and the PHP runtime and its extensions as external components
Learn how to install or update PHPUnit 11.5 in the documentation.
Keep up to date with PHPUnit:
- You can follow @phpunit@phpc.social to stay up to date with PHPUnit's development.
- You can subscribe to the PHPUnit Updates newsletter to receive updates about and tips for PHPUnit.
PHPUnit 10.5.66
Immutable
release. Only release title and notes can be modified.
Changed
- The Software Bill of Materials (SBOM) embedded in the PHAR now uses CycloneDX 1.7 and provides the NTIA minimum elements as well as the data fields that BSI TR-03183-2 (version 2.1.0) requires for logical and identified components, including component creators, original, distribution and effective licences, source code URIs, and the PHP runtime and its extensions as external components
Learn how to install or update PHPUnit 10.5 in the documentation.
Keep up to date with PHPUnit:
- You can follow @phpunit@phpc.social to stay up to date with PHPUnit's development.
- You can subscribe to the PHPUnit Updates newsletter to receive updates about and tips for PHPUnit.
PHPUnit 9.6.38
Immutable
release. Only release title and notes can be modified.
Changed
- The Software Bill of Materials (SBOM) embedded in the PHAR now uses CycloneDX 1.7 and provides the NTIA minimum elements as well as the data fields that BSI TR-03183-2 (version 2.1.0) requires for logical and identified components, including component creators, original, distribution and effective licences, source code URIs, and the PHP runtime and its extensions as external components
Learn how to install or update PHPUnit 9.6 in the documentation.
Keep up to date with PHPUnit:
- You can follow @phpunit@phpc.social to stay up to date with PHPUnit's development.
- You can subscribe to the PHPUnit Updates newsletter to receive updates about and tips for PHPUnit.
PHPUnit 8.5.56
Immutable
release. Only release title and notes can be modified.
Changed
- The Software Bill of Materials (SBOM) embedded in the PHAR now uses CycloneDX 1.7 and provides the NTIA minimum elements as well as the data fields that BSI TR-03183-2 (version 2.1.0) requires for logical and identified components, including component creators, original, distribution and effective licences, source code URIs, and the PHP runtime and its extensions as external components
Learn how to install or update PHPUnit 8.5 in the documentation.
Keep up to date with PHPUnit:
- You can follow @phpunit@phpc.social to stay up to date with PHPUnit's development.
- You can subscribe to the PHPUnit Updates newsletter to receive updates about and tips for PHPUnit.
PHPUnit 13.4.0
Immutable
release. Only release title and notes can be modified.
Added
- #6585:
executionOrderattribute values and--order-bytoken lists that spell the order beforedefects, for exampleduration-ascending,defects - #6585:
pipeline()on theTestSuite\Sortedevent for inspecting which reordering stages were applied - #6686:
Constraint::negatedToString()andConstraint::negatedFailureDescription()for authoring the description of a constraint that is wrapped inLogicalNot - #6863: Cache which tests a test file contains
- #6957: Allow ordering tests by the time their source files were last modified
- #6958: Select the tests that are in all of several groups
- #6960: Record the order in which methods of mock objects are invoked
- #6964:
#[RequiresClass]attribute to skip a test if a class does not exist - #6995:
ChildProcessExtensioninterface for extensions that need to be bootstrapped in the child process of a test that runs in process isolation --coverage-jsonlCLI option and<jsonl>element for the XML configuration file to write a code coverage report in JSONL format, one JSON object per line, that reports uncovered code rather than every executable line--timeoutCLI option to limit the wall-clock time of the entire test runrequireCoverageMetadataOnSmallTests,requireCoverageMetadataOnMediumTests, andrequireCoverageMetadataOnLargeTestsattributes for the XML configuration file to require code coverage metadata depending on the size of a test; these have precedence overrequireCoverageMetadata
Changed
- Output printed by a test is now shown in the compact output as a
--- OUTPUT:record that is attributed to the test instead of being passed through unformatted; the record is omitted whenbeStrictAboutOutputDuringTestsor--disallow-test-outputalready reports the output as risky
Deprecated
- #6585: Writing
defectsbefore the order for--order-byandexecutionOrder, which will change meaning in PHPUnit 14 - #6585:
dependsandno-dependsfor--order-byandexecutionOrder - #6585: Configuring more than one order for
--order-byandexecutionOrder - #6585: Unknown values for the
executionOrderXML configuration attribute, which are currently ignored - #6686:
Constraint::failureDescriptionInContext()andLogicalNot::negate() - #6999: Class-level
#[Group],#[Ticket],#[Small],#[Medium], and#[Large]on parent classes of test classes
Fixed
- Issues that are listed in the baseline are not ignored for tests that are run in a separate process
- A test that is run in process isolation aborts the test run when its result cannot be unserialized, for instance because it returns an object that holds a test double
- A test that uses
#[DataProviderClosure]errors when it is run in process isolation
Learn how to install or update PHPUnit 13.4 in the documentation.
Keep up to date with PHPUnit:
- You can follow @phpunit@phpc.social to stay up to date with PHPUnit's development.
- You can subscribe to the PHPUnit Updates newsletter to receive updates about and tips for PHPUnit.
PHPUnit 13.3.6
Immutable
release. Only release title and notes can be modified.
Fixed
- The first attempt of a test that is retried is reported as attempt 1 of 1 in events, instead of attempt 1 of the configured maximum number of attempts
- The class name argument of
#[RequiresMethod]is declared asclass-string, so static analysis reports an error when it refers to a class that does not exist - A
#[RequiresMethod]attribute that refers to a class which cannot be loaded, for instance because its parent class does not exist, aborts the test run instead of skipping the test
Learn how to install or update PHPUnit 13.3 in the documentation.
Keep up to date with PHPUnit:
- You can follow @phpunit@phpc.social to stay up to date with PHPUnit's development.
- You can subscribe to the PHPUnit Updates newsletter to receive updates about and tips for PHPUnit.
PHPUnit 12.5.37
Immutable
release. Only release title and notes can be modified.
Fixed
- The class name argument of
#[RequiresMethod]is declared asclass-string, so static analysis reports an error when it refers to a class that does not exist - A
#[RequiresMethod]attribute that refers to a class which cannot be loaded, for instance because its parent class does not exist, aborts the test run instead of skipping the test
Learn how to install or update PHPUnit 12.5 in the documentation.
Keep up to date with PHPUnit:
- You can follow @phpunit@phpc.social to stay up to date with PHPUnit's development.
- You can subscribe to the PHPUnit Updates newsletter to receive updates about and tips for PHPUnit.
PHPUnit 13.3.5
Immutable
release. Only release title and notes can be modified.
Changed
- Control characters and ANSI escape sequences in user-supplied strings such as test names, data set names, and messages are now made visible as
\u{NNNN}escape sequences instead of being passed through to the terminal - Control characters in user-supplied strings are now also made visible in the compact output
- Line feeds in the name of a test no longer break the header line of a record in the compact output
Learn how to install or update PHPUnit 13.3 in the documentation.
Keep up to date with PHPUnit:
- You can follow @phpunit@phpc.social to stay up to date with PHPUnit's development.
- You can subscribe to the PHPUnit Updates newsletter to receive updates about and tips for PHPUnit.