Squiz.Commenting.PostStatementComment: trailing annotations in PHP files will now be reported under a separate, non-auto-fixable error code AnnotationFound. #560, #627
This prevents (tooling related) annotations from taking on a different meaning when moved by the fixer.
The separate error code also allows for selectively excluding it to prevent the sniff from triggering on trailing annotations, while still forbidding other trailing comments.
Squiz.ControlStructures.ForEachLoopDeclaration: the SpacingAfterOpen error code has been replaced by the SpaceAfterOpen error code. The latter is a pre-existing code. The former appears to have been a typo. #582
Fixed bug #630 : The tokenizer could inadvertently transform "normal" parentheses to DNF parentheses, when a function call was preceded by a switch-case / alternative syntax control structure colon.
Fixed bug #645 : On PHP 5.4, if yield was used as the declaration name for a function declared to return by reference, the function name would incorrectly be tokenized as T_YIELD instead of T_STRING.
Runtime support for PHP 8.4. All known PHP 8.4 deprecation notices have been fixed.
Syntax support for new PHP 8.4 features will follow in a future release.
If you find any PHP 8.4 deprecation notices which were missed, please report them.
Thanks to [Juliette Reinders Folmer][@jrfnl] for the patches.
Tokenizer support for PHP 8.3 "yield from" expressions with a comment between the keywords. #529, #647
Sniffs explicitly handling T_YIELD_FROM tokens may need updating. The PR description contains example code for use by sniff developers.
Additionally, the following sniff has been updated to support "yield from" expressions with comments:
Generic.WhiteSpace.LanguageConstructSpacing
Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch.
New Generic.WhiteSpace.HereNowdocIdentifierSpacing sniff. #586, #637
Forbid whitespace between the <<< and the identifier string in heredoc/nowdoc start tokens.
Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch.
New Generic.Strings.UnnecessaryHeredoc sniff. #633
Warns about heredocs without interpolation or expressions in the body text and can auto-fix these to nowdocs.
Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch.
Documentation for the following sniffs:
Generic.Arrays.ArrayIndent
Squiz.PHP.Heredoc
Thanks to [Rodrigo Primo][@rodrigoprimo] and [Juliette Reinders Folmer][@jrfnl] for the patches.
Changed
The Common::getSniffCode() method will now throw an InvalidArgumentException exception if an invalid $sniffClass is passed. #524, #625
Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch.
Documentation generated using the --generator=... feature will now always be presented in natural order based on the sniff name(s). #668
Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch.
Minor improvements to the display of runtime information. #658
Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch.
Squiz.Commenting.PostStatementComment: trailing annotations in PHP files will now be reported under a separate, non-auto-fixable error code AnnotationFound. #560, #627
This prevents (tooling related) annotations from taking on a different meaning when moved by the fixer.
The separate error code also allows for selectively excluding it to prevent the sniff from triggering on trailing annotations, while still forbidding other trailing comments.
Thanks to [Rodrigo Primo][@rodrigoprimo] for the patch.
Squiz.ControlStructures.ForEachLoopDeclaration: the SpacingAfterOpen error code has been replaced by the SpaceAfterOpen error code. The latter is a pre-existing code. The former appears to have been a typo. #582
The following sniff(s) have received efficiency improvements:
Generic.Classes.DuplicateClassName
Generic.NamingConventions.ConstructorName
Thanks to [Rodrigo Primo][@rodrigoprimo] and [Juliette Reinders Folmer][@jrfnl] for the patches.
Various housekeeping, including improvements to the tests and documentation.
Thanks to [Rodrigo Primo][@rodrigoprimo] and [Juliette Reinders Folmer][@jrfnl] for their contributions.
Fixed
Fixed bug #3808[sq-3808] : Generic.WhiteSpace.ScopeIndent would throw false positive for tab indented multi-token yield from expression.
Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch
Fixed bug #630 : The tokenizer could inadvertently transform "normal" parentheses to DNF parentheses, when a function call was preceded by a switch-case / alternative syntax control structure colon.
Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch
Fixed bug #645 : On PHP 5.4, if yield was used as the declaration name for a function declared to return by reference, the function name would incorrectly be tokenized as T_YIELD instead of T_STRING.
Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch
... (truncated)
Commits
70c08f8 Merge pull request #672 from PHPCSStandards/feature/changelog-3.11.0
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps squizlabs/php_codesniffer from 3.10.3 to 3.11.0.
Release notes
Sourced from squizlabs/php_codesniffer's releases.
... (truncated)
Changelog
Sourced from squizlabs/php_codesniffer's changelog.
... (truncated)
Commits
70c08f8
Merge pull request #672 from PHPCSStandards/feature/changelog-3.11.01241dda
Changelog for the 3.11.0 released228eb4
Merge pull request #670 from PHPCSStandards/feature/various-small-tweaksbe5dfdc
Merge pull request #669 from PHPCSStandards/feature/generator-html-static-str...c774767
Merge pull request #668 from PHPCSStandards/feature/generators-consistent-doc...fcf7fdd
Docs: minor fixes810e5eb
CS/QA: minor cleanup016c88c
Generators/HTML: move static string to class constant9b4d240
Generators: always present docs in alphabetical order141ef43
Merge pull request #667 from PHPCSStandards/feature/phpcs-ruleset-tweakDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show