3.10.0 - 2024-05-20
Added
- Tokenizer support for PHP 8.2 Disjunctive Normal Form (DNF) types. #3731, #387, #461
- Includes new
T_TYPE_OPEN_PARENTHESIS
andT_TYPE_CLOSE_PARENTHESIS
tokens to represent the parentheses in DNF types. - These new tokens, like other parentheses, will have the
parenthesis_opener
andparenthesis_closer
token array indexes set and the tokens between them will have thenested_parenthesis
index. - The
File::getMethodProperties()
,File::getMethodParameters()
andFile::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 for the patches.
- Includes new
- Documentation for the following sniffs:
- Squiz.WhiteSpace.FunctionClosingBraceSpace
- Thanks to Przemek Hernik for the patch.
Changed
- The help screens have received a face-lift for improved usability and readability. #447
- Thanks to Juliette Reinders Folmer for the patch and thanks to Colin Stewart, Gary Jones and @mbomb007 for reviewing.
- The Squiz.Commenting.ClosingDeclarationComment sniff will now also examine and flag closing comments for traits. #442
- Thanks to Rodrigo Primo for the patch.
- The following sniff(s) have efficiency improvements:
- Generic.Arrays.ArrayIndent
- Thanks to Rodrigo Primo 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 for the patch.
- Various housekeeping, including improvements to the tests and documentation.
- Thanks to Dan Wallis, Danny van der Sluijs, Rodrigo Primo and Juliette Reinders Folmer for their contributions.
Fixed
- Fixed bug #466 : Generic.Functions.CallTimePassByReference was not flagging call-time pass-by-reference in class instantiations using the self/parent/static keywords.
- Thanks to Rodrigo Primo for the patch.
- Fixed bug #494 : edge case bug in tokenization of an empty block comment.
- Thanks to Juliette Reinders Folmer for the patch
- Fixed bug #494 : edge case bug in tokenization of an empty single-line DocBlock.
- Thanks to Juliette Reinders Folmer for the patch
- Fixed bug #499 : Generic.ControlStructures.InlineControlStructure now handles statements with a comment between
else
andif
correctly.- Thanks to Rodrigo Primo for the patch.
New Contributors
The PHP_CodeSniffer project is happy to welcome the following new contributors:
@przemekhernik
Statistics
Closed: 2 issues
Merged: 26 pull requests
If you like to stay informed about releases and more, follow @phpcs on Mastodon or @PHP_CodeSniffer on X.
Please consider funding the PHP_CodeSniffer project. If you already do so: thank you!
Full Changelog: 3.9.2...3.10.0