github php-testo/testo 0.10.53
v0.10.53

4 hours ago

0.10.53 (2026-09-26)

Features

  • assert: add notStartsWith() and notEndsWith() to string assertions (6dbfb21)
  • assert: add allInstanceOf() to iterable assertions (54be32c)
  • assert: add Assert::bool() and Assert::callable() heads (0e7ab60)
  • assert: add comparison modifiers to the string assertions (2dab6fd)
  • assert: add matchesPattern() and notMatchesPattern() to string assertions (f0b2633)
  • assert: add startsWith() and endsWith() to string assertions (03f3ec4)
  • assert: add static and return type checks to callable assertions (c9b0624)
  • assert: compare whole strings with same() and notSame() (00bd1ba)
  • bridge-rector: add the testo-shift set for deprecated Testo API (c7712e8)
  • bridge-rector: convert assertContainsOnlyInstancesOf to allInstanceOf() (2384981)
  • bridge-rector: convert bool and callable type assertions (9942755)
  • bridge-rector: convert PHPUnit regular-expression assertions to Testo (9804057)
  • bridge-rector: convert the string assertions that ignore case, line endings or whitespace (76a99c5)
  • bridge-rector: drop redundant #[Test] from traits in testo-polish (f201cac)
  • json: report the assertion count in totals (e6f2ff4)
  • junit: carry the exact test status as testo:status (ba9f2d2)
  • junit: report retried attempts as Surefire flaky and rerun elements (5c1ba86)
  • junit: ship XML schemas for the report (5c417cf)
  • junit: stamp suites with timestamp and hostname (0452b76)
  • junit: write captured test output to and (086fefa)
  • junit: write the assertion count on testcases, suites and the root (227822d)
  • junit: write the class declaration line on Test Case suites (13b5538)
  • skills: carry phpunit.xml settings over and compare JUnit reports per test method (3f71ce6)

Bug Fixes

  • bridge-rector: let converted with() accept extra call arguments like PHPUnit (662e6e5)
  • bridge-rector: run the phpunit-to-testo set serially (ca813ee)
  • junit: cut failure traces at the test function like the terminal (accf392)
  • junit: keep the report well-formed when text carries control bytes or broken UTF-8 (a88fe81)
  • skills: cut scan-residuals false positives and flag PHPUnit leftovers (b145f4d)

Documentation

  • bridge-rector: map the newly converted assertions in the migration skill (d75ace5)
  • skills: add a testo-polish pass to the migration skill (8fa48b1)
  • skills: cover vendor bases, CI and PHPUnit leftovers in the migration skill (a8cbbc6)
  • skills: show where the assertion count is reported (4a92588)

Code Refactoring

  • assert: rename the regex checks to matchesRegex() and deprecate withMessagePattern() (fec5525)

assert: 0.1.17

0.1.17 (2026-09-26)

Features

  • assert: add notStartsWith() and notEndsWith() to string assertions (6dbfb21)
  • assert: add allInstanceOf() to iterable assertions (54be32c)
  • assert: add Assert::bool() and Assert::callable() heads (0e7ab60)
  • assert: add comparison modifiers to the string assertions (2dab6fd)
  • assert: add matchesPattern() and notMatchesPattern() to string assertions (f0b2633)
  • assert: add startsWith() and endsWith() to string assertions (03f3ec4)
  • assert: add static and return type checks to callable assertions (c9b0624)
  • assert: compare whole strings with same() and notSame() (00bd1ba)

Bug Fixes

  • assert: report an invalid withMessagePattern() pattern as an error (361ac45)

Code Refactoring

  • assert: rename the regex checks to matchesRegex() and deprecate withMessagePattern() (fec5525)

bridge-rector: 0.3.2

0.3.2 (2026-09-26)

Features

  • assert: add startsWith() and endsWith() to string assertions (03f3ec4)
  • assert: add static and return type checks to callable assertions (c9b0624)
  • bridge-rector: add ClassLevelTestAttributeRector (9c4f567)
  • bridge-rector: add ExpectExceptionToAttributeRector (6b7a0d7)
  • bridge-rector: add FinalizeTestClassRector (1ef621c)
  • bridge-rector: add the testo-polish set (13c8fac)
  • bridge-rector: add the testo-shift set for deprecated Testo API (c7712e8)
  • bridge-rector: convert assertContainsOnlyInstancesOf to allInstanceOf() (2384981)
  • bridge-rector: convert assertJson to Assert::json (8a35827)
  • bridge-rector: convert assertNotTrue and assertNotFalse to Assert::notSame (42ba8e6)
  • bridge-rector: convert bool and callable type assertions (9942755)
  • bridge-rector: convert contains-only and same-size assertions (210ef07)
  • bridge-rector: convert path permission, math, resource and negated type checks (48799df)
  • bridge-rector: convert PHPUnit regular-expression assertions to Testo (9804057)
  • bridge-rector: convert substring, not-contains, property and list assertions (75d079a)
  • bridge-rector: convert Testo pattern matchers to PHPUnit regular-expression assertions (1d87843)
  • bridge-rector: convert the string assertions that ignore case, line endings or whitespace (76a99c5)
  • bridge-rector: convert type, file and string-prefix assertions (ff80cac)
  • bridge-rector: decompose Assert::iterable() chains and allInstanceOf() into PHPUnit (3d92656)
  • bridge-rector: drop redundant #[Test] from traits in testo-polish (f201cac)

Bug Fixes

  • bridge-rector: convert doc tags shadowed by an imported PHPUnit attribute (c77404c)
  • bridge-rector: convert the PHPUnit\Framework\assert*() functions (2a16699)
  • bridge-rector: fold exception modifiers across plain assignments (39eb232)
  • bridge-rector: keep testo-polish from adding tests or finalizing extended classes (b2f6bf2)
  • bridge-rector: let converted with() accept extra call arguments like PHPUnit (662e6e5)
  • bridge-rector: mark the test methods of traits (cb620f4)
  • bridge-rector: run the phpunit-to-testo set serially (ca813ee)

Code Refactoring

  • assert: rename the regex checks to matchesRegex() and deprecate withMessagePattern() (fec5525)

Don't miss a new testo release

NewReleases is sending notifications on new releases.