NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #2095 most downloaded on Packagist
Provides rules for rector/rector.
Last release 13 days ago
24 Sep 2026
Release timing varies
gaps range from 8 days to 3 months
Nearly every release is documented
notes for 41 of 41 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
41 releases · first in 2023
One column per quarter.
Fix: Use https instead of http for monthly downloads badge by @localheinz in #411
https instead of http for monthly downloads badge by @localheinz in #411rector/rector by @localheinz in #413Full Changelog: 1.18.4...1.18.5
For a full diff see [1.18.4...1.18.5][1.18.4...1.18.5].
Rules\Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRector to skip a namespace prefix when a rewritten reference or an added import would collide with an existing import or a partially qualified reference ([#414]), by [@localheinz]composer(deps-dev): Bump phpstan/phpstan-deprecation-rules from 2.0.4 to 2.0.5 by @dependabot [bot] in #368
ubuntu-24.04 instead of ubuntu-latest by @localheinz in #405rector/rector:^2.6.7 by @localheinz in #408preload.php from rector/rector in bootstrap by @localheinz in #409Full Changelog: 1.18.3...1.18.4
For a full diff see [1.18.3...1.18.4][1.18.3...1.18.4].
rector/rector:^2.6.7 ([#408]), by [@localheinz]Rules\Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRector to reference namespaced symbols relative to the namespace of the file when the file is declared in a child namespace of a namespace prefix and the symbols are declared in the namespace of the file or one of its child namespaces ([#410]), by [@localheinz]github-actions(deps): Bump actions/checkout from 6.0.3 to 7.0.0 by @dependabot [bot] in #357
Full Changelog: 1.18.2...1.18.3
For a full diff see [1.18.2...1.18.3][1.18.2...1.18.3].
Rules\Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRector to reference namespaced symbols in doc blocks consistently with code ([#361]), by [@localheinz]github-actions(deps): Bump actions/cache from 5.0.4 to 5.0.5 by @dependabot [bot] in #340
zizmor by @localheinz in #349renew.yaml into configuration by @localheinz in #353null when node was not modified by @localheinz in #355Full Changelog: 1.18.1...1.18.2
For a full diff see [1.18.1...1.18.2][1.18.1...1.18.2].
Rules\Expressions\Arrays\SortAssociativeArrayByKeyRector and Rules\Expressions\Matches\SortMatchArmsByConditionalRector to return null when they do not modify a node to avoid cache invalidation ([#355]), by [@localheinz]Enhancement: Add list of supported PHP versions by @localheinz in #338
RemoveNamedArgumentForSingleParameterRector to ignore first-class callables by @localheinz in #339Full Changelog: 1.18.0...1.18.1
For a full diff see [1.18.0...1.18.1][1.18.0...1.18.1].
Rules\Expressions\CallLikes\RemoveNamedArgumentForSingleParameterRector to ignore first-class callables ([#339]), by [@localheinz]Enhancement: Implement CallLikes\RemoveNamedArgumentForSingleParameter by @localheinz in #337
CallLikes\RemoveNamedArgumentForSingleParameter by @localheinz in #337Full Changelog: 1.17.0...1.18.0
For a full diff see [1.17.0...1.18.0][1.17.0...1.18.0].
Rules\Expressions\CallLikes\RemoveNamedArgumentForSingleParameterRector ([#337]), by [@localheinz]Enhancement: Implement PHPUnit\ReplaceTestAttributeWithTestPrefixRector by @localheinz in #336
PHPUnit\ReplaceTestAttributeWithTestPrefixRector by @localheinz in #336Full Changelog: 1.16.0...1.17.0
For a full diff see [1.16.0...1.17.0][1.16.0...1.17.0].
Rules\PHPUnit\ReplaceTestAttributeWithTestPrefixRector ([#336]), by [@localheinz]Fix: Deprecate Arrays\SortAssociativeArrayByKeyRector in favor of Expressions\Arrays\SortAssociativeArrayByKeyRector by @localheinz in #335
Expressions\Matches\SortMatchArmsByConditionalRector by @localheinz in #333Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRector to skip references to constants and functions by @localheinz in #334Arrays\SortAssociativeArrayByKeyRector in favor of Expressions\Arrays\SortAssociativeArrayByKeyRector by @localheinz in #335Full Changelog: 1.15.2...1.16.0
For a full diff see [1.15.2...1.16.0][1.15.2...1.16.0].
Rules\Expressions\Matches\SortMatchArmsByConditionalRector ([#333]), by [@localheinz]Arrays\SortAssociativeArrayByKeyRector in favor of Expressions\Arrays\SortAssociativeArrayByKeyRector ([#335]), by [@localheinz]Rules\Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRector to skip fully-qualified function calls and constant references ([#334]), by [@localheinz]Fix: Adjust Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRector to rewrite references relative to current namespace when file has only pre
Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRector to rewrite references relative to current namespace when file has only prefix import by @localheinz in #327Full Changelog: 1.15.1...1.15.2
For a full diff see [1.15.1...1.15.2][1.15.1...1.15.2].
Rules\Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRector to rewrite references relative to current namespace when file has only prefix import ([#327]), by [@localheinz]Fix: Adjust Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRector to rewrite partially-qualified names when forceRelativeReferences is enabl
Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRector to rewrite partially-qualified names when forceRelativeReferences is enabled by @localheinz in #326Full Changelog: 1.15.0...1.15.1
For a full diff see [1.15.0...1.15.1][1.15.0...1.15.1].
Rules\Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRector to rewrite partially-qualified names when forceRelativeReferences is enabled ([#326]), by [@localheinz]Fix: Add test fixtures for forceRelativeReferences option of Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRector by @localheinz in #325
forceRelativeReferences option of Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRector by @localheinz in #325discoverNamespacePrefixes configuration option to Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRector by @localheinz in #324Full Changelog: 1.14.1...1.15.0
For a full diff see [1.14.1...1.15.0][1.14.1...1.15.0].
discoverNamespacePrefixes configuration option to Rules\Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRector to automatically discover parent namespace prefixes from file references ([#324]), by [@localheinz]Fix: Revise test fixtures for Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRector by @localheinz in #317
Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRector by @localheinz in #317Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRectorWithNamespacePrefixes targeting PHP 8.1 by @localheinz in #319Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRectorWithNamespacePrefixes targeting PHP 8.2 by @localheinz in #320Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRectorWithNamespacePrefixes targeting PHP 8.3 by @localheinz in #321Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRectorWithNamespacePrefixes targeting PHP 8.4 by @localheinz in #322Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRectorWithNamespacePrefixes targeting PHP 8.5 by @localheinz in #323Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRector to remove imports in file where namespace is identical to namespace prefix by @localheinz in #316Full Changelog: 1.14.0...1.14.1
For a full diff see [1.14.0...1.14.1][1.14.0...1.14.1].
Rules\Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRector to remove imports in file where namespace is identical to namespace prefix ([#316]), by [@localheinz]For a full diff see [1.13.2...1.14.0][1.13.2...1.14.0].
For a full diff see [1.13.2...1.14.0][1.13.2...1.14.0].
forceRelativeReferences configuration option to Rules\Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRector to force references to be expressed relative to the namespace prefix even when the file namespace matches the prefix ([#315]), by [@localheinz]Rules\Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRector and Rules\Files\UseImportRelativeToNamespacePrefixRector to reject arrays that are not lists ([#314]), by [@localheinz]For a full diff see [1.13.1...1.13.2][1.13.1...1.13.2].
For a full diff see [1.13.1...1.13.2][1.13.1...1.13.2].
Rules\Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRector to remove unnecessary imports without adding a prefix import when the file namespace is the parent namespace prefix ([#312]), by [@localheinz]For a full diff see [1.13.0...1.13.1][1.13.0...1.13.1].
For a full diff see [1.13.0...1.13.1][1.13.0...1.13.1].
Rules\Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRector to remove unnecessary imports without adding a prefix import when the file namespace matches the namespace prefix ([#312]), by [@localheinz]For a full diff see [1.12.5...1.13.0][1.12.5...1.13.0].
For a full diff see [1.12.5...1.13.0][1.12.5...1.13.0].
Rules\Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRector to allow configuring parent namespace prefixes for automatic discovery of namespace prefixes ([#310]), by [@localheinz]For a full diff see [1.12.4...1.12.5][1.12.4...1.12.5].
For a full diff see [1.12.4...1.12.5][1.12.4...1.12.5].
Rules\Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRector to also rewrite fully-qualified references to namespaced symbols identical to a namespace prefix ([#303]), by [@localheinz]Rules\Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRector to handle grouped use statements ([#306]), by [@localheinz]For a full diff see [1.12.3...1.12.4][1.12.3...1.12.4].
For a full diff see [1.12.3...1.12.4][1.12.3...1.12.4].
Rules\Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRector to handle fully qualified references ([#302]), by [@localheinz]For a full diff see [1.12.2...1.12.3][1.12.2...1.12.3].
For a full diff see [1.12.2...1.12.3][1.12.2...1.12.3].
Rules\Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRector to skip rewriting when the namespace prefix alias collides with a class, interface, trait, or enum declared in the same file ([#301]), by [@localheinz]For a full diff see [1.12.1...1.12.2][1.12.1...1.12.2].
For a full diff see [1.12.1...1.12.2][1.12.1...1.12.2].
Rules\Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRector to support parent namespace imports ([#300]), by [@localheinz]For a full diff see [1.12.0...1.12.1][1.12.0...1.12.1].
For a full diff see [1.12.0...1.12.1][1.12.0...1.12.1].
Rules\Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRector to support overlapping namespace prefixes by deferring to the more specific prefix ([#298]), by [@localheinz]Deprecated Rules\Files\UseImportRelativeToNamespacePrefixRector in favor of Rules\Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRector ([#2…
For a full diff see [1.11.1...1.12.0][1.11.1...1.12.0].
Rules\Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRector to replace references to namespaced symbols (classes, functions, constants) whose fully-qualified name starts with a namespace prefix so they are relative to that prefix ([#295]), by [@localheinz]Rules\Arrays\SortAssociativeArrayByKeyRector and Rules\Files\UseImportRelativeToNamespacePrefixRector to reject unknown configuration keys ([#297]), by [@localheinz]Rules\Files\UseImportRelativeToNamespacePrefixRector in favor of Rules\Files\ReferenceNamespacedSymbolsRelativeToNamespacePrefixRector ([#296]), by [@localheinz]For a full diff see [1.11.0...1.11.1][1.11.0...1.11.1].
For a full diff see [1.11.0...1.11.1][1.11.0...1.11.1].
Rules\Files\UseImportRelativeToNamespacePrefixRector to adjust DocBlocks as well ([#294]), by [@localheinz]For a full diff see [1.10.0...1.11.0][1.10.0...1.11.0].
For a full diff see [1.10.0...1.11.0][1.10.0...1.11.0].
Rules\Files\UseImportRelativeToNamespacePrefixRector to allow replacing sub-namespace imports with parent namespace imports and updating references to use relative names ([#291]), by [@localheinz]For a full diff see [1.9.0...1.10.0][1.9.0...1.10.0].
For a full diff see [1.9.0...1.10.0][1.9.0...1.10.0].
rector/rector:^2.3.8 ([#290]), by [@localheinz]For a full diff see [1.8.0...1.9.0][1.8.0...1.9.0].
For a full diff see [1.8.0...1.9.0][1.8.0...1.9.0].
Rules\Arrays\SortAssociativeArrayByKeyRector to resolve values for keys referring to ::class pseudo constants from the original name instead of the fully-qualified class name ([#265]), by [@localheinz]For a full diff see [1.7.0...1.8.0][1.7.0...1.8.0].
For a full diff see [1.7.0...1.8.0][1.7.0...1.8.0].
Rules\Arrays\SortAssociativeArrayByKeyRector to resolve values for keys referring to ::class pseudo constants ([#258]), by [@localheinz]Added Rules\Faker\GeneratorPropertyFetchToMethodCallRector to allow replacing references to deprecated properties of Faker\Generator with method calls…
For a full diff see [1.6.0...1.7.0][1.6.0...1.7.0].
Rules\Faker\GeneratorPropertyFetchToMethodCallRector to allow replacing references to deprecated properties of Faker\Generator with method calls ([#249]), by [@localheinz]rector/rector:^2.1.3 ([#248]), by [@localheinz]For a full diff see [1.5.1...1.6.0][1.5.1...1.6.0].
For a full diff see [1.5.1...1.6.0][1.5.1...1.6.0].
For a full diff see [1.5.0...1.5.1][1.5.0...1.5.1].
For a full diff see [1.5.0...1.5.1][1.5.0...1.5.1].
Rules\Arrays\SortAssociativeArrayByKeyRector ([#210]), by [@localheinz]strcmp as default comparison function in Rules\Arrays\SortAssociativeArrayByKeyRector ([#216]), by [@localheinz]For a full diff see [1.4.0...1.5.0][1.4.0...1.5.0].
For a full diff see [1.4.0...1.5.0][1.4.0...1.5.0].
Rules\Arrays\SortAssociativeArrayByKeyRector ([#210]), by [@localheinz]For a full diff see [1.3.0...1.4.0][1.3.0...1.4.0].
For a full diff see [1.3.0...1.4.0][1.3.0...1.4.0].
rector/rector:^2.0.11 ([#199]), by [@localheinz]Rules\Arrays\SortAssociativeArrayByKeyRector to stop ignoring associative arrays used in sub-classes of PHPUnit\Framework\TestCase ([#200]), by [@localheinz]For a full diff see [1.2.0...1.3.0][1.2.0...1.3.0].
For a full diff see [1.2.0...1.3.0][1.2.0...1.3.0].
rector/rector:^2.0.0 ([#171]), by [@localheinz]For a full diff see [1.1.0...1.2.0][1.1.0...1.2.0].
For a full diff see [1.1.0...1.2.0][1.1.0...1.2.0].
rector/rector:^1.0.0 ([#161]), by [@localheinz]For a full diff see [1.0.1...1.1.0][1.0.1...1.1.0].
For a full diff see [1.0.1...1.1.0][1.0.1...1.1.0].
For a full diff see [1.0.0...1.0.1][1.0.0...1.0.1].
For a full diff see [1.0.0...1.0.1][1.0.0...1.0.1].
rector/rector:~0.19.2 ([#77]), by [@localheinz]For a full diff see [0.4.0...1.0.0][0.4.0...1.0.0].
For a full diff see [0.4.0...1.0.0][0.4.0...1.0.0].
rector/rector:^1.0.0 ([#76]), by [@localheinz]For a full diff see [0.3.0...0.4.0][0.3.0...0.4.0].
For a full diff see [0.3.0...0.4.0][0.3.0...0.4.0].
rector/rector:~0.19.2 ([#64]), by [@localheinz]nikic/php-parser:^5.0.0 ([#65]), by [@localheinz]For a full diff see [0.2.0...0.3.0][0.2.0...0.3.0].
For a full diff see [0.2.0...0.3.0][0.2.0...0.3.0].
For a full diff see [0.1.0...0.2.0][0.1.0...0.2.0].
For a full diff see [0.1.0...0.2.0][0.1.0...0.2.0].
For a full diff see [fd198f0...0.1.0][fd198f0...0.1.0].
For a full diff see fd198f0...0.1.0.
Rules\Arrays\SortAssociativeArrayByKeyRector (#1), by @localheinzYour coding agent can read these notes before it upgrades. Set up the MCP server →