Repository navigation
ECS 13.3.14
Bug fixes π
- NativeFunctionInvocation: use
FunctionsAnalyzer::isGlobalFunctionCallso 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:
- Read the options of 13 rules (#298) β thanks @gnutix
- Read the options of PhpdocAlign (#290) β thanks @GErpeldinger
- Read the options of 6 rules (#256) β thanks @gnutix
- Read the options of 4 phpdoc rules (#257) β thanks @gnutix
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)