Skip to content

Released Rector 0.18.4

Compare
Choose a tag to compare
@TomasVotruba TomasVotruba released this 25 Sep 17:18
· 1640 commits to main since this release

New Features and Improvements 🥳

  • Introducing Collectors 🥳 - processing collected data + test case (#4970)
  • Run tests on macos (#5019), Thanks @staabm!
  • Move betterNodeFinder, valueResolver, phpDocInfoFactory dependencies from AbstractRector into rules (#5071)
  • DX: Validate paths in RectorConfig->paths() (#5065), Thanks @staabm!
  • [DX] Make PhpDocInfoFactory explicitly required in Rector rule constructor, if needed (#5051)
  • [DX] Make ValueResolver explicitly required in Rector rules constructor if needed (#5052)

Bugfixes 🐛

  • [DeadCode] RemoveDeadZeroAndOneOperationRector should not remove Constants (#4910), Thanks @TwanVermeulen!
  • [PostRector] Fix unused import not removed on empty generic class name exists (#5012)
  • [Parallel] Handle Spaced root project main script on parallel process (#4813)
  • Fix TypedPropertyFromStrictConstructor* order (#5021), Thanks @staabm!
  • [DX] Lower current node dependency - pass it directly to doc node parsing (#5023)
  • [AutoImport] Fix conflict current namespace auto import (#5024)
  • Simplify UseIdenticalOverEqualWithSameTypeRector (#5029), Thanks @staabm!
  • [Performance][Testing] Use str_contains instead of regex in FixtureSplitter (#5030)
  • Fix ArrayKeyFirstLastRector: Skip exection when pointer is changed (#5038), Thanks @scyzoryck!
  • [TypeDeclaration] Handle fallback from param same type object on ReturnTypeFromReturnNewRector (#5039)
  • [NodeTypeResolver] Use Scope->getType() on ArrayDimFetch on NodeTypeResolver::getNativeType() (#5037)
  • [NodeTypeResolver] pull getType() on ArrayDimFetch when not mixed type from its variable native definition (#5056)
  • [CodingStyle][EarlyReturn] Fix infinite if else on BinarySwitchToIfElseRector+RemoveAlwaysElseRector (#5057)
  • [TypeDeclaration] Skip ArrayDimFetch for return and param types (#5059), Thanks @staabm!
  • [NodeTypeResolver] Handle optional array shape on native function like with ArrayDimFetch (#5062)
  • [Php80] Mirror switch comment to match to ChangeSwitchToMatchRector (#5072)
  • [AutoImport] Skip case insensitive conflict defined class name on $rectorConfig->importNames() (#5076)
  • Docblock fix on ShortNameResolver (#5077)
  • [TypeDeclaration] Add return static property support on ReturnTypeFromStrictTypedPropertyRector (#5050)

Removed and Deprecated 💀

  • [Config] Remove asterisk support in import() for file, use explicit paths instead (#5010)
  • [Performance] Remove regex check on open tag spaced check on FileProcessor (#5073)
  • Deprecate TypedPropertyFromStrictConstructorReadonlyClassRector as based on docblock and public elements; use private elements and property promotion instead (#5049)
  • Deprecate BinarySwitchToIfElseRector as opinionated to allow more suitable match() refactoring (#5064)