diff --git a/CHANGELOG.md b/CHANGELOG.md index 684e27deb8..dcccd5f08b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,76 @@ The file documents changes to the PHP_CodeSniffer project. _Nothing yet._ +## [3.13.0] - 2025-05-11 + +### Added +- Added support for PHP 8.4 asymmetric visibility modifiers to the tokenizer. [#871] + - Thanks to [Daniel Scherzer][@DanielEScherzer] for the patch. +- Added support for PHP 8.4 `final` properties to the following sniffs: + - PSR2.Classes.PropertyDeclaration [#950] + - Thanks to [Juliette Reinders Folmer][@jrfnl] for the patches. + +### Changed +- Generic.WhiteSpace.LanguageConstructSpacing: will now also check the spacing after the `goto` language construct keyword. [#917] + - Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch. +- The PSR2.Classes.PropertyDeclaration will now check that the `final` modifier keyword is placed before a visibility keyword. [#950] + - Errors will be reported via a new `FinalAfterVisibility` error code. + - Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch. +- Improved Help information about the `--reports` CLI flag. [#1078] + - Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch. +- The documentation for the following sniffs has been improved: + - PSR1.Files.SideEffects + - PSR2.ControlStructures.SwitchDeclaration + - PSR2.Namespaces.NamespaceDeclaration + - Thanks to [Rodrigo Primo][@rodrigoprimo] for the patches. +- Various housekeeping, including improvements to the tests and documentation. + - Thanks to [Juliette Reinders Folmer][@jrfnl] for their contributions. + +### Deprecated + +- Nearly everything which was soft deprecated before is now hard deprecated and will show deprecation notices: + - This applies to: + - All sniffs which will be removed in 4.0. [#888] + - The deprecated Generator methods. [#889] + - The old array property setting format (via comma separated strings). [#890] + - Sniffs not implementing the `PHP_CodeSniffer\Sniffs\Sniff` interface. [#891] + - Sniffs not following the naming conventions. [#892] + - Standards called Internal. [#893] + - Sniffs which don't listen for PHP, like JS/CSS specific sniffs. [#894] + - The deprecation notices can be silenced by using the `-q` (=quiet) CLI flag. + - Thanks to [Juliette Reinders Folmer][@jrfnl] for the patches. + +### Fixed +- Fixed bug [#1040] : Generic.Strings.UnnecessaryHeredoc - false positive for heredocs containing escape sequences. + - Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch. +- Fixed bug [#1040] : Generic.Strings.UnnecessaryHeredoc - fixer would not clean up escape sequences which aren't necessary in nowdocs. + - Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch. +- Fixed bug [#1048] : A file under scan would sometimes be updated with partial fixes, even though the file "failed to fix". + - Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch. + +### Other +**Calling all testers!** + +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. +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. + +[wiki-upgrade-guide-users-40]: https://github.com/PHPCSStandards/PHP_CodeSniffer/wiki/Version-4.0-User-Upgrade-Guide +[wiki-upgrade-guide-devs-40]: https://github.com/PHPCSStandards/PHP_CodeSniffer/wiki/Version-4.0-Developer-Upgrade-Guide + +[#871]: https://github.com/PHPCSStandards/PHP_CodeSniffer/pull/871 +[#888]: https://github.com/PHPCSStandards/PHP_CodeSniffer/pull/888 +[#889]: https://github.com/PHPCSStandards/PHP_CodeSniffer/pull/889 +[#890]: https://github.com/PHPCSStandards/PHP_CodeSniffer/pull/890 +[#891]: https://github.com/PHPCSStandards/PHP_CodeSniffer/pull/891 +[#892]: https://github.com/PHPCSStandards/PHP_CodeSniffer/pull/892 +[#893]: https://github.com/PHPCSStandards/PHP_CodeSniffer/pull/893 +[#894]: https://github.com/PHPCSStandards/PHP_CodeSniffer/pull/894 +[#917]: https://github.com/PHPCSStandards/PHP_CodeSniffer/pull/917 +[#950]: https://github.com/PHPCSStandards/PHP_CodeSniffer/pull/950 +[#1040]: https://github.com/PHPCSStandards/PHP_CodeSniffer/pull/1040 +[#1048]: https://github.com/PHPCSStandards/PHP_CodeSniffer/pull/1048 +[#1078]: https://github.com/PHPCSStandards/PHP_CodeSniffer/pull/1078 + ## [3.12.2] - 2025-04-13 ### Added @@ -7512,6 +7582,7 @@ Additionally, thanks to [Alexander Turek][@derrabus] for consulting on the repo --> [Unreleased]: https://github.com/PHPCSStandards/PHP_CodeSniffer/compare/master...HEAD +[3.13.0]: https://github.com/PHPCSStandards/PHP_CodeSniffer/compare/3.12.2...3.13.0 [3.12.2]: https://github.com/PHPCSStandards/PHP_CodeSniffer/compare/3.12.1...3.12.2 [3.12.1]: https://github.com/PHPCSStandards/PHP_CodeSniffer/compare/3.12.0...3.12.1 [3.12.0]: https://github.com/PHPCSStandards/PHP_CodeSniffer/compare/3.11.3...3.12.0