New Features and Changes 🥳
- Add MyCLabs enum equals + keeping methods (#4645), Thanks @K0nias!
- [TypeDeclaration] skip variadic constructor param of mixed type on AddParamTypeFromPropertyTypeRector (#4887), Thanks @Celebrate-Reinhard!
- [TypeDeclaration] Do not add default value when assigned in __construct() on TypedPropertyFromStrictGetterMethodReturnTypeRector (#4886)
- [TypeDeclaration] Add ReturnTypeFromStrictFluentReturnRector (#4890)
- Add single value concat support to EncapsedStringsToSprintfRector (#4897)
- Add number support to concat EncapsedStringsToSprintfRector (#4898)
- [DeadCode] Remove @return void on return self on RemoveUselessReturnTagRector (#4894)
- Add test case for caching $rectorConfig->rules() changed (#4903)
- [CodeQuality] Add NumberCompareToMaxFuncCallRector (#4914)
- [TypeDeclaration] Add return self object support on ReturnTypeFromStrictFluentReturnRector (#4915)
- [TypeDeclaration] Add return static object support on ReturnTypeFromStrictFluentReturnRector (#4916)
Bugfixes 🐛
- [Caching] Add VersionResolver::PACKAGE_VERSION to FileHashComputer::compute() so cache cleared on composer update got new version (#4904)
- [TypeDeclaration] Using ClassMethodReturnTypeOverrideGuard on ReturnTypeFromStrictParamRector (#4878)
- [e2e] $rectorConfig->skip() should not skip inside different path over config (#4882)
- Fix missing default string in TypedPropertyFromStrictGetterMethodReturnTypeRector (#4885)
- Fix tests fixture updater (#4892)
- Fix union type check of object (#4893)
- Simplify isMatchingUnionType() (#4895), Thanks @staabm!
- Skip identical to false in SimplifyBoolIdenticalTrueRector, as exact comparison is stronger than negated expression (#4901)
- Fix Rector invalidation in case of changes sets or rules (#4902)
- [TypeDeclaration] Skip mixing native + docblock union assign on TypedPropertyFromAssignsRector (#4905)
- StrictArrayParamDimFetchRector: Skip objects (#4907), Thanks @staabm!
- FamilyRelationsAnalyzer: final classes can't have children (#4913), Thanks @staabm!
- [Config] Remove $isBound usage as cause empty configuration on RectorConfig (#4880)