This release includes all improvements and bugfixes from PHP_CodeSniffer 3.13.5.
Added
- Runtime support for PHP 8.5. All known PHP 8.5 deprecation notices have been fixed.
- Syntax support for new PHP 8.5 features will follow in a future release.
- If you find any PHP 8.5 deprecation notices which were missed, please report them.
Changed
- The Squiz.ControlStructures.SwitchDeclaration sniff will now flag a PHP close tag as a "wrong opener" and will auto-fix this by inserting a colon. #1316
- Various housekeeping, including improvements to the tests and documentation.
Fixed
- 4.x regression #1277: bring back whitespace tolerance in
phpcs:ignorecomma-separated rule reference lists.- Note: this bug did not affect
phpcs:disable/phpcs:enableignore annotations.
- Note: this bug did not affect
- Fixed bug #968: Generic.WhiteSpace.ScopeIndent was reporting false positives - and making incorrect fixes - for lines following a line containing an arrow function.
- Thanks to Soichi Sato for the patch.
- Fixed bug #1216: Tokenizer/PHP: added more defensive coding to prevent PHP 8.5 "Using null as an array offset" deprecation notices.
- Thanks to Andrew Lyons for the patch.
- Fixed bug #1279: Tokenizer/PHP: on PHP < 8.0, an unclosed attribute (parse error) could end up removing some tokens from the token stream.
- This could lead to false positives and false negative from sniffs, but could also lead to incorrect fixes being made mangling the file under scan.
- Fixed bug #1315: Squiz.ControlStructures.SwitchDeclaration: a number of the fixers would get into fixer conflicts with each other if the code under scan contained multiple statements on a line within a
switch.- The sniff will now forbid - and auto-fix - multiple statements on one line for
case/defaultand "case breaking" statements.
- The sniff will now forbid - and auto-fix - multiple statements on one line for
- Fixed bug #1316: Tokenizer/PHP: a PHP close tag after a
switchcase condition or after adefaultkeyword, was not regarded as a "scope_opener" for thecase/defaultbody. - Fixed bug #1316: PSR2.ControlStructures.SwitchDeclaration: the
WrongOpenererror is now also auto-fixable if the wrong opener is a PHP close tag. - Fixed bug #1316: Squiz.PHP.NonExecutableCode would throw false positives when code within a switch control structure would move in and out of PHP.
New Contributors
The PHP_CodeSniffer project is happy to welcome the following new contributors:
@andrewnicols, @Soh1121
Statistics
Closed: 2 issues
Merged: 8 pull requests
Follow @phpcs on Mastodon or @PHP_CodeSniffer on X to stay informed.
Please consider funding the PHP_CodeSniffer project. If you already do so: thank you!