Skip to content

ECS 13.3.14

Choose a tag to compare

@TomasVotruba TomasVotruba released this 05 Nov 21:09
· 30 commits to main since this release

Bug fixes πŸ›

  • NativeFunctionInvocation: use FunctionsAnalyzer::isGlobalFunctionCall so only real global function calls are touched (#275) β€” thanks @gnutix
  • StatementIndentation: handle comments directly above a case, and template files (#278) β€” thanks @gnutix
  • Invalidate the cache when a local checker's own code changes, so edits to custom rules are picked up (#211) β€” thanks @gnutix

Blink (experimental Go engine) πŸ˜‰

Ported fixers and sniffs

  • Port 7 ClassNotation fixers to Go (#284)
  • Port 5 FunctionNotation fixers from PHP-CS-Fixer (#282)
  • Port Operator, ControlStructure, ArrayNotation and ReturnNotation fixers (#281)
  • Port LanguageConstruct fixers (combine issets/unsets, no unset on property) (#283)
  • Port 5 PhpUnit fixers (strict, assert new names, mock, dedicate assert internal type, namespaced) (#280)
  • Port StringNotation string/heredoc fixers (#285)
  • Port 8 misc PHP-CS-Fixer fixers (Strict, Alias, Basic, Attribute, Namespace) (#286)
  • Port 6 phpdoc fixers (#292)
  • Port MethodChainingNewline and StandaloneLineConstructorParam (#299) β€” thanks @gnutix
  • Port MultilinePromotedPropertiesFixer (#303)
  • Port GroupImportFixer (#305)
  • Port CommentToPhpdocFixer (#304)
  • Port risky DateTimeImmutable fixer (#295)
  • Port NativeFunctionInvocationFixer (#270)
  • Add ArrayPush, BacktickToShellExec, EregToPreg, ModernizeStrpos, PowToExponentiation, SetTypeToCast (#269) β€” thanks @gnutix
  • Add DeclareStrictTypes, VoidReturn, StaticLambda, NoUselessElse, NoUnneededFinalMethod, NoPhp4Constructor (#263) β€” thanks @gnutix
  • Add 6 string, naming and serialization rules (#266) β€” thanks @gnutix
  • Add DirConstant, CombineNestedDirname, ImplodeCall, NoUselessSprintf, ModernizeTypesCasting, FopenFlagOrder (#264) β€” thanks @gnutix
  • Add 4 PHPUnit rules, DoctrineAnnotationBraces and GlobalKeywordSniff (#267) β€” thanks @gnutix
  • Add LanguageConstructSpacing sniff to match the PHP engine (#249)
  • The rest of #250 in one PR (skip semantics, rule defaults, 8 new rules) (#274) β€” thanks @gnutix

Parity and correctness fixes:

  • Fix two rules counted wrong in the README coverage (#300) β€” thanks @gnutix
  • Map deprecated PHP-CS-Fixer rules to their successors (#296) β€” thanks @gnutix
  • Fix SpacesInsideParentheses, LineLength on attributes, TrimArraySpaces and FunctionDeclaration (#301) β€” thanks @GErpeldinger
  • Fix StandaloneLineRequiredParam, BracesPosition, StatementIndentation, MethodArgumentSpace and TrailingCommaInMultiline (#291) β€” thanks @GErpeldinger
  • Fix NoUnneededControlParentheses on clone, and ConstantCase on names (#289) β€” thanks @GErpeldinger
  • Fix NoUnusedImports and OrderedImports (#260) β€” thanks @gnutix
  • Fix 8 rules that changed valid code (#259) β€” thanks @gnutix
  • Fix TernaryOperatorSpaces, FullyQualifiedStrictTypes and NullableTypeDeclaration (#258) β€” thanks @gnutix
  • Fix BracesPosition, StatementIndentation and AddMissingParamName (#261) β€” thanks @gnutix
  • Read inline-HTML indent in ArrayIndentation for .html.php parity (#272)
  • Make the lexer give the same tokens as token_get_all (#268) β€” thanks @gnutix
  • Default AlignMultilineComment to phpdocs_only, matching the engine (#252)

Option reading:

Performance and infrastructure:

  • Scan Doctrine annotations lazily (#276) β€” thanks @gnutix
  • NoUnusedImports, avoid rescans per import (#277) β€” thanks @gnutix
  • Let rules skip files without their trigger (#288) β€” thanks @gnutix
  • Add a stream version, to share work between rules (#279) β€” thanks @gnutix
  • Classify array brackets in one pass (#287) β€” thanks @gnutix
  • Delete empty tokens after each rule, and make per-cs the same list as ECS (#253) β€” thanks @gnutix
  • Measure blink coverage against the full fixer universe (#271)
  • Let projects register their own fixers (#251) β€” thanks @gnutix
  • Consolidate CI into fewer jobs (#293)