You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+84Lines changed: 84 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,87 @@ The file documents changes to the PHP_CodeSniffer project.
6
6
7
7
_Nothing yet._
8
8
9
+
## [3.13.3] - 2025-09-04
10
+
11
+
### Added
12
+
- Tokenizer support for PHP 8.4 dereferencing of new expressions without wrapping parentheses. [#1160]
13
+
- Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch.
14
+
- Tokenizer support for PHP 8.4 `abstract` properties. [#1183]
15
+
- The `File::getMemberProperties()` method now also supports `abstract` properties through a new `is_abstract` array index in the return value. [#1184]
16
+
- Additionally, the following sniffs have been updated to support `abstract` properties:
17
+
- Generic.PHP.LowerCaseConstant [#1185]
18
+
- Generic.PHP.UpperCaseConstant [#1185]
19
+
- PSR2.Classes.PropertyDeclaration [#1188]
20
+
- Squiz.Commenting.VariableComment [#1186]
21
+
- Squiz.WhiteSpace.MemberVarSpacing [#1187]
22
+
- Thanks to [Juliette Reinders Folmer][@jrfnl] for the patches
23
+
- Tokenizer support for the PHP 8.4 "exit as a function call" change. [#1201]
24
+
- When `exit`/`die` is used as a fully qualified "function call", it will now be tokenized as `T_NS_SEPARATOR` + `T_EXIT`.
25
+
- Additionally, the following sniff has been updated to handle fully qualified exit/die correctly:
26
+
- Squiz.PHP.NonExecutableCode
27
+
- Thanks to [Juliette Reinders Folmer][@jrfnl] for the patches
28
+
29
+
### Changed
30
+
- Tokenizer/PHP: fully qualified `true`/`false`/`null` will now be tokenized as `T_NS_SEPARATOR` + `T_TRUE`/`T_FALSE`/`T_NULL`. [#1201]
31
+
- Previously, these were tokenized as `T_NS_SEPARATOR` + `T_STRING`.
32
+
- Additionally, the following sniffs have been updated to handle fully qualified true/false/null correctly:
- Thanks to [Juliette Reinders Folmer][@jrfnl] for the patches.
37
+
- Generic.PHP.Syntax: the sniff is now able to scan input provided via STDIN on non-Windows OSes. [#915]
38
+
- Thanks to [Rodrigo Primo][@rodrigoprimo] for the patch.
39
+
- PSR2.ControlStructures.SwitchDeclaration: the `WrongOpener*` error code is now auto-fixable if the identified "wrong opener" is a semi-colon. [#1161]
40
+
- Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch.
41
+
- The PSR2.Classes.PropertyDeclaration will now check that the abstract modifier keyword is placed before a visibility keyword. [#1188]
42
+
- Errors will be reported via a new `AbstractAfterVisibility` error code.
43
+
- Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch.
44
+
- Various housekeeping, including improvements to the tests and documentation.
45
+
- Thanks to [Bernhard Zwein][@benno5020], [Rick Kerkhof][@NanoSector], [Rodrigo Primo][@rodrigoprimo] and [Juliette Reinders Folmer][@jrfnl] for their contributions.
46
+
47
+
### Fixed
48
+
- Fixed bug [#1112] : `--parallel` option fails if PHP_CodeSniffer is invoked via bash and the invokation creates a non-PHPCS-managed process.
49
+
- Thanks to [Rick Kerkhof][@NanoSector] for the patch.
50
+
- Fixed bug [#1113] : fatal error when the specified "files to scan" would result in the same file being added multiple times to the queue.
51
+
- This error only occured when `--parallel` scanning was enabled.
52
+
- Thanks to [Rodrigo Primo][@rodrigoprimo] for the patch.
53
+
- Fixed bug [#1154] : PEAR.WhiteSpace.ObjectOperatorIndent: false positive when checking multiple chained method calls in a multidimensional array.
54
+
- Thanks to [Rodrigo Primo][@rodrigoprimo] for the patch.
55
+
- Fixed bug [#1193] : edge case inconsistency in how empty string array keys for sniff properties are handled.
56
+
- Thanks to [Rodrigo Primo][@rodrigoprimo] and [Juliette Reinders Folmer][@jrfnl] for the patch.
57
+
- Fixed bug [#1197] : Squiz.Commenting.FunctionComment: return types containing a class name with underscores would be truncated leading to incorrect results.
58
+
- Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch.
59
+
60
+
### Other
61
+
- The [Wiki documentation] is now publicly editable. :tada:
62
+
- Update proposals can be submittted by opening a pull request in the [PHPCSStandards/PHP_CodeSniffer-documentation][docs-repo] repository.
63
+
Contributions welcome !
64
+
- Thanks to [Anna Filina][@afilina], [Dan Wallis][@fredden] and [Juliette Reinders Folmer][@jrfnl] for their work on getting this set up.
65
+
- The [Phar website] has had a facelift. [#107]
66
+
- Thanks to [Bernhard Zwein][@benno5020] for making this happen!
0 commit comments