Skip to content

3.10.0 - 2024-05-20

Compare
Choose a tag to compare
@jrfnl jrfnl released this 20 May 09:11
· 254 commits to master since this release
3.10.0
57e0980

Added

  • Tokenizer support for PHP 8.2 Disjunctive Normal Form (DNF) types. #3731, #387, #461
    • Includes new T_TYPE_OPEN_PARENTHESIS and T_TYPE_CLOSE_PARENTHESIS tokens to represent the parentheses in DNF types.
    • These new tokens, like other parentheses, will have the parenthesis_opener and parenthesis_closer token array indexes set and the tokens between them will have the nested_parenthesis index.
    • The File::getMethodProperties(), File::getMethodParameters() and File::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.
  • Documentation for the following sniffs:
    • Squiz.WhiteSpace.FunctionClosingBraceSpace
    • Thanks to Przemek Hernik for the patch.

Changed

Fixed

  • Fixed bug #466 : Generic.Functions.CallTimePassByReference was not flagging call-time pass-by-reference in class instantiations using the self/parent/static keywords.
  • Fixed bug #494 : edge case bug in tokenization of an empty block comment.
  • Fixed bug #494 : edge case bug in tokenization of an empty single-line DocBlock.
  • Fixed bug #499 : Generic.ControlStructures.InlineControlStructure now handles statements with a comment between else and if correctly.

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