Skip to content

Commit 1407be4

Browse files
davidperezgardavidperezgarfrantorresernilambar
authored
Merge pull request #1202 from WordPress/chore/v1.9.0
Prepare Plugin Check 1.9.0 release Co-authored-by: davidperezgar <davidperez@git.wordpress.org> Co-authored-by: frantorres <frantorres@git.wordpress.org> Co-authored-by: ernilambar <nilambar@git.wordpress.org>
2 parents b667553 + 3d7b50c commit 1407be4

3 files changed

Lines changed: 26 additions & 7 deletions

File tree

docs/checks.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,15 @@
66
| --- | --- | --- | --- |
77
| i18n_usage | general, plugin_repo | Checks for various internationalization best practices. | [Learn more](https://developer.wordpress.org/plugins/internationalization/how-to-internationalize-your-plugin/) |
88
| code_obfuscation | plugin_repo | Detects the usage of code obfuscation tools. | [Learn more](https://developer.wordpress.org/plugins/wordpress-org/detailed-plugin-guidelines/) |
9+
| plugin_content | plugin_repo | Detects content that does not comply with the WordPress.org plugin guidelines. | [Learn more](https://developer.wordpress.org/plugins/wordpress-org/detailed-plugin-guidelines/) |
910
| direct_file_access | security, plugin_repo | Checks that plugin files include proper security validation using the ABSPATH constant to prevent direct file access. | [Learn more](https://developer.wordpress.org/plugins/plugin-basics/best-practices/#file-security) |
1011
| file_type | plugin_repo | Detects the usage of hidden and compressed files, VCS directories, application files, badly named files, AI development directories (.cursor, .claude, .aider, .continue, .windsurf, .ai, .github), and unexpected markdown files in plugin root. | [Learn more](https://developer.wordpress.org/plugins/wordpress-org/detailed-plugin-guidelines/) |
1112
| plugin_header_fields | plugin_repo | Checks adherence to the Headers requirements, including validation of "Tested up to" header matching between plugin file and readme.txt. | [Learn more](https://developer.wordpress.org/plugins/plugin-basics/header-requirements/) |
1213
| late_escaping | security, plugin_repo | Checks that all output is escaped before being sent to the browser. | [Learn more](https://developer.wordpress.org/apis/security/escaping/) |
1314
| safe_redirect | security, plugin_repo | Checks that redirects use wp_safe_redirect() instead of wp_redirect() for security. | [Learn more](https://developer.wordpress.org/reference/functions/wp_safe_redirect/) |
14-
| nonce_verification | security, plugin_repo | Checks for proper usage of <code>wp_verify_nonce()</code> to prevent CSRF vulnerabilities. | [Learn more](https://developer.wordpress.org/apis/security/nonces/) |
1515
| plugin_updater | plugin_repo | Prevents altering WordPress update routines or using custom updaters, which are not allowed on WordPress.org. | [Learn more](https://developer.wordpress.org/plugins/wordpress-org/detailed-plugin-guidelines/) |
16+
| plugin_uninstall | plugin_repo | Checks related to plugin uninstallation. | [Learn more](https://developer.wordpress.org/plugins/plugin-basics/uninstall-methods/#method-2-uninstall-php) |
17+
| external_admin_menu_links | plugin_repo | Detects external URLs used in top-level WordPress admin menu, which disrupts the expected user experience. | [Learn more](https://developer.wordpress.org/plugins/wordpress-org/detailed-plugin-guidelines/#11-plugins-should-not-hijack-the-admin) |
1618
| plugin_review_phpcs | plugin_repo | Runs PHP_CodeSniffer to detect certain best practices plugins should follow for submission on WordPress.org, including heredoc usage detection. | [Learn more](https://developer.wordpress.org/plugins/plugin-basics/best-practices/) |
1719
| direct_db_queries | security, plugin_repo | Checks the usage of direct database queries, which should be avoided. | [Learn more](https://developer.wordpress.org/apis/database/) |
1820
| direct_db | security, plugin_repo | Checks the escaping in direct database queries. | [Learn more](https://developer.wordpress.org/apis/database/) |
@@ -27,9 +29,8 @@
2729
| offloading_files | plugin_repo | Prevents using remote services that are not necessary. | [Learn more](https://developer.wordpress.org/plugins/wordpress-org/common-issues/#calling-files-remotely) |
2830
| setting_sanitization | plugin_repo | Ensures sanitization in register_setting(). | [Learn more](https://developer.wordpress.org/reference/functions/register_setting/) |
2931
| prefixing | plugin_repo | Checks plugin for unique prefixing for everything the plugin defines in the public namespace. | [Learn more](https://developer.wordpress.org/plugins/plugin-basics/best-practices/) |
30-
| image_functions | performance | Checks whether images are inserted using recommended functions. | [Learn more](https://developer.wordpress.org/plugins/) |
3132
| enqueued_scripts_size | performance | Checks whether the cumulative size of all scripts enqueued on a page exceeds 293 KB. | [Learn more](https://developer.wordpress.org/plugins/) |
3233
| enqueued_styles_size | performance | Checks whether the cumulative size of all stylesheets enqueued on a page exceeds 293 KB. | [Learn more](https://developer.wordpress.org/plugins/) |
3334
| enqueued_styles_scope | performance | Checks whether any stylesheets are loaded on all pages, which is usually not desirable and can lead to performance issues. | [Learn more](https://developer.wordpress.org/plugins/) |
3435
| enqueued_scripts_scope | performance | Checks whether any scripts are loaded on all pages, which is usually not desirable and can lead to performance issues. | [Learn more](https://developer.wordpress.org/plugins/) |
35-
| non_blocking_scripts | performance | Checks whether scripts and styles are enqueued using a recommended loading strategy. | [Learn more](https://developer.wordpress.org/plugins/) |
36+
| non_blocking_scripts | performance | Checks whether scripts and styles are enqueued using a recommended loading strategy. | [Learn more](https://developer.wordpress.org/plugins/) |

plugin.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* Description: Plugin Check is a WordPress.org tool which provides checks to help plugins meet the directory requirements and follow various best practices.
66
* Requires at least: 6.3
77
* Requires PHP: 7.4
8-
* Version: 1.8.0
8+
* Version: 1.9.0
99
* Author: WordPress Performance Team and Plugins Team
1010
* License: GPLv2 or later
1111
* License URI: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
@@ -16,7 +16,7 @@
1616

1717
use WordPress\Plugin_Check\Plugin_Main;
1818

19-
define( 'WP_PLUGIN_CHECK_VERSION', '1.8.0' );
19+
define( 'WP_PLUGIN_CHECK_VERSION', '1.9.0' );
2020
define( 'WP_PLUGIN_CHECK_MINIMUM_PHP', '7.4' );
2121
define( 'WP_PLUGIN_CHECK_MAIN_FILE', __FILE__ );
2222
define( 'WP_PLUGIN_CHECK_PLUGIN_DIR_PATH', plugin_dir_path( WP_PLUGIN_CHECK_MAIN_FILE ) );

readme.txt

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
=== Plugin Check (PCP) ===
22

33
Contributors: wordpressdotorg
4-
Tested up to: 6.9
5-
Stable tag: 1.8.0
4+
Tested up to: 7.0
5+
Stable tag: 1.9.0
66
License: GPLv2 or later
77
License URI: https://www.gnu.org/licenses/gpl-2.0.html
88
Tags: plugin best practices, testing, accessibility, performance, security
@@ -81,6 +81,24 @@ In any case, passing the checks in this tool likely helps to achieve a smooth pl
8181

8282
== Changelog ==
8383

84+
= 1.9.0 =
85+
86+
* Enhancement - Use the WordPress 7.0 core AI connectors.
87+
* Enhancement - Add External Admin Menu Links check to detect external URLs in top-level admin menus.
88+
* Enhancement - Add and refine the block metadata compatibility check to require `apiVersion` 3+ for WordPress 7.0+ iframe editor compatibility, including adjusted severity by mode.
89+
* Enhancement - Improve Plugin Updater detection to identify Plugin Update Checker (PUC) calls.
90+
* Enhancement - Accept WTFPL as a GPL-compatible license.
91+
* Fix - Improve PayPal donation URL validation for complex query strings.
92+
* Fix - Ensure AI Check uses the configured model preference.
93+
* Fix - Show a clear Plugin Namer error message when AI connector status is unavailable.
94+
* Fix - Update the Plugin Namer connector settings page link.
95+
* Tweak - Convert the `load_plugin_textdomain()` check from error to warning severity.
96+
* Fix - Improve readme contributors validation when trailing commas are present.
97+
* Fix - Make markdown file checks case-insensitive.
98+
* Tweak - Refine escaping sniff error messages for clearer guidance.
99+
* Chore - Update development dependencies, including `@wordpress/scripts`, `simple-git`, `basic-ftp`, `svgo`, `immutable`, and `@wp-playground/cli`.
100+
* Tweak - Update WordPress.org Plugins Team naming for consistency.
101+
84102
= 1.8.0 =
85103

86104
* Enhancement - Add AI-powered Plugin Namer tool to evaluate plugin names for trademark conflicts and naming best practices.

0 commit comments

Comments
 (0)