Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update dependency squizlabs/php_codesniffer to v3.11.2 #95

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

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Feb 2, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
squizlabs/php_codesniffer 3.7.2 -> 3.11.2 age adoption passing confidence

Release Notes

PHPCSStandards/PHP_CodeSniffer (squizlabs/php_codesniffer)

v3.11.2

Compare Source

Changed
  • Generators/HTML + Markdown: the output will now be empty (no page header/footer) when there are no docs to display. #​687
    • This is in line with the Text Generator which already didn't produce output if there are no docs.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch.
  • Generators/HTML: only display a Table of Contents when there is more than one sniff with documentation. #​697
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch.
  • Generators/HTML: improved handling of line breaks in <standard> blocks. #​723
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch.
  • Generators/Markdown: improved compatibility with the variety of available markdown parsers. #​722
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch.
  • Generators/Markdown: improved handling of line breaks in <standard> blocks. #​737
    • This prevents additional paragraphs from being displayed as code blocks.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch.
  • Generic.NamingConventions.UpperCaseConstantName: the exact token containing the non-uppercase constant name will now be identified with more accuracy. #​665
  • Generic.Functions.OpeningFunctionBraceKernighanRitchie: minor improvement to the error message wording. #​736
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch.
  • Various housekeeping, including improvements to the tests and documentation.
Fixed
  • Fixed bug #​527 : Squiz.Arrays.ArrayDeclaration: short lists within a foreach condition should be ignored.
  • Fixed bug #​665 : Generic.NamingConventions.UpperCaseConstantName: false positives and false negatives when code uses unconventional spacing and comments when calling define().
  • Fixed bug #​665 : Generic.NamingConventions.UpperCaseConstantName: false positive when a constant named DEFINE is encountered.
  • Fixed bug #​665 : Generic.NamingConventions.UpperCaseConstantName: false positive for attribute class called define.
  • Fixed bug #​665 : Generic.NamingConventions.UpperCaseConstantName: false positive when handling the instantiation of a class named define.
  • Fixed bug #​688 : Generators/Markdown could leave error_reporting in an incorrect state.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch.
  • Fixed bug #​698 : Generators/Markdown : link in the documentation footer would not parse as a link.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch.
  • Fixed bug #​738 : Generators/Text: stray blank lines after code sample titles.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch.
  • Fixed bug #​739 : Generators/HTML + Markdown: multi-space whitespace within a code sample title was folded into a single space.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch.

v3.11.1

Compare Source

Changed
  • Output from the --generator=... feature will respect the OS-expected EOL char in more places. #​671
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch.
  • Various housekeeping, including improvements to the tests and documentation.
    • Thanks to [Bartosz Dziewoński][@​MatmaRex] and [Juliette Reinders Folmer][@​jrfnl] for their contributions.
Fixed
  • Fixed bug #​674 : Generic.WhiteSpace.HereNowdocIdentifierSpacing broken XML documentation
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch.
  • Fixed bug #​675 : InvalidArgumentException when a ruleset includes a sniff by file name and the included sniff does not comply with the PHPCS naming conventions.
    • Notwithstanding this fix, it is strongly recommended to ensure custom sniff classes comply with the PHPCS naming conventions.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch.

v3.11.0

Compare Source

Added
  • Runtime support for PHP 8.4. All known PHP 8.4 deprecation notices have been fixed.
    • Syntax support for new PHP 8.4 features will follow in a future release.
    • If you find any PHP 8.4 deprecation notices which were missed, please report them.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patches.
  • Tokenizer support for PHP 8.3 "yield from" expressions with a comment between the keywords. #​529, #​647
    • Sniffs explicitly handling T_YIELD_FROM tokens may need updating. The PR description contains example code for use by sniff developers.
    • Additionally, the following sniff has been updated to support "yield from" expressions with comments:
      • Generic.WhiteSpace.LanguageConstructSpacing
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch.
  • New Generic.WhiteSpace.HereNowdocIdentifierSpacing sniff. #​586, #​637
    • Forbid whitespace between the <<< and the identifier string in heredoc/nowdoc start tokens.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch.
  • New Generic.Strings.UnnecessaryHeredoc sniff. #​633
    • Warns about heredocs without interpolation or expressions in the body text and can auto-fix these to nowdocs.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch.
  • Documentation for the following sniffs:
    • Generic.Arrays.ArrayIndent
    • Squiz.PHP.Heredoc
    • Thanks to [Rodrigo Primo][@​rodrigoprimo] and [Juliette Reinders Folmer][@​jrfnl] for the patches.
