rector/CHANGELOG.md
2019-07-21 10:46:36 +02:00

31 KiB

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.

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
  • #1731 Add failing test to demonstrate difference in import order, Thanks to @holtkamp
  • #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
  • #1704 Fixed failing unit test when sys_get_temp_dir() != '/tmp', 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 MultipleServiceGetToSetUpMethodRector
  • #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 MultipleServiceGetToSetUpMethodRector
  • #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
  • #1641 Add test case for #1630

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
  • #1346 Add test case for #1286

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