Skip to content

chore(deps): update composer dev tooling dependencies - #494

Merged
renovate[bot] merged 1 commit into
mainfrom
renovate/composer-dev-tooling
Aug 5, 2026
Merged

chore(deps): update composer dev tooling dependencies#494
renovate[bot] merged 1 commit into
mainfrom
renovate/composer-dev-tooling

Conversation

@renovate

@renovate renovate Bot commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
php-cs-fixer/shim ^3.95.12^3.95.17 age confidence
phpstan/phpstan ^2.2.5^2.2.6 age confidence
phpstan/phpstan-deprecation-rules ^2.0.4^2.0.5 age confidence
phpstan/phpstan-strict-rules ^2.0.11^2.0.12 age confidence
phpunit/phpunit (source) ^13.2.4^13.2.5 age confidence
rector/rector (source) ^2.5.5^2.5.8 age confidence

Release Notes

PHP-CS-Fixer/shim (php-cs-fixer/shim)

v3.95.17

Compare Source

v3.95.16

Compare Source

v3.95.15

Compare Source

v3.95.14

Compare Source

v3.95.13

Compare Source

phpstan/phpstan-phar-composer-source (phpstan/phpstan)

v2.2.6

Compare Source

phpstan/phpstan-deprecation-rules (phpstan/phpstan-deprecation-rules)

v2.0.5

Compare Source

  • 67bedd6 - Update github-actions (#​197)
  • 6be8bd3 - Update actions/cache action to v6 (#​198)
  • 0b310ec - Update github-actions to v3.0.1 (#​195)
  • 782d848 - Update github-actions to v7 (#​196)
  • 85fff9d - Update github-actions to f3e473d (#​194)
  • 54db580 - Update github-actions (#​193)
  • 99aff1a - Replace deprecated actions/create-release with softprops/action-gh-release
  • 971f8e1 - Bump GitHub Actions across major versions
  • 89fef35 - Bump GitHub Actions within their current majors
  • 0652358 - Update github-actions
  • 02119cc - Update github-actions
  • 389c78c - latest infection does not support PHP 8.2 (#​189)
  • 899202d - Update release-toot.yml (#​188)
  • 016d677 - name-collision-detector (#​187)
  • 945df12 - Delete .github/workflows/claude-react-on-comment.yml
  • a70b8b1 - Remove default branch determination from workflow
  • 1faeb2e - Lint workflows
  • 534891e - [StepSecurity] ci: Harden GitHub Actions
  • 3acc664 - Remove PHPSTAN_BOT_TOKEN from checkout step
  • 49efeb2 - React on issues opened and fall back to issue body
  • 319c3f6 - Add PHP 8.5 to CI matrix for lint, tests, and static analysis
  • 73feeba - Add missing export-ignore entries to .gitattributes
  • c6d73e5 - Add CLAUDE.md with project documentation
  • f9f68eb - Add Claude React on Comment workflow
phpstan/phpstan-strict-rules (phpstan/phpstan-strict-rules)

v2.0.12

Compare Source

sebastianbergmann/phpunit (phpunit/phpunit)

v13.2.5: PHPUnit 13.2.5

Compare Source

Changed
  • Messages for tests that are skipped because of an unsatisfied RequiresPhp, RequiresPhpunit, or RequiresPhpExtension version requirement now include the version that is actually being used
  • Warning messages about incomplete version requirements as well as version requirements without a version comparison operator, and the error message for invalid version requirements, now include the full version requirement and explain what is expected
Fixed
  • #​6825: Forwarding to previous error handler can result in infinite recursion
  • #​6831: PHPUnit's error handler does not respect @ error suppression and forwards suppressed warnings to previous error handler
  • #​6833: assertArrayHasKey() does not accept ArrayAccess implementations with a specific value type when test code is analysed with PHPStan at level 9
  • #​6854: Deprecation triggered in first-party code is wrongly classified as indirect when the first-party code is called from third-party code
  • Test classes were not sorted relative to each other when tests were ordered by duration

Learn how to install or update PHPUnit 13.2 in the documentation.

Keep up to date with PHPUnit:
rectorphp/rector (rector/rector)

v2.5.8: Released Rector 2.5.8

Compare Source

New Features 🥳

  • [dx] Add "if" set with if/else/ternary rules (#​8199)
  • [DeadCode] Add RemoveDeadInstanceOfAssertRector (#​8202)
  • [DeadCode] Add RemoveDoubleSelfAssignRector (#​8203)
  • [DeadCode] Add RemoveParentDelegatingClassMethodRector (#​8204)
  • [DeadCode] Add RemoveDefaultValueFromAssignedPropertyRector (#​8207)
  • [TypeDeclaration] Fix incomplete type on yield variable + yield from in AddParamTypeBasedOnPHPUnitDataProviderRector (#​8206)

Bugfixes 🐛

  • Fix LogicalToBooleanRector: parenthesize assignments nested under unary/binary operators (#​8184)
  • [TypeDeclaration] Skip trait methods on ParamTypeByMethodCallType rules (#​8189)
  • [Php80] Skip promotion when property type is wider than constructor param on ClassPropertyAssignToConstructorPromotionRector (#​8170), Thanks @​ximki-vinki!
  • [Php85] Skip outer spread on NestedFuncCallsToPipeOperatorRector (#​8191)
  • [DeadCode] Fix crash on float version arg in ConditionResolver (#​8192)
  • Make NestedFuncCallsToPipeOperatorRector minimum depth configurable (#​8193)
  • Fix codeception data provider detection (#​8194), Thanks @​d-mitrofanov-v!
  • Make PHPStan DI-Container available in bootstrap files (#​8190), Thanks @​staabm!
  • [Privatization] Skip Symfony Command protected static property in PrivatizeFinalClassPropertyRector (#​8201)
  • Bump to PHPStan ^2.2.6 and Fix its Container compatibility in RichParser (#​8208)

Removed 💀

  • skip @​ return this on RemoveReturnTagIncompatibleWithNativeTypeRector on Traits (#​8185)
  • [DeadCode] Skip string scalar sub type on RemoveReturnTagIncompatibleWithNativeTypeRector (#​8186)

rectorphp/rector-symfony 🎵

  • [Symfony73] Remove empty configure() method in CommandHelpToAttributeRector (#​969)
  • [Symfony73] Keep AbstractExtension when Twig extension overrides a built-in function/filter (#​968)
  • [Symfony73] Wrap scalar groups option in array in ConstraintOptionsToNamedArgumentsRector (#​967)
  • [Symfony61] Remove empty configure() method even with empty body (#​966)
  • [Symfony61] Remove now empty configure() method in CommandConfigureToAttributeRector (#​965)
  • [CodeQuality] Respect typeGuardedClasses and skip closure-only returns in ResponseReturnTypeControllerActionRector (#​964)
  • [Symfony44] Return 1 instead of (int) false in ConsoleExecuteReturnIntRector (#​963)
  • [CodeQuality] Add union and method call return type support to ResponseReturnTypeControllerActionRector (#​961)
  • [Twig30] Add new set for Twig 30 (#​960), Thanks @​MrYamous

rectorphp/rector-doctrine 🟠


rectorphp/rector-phpunit 🟢

  • [PHPUnit 13] Add PHPUnit 13 config set (#​733)
  • [CodeQuality] Skip super global variables on AssertIssetToSpecificMethodRector (#​732)
  • [CodeQuality] Skip anonymous classes in AssertClassToThisAssertRector (#​729)
  • [CodeQuality] Move AssertClassToThisAssertRector hook from Class_ to ClassMethod (#​728)
  • AssertEqualsToSameRector: skip arrays whose actual value key order is not provably identical (#​727)

v2.5.7: Released Rector 2.5.7

Compare Source

This release sharpens the PHPUnit code-quality sets, adds a focused narrow asserts set, deprecates two blurry Symfony web-test rules, and fixes a handful of docblock false-positives in dead-code removal.

New Features 🎉

PHPUnit: PHPUNIT_NARROW_ASSERTS set

A new set focused on narrowing broad asserts to their specific, more descriptive method — e.g. assertTrue(isset($a['b']))assertArrayHasKey('b', $a). (rector-phpunit #​716)

use Rector\PHPUnit\Set\PHPUnitSetList;

return RectorConfig::configure()
    ->withSets([PHPUnitSetList::PHPUNIT_NARROW_ASSERTS]);

withPreparedSets() gains phpunitNarrowAsserts + phpunitMockToStub

The 2 PHPUnit sets are now toggleable like any other prepared set. (#​8178)

return RectorConfig::configure()
    ->withPreparedSets(
        phpunitNarrowAsserts: true,
        phpunitMockToStub: true,
    );

PHPUnit: flip with($this->callback(...)) on void methods to willReturnCallback()

VoidMethodWithCallbackToWillReturnCallbackRector (renamed + refocused) drops the pointless return value and types the closure as void, matching the mocked void method. (rector-phpunit #​724)

 $this->createMock(SomeClass::class)
     ->method('run')
-    ->with($this->callback(function ($arg) {
-        echo $arg;
-
-        return true;
-    }));
+    ->willReturnCallback(function ($arg): void {
+        echo $arg;
+    });
Console: -v as alias for --version

Since the verbose option was removed, -v now prints the version. (#​8177)

vendor/bin/rector -v

# Rector 2.x.x

Improvements 🔧

  • [StaticTypeMapper] Map phpstan-special scalar types (literal-string, numeric-string, …) to their real PHPStan types instead of a bogus ObjectType, so precise docblocks survive dead-code cleanup (#​8176)
  • [PHPUnit CodeQuality] Verify assert method name exists on the Assert class via reflection before transforming (rector-phpunit #​720)
  • [PHPUnit CodeQuality] Simplify single-statement void callback in CallbackSingleAssertToSimplerRector (rector-phpunit #​722)
  • [PHPUnit CodeQuality] Collapse all instanceof asserts for multiple nullable instances in a single run (rector-phpunit #​721)
  • [PHPUnit CodeQuality] Use atLeast() instead of exactly() in DecorateWillReturnMapWithExpectsMockRector (rector-phpunit #​719)

Bug Fixes 🐛

  • [DeadCode] Preserve generic @return tags in RemoveReturnTagIncompatibleWithNativeTypeRector (#​8183)
  • [DeadCode] Skip templated type in RemoveReturnTagIncompatibleWithNativeTypeRector (#​8180)
  • [DeadCode] Skip PHPStan type alias in RemoveReturnTagIncompatibleWithNativeTypeRector (#​8179)
  • [CodeQuality] Skip abstract class in CompleteDynamicPropertiesRector (#​8182)
  • [Php71] Skip magic @method in RemoveExtraParametersRector (#​8181)
  • [PHPUnit] Skip with() multiple arguments in VoidMethodWithCallbackToWillReturnCallbackRector (rector-phpunit #​725)
  • [PHPUnit] Skip new object instances in NarrowIdenticalWithConsecutiveRector — each new is a fresh instance, collapsing them changes intent (rector-phpunit #​726)
  • [PHPUnit] Skip mock property removal when used in a trait (rector-phpunit #​723)
  • [PHPUnit] Skip nested value compare in CallbackSingleAssertToSimplerRector (rector-phpunit #​718)
  • [PHPUnit] Skip union types in AssertEqualsToSameRector to preserve loose comparison (rector-phpunit #​717)

Deprecations 💀

Symfony: WebTestCaseAssertIsSuccessfulRector + WebTestCaseAssertResponseCodeRector

Both rules hide the asserted behavior and force a different assert method per status code, splitting one clear assertion into several implicit ones. Asserting the HTTP status code directly is clearer and uniform. (rector-symfony #​958)


v2.5.6: Released Rector 2.5.6

Compare Source

New Features 🥳

  • [DeadCode] Add RemoveReturnTagIncompatibleWithNativeTypeRector (#​8172)
 final class SomeClass
 {
-    /**
-     * @​return SomeObject
-     */
     public function getName(): string
     {
         return $this->someObject->getName();
     }
 }
  • [TypeDeclarationDocblocks] Add MergePhpstanDocTagIntoNativeRector to merge @phpstan-* doc tags into native tags (#​8171)
 final class SomeClass
 {
     /**
-     * @​var Collection
-     *
-     * @&#8203;phpstan-var Collection<int, string>
+     * @&#8203;var Collection<int, string>
      */
     private $items;
 }

Bugfixes 🐛


PHPUnit 🧪

New rules and changes from rector-phpunit.

New Rules
  • [CodeQuality] Add AssertClassToThisAssertRector (#​707)
 use PHPUnit\Framework\Assert;
 use PHPUnit\Framework\TestCase;

 final class SomeClass extends TestCase
 {
     public function run()
     {
-        Assert::assertEquals('expected', $result);
+        $this->assertEquals('expected', $result);
     }
 }
  • [CodeQuality] Add BareCreateMockAssignToDirectUseRector — inline a single-use createMock() assignment (#​708)
 final class SomeTest extends TestCase
 {
     public function test()
     {
-        $someObject = $this->createMock(SomeClass::class);
-        $this->process($someObject);
+        $this->process($this->createMock(SomeClass::class));
     }

     private function process(SomeClass $someObject): void
     {
     }
 }
  • [CodeQuality] Add WillReturnCallbackFallbackToThrowRector — throw on an unexpected extra consecutive call (#​710)
         $this->someServiceMock->expects($matcher)
             ->method('run')
             ->willReturnCallback(function () use ($matcher) {
                 if ($matcher->numberOfInvocations() === 1) {
                     return 1;
                 }
+
+                throw new \PHPUnit\Framework\Exception(sprintf('Method should not be called for the %dth time', $matcher->numberOfInvocations()));
             });
  • [CodeQuality] Add RemoveReturnFromVoidMethodMockCallbackRector — type a void mock callback and drop its value return (#​711)
         $this->createMock(SomeClass::class)
             ->method('run')
-            ->willReturnCallback(function ($arg) {
+            ->willReturnCallback(function ($arg): void {
                 echo $arg;
-
-                return true;
             });

(SomeClass::run() returns void.)

  • [CodeQuality] Add CallbackSingleAssertToSimplerRector — collapse a with() callback with a sole assertSame() to equalTo() (#​714)
         $builder->expects($this->exactly(2))
             ->method('add')
-            ->with($this->callback(function ($type): bool {
-                $this->assertSame(TextType::class, $type);
-
-                return true;
-            }));
+            ->with($this->equalTo(TextType::class));
Improvements
  • [CodeQuality] Skip TestCase suffix classes in RemoveNeverUsedMockPropertyRector (#​709)
  • [CodeQuality] Produce void callbacks with bare return in WithCallbackIdenticalToStandaloneAssertsRector (#​712)
  • [CodeQuality] Handle return throw and return null in void mock callbacks (#​713)

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

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

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


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

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot added the renovate label Jul 17, 2026
@renovate
renovate Bot enabled auto-merge July 17, 2026 17:41
@renovate
renovate Bot force-pushed the renovate/composer-dev-tooling branch from e3cde74 to 0da11e5 Compare July 19, 2026 17:28
@renovate renovate Bot changed the title chore(deps): update dependency php-cs-fixer/shim to ^3.95.13 chore(deps): update composer dev tooling dependencies Jul 19, 2026
@renovate
renovate Bot force-pushed the renovate/composer-dev-tooling branch 3 times, most recently from f21ad7f to 605fe2e Compare July 26, 2026 08:40
@renovate
renovate Bot force-pushed the renovate/composer-dev-tooling branch 3 times, most recently from 7cde0c0 to 44f105e Compare August 3, 2026 00:06
@renovate
renovate Bot force-pushed the renovate/composer-dev-tooling branch from 44f105e to f697415 Compare August 3, 2026 18:10
@renovate
renovate Bot added this pull request to the merge queue Aug 5, 2026
Merged via the queue into main with commit 0d9801a Aug 5, 2026
65 checks passed
@renovate
renovate Bot deleted the renovate/composer-dev-tooling branch August 5, 2026 09:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant