Skip to content

Latest commit

 

History

History
4468 lines (3826 loc) · 204 KB

CHANGELOG.md

File metadata and controls

4468 lines (3826 loc) · 204 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

PRs and issues are linked, so you can find more about it. Thanks to ChangelogLinker.

Unreleased

Added

  • #3954 [Doctrine] Add constructor getRepository to service
  • #3972 [DoctrineCodeQuality] Add few entity rules
  • #3950 [Fluent] Add factory case
  • #3941 [TypeDeclaration] Add nested key support
  • #3958 Add AssertEqualsToSameRector, Thanks to @dereuromark
  • #3953 add easy-ci
  • #3952 add new ManagerRegistry namespace

Changed

  • #3924 [CodingStyle] Make ConsistentPregDelimiterRector configurable
  • #3911 [DX] Rename namespaces of Rector rules to respect node, instead of domain, Thanks to @dobryy
  • #3947 [Defluent] Allow DateTime to be fluent
  • #3969 [Order] Move ClassLike and Class_ rules into correct namespaces, Thanks to @dobryy
  • #3923 [Order] Order class methods by visibility, Thanks to @dobryy
  • #3929 [Order] Order properties by visibility, Thanks to @dobryy
  • #3934 [Order] Order constants by visibility, Thanks to @dobryy
  • #3933 [Order] Visibility rules refactoring, Thanks to @dobryy
  • #3968 [Order] Order first level class statements, Thanks to @dobryy
  • #3962 [RectorGenerator] prevent incorrect package configuration
  • #3916 [SOLID] skip reference-write functions
  • #3966 Recipe array to object
  • #3945 service entity repository combo
  • #3922 make ConsistentPregDelimiterRector configurable
  • #3964 make sure recipe is loaded
  • #3925 make use of NodeConnectingVisitor + improve generate Rector docs
  • #3946 misc
  • #3951 move Polyfill to rules
  • #3936 PHPStan: require iterable types
  • #3937 fixture for the issue #3931, Thanks to @dobryy
  • #3926 update create-rector.php.dist
  • #3949 [static] use Symplify rule

Fixed

  • #3957 Fix sample configuration generation, Thanks to @hxv
  • #3944 README: fix typo, Thanks to @mfn

Removed

  • #3938 drop EnsureDataProviderInDocBlockRector, job for coding standards

v0.7.63 - 2020-08-06

Added

  • #3921 [CodeQuality] Add argument support to ArrayThisCallToThisMethodCallRector

Changed

  • #3889 [Order] Make OrderPrivateMethodsByUseRector process file in one run u…, Thanks to @dobryy

Fixed

Removed

  • #3920 drop SimpleArrayCallableToStringRector, as it makes code magical and harder to proces
  • #3917 drop slevomat cs to prevent breaking build for last months

v0.7.62 - 2020-08-05

Added

  • #3885 [TypeDeclaration] Skip typed property for @var adding
  • #3910 add parent-property test
  • #3886 Add set-path constant support
  • #3896 FunctionTo* correction renames, add PHPStan rule to check correct category of rule

Changed

  • #3894 [Generic] FuncCallToMethodCall only in case of parent class
  • #3901 [Generic] skip static method in FuncCallToMethodCallRector
  • #3883 [Naming] Allow uuid to have name id
  • #3906 [Naming] Decouple RenameParamToMatchTypeRector
  • #3898 [SOLID] Skip property that is being changed by func call
  • #3895 rename FunctionToStaticCallRector to FuncCallToStaticCallRector
  • #3912 cleanup
  • #3899 Provide existing expression to get type
  • #3904 Check that Recipe node types are imported, Thanks to @dobryy
  • #3907 skip configure unless in tests
  • #3909 Rename StaticCallToAnotherServiceConstructorInjectionRector to StaticCallToMethodCall
  • #3913 re-use param in constructor

Fixed

  • #3888 [Architecture] fix repository property
  • #3905 method call remover fix, Thanks to @mssimi

v0.7.61 - 2020-08-03

Changed

  • #3879 [Nette 3.0] use dev nette deps to resolve form/application types
  • #3878 [Nette 3.0] Various rules updates

v0.7.60 - 2020-08-02

Added

  • #3874 [NetteCodeQuality] add case with type form
  • #3876 add param type test case

Changed

  • #3872 [NetteCodeQuality] Skip isset on form input + multiplier check
  • #3870 [NetteCodeQuality] Get component
  • #3875 make use of constant

Fixed

  • #3877 [NetteCodeQuality] Fix unset, on purpose
  • #3871 fix import slash

v0.7.59 - 2020-08-02

Changed

v0.7.58 - 2020-08-02

Added

  • #3850 [Generic] Add method call remover rector, Thanks to @mssimi
  • #3854 [MagicDisclosure] Add last method with differnt type support
  • #3859 [MagicDisclosure] Add support for child parent class types
  • #3860 [MagicDisclosure] Add SetterOnSetterMethodCallToStandaloneAssignRector
  • #3867 [NetteCodeQuality] Add ArrayAccessSetControlToAddComponentMethodCallRector

Changed

  • #3853 [Defluent] New set + various improvements
  • #3866 [Docs] Show constants over values
  • #3856 [MagicDisclosure] Skip getters
  • #3862 [MagicDisclosure] Improve naming
  • #3861 [MagicDisclosure] Fluent refactoring
  • #3868 extend direct access
  • #3852 Resolve " TypeError in ValueResolver::resolveClassConstFetch()", Thanks to @fsok
  • #3855 [ci] Improve workflow for squash commits
  • #3865 [ci] enable defluent set

Fixed

  • #3863 [MagicDisclosure] fixes
  • #3857 [RectorGenerator] Fix trailing comma in function calls error in php 7.2, Thanks to @zingimmick

Removed

  • #3858 [MagicDisclosure] Drop type scoping from ReturnThisRemoveRector, as always localy scope

v0.7.57 - 2020-07-31

Added

  • #3835 [Nette] Add ArrayDimFetchControlToGetComponentMethodCallRector
  • #3841 Add failing fixture for AddDefaultValueForUndefinedVariableRector, Thanks to @u01jmg3

Changed

  • #3847 [MagicRemoval] Improve rules
  • #3826 [Order] Order properties and constants with respect of complexity and position, Thanks to @dobryy
  • #3837 skip on method call
  • #3838 test kodiak for rebase
  • #3839 compile

Fixed

  • #3842 [PHP 5.6] Fix foreach unset variable default

v0.7.56 - 2020-07-30

Added

  • #3829 add suffix to prevent phpunit autoload
  • #3825 Add failing test case for issue 3824, Thanks to @fsok
  • #3821 add ConfigurableRectorInterface

Changed

  • #3833 [Nette] Rename follow up variables too
  • #3832 [Nette] Skip nested control access to /ChangeControlArrayAccessToAnnotatedControlVariableRector
  • #3823 [RectorGenerator] Refactoring to testable code
  • #3831 decouple testing tools

Fixed

  • #3830 [PHP 7.0] Fix variable name on static call

v0.7.55 - 2020-07-29

Added

  • #3808 [CodeQuality] Add case class name fix
  • #3801 [Form] add nested callback case

Changed

  • #3803 [Celebrity] Merge to code-quality
  • #3822 [DX] Update README and other docs files to use PHP syntax for configs, Thanks to @dobryy
  • #3800 [Nette] Load data from __construct of same class
  • #3795 [Order] Order any param (Nullable or with default value) that has type of Object, Thanks to @dobryy
  • #3818 Move src/Rector to rules/generic/src/Rector, Core namespace for rules to Generic
  • #3791 Enable Order Set with failing rules disabled, Thanks to @dobryy
  • #3809 Update doctrine/inflector requirement from ^1.3 to ^1.4|^2.0, Thanks to @zingimmick
  • #3819 [Nette 3.0] Translate contract
  • #3820 docs
  • #3802 misc
  • #3815 [Nette 3.0] Various new rules

Fixed

  • #3805 [Nette] dim fetch naming fixes
  • #3811 fix fixture content

v0.7.54 - 2020-07-27

Added

  • #3781 [Nette] add support for connection with method call
  • #3787 [Nette] Add dim fetch support
  • #3790 [Nette] Add ChangeControlArrayAccessToAnnotatedControlVariableRector
  • #3797 [Nette] skip non control adding add methods
  • #3773 [Nette] Add ChangeFormArrayAccessToAnnotatedControlVariableRector
  • #3775 [Nette] add support for new instance type
  • #3774 [Nette] Add external form factory support
  • #3796 [Nette] Add control assign unique per variable
  • #3782 [Nette] Add MakeGetComponentAssignAnnotatedRector
  • #3777 [Nette] add add*() method resolution for factories
  • #3785 [Nette] add support for getComponent() resolution in form array access
  • #3776 [PHP 7.4] Add use imported FQN name

Changed

  • #3784 [Nette] Improve AddDatePickerToDateControlRector
  • #3780 [Nette] skip being assigned
  • #3799 [Nette] prevent duplicates on array dims of Form
  • #3793 [Nette] move quality rules to nette-code-quality directory
  • #3786 [Order] Order __constructor dependencies by type alphabetically, Thanks to @dobryy
  • #3770 [PHP7.4] Invalid type with class keyword in Doctrine ORM property, Thanks to @dobryy
  • #3788 Bump to phpstan 0.12.33, nikic/php-parser to 4.6
  • #3792 [PHP 7.4] Make property nullable if not set in constructor

Fixed

  • #3794 fix removing of doc

Removed

  • #3778 remove MethodCallNodeVisitor, use better parent traversal approach

v0.7.53 - 2020-07-23

Added

  • #3762 [SymfonyPhpConfig] Add AddEmptyLineBetweenCallsInPhpConfigRector

Changed

  • #3761 [Config] Warn about YAML deprecation + load YAML sets
  • #3766 [PHP 5.5] Skip exception to string by default, probably on purpose
  • #3763 [Nette 3.0] Skip already fetched in form contorl

Fixed

  • #3759 [DeadCode] Fix variable usage detection, Thanks to @dobryy

Unreleased

Added

  • #3760 [Nette] Add form dim access to standalone Form Control

v0.7.52 - 2020-07-22

Changed

  • #3749 Support exception names that begin with an abbreviation, Thanks to @u01jmg3

v0.7.51 - 2020-07-21

  • #3750 [CodingStyle] Create WrapEncapsedVariableInCurlyBracesRector, Thanks to @u01jmg3

v0.7.49 - 2020-07-21

Added

  • #3712 [Legacy] Add AddTopIncludeRector squash, Thanks to @phpfui
  • #3705 [Symfony] Add RemoveDefaultGetBlockPrefixRector
  • #3700 [Symfony] add support for options to entry_options rename in collection
  • #3731 add TemplateAnnotationToThisRenderRector for nested closure
  • #3697 [Symfony 3.0] Add ChangeCollectionTypeOptionNameFromTypeToEntryTypeRector
  • #3709 Add Comparison to ComparisonExpression rename, Thanks to @othercorey
  • #3720 Add more refactorings for CakePHP 4.0, Thanks to @markstory
  • #3695 [Symfony 3.0] Add ChangeCollectionTypeOptionTypeFromStringToClassReferenceRector
  • #3735 add rector.php support
  • #3701 add support for options to entry_options rename in collection
  • #3699 [Utils] Add RequireStringArgumentInMethodCallRule
  • #3745 [ci] add colors

Changed

  • #3717 [CodingStyle] Create new TernaryConditionVariableAssignmentRector, Thanks to @u01jmg3
  • #3732 [CodingStyle] Create new WrapVariableVariableNameInCurlyBracesRector, Thanks to @u01jmg3
  • #3744 [DeadCode] Skip @api in unused public constants
  • #3713 [Legacy] Correct test for AddTopIncludeRector
  • #3737 [Naming] Decoupling of RenameVariableToMatchGetMethodNameRector
  • #3706 [Naming] Name variable after get method, Thanks to @dobryy
  • #3738 [Naming] Skip non-object type returns, classes with children and typical naming patterns
  • #3740 [Naming] apply "new" naming rule
  • #3707 [Renaming] Prevent RenameMethodRector from renaming to duplicated class method and in class itself
  • #3741 [Set] move to new package
  • #3704 [Symfony] Update instance to class reference to collection types
  • #3703 [Symfony 3.0] cleanup get name
  • #3698 make use of AbstractFormAddRector
  • #3724 Switch ecs.yaml to ecs.php
  • #3719 config YAML to PHP
  • #3722 Improve grammar, Thanks to @u01jmg3
  • #3723 Convert config.php to config.yaml
  • #3725 change ecs-after-rector.yaml to ecs-after-rector.php
  • #3727 Switch rector-ci configuration from YAML to PHP
  • #3730 use of constants
  • #3733 correct namespace in configs
  • #3746 Move existing Rector from the coding-style set to the php70 set, Thanks to @u01jmg3
  • #3747 make use of new set from symplify
  • #3694 tyding
  • #3734 [sets] YAML to PHP

Fixed

  • #3739 [Naming] Apply RenameVariableToMatchGetMethodNameRector on code + fix docblock rename
  • #3736 Fixing Compiler

Removed

  • #3708 [Renaming] Remove RenameMethodCallRector, ported to RenameMethodRector

Fixed

  • #3644 [Sensio] Fix nested function scope of return

Added

  • #3678 [Symfony] add Kernel support to ChangeFileLoaderInExtensionAndKernelRector
  • #3690 [Symfony 3] Add custom xml to StringFormTypeToClassRector"

Changed

  • #3680 [CodingStyle] Import classes only for Fully Qualified class names byt skipping all Qualified names, Thanks to @dobryy
  • #3686 [Downgrade] PHP 7.4 to 7.1 (Property Type), Thanks to @dobryy
  • #3687 [Legacy] RemoveIncludeRector, Thanks to @phpfui
  • #3682 [MysqlToMysqli] Mysql mysqli stackoverflow feedback, Thanks to @ludekbenedik
  • #3676 [Symfony] Extend ChangeFileLoaderInExtensionRectorTest to make it configurable
  • #3665 Check minimum required php version from composer.json, Thanks to @dobryy
  • #3691 inform about wrong path to config param
  • #3677 Prevent negative values for IndentLevel, Thanks to @phpfui
  • #3692 use strings over ::class in type detection, as they get prefixed by phar builder

Fixed

  • #3683 [Php74] Fix AddLiteralSeparatorToNumberRector if float number has zero after …, Thanks to @ludekbenedik
  • #3689 [SOLID] fix foreach variable override in const decoupling
  • #3693 fix import of already existing param/var/return type or class annotation
  • #3674 fix data provider to iterator

Removed

  • #3669 [MockeryToProphecy] Remove close call to mockery from test classes, Thanks to @jaapio
  • #3672 [cs] remove throws

v0.7.47 - 2020-07-07

Added

  • #3664 [Symfony] Add ChangeXmlToYamlFileLoaderInExtensionRector

Changed

  • #3670 [CodeQuality] improve UnusedForeachValueToArrayKeysRector to work with array foreach values
  • #3671 [DeadCode] Skip property used as arg
  • #3661 Rewrite mockery mock creation, Thanks to @jaapio

v0.7.46 - 2020-07-06

  • #3663 [Naming] Make rename property/variable skip date time at convention

v0.7.44 - 2020-07-06

  • #3652 [CI] simlify jobs to matrix
  • #3653 [CodingStyle] Split UnderscoreToPascalCaseVariableAndPropertyNameRector, Thanks to @dobryy
  • #3657 [CodingStyle] Make UnderscoreToPascalCaseVariableNameRector skip native variables, like _SERVER
  • #3662 [PHP 7.4] Make RestoreDefaultNullToNullableTypePropertyRector skip nullable defined in ctor

Removed

  • #3658 remove func call from method calls

v0.7.43 - 2020-07-05

Changed

  • #3654 [Sension] improve template annotation
  • #3649 decouple createConcat() method
  • #3648 update rule to support multiple occurrences of the class in the string, Thanks to @dobryy

Fixed

v0.7.42 - 2020-07-03

Added

  • #3613 [CodingStyle] Add new rector to replace hardcoded class name reference in string with class keyword reference, Thanks to @dobryy
  • #3601 [Decouple] Add DecoupleClassMethodToOwnClassRector
  • #3612 [Naming] Add RenameVariableToMatchNewTypeRector
  • #3632 [SOLID] Prevent adding constant, that is reserved keyword in RepeatedLiteralToClassConstantRector
  • #3609 [Symfony] add support for union of response and array
  • #3622 [Symfony] add constant return array support to TemplateAnnotationToThisRenderRector

Changed

  • #3637 [DynamicTypeAnalysis] Speedup dynamic type storage in tests
  • #3606 [Symfony] decouple ReturnTypeDeclarationUpdater
  • #3608 [Symfony] rename TemplateAnnotationRector to TemplateAnnotationToThisRender
  • #3623 [Symfony] pass return data as args
  • #3604 [Symfony] merge TemplateAnnotationRector version to 5
  • #3602 rename FluentReplaceRector to DefluentMethodCallRector
  • #3603 move ReturnThisRemoveRector to MagicDisclosure
  • #3614 use explicit xBuilder classes to prevent typos and PHPStan and PHPStorm confussion
  • #3605 rename file to fileInfo to reflect the type
  • #3607 decouple PhpDocInfoManipulator
  • #3630 Make use of PHPStan static reflection
  • #3638 speed limits
  • #3627 fail on found errors
  • #3629 merge PropertyNaming to one class
  • #3631 [phar] include phpstan dev deps
  • #3615 [tests] rename file to fileInfo

Fixed

  • #3633 [CodeQuality] fix callable this if part of the method
  • #3616 [Symfony] Fix template array in TemplateAnnotationToThisRenderRector
  • #3626 fix class name
  • #3628 Fix PHPStan Reflection break from 0.12.26
  • #3634 fix rector.phar build

Removed

  • #3624 [MagicDisclosure] remove MethodBody to Return_
  • #3610 [Symfony] prevent remove of mixed return
  • #3611 [Symfony] remove template annotation if returns response
  • #3636 remove issue-tests, already covered in specific rule tests

v0.7.41 - 2020-06-26

Changed

  • #3597 skip parent ctor in AnnotatedPropertyInjectToConstructorInjectionRector

v0.7.40 - 2020-06-25

  • #3592 make sure interface type is checked
  • #3595 Make use of Symplify/EasyTesting
  • #3594 Symfony FormTypeInstanceToClassConstRector: Include AbstractController in allowed object types, Thanks to @andyexeter

Fixed

Changed

  • #3579 Boolean Operands cause ChangeNestedForeachIfsToEarlyContinueRector to…, Thanks to @derrickschoen

v0.7.38 - 2020-06-24

Added

  • #3591 [NetteCodeQuality] Add MoveInjectToExistingConstructorRector
  • #3588 add inject in case of parent __construct
  • #3586 add typed property if on PHP 7.4

Changed

  • #3590 prefer local __construct
  • #3589 re-use parent property
  • #3587 respect @Inject on ContextGetByTypeToConstructorInjectionRector
  • #3582 Update create_own_rule.md, Thanks to @Philosoft

Fixed

  • #3585 fix rector description
  • #3584 fix swtich return types

Removed

  • #3583 remove @return tag if not needed in ReturnTypeDeclarationRector
  • #3581 remove @return tag if not needed in ReturnTypeDeclarationRector

Unreleased

Added

  • #3571 [Autodiscovery] add types/suffix support to MoveValueObjectsToValueObjectDirectoryRector
  • #3572 Add rename class support in twig/latte as well
  • #3566 added support post class move rename in XML files, Thanks to @vladyslavstartsev
  • #3565 Add post class move rename in neon/yaml files
  • #3577 add NonEmptyArrayTypeMapper

Changed

  • #3578 return type - skip void
  • #3574 skip common patterns in value object
  • #3573 allow skip null scope

Fixed

  • #3576 fix return type in abstract class

v0.7.37 - 2020-06-21

Changed

Fixed

  • #3560 Fix double move of classes
  • #3563 Fix node printing with post-race condition

v0.7.36 - 2020-06-19

Added

  • #3558 Add parsed tokens and stmts object

Fixed

  • #3557 fix importing of soon-to-be-existing classes

v0.7.35 - 2020-06-19

Added

  • #3550 [Autodiscovery] add class-rename to MoveServicesBySuffixToDirectoryRector
  • #3535 [Experimental] Add safe_types option
  • #3539 Re-add --only option
  • #3553 add TokensByFilePathStorage + decouple file system rules to own step
  • #3538 [PHP 7.2] Add ReplaceEachAssignmentWithKeyCurrentRector
  • #3548 Add @fixme, if ini_set/init_get removal breaks the code

Changed

  • #3536 [Autodiscovery] rename interface used in other places too
  • #3549 [Autodiscovery] Skip control factory in interface split
  • #3552 [PHP] Handle arrow functions in AddDefaultValueForUndefinedVariableRector, Thanks to @fsok
  • #3551 skip Form factories too
  • #3546 allow new phpstan
  • #3547 Expand CakePHP 4.1 standard, Thanks to @markstory
  • #3555 implements rename

Fixed

  • #3556 Fix imported interface renaming

Removed

  • #3554 remove MoveAndRenameNamespaceRector, not tested and not working, prefer class rename

v0.7.34 - 2020-06-16

Added

  • #3507 [CodeQuality] Add ArrayThisCallToThisMethodCallRector
  • #3528 [Order] Add OrderClassConstantsByIntegerValueRector
  • #3519 [Rector] Add UpdateFileNameByClassNameFileSystemRector
  • #3527 Add PHPUnit 9.0 regex method name changes
  • #3523 add NullableTypeMapper
  • #3511 Add rector rules for deprecated features in CakePHP 4.1, Thanks to @markstory
  • #3534 [docs] make code sample required for Rector rules, add code highlight

Changed

  • #3506 [Autodiscovery] Do not nest already correct name
  • #3487 [CakePHP] Convert array options to fluent method calls, Thanks to @garas
  • #3503 I found a bug with the ChangeNestedForeachIfsToEarlyContinueRector, Thanks to @derrickschoen
  • #3512 Don't type hint to traits, Thanks to @UFTimmy
  • #3524 skip encapsed string from constant extraction
  • #3520 skip multi assign ChangeReadOnlyVariableWithDefaultValueToConstantRector
  • #3525 [PHP 7.4] Make array spread work only for integer keys
  • #3533 decouple more responsibility to TagValueNodeConfiguration

Fixed

  • #3526 Fix for array of callable print in phpdoc
  • #3532 Fix quote in array values of phpdoc tags, decouple TagValueNodeConfiguration
  • #3508 Fix regex to account for windows., Thanks to @UFTimmy
  • #3522 fix @template tag preposition
  • #3521 fix nested comment in nested foreach to if

Removed

  • #3518 Simplify ExplicitPhpErrorApiRector and remove replaceNode() use

v0.7.32 - 2020-06-10

Added

  • #3505 add parent::__construct() in case of existing empty ctor

v0.7.31 - 2020-06-09

  • #3502 [Architecture] Add typed property support for @inject to ctor rule

v0.7.30 - 2020-06-09

  • #3479 [NetteUtilsCodeQuality] Add ReplaceTimeNumberWithDateTimeConstantRector
  • #3491 [Restoration] Add RemoveUselessJustForSakeInterfaceRector
  • #3483 [Restoration] Add MakeTypedPropertyNullableIfCheckedRector
  • #3475 [Sensio] Add @route migration to Symfony
  • #3476 [Sensio] Add RemoveServiceFromSensioRouteRector
  • #3477 [PHP 7.4] Add conflicting short import typed property fix
  • #3492 Add support for rename of @property
  • #3498 Add return type replacement in TemplateAnnotationRector

Changed

  • #3486 test children inject typed
  • #3484 [PHP 7.4] Allow run typed properties on class-like types only"
  • #3482 [PHP 7.4] Prevent already used property name
  • #3481 [PHP 7.4] Prevent child typed property override by abstract
  • #3497 TemplateAnnotationRector improvements
  • #3499 Update documentation link in PhpRectorInterface, Thanks to @RusiPapazov

Fixed

Removed

Added

  • #3456 [CodingStyle] Add RemoveDoubleUnderscoreInMethodNameRector
  • #3470 add fix for preslah of entity class
  • #3455 Add RemoveFuncCallArgRector, ClearReturnNewByReferenceRector, RemoveIniGetSetFuncCallRector, ReplaceHttpServerVarsByServerRector
  • #3459 [PHP 8.0] Add RemoveUnusedVariableInCatchRector
  • #3458 [PHP 8.0] Add TokenGetAllToObjectRector

Changed

  • #3450 update to phpstan/phpstan-phpunit 0.12.9
  • #3457 [PHP 7.2] Various improvements in ListEach and WhileEach Rectors
  • #3453 Future-proof ScopeFactory, Thanks to @ondrejmirtes
  • #3468 use string for classes in doc node factory
  • #3472 [phar] Un-pre-slash strings that should be clean
  • #3467 [phar] unprefix class strings

Fixed

  • #3466 [Symfony 2.8] Fix ArgumentDefaultValueReplacerRector to work with bool values
  • #3469 fix orm prefix
  • #3451 Fixed link to nodes overview in own rector code sample, Thanks to @norberttech
  • #3471 phar extra slashes fix
  • #3452 [testing] Rework AbstractRunnableRectorTestCase to be part of main test + fix ListEachRector behavior

v0.7.27 - 2020-05-30

Added

  • #3399 [Nette] Add ContextGetByTypeToConstructorInjectionRector
  • #3434 [NetteKdyby] Add ReplaceMagicEventPropertySubscriberWithEventClassSubscriberRector
  • #3416 [NetteKdyby] Add ReplaceMagicPropertyEventWithEventClassRector
  • #3429 [Privatization] Add PrivatizeFinalClassMethodRector
  • #3411 [Privatization] Add property privatization rule
  • #3446 [Restoration] Add CompleteMissingDependencyInNewRector
  • #3396 [SOLID] add InjectMethodFactory for multi parent abstract rector
  • #3392 [SOLID] Add MultiParentingToAbstractDependencyRector
  • #3410 Add Drupal logo + link to Drupal Rector rules to README.md, Thanks to @shaal
  • #3398 add ParsedClassConstFetchNodeCollector
  • #3418 add addComment() to Rector, fix comment preserving
  • #3350 Add @mixin support from PHPStan
  • #3422 Add Report and Extension package
  • #3419 Configuration - add getOutputFormat()
  • #3421 adding fixture for validation with message, Thanks to @bitgandtter
  • #3417 compensate comments added on too nested node
  • #3423 Add AfterProcessEvent and AfterReportEvent
  • #3441 [Nette Kdyby] Add direct event class support for string-only based events
  • #3437 [Nette Kdyby] Add support for unique dim fetch event param name
  • #3439 [Nette Kdyby] Add under_score dim fetch support, prevent double event fill override
  • #3440 [Nette Kdyby] Add ReplaceEventManagerWithEventSubscriberRector
  • #3442 [Nette Kdyby] do not add getter for unused param in listener method
  • #3387 [compiler] Add ScoperTest

Changed

  • #3415 [CodingStyle] UnderscoreToCamelCaseVariableAndPropertyNameRector
  • #3449 [Nette Kdyby] refactor to EventAndListenerTree
  • #3447 [Nette Kdyby] Sync getters in listener method and event class
  • #3377 composer: bump to Symplify 8-dev
  • #3445 [Nette Kdyby] Skip control events"
  • #3393 Guard against ShouldNotHappenException, Thanks to @UFTimmy
  • #3395 Keep empty php code as is, Thanks to @shaal
  • #3390 Use Newline from Standard Printer, Thanks to @tavy315
  • #3412 skip public properties
  • #3406 [Kdyby to Contributte] Migrate events
  • #3435 improve CustomEventFactory
  • #3428 Keep new line untouched

Fixed

Removed

  • #3400 remove interface suffix/prexit for PropertyNaming

v0.7.26 - 2020-05-16

Added

  • #3351 [CodingStyle] Add SplitGroupedUseImportsRector
  • #3358 [Legacy] Add FunctionToStaticMethodRector
  • #3369 [PSR-4] Add NormalizeNamespaceByPSR4ComposerAutoloadFileSystemRector
  • #3362 [PHP 5.5] Fix StringClassNameToClassConstantRector for importing freshly added class names
  • #3355 [docs] add counter next to Rector group

Changed

  • #3372 [MockistaToMockery] init
  • #3348 Decoule ClassRenamer, improve NormalizeNamespaceByPSR4ComposerAutoloadRector
  • #3361 Rule Rector\ClassMethod\AddArrayReturnDocTypeRector could not process files, Thanks to @MetalArend
  • #3359 Rule "Rector\ClassConst\VarConstantCommentRector" keeps throwing "could not process" errors., Thanks to @MetalArend

Deprecated

  • #3367 [ElasticsearchDSL] Deprecate single custom rule, better handled by community
  • #3366 [Oxid] Deprecate single custom rule, better handled by community
  • #3365 [Shopware] Deprecate single custom rule, better handled by community
  • #3363 [Silverstripe] deprecate, handled by community
  • #3364 [Sylius] Deprecate single custom rule, better handled by community
  • #3376 remove deprecated AutoReturnFactoryCompilerPass

Fixed

  • #3356 [CodeQuality] Fix SimplifyIfReturnBoolRector for else if

v0.7.23 - 2020-05-11

Added

  • #3325 [SOLID] Add RepeatedLiteralToClassConstantRector
  • #3346 Add symplify/parameter-name-guard
  • #3328 [utils] add FindFirstInstanceOfReturnTypeExtension to PHPStan extension

Changed

  • #3320 Resolving todos #5
  • #3321 Resolving todos #6
  • #3322 node printing functions consolidation
  • #3326 Make use of createMethodCall()
  • #3332 Define __RECTOR_RUNNING__ constant at analysis time, Thanks to @staabm
  • #3340 move MultipleClassFileToPsr4ClassesRector to PSR4
  • #3343 Alter command name, Thanks to @ddziaduch

Deprecated

  • #3324 Deprecate Zend 1 to Symfony 4 set

Fixed

v0.7.22 - 2020-05-05

Added

  • #3293 [Naming] Add RenamePropertyToMatchTypeRector
  • #3295 [Naming] Fix duplicate name on already existing + add "naming" set to CI
  • #3305 [Order] Add OrderPropertyByComplexityRector
  • #3301 [Order] Add OrderPrivateMethodsByUseRector
  • #3304 [Order] Add OrderPublicInterfaceMethodRector
  • #3289 [Performance] Add PreslashSimpleFunctionRector
  • #3290 [SOLID] Add AddFalseDefaultToBoolPropertyRector
  • #3277 [PHP 8.0] Add ClassOnObjectRector
  • #3285 Add resolving for private properties of annotation object
  • #3283 simplify Param node factory + add generic phpdoc class-node factory
  • #3279 [PHP 8.0] Add get_debug_type()
  • #3278 [PHP 8.0] Add static type
  • #3308 add = for @Route options separator
  • #3254 [PHP 8.0] Add attributes v2

Changed

  • #3294 [Naming] Decouple ConflictingNameResolver and ExpectedNameResolver
  • #3273 use propety over property property
  • #3270 TagValueNode refactoring
  • #3269 #3268 - rector should scan linked directories, Thanks to @atompulse
  • #3280 refactoring to generic items
  • #3281 moving to generic tag node
  • #3284 merge more factories to MultiPhpDocNodeFactory
  • #3288 Improve $node name get on static or method call
  • #3241 Symfony Route annotation needs equal sign, not colon, Thanks to @stephanvierkant
  • #3310 workflow: generate changelog
  • #3319 Resolving todos #4
  • #3309 workflow: generate documentation
  • #3306 do not export compiler as part of package
  • #3313 Resolving todos
  • #3314 Resolving todos #2
  • #3300 various coding standard improvements
  • #3299 Tests for @noRector, Thanks to @tomasnorre
  • #3298 Update Symplify deprecations
  • #3318 symplify NodeDumper to PHP code test
  • #3297 [Utils] PHPStan rule improvements

Fixed

  • #3317 Fix when PropertyProperty is a subnode of Property, Thanks to @tomasnorre
  • #3275 Fix constant referencing in annotations
  • #3311 Fix comment removing

Removed

  • #3302 [CakePHPtoSymfony] Remove unfinished set
  • #3287 [DX] drop confusing --only option to promote config
  • #3296 remove scan-fatal-errors, move to migrify

Unreleased

Changed

  • #3266 publish dump-rectors command with 3rd party install

v0.7.20 - 2020-04-26

  • #3253 make Doctrine property inferer skip non doc
  • #3262 [cs] sort private methods by call order and property by complexity
  • #3265 [docs] make dump-rectors command open to public

Fixed

  • #3252 [CodeQuality] Fix CompactToVariablesRector for unknown names
  • #3260 [Nette] Fix preg_match_all() to Nette\Utils migrations
  • #3261 Fix autoloading for phpstan configs
  • #3248 Fix @Route name can be empty, Thanks to @stephanvierkant

Removed

  • #3264 remove RectorStandaloneRunner, too hacky

v0.7.19 - 2020-04-24

Added

  • #3251 [CodeQuality] Add UnusedForeachValueToArrayKeysRector
  • #3235 [DX] Add validate fixture suffix
  • #3237 [PHP 8.0] Add str_ends_with()
  • #3245 [PHP 8.0] Add Stringable
  • #3228 [PHP 8.0] Add str_starts_with - rule #500 🎉🎉🎉

Changed

Fixed

  • #3236 various suffix fixes
  • #3233 Fix single-line doc end

v0.7.18 - 2020-04-23

Changed

Fixed

  • #3232 Compiler: Fix invalid changes in config/set neon files, Thanks to @RiKap

v0.7.17 - 2020-04-23

Added

  • #3219 [Restoration] Add RemoveFinalFromEntityRector
  • #3218 Add more tag value node tests
  • #3196 [CodeQuality] Add SplitListScalarAssignToSeparateLineRector
  • #3195 [PHPUnit] Add strict param to ReplaceAssertArraySubsetRector
  • #3118 Add cache for un-changed files
  • #3193 add condition test for @Route

Changed

  • #3175 [CodeQuality] Make ChangeArrayPushToArrayAssignRector skip spread
  • #3211 [PhpDoc] Use generic approach to TagValueNode annotations quotes and explicitness
  • #3182 [Privatization] Make PrivatizeLocalOnlyMethodRector skip entities
  • #3156 Upgrade to php-parser 4.4
  • #3174 include PHPExcel_Worksheet_PageSetup
  • #3186 Updating the link to Drupal-Rector repo, Thanks to @shaal
  • #3187 Test with Drupal-Rector project to discover BC breaks early on, Thanks to @shaal
  • #3217 reorganize phpdoc reprint test
  • #3194 Spacing + quoting improvements in @Route
  • #3197 various improvements
  • #3198 use FileInfo in Parser
  • #3200 Run rector list in CI to detect potential issues, Thanks to @JanMikes
  • #3215 improve TagValueNodes

Fixed

  • #3199 [PHPUnit] Fix ExceptionAnnotationRector for null phpdoc
  • #3191 [PHP 7.3] Fix regex slash escaping
  • #3177 fix back annotation
  • #3176 Type and Choice fixes
  • #3204 various fixes

Removed

  • #3216 drop hide autoload errors

v0.7.16 - 2020-04-16

Added

  • #3172 [PHPOffice] Add IncreaseColumnIndexRector

v0.7.15 - 2020-04-16

Changed

  • #3168 [PHPOffice] Init migration to PHPSpreadSheets
  • #3171 Cleanup

v0.7.14 - 2020-04-14

Added

  • #3164 [DeadCode] Add RemoveUnusedAssignVariableRector

Fixed

  • #3161 fix comment removal

v0.7.12 - 2020-04-13

Added

  • #3155 Add extra allowed interface to EntityAliasToClassConstantReferenceRector, Thanks to @acrobat
  • #3154 provide config + add post Rectors for FileSystemRector

Fixed

  • #3153 [DeadCode] Fix RemoveUnusedDoctrineEntityMethodAndPropertyRector for id

v0.7.11 - 2020-04-08

  • #3152 fix ThisCallOnStaticMethodToStaticCallRector in prefixed rector

v0.7.10 - 2020-04-08

Changed

  • #3151 check for array at UselessIfCondBeforeForeachDetector

v0.7.9 - 2020-04-08

Fixed

  • #3149 fix sniff public
  • #3148 fix PrivatizeLocalOnlyMethodRector for event subscriber methods

v0.7.8 - 2020-04-07

Added

  • #3108 [DeadCode] Add RemoveDeadRecursiveClassMethodRector

  • #3117 [PHPUnit] Add AddProphecyTraitRector

  • #3093 [Privatization] Add PrivatizeLocalGetterToPropertyRector

  • #3100 [Privatization] Add PrivatizeLocalPropertyToPrivatePropertyRector

  • #3116 move node adding to PostRector

  • #3140 add ClassSyncerNodeTraverser

  • #3089 Add RunnableTestCase to run fixed code in a test, Thanks to @paslandau

  • #3094 Add parallel execution to ci/run_all_sets, Thanks to @paslandau

  • #3134 Add DoctrineAnnotationParserSyncer to prevent doctrine/annotation constant by-value override

  • #3114 move property adding to PostRector

  • #3141 [PHPUnit 9.1] Add assertFileNotExists() method rename

  • #3080 [CodeQuality] Add ArrayKeysAndInArrayToIssetRector

  • #3070 [DeadCode] Add empty() + count($values) > 0 checks to RemoveUnusedNonEmptyArrayBeforeForeachRector

  • #3068 [DeadCode] Add RemoveAssignOfVoidReturnFunctionRector

  • #3062 [DeadCode] Add RemoveUnusedFunctionRector

  • #3066 [DeadCode] Add RemoveUnusedNonEmptyArrayBeforeForeachRector

  • #3047 [PHPUnit] Add CreateMockToCreateStubRector

  • #3081 [TypeDeclaration] Add class method param type resolving by property

  • #3058 [PHP 7.4] Add default null type on properties

  • #3059 [PHP 7.4] Add restoration null default only

  • #3057 [PHP 7.4] Add id tag support + remove array on collection property

  • #3078 Add Safe 0.7 set

  • #3072 [PHP 8.0] Add StrContainsRector

  • #3111 [API] NodeRemovingCommander to PostRector

  • #3084 [Privatization] Privatize methods that are used only locally

  • #3120 Improve performance

  • #3097 move ci validation scripts to objectivy ProjectValidator package

  • #3139 Correct sentence in README.md, Thanks to @callmebob2016

  • #3092 Cleanup

  • #3137 Fixup has same commit message, Thanks to @JanMikes

  • #3136 Copy .git directory into docker image, Thanks to @JanMikes

  • #3103 move constant privatization to privatization set

  • #3113 move name-importing to PostRector

  • #3106 Require symfony 5.0.6 or 4.4.6, Thanks to @UFTimmy

  • #3128 Allow PHPStan generics

  • #3115 move node-replacing to PostRector

  • #3146 Make sure doctrine alias rector works in symfony controllers, Thanks to @acrobat

  • #3082 [CodeQuality] use array_key_exists instead of isset

  • #3056 [PHP 7.4] Improve TypedPropertyRector for Doctrine collection

  • #3051 improve GeneratedValueTagValueNode

  • #3063 [PHP 5.5] Prevent error on non-string value in PregReplaceEModifierRector

  • #3040 Proofread docs, Thanks to @greg0ire

  • #3039 Proofread readme, Thanks to @greg0ire

  • #3083 use just one type of printing

Fixed

  • #3050 Fix assert choice tag value node with class constant reference
  • #3049 fix union type on ReturnTypeDeclarationRector
  • #3052 fix content resolving
  • #3054 skip if not used with the array [] operator fixes #3053, Thanks to @derflocki
  • #3065 Fix multiple annotation reading of same type at class method
  • #3069 Fix Route separating key
  • #3077 Fix auto import
  • #3079 Fix annotation in requirements of @Route
  • #3064 [PHP 7.4] Fix ChangeReflectionTypeToStringToGetNameRector
  • #3132 Fix Gedmo annotation printing
  • #3130 Fix missing array key in ArrayMergeOfNonArraysToSimpleArrayRector
  • #3096 Fix @Route localized paths
  • #3129 fix missing host at @Route annotation

Removed

  • #3122 remove json rector dump formatter, not needed
  • #3071 remove ctor dependency on property/assign removal
  • #3076 [PHP 8.0] drop preg_match support from StrContains, too vague

v0.7.7 - 2020-03-20

Added

  • #3024 add DoctrineBehaviors 2.0
  • #3019 add fix for getIterator() on Finder for Array spread
  • #3034 Add checkstyle output format
  • #3021 add phpunit 9 rector to convert non-strict assertContains, Thanks to @nightlinus
  • #3023 add DoctrineBehaviors 2.0

Changed

Fixed

Removed

v0.7.4 - 2020-03-11

Added

  • #3003 Add failing tests for method annotation, Thanks to @stedekay
  • #2990 AssertTrueFalseToSpecificMethodRector: add broken test ('Pick more specific node than PhpParser\Node\Expr\StaticCall'), Thanks to @gnutix
  • #2988 add space between name and value

Changed

  • #3009 [ReadyToBeMerged][AnnotateThrowables] Support $this calling a method of the same class, Thanks to @Aerendir
  • #3012 check for used variable without comments
  • #2981 Skip passed argument
  • #2984 improve array shape double collon spacing
  • #2987 improve param array type for change type
  • #2980 skip empty method on open-source
  • #3010 Abstract files system
  • #2998 AnnotateThrowables: support analysis of called functions and methods, Thanks to @Aerendir

Fixed

  • #3008 [ReadyToBeMerged][AnnotateThrowables] Fix a small mispelling., Thanks to @Aerendir
  • #2992 fix spacing of data provider
  • #2997 Fix various static calls errors in PHPUnit Rectors., Thanks to @gnutix
  • #3004 fix method annotation
  • #2985 fix union param
  • #2982 Fix PhpDocInfoPrinter slash removal
  • #2996 fix multiline with one space

Removed

  • #3005 remove comments only in case of change to original node

v0.7.3 - 2020-03-01

Added

  • #2948 [DeadCode] Add RemoveDuplicatedIfReturnRector
  • #2950 [GetClassOnNullRector] Add failing test in trait., Thanks to @gnutix
  • #2953 AssertRegExpRectorTest: add broken test on static method call, Thanks to @gnutix
  • #2956 AssertTrueFalseInternalTypeToSpecificMethodRector: add broken test method call, Thanks to @gnutix
  • #2952 ReturnTypeDeclarationRector: add broken test on array indexes (?), Thanks to @gnutix
  • #2951 AddSeeTestAnnotationRectorTest: add broken test for simple comment., Thanks to @gnutix
  • #2943 add failing test case for #2939, Thanks to @fsok
  • #2954 RemoveDefaultArgumentValueRector: add broken test on static method call., Thanks to @gnutix
  • #2968 Class Cognitive complexity improvements + add docContent as first step to format preserving of doc nodes

Changed

  • #2974 [DX] Improve ForToForeachRector
  • #2966 make open-source parameter typo-proof
  • #2969 decopule class dependency manipulator methods
  • #2949 Improve PropertyFetchManipulator
  • #2972 Simplify PropertyFetchManipulator
  • #2962 cleanup extra space in doc print
  • #2975 Decrease class complexity <=50
  • #2947 Let amount of usages decide whether whitespaces or tabs are used, Thanks to @alexanderschnitzler

Fixed

  • #2978 [DeadCode] Fix shifted value
  • #2979 fix spacing for array shape item
  • #2959 fix return dim array fetch
  • #2960 fix naming of non-func call
  • #2963 fix get class on trait
  • #2964 fix complexity
  • #2965 fix extra space in phpdoc
  • #2977 fix array shape type
  • #2961 various fixes

Removed

v0.7.2 - 2020-02-27

Added

  • #2924 [CodeIgniter] Add 4.0 set
  • #2941 Make compiler own kernel app + add more debug info
  • #2940 add Windows print test
  • #2933 add project_type
  • #2931 add has lifecycle callbacks
  • #2925 add docs space test

Changed

  • #2926 [DeadCode] Skip abstract methods in RemoveUnusedParameterRector as 3rd contract

Fixed

Removed

  • #2937 skip open source class in remove unused param in open-source

v0.7.1 - 2020-02-23

Added

  • #2906 [CodeQuality] Add InlineIfToExplicitIfRector
  • #2898 [CodingStyle] Add CamelCaseFunctionNamingToUnderscoreRector
  • #2919 [DeadCode] Add RemoveUnusedVariableAssignRector
  • #2918 [DeadCode] Add RemoveUnusedClassConstantRector
  • #2914 [JMS] Add RemoveJmsInjectParamsAnnotationRector and RemoveJmsServiceAnnotationRector
  • #2920 [MysqlToMysqli] Add MysqlQueryMysqlErrorWithLinkRector
  • #2917 [Phalcon] Add DecoupleSaveMethodCallWithArgumentToAssignRector
  • #2907 [SOLID] Add ChangeNestedForeachIfsToEarlyContinueRector
  • #2873 [SOLID] Add ChangeReadOnlyVariableWithDefaultValueToConstantRector
  • #2901 add links to each rule to docs
  • #2902 add mergeable
  • #2862 Adding failing test for RemoveAlwaysElseRector, Thanks to @escopecz
  • #2867 Add failing test for issue #2863, Thanks to @fsok
  • #2853 [DeadCode] Add RemoveDeadTryCatchRector
  • #2856 [SOLID] Add ChangeReadOnlyPropertyWithDefaultValueToConstantRector
  • #2848 add first OXID rector, Thanks to @alfredbez

Changed

  • #2883 [OXID] replace backwards-compatability classes in oxNew, Thanks to @alfredbez
  • #2886 skip test fixtures
  • #2872 Skip unpackaged args in ArraySpreadInsteadOfArrayMergeRector
  • #2871 Make ParamTypeDeclaration test pass with parent interface
  • #2874 Update set for transforming Kdyby\Translation to Contributte\Translation, Thanks to @Ivorius
  • #2869 Keep comments
  • #2868 update CHANGELOG
  • #2875 disable coverage on pr, secret does not work
  • #2876 AnnotateThrowablesRector: Improve organization of tests., Thanks to @Aerendir
  • #2881 Callable type falling tests, Thanks to @snapshotpl
  • #2884 Callable type
  • #2922 skip used property
  • #2890 Support throw of static methods, Thanks to @Aerendir
  • #2904 Support throw from the method of an instantiated class., Thanks to @Aerendir
  • #2916 improve complexity
  • #2915 improve EregToPcreTransformer complexity
  • #2913 replace SHORT_NAME with short name interface
  • #2909 Rector CI: enable SOLID set
  • #2905 Fixup
  • #2903 prevent getName() on StaticCall or MethodCall
  • #2896 keep array function static
  • #2631 [AddArrayReturnDocTypeRector] sets a less specific type in child method (mixed[]) than is defined in parent method (SomeObject[]), Thanks to @gnutix
  • #2650 [CountOnNullRector] Should understand array/countable variable in trait method, Thanks to @gnutix
  • #2860 Make AnnotateThrowablesRector continue on unhandled node types., Thanks to @Aerendir
  • #2859 Apply properties to constants rule from SOLID
  • #2858 Cleanup AnnotateThrowablesRector
  • #2857 Improve AnnotateThrowablesRector
  • #2851 move Nette package to rules

Fixed

  • #2865 fix callable print [closes #2841]
  • #2866 Skip CountOnNullRector on trait + fix return type mixed override
  • #2885 Fix already constant
  • #2900 Fix incorrect regexes to preserve doc tags spacing
  • #2899 fix duplicate switch without break
  • #2880 Fix PHP notice in ternary to spaceship rector, Thanks to @fsok
  • #2870 fix remove alwasy else for anonymous function jump
  • #2921 Fix FinalizeClassesWithoutChildrenRector for embedable
  • #2893 fix tab indent
  • #2897 fix nested array dim fetch resolving type

v0.7.0 - 2020-02-14

Added

  • #2795 [CakePHPToSymfony] Add CakePHPBeforeFilterToRequestEventSubscriberRector
  • #2850 [PHPStan] Add KeepRectorNamespaceForRectorRule
  • #2784 [PHPUnit] feature: add rule to refactor exception methods, Thanks to @alfredbez
  • #2849 [Renaming] Add RenameFuncCallToStaticCallRector
  • #2811 Add support for phpunit 9, Thanks to @snapshotpl
  • #2843 add more checks to 'composer complete-check', Thanks to @alfredbez
  • #2802 added --config parameter to README, Thanks to @C0pyR1ght

Changed

  • #2781 [PhpDoc] move get param types to php doc info
  • #2830 Decouple Static Type Mapper
  • #2838 move Rector-rule based packages from /packages to /rules
  • #2756 github-action: Annotate Github Pull Requests based on a Checkstyle X…, Thanks to @staabm
  • #2829 decouple PropertyFetchTypeResolver
  • #2847 move core architecture to own set
  • #2775 Merge pull request #2775 from rectorphp/php-doc-object-attribute
  • #2845 improve original format in CallableTypeNode
  • #2783 Merge pull request #2783 from rectorphp/cleanup-parsed-nodes
  • #2844 Update to PHPStan 0.12.10 stable
  • #2786 Merge pull request #2786 from rectorphp/php-doc-only
  • #2792 decouple ImplicitToExplicitRoutingAnnotationDecorator
  • #2794 Merge pull request #2794 from rectorphp/cakephp-before-request
  • #2840 Inject the coveralls token as a secret, Thanks to @ikvasnica
  • #2797 use PhpDocInfo by default
  • #2799 DocBlockManipulator decoupling
  • #2801 Decouple DocBlockClassRenamer
  • #2790 Merge pull request #2790 from rectorphp/cakephp-routes-to-explicit
  • #2807 Move src namespace frm Rector\ to Rector\Core\
  • #2817 decouple ParentConstantReflectionResolver
  • #2825 decouple VendorLock package
  • #2821 rector for doctrine setParameters method, Thanks to @vladyslavstartsev
  • #2818 decouple function node finder and collector from ParsedNodesByType
  • #2823 NodeNameResolver decoupled to own package
  • #2742 Decouple PHPStan Type to function resolver logic, Thanks to @Lctrs
  • #2810 rename package to use lowercased standard, prevent confusion with PSR-4
  • #2791 [cs] apply property and method order

Deprecated

  • #2780 remove deprecated removeBy*() in DocBlockManipulator

Fixed

  • #2819 Cognitive complexity fixes
  • #2813 Fix encapsed
  • #2846 Fix dev in build
  • #2808 Fix replacement for Table::buildRules(), Thanks to @markstory
  • #2800 Update to PHPStan 0.12.9 and fix scoping deps
  • #2812 [PHP 74] Fix ArraySpreadInsteadOfArrayMergeRector for non-constant string keys
  • #2816 PHPStan fixes, Thanks to @ondrejmirtes
  • #2814 Fix protected parent constant override

Removed

  • #2831 remove parameter in imports
  • #2827 remove unused method
  • #2798 Remove nullable PhpDoc
  • #2826 remove duplicated method
  • #2787 Merge pull request #2787 from rectorphp/remove-setter-only
  • #2789 Merge pull request #2789 from rectorphp/remove-many-args

v0.6.14 - 2020-01-29

Added

  • #2758 [CI] add SonarCube
  • #2726 [CakePHPToSymfony] Add CakePHPModelToDoctrineEntityRector
  • #2744 [CakePHPToSymfony] Add CakePHPModelToDoctrineRepositoryRector
  • #2731 [CakePHPToSymfony] Add model migration for ManyToOne, OneToOne, ManyToMany
  • #2745 [CakePHPToSymfony] Add threaded and count to CakePHPModelToDoctrineRepositoryRector
  • #2747 [CakePHPToSymfony] Add list to CakePHPModelToDoctrineRepositoryRector
  • #2735 [DX] add rd() function mapping to tracy
  • #2711 Add SetcookieRector, Thanks to @zonuexe
  • #2757 Added phpunit problem matcher, Thanks to @staabm
  • #2759 add travis retry
  • #2761 Added opcache to docker image, Thanks to @JanMikes

Changed

  • #2722 Merge pull request #2722 from rectorphp/readme-demo
  • #2736 Merge pull request #2736 from rectorphp/generator-core
  • #2728 Merge pull request #2728 from C0pyR1ght/patch-4, Thanks to @C0pyR1ght
  • #2737 Docker build secured image for online demo, Thanks to @JanMikes
  • #2762 Warmup opcache in docker, Thanks to @JanMikes
  • #2739 split workflows, badge is above repository
  • #2769 Merge pull request #2769 from rectorphp/node-type-resolver
  • #2773 decouple PhpParserNodeMapper
  • #2772 misc
  • #2770 Cleanup
  • #2771 Decouple ArrayTypeAnalyzer, CountableTypeAnalyzer and StringTypeAnalyzer
  • #2768 Merge pull request #2768 from rectorphp/node-type-resolver
  • #2767 Merge pull request #2767 from rectorphp/sonarcube
  • #2750 move non-Rectors out of Rector namespace
  • #2752 Merge pull request #2752 from rectorphp/find-collector

Fixed

  • #2723 Fix AssertChoide with choices
  • #2741 Merge pull request #2741 from rectorphp/fix-inter

v0.6.13 - 2020-01-20

Added

  • #2720 add .travis.yml with tag release

v0.6.12 - 2020-01-20

  • #2704 [CI] Add check for duplicated fixture after before content
  • #2709 [CakePHPToSymfony] Add CakePHPControllerRenderToSymfonyRector
  • #2718 [CakePHPToSymfony] Add h function templates
  • #2714 Added composer rector-ci to workflow, Thanks to @jeroensmit

Changed

  • #2630 [AddArrayReturnDocTypeRector] Allow mixed[] and iterable in place of Rector's setting wrong infered types, Thanks to @gnutix
  • #2710 Merge pull request #2710 from jeroensmit/splitIfs, Thanks to @jeroensmit
  • #2712 Merge pull request #2712 from jeroensmit/RemoveUnusedAliasBug, Thanks to @jeroensmit
  • #2713 Merge pull request #2713 from jeroensmit/CombineIfPreserveDoc, Thanks to @jeroensmit
  • #2703 Merge pull request #2703 from rectorphp/dx-readme
  • #2702 Merge pull request #2702 from rectorphp/dx-get-node-types
  • #2700 Merge pull request #2700 from Aerendir/failing-test-case-for-2699, Thanks to @Aerendir
  • #2698 Merge pull request #2698 from rectorphp/cakephp-controller-render
  • #2694 Merge pull request #2694 from Aerendir/failing-test-case-for-2693, Thanks to @Aerendir
  • #2691 updated UnwrapFutureCompatibleIfRectorTest, Thanks to @C0pyR1ght
  • #2715 Merge pull request #2715 from rectorphp/coverage
  • #2719 Use on published release to trigger a new release on rector-prefixed, Thanks to @Lctrs

Fixed

  • #2707 Merge pull request #2707 from rectorphp/fix-throws-void
  • #2706 Fix UnwrapFutureCompatibleIfFunctionExistsRector for no else [closes #2691]
  • #2708 Merge pull request #2708 from rectorphp/fix-type-order

Added

  • #2683 [PHPUnit] Add ClassMethod/RemoveEmptyTestMethodRector
  • #2692 Add PHP Linter
  • #2676 Add CheckStaticTypeMappersCommand to CI
  • #2655 Rename --rule argument into --only, add documentation., Thanks to @gnutix
  • #2663 Add support for stringy calls in CallReflectionResolver, Thanks to @Lctrs
  • #2674 Added CombineIfRector, Thanks to @jeroensmit
  • #2670 Add support for invokable and array callables in CallReflectionResolver, Thanks to @Lctrs
  • #2685 Add --output-file

Changed

  • #2690 [PHPUnit] Improve GetMockRector
  • #2662 Good bye CallManipulator, Thanks to @Lctrs
  • #2654 Merge pull request #2654 from rectorphp/polyfill-php
  • #2687 Changed ChangeMethodVisibilityRector yaml config, Thanks to @C0pyR1ght
  • #2657 Migrate from PHPStan's Broker to ReflectionProvider, Thanks to @Lctrs
  • #2658 Introduce a CallReflectionResolver, Thanks to @Lctrs
  • #2659 Update rector-prefixed only on push to master, Thanks to @Lctrs
  • #2660 Decouple PHPStanStaticTypeMapper
  • #2681 Merge pull request #2681 from rectorphp/phpunit4
  • #2682 Merge pull request #2682 from rectorphp/get-mock
  • #2664 Merge pull request #2664 from rectorphp/static-type-mapper-collector
  • #2666 Merge pull request #2666 from rectorphp/type-mapper-col-2
  • #2671 Merge pull request #2671 from rectorphp/type-mapper-col-3
  • #2672 Merge pull request #2672 from jeroensmit/RemoveDelegatingParentCallDefault, Thanks to @jeroensmit
  • #2673 Merge pull request #2673 from staabm/patch-3, Thanks to @staabm

Fixed

v0.6.10 - 2020-01-12

Added

  • #2640 [AddDoesNotPerformAssertionToNonAssertingTestRector] Add failing test for Prophecy assertions., Thanks to @gnutix
  • #2638 [CodingStyle] Prevent adding non-namespaced imports to non-namespaced class
  • #2546 [Php70] add a rector to pass only variables as arguments by reference, Thanks to @Lctrs
  • #2648 [Doctrine 2.0] Add class rename set
  • #2644 [CakePHP 3.0] add class renames
  • #2643 [CakePHP 3.0] Add AppUsesStaticCallToUseStatementRector
  • #2613 Add support for PHPStan 0.12+ @template annotation., Thanks to @gnutix
  • #2649 Add PHPStanAttributeTypeSyncer
  • #2622 added link, Thanks to @C0pyR1ght
  • #2623 added get started to readme, Thanks to @C0pyR1ght
  • #2624 Add Gmagick to Imagick set
  • #2629 Add a --no-progress-bar option (inspired from ECS) for nicer CI output., Thanks to @gnutix

Changed

  • #2587 [ForeachItemsAssignToEmptyArrayToAssignRector] apply on code it should not, Thanks to @gnutix
  • #2610 Improve Rector success message., Thanks to @gnutix
  • #2618 More reliable way getting first stmt item, Thanks to @Jaapze
  • #2645 Extend AddDoesNotPerformAssertionToNonAssertingTestRector by catching more test messages
  • #2641 use Github Actions to compiler and publish prefixed rector.phar
  • #2635 Test with Doctrine
  • #2625 REAME changed URL to relative path, Thanks to @C0pyR1ght

Fixed

  • #2636 [AddDoesNotPerformAssertionToNonAssertingTestRector] fix skipping if annotation already exists (fixes infinite loop too), Thanks to @gnutix
  • #2619 [CI] Fix GitHub actions phar build
  • #2637 [CountOnNullRector] fix Rector applying on properties with phpdocs array, Thanks to @gnutix
  • #2617 Fix PHPStan @return class-string, Thanks to @gnutix
  • #2639 fix pattern miss matching
  • #2646 Fix Union Array type StaticTypeMapper to string

Removed

  • #2633 drop redundant interface and factory, remove symfony/var-dumper from rector.phar
  • #2609 Remove stubs/ from rector.phar, Thanks to @gnutix

v0.6.9 - 2020-01-08

Fixed

  • #2608 Fix non-direct parent foreach in ForeachItemsAssignToEmptyArrayToAssignRector

v0.6.8 - 2020-01-08

Added

  • #2601 [DoctrineGemoToKnplabs] Add LoggableBehaviorRector
  • #2599 [DoctrineGemoToKnplabs] Add BlameableBehaviorRector

Changed

  • #2605 more reliable way getting last stmt, Thanks to @Jaapze
  • #2603 Transition more jobs to GithubAction, Thanks to @staabm

Fixed

  • #2607 [CodeQuality] Fix nested foreach case in ForeachItemsAssignToEmptyArrayToAssignRector
  • #2600 [Symfony] fix process error of controller with Internationalized routing, Thanks to @ghostika

v0.6.7 - 2020-01-07

Added

  • #2565 [DeadCode] Add RemoveUnusedClassesRector
  • #2593 [DoctrineGedmoToKnpLabs] Add SoftDeletableBehaviorRector
  • #2569 [Polyfill] Add UnwrapFutureCompatibleIfFunctionExistsRector
  • #2570 [SOLID] Add ChangeNestedIfsToEarlyReturnRector & ChangeIfElseValueAssignToEarlyReturnRector
  • #2568 [Symfony 5] Add param types

Changed

  • #2581 Try pcov for code coverage, Thanks to @staabm
  • #2572 Don't return void when function contains empty return statement, Thanks to @snapshotpl
  • #2575 PHPStan 0.12.4 compatibility updates, Thanks to @ondrejmirtes
  • #2576 travis: try phpdbg
  • #2598 Skip ReturnTypeDeclarationRector when the type is already defined as \Traversable, Thanks to @gnutix
  • #2582 avoid direct container in the code
  • #2584 Update compiler with PHPStan 0.12.4 workflow change
  • #2589 Transition some travis checks to GithubActions, Thanks to @staabm
  • #2592 Transition fatal-error scan to GithubAction, Thanks to @staabm
  • #2583 Revert "Try pcov for code coverage"

Fixed

  • #2586 fix box autoload Neon class in scoper.php.inc by --no-parallel
  • #2588 Fix PHPStan 0.12+ @implements and @extends class annotations., Thanks to @gnutix
  • #2595 Fix running AddArrayReturnDocTypeRector on empty arrays, Thanks to @gnutix
  • #2566 fix ChangeArrayPushToArrayAssignRector for multiple items

Removed

  • #2591 Remove travis-CI jobs which were moved to GithubAction, Thanks to @staabm
  • #2567 make nested chain call remove configurable

v0.6.6 - 2020-01-04

Added

  • #2557 [CodeQuality] Add ChangeArrayPushToArrayAssignRector
  • #2559 [CodeQuality] Add ForRepeatedCountToOwnVariableRector
  • #2561 [CodingQuality] Add ForeachItemsAssignToEmptyArrayToAssignRector
  • #2558 [MinimalScope] Add ChangeLocalPropertyToVariableRector
  • #2538 [Php71] Add failing test case for CountOnNullRector, Thanks to @gnutix
  • #2548 add IterableType to StaticTypeMapper::mapPHPStanTypeToPHPStanPhpDocType()

Changed

  • #2541 [Restoration] Preconfigure CompleteImportForPartialAnnotationRector
  • #2562 Prevent variable name override
  • #2553 Improve 3rd party property type resolution
  • #2550 allow loading bleedingEdge.neon config inside PHPStan phar
  • #2563 prevent variable scope changing

Fixed

  • #2547 fix function callback in assert callback

v0.6.5 - 2020-01-03

Added

  • #2524 [CodeQuality] Add AbsolutizeRequireAndIncludePathRector
  • #2510 [CodeQuality] Add IntvalToTypeCastRector
  • #2523 [CodeQuality] Add ArrayKeyExistsTernaryThenValueToCoalescingRector
  • #2528 [SOLID] Add RemoveAlwaysElseRector
  • #2536 [TypeDeclaration] Add support for PhpStan's class-string type in PropertyTypeDeclarationRector, Thanks to @gnutix
  • #2505 add hasByType() method to PhpDocInfo
  • #2514 [Doctrine/dbal] Add 2.10 and 3.0 sets
  • #2517 add resource type to StaticTypeMapper
  • #2519 README: add docs for #2087
  • #2503 [Gedmo to Knp] Add Translatable Behavior Rector
  • #2526 add ctor only test-case
  • #2529 Added phpdoc, Thanks to @staabm
  • #2532 [PHP 7.4] Add @var removal to TypedPropertyRector

Changed

  • #2530 [CodingStyle] Skip re-escaping chars by SymplifyQuoteEscapeRector
  • #2527 [DeadCode] RemoveUnusedElseForReturnedValueRector
  • #2534 improve generic type conversion
  • #2531 Apply Rector on itself
  • #2512 Update Travis
  • #2509 Do not suggest typed property when defined in vendored parent, Thanks to @ruudk

Fixed

  • #2533 [CodeQuality] Fix identical boolcast
  • #2520 [CodingStyle] Fix IdenticalFalseToBooleanNotRector for null|bool
  • #2518 [TypeDeclaration] Fix static property type resolution
  • #2511 Fix single-line comment and constant scalar type match
  • #2508 Fix param type union
  • #2507 Fix AddArrayReturnDocTypeRector for existing comment

v0.6.4 - 2019-12-27

Added

  • #2497 [DeadCode] Add TernaryToBooleanOrFalseToBooleanAndRector
  • #2496 [Nette] Add magic template code quality
  • #2500 [PHP] add PHP version feature checks, Thanks to @fsok
  • #2484 [Gedmo to Knp] Add TreeBehaviorRector
  • #2476 Add ScanFatalErrors command
  • #2479 prevent re-adding id at AddEntityIdByConditionRector

Changed

  • #2482 [DoctrineGedmoToKnplabs] init set
  • #2502 Apply HelperFunctionToConstructorInjectionRector only in non-static class method scope
  • #2475 [RemoveEmptyClassMethodRector + RemoveDeadConstructorRector] Should not apply on protected/private constructors, Thanks to @gnutix
  • #2478 Link a few more recent articles, Thanks to @staabm
  • #2480 merge ParentTypehintedArgumentRector to AddParamTypeDeclarationRector
  • #2481 init MoveValueObjectsToValueObjectDirectoryRector
  • #2487 Skip non-variable non-scalars in BinaryOpBetweenNumberAndStringRector

Fixed

  • #2485 Fix grouped use statement import
  • #2486 Fix alias object conflict with existing type
  • #2483 Fix typos, Thanks to @staabm
  • #2501 Fix return override in case of parent vendor lock
  • #2489 Fix name resolution in ArrayKeyFirstLastRector
  • #2491 Fix codesample in TypedPropertyRector, Thanks to @ruudk
  • #2493 fix PREG_SPLIT_DELIM_CAPTURE for split Nette Utils
  • #2499 Fix function override under namespace
  • #2492 [docs] Fix codesample in TypedPropertyRector, Thanks to @ruudk

v0.6.3 - 2019-12-23

Added

  • #2457 [Class_] Add AddInterfaceByTraitRector
  • #2463 [Doctrine] Add AddEntityIdByConditionRector
  • #2465 [PHP Deglobalize] Add ChangeGlobalVariablesToPropertiesRector
  • #2461 Added int to StaticTypeMapper, Thanks to @lulco
  • #2458 prevent duplicated added interface
  • #2472 add symfony5 set

Changed

  • #2464 [Nette] Control to Symfony Form + Controller
  • #2470 merge Rector arguments on import
  • #2459 disable imports by default

Fixed

  • #2466 [Symfony] fix dot in GetParameterToConstructorInjectionRector
  • #2467 fix rename method call

v0.6.2 - 2019-12-18

Added

  • #2439 [PHPUnit] Add get_class double sided to AssertCompareToSpecificMethodRector
  • #2447 [TypeDeclaration] Add AddParamTypeDeclarationRector
  • #2450 add intersection type support to StaticTypeMapper
  • #2448 [PHP 7.0] Add StaticCallOnNonStaticToInstanceCallRector edge case of property fetch static call
  • #2437 [Phalcon 4.0] Add FlashWithCssClassesToExtraCallRector

Changed

Fixed

v0.6.1 - 2019-12-10

Rector is now shipped as prefixed phar - download from rector-prefixed

Added

  • #2410 Added default to prevent rector from breaking, Thanks to @jeroensmit
  • #2409 [Phalcon 4] Add SwapClassMethodArgumentsRector rule
  • #2407 Added missing methods, Thanks to @ruudboon
  • #2406 Added check for correct delimiter to use in preg_quote, Thanks to @jeroensmit
  • #2369 Add typo auto import + Swiftmailer 60 set
  • #2397 Add rector rule for EntityInterface::isNew(), Thanks to @markstory
  • #2373 Another attempt to add Compiler + upgrade to PHPStan 0.12
  • #2374 Add another deprecation to the cakephp40 set., Thanks to @markstory
  • #2392 Fix CompleteDynamicPropertiesRector to add parent property

Changed

  • #2394 [TypeDeclaration] Object without class
  • #2414 StaticTypeMapper - missing boolean type, Thanks to @sojki
  • #2386 chore: use php 7.4 cli, Thanks to @danielroe
  • #2359 Prevent crashing on dead symlinks, Thanks to @jeroensmit
  • #2378 [Phalcon 4.0] init
  • #2389 composer: lock phpstan to 0.11.19 due to breaking changes [closes #2385]
  • #2390 Make sure name is passed to getName(), instead of expr
  • #2396 prevent union sub-type nullable override
  • #2395 prevent union sub-type nullable override
  • #2400 return false on MethodCall name to prevent expr errors
  • #2391 Exludes stubs on package install to prevent PHPStorm confussion

Fixed

  • #2372 [Symfony] Fix ConsoleExecuteReturnInt for nested functions
  • #2393 [TypeDeclaration] Fix returned yield nodes in nested function [closes #2381]
  • #2371 Update FilesFinder.php to fix builds..., Thanks to @mallardduck
  • #2411 Fix undefined offset in UseInterfaceOverImplementationInConstructorRector, Thanks to @jeroensmit
  • #2368 Fix: RandomFunctionRector typo fix + regenerated docs, Thanks to @radimvaculik
  • #2404 Fix - iterable type introduced in PHP 7.1, Thanks to @sojki
  • #2358 fix var type on method call

v0.6.0 - 2019-11-26

Added

Changed

  • #2350 [NetteToSymfony] Extend migration set
  • #2351 Open "create" command to the public
  • #2346 [PHP] ContinueToBreakInSwitchRector skip continue with argument >1, Thanks to @fsok
  • #2344 Bump to Symfony 4.4/5 and PHP 7.2+
  • #2343 allow Symfony 5, bump min to Symfony 4.4

Fixed

  • #2353 Fixed error on classConstFetch outside class, Thanks to @jeroensmit
  • #2352 Fix description, Thanks to @staabm
  • #2349 [Php 70] Fix this call on static for PHPUnit non-assert

v0.5.23 - 2019-11-20

Added

  • #2332 [PHPUnit][Symfony] Add jakzal-injetor Rector
  • #2338 [ID to UUID] Add middle step to initalize default uuid value
  • #2337 Add more refactorings for CakePHP 4, Thanks to @markstory
  • #2331 [PHP 8.0] Add union types
  • #2329 [PHP Deglobalize] Add ChangeGlobalVariablesToPropertiesRector

Fixed

Added

  • #2302 [DX] add "paths" parameter
  • #2264 [DynamicTypeAnalysis] Add Dynamic type infering
  • #2278 travis: change ENV matrix to jobs + add Windows OS
  • #2310 Added docs check, Thanks to @jeroensmit
  • #2326 [PHPUnit 8.0] Add ReplaceAssertArraySubsetWithDmsPolyfillRector
  • #2273 Add a working and a failing test case for #2187, Thanks to @gnutix
  • #2321 [Nette 3.0] Add Nette 2.x to Nette 3 upgrade set

