3.9.2 - 2024-04-24
Changed
- The Generic.ControlStructures.DisallowYodaConditions sniff no longer listens for the null coalesce operator. #458
- Thanks to Rodrigo Primo for the patch.
- Various housekeeping, including improvements to the tests and documentation.
- Thanks to Dan Wallis, Rodrigo Primo and Juliette Reinders Folmer for their contributions.
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.
- Thanks to Rodrigo Primo for the patch.
- Fixed bug #385 : Generic.CodeAnalysis.JumbledIncrementer improved handling of parse errors/live coding.
- Thanks to Rodrigo Primo for the patch.
- Fixed bug #394 : Generic.Functions.CallTimePassByReference was not flagging call-time pass-by-reference in anonymous class instantiations
- Thanks to Rodrigo Primo for the patch.
- 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 for the patch
- Fixed bug #421 : File::getMethodProperties() small performance improvement & more defensive coding.
- Thanks to Juliette Reinders Folmer 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 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 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 for the patch
- Fixed bug #430 : Squiz.ControlStructures.ForLoopDeclaration: fixed potential undefined array index notice
- Thanks to Juliette Reinders Folmer 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 for the patch
- Fixed bug #453 : Arrow function tokenization was broken when the return type was a stand-alone
true
orfalse
; or containedtrue
orfalse
as part of a union type.- Thanks to Juliette Reinders Folmer 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, theESLINT_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!