0.10.53 (2026-09-26)
Features
- assert: add
notStartsWith()andnotEndsWith()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()andnotSame()(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
timestampandhostname(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 deprecatewithMessagePattern()(fec5525)
assert: 0.1.17
0.1.17 (2026-09-26)
Features
- assert: add
notStartsWith()andnotEndsWith()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()andnotSame()(00bd1ba)
Bug Fixes
- assert: report an invalid withMessagePattern() pattern as an error (361ac45)
Code Refactoring
- assert: rename the regex checks to
matchesRegex()and deprecatewithMessagePattern()(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 deprecatewithMessagePattern()(fec5525)