This is a major release and contains breaking changes.
Most important changes to be aware of for this release:
* All code is now namespaced. Though there is a full backward compatibility layer available and the old class names are still supported, using them will generate a deprecation notice (which can be silenced by plugins if they'd need to support multiple WP versions). See the [https://requests.ryanmccue.info/docs/upgrading.html upgrade guide] for more details.
* A lot of classes have been marked `final`. This should generally not affect userland code as care has been taken to not apply the `final` keyword to classes which are known to be extended in userland code.
* Extensive input validation has been added to Requests. When Requests is used as documented though, this will be unnoticable.
* A new `WpOrg\Requests\Requests::has_capabilities()` method has been introduced which can be used to address #37708.
* A new `WpOrg\Requests\Response::decode_body()` method has been introduced which may be usable to simplify some of the WP native wrapper code.
* Remaining PHP 8.0 compatibility fixed (support for named parameters).
* PHP 8.1 compatibility.
Release notes: https://github.com/WordPress/Requests/releases/tag/v2.0.0
For a full list of changes in this update, see the Requests GitHub:
https://github.com/WordPress/Requests/compare/v1.8.1...v2.0.0
This commit also resolves 2 blocking issues which previously caused the revert of [52244]:
* New Requests files are loaded into `wp-includes/Requests/src/`, matching the location of the library. In doing so, filesystems that are case-insensitive are not impacted (see #54582).
* Preload: During a Core update, the old Requests files are preloaded into memory before the update deletes the files. Preloading avoids fatal errors noted in #54562.
Follow-up to [50842], [51078], [52244], [52315], [52327], [52328].
Props jrf, schlessera, datagutten, wojsmol, dustinrue, soulseekah, szepeviktor. costdev, sergeybiryukov, peterwilsoncc, ironprogrammer, antonvlasenko, hellofromTonya, swissspidy, dd32, azaozz, TobiasBg, audrasjb.
Fixes#54504.
See #54582, #54562.
git-svn-id: https://develop.svn.wordpress.org/trunk@54997 602fd350-edb4-49c9-b593-d223f7449a82
When rendering a list of attachments in `WP_Media_List_Table` class, none image attachments, show a generic icon. However, attachment types like audio and video support adding a featured image. For attachments that have featured images, us this image instead of the icon. This featured image is a better preview than a generic icon.
Props spacedmonkey, samful, johnbillion, JavierCasares, seanchayes, antpb, cadic, JeffPaul.
Fixes#49852.
git-svn-id: https://develop.svn.wordpress.org/trunk@54941 602fd350-edb4-49c9-b593-d223f7449a82
The `update_post_author_caches` function was added in [53482]. Replace call to `cache_users` function with `update_post_author_caches`, for consistency and code quality.
Props benjgrolleau, spacedmonkey.
Fixes#56978.
git-svn-id: https://develop.svn.wordpress.org/trunk@54939 602fd350-edb4-49c9-b593-d223f7449a82
Since `ABSPATH` is defined and documented to end with a forward slash `/`, this changeset removes the first `/` from strings appended to `ABSPATH` in various files, leading to `//` in the resulting path.
Props TobiasBg, audrasjb, SergeyBiryukov, emanuelx.
Fixes#57074.
See #57071.
git-svn-id: https://develop.svn.wordpress.org/trunk@54872 602fd350-edb4-49c9-b593-d223f7449a82
This changeset centers the "No plugin found" message in plugin search results.
Follow-up to [54149].
Props sruthi90, aparnajl, krupalpanchal, audrasjb, anantajitjg.
Fixes#57194.
See #55721, #55272.
git-svn-id: https://develop.svn.wordpress.org/trunk@54871 602fd350-edb4-49c9-b593-d223f7449a82
This commit adds inline comments instructing PHPCS to ignore some lines for database queries. An explanation is provided with each instruction.
This resolves a few WPCS warnings along the lines of:
{{{
Use placeholders and $wpdb->prepare(); found interpolated variable $table_name at "DESC $table_name"
}}}
Follow-up to [236], [265], [5778].
Props jipmoors, costdev, jrf, SergeyBiryukov.
Fixes#43761.
git-svn-id: https://develop.svn.wordpress.org/trunk@54858 602fd350-edb4-49c9-b593-d223f7449a82
While the `$type` and `$label` variables are set to values that do not currently require escaping, this may change in the future, so it is preferable to add the escaping as a defensive coding measure.
Follow-up to [16294], [29030].
Props monzuralam, rudlinkon, hztyfoon, peterwilsoncc.
Fixes#57133.
git-svn-id: https://develop.svn.wordpress.org/trunk@54857 602fd350-edb4-49c9-b593-d223f7449a82
Because themes are updated independently of Core updates, any deleted files from bundled themes should not be included in the `$_old_files` list.
Any file included in this list is deleted on update, which could cause problems for sites with a given theme active if the removed files were required in earlier versions of that theme and that theme is not updated at the same time.
Props desrosj, costdev, SergeyBiryukov.
Fixes#56936.
git-svn-id: https://develop.svn.wordpress.org/trunk@54849 602fd350-edb4-49c9-b593-d223f7449a82
This changeset ensures the wording of auto-updates related help tabs is consistent with other help tabs.
Props NekoJonez, SergeyBiryukov, mukesh27, audrasjb.
Fixes#56921.
git-svn-id: https://develop.svn.wordpress.org/trunk@54839 602fd350-edb4-49c9-b593-d223f7449a82
This properly deletes the now empty `src/wp-includes/blocks/comments-query-loop` directory and adds that directory to the `$_old_files` array.
The files in this directory were removed in [54257], but the directory was not marked as deleted in SVN.
Props azaozz, jorbin, SergeyBiryukov.
Fixes#57080.
git-svn-id: https://develop.svn.wordpress.org/trunk@54836 602fd350-edb4-49c9-b593-d223f7449a82
This changeset replaces "N/A" with "Not applicable" in the `choose_primary_blog()` function. It also makes the text string translatable.
Props kowsar89, SergeyBiryukov, audrasjb, mukesh27.
Fixes#57040.
git-svn-id: https://develop.svn.wordpress.org/trunk@54832 602fd350-edb4-49c9-b593-d223f7449a82
Calling the `wp_get_theme` function creates a instance of the `WP_Theme` class. This can be a performance issue, if all you need is one property of the class instance. This change replaces the usage of `wp_get_theme()->get_stylesheet()` with `get_stylesheet()` to improve performance.
Props spacedmonkey, flixos90, peterwilsoncc, desrosj.
Fixes#57057.
git-svn-id: https://develop.svn.wordpress.org/trunk@54817 602fd350-edb4-49c9-b593-d223f7449a82
This partially reverts [53860] and [53862], which refactored the `exists()` method to rely on `ftp_rawlist()` instead of `ftp_nlist()`.
[53860] makes a similar attempt to the ones made in [33648] and [34733] (which were also reverted in [35944]). Being compliant with the specifications while continuing to work without issue for all FTP servers continues seem impossible. These little ghosts are the ones we’re scared of the most.
Props jsh4, afragen, costdev, pkolenbr, SergeyBiryukov, dd32, peterwilsoncc, gamecreature, desrosj.
Fixes#56966.
See #51170, #28013.
git-svn-id: https://develop.svn.wordpress.org/trunk@54815 602fd350-edb4-49c9-b593-d223f7449a82
In [53874] the optional `$locale` parameter was added to `load_textdomain()`. While most `load_textdomain()` calls in core were were updated, some were missed. Passing the original locale avoids the need to call `determine_locale()` by `load_textdomain()` which is used as a fallback.
Props ocean90, swissspidy, desrosj.
See #57060.
git-svn-id: https://develop.svn.wordpress.org/trunk@54797 602fd350-edb4-49c9-b593-d223f7449a82
Resolves a fatal error due to `get_template_hierarchy()` due to incompatible older Gutenberg versions.
[54269] introduced this new function for 6.1. The function was introduced in Gutenberg 13.9.0. However, it was not guarded to protect the plugin from when the function was loaded in Core. Gutenberg 14.1.0 added the `function_exists()` guard to protect the plugin from the fatal error.
Minimum compatible version:
This commit changes the Gutenberg minimum compatible version number to 14.1. For versions older than 14.1, the plugin will deactivate when upgrading Core to 6.1 or newer.
Function rename:
Past commits renamed the upgrade function by changing Core's version number. This commit renames the function to be generic, i.e. `_upgrade_core_deactivate_incompatible_plugins()` and adopts the `@since [reason]` strategy to track historical changes to the function.
Follow-up to [54269], [52199], [52166], [52165], [51180].
Props namithjawahar, hellofromTonya, azaozz, desrosj, ironprogrammer.
Fixes#56985.
git-svn-id: https://develop.svn.wordpress.org/trunk@54789 602fd350-edb4-49c9-b593-d223f7449a82
This updates the `@since` mention of `get_theme_feature_list()` as this changeset is going to be backported to 6.1.1.
Follow-up to [54786].
See #57026.
git-svn-id: https://develop.svn.wordpress.org/trunk@54788 602fd350-edb4-49c9-b593-d223f7449a82
Includes updating the comment to use the correct format for multi-line comments as per the documentation standards.
Follow-up to [30353].
Props dilipbheda, mukesh27.
Fixes#56981.
git-svn-id: https://develop.svn.wordpress.org/trunk@54749 602fd350-edb4-49c9-b593-d223f7449a82
This changeset removes `role="img"` attribute from two decorative images: despite being hidden to assistive technologies using `aria-hidden="true"`, automated tools still understand them as images and expect alternative texts.
Props viralsampat, sabernhardt, audrasjb, ryokuhi, elifvish.
Fixes#56824.
git-svn-id: https://develop.svn.wordpress.org/trunk@54739 602fd350-edb4-49c9-b593-d223f7449a82
Link the image and text to the new 6.1 release video on youtube. The video is currently private, but will be made public during the release party.
Props admwgn, critterverse, joen, annezazu, jpantani, laurlittle, cbringmann, kellychoffman, pablohoney, EidolonNight.
See #56357.
git-svn-id: https://develop.svn.wordpress.org/trunk@54729 602fd350-edb4-49c9-b593-d223f7449a82
Switch to the CDN URLs for the images on the About page. Update the images used on Freedoms & Privacy to match the 6.1 design style.
Props richtabor, audrasjb, kebbet.
See #56357.
git-svn-id: https://develop.svn.wordpress.org/trunk@54690 602fd350-edb4-49c9-b593-d223f7449a82
This aims to clarify that "Site Address (URL)" is a required field that should not be left blank, whether or not the site home page is intended to be different from the WordPress installation directory.
Follow-up to [1203], [3058], [5093], [5141], [13750], [41986].
Props digical, sabernhardt.
Fixes#50629.
git-svn-id: https://develop.svn.wordpress.org/trunk@54689 602fd350-edb4-49c9-b593-d223f7449a82
This changeset fixes a typo in meta boxes preferences. It also changes the related sentence from passive to active voice.
Follow-up to [49179].
Props sabernhardt.
Fixes#56884.
git-svn-id: https://develop.svn.wordpress.org/trunk@54665 602fd350-edb4-49c9-b593-d223f7449a82
When used inline, the SVG needs the `aria-hidden`, `focusable`, and `viewBox` properties for accessibility. Additionally, this optimizes the SVG by using `cirlce` elements in place of `path`, and removing `clipPath`. There is no visible change, but the file is now one-third the size.
Props sabernhardt.
See #56703, #56357.
git-svn-id: https://develop.svn.wordpress.org/trunk@54662 602fd350-edb4-49c9-b593-d223f7449a82
This updates a conditional in `do_core_upgrade()` to use strict comparison for error codes that are static strings.
Follow-up to [8595], [36349].
Props rezakhan995, kebbet, mukesh27, jrf, SergeyBiryukov.
Fixes#56866.
git-svn-id: https://develop.svn.wordpress.org/trunk@54654 602fd350-edb4-49c9-b593-d223f7449a82
The new About header image appears to have been accidentally reverted to the older one in a previous commit.
Follow-up to [54635], [54638].
Props kebbet.
See #56703.
git-svn-id: https://develop.svn.wordpress.org/trunk@54645 602fd350-edb4-49c9-b593-d223f7449a82