Skip to content

[Conductor] Update dev - #122

Open
private-packagist[bot] wants to merge 1 commit into
mainfrom
conductor-friendsofphp-php-cs-fixer-88806
Open

private-packagist[bot] wants to merge 1 commit into
mainfrom
conductor-friendsofphp-php-cs-fixer-88806

Conversation

@private-packagist

@private-packagist private-packagist Bot commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

This PR was automatically generated by Conductor.

The PR contains the changes generated by running the following command:

composer update friendsofphp/php-cs-fixer:v3.95.25 phpstan/phpstan:2.2.14 rector/rector:2.6.7 --with-all-dependencies --minimal-changes

Changelog

friendsofphp/php-cs-fixer (Source: GitHub Releases))

v3.95.25

What's Changed

  • deps: bump phpstan/phpstan from 2.2.9 to 2.2.12 in /dev-tools in the phpstan group by @​dependabot[bot] in #​9822
  • deps: bump crate-ci/typos from 1.49.0 to 1.50.1 in /.github/workflows in the all group across 1 directory by @​dependabot[bot] in #​9824
  • deps: bump shipmonk/dead-code-detector from 1.3.3 to 1.4.0 in /dev-tools in the shipmonk group across 1 directory by @​dependabot[bot] in #​9823
  • fix: IsNullFixer - handle is_null() calls using named arguments by @​lazerg in #​9828
  • fix: IsNullFixer - do not fix is_null() calls using argument unpacking by @​lazerg in #​9830
  • UX: init - use outlined messages by @​keradus in #​9826
  • fix: handle missing terminator after ?? in AssignNullCoalescingToCoalesceEqualFixer by @​calebdw in #​9831

New Contributors

Full Changelog: v3.95.24...v3.95.25

phpstan/phpstan (Source: GitHub Releases)

2.2.14

Improvements 🔧

Bugfixes 🐛

Performance 🏎️

  • Reduce repeated work when matching ignored errors (#​6374), thanks @​zonuexe!
  • Do not look up class reflection for properties without hooks (#​6396)
  • Share the directory walk between the analyse and the scan file finder (#​6396)
  • Read the exported PHPDoc scope off the AST instead of through FileTypeMapper (#​6396)
  • Memoize ClassReflection::getName() (#​6406)
  • Inline single-return getters when building the PHAR (#​6406, #​6412)
  • Remove a union of values from a set in one pass (#​6427)
  • Key types by their value where describe() was standing in for it (#​6427)
  • Answer reflection cache misses without a failing include() (#​6430)

Function signature fixes 🤖

Internals 🔍

  • Fix PHPUnit warning (#​6375), thanks @​staabm!
  • Trust PHPStan's own types when running from a source checkout too (#​6406)
  • Build the macOS turbo extension for arm64 only (#​6407)
rector/rector (Source: GitHub Releases))

2.6.7

Agentic Experience

This release improves Rector for automated, CI and non-interactive workflows: validate configuration without processing files, limit the amount of changes per run, select multiple rules at once, and get more useful machine-readable output.

  • Bump PHPStan to ^2.2.14 and PHP-Parser to ^5.9, regenerate preload (#​8491)

New validate-config command (#​8450, #​8452)

New validate-config command checks rector.php for configuration issues without processing any source files.

vendor/bin/rector validate-config

It reports deprecated rules and configuration, invalid skips, duplicated rule registrations and other config hygiene issues. A valid config exits with 0, while detected issues exit with 1, so the command can be used directly as a CI gate.

For machine-readable output:

vendor/bin/rector validate-config --output-format=json
{
    "valid": true,
    "issue_count": 0
}

Limit a run with --max-changes (#​8449)

New --max-changes option lets automated runs process changes in smaller batches:

vendor/bin/rector process --dry-run --max-changes=50

The limit counts applied rule changes rather than files. The current file is always finished before Rector stops, so the final number may be slightly above the requested limit.

Run multiple rules with --only (#​8451)

--only can now be repeated to run several selected rules in a single pass:

vendor/bin/rector process \
    --only=App\\Rector\\FooRector \
    --only=App\\Rector\\BarRector

A single --only continues to work as before.

Per-line rule attribution in JSON output (#​8448)

JSON output now includes a changes list with the Rector rule and source line for every applied change:

{
    "changes": [
        {
            "rector": "Rector\\Php80\\Rector\\Identical\\StrStartsWithRector",
            "line": 38
        }
    ]
}

The existing applied_rectors field remains unchanged for backward compatibility.

Cleaner non-interactive output

Non-interactive runs are now quieter and safer:

  • Disable progress bar when output is not a TTY (#​8444)
  • Never emit ANSI escape sequences to non-TTY output, even with --ansi (#​8453)
  • Do not prompt or automatically create rector.php when input is non-interactive (#​8454)

Sets

  • Add DirnameDirConcatStringToDirectStringPathRector to the code-quality set (#​8470)
  • Add NarrowBoolDocblockReturnTypeRector to the type-declaration-docblocks set (#​8484)

Bugfixes 🐛

  • CompleteDynamicPropertiesRector: skip when a not-autoloaded ancestor may already declare the property (#​8441)
  • TypeDeclarationDocblocks: restrict array docblock inference to safer/private cases and avoid narrowing properties with incompatible assignment shapes (#​8435, #​8436, #​8437, #​8442)
  • DocblockVarArrayFromPropertyDefaultsRector: widen empty nested array defaults to mixed[] instead of never[] (#​8439, #​8474)
  • DocblockReturnArrayFromDirectArrayInstanceRector: skip empty array returns instead of producing an overly narrow array{} docblock (#​8434)
  • IfToNullCoalescingAssignRector: preserve comments inside the converted if (#​8443)
  • RemoveDeadIfBlockRector: keep empty if with elseif and trailing else where rewriting would change behavior (#​8446)
  • RemoveParentDelegatingClassMethodRector: keep delegating methods carrying annotations such as @​Route (#​8459)
  • StrContainsRector: skip empty string needles to avoid behavior changes (#​8460)
  • Parallel processing: guard processes that quit before their encoder is initialized, fixing crashes with high worker counts (#​8461)
  • RemoveDeadCatchRector: keep rethrowing catches before catch-all Throwable/Exception handlers (#​8462)
  • SimplifyUselessVariableRector: preserve variables referenced by commented-out code and stop folding compound assignments into returns (#​8468)
  • ReplaceArgumentDefaultValueRector: avoid re-applying already migrated imported class constants and correctly report applied changes (#​8475)
  • Terminated block detection: ignore trailing comments and recognize terminating infinite loops (#​8476)
  • ForeachToArrayAnyRector: do not drop elseif or else branches when converting a foreach (#​8480)
  • Set Option::SOURCE from the actually resolved paths in regular Rector runs (#​8424)

Deprecations 💀

  • --rules-summary - use --output-format=json, which provides applied rules together with files and lines (#​8457)
  • DynamicDocBlockPropertyToNativePropertyRector - could change a public-by-design @​property into a private native property (#​8470)
  • FluentSettersToStandaloneCallMethodRector and RemoveReturnThisFromSetterClassMethodRector - fluent API semantics are too use-case dependent for a generic transformation (#​8473)
  • ListSwapArrayOrderRector - can turn valid list() assignments into broken code; removed from PHP 7.0 sets (#​8477)
  • Remove RenameDeprecatedMethodCallRector - inferring replacement methods from free-text @​deprecated descriptions is too risky; explicit rename rules are more predictable (#​8485)

rector-doctrine 🟠

  • TypedPropertyFromToOneRelationTypeRector: skip untyped parent property overrides (#​520)
  • TypedPropertyFromColumnTypeRector: skip untyped parent property overrides (#​521)
  • TypedPropertyFromColumnTypeRector: fix numeric defaults for decimal/bigint columns (#​522)
  • TypedPropertyFromColumnTypeRector: make generated property type nullable when a null default is present (#​523)

rector-phpunit 🟢

  • Deprecate RemoveNamedArgsInDataProviderRector (#​782)

rector-symfony 🎵

  • Move EnableValidationAttributesRector into the composer-based upgrade path (#​1065)
  • ConsoleExecuteReturnIntRector: correctly report changes when rewriting an existing return (#​1064)

rector-downgrade-php ⬇️

  • DowngradeNeverTypeDeclarationRector: support never return types on arrow functions (#​397)
  • Add DowngradeReflectionMethodHasPrototypeRector for ReflectionMethod::hasPrototype() when downgrading below PHP 8.2 (#​398)

Task options

If you close the PR, the task will be skipped and Conductor will schedule the next task. Clicking the "Skip" button in the UI has the same effect. Conductor won't attempt to update the dependency to this exact version again but it will schedule updates to newer versions.


Powered by Private Packagist

@private-packagist

private-packagist Bot commented Sep 11, 2026

Copy link
Copy Markdown
Contributor Author

composer.lock

Dev Package changes

Package Operation From To About
friendsofphp/php-cs-fixer upgrade v3.95.24 v3.95.25 diff
phpstan/phpstan upgrade 2.2.13 2.2.14 diff
rector/rector upgrade 2.6.6 2.6.7 diff

Settings · Docs · Powered by Private Packagist

@github-actions
github-actions Bot force-pushed the conductor-friendsofphp-php-cs-fixer-88806 branch from c4089fb to 0c81860 Compare September 18, 2026 13:32
Conductor executed the following commands:
composer update friendsofphp/php-cs-fixer:v3.95.25 phpstan/phpstan:2.2.14 rector/rector:2.6.7 --with-all-dependencies --minimal-changes
@private-packagist
private-packagist Bot force-pushed the conductor-friendsofphp-php-cs-fixer-88806 branch from 0c81860 to ced448b Compare September 18, 2026 13:32
@private-packagist

Copy link
Copy Markdown
Contributor Author

The composer.lock diff comment has been updated to reflect new changes in this PR.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants