Skip to content

Commit 0119a3f

Browse files
authored
Merge pull request #2436 from WordPress/feature/update-list-based-sniffs-wp-6.5
Update list based sniffs for WP 6.5
2 parents b54bf25 + 4e384e2 commit 0119a3f

14 files changed

+202
-40
lines changed

WordPress/Helpers/MinimumWPVersionTrait.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ trait MinimumWPVersionTrait {
7979
*
8080
* @var string WordPress version.
8181
*/
82-
private $default_minimum_wp_version = '6.0';
82+
private $default_minimum_wp_version = '6.2';
8383

8484
/**
8585
* Overrule the minimum supported WordPress version with a command-line/config value.

WordPress/Sniffs/NamingConventions/PrefixAllGlobalsSniff.php

+11-1
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ final class PrefixAllGlobalsSniff extends AbstractFunctionParameterSniff {
147147
* Only overrulable constants are listed, i.e. those defined within core within
148148
* a `if ( ! defined() ) {}` wrapper.
149149
*
150-
* Last update: July 2023 for WP 6.3 at https://github.com/WordPress/wordpress-develop/commit/6281ce432c50345a57768bf53854d9b65b6cdd52
150+
* {@internal To be updated after every major release. Last updated for WordPress 6.5-RC3.}
151151
*
152152
* @since 1.0.0
153153
* @since 3.0.0 Renamed from `$whitelisted_core_constants` to `$allowed_core_constants`.
@@ -201,6 +201,8 @@ final class PrefixAllGlobalsSniff extends AbstractFunctionParameterSniff {
201201
*
202202
* Note: deprecated functions should still be included in this list as plugins may support older WP versions.
203203
*
204+
* {@internal To be updated after every major release. Last updated for WordPress 6.5-RC3.}
205+
*
204206
* @since 3.0.0.
205207
*
206208
* @var array<string, true> Key is function name, value irrelevant.
@@ -236,6 +238,7 @@ final class PrefixAllGlobalsSniff extends AbstractFunctionParameterSniff {
236238
'twentyeleven_comment' => true,
237239
'twentyeleven_content_nav' => true,
238240
'twentyeleven_continue_reading_link' => true,
241+
'twentyeleven_header_image' => true,
239242
'twentyeleven_header_style' => true,
240243
'twentyeleven_posted_on' => true,
241244
'twentyeleven_setup' => true,
@@ -255,6 +258,7 @@ final class PrefixAllGlobalsSniff extends AbstractFunctionParameterSniff {
255258
'twentyfourteen_admin_header_style' => true,
256259
'twentyfourteen_excerpt_more' => true,
257260
'twentyfourteen_font_url' => true,
261+
'twentyfourteen_header_image' => true,
258262
'twentyfourteen_header_style' => true,
259263
'twentyfourteen_list_authors' => true,
260264
'twentyfourteen_paging_nav' => true,
@@ -296,6 +300,7 @@ final class PrefixAllGlobalsSniff extends AbstractFunctionParameterSniff {
296300
'twentyten_admin_header_style' => true,
297301
'twentyten_comment' => true,
298302
'twentyten_continue_reading_link' => true,
303+
'twentyten_header_image' => true,
299304
'twentyten_posted_in' => true,
300305
'twentyten_posted_on' => true,
301306
'twentyten_setup' => true,
@@ -317,6 +322,9 @@ final class PrefixAllGlobalsSniff extends AbstractFunctionParameterSniff {
317322
'twentytwenty_get_customizer_css' => true,
318323
'twentytwenty_get_theme_svg' => true,
319324
'twentytwenty_the_theme_svg' => true,
325+
'twentytwentyfour_block_styles' => true,
326+
'twentytwentyfour_block_stylesheets' => true,
327+
'twentytwentyfour_pattern_categories' => true,
320328
'twentytwentytwo_styles' => true,
321329
'twentytwentytwo_support' => true,
322330
'wp_authenticate' => true,
@@ -374,6 +382,8 @@ final class PrefixAllGlobalsSniff extends AbstractFunctionParameterSniff {
374382
*
375383
* Note: deprecated classes should still be included in this list as plugins may support older WP versions.
376384
*
385+
* {@internal To be updated after every major release. Last updated for WordPress 6.5-RC3.}
386+
*
377387
* @since 3.0.0.
378388
*
379389
* @var array<string, true> Key is class name, value irrelevant.

WordPress/Sniffs/NamingConventions/ValidPostTypeSlugSniff.php

+3-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ final class ValidPostTypeSlugSniff extends AbstractFunctionParameterSniff {
6363
*
6464
* Source: {@link https://developer.wordpress.org/reference/functions/register_post_type/#reserved-post-types}
6565
*
66-
* Last update: July 2023 for WP 6.3 at https://github.com/WordPress/wordpress-develop/commit/6281ce432c50345a57768bf53854d9b65b6cdd52
66+
* {@internal To be updated after every major release. Last updated for WordPress 6.5-RC3.}
6767
*
6868
* @since 2.2.0
6969
*
@@ -84,6 +84,8 @@ final class ValidPostTypeSlugSniff extends AbstractFunctionParameterSniff {
8484
'theme' => true, // Not a WP post type, but prevents other problems.
8585
'user_request' => true,
8686
'wp_block' => true,
87+
'wp_font_face' => true,
88+
'wp_font_family' => true,
8789
'wp_global_styles' => true,
8890
'wp_navigation' => true,
8991
'wp_template' => true,

WordPress/Sniffs/WP/ClassNameCaseSniff.php

+69-7
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ final class ClassNameCaseSniff extends AbstractClassRestrictionsSniff {
2525
*
2626
* Note: this list will be enhanced in the class constructor.
2727
*
28-
* {@internal To be updated after every major release. Last updated for WordPress 6.3-RC1.}
28+
* {@internal To be updated after every major release. Last updated for WordPress 6.5-RC3.}
2929
*
3030
* @since 3.0.0
3131
*
@@ -121,6 +121,8 @@ final class ClassNameCaseSniff extends AbstractClassRestrictionsSniff {
121121
'WP_Application_Passwords_List_Table',
122122
'WP_Automatic_Updater',
123123
'WP_Block',
124+
'WP_Block_Bindings_Registry',
125+
'WP_Block_Bindings_Source',
124126
'WP_Block_Editor_Context',
125127
'WP_Block_List',
126128
'WP_Block_Parser',
@@ -192,10 +194,21 @@ final class ClassNameCaseSniff extends AbstractClassRestrictionsSniff {
192194
'WP_Filesystem_FTPext',
193195
'WP_Filesystem_SSH2',
194196
'WP_Filesystem_ftpsockets',
197+
'WP_Font_Collection',
198+
'WP_Font_Face',
199+
'WP_Font_Face_Resolver',
200+
'WP_Font_Library',
201+
'WP_Font_Utils',
202+
'WP_HTML_Active_Formatting_Elements',
195203
'WP_HTML_Attribute_Token',
204+
'WP_HTML_Open_Elements',
205+
'WP_HTML_Processor',
206+
'WP_HTML_Processor_State',
196207
'WP_HTML_Span',
197208
'WP_HTML_Tag_Processor',
198209
'WP_HTML_Text_Replacement',
210+
'WP_HTML_Token',
211+
'WP_HTML_Unsupported_Exception',
199212
'WP_HTTP_Fsockopen',
200213
'WP_HTTP_IXR_Client',
201214
'WP_HTTP_Proxy',
@@ -212,6 +225,8 @@ final class ClassNameCaseSniff extends AbstractClassRestrictionsSniff {
212225
'WP_Image_Editor_GD',
213226
'WP_Image_Editor_Imagick',
214227
'WP_Importer',
228+
'WP_Interactivity_API',
229+
'WP_Interactivity_API_Directives_Processor',
215230
'WP_Internal_Pointers',
216231
'WP_Links_List_Table',
217232
'WP_List_Table',
@@ -226,11 +241,13 @@ final class ClassNameCaseSniff extends AbstractClassRestrictionsSniff {
226241
'WP_Meta_Query',
227242
'WP_Metadata_Lazyloader',
228243
'WP_Nav_Menu_Widget',
244+
'WP_Navigation_Block_Renderer',
229245
'WP_Navigation_Fallback',
230246
'WP_Network',
231247
'WP_Network_Query',
232248
'WP_Object_Cache',
233249
'WP_Paused_Extensions_Storage',
250+
'WP_Plugin_Dependencies',
234251
'WP_Plugin_Install_List_Table',
235252
'WP_Plugins_List_Table',
236253
'WP_Post',
@@ -257,6 +274,9 @@ final class ClassNameCaseSniff extends AbstractClassRestrictionsSniff {
257274
'WP_REST_Comments_Controller',
258275
'WP_REST_Controller',
259276
'WP_REST_Edit_Site_Export_Controller',
277+
'WP_REST_Font_Collections_Controller',
278+
'WP_REST_Font_Faces_Controller',
279+
'WP_REST_Font_Families_Controller',
260280
'WP_REST_Global_Styles_Controller',
261281
'WP_REST_Global_Styles_Revisions_Controller',
262282
'WP_REST_Menu_Items_Controller',
@@ -282,6 +302,8 @@ final class ClassNameCaseSniff extends AbstractClassRestrictionsSniff {
282302
'WP_REST_Sidebars_Controller',
283303
'WP_REST_Site_Health_Controller',
284304
'WP_REST_Taxonomies_Controller',
305+
'WP_REST_Template_Autosaves_Controller',
306+
'WP_REST_Template_Revisions_Controller',
285307
'WP_REST_Templates_Controller',
286308
'WP_REST_Term_Meta_Fields',
287309
'WP_REST_Term_Search_Handler',
@@ -301,6 +323,7 @@ final class ClassNameCaseSniff extends AbstractClassRestrictionsSniff {
301323
'WP_Role',
302324
'WP_Roles',
303325
'WP_Screen',
326+
'WP_Script_Modules',
304327
'WP_Scripts',
305328
'WP_Session_Tokens',
306329
'WP_Sidebar_Block_Editor_Control',
@@ -341,6 +364,11 @@ final class ClassNameCaseSniff extends AbstractClassRestrictionsSniff {
341364
'WP_Theme_JSON_Resolver',
342365
'WP_Theme_JSON_Schema',
343366
'WP_Themes_List_Table',
367+
'WP_Translation_Controller',
368+
'WP_Translation_File',
369+
'WP_Translation_File_MO',
370+
'WP_Translation_File_PHP',
371+
'WP_Translations',
344372
'WP_Upgrader',
345373
'WP_Upgrader_Skin',
346374
'WP_User',
@@ -384,7 +412,7 @@ final class ClassNameCaseSniff extends AbstractClassRestrictionsSniff {
384412
*
385413
* Note: this list will be enhanced in the class constructor.
386414
*
387-
* {@internal To be updated after every major release. Last updated for WordPress 6.3-RC1.}
415+
* {@internal To be updated after every major release. Last updated for WordPress 6.5-RC3.}
388416
*
389417
* @since 3.0.0
390418
*
@@ -412,11 +440,33 @@ final class ClassNameCaseSniff extends AbstractClassRestrictionsSniff {
412440
);
413441

414442
/**
415-
* List of all GetID3 classes include in WP Core.
443+
* List of all AVIF classes included in WP Core.
416444
*
417445
* Note: this list will be enhanced in the class constructor.
418446
*
419-
* {@internal To be updated after every major release. Last updated for WordPress 6.3-RC1.}
447+
* {@internal To be updated after every major release. Last updated for WordPress 6.5-RC3.}
448+
*
449+
* @since 3.1.0
450+
*
451+
* @var string[] The class names in their "proper" case.
452+
* The constructor will add the lowercased class name as a key to each entry.
453+
*/
454+
private $avif_classes = array(
455+
'Avifinfo\\Box',
456+
'Avifinfo\\Chan_Prop',
457+
'Avifinfo\\Dim_Prop',
458+
'Avifinfo\\Features',
459+
'Avifinfo\\Parser',
460+
'Avifinfo\\Prop',
461+
'Avifinfo\\Tile',
462+
);
463+
464+
/**
465+
* List of all GetID3 classes included in WP Core.
466+
*
467+
* Note: this list will be enhanced in the class constructor.
468+
*
469+
* {@internal To be updated after every major release. Last updated for WordPress 6.5-RC3.}
420470
*
421471
* @since 3.0.0
422472
*
@@ -452,7 +502,7 @@ final class ClassNameCaseSniff extends AbstractClassRestrictionsSniff {
452502
*
453503
* Note: this list will be enhanced in the class constructor.
454504
*
455-
* {@internal To be updated after every major release. Last updated for WordPress 6.3-RC1.}
505+
* {@internal To be updated after every major release. Last updated for WordPress 6.5-RC3.}
456506
*
457507
* @since 3.0.0
458508
*
@@ -470,7 +520,7 @@ final class ClassNameCaseSniff extends AbstractClassRestrictionsSniff {
470520
*
471521
* Note: this list will be enhanced in the class constructor.
472522
*
473-
* {@internal To be updated after every major release. Last updated for WordPress 6.3-RC1.}
523+
* {@internal To be updated after every major release. Last updated for WordPress 6.5-RC3.}
474524
*
475525
* @since 3.0.0
476526
*
@@ -614,7 +664,7 @@ final class ClassNameCaseSniff extends AbstractClassRestrictionsSniff {
614664
*
615665
* Note: this list will be enhanced in the class constructor.
616666
*
617-
* {@internal To be updated after every major release. Last updated for WordPress 6.3-RC1.}
667+
* {@internal To be updated after every major release. Last updated for WordPress 6.5-RC3.}
618668
*
619669
* @since 3.0.0
620670
*
@@ -684,6 +734,17 @@ final class ClassNameCaseSniff extends AbstractClassRestrictionsSniff {
684734
*/
685735
private $wp_themes_classes_lc = array();
686736

737+
/**
738+
* List of all AVIF classes in lowercase.
739+
*
740+
* This array is automatically generated in the class constructor based on the $avif_classes property.
741+
*
742+
* @since 3.1.0
743+
*
744+
* @var string[] The class names in lowercase.
745+
*/
746+
private $avif_classes_lc = array();
747+
687748
/**
688749
* List of all GetID3 classes in lowercase.
689750
*
@@ -740,6 +801,7 @@ final class ClassNameCaseSniff extends AbstractClassRestrictionsSniff {
740801
private $class_groups = array(
741802
'wp_classes',
742803
'wp_themes_classes',
804+
'avif_classes',
743805
'getid3_classes',
744806
'phpmailer_classes',
745807
'requests_classes',

WordPress/Sniffs/WP/DeprecatedClassesSniff.php

+11-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ final class DeprecatedClassesSniff extends AbstractClassRestrictionsSniff {
4141
*
4242
* Version numbers should be fully qualified.
4343
*
44-
* Last update: July 2023 for WP 6.3 at https://github.com/WordPress/wordpress-develop/commit/6281ce432c50345a57768bf53854d9b65b6cdd52
44+
* {@internal To be updated after every major release. Last updated for WordPress 6.5-RC3.}
4545
*
4646
* @var array
4747
*/
@@ -84,6 +84,16 @@ final class DeprecatedClassesSniff extends AbstractClassRestrictionsSniff {
8484
'alt' => 'The PHP native JSON extension',
8585
'version' => '5.3.0',
8686
),
87+
88+
// WP 6.4.0.
89+
'WP_Http_Curl' => array(
90+
'alt' => 'WP_Http',
91+
'version' => '6.4.0',
92+
),
93+
'WP_Http_Streams' => array(
94+
'alt' => 'WP_Http',
95+
'version' => '6.4.0',
96+
),
8797
);
8898

8999
/**

WordPress/Sniffs/WP/DeprecatedFunctionsSniff.php

+58-3
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,14 @@ final class DeprecatedFunctionsSniff extends AbstractFunctionRestrictionsSniff {
3737
/**
3838
* List of deprecated functions with alternative when available.
3939
*
40-
* To be updated after every major release.
41-
* Last updated for WordPress 6.3.
42-
*
4340
* Version numbers should be fully qualified.
4441
* Replacement functions should have parentheses.
4542
*
4643
* To retrieve a function list for comparison, the following tool is available:
4744
* https://github.com/JDGrimes/wp-deprecated-code-scanner
4845
*
46+
* {@internal To be updated after every major release. Last updated for WordPress 6.5-RC3.}
47+
*
4948
* @var array
5049
*/
5150
private $deprecated_functions = array(
@@ -1597,6 +1596,62 @@ final class DeprecatedFunctionsSniff extends AbstractFunctionRestrictionsSniff {
15971596
'alt' => '',
15981597
'version' => '6.3.0',
15991598
),
1599+
1600+
// WP 6.4.0.
1601+
'_admin_bar_bump_cb' => array(
1602+
'alt' => 'wp_enqueue_admin_bar_bump_styles()',
1603+
'version' => '6.4.0',
1604+
),
1605+
'_inject_theme_attribute_in_block_template_content' => array(
1606+
'alt' => 'traverse_and_serialize_blocks( parse_blocks( $template_content ), \'_inject_theme_attribute_in_template_part_block\' )',
1607+
'version' => '6.4.0',
1608+
),
1609+
'_remove_theme_attribute_in_block_template_content' => array(
1610+
'alt' => 'traverse_and_serialize_blocks( parse_blocks( $template_content ), \'_remove_theme_attribute_from_template_part_block\' )',
1611+
'version' => '6.4.0',
1612+
),
1613+
'_wp_theme_json_webfonts_handler' => array(
1614+
'alt' => 'wp_print_font_faces()',
1615+
'version' => '6.4.0',
1616+
),
1617+
'print_embed_styles' => array(
1618+
'alt' => 'wp_enqueue_embed_styles()',
1619+
'version' => '6.4.0',
1620+
),
1621+
'print_emoji_styles' => array(
1622+
'alt' => 'wp_enqueue_emoji_styles()',
1623+
'version' => '6.4.0',
1624+
),
1625+
'the_block_template_skip_link' => array(
1626+
'alt' => 'wp_enqueue_block_template_skip_link()',
1627+
'version' => '6.4.0',
1628+
),
1629+
'wp_admin_bar_header' => array(
1630+
'alt' => 'wp_enqueue_admin_bar_header_styles()',
1631+
'version' => '6.4.0',
1632+
),
1633+
'wp_img_tag_add_decoding_attr' => array(
1634+
'alt' => 'wp_img_tag_add_loading_optimization_attrs()',
1635+
'version' => '6.4.0',
1636+
),
1637+
'wp_update_https_detection_errors' => array(
1638+
'alt' => 'wp_get_https_detection_errors()',
1639+
'version' => '6.4.0',
1640+
),
1641+
1642+
// WP 6.5.0.
1643+
'block_core_file_ensure_interactivity_dependency' => array(
1644+
'alt' => 'wp_register_script_module()',
1645+
'version' => '6.5.0',
1646+
),
1647+
'block_core_image_ensure_interactivity_dependency' => array(
1648+
'alt' => 'wp_register_script_module()',
1649+
'version' => '6.5.0',
1650+
),
1651+
'block_core_query_ensure_interactivity_dependency' => array(
1652+
'alt' => 'wp_register_script_module()',
1653+
'version' => '6.5.0',
1654+
),
16001655
);
16011656

16021657
/**

0 commit comments

Comments
 (0)