Changed

  • #2297 Bump to PHP Parser 4.3
  • #2306 improve stmt count check
  • #2257 Update return types when set to array, Thanks to @stedekay
  • #2325 [DX] report missing rules in exclude_rectors parameter
  • #2311 [DeadCode] Class constant with trait, Thanks to @jeroensmit
  • #2291 [PHP70] Skip PHPUnit assert in ThisCallOnStaticMethodToStaticCallRector
  • #2328 simplify ImportSkipper skip for ClassLike name
  • #2277 Update rule with proper syntax of ReturnArrayClassMethodToYieldRector, Thanks to @gnutix
  • #2315 bugfix(Symfony33); correct the replacement of a namespace, Thanks to @nissim94
  • #2292 check variable name
  • #2300 Give testset a name, Thanks to @jeroensmit
  • #2309 Merged RemoveDeadZeroAndOneOperationRector and RemoveZeroAndOneBinarRector, Thanks to @jeroensmit

Fixed

  • #2282 [CodeQuality] Fix return type copy
  • #2284 [CodingStyle] Fix extra new-line for EncapsedString
  • #2324 [PHPUnit] Fix array subset for non-scalar values
  • #2288 fix double import of function names
  • #2289 fix name resolving on variable
  • #2269 fix false static type of Symfony\SplFileInfo getRealPath()
  • #2293 RemoveSetterOnlyPropertyAndMethodRector and UnusedPrivatePropertyRector fixes, Thanks to @jeroensmit
  • #2294 Importing fix
  • #2299 Fixed removing constructor when parameter defaults are different, Thanks to @jeroensmit
  • #2323 Fixed sed command, Thanks to @jeroensmit
  • #2318 Fixed issue with sed command:, Thanks to @jeroensmit
  • #2275 fix no-regular naming
  • #2308 Fix removing 0 when on left side of Minus, Thanks to @jeroensmit
  • #2327 Fix parent interface, extends, implements same name as short name
  • #2317 code fixes
  • #2281 Fix ECS for windows, Thanks to @orklah

v0.5.21 - 2019-11-05

Added

  • #2254 [CI] Add nette-utils-code-quality set
  • #2255 [CI] Add coding-style set
  • #2246 [CodeQuality] Add property assigns to RemoveAlwaysTrueConditionSetInConstructorRector
  • #2240 add template nested
  • #2223 Add AbstractController as base class if no one exists, Thanks to @stedekay

Changed

  • #2234 Decouple PropertyFetchManipulator methods for array dim fetch
  • #2248 decouple phpunit 50 set
  • #2237 keep comment on type change
  • #2207 Previous statement rewrite, Thanks to @jeroensmit
  • #2231 make screen generate file by default
  • #2258 run all sets
  • #2238 infer php version from composer.json
  • #2252 Import default
  • #2253 Speedup
  • #2239 Better anonymous class handling, Thanks to @jeroensmit
  • #2259 [tests] use generic method over explicit fixture yield

Fixed

  • #2249 [CodeQuality] Fix else in SimplifyForeachToArrayFilterRector
  • #2236 [TypeDeclaration] Fix CompleteVarDocTypePropertyRector for mixed[] override
  • #2261 Fix provider
  • #2235 Fix importing parent that is identical in short to class name
  • #2251 fix standalone run to symfony demo
  • #2250 Fixed edge cases of RemoveDeadStmtRector, Thanks to @jeroensmit
  • #2247 Fixed removal of non expressions, Thanks to @jeroensmit
  • #2262 Fixes
  • #2263 Fix StaticTypeMapper for nullables
  • #2214 travis dogfood replay, Thanks to @ktomk
  • #2203 optimize ConsoleExecuteReturnIntRector
  • #2211 Ignore not required files in docker build, Thanks to @JanMikes
  • #2222 Enable code quality set
  • #2196 Update grammar in the README for clarity, Thanks to @sbine
  • #2220 [cs] re-order private methods by call order

Removed

  • #2233 Also remove assignment if the value of the assignment is different, Thanks to @jeroensmit

v0.5.20 - 2019-10-31

Added

  • #2224 add dead-code set to CI
  • #2197 Add test to ConsoleExecuteReturnIntRector for a not command class, Thanks to @franmomu
  • #2221 Add Rector-CI and handy "sets" parameter
  • #2206 [PHPUnit 7.5] Add WithConsecutiveArgToArrayRector

Fixed

  • #2202 Fix ConsoleExecuteReturnIntRector if target class not directly extends Command, Thanks to @keulinho
  • #2198 Fixed TYPO3 community package link, Thanks to @JanMikes
  • #2218 Fix empty -c/--config value
  • #2217 FIX AddDoesNotPerformAssertionToNonAssertingTest, Thanks to @DaveLiddament
  • #2200 Fix ConsoleExecuteReturnIntRector for non console commands, Thanks to @keulinho

v0.5.19 - 2019-10-24

Added

  • #2195 [Laravel] Add Laravel 6 instant upgrade set
  • #2192 Add test case for route annotation with optional parameters, Thanks to @stedekay
  • #2182 [PHP 74] Add ChangeReflectionTypeToStringToGetNameRector

Fixed

  • #2193 fix union too many types
  • #2190 Various Return types fixes
  • #2194 fix for Template and Route annotation
  • #2191 prevent mixed of specific override

v0.5.18 - 2019-10-22

Added

  • #2177 [CodeQuality] Add ArrayMergeOfNonArraysToSimpleArrayRector
  • #2176 [CodeQuality] Add AddPregQuoteDelimiterRector
  • #2184 [FEATURE] Possibility to add custom phpstan.neon configuration, Thanks to @sabbelasichon
  • #2172 Add rules for ConsoleIo::styles(), Thanks to @markstory
  • #2175 Added rector sets composition hint, Thanks to @SilverFire
  • #2181 add test case for #2158
  • #2188 add Standalone Runner

Fixed

  • #2180 fix ArgumentAdderRector for anonymous class [closes #2157]
  • #2183 fix RemoveUnusedAliasRector for doc vs class concurency
  • #2174 Fix for Issue2173, Thanks to @dpesch
  • #2169 Fixes
  • #2168 Prevent CI floods with progress bar

v0.5.17 - 2019-10-15

Added

  • #2087 Added way to exclude rectors, Thanks to @jeroensmit
  • #2156 [PHPUnit] [Doc] Add FixDataProviderAnnotationTypoRector
  • #2155 [PHPUnit] [Doc] Add EnsureDataProviderInDocBlockRector
  • #2144 [PHPUnit] Add RemoveDataProviderTestPrefixRector
  • #2132 [Symfony] Add ConsoleExecuteReturnIntRector, Thanks to @keulinho
  • #2166 add paypal backers
  • #2150 phpstan - add getContainer() after boot()
  • #2141 add inter support
  • #2142 [PHPUnit 6] Add AddDoesNotPerformAssertionToNonAssertingTestRector
  • #2087 Added way to exclude rectors, Thanks to @jeroensmit

Fixed

  • #2146 fix ValueResolver static array for non static keys
  • #2152 fix get property by class
  • #2114 Fix for issue #2090, Thanks to @jeroensmit
  • #2140 fix 3rd party testing without config
  • #2147 fix string-named func
  • #2164 [code-quality] fixes processing of trait - RemoveAlwaysTrueConditionSetInConstructorRector #2162, Thanks to @lapetr
  • #2165 Bugfix for RemoveUnreachableStatementRector, Thanks to @jeroensmit

Changed

  • #2145 [DeadCode] Make RemoveDefaultArgumentValueRector skip native functions
  • #2148 [TypeDeclaration] Prevent array-iterable-Iterator override in ReturnTypeDeclarationRector
  • #2159 Screen file command improvements
  • #2149 prevent doc type of child array override
  • #2151 make ReturnTypeDeclarationRector keep implementation

v0.5.16 - 2019-10-10

  • #2139 Add screen-file command for learning & trainings

v0.5.15 - 2019-10-10

Fixed

  • #2135 Fix EncapsedStringsToSprintfRector for non-var exprs
  • #2130 fix stub loading location
  • #2128 Fix EncapsedStringsToSprintfRector when using class properties, Thanks to @gnutix

v0.5.14 - 2019-10-09

Added

  • #2123 [SOLID] Prefer interface if possible
  • #2115 [DeadCode] Add SimplifyIfElseWithSameContentRector
  • #2080 [DeadCode] Add RemoveUnreachableStatementRector
  • #2103 [StrictCodeQuality] Add VarInlineAnnotationToAssertRector
  • #2122 [StrictCodeQuality] Add freshly created node support to var inline assert
  • #2047 Add conditional method renaming rector, Thanks to @markstory
  • #2094 Add ShortenElseIfRector, Thanks to @keulinho
  • #2095 Add fixture for phpunit x>y to greaterThan refactoring, Thanks to @keulinho
  • #2096 ImportFullyQualifiedNamesRector : add a failing test about modified annotations that shouldn't be, Thanks to @gnutix
  • #2084 Add failing test case for ReturnArrayClassMethodToYieldRector (removing comments), Thanks to @gnutix
  • #2099 Add documentation for ImportFullyQualifiedNamesRector new argument, Thanks to @gnutix
  • #2100 Add FunctionCallToConstantRector, Thanks to @keulinho
  • #2081 Add failing test: StringifyStrNeedlesRector adds (string) to a method call that returns a string anyway, Thanks to @gnutix
  • #2077 Add an option to skip importing root namespace classes (like \DateTime), Thanks to @gnutix
  • #2091 Add UseIncrementAssignRector, Thanks to @keulinho
  • #2074 Add a PHPUnit TestCase stub., Thanks to @gnutix
  • #2073 StringToArrayArgumentProcessRectorTest : add failing test around Traversable, Thanks to @gnutix
  • #2062 Add stubs instead of dump class replace in constructor
  • #2052 Add post run name imports
  • #2049 Added StrictArraySearchRector - Issue #2009, Thanks to @jeroenherczeg
  • #2124 add CommanderCollector
  • #2054 [DoctrineCodeQuality] Initialize collections in constructor

Changed

  • #2065 [CodingStyle] Allow private ctor override for static factory
  • #2067 Use contextual method rename rector in cake4 rules., Thanks to @markstory
  • #2125 improve uuid steps
  • #2107 restart changed doc
  • #2097 Improve class annotation matching
  • #2109 skip var type in anonymous class for PropertyTypeDeclarationRector
  • #2083 Do not apply SimplifyIfReturnBoolRector when there are comments in between the if statements, Thanks to @gnutix
  • #2072 [CodingStyle] Skip common annotation aliases in RemoveUnusedAliasRector

Fixed

  • #2121 Allow @Template to get nullable values
  • #2076 [Symfony] Fix is submitted
  • #2093 fix stringy str needless for return strings
  • #2112 fix joinColumns always fallback
  • #2070 Fixed the third argument in VarDumperTestTrait, Thanks to @adrozdek
  • #2075 Fix ReflectionException (Method PHPUnit\Framework\TestCase::tearDown(...) does not exist) thrown while autoloading class Symfony\Bundle\FrameworkBundle\Test\WebTestCase., Thanks to @gnutix
  • #2088 Fix changing the wrong property fetches, Thanks to @jeroensmit
  • #2078 Fix type resolution for traversable
  • #2079 fix @TODO malfforms
  • #2102 Fix countable for countable classes without countable
  • #2101 Fix virtual property
  • #2082 Fixing return new static() not being covered by MakeInheritedMethodVisibilitySameAsParentRector, Thanks to @gnutix
  • #2060 [PHP 7.1] Skip extra argument removal for parent static call

v0.5.13 - 2019-09-27

Added

  • #1980 [ZendToSymfony] Init Zend 1 to Symfony 4
  • #1982 [Autodiscovery] init
  • #2044 [CodeQuality] Add RemoveSoleValueSprintfRector
  • #2032 [CodingStyle] Add MakeInheritedMethodVisibilitySameAsParentRector
  • #2033 [CodingStyle] Add CallUserFuncCallToVariadicRector
  • #1978 [DX] add check class existence scripts
  • #1924 [DeadCode] Add RemoveAlwaysTrueIfConditionRector
  • #2012 [Doctrine] Add ChangeReturnTypeOfClassMethodWithGetIdRector
  • #1928 [Doctrine] Add stubs instead of full orm dependencies
  • #2003 [Doctrine] add CustomIdGenerator + step 2 for uuid Doctrine migration
  • #1994 [Doctrine] Add AlwaysInitializeUuidInEntityRector
  • #2031 [Monolog] Add 2.0 upgrade set
  • #1984 [PHPStan] add PreventParentMethodVisibilityOverrideRule
  • #1947 [PHPUnit] Add @see annotation to reference test
  • #1948 [PHPUnit] Add array call to data provider
  • #2035 [Php53] Add DirNameFileConstantToDirConstantRector [close #2006]
  • #2037 [Php71] Add ListToArrayDestructRector
  • #2040 [Rector] Add RemoveZeroBreakContinueRector
  • #2034 [Restoration] Add MissingClassConstantReferenceToStringRector
  • #2020 [Symfony] Add MergeMethodAnnotationToRouteAnnotationRector
  • #2019 [TypeDeclaration] Add AddMethodCallBasedParamTypeRector
  • #2000 add isInDoctrineEntityClass() method
  • #2001 add changeName/getName to serializer
  • #1968 add skip of one to one relations with mapped by
  • #1998 make DocBlockManipulator protected in AbstractRector + add GeneratedValue annotatoin parsing
  • #1955 Added stub directory to Docker composer build phase, Thanks to @JanMikes
  • #2015 Add rules for renaming CakePHP's Router methods, Thanks to @ADmad
  • #2048 Add support for various annotation formats
  • #1927 Add Sensio TemplateTagValueNode
  • #1933 add removeNodeFromStatements() method to remove statement without key easily
  • #2039 add function aliases to celebrity
  • #1921 Add uuid only to entities with id
  • #1939 Add ReturnedNodesReturnTypeInferer + big *TypeDeclarationRector refactoring

Changed

  • #2036 [Php72] improve UnsetCastRector
  • #2017 [Renaming] init new package
  • #2030 [Renaming] fqnize freshly namespaced class
  • #1943 Improve covariance in ReturnTypeDeclarationRector
  • #1992 improve join table patterns
  • #1952 improve test case provided rector class debug info
  • #1937 uuid rules are now designed to be used at once
  • #1925 rename level to set to prevent confusion of duplicate
  • #2046 Decouple annotation to own PhpDocNodeFactory to allow extension without change
  • #1869 Refactoring order creates incompatible return types, Thanks to @scheb
  • #1986 improve single info multiline doc, drop NodeDecorator
  • #1976 [phpstorm meta] make getByType() return nullable
  • #1993 Improve annotation content joins
  • #1996 Optimize class renaming
  • #1997 Improve annotation spacing
  • #1972 Migrate tests to data providers
  • #1971 Cleanup
  • #2043 [CI] run all sets check
  • #1979 [DX] check invalid config arguments
  • #2011 [Doctrine] Step #3 - getUuid/setUuid method calls to id values
  • #1966 [Doctrine] split id and relation migration to 2 steps
  • #2016 [Php] Split to own packages by version
  • #1989 [PhpDoc] Multiline test improvements
  • #2045 [Symfony] Make MakeDispatchFirstArgumentEventRector work with get_class
  • #1938 [TypeDeclaration] Extend ReturnTypeDeclarationRector with incorrect types override
  • #1931 Make type replacement of annotatoin OOP
  • #1932 make use of getProperties(), getMethods(), getConstants() and getTraitUses()
  • #1914 Create rector for transforming Laravel validation rules to a prettier format, Thanks to @sashabeton
  • #1923 RemoveUnusedPrivatePropertyRector should skip entities [closes #1922]
  • #1940 cleanup type resolving
  • #1934 UUID report old to new table
  • #1961 Migrate TypeInferers and TypeResolvers to PHPStan object types
  • #1991 make EntityUuidNodeFactory extensible
  • #2002 cover name at JoinColumn removal
  • #1999 make column tag value node changeable
  • #1957 Move from string types to PHPStan types
  • #1946 from helper methods to isStaticType() with PHPStan object typing
  • #1953 StaticTypeMapper refactoring
  • #1866 Misc
  • #2013 cleanup
  • #1951 Update README.md, Thanks to @drbyte

Fixed

  • #2021 [PHP71] Fix BinaryOpBetweenNumberAndStringRector for variables
  • #1969 fix spacing with SpacelessPhpDocTagNode
  • #2018 fix renaming class to existing one [closes #1438]
  • #2014 Code sample fixes, Thanks to @HypeMC
  • #2024 fix parent typehint for anonymous class
  • #2025 Fix numeric string type in BinaryOpBetweenNumberAndStringRector
  • #2026 Fix pseudo namespace to namespace with use statement
  • #1967 Fix Doctrine stubs + separate reported files into 2
  • #2027 Fix printing of tab-indented files
  • #1962 Fixed small typos for Symfony docs., Thanks to @adrozdek
  • #2022 Fix anonymous class constant
  • #1990 fix multi constaints
  • #1983 Fix Return type Covariance Inverse Order
  • #1926 [DeadCode] Keep parent call delegation in case of accessibility override
  • #2023 [DeadCode] Skip magic property RemoveUnusedPrivatePropertyRector

Removed

  • #1954 remove CallableCollectorPopulator
  • #1935 remove getDoctrine\*() methods from PhpDocInfo, use getByType() instead
  • #1958 remove few PHP-Parser rules to prevent package-rules vs package-features confusion

v0.5.12 - 2019-08-29

Added

  • #1898 Start CakePHP 4.0 rectors, Thanks to @markstory
  • #1902 [BetterPhpDocParser] Add support for parsing Doctrine annotations
  • #1906 [DoctrinePhpDocParser] Add relation tags and join column
  • #1910 Add more rectors for CakePHP 4.0, Thanks to @markstory
  • #1916 add parent construct call to uuid init
  • #1912 [Doctrine] Id to UUID migration

Changed

  • #1903 [dx] make ShouldNotHappen exceptions more informative
  • #1915 allow non-uuid props
  • #1897 allow testing outside Rector
  • #1901 Move Jetbrains PhpStorm stubs into dev dependencies, Thanks to @atierant
  • #1908 let parse only Doctrine tags we need

Fixed

  • #1917 fix expected namespace

v0.5.11 - 2019-08-25

Added

  • #1880 [DeadCode] Add RemoveNullPropertyInitializationRector to dead-code set
  • #1865 [PSR4] Add NormalizeNamespaceByPSR4ComposerAutoloadRector
  • #1895 add makeFinal() method to AbstractRector
  • #1889 Add cakephp3.8 target and fix a typo, Thanks to @markstory
  • #1847 [PHP 7.4] Add literal thousand superator

Changed

  • #1878 [PSR4] Improve renamed classes collector to sort by highest parent
  • #1894 rename levels command to sets
  • #1896 merge isName and isNameInsensitive

Fixed

  • #1885 [CodingStyle] Fix ImportFullyQualifiedNamesRector for imported namespace
  • #1888 Fix missing args in PreferThisOrSelfMethodCallRector
  • #1891 Fix fqn doc with alraedy PHP imported namespace
  • #1882 [CodingStyle] Import short classes as well [ref #1877]
  • #1883 [CodingStyle] Make import ImportFullyQualifiedNamesRector include same short class in same namespace
  • #1881 [RenameClassRector] Include @ORM, @Assert, @Serializer etc annotations
  • #1884 Parent constant visibility when it is declared in a super-superclass, Thanks to @scheb

Removed

  • #1870 [DeadCode] Remove null value from property, Thanks to @jacekll
  • #1875 Remove default excluded file patterns (closes #1815), Thanks to @scheb

v0.5.10 - 2019-08-19

Added

  • #1855 [CodingStyle] Add AddArrayDefaultToArrayPropertyRector
  • #1800 [DeadCode] Add RemoveUnusedDoctrineEntityMethodAndPropertyRector
  • #1819 [DeadCode] Add RemoveSetterOnlyPropertyAndMethodCallRector
  • #1823 [Nette] Add JsonDecodeEncodeToNetteUtilsJsonDecodeEncodeRector
  • #1857 [TypeDeclaration] Add AddArrayReturnDocTypeRector
  • #1856 [TypeDeclaration] Add AddArrayParamDocTypeRector
  • #1850 add reporting extension, rename rector finish to finishing
  • #1818 add removed nodes collector
  • #1826 add concat + multiline case to ManualJsonStringToJsonEncodeArrayRector
  • #1825 add implode support to ManualJsonStringToJsonEncodeArrayRector
  • #1802 add iterable return type for yield values in ReturnTypeDeclarationRector
  • #1851 Fix FluentReplaceRector for more than 2 calls + add * matching support
  • #1807 add alias support to PropertyTypeDeclarationRector
  • #1844 add RectorFinishExtensionRunner

Changed

  • #1828 allow multiline empty spaces strings
  • #1841 class manipulator now returns Property on property name search
  • #1814 Improve PHPStan trait scope resolving
  • #1862 [TypeDeclaration] Various AddArrayReturnDocTypeRector improvements
  • #1805 resolve target entity from same namespace
  • #1858 Always keeps array in *TypeInfo
  • #1854 Ignores resource also when type is nullable, Thanks to @tigitz
  • #1793 Break class name in @var when relation is defined in same namespace, Thanks to @snapshotpl
  • #1852 Fix decimal to float
  • #1806 use DateTimeInterface over DateTime
  • #1839 skip ManyToOne properties in SetterOnlyMethodAnalyzer (#1838)
  • #1829 skip same-namespace-short name in ImportFullyQualifiedNamesRector
  • #1827 simplify ManualJsonStringToJsonEncodeArrayRector
  • #1821 skip abstract parent methods in RemoveUnusedDoctrineEntityMethodAndPropertyRector
  • #1838 skip ManyToOne properties in SetterOnlyMethodAnalyzer
  • #1840 Constants declared in interfaces have to be public, Thanks to @scheb
  • #1863 merge ArrayPropertyDefaultValueRector to superior AddArrayDefaultToArrayPropertyRector
  • #1842 Overriding constants require at least the parent's visibility, Thanks to @scheb
  • #1813 dont load phpstan-phpunit if phpunit not installed, Thanks to @slepic
  • #1808 Correct NameResolver::getName() + cleanup static analysis

Fixed

  • #1830 Fix non-same parent method name for RemoveParentCallWithoutParentRector
  • #1804 Fix nullable array type param for PropertyTypeDeclarationRector
  • #1803 Fix nullable for xToOne annotation by default
  • #1794 Fix method call type
  • #1864 Fix type resolutoin in PropertyNodeParamTypeInferer
  • #1817 Fix analysed files for PHPStan scope resolver
  • #1831 Fix unused method type for return type
  • #1837 Fix RemoveSetterOnlyPropertyAndMethodCallRector race condition
  • #1853 Fix different method call return in FluentReplaceRector
  • #1859 Fix lowercase of union fqn types
  • #1832 Fix args miss-match in RemoveDelegatingParentCallRector
  • #1845 HelperFunctionToDependencyInjectionRector fix, Thanks to @sashabeton
  • #1836 Fixing NodeRemovingVisitor
  • #1835 Fix reseting of removed nodes
  • #1833 Fix var/method call resolver

v0.5.9 - 2019-08-01

Added

  • #1761 [CodeQuality] Add ThrowWithPreviousExceptionRector
  • #1762 [CodingStyle] Add ManualJsonStringToJsonEncodeArrayRector
  • #1760 [DeadCode] Add RemoveDuplicatedCaseInSwitchRector
  • #1776 [NodeTypeResolver] Add phpunit extension
  • #1781 [TypeDeclaration] Add PropertyTypeDeclarationRector
  • #1774 add empty array to static type to string resolver
  • #1786 add priority to PropertyTypeInfererInterface and put doctrine infering first
  • #1789 add xToOne relation support to Doctrine var type resolver
  • #1787 add return nullable type to GetterOrSetterPropertyTypeInferer

Changed

  • #1769 [Restoration] Return removed class annotations
  • #1788 infer from @return doc type in PropertyTypeDeclaratoin

Fixed

  • #1782 [Symfony] Fix frozen parameter bag in DefaultAnalyzedSymfonyApplicationContainer
  • #1779 FIXED: Catastrophic backtracking in regular expression if the current…, Thanks to @hernst42
  • #1772 fix type analyzer for FQN
  • #1790 fix laravel53 config

Removed

  • #1791 [CodingStyle] remove extra break from BinarySwitchToIfElseRector
  • #1780 [NodeTypeResolver] drop duplicated generic array type

Unknown Category

  • #1764 [Symfony] Use Symfony bridge interface for doctrine service, Thanks to @stloyd
  • #1759 [SymfonyCodeQuality] From listener to subscriber
  • #1777 make constant array types unique
  • #1771 skip non-annotation prefix

v0.5.8 - 2019-07-21

Added

  • #1691 [Architecture] Add ConstructorInjectionToActionInjectionRector
  • #1689 [CodeQuality] Add is_a with string true
  • #1754 [CodeQuality] Add RemoveAlwaysTrueConditionSetInConstructorRector
  • #1690 [CodeQuality] Add StrlenZeroToIdenticalEmptyStringRector
  • #1722 [CodingStyle] Add EncapsedStringsToSprintfRector
  • #1717 [DeadCode] Add static, self and FQN type to RemoveUnusedPrivateMethodRector
  • #1671 [Doctrine] Add registry to EM
  • #1693 [Doctrine] Add RemoveRepositoryFromEntityAnnotationRector
  • #1709 [FuncCall] Don't add $result to parse_str if second parameter is already set, Thanks to @ravanscafi
  • #1720 [Generic] Add ServiceGetterToConstructorInjectionRector
  • #1676 [PHP] Add scope limitation to ArgumentAdderRector for 3party non-existing params
  • #1695 [PHPStan] Add RemoveNonExistingVarAnnotationRector
  • #1696 [PHPUnit][Symfony] Add AddMessageToEqualsResponseCodeRector
  • #1744 add reference support to ParamTypeDeclarationRector
  • #1694 Add rector.yaml to .dockerignore, Thanks to @aboks
  • #1674 Add Polyfil function support
  • #1681 Add parent::__construct() to command dependencies

Changed

  • #1748 [CodingStyle] Improve NewlineBeforeNewAssignSetRector
  • #1697 [DeadCode] Allow static constant call on RemoveUnusedPrivateConstantRector, Thanks to @ravanscafi
  • #1719 Resolve anonymous class return type to object

Fixed

  • #1752 [CodeQuality] Fix CompleteDynamicPropertiesRector for dynamic property fetch
  • #1718 [DeadCode] Fix too deep nesting in dead private property
  • #1710 [MethodCall] Fix multilevel array subsets, Thanks to @ravanscafi
  • #1715 [SOLID] Fix PrivatizeLocalClassConstantRector for in-class use
  • #1698 Fix NameTypeResolver resolveFullyQualifiedName return type, Thanks to @ravanscafi
  • #1684 fix new phpstan reports
  • #1702 Fixed some issues for RemoveZeroAndOneBinaryRector, Thanks to @jeroensmit
  • #1703 Fixed unintended removal of properties when used inside a trait, Thanks to @jeroensmit
  • #1738 Fix InjectAnnotationClassRector with aliases
  • #1705 Fixed wrong naming of docs script in composer.json, Thanks to @jeroensmit
  • #1712 Fix tests according to review and a few typos, Thanks to @ravanscafi
  • #1673 Fix InjectAnnotationClassRector for @var case
  • #1677 [Bugfix] IsCountableRector & IsIterableRector should first check method availability, Thanks to @stloyd
  • #1686 [Bugfix] PHPDoc type-hint resource should not be used as PHP type-hint, Thanks to @stloyd
  • #1739 [CodeStyle] Newline before assign
  • #1716 [DeadCode] Keep array method call in RemoveUnusedPrivateMethodRector
  • #1753 [DeadCode] Rector RemoveDeadConstructorRector should skip private method, Thanks to @stloyd
  • #1687 [Symfony] Set few default common service names for Symfony App Analyzer, Thanks to @stloyd
  • #1675 [Symfony] Make set symfony42 refactor get(...) in former container aware commands
  • #1666 Skip session in SelfContainerGetMethodCallFromTestToSetUpMethodRector
  • #1757 make SymfonyContainer factory configurable with "kernel_environment" parameter in rector.yaml
  • #1707 Don't mess with lines between docblock comment and var type., Thanks to @ravanscafi
  • #1699 Update composer scripts, Thanks to @ravanscafi
  • #1755 make interface description PHPStorm compatible, so it will not break abstract method complete
  • #1711 Do not mark injected properties as private when moved to constructor, Thanks to @holtkamp
  • #1714 Cleanup
  • #1721 skip Illuminate\Support\Collection magic for CompleteDynamicPropertiesRector
  • #1725 Empty compacts are forbidden, keep signature by replacing with empty array, Thanks to @ravanscafi
  • #1728 is_real() is deprecated instead of is_float(), Thanks to @holtkamp
  • #1735 Consider reference symbol in docblock for param type declaration rector, Thanks to @tigitz
  • #1736 Colorify neon files, Thanks to @szepeviktor
  • #1737 Typo in Travis config, Thanks to @szepeviktor

Removed

  • #1679 [MakeCommandLazyRector] Remove duplicated check, Thanks to @stloyd
  • #1701 Make sure parameter is not removed when a child class does use the parameter, Thanks to @jeroensmit
  • #1723 Do not remove args when replacing to static calls, Thanks to @ravanscafi
  • #1713 Remove --with-style in favour of mentioning ECS, Thanks to @stloyd

v0.5.7 - 2019-06-28

Fixed

  • #1661 Minor phpdoc fixes

v0.5.6 - 2019-06-28

Removed

  • #1659 remove deprecated singly implemented autowire compiler pass

v0.5.6 - 2019-06-28

Added

  • #1584 [DeadCode] Add RemoveDeadZeroAndOneOperationRector
  • #1586 [DeadCode] Add RemoveDelegatingParentCallRector
  • #1603 [DeadCode] Add RemoveDuplicatedInstanceOfRector
  • #1656 [SymfonyPHPUnit] Add SelfContainerGetMethodCallFromTestToSetUpMethodRector
  • #1589 Add assign ref support to AddDefaultValueForUndefinedVariableRector
  • #1609 Add ElasticSearchDSL package, Thanks to @shyim
  • #1611 Add rector for ShopRegistration, Thanks to @shyim
  • #1615 add exclude to typical reported typos
  • #1610 Add shopware version const rector, Thanks to @shyim
  • #1640 Add --rule option to process only single rule from set

Changed

  • #1582 Rename "level" directory to "set"
  • #1612 travis: allow PHP 7.4

Fixed

  • #1619 [CodeQuality] Fix __set/__get case for CompleteDynamicPropertiesRector
  • #1643 [CodingStyle] Fix extra slash in array simple types
  • #1616 [DeadCode] Fix removed comment after return at RemoveCodeAfterReturnRector
  • #1602 [Laravel] Fix missing method name in 5.7
  • #1645 [PHP] Fix mktime rename with args [closes #1622]
  • #1647 [PHP] Fix JsonThrowOnErrorRector inter-args
  • #1644 [PHP] Fix missed variadic on ReflectionMethod::invoke() [closes #1625]
  • #1618 [PHP] Fix class signature over interface priority in RemoveExtraParametersRector
  • #1642 [PHP] Fix StringifyStrNeedlesRector duplicated change
  • #1617 [Symfony] Fix GetRequestRector overlap to non-controllers
  • #1605 Fix Open Collective link for FUNDING.yml, Thanks to @pxgamer
  • #1583 Fix CountOnNullRector for nullable and invalid property
  • #1599 Fix StringClassNameToClassConstantRector for empty name [closes #1596]
  • #1590 Fix nullable item in ListSwapArrayOrderRector
  • #1631 Fix typo : rename jsm-decouple.yaml to jms-decouple.yaml, Thanks to @gnutix
  • #1588 Fix foreach scope for AddDefaultValueForUndefinedVariableRector
  • #1601 Fix trait skip in RemoveParentCallWithoutParentRector

Changed

  • #1587 [PHP] Skip list in AddDefaultValueForUndefinedVariableRector
  • #1651 Update link to UPGRADE.md 3.0, Thanks to @vasilvestre
  • #1581 use STOP_TRAVERSAL over exception
  • #1525 #1469 prototype github issue template, Thanks to @funivan

v0.5.5 - 2019-06-08

  • #1577 skip analysis of new anonymous classes in method call [closes #1574]

v0.5.4 - 2019-06-06

Added

  • #1570 [DeadCode] Add RemoveConcatAutocastRector
  • #1519 [Symfony] Add MakeCommandLazyRector
  • #1568 [Symfony 4.3] Add parent::__construct to EventDispatcher
  • #1562 add CallableNodeTraverserTrait

Changed

  • #1523 make RectorsFinder return consistent order by shorter names
  • #1572 [Symfony 4.3] Improve event name and class flip
  • #1548 Widen PHPStan version constraint to ~0.11.6., Thanks to @Aerendir

Fixed

  • #1550 Fix symfony/finder 3.4 compact in LevelOptionResolver
  • #1544 Fix phpdoc-parser BC break for generic multiline nodes
  • #1569 Fix reporting of changed nodes
  • #1559 Fix classname change for FilterControllerEvent, Thanks to @keulinho
  • #1557 Fix scope overflow in AddDefaultValueForUndefinedVariableRector
  • #1556 fix static method in reflection for StaticCallOnNonStaticToInstanceCallRector
  • #1571 Fix anonymous class method return type resolving
  • #1567 Fix solid.yaml, Thanks to @Great-Antique
  • #1549 fix unescaped regular
  • #1538 Don't remove aliases of classes with same name but different namespaces., Thanks to @Aerendir
  • #1553 [CodeQuality] Skip collections ForeachToInArrayRector [closes #1533]
  • #1524 Cover multiline in description-aware nodes [closes #1522]
  • #1565 make StringClassNameToClassConstantRector case sensitive [closes #1539]
  • #1545 Ensure Doctrine's Collection-like arrays are ignored., Thanks to @Aerendir
  • #1554 optimize
  • #1558 Do not call parent constructor of AutowiredEventDispatcher unless it exists, Thanks to @cgkkevinr
  • #1561 make RemoveUnusedAliasRector take into account aliases that keep 2 classes with same short name explicit
  • #1555 skip nullable array for ArrayPropertyDefaultValueRector [closes #1542]

v0.5.3 - 2019-06-01

Added

  • #1520 [PHP] Add is_countable to CountOnNull

Changed

  • #1521 make LevelOptionResolver smarter + add --set alias to --level

v0.5.2 - 2019-05-31

Fixed

  • #1510 [CodeQuality] Add trait and parent class support for CompleteDynamicPropertiesRector
  • #1508 [CodeQuality] Fix unneeded return in CallableThisArrayToAnonymousFunctionRector
  • #1509 [PHP] Fix AddDefaultValueForUndefinedVariableRector for static variable
  • #1507 [PHP] Fix BinaryOpBetweenNumberAndStringRector for concat
  • #1517 fix RenameClassRector to change only direct class names, not children
  • #1511 fix PHPStormVarAnnotationRector for too nested var [closes #1407]
  • #1513 Make Symfony 4.3 + phpdoc-parser 0.3.4 compatible
  • #1506 Ensure static variables are considered as declared, Thanks to @Aerendir
  • #1502 Test concatenation dot is ignored, Thanks to @Aerendir

v0.5.1 - 2019-05-30

Added

  • #1496 [Symfony 4.3] Add class renames, method renames and added arguments

Fixed

v0.5.0 - 2019-05-28

Added

  • #1487 [Legacy] Remove singleton
  • #1468 [MultipleClassFileToPsr4ClassesRector] Original file is deleted even if class matches filename, Thanks to @JanMikes
  • #1424 [SplitStringClassConstantToClassConstFetchRector] Remove duplicated namespace separator, Thanks to @mxr576
  • #1470 [PHP][CodingStyle] string class to ::class
  • #1367 [DeadCode] Anonymous class implementing an interface doesn't respect interface signature, Thanks to @pierredup
  • #1404 [TypeDeclaration] Create new set
  • #1414 [PSR-4 Split] Split interfaces and traits as well, Thanks to @JanMikes
  • #1416 [PHP 7.4] Spread array
  • #1419 [CodeQuality] Add For to foreach
  • #1443 [CodeQuality] Add CompactToVariablesRector
  • #1488 🎉[CodeQuality] Add CompleteDynamicPropertiesRector
  • #1390 [CodeQuality] Add AndAssignsToSeparateLinesRector
  • #1485 [CodingStyle] Add VarConstantCommentRector
  • #1484 [CodingStyle] Add SplitDoubleAssignRector
  • #1483 [CodingStyle] Add ArrayPropertyDefaultValueRector
  • #1482 [CodingStyle] Add CatchExceptionNameMatchingTypeRector
  • #1481 [CodingStyle] Add FollowRequireByDirRector
  • #1480 [CodingStyle] Add ConsistentPregDelimiterRector
  • #1447 [CodingStyle] add partial support already imported support to ImportFullyQualifiedNamesRector
  • #1389 [DeadCode] Add RemoveAndTrueRector
  • #1392 [DeadCode] Add RemoveDefaultArgumentValueRector
  • #1451 [PHP] Add RemoveMissingCompactVariableRector
  • #1418 [PHP-DI] Add php-di @Inject annotation import
  • #1460 [Psr4] Add supprot for namespace less MultipleClassFileToPsr4ClassesRector
  • #1486 [SOLID] Add AbstractChildlessUnusedClassesRector
  • #1406 [TypeDeclaration] Add AddFunctionReturnTypeRector
  • #1403 [Symfony 4.3] Add swapped dispatch() arguments for EventDispatcher
  • #1429 Add missing end bracket at HowItWorks.md's sample, Thanks to @sasezaki
  • #1430 Add working directory option, Thanks to @ktomk
  • #1417 Add trait analysis without class dependency
  • #1491 add JsonOutputFormatter
  • #1492 Symplify 6 bump + add relative paths to JsonOutputFormatter
  • #1410 [PHP 7.4] Add ClosureToArrowFunctionRector
  • #1449 [PHP 7.1] Add BinaryOpBetweenNumberAndStringRector
  • #1450 [PHP 7.1] Add float to BinaryOpBetweenNumberAndStringRector
  • #1452 Add non-namespaced support to ImportFullyQualifiedNamesRector
  • #1461 [supporŧ] add funding Github - news from Github Satellite
  • #1478 composer: add authors
  • #1382 Add support to rename classes and it's namespace, Thanks to @JanMikes
  • #1377 Add function support to ImportFullyQualifiedNamesRector
  • #1489 [backers] add Jan Votruba

Changed

  • #1412 [ImportFullyQualifiedNamesRector] Allow to opt-out from doc block modification, Thanks to @mxr576
  • #1439 [PSR4] Improve MultipleClassFileToPsr4ClassesRector output
  • #1477 introduce OutputFormatterCollector to allow extension of output formatters
  • #1446 Narrow ArraySpreadInsteadOfArrayMergeRector to numeric-arrays only
  • #1479 update to php-parser 4.2.2

Fixed

  • #1395 Preserve file permissions when updating a file, Thanks to @LeSuisse
  • #1397 [DeadCode] Various set fixes
  • #1398 Fix travis for Laravel self-run
  • #1391 fix ImportFullyQualifiedNamesRector on multiple files
  • #1444 fix ReservedObjectRector for lowercased object
  • #1471 fix deleting file that matches class name
  • #1425 speedup RenameClassRector on doc comments
  • #1464 do not override printing files with previous stmts if possible

Removed

v0.4.12 - 2019-05-02

Added

  • #1326 [CodingStyle] Add SplitStringClassConstantToClassConstFetchRector
  • #1327 [CodingStyle] Add ImportFullyQualifiedNamesRector
  • #1363 [PHP] Add AddDefaultValueForUndefinedVariableRector
  • #1347 [RemovingStatic] Add new level
  • #1333 Add PrivatizeLocalClassConstantRector to SOLID, Thanks to @mxr576
  • #1362 [PHP 7.4] Add ReservedFnFunctionRector

Changed

  • #1323 allow Nette 3.0, Thanks to @mimmi20
  • #1325 [DeadCode] Skip magic methods in RemoveUnusedParameterRector
  • #1351 [DeadCode] Keep different case in RemoveDoubleAssignRector
  • #1353 [DeadCode] Skip traits in RemoveUnusedPrivateMethodRector
  • #1370 make ImportFullyQualifiedNamesRector take into account existing imports on combination of PHP and doc block
  • #1354 Speedup tests by 90 % from 41 secs to 4
  • #1357 Tests improvements
  • #1359 Notice file rectors on run

Fixed

  • #1369 [CodingStyle] ImportsInClassCollection fixes
  • #1368 [CodingStyle] Fix ImportFullyQualifiedNamesRector for self imports
  • #1365 [CodingStyle] Fix interface short name identical with class name in ImportFullyQualifiedNamesRector
  • #1348 [DeadCode] Remove overriden fix
  • #1352 [DeadCode] Fix RemoveUnusedPrivateMethodRector for self call
  • #1350 [Laravel] Fix MinutesToSecondsInCacheRector DateTimeInterface argument
  • #1361 [Symfony] Fix GetRequestRector for get non method calls
  • #1375 Fix file removal in MultipleClassFileToPsr4ClassesRector
  • #1320 [CakePHP]FIx rule for cakephp37, Thanks to @o0h
  • #1331 Use dev as Symfony default env to fix issue #1319, Thanks to @BernhardWebstudio

Removed

  • #1349 [DeadCode] Remove double

v0.4.11 - 2019-04-14

Added

  • #1317 Add Changelog
  • #1302 [Symfony 4.3] Add SimplifyWebTestCaseAssertionsRector
  • #1302 [Symfony 4.3] Add SimplifyWebTestCaseAssertionsRector
  • #1311 [CodingStyle] Add SplitGroupedConstantsAndPropertiesRector
  • #1301 [PHPUnit] Add RemoveExpectAnyFromMockRector
  • #1304 [SOLID] Add PrivatizeLocalClassConstantRector
  • #1303 [SOLID] Add FinalizeClassesWithoutChildrenRector
  • #1302 [Symfony 4.3] Add SimplifyWebTestCaseAssertionsRector

Changed

  • #1316 Merge collected nodes to ParsedNodesByType
  • #1314 rename Attribute to AttributeKey to prevent duplicated names with other projects
  • #1318 Update reference to drupal8-rector/drupal8-rector, Thanks to @mxr576
  • #1316 Merge collected nodes to ParsedNodesByType

Fixed

  • #1305 [Symfony 3.0] Fix wrong indentation in symfony30.yaml, Thanks to @Dodenis