Skip to content

Update PHP - All packages except core - Minor and patch - #3092

Closed
renovate[bot] wants to merge 1 commit into
mainfrom
deps/php-all-except-core-minor-patch
Closed

Update PHP - All packages except core - Minor and patch#3092
renovate[bot] wants to merge 1 commit into
mainfrom
deps/php-all-except-core-minor-patch

Conversation

@renovate

@renovate renovate Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
palantirnet/drupal-rector ^1.1.2^1.1.3 age confidence
phpstan/phpstan ^2.2.10^2.2.13 age confidence
rector/rector (source) >=2.6.4 <2.6.5>=2.6.6 <2.6.7 age confidence

Release Notes

palantirnet/drupal-rector (palantirnet/drupal-rector)

v1.1.3

Compare Source

Changed
  • rector/rector 2.6.2 and newer are blocked — added a conflict on rector/rector >=2.6.2. Rector 2.6.2 removed every version-specific set constant from its first-party extension packages (rectorphp/rector-phpunit#760) in favour of the new composer-based sets, which makes the Drupal8SetList, Drupal9SetList and Drupal10SetList sets that reference PHPUnitSetList, SymfonySetList and TwigSetList constants abort with Undefined constant … or Could not detect twig set.. Verified: 2.6.1 is the last release on which every Drupal set loads; the Drupal 11 and 12 sets are unaffected because they reference no third-party sets. The conflict is a stopgap that keeps installs working while the sets are ported to the composer-based mechanism (#​419); it will be lifted once that port lands. Reported by ptmkenny (#​420).
phpstan/phpstan-phar-composer-source (phpstan/phpstan)

v2.2.13

Compare Source

v2.2.12

Compare Source

v2.2.11

Compare Source

rectorphp/rector (rector/rector)

v2.6.6: Released Rector 2.6.6

Compare Source

File selection

--filter option to narrow processed files (#​8419)

New --filter option keeps only files whose path matches all given patterns. Repeat the option to require several patterns at once, handy for scoping a run to a subtree or a naming convention without editing config paths.

vendor/bin/rector process src --filter Controller --filter Admin

Before: process every file under the given paths. After: process only files matching all --filter patterns.

Bugfixes 🐛

  • Add back RectorConfig::tag() as a no-op BC layer (#​8431)
  • TypeDeclarationDocblocks: fix invalid array-in-key docblock when narrowing long array unions (#​8430)
  • BetterPhpDocParser: keep import used only in an annotation array key (#​8429)
  • RenameVariableToMatchMethodCallReturnTypeRector: fix partial rename with same-named nested arrow param (#​8428)
  • ArrayFirstLastRector: skip nested compound assignment (#​8425)
  • ReturnTypeFromStrictNewArrayRector: add doc return type only for list and generic arrays (#​8423), skip noisy array-shape union return docblock (#​8422)

Extension packages

rector-phpunit 🟢
  • AllowMockObjectsForDataProviderRector: skip dynamic method call (#​781)
  • AssertEmptyNullableObjectToAssertInstanceofRector: skip assertNull/assertEmpty (#​780)
  • AddSeeTestAnnotationRector: skip existing imported or short @see annotation (#​779)
rector-downgrade-php ⬇️
  • DowngradeSetAccessibleReflectionPropertyRector: handle getProperties()/getMethods() loop (#​396)
  • DowngradeHashAlgorithmXxHashRector: skip PHP_VERSION_ID guarded hash() calls (#​394)

Internal / cleanup

  • Add mspirkov/yii2-rector link to README (#​8427)
  • Add fixtures for arrow functions returning a ?? expression (#​8421)

v2.6.5: Released Rector 2.6.5

Compare Source

Caching

This release makes the cache smarter about config changes - fewer needless full re-runs, while still invalidating when results could actually differ.

Configured rule value changes now invalidate the cache (#​8400)

withConfiguredRule() stored its config on the RectorConfig instance only, never in the cache hash. Changing a rule's values - same class, different config - kept serving the stale result.

 return RectorConfig::configure()
     ->withConfiguredRule(SomeRector::class, [
-        'old value',
+        'new value',
     ]);

Before: cache kept, files re-analysed with stale value. After: cache dropped, re-analysed with new value. Merged config now flows through a RULE_CONFIGURATIONS parameter into the strict cache hash. Upgrading invalidates the cache once for projects using configured rules.

--only <Rule> reuses the full-run cache (#​8400)

Each --only selection has its own cache namespace, so a file left clean by a prior full run was re-analysed under --only even when nothing changed. A scoped run now falls back to the full-run cache (read only, file content still compared, so real edits are still picked up).

vendor/bin/rector process       # full run, files left clean are cached
vendor/bin/rector process --only "Rector\..\SomeRector"

Before: --only re-analyses every file. After: skips files the full run already left clean.

Directional cache invalidation on config change (#​8397)

Previously any change to any config parameter dropped the whole cache. Now changes are compared by direction:

  • removing a rule/set, or adding a skip -> strictly less work -> cache kept
  • adding a rule/set, or removing a skip -> more work possible -> cache dropped
  • output-affecting params (php version, import names, indent) -> any change still drops the cache
  • runtime/reporting params (--parallel, memory limit, deprecation notices) -> never invalidate
 return RectorConfig::configure()
     ->withRules([
         SomeRector::class,
-        OtherRector::class,     // removing a rule -> cache kept
     ]);
 return RectorConfig::configure()
     ->withSkip([
         SomeRector::class,
+        AnotherRector::class,   // adding a skip -> cache kept
     ]);

Before: full cache dropped, every file re-analysed. After: cache kept, only changed files re-analysed. A legacy cache value from an older version triggers a single safe reset.

Bugfixes 🐛

  • Support PHPStan 2.2.10 scope changes (#​8420)
  • Fix double backslash in FunctionFirstClassCallableRector (#​8398)
  • IfToNullCoalescingAssignRector: fix isset guard never converting (#​8389), keep comments above if (#​8388), skip non-nullable typed property (#​8387)
  • InlineIfToExplicitIfRector: skip same local method call and call chain (#​8417, #​8418)
  • ArrowFunctionDelegatingCallToFirstClassCallableRector: skip callee arity mismatch (#​8391)
  • Fix newline formatting of deprecated skipped rules warning (#​8386)

Deprecations 💀

Rules:

  • ShortenElseIfRector (#​8416)
  • CombineIfRector (#​8413)
  • ExplicitBoolCompareRector - can make if-train less readable (#​8412)
  • SimplifyIfElseToTernaryRector - avoids less readable code (#​8411)

Sets and config:

  • SetList::IF - rules moved into code-quality and coding-style sets (#​8414)
  • SetList::INSTANCEOF - rules moved into code-quality and type-declaration sets (#​8408)
  • SetList::PHP_* constants - use withPhpSets() / withPhpLevel() instead (#​8405)
  • Deprecate group approach for composer-based sets; load from Laravel and Drupal directly (#​8406)
  • Mark prepared sets params and withCacheMetaExtension() as @deprecated (#​8415)
  • Disable withSetProviders() (#​8392)

Console commands:


Internal / cleanup

  • Inline symplify/easy-parallel into src/Parallel (#​8401)
  • Reuse RectorCheaperGuardsFirstRule from symplify/phpstan-rules (#​8404)
  • Remove SingleServiceRegistrationRule, drop unused react/promise (#​8403)
  • Remove unused RelatedConfigInterface, dead stub files (#​8395, #​8407)
  • Trim redundant Issues regression tests (#​8399)

Configuration

📅 Schedule: (in timezone UTC)

  • Branch creation
    • "before 2am on Sunday"
  • 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.

👻 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.

| datasource | package                   | from   | to     |
| ---------- | ------------------------- | ------ | ------ |
| packagist  | palantirnet/drupal-rector | 1.1.2  | 1.1.3  |
| packagist  | phpstan/phpstan           | 2.2.10 | 2.2.13 |
| packagist  | rector/rector             | 2.6.4  | 2.6.6  |
@renovate renovate Bot added the Dependencies Pull request was raised automatically by a dependency bot label Sep 6, 2026
@github-project-automation github-project-automation Bot moved this to BACKLOG in Vortex 1.x Sep 6, 2026
@github-actions

github-actions Bot commented Sep 6, 2026

Copy link
Copy Markdown

📖 Documentation preview for this pull request has been deployed to Netlify:

https://6a9cb457ef578241af10c5e7--vortex-docs.netlify.app

This preview is rebuilt on every commit and is not the production documentation site.

@github-project-automation github-project-automation Bot moved this from BACKLOG to Release queue in Vortex 1.x Sep 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Dependencies Pull request was raised automatically by a dependency bot

Projects

Status: Release queue

Development

Successfully merging this pull request may close these issues.

1 participant