WordPress/wp-admin/includes
costdev 9ebcbfae5c Upgrade/Install: Check plugin compatibility during bulk upgrades.
Previously, bulk upgrades did not verify that a plugin package was compatible with the site's WordPress version or the server's PHP version. This could lead to incompatible updates being installed, causing various compatibility issues and errors.

This change implements the following checks:
- If available, the API response's `requires` and `requires_php` values are checked for compatibility. This saves time, diskspace, memory and file operations by failing the upgrade before the package is downloaded and unpacked.
- If the API check passes, the downloaded and unpacked package is verified using `Plugin_Upgrader::check_package()` to ensure a plugin file is present, and the plugin's "RequiresWP" and "RequiresPHP" headers are compatible, if present. This ensures that a mismatch between the API response and the plugin file's headers does not cause an incompatible plugin to be installed.

Props salcode, afragen, mukesh27, iammehedi1, zunaid321, johnbillion, SergeyBiryukov, costdev.
Fixes #59198.
Built from https://develop.svn.wordpress.org/trunk@56525


git-svn-id: http://core.svn.wordpress.org/trunk@56037 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-06 18:30:19 +00:00
..
admin-filters.php Introduce font-face styles generator and printer. 2023-08-31 21:49:20 +00:00
admin.php General: add nonce for block theme preview activation. 2023-07-11 05:03:23 +00:00
ajax-actions.php Privacy: Improve docblocks for hooks and functions related to personal data export and erasure. 2023-08-28 21:53:21 +00:00
bookmark.php Docs: Various improvements in Bookmark Administration API function descriptions, as per docblocks standards. 2023-05-03 10:03:21 +00:00
class-automatic-upgrader-skin.php Code Modernization: Replace usage of `strpos()` with `str_contains()`. 2023-06-22 14:36:26 +00:00
class-bulk-plugin-upgrader-skin.php Code Modernization: Explicitly declare all properties in `WP_Ajax_Upgrader_Skin`. 2022-08-29 12:46:10 +00:00
class-bulk-theme-upgrader-skin.php Code Modernization: Explicitly declare all properties in `WP_Ajax_Upgrader_Skin`. 2022-08-29 12:46:10 +00:00
class-bulk-upgrader-skin.php Upgrade/Install: Update 'show details' button change. 2023-06-25 22:57:26 +00:00
class-core-upgrader.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-09 19:52:24 +00:00
class-custom-background.php I18N: Provide `gettext` context to disambiguate various translation strings. 2023-06-05 21:05:22 +00:00
class-custom-image-header.php Code Modernization: Replace usage of `strpos()` with `str_contains()`. 2023-06-22 14:36:26 +00:00
class-file-upload-upgrader.php Docs: Use third-person singular verbs in various function descriptions, as per docblocks standards. 2023-06-14 06:34:27 +00:00
class-ftp-pure.php Docs: Update URLs in some `@link` tags and switch them to HTTPS. 2019-11-01 14:57:02 +00:00
class-ftp-sockets.php Administration: Replace contracted verb forms for better consistency. 2022-03-22 16:25:03 +00:00
class-ftp.php Code Modernization: Replace usage of `strpos()` with `str_contains()`. 2023-06-22 14:36:26 +00:00
class-language-pack-upgrader-skin.php Code Modernization: Fix parameter name mismatches for parent/child classes in `WP_Upgrader_Skin::error()`. 2021-09-09 13:59:56 +00:00
class-language-pack-upgrader.php Docs: Wrap inline `@see` tags in curly braces. 2023-08-24 09:01:16 +00:00
class-pclzip.php Docs: Fix a few more typos in DocBlocks and inline comments. 2023-05-19 13:27:20 +00:00
class-plugin-installer-skin.php Docs: Use third-person singular verbs in various function descriptions, as per docblocks standards. 2023-06-14 06:34:27 +00:00
class-plugin-upgrader-skin.php Docs: Use third-person singular verbs in various function descriptions, as per docblocks standards. 2023-06-14 06:34:27 +00:00
class-plugin-upgrader.php Upgrade/Install: Check plugin compatibility during bulk upgrades. 2023-09-06 18:30:19 +00:00
class-theme-installer-skin.php Docs: Use third-person singular verbs in various function descriptions, as per docblocks standards. 2023-06-14 06:34:27 +00:00
class-theme-upgrader-skin.php Docs: Use third-person singular verbs in various function descriptions, as per docblocks standards. 2023-06-14 06:34:27 +00:00
class-theme-upgrader.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-09 19:52:24 +00:00
class-walker-category-checklist.php Docs: Wrap inline `@see` tags in curly braces. 2023-08-24 09:01:16 +00:00
class-walker-nav-menu-checklist.php Code Modernization: Fix last parameter name mismatches for parent/child classes in `Walker::start_el()`. 2021-09-09 12:39:59 +00:00
class-walker-nav-menu-edit.php I18N: Mark screen reader strings as such with translator comments. 2023-02-07 17:10:21 +00:00
class-wp-ajax-upgrader-skin.php Code Modernization: Replace usage of `strpos()` with `str_contains()`. 2023-06-22 14:36:26 +00:00
class-wp-application-passwords-list-table.php Docs: A host of corrections and improvements to inline documentation. 2023-05-08 22:37:24 +00:00
class-wp-automatic-updater.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-09 19:52:24 +00:00
class-wp-comments-list-table.php Menus: Revert unintentional changes in [56449]. 2023-08-24 16:14:18 +00:00
class-wp-community-events.php Administration: Guard against `false` transient key in `get_cached_events()`. 2022-09-27 18:57:13 +00:00
class-wp-debug-data.php Site Health: Show correct debug value for file uploads. 2023-09-02 18:36:24 +00:00
class-wp-filesystem-base.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-09 19:52:24 +00:00
class-wp-filesystem-direct.php Filesystem API: Correct and improve the return type documentation for the `dirlist()` method in `WP_Filesystem_Base` and its extending classes. 2023-05-03 21:30:19 +00:00
class-wp-filesystem-ftpext.php Filesystem API: Correct and improve the return type documentation for the `dirlist()` method in `WP_Filesystem_Base` and its extending classes. 2023-05-03 21:30:19 +00:00
class-wp-filesystem-ftpsockets.php Filesystem API: Correct and improve the return type documentation for the `dirlist()` method in `WP_Filesystem_Base` and its extending classes. 2023-05-03 21:30:19 +00:00
class-wp-filesystem-ssh2.php Filesystem API: Define password as `null` if not set when using SSH2 with public/private keys. 2023-06-29 17:05:30 +00:00
class-wp-importer.php Coding Standards: Use strict comparison in `wp-admin/includes/class-wp-importer.php`. 2023-08-14 09:59:20 +00:00
class-wp-internal-pointers.php Docs: Use third-person singular verbs in various function descriptions, as per docblocks standards. 2023-06-14 12:57:20 +00:00
class-wp-links-list-table.php Menus: Revert unintentional changes in [56449]. 2023-08-24 16:14:18 +00:00
class-wp-list-table-compat.php Docs: Add missing descriptions for `_WP_List_Table_Compat` methods. 2020-11-14 16:54:08 +00:00
class-wp-list-table.php Menus: Revert unintentional changes in [56449]. 2023-08-24 16:14:18 +00:00
class-wp-media-list-table.php Menus: Revert unintentional changes in [56449]. 2023-08-24 16:14:18 +00:00
class-wp-ms-sites-list-table.php Menus: Revert unintentional changes in [56449]. 2023-08-24 16:14:18 +00:00
class-wp-ms-themes-list-table.php Menus: Revert unintentional changes in [56449]. 2023-08-24 16:14:18 +00:00
class-wp-ms-users-list-table.php Menus: Revert unintentional changes in [56449]. 2023-08-24 16:14:18 +00:00
class-wp-plugin-install-list-table.php Docs: Fix typo in duplicate hook references for `views_{$this->screen->id}`. 2023-08-15 10:09:24 +00:00
class-wp-plugins-list-table.php Menus: Revert unintentional changes in [56449]. 2023-08-24 16:14:18 +00:00
class-wp-post-comments-list-table.php Administration: Remove private delegation from list tables. 2022-10-04 03:47:15 +00:00
class-wp-posts-list-table.php Menus: Revert unintentional changes in [56449]. 2023-08-24 16:14:18 +00:00
class-wp-privacy-data-export-requests-list-table.php Privacy: Fix "Retry" action after a personal data export failure. 2022-03-10 19:22:01 +00:00
class-wp-privacy-data-removal-requests-list-table.php Docs: Use third-person singular verbs in various function descriptions, as per docblocks standards. 2023-06-14 06:34:27 +00:00
class-wp-privacy-policy-content.php Coding Standards: Remove unused global variables in various `/wp-admin/includes/` files. 2023-08-31 14:45:20 +00:00
class-wp-privacy-requests-table.php Menus: Revert unintentional changes in [56449]. 2023-08-24 16:14:18 +00:00
class-wp-screen.php Code Modernization: Replace usage of `substr()` with `str_starts_with()` and `str_ends_with()`. 2023-06-22 14:57:24 +00:00
class-wp-site-health-auto-updates.php Code Modernization: Replace usage of `substr()` with `str_starts_with()` and `str_ends_with()`. 2023-06-22 14:57:24 +00:00
class-wp-site-health.php Database: Remove support for the `mysql` extension. 2023-08-26 13:03:24 +00:00
class-wp-site-icon.php Coding Standards: Use strict comparison in `wp-admin/includes/class-wp-site-icon.php`. 2023-04-23 04:02:18 +00:00
class-wp-terms-list-table.php Menus: Revert unintentional changes in [56449]. 2023-08-24 16:14:18 +00:00
class-wp-theme-install-list-table.php Docs: Use third-person singular verbs in various function descriptions, as per docblocks standards. 2023-06-14 06:34:27 +00:00
class-wp-themes-list-table.php Docs: A host of corrections and improvements to inline documentation. 2023-05-08 22:37:24 +00:00
class-wp-upgrader-skin.php Code Modernization: Replace usage of `strpos()` with `str_contains()`. 2023-06-22 14:36:26 +00:00
class-wp-upgrader-skins.php Docs: Add missing `@deprecated` tags in the file docblock of some deprecated files. 2019-10-08 17:19:04 +00:00
class-wp-upgrader.php Coding Standards: Correct equals sign alignment in various files. 2023-09-06 09:33:21 +00:00
class-wp-users-list-table.php Menus: Revert unintentional changes in [56449]. 2023-08-24 16:14:18 +00:00
comment.php Docs: Use third-person singular verbs for function descriptions in `wp-admin/includes/comment.php`, as per docblocks standards. 2022-07-20 22:15:10 +00:00
continents-cities.php I18N: Update list of continents and cities for the timezone selection. 2022-09-19 23:24:11 +00:00
credits.php Code Modernization: Replace usage of `strpos()` with `str_contains()`. 2023-06-22 14:36:26 +00:00
dashboard.php Administration: Update dashboard welcome panel for 6.3. 2023-07-24 23:15:23 +00:00
deprecated.php Properly deprecate both constructors in `WP_User_Search`. 2023-08-25 03:37:12 +00:00
edit-tag-messages.php Docs: Various inline documentation corrections and improvements. 2021-12-07 12:20:02 +00:00
export.php General: Replace some instances of "blog" with "site" in documentation, translator comments, and user-facing text strings. 2023-06-19 18:27:27 +00:00
file.php Docs: Wrap inline `@see` tags in curly braces. 2023-08-24 09:01:16 +00:00
image-edit.php Coding Standards: Improve variable names in `wp_save_image()`. 2023-08-18 10:09:23 +00:00
image.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-09 19:52:24 +00:00
import.php Docs: Various docblock improvements in Importer Administration API, as per docs standards. 2022-07-29 09:22:10 +00:00
list-table.php Administration: Remove private delegation from list tables. 2022-10-04 03:47:15 +00:00
media.php Media: Remove unused `$is_IE` and `$is_opera` globals in `media_upload_form()`. 2023-09-01 11:03:23 +00:00
menu.php Coding Standards: Use strict comparison in `wp-admin/includes/menu.php`. 2023-05-31 14:53:26 +00:00
meta-boxes.php Coding Standards: Use strict comparison in `wp-admin/includes/meta-boxes.php`. 2023-08-20 00:10:22 +00:00
misc.php Administration: Add function to standardize admin notices. 2023-08-17 20:29:21 +00:00
ms-admin-filters.php Networks and Sites: Officially remove global terms. 2022-09-20 02:51:09 +00:00
ms-deprecated.php Networks and Sites: Officially remove global terms. 2022-09-20 02:51:09 +00:00
ms.php Coding Standards: Remove unused global variables in various `/wp-admin/includes/` files. 2023-08-31 14:45:20 +00:00
nav-menu.php Administration: Use admin notice functions in nav menu admin. 2023-09-05 20:50:24 +00:00
network.php Administration: Invalid argument passed in additional_classes. 2023-08-17 21:36:21 +00:00
noop.php Coding Standards: Fix brace indentation in `wp-align/includes/noop.php`. 2022-11-26 09:12:17 +00:00
options.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-09 20:07:22 +00:00
plugin-install.php Plugins: Correctly display spaces in new plugins search results. 2023-08-24 15:27:16 +00:00
plugin.php Docs: Miscellaneous docblock corrections and improvements. 2023-08-18 17:29:20 +00:00
post.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-09 20:07:22 +00:00
privacy-tools.php Code Modernization: Replace usage of `strpos()` with `str_contains()`. 2023-06-22 14:36:26 +00:00
revision.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-09 20:07:22 +00:00
schema.php Docs: Miscellaneous docblock corrections and improvements. 2023-08-18 17:29:20 +00:00
screen.php Coding Standards: Use strict comparison in `wp-admin/includes/screen.php`. 2021-05-09 20:27:02 +00:00
taxonomy.php Coding Standards: Use strict comparison in `wp-admin/includes/taxonomy.php`. 2023-03-10 07:04:20 +00:00
template.php Administration: Add improved context for `add new` links. 2023-09-05 19:26:26 +00:00
theme-install.php I18N: Mark screen reader strings as such with translator comments. 2023-02-07 17:10:21 +00:00
theme.php Code Modernization: Use `str_contains()` in a few more places. 2023-07-17 13:18:27 +00:00
translation-install.php Coding Standards: Always use parentheses when instantiating an object. 2022-11-29 15:51:14 +00:00
update-core.php Revert the last use of `str_starts_with()` in `update-core.php`. 2023-08-18 23:25:24 +00:00
update.php Coding Standards: Use strict comparison in `wp-admin/includes/update.php`. 2023-06-01 15:14:27 +00:00
upgrade.php Coding Standards: Remove unused global variables in various `/wp-admin/includes/` files. 2023-08-31 14:45:20 +00:00
user.php Code Modernization: Replace usage of `strpos()` with `str_contains()`. 2023-06-22 14:36:26 +00:00
widgets.php Docs: Various corrections and improvements to inline docs and docblocks. 2023-05-12 21:35:21 +00:00