This release is accompanied by 2 posts that explains behind the scenes context:
- Rector 0.18 - From Symfony Container to Laravel and How to Upgrade your Extensions
- Rector 0.18 - How we made tests Seven Times Faster
New Features and Changes 🥳
- [CI] Narrow tests to single job, as now takes 20 s 🚀 (#4827)
- [Config] Handle $rectorConfig->import() with wildcards * config (#4832)
- [DX] Display rule count in list-rules (#4848)
- Skip PHPDoc return type in AddReturnTypeDeclarationBasedOnParentClassMethodRector (#4809), Thanks @staabm!
- AddReturnTypeDeclarationBasedOnParentClassMethodRector: don't trust phpdoc types (#4810), Thanks @staabm!
- [DX] Add optional testdox/pest like output to get exact test metrics per unit test fixture (#4821)
- [TypeDeclaration] Add new array replaced with array on ReturnTypeFromStrictNewArrayRector (#4825)
- [DX] Merge PhpRectorInterface to RectorInterface as identical contract and separation no longer needed (#4812)
- [PHPStan] Avoid removing bleeding edge from phar include, let user handle own phpstan configuration (#4840)
Bugfixes 🐛
- [Php73][Php80] Handle empty long array syntax default value on SensitiveConstantNameRector+AddParamBasedOnParentClassMethodRector (#4837)
- [Config] Add merging of rules configuration, call configure() just once (#4838)
- Fix RenamePropertyToMatchTypeRector to skip Laravel collections and avoid accident rename (#4811)
- [BetterPhpDocParser] Enable textBetweenTagsBelongsToDescription on BetterPhpDocParser extends PhpDocParser (#4817)
- [PHPUnit] Fix extreemely slow PHPUnit run on data providers with objects (#4823)
- [AutoImport] Handle case insensitive name collide on auto import (#4829)
- [Traverser] Set explicitely nodeConnectingVisitorCompatibility: false config in config/phpstan/static-reflection.neon (#4841)
- replaces
get_headers
$associative with bool (#4850), Thanks @mvhirsch! - [Php55][Renaming] Handle rename string on combination StringClassNameToClassConstantRector+RenameStringRector (#4869)
- [Php80] Handle crash parent default empty array/string param on AddParamBasedOnParentClassMethodRector (#4833)