release

Paraunit 2.2.0: add Cobertura coverage report format

This new minor versions adds support for the Cobertura coverage report, which is supported by many services and tool, with GitLab as a prominent one. Added Add --cobertura coverage report format, useful for GitLab test code coverage visualization

Paraunit 2.1.0: add --sort=random option

This new minor versions adds a new, small feature to support one small sorting option, the random one. This is useful to mix test execution, if you’re encountering deadlocks and performance bottlenecks due to the concentration of certain tests in some areas of your test suite. Added Add --sort=random option to execute test classes in random order

Paraunit 2.0.0: PHPUnit 10 support and a big internal refactor

This new major version has seen its inception a long time ago, on October 2021, and it went to sleep for a long time, since PHPUnit development was doing the same. After some additional attempts, I was finally able to complete this alongside the long-awaited release of PHPUnit 10. All the changes in PHPUnit allowed me to finally bump the minimum PHP version to 8.1 (so that enums are now usable!

Paraunit 1.3.0: new chunk size feature, Symfony 6 support

This new minor release comes after more than a year since the last tag. It actually comes with a couple of new interesting features, one of which is a new behavior for tests parallelization. The new --chunk-size option, when set at a value higher that 1, will execute more than one test class per single process, making the execution faster for test suites where the class setup is expensive. Here’s the full changelog of the release:

Paraunit 1.2.0: PHP 8 & PHPUnit 9.3 support

This release contains only support for newer versions of PHP & PHPUnit; due to PHPUnit 9.3 requiring a new major version of phpunit/php-code-coverage, I’m forced to drop support to all PHPUnit versions below 9.3. Usage of Paraunit is unchanged. Here’s the full changelog of the release: Added Add support for PHP 8.0 #154 Add support for PHPUnit 9.3 #153 Removed Drop support for PHPUnit < 9.3 #153

Paraunit 1.1.1: PostgreSQL retry support

This small path adds detection for deadlocks during test execution when using PostgreSQL, thanks to an external contributor. Here’s the full changelog of the release: Added Add support for deadlock detection on PostgreSQL #152, thanks @elernonelma

Paraunit 1.1.0: PHPUnit 9.1 and internal refactor

As reported in the previous release, I was working on supporting PHPUnit 9. Today, PHPUnit 9.1 was released, and so I’ve released Paraunit 1.1.0, which supports only PHPUnit 9.1 and forward: this is due to the fact that the --printer option got deprecated, so I have to switch approach to have a working solution for the foreseeable future. In this case, I switched to using TestHook, and opted for a small refactor of how Paraunit fetches PHPUnit test results.

Paraunit 1.0.1: two small fixes

While I’m actively working on a big refactor toward supporting PHPUnit 9, I’ve found two small fixes that have to be released as the first stable patch since the 1.0 release. Here’s the changelog: Fixed Fix handling of PHPUnit --stderr option #144, thanks @pczerkas Fix small issue in checking coverage data syntax 8f70c

Paraunit 1.0.0: the stable release

Today I decided to release facile-it/paraunit 1.0.0! In reality the package was pretty stable and widely used at Facile.it for a long time, but right now I wanted to step forward and declare it officially stable. The main reason behind this is that I’m currently working on PHPUnit 9 support, and this will force me to release a new minor that will drop support for previous PHPUnit version altogether. This decision was in reality forced onto me due to the fact that PHUnit 9 drops support for the --printer CLI option and the relative extension point, which Paraunit was using as a way to extract test results.

Paraunit 1.0.0-beta2: Pcov support

I returned to develop some more on Paraunit in the last months, initially to add a few new compatibilities (PHP 7.4, Symfony 5), but then I spent some time to add support for Pcov as a coverage driver. This new addition is pretty interesting, since it speeds up test execution with coverage collection a lot, making it nearly as fast as without coverage. Try it out! This is the full changelog for this second beta release:

Paraunit 1.0.0-beta1: the first approach to a stable release

After a long hiatus, I decided to start working in the first stable release of Paraunit; the package is good and running smoothly for years, so we no longer have any reason to delay the 1.0 further. This will also be the occasion to force some static analysis onto the codebase. This is the full changelog for this first beta release; the following changes are in comparison to the previous, unstable release (0.

Paraunit 0.12.3: allow phpunit/php-file-iterator 2

Today I released a new small patch for Paraunit, fixing the support for a hidden dependency (phpunit/php-file-iterator) which broke Paraunit with its 2.0 release. Here’s the full changelog: Fixed Allow explicitly phpunit/php-file-iterator 2 #126

Paraunit 0.12.2: two more fixes

Today I released a new small patch for Paraunit, fixing an output bug and intercepting a new king of retryable exception. Here’s the full changelog: Fixed Allow multiple, comma-separated values with the --testsuite option, like with PHPUnit 6+ #122 Avoid letting the colored console output blink (dots, errors) #124 thanks to @elegos Add a new exception about MySQL savepoint to the retryable ones #125

Paraunit 0.12: PHPUnit 7 support and coverage text summary option

With this release, I had to do some under-the-hood changes, but we finally support PHPUnit 7; to do that I had to bump the minimum PHP required version to 7.1. I’ve also added a better support for text coverage report, adding the possibility of obtaining just the summary report. Here’s the full changelog: Added Added support for PHPUnit 7 and phpunit/php-code-coverage 6 Changed The coverage text output options have changed: The --text option now accepts a filename as an argument, and defaults to the console as output (replacing --text-to-console) The new --text-summary option behaves in the same way, but it writes only the summary part Removed Removed support for PHP 7.

Paraunit 0.12.1: a small fix

I had to release a fast fix for a problem introduced in the 0.12 release, due to the new behavior of the --text and --text-summary options. At first, it seemed that having an option with an optional argument was impossible, but I was able to do that anyway, and it spured a PR to the Symfony Docs too! Here’s the full changelog: Fixed Fix the behavior of the new --text and --text-summary options (#121)

Paraunit 0.11: add Symfony 4 support, some refactoring and a fix

This releases has nothing big on the outside, but a lot of code rework under the hood. The DI has been completely migrated from YAML to PHP (so no more symfony/yaml) and support for Symfony 4 has been added; also, a small bug has been fixed. Here’s the full changelog: Added Added support for Symfony 4 Changed Migrated the whole DI configuration from YAML to PHP Require at least jean85/pretty-package-versions 1.

Paraunit 0.10.1: report deprecations

With this release, Paraunit replaces the suggestion of facile-it/paraunit-testcase with dama/doctrine-test-bundle; also there’s a new feature that will report any test failure due to deprecation warnings catched by the Symfony PHPUnit Bridge. Here’s the full changelog: Added Add support for deprecation warnings found by symfony/phpunit-bridge: failures and tests output are now reported Changed Start suggesting dama/doctrine-test-bundle instead of facile-it/paraunit-testcase, since it has been abandoned.

Paraunit 0.10: small fixes and improvements

With this release, I’m grouping a few fixes and improvements that I collected in the past month. Mainly, I’ve fixed the --debug option and the --text-to-console coverage output. Also, now the logo is optional, and at the end of each line it’s printed a partial count of executed tests. Here’s the full changelog: Added Add official support to PHP 7.2 (added to Travis CI matrix) Add executed tests counter at the end of each line in output (#91) Changed The Shark logo is now optional; to show it at the top, use the --logo option The --debug output has been completely rewritten and now is more useful than ever!

Paraunit 0.9.1: a small fix in the header

Paraunit 0.9.1 has been released with a really small improvement: I wnated to show a pretty, short version string in the header, when launching Paraunit. I recently started using Ocramius’ package to do it, but it didn’t provide that feature, and he was adamant about not implementing it in the future. So I decided to release an OSS package for this usage, Jean85/pretty-package-versions, available here: https://github.com/Jean85/pretty-package-versions/. Feel free to use it in your projects, as I’ve done inside Paraunit.

Paraunit 0.9.2 and 0.8.3: missing dependencies

Paraunit 0.9.2 and Paraunit 0.8.3 has been released to fix a nasty little bug that I got reported to me: two dependencies were missing and the CI missed that due to the fact that both were required by dev dependencies. I fixed that and backported the fix to the 0.8 series, since it was very easy to do. Here’s the full changelog: Fixed Add missing dependencies: symfony/yaml and symfony/stopwatch

Paraunit 0.9: PHP 7, PHPUnit 6 and the pipelines

After a long time and a lot of work, Paraunit 0.9 has been released. This release is a big step ahead: now Paraunit runs with PHPUnit 6, and support to older versions is dropped; this also means that the minimum supported PHP version is now 7.0, and the minimum version of the Symfony components is bumped to 2.7, since older versions are out of support since may. All these changes brought along a lot of refactoring, and I took the occasion to sprinkle scalar and return types everywhere in the code (see #93); this was also behind a blog post of mine that I wrote in response to the “visual debt” controversy.

Paraunit 0.8.2: avoid failures due to warnings

Paraunit 0.8.2 has been released to fix an issued caused by an unwanted overwrite of the write() method in the LogWriter class. Full changelog: Fixed Fix the signature of LogPrinter, to avoid warnings (this would lead to no test execution when considering warnings as test failures)

Paraunit 0.8.1: fixed regression with Symfony

Paraunit 0.8.1 has been released to fix a small regression that happens when running functional tests in a Symfony project: Fixed Fix #88: write the temporary configuration file in the same dir of the original, to avoid issue with Symfony when it guesses its kernel dir

Paraunit 0.8: PHAR continuous delivery

Paraunit 0.8 has been released! With this release I added the continuous integration: at each Git tag, the Travis build prepares, signs and uploads to the GitHub releases page Paraunit’s PHAR. Thanks to Andreas Heigl that made this not only possible, but very straightforward to implement. Next phase will be the 1.0 stable release milestone, which is probably just a little away. This release paved the way to the PHPUnit 6 support, with the new LogPrinter brought from PHPUnit.

Paraunit 0.7.4: PHAR release

Paraunit 0.7.4 has just been released. This patch version add a simple but very useful functionality, the string filtering of tests. Full changelog text: Changed Add optional argument to both commands to filter tests filenames; the filter is case insensitive and doesn’t rely on paths, so it doesn’t have to be a full or relative path; it can also be used in conjunction with the --testsuite option

Paraunit 0.7.3: PHAR release

Paraunit 0.7.3 has just been released, and from now on with a PHAR version too, GPG signed! You will always be able to download it from the latest GitHub release page. Full changelog text: Changed Add PHAR generation tools (thanks @taueres for the previous PR); from now on, Paraunit is released as a PHAR too!

Paraunit 0.7.1: coverage in text format

Paraunit 0.7.1 has just been released; this is just a minor release that adds a new useful feature: the text format for the coverage. You can either use it on screen as an integration tool (see Jenkins, GitLab), or save it as a file. Since there is a small limitation in CLI options handling by the Symfony component, this feature is implemented through two separate options. In the next versions, I will work to implement the other missing formats, PHP and Crap4j.

Paraunit 0.7.2: coverage in text format

Paraunit 0.7.2 has just been released with a minor fix: colored output has been disabled from text coverage output to console, since it may cause incompatibilities. I will think of a way to re-enable it if possible in later releases. Full changelog text: Fixed Disable colored output in text coverage to console, to avoid issues with GitLab integration.

Paraunit 0.7: test coverage in parallel

Finally, Paraunit 0.7 has been released! This version includes the long awaited coverage feature: now you can collect your test coverage running your tests in parallel! Along with this new huge feature, here comes a lot of new fixes and changes: for example, now a lot of default PHPUnit options can be used and they will be passed along to the single PHPUnit processes that Paraunit spawns; also, now we officially support Windows, and we added an Appveyor CI build to do that.

Paraunit 0.6.2

Paraunit 0.6.2 has been released! This version include a fix in the choice of the dir for the partial test results, that caused issues while on non-Linux systems. Some minor fix are present too, and now Paraunit shows the right version when launched. Also, since this release, all commits by me will be GPG signed! Unfortunately, the coverage feature is still in the works, but it’s slowly going on; the feature is working, but release 0.

Paraunit 0.6.1

Paraunit 0.6.1 has been released! The main improvement on the user side is the extension of the Symfony package constraint, to allow the full 3.x series to be used with! The coverage feature is still in the works, I hope to release 0.7 with it this summer. Here’s the full 0.6.1 changelog: Changed Symfony compatibility has been extended to <4.0, since Symfony 3.1 has been released; we will rely on their BC promise A new approach for dockerfiles, now they will be based on the standard Docker PHP library.

Paraunit 0.6

Paraunit 0.6 has been released! In the meantime, the coverage feature is being developed on its branch, I hope to have it working soon and release it in 0.7. Here’s what’s changed in 0.6: Changed MASSIVE refactoring of the result output parsing (#31, #33) and the result printing (#37): now Paraunit fetches the tests’ results using PHPUnit’s --log-json option (thanks to @taueres for the idea). This grants a lot of new features: Parsing of tests results is more robust, it should never fail!

Paraunit 0.5

Paraunit 0.5 has been released! Here’s what’s changed: Changed SQLite is now supported in the deadlock-recognition fase (issue #26, thanks @Algatux) Travis is testing on PHP 7.0, no more nightlies or allowed failures Symfony 3.0 components are now supported and compatible with Paraunit Retry parsing and management is improved Fixed Removed double generation of MD5 hash of process

Paraunit 0.4.4

Paraunit 0.4.4 has been released! Here’s what’s changed: Fixed Merged previous v0.4 branch, there were missing fixes in previous release

Paraunit 0.4.3

Paraunit 0.4.3 has been released! Here’s what’s changed: Changed --configuration behaviour is now identical to the same option in PHPUnit: it can accept also a path without a filename, and has a -c shortcut (default filename is phpunit.xml.dist) (#19) Added -c shortcut to README

Paraunit 0.4.2

Paraunit 0.4.2 has been released! Here’s what’s changed: Changed Unlocked supporto for PHPUnit >= 5.x README changed to suggest stable version of package in composer.json example Fixed Fixed: test stub for fatal errors fixed for HHVM & PHP7

Paraunit 0.4.1

Paraunit 0.4.1 has been released! Here’s what’s changed: Changed Improved: --configuration parameter now has the -c shortcut Fixed Fixed: test with fatal errors are not mistaken (and printed twice) for unknown results in the final results