Skip to content

3.9.2 - 2024-04-24

Compare
Choose a tag to compare
@jrfnl jrfnl released this 23 Apr 20:59
· 318 commits to master since this release
3.9.2
aac1f6f

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.
  • Fixed bug #421 : File::getMethodProperties() small performance improvement & more defensive coding.
  • Fixed bug #423 : PEAR.WhiteSpace.ScopeClosingBrace would have a fixer conflict with itself when a close tag was preceded by non-empty inline HTML.
  • 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.
  • 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.
  • Fixed bug #430 : Squiz.ControlStructures.ForLoopDeclaration: fixed potential undefined array index notice
  • 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.
  • 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.

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.

Statistics

Closed: 0 issues
Merged: 22 pull requests

If you like to stay informed about releases and more, follow @phpcs on Mastodon or @PHP_CodeSniffer on X.

If you like what you see, please consider funding the PHP_CodeSniffer project. If you already do so: thank you!