Skip to content

Conversation

specmatic-builder
Copy link

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
yoast/phpunit-polyfills ^1.0 -> ^4.0 age adoption passing confidence

Release Notes

Yoast/PHPUnit-Polyfills (yoast/phpunit-polyfills)

v4.0.0

Compare Source

PHPUnit 12 support

This release updates the PHPUnit Polyfills to allow for "writing your tests for PHPUnit 12 and running them all the way back to PHPUnit 7". [*]

Please keep in mind that the PHPUnit Polyfills provide forward-compatibility. This means that features which PHPUnit no longer supports in PHPUnit 12.x, are also no longer supported in the 4.0 release of the PHPUnit Polyfills.

Please refer to the PHPUnit 12 release notification and PHPUnit 12 changelog to inform your decision on whether or not to upgrade (yet).

Projects which don't use any of the new or removed functionality in their test suite, can, of course, use the PHPUnit Polyfills 1.x, 2.x, 3.x and 4.x series side-by-side, like so composer require --dev yoast/phpunit-polyfills:"^1.0 || ^2.0 || ^3.0 || ^4.0".

[*]: Note: Releases from the PHPUnit Polyfills 4.x branch will support running tests on PHPUnit 7.5.0 - 9.x, 11.x and 12.x, but will not allow for running tests on PHPUnit 10 (for reasons explained in [#​200]).
In practical terms, the net effect of this is that tests on PHP 8.1 will run on PHPUnit 9 instead of PHPUnit 10. Other than that, there is no impact.

Changelog
Changed
  • Composer: allow for installation of PHPUnit 12.x. PR #​247
  • Scalar parameter type declarations and return type declarations are now used where possible. PR #​241
  • General housekeeping.
Removed
  • Support for PHP < 7.1. PR #​238.
  • Support for PHPUnit < 7.5.0. PR #​239.
  • The Yoast\PHPUnitPolyfills\Polyfills\AssertIsType trait which is no longer needed now support for PHPUnit < 7.5 has been dropped. PR #​239.
  • The Yoast\PHPUnitPolyfills\Polyfills\AssertStringContains trait which is no longer needed now support for PHPUnit < 7.5 has been dropped. PR #​239.
  • The Yoast\PHPUnitPolyfills\Polyfills\AssertEqualsSpecializations trait which is no longer needed now support for PHPUnit < 7.5 has been dropped. PR #​239.

v3.1.2

Compare Source

This is a maintenance release.

Changed
  • README: updated sub-section about PHPUnit version support with information about the PHPUnit Polyfills 4.x branch. PR [#​249]
  • General housekeeping.

v3.1.1

Compare Source

Fixed
  • AssertContainsOnly::assertContainsNotOnlyInstancesOf(): incorrect parameter name. PR #​235
Changed
  • General housekeeping.

v3.1.0

Compare Source

Added
  • Yoast\PHPUnitPolyfills\Polyfills\AssertContainsOnly trait to polyfill the specialized Assert::assertContains[Not]Only*() methods as introduced in PHPUnit 11.5.0. PR #​225.
Changed
  • README: fix links which were broken due to an upstream branch removal. PR #​213.
  • README: fixed a few broken badges.
  • General housekeeping.

v3.0.0

Compare Source

PHPUnit 11 support

This release updates the PHPUnit Polyfills to allow for "writing your tests for PHPUnit 11 and running them all the way back to PHPUnit 6". [*]

Please keep in mind that the PHPUnit Polyfills provide forward-compatibility. This means that features which PHPUnit no longer supports in PHPUnit 11.x, are also no longer supported in the 3.0 release of the PHPUnit Polyfills.

Please refer to the PHPUnit 11 release notification and PHPUnit 11 changelog to inform your decision on whether or not to upgrade (yet).

Projects which don't use any of the new or removed functionality in their test suite, can, of course, use the PHPUnit Polyfills 1.x, 2.x and 3.x series side-by-side, like so composer require --dev yoast/phpunit-polyfills:"^1.0 || ^2.0 || ^3.0".

[*]: Note: Releases from the PHPUnit Polyfills 3.x branch will support running tests on PHPUnit 6.4.4 - 9.x and 11.x, but will not allow for running tests on PHPUnit 10 (for reasons explained in #​200).
In practical terms, the net effect of this is that tests on PHP 8.1 will run on PHPUnit 9 instead of PHPUnit 10. Other than that, there is no impact.

Changelog
Added
  • Yoast\PHPUnitPolyfills\Polyfills\AssertArrayWithListKeys trait to polyfill the Assert::assertArrayIsEqualToArrayOnlyConsideringListOfKeys(), Assert::assertArrayIsEqualToArrayIgnoringListOfKeys(), Assert::assertArrayIsIdenticalToArrayOnlyConsideringListOfKeys() and Assert::assertArrayIsIdenticalToArrayIgnoringListOfKeys() methods as introduced in PHPUnit 11.0.0. PR #​198.
  • Yoast\PHPUnitPolyfills\Polyfills\ExpectUserDeprecation trait to polyfill the TestCase::expectUserDeprecationMessage() and TestCase::expectUserDeprecationMessageMatches() methods as introduced in PHPUnit 11.0.0. PR #​200.
    These methods can largely be seen as replacements for the TestCase::expectDeprecationMessage() and TestCase::expectDeprecationMessageMatches() methods which were removed in PHPUnit 10.0, though there are significant differences between the implementation details of the old vs the new methods. Please see the README for full details.
  • Yoast\PHPUnitPolyfills\Polyfills\AssertObjectNotEquals trait to polyfill the Assert::assertObjectNotEquals() method as introduced in PHPUnit 11.2.0. PR #​199.
Changed
  • Composer: allow for installation of PHPUnit 11.x and removed runtime support for PHPUnit 10.x. PR #​196, #​200
  • The assertion failure message for the assertIsList() method has been updated to be in sync with the latest message format as used by PHPUnit 11.3.1+. #​195
  • The visibility of the expectExceptionMessageMatches() method has been changed from public to protected, in line with the same changes as per PHPUnit 11.0. #​197
  • The assertObjectEquals() method polyfill now behaves the same as the PHPUnit native assertion method. PR #​192
    Previously a comparator method could either be compatible with PHP 5.6+ in combination with PHPUnit < 9.4.0 or with PHP 7.0+, but it wasn't possible to write a comparator method which would work in both situation due to the return type declaration requirement from PHPUnit itself. With the new PHP 7.0 minimum requirement, the return type declaration is now always required and the polyfill and the PHPUnit native method are completely aligned.
  • General housekeeping.
Removed
  • Support for PHP < 7.0. PR #​192.
  • Support for PHPUnit < 6.4.4. PR #​193.
  • The Yoast\PHPUnitPolyfills\Helpers\AssertAttributeHelper trait. PR #​194.
    This "helper" was only intended as a temporary measure to buy people some more time to refactor their tests.
  • The Yoast\PHPUnitPolyfills\Polyfills\ExpectExceptionObject trait which is no longer needed now support for PHPUnit < 6.4 has been dropped. PR #​193.

v2.0.4

Compare Source

This is a maintenance release.

Changed
  • README: updated sub-section about PHPUnit version support with information about the PHPUnit Polyfills 4.x branch. PR [#​249]
  • General housekeeping.

v2.0.3

Compare Source

This is a maintenance release.

Changed
  • README: fixed a few broken badges.
  • General housekeeping.

v2.0.2

Compare Source

This is a maintenance release.

Changed
  • README: updated sub-section about PHPUnit version support with information about the PHPUnit Polyfills 3.x branch. PR [#​188]
  • README: FAQ updated with info about ability to polyfill the removed expectDeprecation*() methods et al. PR #​187, props [Tonya Mork].
  • README: links to the PHPUnit manual now point explicitly to the PHPUnit 10.x documentation. PR #​190
  • General housekeeping.

v2.0.1

Compare Source

Added
  • Compatibility fixes for running tests using a PHPUnit PHAR file for PHPUnit 8.5.38+, 9.6.19+ and PHPUnit 10.5.17+. PRs [#​161], #​164.
Changed
  • General housekeeping.

v2.0.0

Compare Source

PHPUnit 10 support

This release updates the PHPUnit Polyfills to allow for "writing your tests for PHPUnit 10 and running them all the way back to PHPUnit 5".

Please keep in mind that the PHPUnit Polyfills provide forward-compatibility. This means that features which PHPUnit no longer supports in PHPUnit 10.x, like expecting PHP deprecation notices or warnings, are also no longer supported in the 2.0 release of the PHPUnit Polyfills.

Please refer to the PHPUnit 10 release notification and PHPUnit 10 changelog to inform your decision on whether or not to upgrade (yet).

Projects which don't use any of the new or removed functionality in their test suite, can, of course, use the PHPUnit Polyfills 1.x and 2.x series side-by-side, like so composer require --dev yoast/phpunit-polyfills:"^1.0 || ^2.0".

⚠️ Important: about the TestListener polyfill ⚠️

The TestListener polyfill in PHPUnit Polyfills 2.0 is not (yet) compatible with PHPUnit 10.0.0.

If you need the TestListener polyfill, it is recommended to stay on the PHPUnit Polyfills 1.x series for the time being and to watch the related ticket.

Changelog
Added
  • Yoast\PHPUnitPolyfills\Polyfills\AssertIgnoringLineEndings trait to polyfill the Assert::assertStringEqualsStringIgnoringLineEndings() and the Assert::assertStringContainsStringIgnoringLineEndings() methods as introduced in PHPUnit 10.0.0. PR #​109.
  • Yoast\PHPUnitPolyfills\Polyfills\AssertIsList trait to polyfill the Assert::assertIsList() method as introduced in PHPUnit 10.0.0. PR #​110.
  • Yoast\PHPUnitPolyfills\Polyfills\AssertObjectProperty trait to polyfill the Assert::assertObjectHasProperty() and the Assert::assertObjectNotHasProperty() methods as introduced in PHPUnit 10.1.0. PR #​116.
Changed
  • Composer: allow for installation of PHPUnit 10.x. PR #​130
  • Nearly all assertion methods are now final. This alignes them with the same change made upstream in PHPUnit 10.0.0. PR #​104.
  • General housekeeping.
Removed
  • Support for PHP < 5.6. PR #​102.
  • Support for PHPUnit < 5.7.21. PR #​102.
  • Support for expecting PHP deprecations, notices, warnings and error via the Yoast\PHPUnitPolyfills\Polyfills\ExpectPHPException trait. PR #​108.
    The trait has been removed completely as PHPUnit 10 no longer supports this functionality.
  • The Yoast\PHPUnitPolyfills\Polyfills\AssertNumericType trait which is no longer needed now support for PHPUnit < 5.7 has been dropped. PR #​102.
  • The Yoast\PHPUnitPolyfills\Polyfills\ExpectException trait which is no longer needed now support for PHPUnit < 5.7 has been dropped. PR #​102.
  • The Yoast\PHPUnitPolyfills\Polyfills\AssertFileDirectory trait which is no longer needed now support for PHPUnit < 5.7 has been dropped. PR #​102.

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot. Specmatic specific configuration is managed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant