Skip to content
This repository has been archived by the owner on Aug 9, 2024. It is now read-only.

Update dependency squizlabs/php_codesniffer to v3.7.2 #24

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link

@renovate renovate bot commented Mar 17, 2023

Mend Renovate

This PR contains the following updates:

Package Type Update Change
squizlabs/php_codesniffer require-dev minor 3.5.5 -> 3.7.2

Release Notes

squizlabs/PHP_CodeSniffer (squizlabs/php_codesniffer)

v3.7.2

Compare Source

  • Newer versions of Composer will now suggest installing PHPCS using require-dev instead of require
  • A custom Out Of Memory error will now be shown if PHPCS or PHPCBF run out of memory during a run
    • Error message provides actionable information about how to fix the problem and ensures the error is not silent
    • Thanks to Juliette Reinders Folmer (@​jrfnl) and Alain Schlesser (@​schlessera) for the patch
  • Generic.PHP.LowerCaseType sniff now correctly examines types inside arrow functions
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Squiz.Formatting.OperatorBracket no longer reports false positives in match() structures
  • Fixed bug #​3616 : Squiz.PHP.DisallowComparisonAssignment false positive for PHP 8 match expression
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3618 : Generic.WhiteSpace.ArbitraryParenthesesSpacing false positive for return new parent()
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3632 : Short list not tokenized correctly in control structures without braces
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3639 : Tokenizer not applying tab replacement to heredoc/nowdoc closers
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3640 : Generic.WhiteSpace.DisallowTabIndent not reporting errors for PHP 7.3 flexible heredoc/nowdoc syntax
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3645 : PHPCS can show 0 exit code when running in parallel even if child process has fatal error
    • Thanks to Alex Panshin (@​enl) for the patch
  • Fixed bug #​3653 : False positives for match() in OperatorSpacingSniff
  • Fixed bug #​3666 : PEAR.Functions.FunctionCallSignature incorrect indent fix when checking mixed HTML/PHP files
  • Fixed bug #​3668 : PSR12.Classes.ClassInstantiation.MissingParentheses false positive when instantiating parent classes
    • Similar issues also fixed in Generic.Functions.FunctionCallArgumentSpacing and Squiz.Formatting.OperatorBracket
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3672 : Incorrect ScopeIndent.IncorrectExact report for match inside array literal
  • Fixed bug #​3694 : Generic.WhiteSpace.SpreadOperatorSpacingAfter does not ignore spread operator in PHP 8.1 first class callables
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch

v3.7.1

Compare Source

  • Fixed bug #​3609: Methods/constants with name empty/isset/unset are always reported as error
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch

v3.7.0

Compare Source

PHP 8.1 Language Feature Support

PHP_CodeSniffer has run correctly under PHP 8.1 since PHP 8 support was added, but it has not supported new 8.1 language features until this release. Version 3.7.0 adds support for the following PHP 8.1 language features:

  • Enums
  • Explicit octal notation
  • Readonly properties
  • Intersection types
  • The never type

Note: Standards and sniffs included with PHP_CodeSniffer have been updated to support these language features, but external standards and sniffs may need updating before they are able to detect them correctly.

Changelog

  • Added support for PHP 8.1 explicit octal notation
    • This new syntax has been backfilled for PHP versions less than 8.1
    • Thanks to Mark Baker (@​MarkBaker) for the patch
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for additional fixes
  • Added support for PHP 8.1 enums
    • This new syntax has been backfilled for PHP versions less than 8.1
    • Includes a new T_ENUM_CASE token to represent the case statements inside an enum
    • Thanks to Jaroslav Hanslík (@​kukulich) for the patch
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for additional core and sniff support
  • Added support for the PHP 8.1 readonly token
    • Tokenzing of the readonly keyword has been backfilled for PHP versions less than 8.1
    • Thanks to Jaroslav Hanslík (@​kukulich) for the patch
  • Added support for PHP 8.1 intersection types
    • Includes a new T_TYPE_INTERSECTION token to represent the ampersand character inside intersection types
    • Thanks to Jaroslav Hanslík (@​kukulich) for the patch
  • File::getMethodParameters now supports the new PHP 8.1 readonly token
    • When constructor property promotion is used, a new property_readonly array index is included in the return value
      • This is a boolean value indicating if the property is readonly
    • If the readonly token is detected, a new readonly_token array index is included in the return value
      • This contains the token index of the readonly keyword
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Support for new PHP 8.1 readonly keyword has been added to the following sniffs:
    • Generic.PHP.LowerCaseKeyword
    • PSR2.Classes.PropertyDeclaration
    • Squiz.Commenting.BlockComment
    • Squiz.Commenting.DocCommentAlignment
    • Squiz.Commenting.VariableComment
    • Squiz.WhiteSpace.ScopeKeywordSpacing
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patches
  • The parallel feature is now more efficient and runs faster in some situations due to improved process management
  • The list of installed coding standards now has consistent ordering across all platforms
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Generic.PHP.UpperCaseConstant and Generic.PHP.LowerCaseConstant now ignore type declarations
    • These sniffs now only report errors for true/false/null when used as values
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Generic.PHP.LowerCaseType now supports the PHP 8.1 never type
  • Fixed bug #​3502 : A match statement within an array produces Squiz.Arrays.ArrayDeclaration.NoKeySpecified
  • Fixed bug #​3503 : Squiz.Commenting.FunctionComment.ThrowsNoFullStop false positive when one line @throw
  • Fixed bug #​3505 : The nullsafe operator is not counted in Generic.Metrics.CyclomaticComplexity
  • Fixed bug #​3526 : PSR12.Properties.ConstantVisibility false positive when using public final const syntax
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3530 : Line indented incorrectly false positive when using match-expression inside switch case
  • Fixed bug #​3534 : Name of typed enum tokenized as T_GOTO_LABEL
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3546 : Tokenizer/PHP: bug fix - parent/static keywords in class instantiations
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3550 : False positive from PSR2.ControlStructures.SwitchDeclaration.TerminatingComment when using trailing comment
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3575: Squiz.Scope.MethodScope misses visibility keyword on previous line
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3604: Tokenizer/PHP: bug fix for double quoted strings using ${
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch

v3.6.2

Compare Source

  • Processing large code bases that use tab indenting inside comments and strings will now be faster
  • Fixed bug #​3388 : phpcs does not work when run from WSL drives
  • Fixed bug #​3422 : Squiz.WhiteSpace.ScopeClosingBrace fixer removes HTML content when fixing closing brace alignment
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3437 : PSR12 does not forbid blank lines at the start of the class body
    • Added new PSR12.Classes.OpeningBraceSpace sniff to enforce this
  • Fixed bug #​3440 : Squiz.WhiteSpace.MemberVarSpacing false positives when attributes used without docblock
    • Thanks to Vadim Borodavko (@​javer) for the patch
  • Fixed bug #​3448 : PHP 8.1 deprecation notice while generating running time value
  • Fixed bug #​3456 : PSR12.Classes.ClassInstantiation.MissingParentheses false positive using attributes on anonymous class
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3460 : Generic.Formatting.MultipleStatementAlignment false positive on closure with parameters
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3468 : do/while loops are double-counted in Generic.Metrics.CyclomaticComplexity
  • Fixed bug #​3469 : Ternary Operator and Null Coalescing Operator are not counted in Generic.Metrics.CyclomaticComplexity
  • Fixed bug #​3472 : PHP 8 match() expression is not counted in Generic.Metrics.CyclomaticComplexity

v3.6.1

Compare Source

  • PHPCS annotations can now be specified using hash-style comments
    • Previously, only slash-style and block-style comments could be used to do things like disable errors
    • Thanks to Juliette Reinders Folmer for the patch
  • Fixed an issue where some sniffs would not run on PHP files that only used the short echo tag
    • The following sniffs were affected:
      • Generic.Files.ExecutableFile
      • Generic.Files.LowercasedFilename
      • Generic.Files.LineEndings
      • Generic.Files.EndFileNewline
      • Generic.Files.EndFileNoNewline
      • Generic.PHP.ClosingPHPTag
      • Generic.PHP.Syntax
      • Generic.VersionControl.GitMergeConflict
      • Generic.WhiteSpace.DisallowSpaceIndent
      • Generic.WhiteSpace.DisallowTabIndent
    • Thanks to Juliette Reinders Folmer for the patch
  • The new PHP 8.1 tokenisation for ampersands has been reverted to use the existing PHP_CodeSniffer method
    • The PHP 8.1 tokens T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG and T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG are unsued
    • Ampersands continue to be tokenized as T_BITWISE_AND for all PHP versions
    • Thanks to Juliette Reinders Folmer and Anna Filina for the patch
  • File::getMethodParameters() no longer incorrectly returns argument attributes in the type hint array index
    • A new has_attributes array index is available and set to TRUE if the argument has attributes defined
    • Thanks to Juliette Reinders Folmer for the patch
  • Generic.NamingConventions.ConstructorName no longer throws deprecation notices on PHP 8.1
    • Thanks to Juliette Reinders Folmer for the patch
  • Squiz.Commenting.BlockComment now correctly applies rules for block comments after a short echo tag
    • Thanks to Juliette Reinders Folmer for the patch
  • Fixed false positives when using attributes in the following sniffs:
    • PEAR.Commenting.FunctionComment
    • Squiz.Commenting.InlineComment
    • Squiz.Commenting.BlockComment
    • Squiz.Commenting.VariableComment
    • Squiz.WhiteSpace.MemberVarSpacing
    • Thanks to Juliette Reinders Folmer for the patch
  • Fixed bug #​3294 : Bug in attribute tokenization when content contains PHP end token or attribute closer on new line
    • Thanks to Alessandro Chitolina for the patch
    • Thanks to Juliette Reinders Folmer for the tests
  • Fixed bug #​3296 : PSR2.ControlStructures.SwitchDeclaration takes phpcs:ignore as content of case body
  • Fixed bug #​3297 : PSR2.ControlStructures.SwitchDeclaration.TerminatingComment does not handle try/finally blocks
    • Thanks to Juliette Reinders Folmer for the patch
  • Fixed bug #​3302 : PHP 8.0 | Tokenizer/PHP: bugfix for union types using namespace operator
    • Thanks to Juliette Reinders Folmer for the patch
  • Fixed bug #​3303 : findStartOfStatement() doesn't work with T_OPEN_TAG_WITH_ECHO
  • Fixed bug #​3316 : Arrow function not tokenized correctly when using null in union type
  • Fixed bug #​3317 : Problem with how phpcs handles ignored files when running in parallel
    • Thanks to Emil Andersson for the patch
  • Fixed bug #​3324 : PHPCS hangs processing some nested arrow functions inside a function call
  • Fixed bug #​3326 : Generic.Formatting.MultipleStatementAlignment error with const DEFAULT
    • Thanks to Juliette Reinders Folmer for the patch
  • Fixed bug #​3333 : Squiz.Objects.ObjectInstantiation: null coalesce operators are not recognized as assignment
    • Thanks to Juliette Reinders Folmer for the patch
  • Fixed bug #​3340 : Ensure interface and trait names are always tokenized as T_STRING
    • Thanks to Juliette Reinders Folmer for the patch
  • Fixed bug #​3342 : PSR12/Squiz/PEAR standards all error on promoted properties with docblocks
    • Thanks to Juliette Reinders Folmer for the patch
  • Fixed bug #​3345 : IF statement with no braces and double catch turned into syntax error by auto-fixer
    • Thanks to Juliette Reinders Folmer for the patch
  • Fixed bug #​3352 : PSR2.ControlStructures.SwitchDeclaration can remove comments on the same line as the case statement while fixing
    • Thanks to Juliette Reinders Folmer for the patch
  • Fixed bug #​3357 : Generic.Functions.OpeningFunctionBraceBsdAllman removes return type when additional lines are present
    • Thanks to Juliette Reinders Folmer for the patch
  • Fixed bug #​3362 : Generic.WhiteSpace.ScopeIndent false positive for arrow functions inside arrays
  • Fixed bug #​3384 : Squiz.Commenting.FileComment.SpacingAfterComment false positive on empty file
  • Fixed bug #​3394 : Fix PHP 8.1 auto_detect_line_endings deprecation notice
  • Fixed bug #​3400 : PHP 8.1: prevent deprecation notices about missing return types
    • Thanks to Juliette Reinders Folmer for the patch
  • Fixed bug #​3424 : PHPCS fails when using PHP 8 Constructor property promotion with attributes
    • Thanks to Juliette Reinders Folmer for the patch
  • Fixed bug #​3425 : PHP 8.1 | Runner::processChildProcs(): fix passing null to non-nullable bug
    • Thanks to Juliette Reinders Folmer for the patch
  • Fixed bug #​3445 : Nullable parameter after attribute incorrectly tokenized as ternary operator
    • Thanks to Juliette Reinders Folmer for the patch

v3.6.0

Compare Source

PHP 8 Language Feature Support

PHP_CodeSniffer has run under PHP 8 for some time, but it has not supported all new language features until this release. Version 3.6.0 adds support for all new PHP 8 language features, including:

  • Attributes
  • Constructor property promotion
  • Named arguments
  • Union types
  • Match expressions
  • Static and Mixed return types

Note: All standards and sniffs included with PHP_CodeSniffer have been updated to support these language features, but external standards and sniffs may need updating before they are able to detect them correctly.

Changelog

  • Added support for PHP 8.0 union types
    • A new T_TYPE_UNION token is available to represent the pipe character
    • File::getMethodParameters(), getMethodProperties(), and getMemberProperties() will now return union types
    • Thanks to Juliette Reinders Folmer for the patch
  • Added support for PHP 8.0 named function call arguments
    • A new T_PARAM_NAME token is available to represent the label with the name of the function argument in it
    • Thanks to Juliette Reinders Folmer for the patch
  • Added support for PHP 8.0 attributes
    • The PHP-supplied T_ATTRIBUTE token marks the start of an attribute
    • A new T_ATTRIBUTE_END token is available to mark the end of an attribute
    • New attribute_owner and attribute_closer indexes are available in the tokens array for all tokens inside an attribute
    • Tokenizing of attributes has been backfilled for older PHP versions
    • The following sniffs have been updated to support attributes:
      • PEAR.Commenting.ClassComment
      • PEAR.Commenting.FileComment
      • PSR1.Files.SideEffects
      • PSR12.Files.FileHeader
      • Squiz.Commenting.ClassComment
      • Squiz.Commenting.FileComment
      • Squiz.WhiteSpace.FunctionSpacing
        • Thanks to Vadim Borodavko for the patch
    • Thanks to Alessandro Chitolina for the patch
  • Added support for PHP 8.0 dereferencing of text strings with interpolated variables
    • Thanks to Juliette Reinders Folmer for the patch
  • Added support for PHP 8.0 match expressions
    • Match expressions are now tokenised with parenthesis and scope openers and closers
      • Sniffs can listen for the T_MATCH token to process match expressions
      • Note that the case and default statements inside match expressions do not have scopes set
    • A new T_MATCH_ARROW token is available to represent the arrows in match expressions
    • A new T_MATCH_DEFAULT token is available to represent the default keyword in match expressions
    • All tokenizing of match expressions has been backfilled for older PHP versions
    • The following sniffs have been updated to support match expressions:
      • Generic.CodeAnalysis.AssignmentInCondition
      • Generic.CodeAnalysis.EmptyPHPStatement
        • Thanks to Vadim Borodavko for the patch
      • Generic.CodeAnalysis.EmptyStatement
      • Generic.PHP.LowerCaseKeyword
      • PEAR.ControlStructures.ControlSignature
      • PSR12.ControlStructures.BooleanOperatorPlacement
      • Squiz.Commenting.LongConditionClosingComment
      • Squiz.Commenting.PostStatementComment
      • Squiz.ControlStructures.LowercaseDeclaration
      • Squiz.ControlStructures.ControlSignature
      • Squiz.Formatting.OperatorBracket
      • Squiz.PHP.DisallowMultipleAssignments
      • Squiz.Objects.ObjectInstantiation
      • Squiz.WhiteSpace.ControlStructureSpacing
    • Thanks to Juliette Reinders Folmer for the patch
  • The value of the T_FN_ARROW token has changed from "T_FN_ARROW" to "PHPCS_T_FN_ARROW" to avoid package conflicts
    • This will have no impact on custom sniffs unless they are specifically looking at the value of the T_FN_ARROW constant
    • If sniffs are just using constant to find arrow functions, they will continue to work without modification
    • Thanks to Juliette Reinders Folmer for the patch
  • File::findStartOfStatement() now works correctly when passed the last token in a statement
  • File::getMethodParameters() now supports PHP 8.0 constructor property promotion
    • Returned method params now include a property_visibility and visibility_token index if property promotion is detected
    • Thanks to Juliette Reinders Folmer for the patch
  • File::getMethodProperties() now includes a return_type_end_token index in the return value
    • This indicates the last token in the return type, which is helpful when checking union types
    • Thanks to Juliette Reinders Folmer for the patch
  • Include patterns are now ignored when processing STDIN
    • Previously, checks using include patterns were excluded when processing STDIN when no file path was provided via --stdin-path
    • Now, all include and exclude rules are ignored when no file path is provided, allowing all checks to run
    • If you want include and exclude rules enforced when checking STDIN, use --stdin-path to set the file path
    • Thanks to Juliette Reinders Folmer for the patch
  • Spaces are now correctly escaped in the paths to external on Windows
    • Thanks to Juliette Reinders Folmer for the patch
  • Added Generic.NamingConventions.AbstractClassNamePrefix to enforce that class names are prefixed with "Abstract"
    • Thanks to Anna Borzenko for the contribution
  • Added Generic.NamingConventions.InterfaceNameSuffix to enforce that interface names are suffixed with "Interface"
    • Thanks to Anna Borzenko for the contribution
  • Added Generic.NamingConventions.TraitNameSuffix to enforce that trait names are suffixed with "Trait"
    • Thanks to Anna Borzenko for the contribution
  • Generic.CodeAnalysis.UnusedFunctionParameter can now be configured to ignore variable usage for specific type hints
    • This allows you to suppress warnings for some variables that are not required, but leave warnings for others
    • Set the ignoreTypeHints array property to a list of type hints to ignore
    • Thanks to Petr Bugyík for the patch
  • Generic.Formatting.MultipleStatementAlignment can now align statements at the start of the assignment token
    • Previously, the sniff enforced that the values were aligned, even if this meant the assignment tokens were not
    • Now, the sniff can enforce that the assignment tokens are aligned, even if this means the values are not
    • Set the alignAtEnd sniff property to false to align the assignment tokens
    • The default remains at true, so the assigned values are aligned
    • Thanks to John P. Bloch for the patch
  • Generic.PHP.LowerCaseType now supports checking of typed properties
    • Thanks to Juliette Reinders Folmer for the patch
  • Generic.PHP.LowerCaseType now supports checking of union types
    • Thanks to Juliette Reinders Folmer for the patch
  • PEAR.Commenting.FunctionComment and Squiz.Commenting.FunctionComment sniffs can now ignore private and protected methods
    • Set the minimumVisibility sniff property to protected to ignore private methods
    • Set the minimumVisibility sniff property to public to ignore both private and protected methods
    • The default remains at private, so all methods are checked
    • Thanks to Vincent Langlet for the patch
  • PEAR.Commenting.FunctionComment and Squiz.Commenting.FunctionComment sniffs can now ignore return tags in any method
    • Previously, only __construct and __destruct were ignored
    • Set the list of method names to ignore in the specialMethods sniff property
    • The default remains at __construct and __destruct only
    • Thanks to Vincent Langlet for the patch
  • PSR2.ControlStructures.SwitchDeclaration now supports nested switch statements where every branch terminates
    • Previously, if a CASE only contained a SWITCH and no direct terminating statement, a fall-through error was displayed
    • Now, the error is suppressed if every branch of the SWITCH has a terminating statement
    • Thanks to Vincent Langlet for the patch
  • The PSR2.Methods.FunctionCallSignature.SpaceBeforeCloseBracket error message is now reported on the closing parenthesis token
    • Previously, the error was being reported on the function keyword, leading to confusing line numbers in the error report
  • Squiz.Commenting.FunctionComment is now able to ignore function comments that are only inheritdoc statements
    • Set the skipIfInheritdoc sniff property to true to skip checking function comments if the content is only {@​inhertidoc}
    • The default remains at false, so these comments will continue to report errors
    • Thanks to Jess Myrbo for the patch
  • Squiz.Commenting.FunctionComment now supports the PHP 8 mixed type
    • Thanks to Vadim Borodavko for the patch
  • Squiz.PHP.NonExecutableCode now has improved handling of syntax errors
    • Thanks to Thiemo Kreuz for the patch
  • Squiz.WhiteSpace.ScopeKeywordSpacing now checks spacing when using PHP 8.0 constructor property promotion
    • Thanks to Juliette Reinders Folmer for the patch
  • Fixed an issue that could occur when checking files on network drives, such as with WSL2 on Windows 10
    • This works around a long-standing PHP bug with is_readable()
    • Thanks to Michael S for the patch
  • Fixed a number of false positives in the Squiz.PHP.DisallowMultipleAssignments sniff
    • Sniff no longer errors for default value assignments in arrow functions
    • Sniff no longer errors for assignments on first line of closure
    • Sniff no longer errors for assignments after a goto label
    • Thanks to Jaroslav Hanslík for the patch
  • Fixed bug #​2913 : Generic.WhiteSpace.ScopeIndent false positive when opening and closing tag on same line inside conditional
  • Fixed bug #​2992 : Enabling caching using a ruleset produces invalid cache files when using --sniffs and --exclude CLI args
  • Fixed bug #​3003 : Squiz.Formatting.OperatorBracket autofix incorrect when assignment used with null coalescing operator
  • Fixed bug #​3145 : Autoloading of sniff fails when multiple classes declared in same file
  • Fixed bug #​3157 : PSR2.ControlStructures.SwitchDeclaration.BreakIndent false positive when case keyword is not indented
  • Fixed bug #​3163 : Undefined index error with pre-commit hook using husky on PHP 7.4
    • Thanks to Ismo Vuorinen for the patch
  • Fixed bug #​3165 : Squiz.PHP.DisallowComparisonAssignment false positive when comparison inside closure
  • Fixed bug #​3167 : Generic.WhiteSpace.ScopeIndent false positive when using PHP 8.0 constructor property promotion
  • Fixed bug #​3170 : Squiz.WhiteSpace.OperatorSpacing false positive when using negation with string concat
    • This also fixes the same issue in the PSR12.Operators.OperatorSpacing sniff
  • Fixed bug #​3177 : Incorrect tokenization of GOTO statements in mixed PHP/HTML files
    • Thanks to Juliette Reinders Folmer for the patch
  • Fixed bug #​3184 : PSR2.Namespace.NamespaceDeclaration false positive on namespace operator
    • Thanks to Juliette Reinders Folmer for the patch
  • Fixed bug #​3188 : Squiz.WhiteSpace.ScopeKeywordSpacing false positive for static return type
    • Thanks to Juliette Reinders Folmer for the patch
  • Fixed bug #​3192 : findStartOfStatement doesn't work correctly inside switch
    • Thanks to Vincent Langlet for the patch
  • Fixed bug #​3195 : Generic.WhiteSpace.ScopeIndent confusing message when combination of tabs and spaces found
  • Fixed bug #​3197 : Squiz.NamingConventions.ValidVariableName does not use correct error code for all member vars
  • Fixed bug #​3219 : Generic.Formatting.MultipleStatementAlignment false positive for empty anonymous classes and closures
  • Fixed bug #​3258 : Squiz.Formatting.OperatorBracket duplicate error messages for unary minus
    • Thanks to Juliette Reinders Folmer for the patch
  • Fixed bug #​3273 : Squiz.Functions.FunctionDeclarationArgumentSpacing reports line break as 0 spaces between parenthesis
  • Fixed bug #​3277 : Nullable static return typehint causes whitespace error
  • Fixed bug #​3284 : Unused parameter false positive when using array index in arrow function

v3.5.8

Compare Source

  • 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

v3.5.7

Compare Source

  • 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

v3.5.6

Compare Source

  • Added support for PHP 8.0 magic constant dereferencing
    • Thanks to Juliette Reinders Folmer for the patch
  • Added support for changes to the way PHP 8.0 tokenizes 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
  • File::getMethodProperties() now detects the PHP 8.0 static return type
    • Thanks to Juliette Reinders Folmer for the patch
  • The PHP 8.0 static return type is now supported for arrow functions
    • Thanks to Juliette Reinders Folmer for the patch
  • The cache is no longer used if the list of loaded PHP extensions changes
    • Thanks to Juliette Reinders Folmer for the patch
  • Generic.NamingConventions.CamelCapsFunctionName no longer reports __serialize and __unserialize as invalid names
    • Thanks to Filip Š for the patch
  • PEAR.NamingConventions.ValidFunctionName no longer reports __serialize and __unserialize as invalid names
    • Thanks to Filip Š for the patch
  • Squiz.Scope.StaticThisUsage now detects usage of $this inside closures and arrow functions
    • Thanks to Michał Bundyra for the patch
  • Fixed bug #​2877 : PEAR.Functions.FunctionCallSignature false positive for array of functions
    • Thanks to Vincent Langlet for the patch
  • Fixed bug #​2888 : PSR12.Files.FileHeader blank line error with multiple namespaces in one file
  • Fixed bug #​2926 : phpcs hangs when using arrow functions that return heredoc
  • Fixed bug #​2943 : Redundant semicolon added to a file when fixing PSR2.Files.ClosingTag.NotAllowed
  • Fixed bug #​2967 : Markdown generator does not output headings correctly
    • Thanks to Petr Bugyík for the patch
  • Fixed bug #​2977 : File::isReference() does not detect return by reference for closures
    • Thanks to Juliette Reinders Folmer for the patch
  • Fixed bug #​2994 : Generic.Formatting.DisallowMultipleStatements false positive for FOR loop with no body
  • Fixed bug #​3033 : Error generated during tokenizing of goto statements on PHP 8
    • Thanks to Juliette Reinders Folmer for the patch

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot force-pushed the renovate/squizlabs-php_codesniffer-3.x-lockfile branch from 650acfd to a818af2 Compare September 19, 2023 23:48
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants