New Features 🥳
- [DeadCode] Add Function_ support on RemoveUselessReturnTagRector (#5325)
- [TypeDeclaration] Add MergeDateTimePropertyTypeDeclarationRector (#5327)
- [DeadCode] Add Function_ support on RemoveUselessParamTagRector (#5331)
- [DeadCode] Add RemoveNullTagValueNodeRector (#5352)
Bugfixes 🐛
- [Php83] Fix const from applying incorrect types (#5326), Thanks @peterfox!
- [TypeDeclaration] Fix missing change type to DateTimeInterface on MergeDateTimePropertyTypeDeclarationRector (#5329)
- [TypeDeclaration] Handle DateTimeInterface from use statement on MergeDateTimePropertyTypeDeclarationRector (#5330)
- [TypeDeclaration] Handle assign $this on TypedPropertyFromAssignsRector (#5333)
- Fix array type if property is used in TypedPropertyFromStrictConstructorRector (#5339)
- [Naming] Skip DateTimeImmutable on RenamePropertyToMatchTypeRector (#5340)
- [PHP 7.4] Skip typed properties in the set, as standalone set now available (#5342)
- [TypeDeclaration] Skip has child return different type on ReturnNeverTypeRector (#5343)
- [Experiment][TypeDeclaration] Allow change abstract class methods with body on ReturnType*Rector (#5344)
- [Php55] Make StringClassNameToClassConstantRector configurable to keep first pre-backslash string configurable (#5354)
- [TypeDeclaration] Skip casted to (array) on StrictArrayParamDimFetchRector (#5356)
- [TypeDeclaration] Return new static from different object on ReturnTypeFromStrictTypedCallRector (#5357)
- [TypeDeclaration] Allow return static from under function on ReturnTypeFromStrictTypedCallRector (#5358)
- [Naming] Skip
$this
in RenameForeachValueVariableToMatchExprVariableRector (#5360), Thanks @sreichel! - [Transform] Do not create a new node if the existing node is already the correct one on AttributeKeyToClassConstFetchRector (#5328), Thanks @SerethiX!
- Bump to php parser 4.18 (#5362)
- [CodeQuality] Skip Superglobals variable on SimplifyEmptyCheckOnEmptyArrayRector (#5369)
- [Php55] Handle crash after exit() on GetCalledClassToSelfClassRector (#5372)
- [CodeQuality] Skip method call on else on TernaryFalseExpressionToIfRector (#5373)
- Remove return type in case of never in RemoveUselessReturnTagRector (#5323), Thanks @staabm!
- [DeadCode] Remove unused @return mixed on RemoveUselessReturnTagRector (#5332)
- [DeadCode] Skip has parent class with __call() magic method on RemoveParentCallWithoutParentRector (#5336)
- [PHP 5.5] Remove extra preslash in class reference, as in practice removal manually (#5338)
- [DeadCode] Remove null as never used param type in RemoveUselessParamTagRector (#5348)
- Remove json throw on error rule from PHP 7.3 set, as changed behavior and must be applied on purpose (#5349)
- [Testing] Remove unnecessary set Parameter Source on TestingParser (#5371)