Changed
  • The Common::getSniffCode() method will now throw an InvalidArgumentException exception if an invalid $sniffClass is passed. #​524, #​625
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch.
  • Documentation generated using the --generator=... feature will now always be presented in natural order based on the sniff name(s). #​668
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch.
  • Minor improvements to the display of runtime information. #​658
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch.
  • Squiz.Commenting.PostStatementComment: trailing annotations in PHP files will now be reported under a separate, non-auto-fixable error code AnnotationFound. #​560, #​627
    • This prevents (tooling related) annotations from taking on a different meaning when moved by the fixer.
    • The separate error code also allows for selectively excluding it to prevent the sniff from triggering on trailing annotations, while still forbidding other trailing comments.
    • Thanks to [Rodrigo Primo][@​rodrigoprimo] for the patch.
  • Squiz.ControlStructures.ForEachLoopDeclaration: the SpacingAfterOpen error code has been replaced by the SpaceAfterOpen error code. The latter is a pre-existing code. The former appears to have been a typo. #​582
  • The following sniff(s) have received efficiency improvements:
    • Generic.Classes.DuplicateClassName
    • Generic.NamingConventions.ConstructorName
    • Thanks to [Rodrigo Primo][@​rodrigoprimo] and [Juliette Reinders Folmer][@​jrfnl] for the patches.
  • Various housekeeping, including improvements to the tests and documentation.
Fixed
  • Fixed bug #​3808 : Generic.WhiteSpace.ScopeIndent would throw false positive for tab indented multi-token yield from expression.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​630 : The tokenizer could inadvertently transform "normal" parentheses to DNF parentheses, when a function call was preceded by a switch-case / alternative syntax control structure colon.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​645 : On PHP 5.4, if yield was used as the declaration name for a function declared to return by reference, the function name would incorrectly be tokenized as T_YIELD instead of T_STRING.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​647 : Tokenizer not applying tab replacement in single token "yield from" keywords.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​647 : Generic.WhiteSpace.DisallowSpaceIndent did not flag space indentation in multi-line yield from.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​647 : Generic.WhiteSpace.DisallowTabIndent did not flag tabs inside yield from.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​652 : Generic.NamingConventions.ConstructorName: false positives for PHP-4 style calls to PHP-4 style parent constructor when a method with the same name as the parent class was called on another class.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​652 : Generic.NamingConventions.ConstructorName: false negatives for PHP-4 style calls to parent constructor for function calls with whitespace and comments in unconventional places.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​653 : Generic.Classes.DuplicateClassName : the sniff did not skip namespace keywords used as operators, which could lead to false positives.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​653 : Generic.Classes.DuplicateClassName : sniff going into an infinite loop during live coding.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​653 : Generic.Classes.DuplicateClassName : false positives/negatives when a namespace declaration contained whitespace or comments in unconventional places.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​653 : Generic.Classes.DuplicateClassName : namespace for a file going in/out of PHP was not remembered/applied correctly.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch

v3.10.3

Compare Source

Changed
  • Various housekeeping, including improvements to the tests and documentation.
Fixed
  • Fixed bug #​553 : Squiz.Classes.SelfMemberReference: false negative(s) when namespace operator was encountered between the namespace declaration and the OO declaration.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​579 : AbstractPatternSniff: potential PHP notice during live coding.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​580 : Squiz.Formatting.OperatorBracket: potential PHP notice during live coding.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​581 : PSR12.ControlStructures.ControlStructureSpacing: prevent fixer conflict by correctly handling multiple empty newlines before the first condition in a multi-line control structure.
  • Fixed bug #​585 : Tokenizer not applying tab replacement in heredoc/nowdoc openers.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​588 : Squiz.PHP.EmbeddedPhp false positive when checking spaces after a PHP short open tag.
  • Fixed bug #​597 : Generic.PHP.LowerCaseKeyword did not flag nor fix non-lowercase anonymous class keywords.
    • Thanks to [Marek Štípek][@​maryo] for the patch.
  • Fixed bug #​598 : Squiz.PHP.DisallowMultipleAssignments: false positive on assignments to variable property on object stored in array.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​608 : Squiz.Functions.MultiLineFunctionDeclaration did not take (parameter) attributes into account when checking for one parameter per line.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
Other
  • The provenance of PHAR files associated with a release can now be verified via GitHub Artifact Attestations using the GitHub CLI tool with the following command: gh attestation verify [phpcs|phpcbf].phar -o PHPCSStandards. #​574
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch.

v3.10.2

Compare Source

Changed
  • The following sniff(s) have received efficiency improvements:
    • Generic.Functions.FunctionCallArgumentSpacing
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch.
  • The array format of the information passed to the Reports::generateFileReport() method is now documented in the Reports interface. #​523
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch.
  • Various housekeeping, including improvements to the tests and documentation.
Fixed
  • Fixed bug #​513 : Generic.Functions.FunctionCallArgumentSpacing did not ignore the body of a match expressions passed as a function argument, which could lead to false positives.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​533 : Generic.WhiteSpace.DisallowTabIndent: tab indentation for heredoc/nowdoc closers will no longer be auto-fixed to prevent parse errors. The issue will still be reported.
    • The error code for heredoc/nowdoc indentation using tabs has been made more specific - TabsUsedHeredocCloser - to allow for selectively excluding the indentation check for heredoc/nowdoc closers.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​534 : Generic.WhiteSpace.DisallowSpaceIndent did not report on space indentation for PHP 7.3 flexible heredoc/nowdoc closers.
    • Closers using space indentation will be reported with a dedicated error code: SpacesUsedHeredocCloser.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​537 : Squiz.PHP.DisallowMultipleAssignments false positive for list assignments at the start of a new PHP block after an embedded PHP statement.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​551 : Squiz.PHP.DisallowMultipleAssignments prevent false positive for function parameters during live coding.
  • Fixed bug #​554 : Generic.CodeAnalysis.UselessOverridingMethod edge case false negative when the call to the parent method would end on a PHP close tag.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​555 : Squiz.Classes.SelfMemberReference edge case false negative when the namespace declaration would end on a PHP close tag.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch

v3.10.1

Compare Source

Added
  • Documentation for the following sniffs:
    • Generic.Commenting.DocComment
    • Thanks to [Rodrigo Primo][@​rodrigoprimo] for the patch.
Changed
  • The following have received efficiency improvements:
    • Type handling in the PHP Tokenizer
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch.
  • Various housekeeping, including improvements to the tests and documentation.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for their contributions.
Fixed
  • Fixed bug #​110, #​437, #​475: File::findStartOfStatement(): the start of statement/expression determination for tokens in parentheses/short array brackets/others scopes, nested within match expressions, was incorrect in most cases.
    The trickle down effect of the bug fixes made to the File::findStartOfStatement() method, is that the Generic.WhiteSpace.ScopeIndent and the PEAR.WhiteSpace.ScopeIndent sniffs should now be able to correctly determine and fix the indent for match expressions containing nested expressions.
    These fixes also fix an issue with the Squiz.Arrays.ArrayDeclaration sniff and possibly other, unreported bugs.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​504: The tokenizer could inadvertently mistake the last parameter in a function call using named arguments for a DNF type.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​508: Tokenizer/PHP: extra hardening against handling parse errors in the type handling layer.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch

v3.10.0

Compare Source

Added
  • Tokenizer support for PHP 8.2 Disjunctive Normal Form (DNF) types. #​3731, #​387, #​461
    • Includes new T_TYPE_OPEN_PARENTHESIS and T_TYPE_CLOSE_PARENTHESIS tokens to represent the parentheses in DNF types.
    • These new tokens, like other parentheses, will have the parenthesis_opener and parenthesis_closer token array indexes set and the tokens between them will have the nested_parenthesis index.
    • The File::getMethodProperties(), File::getMethodParameters() and File::getMemberProperties() methods now all support DNF types. #​471, #​472, #​473
    • Additionally, the following sniff has been updated to support DNF types:
      • Generic.PHP.LowerCaseType #​478
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patches.
  • Documentation for the following sniffs:
    • Squiz.WhiteSpace.FunctionClosingBraceSpace
    • Thanks to [Przemek Hernik][@​przemekhernik] for the patch.
Changed
  • The help screens have received a face-lift for improved usability and readability. #​447
  • The Squiz.Commenting.ClosingDeclarationComment sniff will now also examine and flag closing comments for traits. #​442
  • The following sniff(s) have efficiency improvements:
    • Generic.Arrays.ArrayIndent
    • Thanks to [Rodrigo Primo][@​rodrigoprimo] for the patch.
  • The autoloader will now always return a boolean value indicating whether it has loaded a class or not. #​479
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch.
  • Various housekeeping, including improvements to the tests and documentation.
Fixed
  • Fixed bug #​466 : Generic.Functions.CallTimePassByReference was not flagging call-time pass-by-reference in class instantiations using the self/parent/static keywords.
  • Fixed bug #​494 : edge case bug in tokenization of an empty block comment.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​494 : edge case bug in tokenization of an empty single-line DocBlock.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​499 : Generic.ControlStructures.InlineControlStructure now handles statements with a comment between else and if correctly.

v3.9.2

Compare Source

Changed
  • The Generic.ControlStructures.DisallowYodaConditions sniff no longer listens for the null coalesce operator. #​458
  • Various housekeeping, including improvements to the tests and documentation.
Fixed
  • Fixed bug #​381 : Squiz.Commenting.ClosingDeclarationComment could throw the wrong error when the close brace being examined is at the very end of a file.
  • Fixed bug #​385 : Generic.CodeAnalysis.JumbledIncrementer improved handling of parse errors/live coding.
  • Fixed bug #​394 : Generic.Functions.CallTimePassByReference was not flagging call-time pass-by-reference in anonymous class instantiations
  • Fixed bug #​420 : PEAR.Functions.FunctionDeclaration could run into a blocking PHP notice while fixing code containing a parse error.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​421 : File::getMethodProperties() small performance improvement & more defensive coding.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​423 : PEAR.WhiteSpace.ScopeClosingBrace would have a fixer conflict with itself when a close tag was preceded by non-empty inline HTML.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​424 : PSR2.Classes.ClassDeclaration using namespace relative interface names in the extends/implements part of a class declaration would lead to a fixer conflict.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​427 : Squiz.Operators.OperatorSpacing would have a fixer conflict with itself when an operator was preceeded by a new line and the previous line ended in a comment.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​430 : Squiz.ControlStructures.ForLoopDeclaration: fixed potential undefined array index notice
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​431 : PSR2.Classes.ClassDeclaration will no longer try to auto-fix multi-line interface implements statements if these are interlaced with comments on their own line. This prevents a potential fixer conflict.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​453 : Arrow function tokenization was broken when the return type was a stand-alone true or false; or contained true or false as part of a union type.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
Other
  • ESLint 9.0 has been released and changes the supported configuration file format.
    The (deprecated) Generic.Debug.ESLint sniff only supports the "old" configuration file formats and when using the sniff to run ESLint, the ESLINT_USE_FLAT_CONFIG=false environment variable will need to be set when using ESLint >= 9.0.
    For more information, see #​436.

v3.9.1

Compare Source

Added
  • Documentation for the following sniffs:
    • Generic.PHP.RequireStrictTypes
    • Squiz.WhiteSpace.MemberVarSpacing
    • Squiz.WhiteSpace.ScopeClosingBrace
    • Squiz.WhiteSpace.SuperfluousWhitespace
    • Thanks to [Jay McPartland][@​jonmcp] and [Rodrigo Primo][@​rodrigoprimo] for the patches.
Changed
  • The following sniffs have received performance related improvements:
    • Generic.CodeAnalysis.UselessOverridingMethod
    • Generic.Files.ByteOrderMark
    • Thanks to [Rodrigo Primo][@​rodrigoprimo] for the patches.
  • Performance improvement for the "Diff" report. Should be most notable for Windows users. #​355
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch.
  • The test suite has received some performance improvements. Should be most notable contributors using Windows. #​351
    • External standards with sniff tests using the PHP_CodeSniffer native test framework will also benefit from these changes.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch.
  • Various housekeeping, including improvements to the tests and documentation.
Fixed
  • Fixed bug #​289 : Squiz.WhiteSpace.OperatorSpacing and PSR12.Operators.OperatorSpacing : improved fixer conflict protection by more strenuously avoiding handling operators in declare statements.
  • Fixed bug #​366 : Generic.CodeAnalysis.UselessOverridingMethod : prevent false negative when the declared method name and the called method name do not use the same case.
  • Fixed bug #​368 : Squiz.Arrays.ArrayDeclaration fixer did not handle static closures correctly when moving array items to their own line.
  • Fixed bug #​404 : Test framework : fixed PHP 8.4 deprecation notice.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch

v3.9.0

Compare Source

Added
  • Tokenizer support for PHP 8.3 typed class constants. #​321
    • Additionally, the following sniffs have been updated to support typed class constants:
      • Generic.NamingConventions.UpperCaseConstantName #​332
      • Generic.PHP.LowerCaseConstant #​330
      • Generic.PHP.LowerCaseType #​331
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patches
  • Tokenizer support for PHP 8.3 readonly anonymous classes. #​309
    • Additionally, the following sniffs have been updated to support readonly anonymous classes:
      • PSR12.Classes.ClassInstantiation #​324
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patches
  • New PHP_CodeSniffer\Sniffs\DeprecatedSniff interface to allow for marking a sniff as deprecated. #​281
    • If a ruleset uses deprecated sniffs, deprecation notices will be shown to the end-user before the scan starts.
      When running in -q (quiet) mode, the deprecation notices will be hidden.
    • Deprecated sniffs will still run and using them will have no impact on the exit code for a scan.
    • In ruleset "explain"-mode (-e) an asterix * will show next to deprecated sniffs.
    • Sniff maintainers are advised to read through the PR description for full details on how to use this feature for their own (deprecated) sniffs.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • New Generic.CodeAnalysis.RequireExplicitBooleanOperatorPrecedence sniff. #​197
    • Forbid mixing different binary boolean operators within a single expression without making precedence clear using parentheses
    • Thanks to [Tim Düsterhus][@​TimWolla] for the contribution
  • Squiz.PHP.EmbeddedPhp : the sniff will now also examine the formatting of embedded PHP statements using short open echo tags. #​27
    • Includes a new ShortOpenEchoNoSemicolon errorcode to allow for selectively ignoring missing semicolons in single line embedded PHP snippets within short open echo tags.
    • The other error codes are the same and do not distinguish between what type of open tag was used.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Documentation for the following sniffs:
    • Generic.WhiteSpace.IncrementDecrementSpacing
    • PSR12.ControlStructures.ControlStructureSpacing
    • PSR12.Files.ImportStatement
    • PSR12.Functions.ReturnTypeDeclaration
    • PSR12.Properties.ConstantVisibility
    • Thanks to [Denis Žoljom][@​dingo-d] and [Rodrigo Primo][@​rodrigoprimo] for the patches
Changed
  • The Performance report can now also be used for a phpcbf run. #​308
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Sniff tests which extend the PHPCS native AbstractSniffUnitTest class will now show a (non-build-breaking) warning when test case files contain fixable errors/warnings, but there is no corresponding .fixed file available in the test suite to verify the fixes against. #​336
    • The warning is only displayed on PHPUnit 7.3.0 and higher.
    • The warning will be elevated to a test failure in PHPCS 4.0.
    • Thanks to [Dan Wallis][@​fredden] for the patch
  • The following sniffs have received performance related improvements:
    • Squiz.PHP.EmbeddedPhp
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Various housekeeping, including improvements to the tests and documentation
Deprecated
  • Support for scanning JavaScript and CSS files. See #​2448.
    • This also means that all sniffs which are only aimed at JavaScript or CSS files are now deprecated.
    • The Javascript and CSS Tokenizers, all Javascript and CSS specific sniffs, and support for JS and CSS in select sniffs which support multiple file types, will be removed in version 4.0.0.
  • The abstract PHP_CodeSniffer\Filters\ExactMatch::getBlacklist() and PHP_CodeSniffer\Filters\ExactMatch::getWhitelist() methods are deprecated and will be removed in the 4.0 release. See #​198.
    • In version 4.0, these methods will be replaced with abstract ExactMatch::getDisallowedFiles() and ExactMatch::getAllowedFiles() methods
    • To make Filters extending ExactMatch cross-version compatible with both PHP_CodeSniffer 3.9.0+ as well as 4.0+, implement the new getDisallowedFiles() and getAllowedFiles() methods.
      • When both the getDisallowedFiles() and getAllowedFiles() methods as well as the getBlacklist() and getWhitelist() are available, the new methods will take precedence over the old methods.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • The MySource standard and all sniffs in it. See #​2471.
    • The MySource standard and all sniffs in it will be removed in version 4.0.0.
  • The Zend.Debug.CodeAnalyzer sniff. See #​277.
    • This sniff will be removed in version 4.0.0.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
Fixed
  • Fixed bug #​127 : Squiz.Commenting.FunctionComment : The MissingParamType error code will now be used instead of MissingParamName when a parameter name is provided, but not its type. Additionally, invalid type hint suggestions will no longer be provided in these cases.
  • Fixed bug #​196 : Squiz.PHP.EmbeddedPhp : fixer will no longer leave behind trailing whitespace when moving code to another line.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​196 : Squiz.PHP.EmbeddedPhp : will now determine the needed indent with higher precision in multiple situations.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​196 : Squiz.PHP.EmbeddedPhp : fixer will no longer insert a stray new line when the closer of a multi-line embedded PHP block and the opener of the next multi-line embedded PHP block would be on the same line.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​235 : Generic.CodeAnalysis.ForLoopWithTestFunctionCall : prevent a potential PHP 8.3 deprecation notice during live coding
  • Fixed bug #​288 : Generic.WhiteSpace.IncrementDecrementSpacing : error message for post-in/decrement will now correctly inform about new lines found before the operator.
  • Fixed bug #​296 : Generic.WhiteSpace.ArbitraryParenthesesSpacing : false positive for non-arbitrary parentheses when these follow the scope closer of a switch case.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​307 : PSR2.Classes.ClassDeclaration : space between a modifier keyword and the class keyword was not checked when the space included a new line or comment.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​325 : Squiz.Operators.IncrementDecrementUsage : the sniff was underreporting when there was (no) whitespace and/or comments in unexpected places.
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​335 : PSR12.Files.DeclareStatement : bow out in a certain parse error situation to prevent incorrect auto-fixes from being made.
  • Fixed bug #​340 : Squiz.Commenting.ClosingDeclarationComment : no longer adds a stray newline when adding a missing comment.
Other
  • A "Community cc list" has been introduced to ping maintainers of external standards and integrators for input regarding change proposals for PHP_CodeSniffer which may impact them. #​227
    • For anyone who missed the discussion about this and is interested to be on this list, please feel invited to submit a PR to add yourself.
      The list is located in the .github folder.

v3.8.1

Compare Source

Added
  • Documentation has been added for the following sniffs:
    • Generic.CodeAnalysis.EmptyPHPStatement
    • Generic.Formatting.SpaceBeforeCast
    • Generic.PHP.Syntax
    • Generic.WhiteSpace.LanguageConstructSpacing
    • PSR12.Classes.ClosingBrace
    • PSR12.Classes.OpeningBraceSpace
    • PSR12.ControlStructures.BooleanOperatorPlacement
    • PSR12.Files.OpenTag
    • Thanks to [Rodrigo Primo][@​rodrigoprimo] and [Denis Žoljom][@​dingo-d] for the patches
Changed
  • GitHub releases will now always only contain unversioned release assets (PHARS + asc files) (same as it previously was in the squizlabs repo). See #​205 for context.
    • Thanks to [Shivam Mathur][@​shivammathur] for opening a discussion about this
  • Various housekeeping, includes improvements to the tests and documentation
Fixed
  • Fixed bug #​124 : Report Full : avoid unnecessarily wrapping lines when -s is used
  • Fixed bug #​124 : Report Full : fix incorrect bolding of pipes when -s is used and messages wraps
  • Fixed bug #​150 : Squiz.WhiteSpace.KeywordSpacing : prevent a PHP notice when run during live coding
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​154 : Report Full : delimiter line calculation could go wonky on wide screens when a report contains multi-line messages
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​178 : Squiz.Commenting.VariableComment : docblocks were incorrectly being flagged as missing when a property declaration used PHP native union/intersection type declarations
    • Thanks to [Ferdinand Kuhl][@​fcool] for the patch
  • Fixed bug #​211 : Squiz.Commenting.VariableComment : docblocks were incorrectly being flagged as missing when a property declaration used PHP 8.2+ stand-alone true/false/null type declarations
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​211 : Squiz.Commenting.VariableComment : docblocks were incorrectly being flagged as missing when a property declaration used PHP native parent, self or a namespace relative class name type declaration
    • Thanks to [Juliette Reinders Folmer][@​jrfnl] for the patch
  • Fixed bug #​226 : Generic.CodeAnalysis.ForLoopShouldBeWhileLoop : prevent a potential PHP 8.3 deprecation notice during live coding

v3.8.0

Compare Source

Squizlabs/PHP_CodeSniffer is dead. Long live [PHP


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 was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/squizlabs-php_codesniffer-3.x-lockfile branch from 52670d2 to 7bc0031 Compare February 16, 2024 16:41
@renovate renovate bot changed the title Update dependency squizlabs/php_codesniffer to v3.8.1 Update dependency squizlabs/php_codesniffer to v3.9.0 Feb 16, 2024
@renovate renovate bot force-pushed the renovate/squizlabs-php_codesniffer-3.x-lockfile branch from 7bc0031 to d5296a2 Compare March 31, 2024 23:09
@renovate renovate bot changed the title Update dependency squizlabs/php_codesniffer to v3.9.0 Update dependency squizlabs/php_codesniffer to v3.9.1 Mar 31, 2024
@renovate renovate bot force-pushed the renovate/squizlabs-php_codesniffer-3.x-lockfile branch from d5296a2 to 235a0a1 Compare April 15, 2024 11:39
@renovate renovate bot changed the title Update dependency squizlabs/php_codesniffer to v3.9.1 chore(deps): update dependency squizlabs/php_codesniffer to v3.9.1 Apr 19, 2024
@renovate renovate bot force-pushed the renovate/squizlabs-php_codesniffer-3.x-lockfile branch from 235a0a1 to 3d74fbc Compare April 23, 2024 21:14
@renovate renovate bot changed the title chore(deps): update dependency squizlabs/php_codesniffer to v3.9.1 chore(deps): update dependency squizlabs/php_codesniffer to v3.9.2 Apr 23, 2024
@renovate renovate bot force-pushed the renovate/squizlabs-php_codesniffer-3.x-lockfile branch from 3d74fbc to 99e225d Compare May 20, 2024 15:42
@renovate renovate bot changed the title chore(deps): update dependency squizlabs/php_codesniffer to v3.9.2 chore(deps): update dependency squizlabs/php_codesniffer to v3.10.0 May 20, 2024
@renovate renovate bot force-pushed the renovate/squizlabs-php_codesniffer-3.x-lockfile branch from 99e225d to 38a15a6 Compare May 22, 2024 21:46
@renovate renovate bot changed the title chore(deps): update dependency squizlabs/php_codesniffer to v3.10.0 chore(deps): update dependency squizlabs/php_codesniffer to v3.10.1 May 22, 2024
@renovate renovate bot force-pushed the renovate/squizlabs-php_codesniffer-3.x-lockfile branch from 38a15a6 to 05a8f50 Compare July 21, 2024 23:34
@renovate renovate bot changed the title chore(deps): update dependency squizlabs/php_codesniffer to v3.10.1 chore(deps): update dependency squizlabs/php_codesniffer to v3.10.2 Jul 21, 2024
@renovate renovate bot force-pushed the renovate/squizlabs-php_codesniffer-3.x-lockfile branch from 05a8f50 to a1b38e4 Compare September 18, 2024 14:11
@renovate renovate bot changed the title chore(deps): update dependency squizlabs/php_codesniffer to v3.10.2 chore(deps): update dependency squizlabs/php_codesniffer to v3.10.3 Sep 18, 2024
@renovate renovate bot force-pushed the renovate/squizlabs-php_codesniffer-3.x-lockfile branch 2 times, most recently from 792d098 to b157c66 Compare November 12, 2024 12:55
@renovate renovate bot changed the title chore(deps): update dependency squizlabs/php_codesniffer to v3.10.3 chore(deps): update dependency squizlabs/php_codesniffer to v3.11.0 Nov 12, 2024
@renovate renovate bot force-pushed the renovate/squizlabs-php_codesniffer-3.x-lockfile branch from b157c66 to 793beea Compare November 16, 2024 13:49
@renovate renovate bot changed the title chore(deps): update dependency squizlabs/php_codesniffer to v3.11.0 chore(deps): update dependency squizlabs/php_codesniffer to v3.11.1 Nov 16, 2024
@renovate renovate bot force-pushed the renovate/squizlabs-php_codesniffer-3.x-lockfile branch from 793beea to 6972b1a Compare December 11, 2024 18:12
@renovate renovate bot changed the title chore(deps): update dependency squizlabs/php_codesniffer to v3.11.1 chore(deps): update dependency squizlabs/php_codesniffer to v3.11.2 Dec 11, 2024
Copy link

coderabbitai bot commented Dec 11, 2024

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Experiment)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants