New Features 🥳
- Implement
AddConstructorParentCallRector
(#3430), Thanks @jackbentley! - [CodeQuality] Add indirect return scalar on ReturnTypeFromStrictScalarReturnExprRector (#3478)
- [Container] Add RectorConfig::containerCacheDirectory() (#3490)
- [TypeDeclaration] Handle return from array_map() on ReturnTypeFromStrictTypedCallRector (#3471)
Bugfixes 🐛
- [AutoImport][PostRector] Handle duplicated import on namespaced class on UseAddingPostRector (#3461)
- [Php80] Narrow bool|false to bool on UnionTypesRector (#3468)
- [TypeDeclaration] Skip on ArrayDimFetch on EmptyOnNullableObjectToInstanceOfRector (#3473)
- [PostRector] Allow unused alias removal from Use_ on UnusedImportRemovingPostRector (#3477)
- [CodingStyle] Skip var ArrayDimFetch on SplitDoubleAssignRector (#3481)
- [TypeDeclaration] Skip mixed condition string on TypedPropertyFromStrictConstructorRector (#3482)
- [Caching] Alternative Fix caching on change config cache not cleared (#3483)
- [DowngradePhp73][DowngradePhp74] Fix infinite loop on DowngradeNullCoalescingOperatorRector+DowngradePhp73JsonConstRector (#3484)
- [TypeDeclaration] Handle infinite loop on type recursive itself on ReturnTypeFromStrictTypedCallRector (#3487)
- [Printer] Handle commented code before closing tag on no rule applied print on PhpFileProcessor (#3488)
- [Config] Increase default nested chain method call limit to 120 (#3491)
- Performance: Memoize sipped file paths (#3495), Thanks @keulinho!
- [CodeQuality] Skip with ascii on JoinStringConcatRector (#3497)
- Reuse AstResolver memoizing on ClassLikeAstResolver (#3498)