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): ⬆️ bump squizlabs/php_codesniffer to v3.8.1 #3163

Merged
merged 1 commit into from
Jan 18, 2024

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Dec 11, 2023

Mend Renovate

This PR contains the following updates:

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

Release Notes

PHPCSStandards/PHP_CodeSniffer (squizlabs/php_codesniffer)

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 PHPCSStandards/PHP_CodeSniffer!

Breaking Changes
  • The squizlabs/PHP_CodeSniffer repository has been abandoned. The PHPCSStandards/PHP_CodeSniffer repository will serve as the continuation of the project. For more information about this change, please read the announcement.
    • Installation of PHP_CodeSniffer via PEAR is no longer supported.
      • Users will need to switch to another installation method.
      • Note: this does not affect the PEAR sniffs.
    • For Composer users, nothing changes.
      • In contrast to earlier information, the squizlabs/php_codesniffer package now points to the new repository and everything will continue to work as before.
    • PHIVE users may need to clear the PHIVE URL cache.
      • PHIVE users who don't use the package alias, but refer to the package URL, will need to update the URL from https://squizlabs.github.io/PHP_CodeSniffer/phars/ to https://phars.phpcodesniffer.com/phars/.
    • Users who download the PHAR files using curl or wget, will need to update the download URL from https://squizlabs.github.io/PHP_CodeSniffer/[phpcs|phpcbf].phar or https://github.com/squizlabs/PHP_CodeSnifffer/releases/latest/download/[phpcs|phpcbf].phar to https://phars.phpcodesniffer.com/[phpcs|phpcbf].phar.
    • For users who install PHP_CodeSniffer via the setup-php action runner for GitHub Actions, nothing changes.
    • Users using a git clone will need to update the clone address from [email protected]:squizlabs/PHP_CodeSniffer.git to [email protected]:PHPCSStandards/PHP_CodeSniffer.git.
      • Contributors will need to fork the new repo and add both the new fork as well as the new repo as remotes to their local git copy of PHP_CodeSniffer.
      • Users who have (valid) open issues or pull requests in the squizlabs/PHP_CodeSniffer repository are invited to resubmit these to the PHPCSStandards/PHP_CodeSniffer repository.
Added
  • Runtime support for PHP 8.3. All known PHP 8.3 deprecation notices have been fixed
    • Syntax support for new PHP 8.3 features will follow in a future release
    • If you find any PHP 8.3 deprecation notices which were missed, please report them
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patches
  • Added support for PHP 8.2 readonly classes to File::getClassProperties() through a new is_readonly array index in the return value
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Added support for PHP 8.2 readonly classes to a number of sniffs
    • Generic.CodeAnalysis.UnnecessaryFinalModifier
    • PEAR.Commenting.ClassComment
    • PEAR.Commenting.FileComment
    • PSR1.Files.SideEffects
    • PSR2.Classes.ClassDeclaration
    • PSR12.Files.FileHeader
    • Squiz.Classes.ClassDeclaration
    • Squiz.Classes.LowercaseClassKeywords
    • Squiz.Commenting.ClassComment
    • Squiz.Commenting.DocCommentAlignment
    • Squiz.Commenting.FileComment
    • Squiz.Commenting.InlineComment
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Added support for PHP 8.2 true as a stand-alone type declaration
    • The File::getMethodProperties(), File::getMethodParameters() and File::getMemberProperties() methods now all support the true type
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Added support for PHP 8.2 true as a stand-alone type to a number of sniffs
    • Generic.PHP.LowerCaseType
    • PSr12.Functions.NullableTypeDeclaration
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Added a Performance report to allow for finding "slow" sniffs
    • To run this report, run PHPCS with --report=Performance.
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Generic.PHP.RequireStrictTypes : new warning for when there is a declare statement, but the strict_types directive is set to 0
    • The warning can be turned off by excluding the Generic.PHP.RequireStrictTypes.Disabled error code
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Squiz.Commenting.FunctionComment : new ParamNameUnexpectedAmpersandPrefix error for parameters annotated as passed by reference while the parameter is not passed by reference
  • Documentation has been added for the following sniffs:
    • PSR2.Files.ClosingTag
    • PSR2.Methods.FunctionCallSignature
    • PSR2.Methods.FunctionClosingBrace
    • Thanks to Atsushi Okui (@​blue32a) for the patch
  • Support for PHPUnit 8 and 9 to the test suite
    • Test suites for external standards which run via the PHPCS native test suite can now run on PHPUnit 4-9 (was 4-7)
    • If any of these tests use the PHPUnit setUp()/tearDown() methods or overload the setUp() in the AbstractSniffUnitTest test case, they will need to be adjusted. See the PR details for further information
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
Changed
  • Changes have been made to the way PHPCS handles invalid sniff properties being set in a custom ruleset
    • Fixes PHP 8.2 deprecation notices for properties set in a (custom) ruleset for complete standards/complete sniff categories
    • Invalid sniff properties set for individual sniffs will now result in an error and halt the execution of PHPCS
      • A descriptive error message is provided to allow users to fix their ruleset
    • Sniff properties set for complete standards/complete sniff categories will now only be set on sniffs which explicitly support the property
      • The property will be silently ignored for those sniffs which do not support the property
    • Invalid sniff properties set for sniffs via inline annotations will result in an informative Internal.PropertyDoesNotExist errror on line 1 of the scanned file, but will not halt the execution of PHPCS
    • For sniff developers, it is strongly recommended for sniffs to explicitly declare any user-adjustable public properties
      • If dynamic properties need to be supported for a sniff, either declare the magic __set()/__get()/__isset()/__unset() methods on the sniff or let the sniff extend stdClass
      • Note: The #[\AllowDynamicProperties] attribute will have no effect for properties which are being set in rulesets
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • The third parameter for the Ruleset::setSniffProperty() method has been changed to expect an array
    • Sniff developers/integrators of PHPCS may need to make some small adjustments to allow for this change
    • Existing code will continue to work but will throw a deprecation error
    • The backwards compatiblity layer will be removed in PHPCS 4.0
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • When using auto report width (the default) a value of 80 columns will be used if the width cannot be determined
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Sniff error messages are now more informative to help bugs get reported to the correct project
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Generic.CodeAnalysis.UnusedFunctionParameter will now ignore magic methods for which the signature is defined by PHP
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Generic.Functions.OpeningFunctionBraceBsdAllman will now check the brace indent before the opening brace for empty functions
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Generic.Functions.OpeningFunctionBraceKernighanRitchie will now check the spacing before the opening brace for empty functions
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Generic.WhiteSpace.IncrementDecrementSpacing now detects more spacing issues
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • PSR2.Classes.PropertyDeclaration now enforces that the readonly modifier comes after the visibility modifier
    • PSR2 and PSR12 do not have documented rules for this as they pre-date the readonly modifier
    • PSR-PER has been used to confirm the order of this keyword so it can be applied to PSR2 and PSR12 correctly
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • PEAR.Commenting.FunctionComment + Squiz.Commenting.FunctionComment: the SpacingAfter error can now be auto-fixed
  • Squiz.PHP.InnerFunctions sniff no longer reports on OO methods for OO structures declared within a function or closure
  • Squiz.PHP.NonExecutableCode will now also flag redundant return statements just before a closure close brace
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Runtime performance improvement for PHPCS CLI users. The improvement should be most noticeable for users on Windows.
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • The following sniffs have received performance related improvements:
    • Generic.PHP.LowerCaseConstant
    • Generic.PHP.LowerCaseType
    • PSR12.Files.OpenTag
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patches
  • The -e (explain) command will now list sniffs in natural order
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Tests using the PHPCS native test framework with multiple test case files will now run the test case files in numeric order.
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • The following sniffs have received minor message readability improvements:
    • Generic.Arrays.ArrayIndent
    • Generic.Formatting.SpaceAfterCast
    • Generic.Formatting.SpaceAfterNot
    • Generic.WhiteSpace.SpreadOperatorSpacingAfter
    • Squiz.Arrays.ArrayDeclaration
    • Squiz.Commenting.DocCommentAlignment
    • Squiz.ControlStructures.ControlSignature
    • Thanks to Danny van der Sluijs (@​DannyvdSluijs) and Juliette Reinders Folmer (@​jrfnl) for the patches
  • Improved README syntax highlighting
  • Various documentation improvements
Removed
  • Removed support for installation via PEAR
    • Use composer or the PHAR files instead
Fixed
  • Fixed bug #​2857 : Squiz/NonExecutableCode: prevent false positives when exit is used in a ternary expression or as default with null coalesce
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3386 : PSR1/SideEffects : improved recognition of disable/enable annotations
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3557 : Squiz.Arrays.ArrayDeclaration will now ignore PHP 7.4 array unpacking when determining whether an array is associative
  • Fixed bug #​3592 : Squiz/NonExecutableCode: prevent false positives when a PHP 8.0+ inline throw expression is encountered
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3715 : Generic/UnusedFunctionParameter: fixed incorrect errorcode for closures/arrow functions nested within extended classes/classes which implement
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3717 : Squiz.Commenting.FunctionComment: fixed false positive for InvalidNoReturn when type is never
    • Thanks to Choraimy Kroonstuiver (@​axlon) for the patch
  • Fixed bug #​3720 : Generic/RequireStrictTypes : will now bow out silently in case of parse errors/live coding instead of throwing false positives/false negatives
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3720 : Generic/RequireStrictTypes : did not handle multi-directive declare statements
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3722 : Potential "Uninitialized string offset 1" in octal notation backfill
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3736 : PEAR/FunctionDeclaration: prevent fixer removing the close brace (and creating a parse error) when there is no space between the open brace and close brace of a function
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3739 : PEAR/FunctionDeclaration: prevent fixer conflict, and potentially creating a parse error, for unconventionally formatted return types
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3770 : Squiz/NonExecutableCode: prevent false positives for switching between PHP and HTML
  • Fixed bug #​3773 : Tokenizer/PHP: tokenization of the readonly keyword when used in combination with PHP 8.2 disjunctive normal types
  • Fixed bug #​3776 : Generic/JSHint: error when JSHint is not available
  • Fixed bug #​3777 : Squiz/NonExecutableCode: slew of bug fixes, mostly related to modern PHP
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3778 : Squiz/LowercasePHPFunctions: bug fix for class names in attributes
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3779 : Generic/ForbiddenFunctions: bug fix for class names in attributes
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3785 : Squiz.Commenting.FunctionComment: potential "Uninitialized string offset 0" when a type contains a duplicate pipe symbol
  • Fixed bug #​3787 : PEAR/Squiz/[MultiLine]FunctionDeclaration: allow for PHP 8.1 new in initializers
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3789 : Incorrect tokenization for ternary operator with match inside of it
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3790 : PSR12/AnonClassDeclaration: prevent fixer creating parse error when there was no space before the open brace
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3797 : Tokenizer/PHP: more context sensitive keyword fixes
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3801 : File::getMethodParameters(): allow for readonly promoted properties without visibility
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3805 : Generic/FunctionCallArgumentSpacing: prevent fixer conflict over PHP 7.3+ trailing comma's in function calls
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3806 : Squiz.PHP.InnerFunctions sniff now correctly reports inner functions declared within a closure
  • Fixed bug #​3809 : GitBlame report was broken when passing a basepath
  • Fixed bug #​3813 : Squiz.Commenting.FunctionComment: false positive for parameter name mismatch on parameters annotated as passed by reference
  • Fixed bug #​3833 : Generic.PHP.LowerCaseType: fixed potential undefined array index notice
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3846 : PSR2.Classes.ClassDeclaration.CloseBraceAfterBody : fixer will no longer remove indentation on the close brace line
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3854 : Fatal error when using Gitblame report in combination with --basepath and running from project subdirectory
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3856 : PSR12.Traits.UseDeclaration was using the wrong error code - SpacingAfterAs - for spacing issues after the use keyword
    • These will now be reported using the SpacingAfterUse error code
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3856 : PSR12.Traits.UseDeclaration did not check spacing after use keyword for multi-line trait use statements
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3867 : Tokenizer/PHP: union type and intersection type operators were not correctly tokenized for static properties without explicit visibility
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3877 : Filter names can be case-sensitive. The -h help text will now display the correct case for the available filters
  • Fixed bug #​3893 : Generic/DocComment : the SpacingAfterTagGroup fixer could accidentally remove ignore annotations
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3898 : Squiz/NonExecutableCode : the sniff could get confused over comments in unexpected places
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3904 : Squiz/FunctionSpacing : prevent potential fixer conflict
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch
  • Fixed bug #​3906 : Tokenizer/CSS: bug fix related to the unsupported slash comment syntax
  • Fixed bug #​3913 : Config did not always correctly store unknown "long" arguments in the $unknown property
    • Thanks to Juliette Reinders Folmer (@​jrfnl) for the patch

Thanks go to Dan Wallis (@​fredden) and Danny van der Sluijs (@​DannyvdSluijs) for reviewing quite a few of the PRs for this release.
Additionally, thanks to Alexander Turek (@​derrabus) for consulting on the repo change over.


Configuration

📅 Schedule: Branch creation - "before 4am on Monday" in timezone America/Chicago, 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 branch from 306025c to b2cfb35 Compare January 18, 2024 17:50
@renovate renovate bot changed the title chore(deps): ⬆️ bump squizlabs/php_codesniffer to v3.8.0 chore(deps): ⬆️ bump squizlabs/php_codesniffer to v3.8.1 Jan 18, 2024
@retlehs retlehs merged commit 4301b28 into main Jan 18, 2024
4 checks passed
@retlehs retlehs deleted the renovate/squizlabs-php_codesniffer-3.x branch January 18, 2024 17:53
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.

1 participant