@@ -6,6 +6,76 @@ The file documents changes to the PHP_CodeSniffer project.
6
6
7
7
_Nothing yet._
8
8
9
+ ## [3.13.0] - 2025-05-11
10
+
11
+ ### Added
12
+ - Added support for PHP 8.4 asymmetric visibility modifiers to the tokenizer. [#871]
13
+ - Thanks to [Daniel Scherzer][@DanielEScherzer] for the patch.
14
+ - Added support for PHP 8.4 `final` properties to the following sniffs:
15
+ - PSR2.Classes.PropertyDeclaration [#950]
16
+ - Thanks to [Juliette Reinders Folmer][@jrfnl] for the patches.
17
+
18
+ ### Changed
19
+ - Generic.WhiteSpace.LanguageConstructSpacing: will now also check the spacing after the `goto` language construct keyword. [#917]
20
+ - Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch.
21
+ - The PSR2.Classes.PropertyDeclaration will now check that the `final` modifier keyword is placed before a visibility keyword. [#950]
22
+ - Errors will be reported via a new `FinalAfterVisibility` error code.
23
+ - Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch.
24
+ - Improved Help information about the `--reports` CLI flag. [#1078]
25
+ - Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch.
26
+ - The documentation for the following sniffs has been improved:
27
+ - PSR1.Files.SideEffects
28
+ - PSR2.ControlStructures.SwitchDeclaration
29
+ - PSR2.Namespaces.NamespaceDeclaration
30
+ - Thanks to [Rodrigo Primo][@rodrigoprimo] for the patches.
31
+ - Various housekeeping, including improvements to the tests and documentation.
32
+ - Thanks to [Juliette Reinders Folmer][@jrfnl] for their contributions.
33
+
34
+ ### Deprecated
35
+
36
+ - Nearly everything which was soft deprecated before is now hard deprecated and will show deprecation notices:
37
+ - This applies to:
38
+ - All sniffs which will be removed in 4.0. [#888]
39
+ - The deprecated Generator methods. [#889]
40
+ - The old array property setting format (via comma separated strings). [#890]
41
+ - Sniffs not implementing the `PHP_CodeSniffer\Sniffs\Sniff` interface. [#891]
42
+ - Sniffs not following the naming conventions. [#892]
43
+ - Standards called Internal. [#893]
44
+ - Sniffs which don't listen for PHP, like JS/CSS specific sniffs. [#894]
45
+ - The deprecation notices can be silenced by using the `-q` (=quiet) CLI flag.
46
+ - Thanks to [Juliette Reinders Folmer][@jrfnl] for the patches.
47
+
48
+ ### Fixed
49
+ - Fixed bug [#1040] : Generic.Strings.UnnecessaryHeredoc - false positive for heredocs containing escape sequences.
50
+ - Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch.
51
+ - Fixed bug [#1040] : Generic.Strings.UnnecessaryHeredoc - fixer would not clean up escape sequences which aren't necessary in nowdocs.
52
+ - Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch.
53
+ - Fixed bug [#1048] : A file under scan would sometimes be updated with partial fixes, even though the file "failed to fix".
54
+ - Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch.
55
+
56
+ ### Other
57
+ **Calling all testers!**
58
+
59
+ The first beta release for PHP_CodeSniffer 4.0 has been tagged. Please help by testing the beta release and reporting any issues you run into.
60
+ Upgrade guides for both [ruleset maintainers/end-users][wiki-upgrade-guide-users-40], as well as for [sniff developers and integrators][wiki-upgrade-guide-devs-40], have been published to the Wiki to help smooth the transition.
61
+
62
+ [wiki-upgrade-guide-users-40]: https://github.com/PHPCSStandards/PHP_CodeSniffer/wiki/Version-4.0-User-Upgrade-Guide
63
+ [wiki-upgrade-guide-devs-40]: https://github.com/PHPCSStandards/PHP_CodeSniffer/wiki/Version-4.0-Developer-Upgrade-Guide
64
+
65
+ [#871]: https://github.com/PHPCSStandards/PHP_CodeSniffer/pull/871
66
+ [#888]: https://github.com/PHPCSStandards/PHP_CodeSniffer/pull/888
67
+ [#889]: https://github.com/PHPCSStandards/PHP_CodeSniffer/pull/889
68
+ [#890]: https://github.com/PHPCSStandards/PHP_CodeSniffer/pull/890
69
+ [#891]: https://github.com/PHPCSStandards/PHP_CodeSniffer/pull/891
70
+ [#892]: https://github.com/PHPCSStandards/PHP_CodeSniffer/pull/892
71
+ [#893]: https://github.com/PHPCSStandards/PHP_CodeSniffer/pull/893
72
+ [#894]: https://github.com/PHPCSStandards/PHP_CodeSniffer/pull/894
73
+ [#917]: https://github.com/PHPCSStandards/PHP_CodeSniffer/pull/917
74
+ [#950]: https://github.com/PHPCSStandards/PHP_CodeSniffer/pull/950
75
+ [#1040]: https://github.com/PHPCSStandards/PHP_CodeSniffer/pull/1040
76
+ [#1048]: https://github.com/PHPCSStandards/PHP_CodeSniffer/pull/1048
77
+ [#1078]: https://github.com/PHPCSStandards/PHP_CodeSniffer/pull/1078
78
+
9
79
## [3.12.2] - 2025-04-13
10
80
11
81
### Added
@@ -7512,6 +7582,7 @@ Additionally, thanks to [Alexander Turek][@derrabus] for consulting on the repo
7512
7582
-->
7513
7583
7514
7584
[Unreleased]: https://github.com/PHPCSStandards/PHP_CodeSniffer/compare/master...HEAD
7585
+ [3.13.0]: https://github.com/PHPCSStandards/PHP_CodeSniffer/compare/3.12.2...3.13.0
7515
7586
[3.12.2]: https://github.com/PHPCSStandards/PHP_CodeSniffer/compare/3.12.1...3.12.2
7516
7587
[3.12.1]: https://github.com/PHPCSStandards/PHP_CodeSniffer/compare/3.12.0...3.12.1
7517
7588
[3.12.0]: https://github.com/PHPCSStandards/PHP_CodeSniffer/compare/3.11.3...3.12.0
0 commit comments