PHP Code Sniffer v3.5.8 Release Notes

Release Date: 2020-10-23 // about 1 year ago
    • ⏪ Reverted a change to the way include/exclude patterns are processed for STDIN content
      • This change is not backwards compatible and will be re-introduced in version 3.6.0

Previous changes from v3.5.7

    • The PHP 8.0 T_NULLSAFE_OBJECT_OPERATOR token has been made available for older versions
      • Existing sniffs that check for T_OBJECT_OPERATOR have been modified to apply the same rules for the nullsafe object operator
      • Thanks to Juliette Reinders Folmer for the patch
    • ⏪ The new method of PHP 8.0 tokenizing for namespaced names has been revert to the pre 8.0 method
      • This maintains backwards compatible for existing sniffs on PHP 8.0
      • This change will be removed in PHPCS 4.0 as the PHP 8.0 tokenizing method will be backported for pre 8.0 versions
      • Thanks to Juliette Reinders Folmer for the patch
    • ➕ Added support for changes to the way PHP 8.0 tokenizes hash comments
      • The existing PHP 5-7 behaviour has been replicated for version 8, so no sniff changes are required
      • Thanks to Juliette Reinders Folmer for the patch
    • The autoloader has been changed to fix sniff class name detection issues that may occur when running on PHP 7.4+
      • Thanks to Eloy Lafuente for the patch
    • ✅ Running the unit tests now includes warnings in the found and fixable error code counts
      • Thanks to Juliette Reinders Folmer for the patch
    • PSR12.ControlStructures.BooleanOperatorPlacement.FoundMixed error message is now more accurate when using the allowOnly setting
      • Thanks to Vincent Langlet for the patch
    • 👍 PSR12.Functions.NullableTypeDeclaration now supports the PHP8 static return type
      • Thanks to Juliette Reinders Folmer for the patch
    • 🛠 Fixed Squiz.Formatting.OperatorBracket false positive when exiting with a negative number
    • 🛠 Fixed Squiz.PHP.DisallowComparisonAssignment false positive for methods called on an object
    • 🛠 Fixed bug #2882 : Generic.Arrays.ArrayIndent can request close brace indent to be less than the statement indent level
    • 🛠 Fixed bug #2883 : Generic.WhiteSpace.ScopeIndent.Incorrect issue after NOWDOC
    • 🛠 Fixed bug #2975 : Undefined offset in PSR12.Functions.ReturnTypeDeclaration when checking function return type inside ternary
    • 🛠 Fixed bug #2988 : Undefined offset in Squiz.Strings.ConcatenationSpacing during live coding
      • Thanks to Thiemo Kreuz for the patch
    • 🛠 Fixed bug #2989 : Incorrect auto-fixing in Generic.ControlStructures.InlineControlStructure during live coding
      • Thanks to Thiemo Kreuz for the patch
    • 🛠 Fixed bug #3007 : Directory exclude pattern improperly excludes directories with names that start the same
      • Thanks to Steve Talbot for the patch
    • 🛠 Fixed bug #3043 : Squiz.WhiteSpace.OperatorSpacing false positive for negation in arrow function
      • Thanks to Juliette Reinders Folmer for the patch
    • 🛠 Fixed bug #3049 : Incorrect error with arrow function and parameter passed as reference
      • Thanks to Juliette Reinders Folmer for the patch
    • 🛠 Fixed bug #3053 : PSR2 incorrect fix when multiple use statements on same line do not have whitespace between them
    • 🛠 Fixed bug #3058 : Progress gets unaligned when 100% happens at the end of the available dots
    • 🛠 Fixed bug #3059 : Squiz.Arrays.ArrayDeclaration false positive when using type casting
      • Thanks to Sergei Morozov for the patch
    • 🛠 Fixed bug #3060 : Squiz.Arrays.ArrayDeclaration false positive for static functions
      • Thanks to Sergei Morozov for the patch
    • 🛠 Fixed bug #3065 : Should not fix Squiz.Arrays.ArrayDeclaration.SpaceBeforeComma if comment between element and comma
      • Thanks to Sergei Morozov for the patch
    • 🛠 Fixed bug #3066 : No support for namespace operator used in type declarations
      • Thanks to Juliette Reinders Folmer for the patch
    • 🛠 Fixed bug #3075 : PSR12.ControlStructures.BooleanOperatorPlacement false positive when operator is the only content on line
    • 🛠 Fixed bug #3099 : Squiz.WhiteSpace.OperatorSpacing false positive when exiting with negative number
      • Thanks to Sergei Morozov for the patch
    • 🛠 Fixed bug #3102 : PSR12.Squiz.OperatorSpacing false positive for default values of arrow functions
      • Thanks to Juliette Reinders Folmer for the patch
    • 🛠 Fixed bug #3124 : PSR-12 not reporting error for empty lines with only whitespace
    • 🛠 Fixed bug #3135 : Ignore annotations are broken on PHP 8.0
      • Thanks to Juliette Reinders Folmer for the patch