ergebnis/phpunit-slow-test-detector
Provides facilities for detecting slow tests in phpunit/phpunit.
2.24.0
11M downloads/mo
#723 most downloaded on Packagist
ergebnis/phpunit-slow-test-detector
What this package is like to depend on
Last release 5 months ago
13 Mar 2026
Release timing varies
gaps range from 2 weeks to 6 months
Nearly every release is documented
notes for 34 of 34 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
34 releases · first in 2023
6 releases in the last 12 months
see the full history below
Release timeline
34 releases · Feb 2023 to Mar 2026Releases
latest 34-
2.24.013 Mar 2026Release notes
Open source →What's Changed
- Fix: Rename
DefaultReportertoConsoleReporterby @localheinz in #774 - Fix: Move and rename classes in preparation for implementing a
GitHubReporterby @localheinz in #776 - composer(deps-dev): bump ergebnis/php-cs-fixer-config from 6.60.0 to 6.60.1 by @dependabot[bot] in #778
- github-actions(deps): bump actions/download-artifact from 7.0.0 to 8.0.0 by @dependabot[bot] in #781
- github-actions(deps): bump actions/upload-artifact from 6.0.0 to 7.0.0 by @dependabot[bot] in #780
- Fix: Move test fixtures by @localheinz in #779
- Fix: Add tests for using using
STDERRinstead ofSTDOUTby @localheinz in #783 - Fix: Remove
DurationFormatterinterface by @localheinz in #784 - Fix: Revert moving test fixtures by @localheinz in #789
- On PHPUnit 6-9, configure stderr separately by @tstarling in #788
New Contributors
- @tstarling made their first contribution in #788
Full Changelog: 2.23.0...2.24.0
Release notes
Open source →For a full diff see [
2.23.0...2.24.0][2.23.0...2.24.0].Added
- Added a
stderroption to allow directing the output of the slow test report tostderronphpunit/phpunit:^6,phpunit/phpunit:^7,phpunit/phpunit:^8, andphpunit/phpunit:^9([#788]), by [@tstarling]
- Fix: Rename
-
2.23.022 Feb 2026Release notes
Open source →What's Changed
- composer(deps-dev): bump ergebnis/php-cs-fixer-config from 6.59.0 to 6.60.0 by @dependabot[bot] in #766
- composer(deps-dev): bump ergebnis/composer-normalize from 2.49.0 to 2.50.0 by @dependabot[bot] in #767
- Fix: Failing test by @localheinz in #769
- Enhancement: Extract methods by @localheinz in #770
- Enhancement: Add table headers to slow test report by @localheinz in #768
- Enhancement: Add separator at end of table by @localheinz in #771
- Fix: Remove extra empty lines by @localheinz in #772
- Enhancement: Render slow test report with legend by @localheinz in #773
Full Changelog: 2.22.2...2.23.0
Release notes
Open source →For a full diff see [
2.22.2...2.23.0][2.22.2...2.23.0].Changed
- Added table headers to slow test report output ([#768]), by [@localheinz]
- Rendered slow test report with a duration format legend ([#773]), by [@localheinz]
-
2.22.213 Feb 2026Release notes
Open source →What's Changed
- Fix: Exclude
.docker/directory from archive exports by @localheinz in #765
Full Changelog: 2.22.1...2.22.2
Release notes
Open source →For a full diff see [
2.22.1...2.22.2][2.22.1...2.22.2].Fixed
- Excluded
.docker/directory from archive exports via.gitattributes([#765]), by [@localheinz]
- Fix: Exclude
-
2.22.108 Feb 2026Release notes
Open source →What's Changed
- Fix: Rename directories and namespaces to avoid confusion by @localheinz in #763
- Fix: Send output to
STDERRorSTDOUTdepending on configuration by @localheinz in #762
Full Changelog: 2.22.0...2.22.1
Release notes
Open source →For a full diff see [
2.22.0...2.22.1][2.22.0...2.22.1].Fixed
- Started sending output to
stderrwhen PHPUnit is configured withstderr="true"inphpunit.xmlforphpunit/phpunit:^10.0.0,phpunit/phpunit:^11.0.0,phpunit/phpunit:^12.0.0,phpunit/phpunit:^13.0.0([#762]), by [@localheinz]
-
2.22.007 Feb 2026Release notes
Open source →What's Changed
- Fix: Create release in draft mode, upload assets, and then publish release by @localheinz in #759
- Fix: Stop using Nowdoc by @localheinz in #758
- Fix: Run unit tests on PHP 7.4 with
phpunit/phpunit:^7.5.0only by @localheinz in #761 - Fix: Pull printing of empty lines into
DefaultReporterby @localheinz in #760 - Report global maximum duration only once by @mvorisek in #396
Full Changelog: 2.21.0...2.22.0
Release notes
Open source →For a full diff see [
2.21.0...2.22.0][2.21.0...2.22.0].Changed
- Started reporting the global maximum duration only once in the header instead of repeating it on every line ([#396]), by [@mvorisek]
-
2.21.007 Feb 2026Release notes
Open source →What's Changed
- Readme: visually separate phpunit version specific paragraphs by @staabm in #711
- composer(deps-dev): Bump ergebnis/license from 2.6.0 to 2.7.0 by @dependabot[bot] in #715
- github-actions(deps): Bump actions/github-script from 7.0.1 to 8.0.0 by @dependabot[bot] in #717
- github-actions(deps): Bump shivammathur/setup-php from 2.35.3 to 2.36.0 by @dependabot[bot] in #733
- github-actions(deps): Bump actions/upload-artifact from 4.6.2 to 6.0.0 by @dependabot[bot] in #736
- github-actions(deps): Bump ergebnis/.github from 1.9.3 to 1.10.0 by @dependabot[bot] in #719
- composer(deps-dev): Bump symfony/process from 5.4.47 to 5.4.51 by @dependabot[bot] in #749
- Fix: Ignore CVE-2026-24765 by @localheinz in #754
- github-actions(deps): Bump actions/download-artifact from 5.0.0 to 7.0.0 by @dependabot[bot] in #737
- github-actions(deps): Bump codecov/codecov-action from 5.4.3 to 5.5.2 by @dependabot[bot] in #740
- github-actions(deps): Bump stefanzweifel/git-auto-commit-action from 6.0.1 to 7.1.0 by @dependabot[bot] in #741
- github-actions(deps): Bump actions/checkout from 4.2.2 to 6.0.2 by @dependabot[bot] in #747
- github-actions(deps): Bump actions/cache from 4.2.4 to 5.0.3 by @dependabot[bot] in #752
- composer(deps-dev): Bump ergebnis/php-cs-fixer-config from 6.52.0 to 6.59.0 by @dependabot[bot] in #750
- composer(deps-dev): Bump ergebnis/composer-normalize from 2.47.0 to 2.49.0 by @dependabot[bot] in #751
- Readme: re-order instruction from recent to old PHPUnit versions by @staabm in #722
- Enhancement: Use Docker for running
Makefiletargets by @localheinz in #755 - Fix: Account for different test identifier format on newer versions of
phpunit/phpunit:^12.0.0by @localheinz in #756 - Enhancement: Add support for PHP 8.5 by @localheinz in #713
- Enhancement: Add support for
phpunit/phpunit:^13.0.0by @localheinz in #757 - Fix discovery of
@maximumDurationannotation when test-cases have no test methods by @courtney-miles in #687
New Contributors
- @staabm made their first contribution in #711
- @courtney-miles made their first contribution in #687
Full Changelog: 2.20.0...2.21.0
Release notes
Open source →For a full diff see [
2.20.0...2.21.0][2.20.0...2.21.0].Added
- Added support for
phpunit/phpunit:^13.0.0([#757]), by [@localheinz] - Added support for PHP 8.5 ([#713]), by [@localheinz]
Fixed
- Fixed discovery of
@maximumDurationannotation when a test case does not have any test methods ([#687]), by [@courtney-miles]
Security
- Ignored
CVE-2026-24765security advisory incomposer.jsonconfiguration because this package needs to support versions ofphpunit/phpunitaffected by this vulnerability ([#754]), by [@localheinz]
-
2.20.019 Aug 2025Release notes
Open source →What's Changed
- github-actions(deps): Bump shivammathur/setup-php from 2.32.0 to 2.33.0 by @dependabot[bot] in #680
- composer(deps-dev): Bump ergebnis/composer-normalize from 2.46.0 to 2.47.0 by @dependabot[bot] in #682
- github-actions(deps): Bump actions/download-artifact from 4.2.1 to 4.3.0 by @dependabot[bot] in #684
- github-actions(deps): Bump codecov/codecov-action from 5.4.0 to 5.4.2 by @dependabot[bot] in #681
- github-actions(deps): Bump stefanzweifel/git-auto-commit-action from 5.1.0 to 5.2.0 by @dependabot[bot] in #683
- github-actions(deps): Bump codecov/codecov-action from 5.4.2 to 5.4.3 by @dependabot[bot] in #685
- Fix: Focus on relevant output in end-to-end tests by @localheinz in #689
- github-actions(deps): Bump shivammathur/setup-php from 2.33.0 to 2.34.1 by @dependabot[bot] in #690
- github-actions(deps): Bump shivammathur/setup-php from 2.34.1 to 2.35.1 by @dependabot[bot] in #695
- github-actions(deps): Bump stefanzweifel/git-auto-commit-action from 5.2.0 to 6.0.1 by @dependabot[bot] in #691
- github-actions(deps): Bump shivammathur/setup-php from 2.35.1 to 2.35.3 by @dependabot[bot] in #699
- github-actions(deps): Bump actions/download-artifact from 4.3.0 to 5.0.0 by @dependabot[bot] in #698
- github-actions(deps): Bump actions/cache from 4.2.3 to 4.2.4 by @dependabot[bot] in #700
- composer(deps-dev): Bump ergebnis/php-cs-fixer-config from 6.46.0 to 6.52.0 by @dependabot[bot] in #703
- Enhancement: Allow installation on PHP 8.5 by @localheinz in #704
Full Changelog: 2.19.1...2.20.0
Release notes
Open source →For a full diff see [
2.19.1...2.20.0][2.19.1...2.20.0].Changed
- Allowed installation on PHP 8.5 ([#704]), by [@localheinz]
-
2.19.111 Apr 2025Release notes
Open source →What's Changed
- Fix discovery of
@maximumDurationannotation when using data providers by @morgan-atproperties in #675
New Contributors
- @morgan-atproperties made their first contribution in #675
Full Changelog: 2.19.0...2.19.1
Release notes
Open source →For a full diff see [
2.19.0...2.19.1][2.19.0...2.19.1].Fixed
- Fixed discovery of
@maximumDurationannotation when using data providers ([#675]), by [@morgan-atproperties]
- Fix discovery of
-
2.19.023 Feb 2025Release notes
Open source →What's Changed
- Enhancement: Extract
TestDurationandMaximumDurationby @localheinz in #662 - Enhancement: Extract
MaximumCountby @localheinz in #663 - Enhancement: Extract
SlowTestListby @localheinz in #658 - Enhancement: Format durations similar to
phpunit/php-timer, but always showing minutes by @localheinz in #664 - Improve measurement details in README for phpunit 10+ by @mvorisek in #452
Full Changelog: 2.18.0...2.19.0
Release notes
Open source →For a full diff see [
2.18.0...2.19.0][2.18.0...2.19.0].Changed
- Started formatting durations similar to
phpunit/php-timer:^4.0.0, but always showing minutes ([#664]), by [@localheinz]
- Enhancement: Extract
-
2.18.007 Feb 2025Release notes
Open source →What's Changed
- Fix: Do not attempt to remove
psalm/plugin-phpunitandvimeo/psalmby @localheinz in #652 - Fix: Adjust build matrix by @localheinz in #653
- Fix: Run end-to-end and phar tests with
phpunit/phpunit:8.5.40by @localheinz in #655 - Enhancement: Add support for
phpunit/phpunit:^12.0.0by @localheinz in #651
Full Changelog: 2.17.0...2.18.0
Release notes
Open source →For a full diff see [
2.17.0...2.18.0][2.17.0...2.18.0].Added
- Added support for
phpunit/phpunit:^12.0.0([#651]), by [@localheinz]
- Fix: Do not attempt to remove
-
2.17.025 Nov 2024Release notes
Open source →For a full diff see [
2.16.1...2.17.0][2.16.1...2.17.0].Added
- Added support for PHP 8.4 ([#635]), by [@localheinz]
-
2.16.125 Oct 2024Release notes
Open source →For a full diff see [
2.16.0...2.16.1][2.16.0...2.16.1].Fixed
- Explicitly included
vendor/composer/installed.phpandvendor/composer/InstalledVersions.phpwhen building PHAR ([#621]), by [@dantleech]
- Explicitly included
-
2.16.027 Sep 2024Release notes
Open source →For a full diff see [
2.15.1...2.16.0][2.15.1...2.16.0].Changed
- Allowed installation on PHP 8.4 ([#604]), by [@localheinz]
-
2.15.105 Sep 2024Release notes
Open source →For a full diff see [
2.15.0...2.15.1][2.15.0...2.15.1].Fixed
- Explicitly included
src/directory when building PHAR ([#598]), by [@localheinz]
- Explicitly included
-
2.15.016 Jun 2024Release notes
Open source →For a full diff see [
2.14.0...2.15.0][2.14.0...2.15.0].Changed
- Started showing data provider details in list of slow tests ([#559]), by [@mvorisek]
-
2.14.008 Apr 2024Release notes
Open source →For a full diff see [
2.13.0...2.14.0][2.13.0...2.14.0].Changed
- Added support for
phpunit/phpunit:^6.5.0([#533]), by [@localheinz] - Added support for PHP 7.0 ([#534]), by [@localheinz]
- Added support for
-
2.13.007 Apr 2024Release notes
Open source →For a full diff see [
2.12.0...2.13.0][2.12.0...2.13.0].Changed
- Added support for PHP 7.1 ([#532]), by [@localheinz]
-
2.12.007 Apr 2024Release notes
Open source →For a full diff see [
2.11.0...2.12.0][2.11.0...2.12.0].Changed
- Added support for PHP 7.2 ([#531]), by [@localheinz]
-
2.11.007 Apr 2024Release notes
Open source →For a full diff see [
2.10.0...2.11.0][2.10.0...2.11.0].Changed
- Added support for PHP 7.3 ([#476]), by [@localheinz]
-
2.10.005 Feb 2024Release notes
Open source →For a full diff see [
2.9.0...2.10.0][2.9.0...2.10.0].Changed
- Added support for
phpunit/phpunit:^11.0.0([#485]), by [@localheinz] - Added support for using
phpunit-slow-test-detector.pharwithphpunit/phpunit:^9.0.0([#491]), by [@localheinz] - Added support for using
phpunit-slow-test-detector.pharwithphpunit/phpunit:^8.5.19([#494]), by [@localheinz] - Added support for using
phpunit-slow-test-detector.pharwithphpunit/phpunit:^7.5.0([#495]), by [@localheinz]
- Added support for
-
2.9.023 Dec 2023Release notes
Open source →For a full diff see [
2.8.0...2.9.0][2.8.0...2.9.0].Changed
- Consistently included test setup and teardown in duration measurement ([#380]), by [@localheinz] and [@mvorisek]
Fixed
- Required at least
phpunit/phpunit:^7.5.0([#448]), by [@localheinz]
-
2.8.021 Dec 2023Release notes
Open source →For a full diff see [
2.7.0...2.8.0][2.7.0...2.8.0].Added
- Added support for
phpunit/phpunit:^7.2.0([#447]), by [@localheinz]
- Added support for
-
2.7.003 Dec 2023Release notes
Open source →For a full diff see [
2.6.0...2.7.0][2.6.0...2.7.0].Changed
- Widened version constraints to allow installation with
phpunit/phpunit:^8.5.19,phpunit/phpunit:^9.0.0, andphpunit/phpunit:^10.0.0([#396]), by [@localheinz]
- Widened version constraints to allow installation with
-
2.6.003 Dec 2023Release notes
Open source →For a full diff see [
2.5.0...2.6.0][2.5.0...2.6.0].Added
- Added support for
phpunit/phpunit:^8.5.36([#394]), by [@localheinz]
- Added support for
-
2.5.003 Dec 2023Release notes
Open source →For a full diff see [
2.4.0...2.5.0][2.4.0...2.5.0].Added
- Added
Attribute\MaximumDurationto allow configuration of maximum duration with attributes on test method level ([#367]), by [@HypeMC] - Added support for PHP 8.0 ([#375]), by [@localheinz] and [@mvorisek]
- Added support for PHP 7.4 ([#390]), by [@localheinz] and [@mvorisek]
Changed
- Improved detection of PHPUnit version ([#393]), by [@localheinz] and [@mvorisek]
- Added
-
2.4.007 Nov 2023Release notes
Open source →For a full diff see [
2.3.2...2.4.0][2.3.2...2.4.0].Added
- Added support for
phpunit/phpunit:^9.6.0([#341]), by [@localheinz]
Changed
- Extracted
Duration([#351]), by [@localheinz] - Merged
MaximumDurationintoDuration([#352]), by [@localheinz] - Renamed
MaximumCounttoCount([#353]), by [@localheinz] - Extracted
Time([#354]), by [@localheinz] - Extracted
TestIdentifier([#355]), by [@localheinz] - Required
phpunit/phpunit:^10.4.2([#357]), by [@localheinz]
Fixed
- Marked
DefaultDurationFormatteras internal ([#350]), by [@localheinz]
- Added support for
-
2.3.213 Oct 2023Release notes
Open source →For a full diff see [
2.3.1...2.3.2][2.3.1...2.3.2].Fixed
- Adjusted version in
manifest.xml([#343]), by [@localheinz]
- Adjusted version in
-
2.3.113 Oct 2023Release notes
Open source →For a full diff see [
2.3.0...2.3.1][2.3.0...2.3.1].Fixed
- Prevented inclusion of
phpunit/phpunitin PHAR ([#342]), by [@localheinz]
- Prevented inclusion of
-
2.3.030 May 2023Release notes
Open source →For a full diff see [
2.2.0...2.3.0][2.2.0...2.3.0].Changed
- Added support for installing extension as a PHAR ([#273]), by [@localheinz]
- Added support for PHP 8.3 ([#340]), by [@localheinz]
-
2.2.026 May 2023Release notes
Open source →For a full diff see [
2.1.1...2.2.0][2.1.1...2.2.0].Changed
- Suggested and required
phpunit/phpunitas a development dependency to allow usage withphpunit/phpunitwhen installed as PHAR ([#272]), by [@localheinz]
- Suggested and required
-
2.1.118 Mar 2023Release notes
Open source →For a full diff see [
2.1.0...2.1.1][2.1.0...2.1.1].Fixed
- Stopped registering extension when running
phpunitwith the--no-outputoption ([#243]), by [@localheinz]
- Stopped registering extension when running
-
2.1.012 Feb 2023Release notes
Open source →For a full diff see [
2.0.0...2.1.0][2.0.0...2.1.0].Changed
- Started rendering slow tests as ordered list ([#224]), by [@localheinz]
-
2.0.011 Feb 2023Release notes
Open source →For a full diff see [
1.0.0...2.0.0][1.0.0...2.0.0].Changed
- Allowed configuring the maximum duration via
maximum-durationparameter ([#212]), by [@localheinz] - Allowed configuring the maximum count via
maximum-countparameter ([#217]), by [@localheinz] - Marked classes and interfaces as internal ([#219]), by [@localheinz]
- Brought duration formatting in line with
phpunit/php-timer([#220]), by [@localheinz] - Allowed configuring the maximum duration via
@maximumDurationannotation ([#222]), by [@localheinz]
Fixed
- Removed possibility to configure maximum count of reported tests using the
MAXIMUM_NUMBERenvironment variable ([#211]), by [@localheinz] - Increased default maximum count from
3to10and default maximum duration from125to500milliseconds ([#218]), by [@localheinz] - Fixed resolving maximum duration from
@slowThresholdannotation ([#221]), by [@localheinz]
- Allowed configuring the maximum duration via
-
1.0.003 Feb 2023Release notes
Open source →For a full diff see
7afa59c...1.0.0.Added
- Added
SlowTest(#6), by @localheinz - Added
SlowTestCollector(#8), by @localheinz - Added
Subscriber\TestPreparedSubscriber(#12), by @localheinz - Added
Subscriber\TestPassedSubscriber(#13), by @localheinz - Added
Formatter\ToMillisecondsDurationFormatter(#17), by @localheinz - Added
Comparator\DurationComparator(#18), by @localheinz - Added
SlowTestReporter(#19), by @localheinz - Extracted
TimeKeeper(#22), by @localheinz - Extracted
Collector(#23), by @localheinz - Added
Subscriber\TestSuiteFinishedSubscriber(#34), by @localheinz - Added
MaximumDuration(#46), by @localheinz - Added
MaximumCount(#47), by @localheinz - Allowed configuring the maximum duration for a test with a
@slowThresholdannotation (#49), by @localheinz
Changed
- Renamed
SlowTestReportertoReporter\Reporter(#20), by @localheinz - Renamed
Reporter\ReportertoReporter\DefaultReporterand extractedReporter\Reporterinterface (#21), by @localheinz - Renamed
CollectortoCollector\DefaultCollectorand extractedCollector\Collectorinterface (#24), by @localheinz - Used
TimeKeeperinstead ofSlowTestCollectorinSubscriber\TestPreparedSubscriber(#25), by @localheinz - Used
TimeKeeperandCollector\Collectorinstead ofSlowTestCollectorinSubscriber\TestPassedSubscriber(#26), by @localheinz - Composed maximum duration into
SlowTest(#37), by @localheinz - Rendered maximum duration in report created by
DefaultReporter(#38), by @localheinz
Removed
- Removed
SlowTestCollector(#36), by @localheinz
- Added