3.2.0
·
155 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
Added
- New
WordPress.WP.GetMetaSinglesniff to theWordPress-Extraruleset. Props @rodrigoprimo! #2465
This sniff warns whenget_*_meta()andget_metadata*()functions are used with the$meta_key/$keyparam, but without the$singleparameter as this could lead to unexpected behavior due to the different return types. WordPress-Extra: the following additional sniffs have been added to the ruleset:Generic.Strings.UnnecessaryHeredocandGeneric.WhiteSpace.HereNowdocIdentifierSpacing. #2534- The
rest_sanitize_boolean()functions to the list of known "sanitizing" functions. Props @westonruter. #2530 - End-user documentation to the following existing sniffs:
WordPress.DB.PreparedSQL(props @jaymcp, #2454),WordPress.NamingConventions.ValidFunctionName(props @richardkorthuis and @rodrigoprimo, #2452, #2531),WordPress.NamingConventions.ValidVariableName(props @richardkorthuis, #2457),WordPress.PHP.DontExtract(props @aiolachiara #2456).
This documentation can be exposed via thePHP_CodeSniffer--generator=...command-line argument.
Changed
- The minimum required
PHP_CodeSnifferversion to 3.13.0 (was 3.9.0). #2532 - The minimum required
PHPCSUtilsversion to 1.1.0 (was 1.0.10). #2532 - The minimum required
PHPCSExtraversion to 1.4.0 (was 1.2.1). #2532 - Sniffs based on the
AbstractFunctionParameterSniffwill now call a dedicatedprocess_first_class_callable()method for PHP 8.1+ first class callables. Props @rodrigoprimo, @jrfnl. #2518, #2544
By default, the method won't do anything, but individual sniffs extending theAbstractFunctionParameterSniffclass can choose to implement the method to handle first class callables.
Previously, first class callables were treated as a function call without parameters and would trigger theprocess_no_parameters()method. - The minimum required prefix length for the
WordPress.NamingConventions.PrefixAllGlobalssniff has been changed from 3 to 4 characters. Props @davidperezgar. #2479 - The default value for
minimum_wp_version, as used by a number of sniffs detecting usage of deprecated WP features, has been updated to6.5. #2553 WordPress.NamingConventions.ValidVariableNamenow allows for PHP 8.4 properties in interfaces. #2532WordPress.NamingConventions.PrefixAllGlobalshas been updated to recognize pluggable functions introduced in WP up to WP 6.8.1. #2537WordPress.WP.Capabilitieshas been updated to recognize new capabilities introduced in WP up to WP 6.8.1. #2537WordPress.WP.ClassNameCasehas been updated to recognize classes introduced in WP up to WP 6.8.1. #2537WordPress.WP.DeprecatedFunctionsnow detects functions deprecated in WordPress up to WP 6.8.1. #2537WordPress.WP.DeprecatedParametersnow detects parameters deprecated in WordPress up to WP 6.8.1. #2537WordPress.WP.DeprecatedParameterValuesnow detects parameter values deprecated in WordPress up to WP 6.8.1. #2537- Minor performance improvements.
- Developer happiness: prevent creating a
composer.lockfile. Thanks @fredden! #2443 - Various housekeeping, including documentation and test improvements. Includes contributions by @rodrigoprimo and @szepeviktor.
- All sniffs are now also being tested against PHP 8.4 for consistent sniff results. #2511
Removed
- The
Generic.Functions.CallTimePassByReferencehas been removed from theWordPress-Extraruleset. Props @rodrigoprimo. #2536
This sniff was dated anyway and deprecated in PHP_CodeSniffer. If you need to check if your code is PHP cross-version compatible, use the PHPCompatibility standard instead.
Fixed
- Sniffs based on the
AbstractClassRestrictionsSniffcould previously run into a PHPCSInternal.Exception, leading to fixes not being made. #2500 - Sniffs based on the
AbstractFunctionParameterSniffwill now bow out more often when it is sure the code under scan is not calling the target function and during live coding, preventing false positives. Props @rodrigoprimo. #2518