3.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
- Existing sniffs that check for
- 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