Paraunit 1.0.0: the stable release

This is a republished tag announcement for facile-it/paraunit. You can find the release here.

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.

To counter this deprecation, I’m working on using TestHooks as a different, cleaner way to extend PHPUnit and obtain test results; the only downside of this new approach is in the fact that, up until now, there was no way to attach those hooks outside from PHPUnit’s XML configuration; this would have meant that Paraunit would’ve had to alter the end user’s configuration, and I found this a bad approach.

To resolve this blocker, I issued a pull request that adds an --extensions CLI option to PHPUnit; that PR got accepted pretty fast, but it will be released only on PHPUnit 9.1, and it will not get backported, unfortunately. This means that the future Paraunit 1.1 release will support PHPUnit 9.1 (and forward) only, without any support overlap from the previous releases.

Anyway, this is still good news! Below, you can find the full changelog for this release, compared to the last 0.x tag (0.12.3):

Breaking changes

  • Scalar and return types added everywhere possible

Added

  • Add support for PHP 7.4
  • Add support for Symfony 5
  • Add support for ext-pcov as a coverage driver #146
  • Add support for phpunit/phpunit 8 and phpunit/php-code-coverage 7 #133
  • Add explicit requirement for ext-dom and ext-json #134

Fixed

  • Do not set values on PHPUnit options that do not expect values #127, thanks @fullbl

Changed

  • Update PHPStan to 0.12 #128 + #145
  • Prefer Pcov or Xdebug over PHPDBG as coverage driver #146
  • Update coding standard to 0.3 #131

Removed

  • Drop support for older packages: #134
    • phpunit/phpunit 6
    • phpunit/php-code-coverage < 6
    • All Symfony components < 3.4
  • PHAR release (it’s not working)
  • Disable Scrutinizer #132, CodeClimate and Insight, in favor of CodeCov

Happy testing!