After the SimplePie library was updated to version `1.8.0` in [59141], an edge case has been discovered where a fatal error can encountered if the `blog_charset` option is missing or empty.
In `fetch_feed()`, this option is retrieved using `get_option()` instead of `get_bloginfo( ‘charset’ )`. The latter will detect this scenario and apply a default value of `UTF-8` and is already used interchangeably throughout Core. This switches to `get_bloginfo( ‘charset’ )` instead to prevent this edge case.
Props david.binda, davidbaumwald, SergeyBiryukov, sabernhardt, azaozz, peterwilsoncc.
Fixes#62354.
Built from https://develop.svn.wordpress.org/trunk@59382
git-svn-id: http://core.svn.wordpress.org/trunk@58768 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Removes the dimension suffix, eg `-1000x1000` from the file name of full size images automatically converted from HEIC to JPEGs by WordPress. Introduces unit tests for the default conversion of images and customized conversion settings via the `image_editor_output_format` filter.
Follow up to [58849], [58942], [59317], [59346], [59366]
Props mukesh27, peterwilsoncc, azaozz, apermo, flixos90, ironprogrammer.
Fixes#62359.
See #53645, #62305.
Built from https://develop.svn.wordpress.org/trunk@59379
git-svn-id: http://core.svn.wordpress.org/trunk@58765 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This removes a redundant `isset( $HTTP_RAW_POST_DATA )` from `xmlrpc.php`, as the variable is already set in the code block immediately preceding the affected line.
Follow-up to [3498], [5445], [47926].
Props justlevine.
See #52217.
Built from https://develop.svn.wordpress.org/trunk@59376
git-svn-id: http://core.svn.wordpress.org/trunk@58762 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This addresses an issue where a string (`$current`) is compared to an integer (`$last_saved`). The issue is resolved by casting the results of `preg_replace()` to type `int` when `$current` is defined.
Follow-up to [8784], [10083], [25109].
Props justlevine.
See #52217.
Built from https://develop.svn.wordpress.org/trunk@59373
git-svn-id: http://core.svn.wordpress.org/trunk@58759 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Currently, Dependabot is configured to open pull requests when updates to 3rd-party GitHub Actions become available.
It does a great job at this. Thank you very much, 🤖 Mr. Dependabot Roboto.
Some of the automated comments for pull requests are not relevant to PRs opened by Dependabot. Despite how good of a robot it is, Dependabot will never open a Trac ticket, so it's pointless to ask for one.
Also, since it’s currently only configured to watch GitHub Actions for updates, there will never be a need to test Dependabot PRs in Playground. If instructed to monitor npm dependencies in the future, this comment can be added back as those packages can directly affect the built software that is distributed.
Props johnbillion.
See #62221.
Built from https://develop.svn.wordpress.org/trunk@59370
git-svn-id: http://core.svn.wordpress.org/trunk@58756 1a063a9b-81f0-0310-95a4-ce76da25c4cd
In `WP_Theme_JSON::get_valid_block_style_variations()`, the method was calling `self::get_blocks_metadata()` even though the metadata was already retrieved in the parent function. This update reuses the existing block metadata instead of calling it again.
A new optional parameter, `$blocks_metadata`, has been added to the function, allowing it to use pre-fetched metadata when available, improving efficiency.
Fewer `self::get_blocks_metadata()` calls mean faster processing, especially in themes with many blocks.
Props mukesh27, ramonopoly, aaronrobertshaw, flixos90.
Fixes #62291.
Built from https://develop.svn.wordpress.org/trunk@59359
git-svn-id: http://core.svn.wordpress.org/trunk@58745 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This resolves an issue where the private property `WP_User_Query::$results` is accessed directly in `WP_REST_Users_Controller::get_items()` instead of via the `::get_results()` method.
Follow-up to [38832].
Props justlevine.
See #52217.
Built from https://develop.svn.wordpress.org/trunk@59357
git-svn-id: http://core.svn.wordpress.org/trunk@58743 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This adds documentation for how to generate code coverage reports to the README.md file.
`test:coverage` has also been added as an npm script to make it easier to generate a report using the local Docker environment. The script will generate an HTML, PHP, and text report file.
Props pbearne, hellofromTonya, netweb.
Fixes#53414.
Built from https://develop.svn.wordpress.org/trunk@59356
git-svn-id: http://core.svn.wordpress.org/trunk@58742 1a063a9b-81f0-0310-95a4-ce76da25c4cd
[59287] updated the test coverage workflow to make use of the reusable PHPUnit workflow logic to prevent having duplicate code. The workflow should be run when the reusable file is updated to confirm any changes made work as expected.
See #62221.
Built from https://develop.svn.wordpress.org/trunk@59355
git-svn-id: http://core.svn.wordpress.org/trunk@58741 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This fixes an issue with the usage of the new `$wp_styles->get_etag()` method in `wp-admin/load-styles.php`, where `$wp_version` is passed as the first argument instead of `$load` being used as the ''only'' argument.
Follow-up to [58935].
Props justlevine, mukesh27, swissspidy.
See #52217, #61485.
Built from https://develop.svn.wordpress.org/trunk@59341
git-svn-id: http://core.svn.wordpress.org/trunk@58727 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit corrects several instances of `test_*()` methods potentially returning `void` instead of their documented return types.
Since these methods are public, `null` is used to represent a passed test for backward compatibility with the coercion of the previously-returned `void`. Previous usage of `false` is preserved.
Includes updating some `@return` tags for clarity.
Follow-up to [44986], [46276], [49927].
Props justlevine, apermo, SergeyBiryukov.
See #52217.
Built from https://develop.svn.wordpress.org/trunk@59340
git-svn-id: http://core.svn.wordpress.org/trunk@58726 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit affects `WP_Theme_JSON_Resolver::resolve_theme_file_uris()`.
When setting resolved URIs in an incoming theme json object, this commit removes the unnecessary call to `WP_Theme_JSON->merge()`.
Why? `WP_Theme_JSON_Resolver::resolve_theme_file_uris()` only needs to set values for paths in the raw theme json object. It can then return a new theme object based on the updated JSON source. There's no need for a full and possibly expensive merge.
Follow-up to [61588].
Props ramonopoly, aaronrobertshaw, andrewserong.
Fixes #62329.
Built from https://develop.svn.wordpress.org/trunk@59338
git-svn-id: http://core.svn.wordpress.org/trunk@58724 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit fixes an issue where some magic `__isset()` methods were potentially returning `void` (if the prop is not in an allow-listed array of fields) instead of an explicit boolean `false`.
Addressed methods:
* `WP_Comment::__isset()`
* `WP_Query::__isset()`
Follow-up to [28523], [31151], [34583], [34599].
Props justlevine.
See #52217.
Built from https://develop.svn.wordpress.org/trunk@59337
git-svn-id: http://core.svn.wordpress.org/trunk@58723 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit adds missing `void` return types to (parent) methods that can ''explicitly'' return `void` as one of their conditional paths.
Addressed methods:
* `WP_Privacy_Requests_Table::column_status()`
* `WP_Recovery_Mode::handle_error()`
* `WP_Widget::form()` — unlike the others, it's the ''child'' classes that return `void` when the method is correctly implemented.
Note: `@return void` (where `void` is the single type returned) should not be used outside the default bundled themes and the PHP compatibility shims included in WordPress Core, as per the [https://developer.wordpress.org/coding-standards/inline-documentation-standards/php/ documentation standards].
Follow-up to [30382], [42967], [43256], [44973], [45448].
Props justlevine.
See #52217, #62281.
Built from https://develop.svn.wordpress.org/trunk@59336
git-svn-id: http://core.svn.wordpress.org/trunk@58722 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit fixes an omission in the logic of `WP_Theme_JSON::merge()` where top-level background image style objects are not replaced, rather they are merged. Because background images are self contained objects, their properties are unique and should not be merged. Blocks are already catered for via `WP_Theme_JSON::get_block_nodes()`.
Follow-up to [61858].
Props ramonopoly, andrewserong.
Fixes #62328.
Built from https://develop.svn.wordpress.org/trunk@59335
git-svn-id: http://core.svn.wordpress.org/trunk@58721 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Reverts an earlier change to the test suite in which the PHPUnit tests could not run if the importer plugin was not available.
This update allows the test suite to run and will fail importer tests if the plugin is not available.
Follow up to r59085.
Props peterwilsoncc, azaozz.
See #62325.
Built from https://develop.svn.wordpress.org/trunk@59326
git-svn-id: http://core.svn.wordpress.org/trunk@58712 1a063a9b-81f0-0310-95a4-ce76da25c4cd
The previous approach of running `wp_allow_comment()` twice could have unintended consequences, e.g. the `check_comment_flood` action was also triggered twice, which might lead to false-positive identification of comment flood in case there is some custom callback hooked to it, which is not expecting identical data seeing twice.
This commit introduces a new function, `wp_check_comment_data()`, to specifically check for disallowed content before and after comment data is filtered.
Follow-up to [59267].
Props david.binda, SergeyBiryukov.
See #61827.
Built from https://develop.svn.wordpress.org/trunk@59319
git-svn-id: http://core.svn.wordpress.org/trunk@58705 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit fixes a regression whereby requests to global styles endpoints were not being preloaded, resulting in several requests being fired clientside unnecessarily.
For performance reasons, we preload the requests so that the data is in the editor store and ready to use straight away.
The outcome is that the editor loads more quickly.
Follow-up to [62042].
Props ellatrix, ramonopoly, apermo, peterwilsoncc.
Fixes #62315.
Built from https://develop.svn.wordpress.org/trunk@59316
git-svn-id: http://core.svn.wordpress.org/trunk@58702 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This resolves a "passing null to non-nullable" deprecation notice on PHP 8.1+:
{{{
Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated
}}}
Follow-up to [50129], [54477].
Props afragen, peterwilsoncc, SergeyBiryukov.
Fixes#62298.
Built from https://develop.svn.wordpress.org/trunk@59312
git-svn-id: http://core.svn.wordpress.org/trunk@58698 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Fixes a typo in the a11y helper text explaining how to navigate revisions. "Change revision by using the left and arrow keys" becomes "Change revision by using the left and right arrow keys".
Follow up to [59225].
Props pedromendonca, sabernhardt, fierevere, swissspidy.
Fixes#62306.
Built from https://develop.svn.wordpress.org/trunk@59306
git-svn-id: http://core.svn.wordpress.org/trunk@58692 1a063a9b-81f0-0310-95a4-ce76da25c4cd
The previous domain that was used to test for a host whose IPv4 address cannot be resolved, `exampleeeee.com`, got registered and has an A-record now, so it's not invalid anymore.
`.invalid` is intended for use in online construction of domain names that are sure to be invalid and which it is obvious at a glance are invalid.
Reference: [https://datatracker.ietf.org/doc/html/rfc2606#section-2 Reserved Top Level DNS Names: TLDs for Testing, & Documentation Examples].
Follow-up to [52084], [58384], [58388].
Props sippis, johnbillion, MattyRob, swissspidy.
Fixes#62303.
Built from https://develop.svn.wordpress.org/trunk@59293
git-svn-id: http://core.svn.wordpress.org/trunk@58685 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Adds instructions to the Twenty Twenty-Two readme file for updating the comment block from the legacy version to the newer version introduced in WordPress 6.1.
As Twenty Twenty-Two supports WordPress version prior to 6.1, the legacy comment block is used by default.
Props desrosj, jeffpaul, joedolson, mikachan, mrfoxtalbot, mukesh27, poena, ryokuhi, sabernhardt, thrijith.
Fixes#56496.
Built from https://develop.svn.wordpress.org/trunk@59289
git-svn-id: http://core.svn.wordpress.org/trunk@58681 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This aims to avoid hanging PHP processes if a plugin inadvertently attempts to request a large number of revision diffs.
Follow-up to [24520], [24707], [59039].
Props madpeter, lovesoni1999, debarghyabanerjee, pbearne, desrosj, SergeyBiryukov.
Fixes#49291.
Built from https://develop.svn.wordpress.org/trunk@59288
git-svn-id: http://core.svn.wordpress.org/trunk@58680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This updates the Test Coverage workflow to make use of the reusable PHPUnit test workflow to avoid having duplicate code.
`concurrency` has also been configured for the workflow, and 4 test jobs have been consolidated into 2.
Props jrf.
Fixes#62296.
Built from https://develop.svn.wordpress.org/trunk@59287
git-svn-id: http://core.svn.wordpress.org/trunk@58679 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Break out logic from the `next_token()` method into a private method which may call itself recursively. This allows for subclasses to override the `next_token()` method and be assured that each call to `next_token()` corresponds with the consumption of one single token. This also parallels how `WP_HTML_Tag_Processor::next_token()` wraps a private `base_class_next_token()` method.
Props westonruter, jonsurrell.
Fixes#62269.
Built from https://develop.svn.wordpress.org/trunk@59285
git-svn-id: http://core.svn.wordpress.org/trunk@58677 1a063a9b-81f0-0310-95a4-ce76da25c4cd
GitHub Actions caps the number of jobs that can be spawned from a single matrix at 256.
The changes in [59280] pushed the WordPress 6.x job over this limit. This splits that matrix into two following established pattern for older branches in the workflow.
See #61218, #62221.
Built from https://develop.svn.wordpress.org/trunk@59281
git-svn-id: http://core.svn.wordpress.org/trunk@58673 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Because `caching_sha2_password` is not supported on PHP 7.2 & 7.3, the local Docker environment has used the `--default-authentication-plugin` system variable to always make use of `mysql_native_password` despite MySQL 8.0 deprecating this auth plugin.
However in MySQL 8.4, the `--default-authentication-plugin` option was removed in favor of `--authentication-policy`, and `mysql_native_password` is now disabled by default. `mysql_native_password` has also been removed in MySQL 9.0.
This change adds support to the local Docker environment for MySQL 8.4 by adding some helper functions that determine which authentication plugin should be used based on the configured PHP/MySQL versions and automatically making the necessary configuration adjustments.
Props ayeshrajans, johnbillion, aristath, jorbin.
See #61218.
Built from https://develop.svn.wordpress.org/trunk@59279
git-svn-id: http://core.svn.wordpress.org/trunk@58671 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This merges the latest improvements to the Twenty Twenty-Five theme from GitHub into `trunk` for 6.7 RC 1.
A full list of changes can be found on GitHub: [e4da8ad0ae...f2dc3facf9 WordPress/twentytwentyfive@e4da8ad...f2dc3fa]
Props juanfra, poena, beafialho, areziaal, joen, sergeybiryukov, richtabor, cwhitmore, get_dave, talldanwp, andraganescu, kau-boy, mhkuu, hanneslsm, alaminfirdows, dd32.
See #62264.
Built from https://develop.svn.wordpress.org/trunk@59269
git-svn-id: http://core.svn.wordpress.org/trunk@58661 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This ensures that a Disallowed Comment Keys match will consistently send the comment to the Trash, by checking both the original unmodified comment data and the final filtered comment data.
If the first check has already resulted in a `trash` or `spam` status, the second check is skipped as redundant.
Follow-up to [2894], [3851], [48121], [48575].
Props cfinke, kbrownkd, thompsonsj, mi5t4n, devspace, chaion07, engahmeds3ed, SergeyBiryukov.
Fixes#61827.
Built from https://develop.svn.wordpress.org/trunk@59267
git-svn-id: http://core.svn.wordpress.org/trunk@58659 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Add `select` inputs to allow users to set the parent and position of items in the menu settings. Fixes a significant problem for screen reader users that makes updating menus extremely tedious, since the options for moving items do not explicitly set a position. This is also a significant improvement for all users manipulating large menus.
This could easily be considered an enhancement, but while it is a minor enhancement for most users, it is transformative for screen reader users in managing menus, moving that interface from nearly unusable to very manageable.
Props javad2000, audrasjb, juliemoynat, williamalexander, rcreators, milamj, joedolson.
Fixes#43305.
Built from https://develop.svn.wordpress.org/trunk@59265
git-svn-id: http://core.svn.wordpress.org/trunk@58657 1a063a9b-81f0-0310-95a4-ce76da25c4cd
In `WP_Theme_JSON::get_block_nodes()`, remove redundant check for `$theme_json['styles']`, which means `WP_Theme_JSON::get_blocks_metadata()` is only called if necessary.
Also skip unnecessary `$selector` assignment if only nodes are to be returned.
Props ramonopoly, mukesh27.
Fixes #62234.
Built from https://develop.svn.wordpress.org/trunk@59262
git-svn-id: http://core.svn.wordpress.org/trunk@58654 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Loads the font family files from style variations defined within a theme for user in the site and post editors. This is to ensure the fonts are shown while editing without the need for a reload after switching styles.
Props ironprogrammer, mmaattiiaass.
Fixes#62231.
Built from https://develop.svn.wordpress.org/trunk@59260
git-svn-id: http://core.svn.wordpress.org/trunk@58652 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Fixes a fatal error in `array_keys()` (PHP 8.0+) as `$wp_filesystem->dirlist()` will return `false` when the source directory doesn't exist or becomes unreadable for some reason.
Props: verygoode, lifelightweb, da5f656f, costdev, afragen, azaozz
Fixes#61114
Built from https://develop.svn.wordpress.org/trunk@59257
git-svn-id: http://core.svn.wordpress.org/trunk@58649 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This caches the generated CSS from block nodes in merged Theme JSON data to avoid repeated costly operations required to compute style properties for blocks. The generated CSS is saved to a transient that expires every hour.
This is a follow-up that reimplements [58334], which was previously reverted in [58710].
Props thekt12, spacedmonkey, pereirinha, mukesh27, isabel_brison, oandregal, andrewserong, ramonjd, joemcgill, costdev, aaronrobertshaw, peterwilsoncc.
Fixes#61679. See #59595.
Built from https://develop.svn.wordpress.org/trunk@59256
git-svn-id: http://core.svn.wordpress.org/trunk@58648 1a063a9b-81f0-0310-95a4-ce76da25c4cd
[59252] made the path filtering a bit too broad for the Test Old Branches workflow.
Though `v3` of the reusable PHPUnit workflow is used by some older branches, this version is updated much more frequently because it’s the latest version.
To limit the number of times this workflow runs, old branches should only be tested when old versions of the workflow are updated.
Follow up to [59252].
See #61564.
Built from https://develop.svn.wordpress.org/trunk@59254
git-svn-id: http://core.svn.wordpress.org/trunk@58646 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Some GitHub Action workflows use the `paths` filter to limit when workflows run for pull requests. This helps avoid running workflows unnecessarily when the pull request does not change any relevant code.
Currently, a few of these workflows are configured to run when any `.yml` file in the `.github/workflows/` directory is changed. This updates those workflows to target more specific workflow files for more efficient running.
See #61564.
Built from https://develop.svn.wordpress.org/trunk@59252
git-svn-id: http://core.svn.wordpress.org/trunk@58644 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This switches from using the `test`/`cp` commands when copying the `.env.example` file to using `node:fs`. `test` and `cp` are not available on Windows machines.
This also adds the `.env` file to the `svn:ignore` list to prevent it from being committed accidentally.
Follow up to [59038].
Props afercia, Clorith, poena.
Fixes#52668.
Built from https://develop.svn.wordpress.org/trunk@59249
git-svn-id: http://core.svn.wordpress.org/trunk@58641 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Fix an issue where Imagick did not properly set image quality for AVIF images. Adds a call to `setCompressionQuality` where we currently call `setImageCompressionQuality`
Props: jamesosborne, adamsilverstein, mukeshpanchal27.
Fixes: #61614.
Built from https://develop.svn.wordpress.org/trunk@59247
git-svn-id: http://core.svn.wordpress.org/trunk@58639 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Load block patterns for bundled themes on the `init` hook to avoid triggering notices caused by loading the translations too early.
The change is applied to Twenty Ten, Twenty Twelve, Twenty Thirteen, Twenty Fourteen, Twenty Fifteen, Twenty Sixteen and Twenty Twenty.
Props domainsupport, swissspidy.
Fixes#62237.
See #44937.
Built from https://develop.svn.wordpress.org/trunk@59244
git-svn-id: http://core.svn.wordpress.org/trunk@58636 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Includes:
* Moving `@covers` tags to the class-level DocBlock, since this is the only function tested in the class.
* Adjusting the assertion messages for clarity, as `rss_enclosure()` does not return anything directly.
* Using a static closure for improved performance.
Follow-up to [59241].
See #61530.
Built from https://develop.svn.wordpress.org/trunk@59243
git-svn-id: http://core.svn.wordpress.org/trunk@58635 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Relocate the defintion of `absint()` to `load.php` to allow it to be available to `get_current_blog_id()` and `get_current_network_id()`. These functions may be called by caching drop-ins, prior to the loading of `functions.php`.
Props flixos90, geekofshire, johnjamesjacoby, sergeybiryukov, wonderboymusic.
Fixes#40682.
Built from https://develop.svn.wordpress.org/trunk@59242
git-svn-id: http://core.svn.wordpress.org/trunk@58634 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Prevent possible PHP warnings caused by malformed enclosure meta data. This change ensures the enclosure meta data has at least three lines of text before generating the tag in `rss_enclosure()`.
Props arypneta, johnjamesjacoby, nihar007, rahmohn, rghedin, zahardoc.
Fixes#58798.
Built from https://develop.svn.wordpress.org/trunk@59241
git-svn-id: http://core.svn.wordpress.org/trunk@58633 1a063a9b-81f0-0310-95a4-ce76da25c4cd
There is a bug where the attributes panel is not shown in custom post types. This is caused because each post type can define a capability_type, which by default is post, so the logic to map the capabilities wasn't correct and it was returning false.
Props santosguillamot, cbravobernal.
Fixes#62226.
Built from https://develop.svn.wordpress.org/trunk@59239
git-svn-id: http://core.svn.wordpress.org/trunk@58631 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Bootstrap block bindings sources earlier in the process through an inline script to ensure they are available when developers want to extend them in the client. Following the same pattern other APIs like registering block types are doing.
Props santosguillamot, cbravobernal, gziolo.
Fixes#6225.
Built from https://develop.svn.wordpress.org/trunk@59238
git-svn-id: http://core.svn.wordpress.org/trunk@58630 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Updates `update_post_thumbnail_cache()` to account for `WP_Query` objects that only contain the post ID field rather than the entire post object.
This changes passes the `$post` value to `get_post_thumbnail_id()` rather than assuming the presence of the ID property. Additionally, the posts to which the thumbnail is attached are now primed prior to calling the function to avoid numerous unnecessary database queries.
The test `WP_Test_REST_Posts_Controller::test_get_items_primes_parent_post_caches()` is modified to account for an order of operations change for the priming of post meta caches. The cache is no longer primed in the final call to `update_meta_cache()` so the tests need to account for the post meta to be primed in any call to the function.
Props antpb, jorbin, khokansardar, linsoftware, mukesh27, oglekler, rajinsharwar, sumitsingh, xendo.
Fixes#59521.
Built from https://develop.svn.wordpress.org/trunk@59235
git-svn-id: http://core.svn.wordpress.org/trunk@58627 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Introducing the new content for the 6.7 About page. As with the last release, this About page has a simple layout, and links off to WordPress.org for a full overview.
Props ndiego, annezazu, provenself, ryelle, joen, parinpanjari.
See #61961.
Built from https://develop.svn.wordpress.org/trunk@59234
git-svn-id: http://core.svn.wordpress.org/trunk@58626 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This merges the latest improvements to the Twenty Twenty-Five theme from GitHub into `trunk` for 6.7 beta 3.
A full list of changes can be found on GitHub: [0d8b245021...5d17f41da8 WordPress/twentytwentyfive@0d8b245...5d17f41]
Props annezazu, areziaal, beafialho, cwhitmore, franz00, get_dave, joedolson, joen, juanfra, karmatosed, kartikmehta, mukesh27, onemaggie, pgeorgiev, poena, richtabor, sudipatel007, sumitbagthariya16, wildworks, youknowriad.
Fixes#62218.
Built from https://develop.svn.wordpress.org/trunk@59233
git-svn-id: http://core.svn.wordpress.org/trunk@58625 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This removes a redundant check for a falsey value, which is equivalent to the `empty()` check directly before.
Includes minor adjustments in the unit test:
* Adding a `@covers` tag.
* Correcting the description for clarity.
* Using `assertSame()` for strict type checking.
Follow-up to [59216].
See #60299.
Built from https://develop.svn.wordpress.org/trunk@59232
git-svn-id: http://core.svn.wordpress.org/trunk@58624 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Currently, `composer update` is run whenever `test:php` is called to ensure the latest versions of `yoast/phpunit-polyfills` and other dependencies are always installed when running the PHPUnit test suite.
For contributors using the local Docker environment to run tests during development, this is unnecessary and can often result in a 30+ second delay every time `test:php` is called.
This moves the command to `env:install`, reducing the number of times `composer update` is run from many to once. Since the environment needs to be started in order to run tests, `env:install` will still confirm that the latest versions of required dependencies are installed and available prior to running the test suite.
Props azaozz, swissspidy, johnbillion, peterwilsoncc, hellofromtonya.
Fixes#57189.
Built from https://develop.svn.wordpress.org/trunk@59231
git-svn-id: http://core.svn.wordpress.org/trunk@58623 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Introduces a test to ensure that new bundled themes are included in the `$_new_bundled_files` array. Modifies previous theme related tests added during the 6.7 release cycle to include the correct annotations.
Props peterwilsoncc, mukesh27, costdev.
See #61530, #62103.
Built from https://develop.svn.wordpress.org/trunk@59227
git-svn-id: http://core.svn.wordpress.org/trunk@58619 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Fix a combination of floated and absolutely positioned content that caused previous and next links to be stacked under other content, making them unclickable on mobile devices. Adjust the position of the post date so that focus order matches visible order. Prevent overlap of 'Edit' button on post title.
Props kel-dc, parthvataliya, dhruvang21, sabernhardt, wpeople, itpathsolutions, balub, dilip2615, tirth03.
Fixes#62008.
Built from https://develop.svn.wordpress.org/trunk@59226
git-svn-id: http://core.svn.wordpress.org/trunk@58618 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Add `aria-labelledby` and `aria-describedby` attributes to revision slider selection handle. Add keyboard `:focus` state to revision slider handle. Move 'multiple revision' checkbox before the buttons panel, matching its visual order. Change diff `Title` and `Content` headings from `h3` to `h2` to correct headings hierarchy.
Props joedolson, rishishah, sarahricker, williamalexander, afercia.
Fixes#52303.
Built from https://develop.svn.wordpress.org/trunk@59225
git-svn-id: http://core.svn.wordpress.org/trunk@58617 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Change accordions in the customizer and the navigation menus to make proper usage of accordion markup patterns. This includes adding missing `:focus` states, using a `button` element to control tabbing and interaction, instead of the heading elements, and removing instructional text for screen reader users that was used to compensate for the incorrect markup pattern.
Props afercia, rishishah, kushang78, rcreators, krupajnanda, hmbashar, joedolson.
Fixes#42002.
Built from https://develop.svn.wordpress.org/trunk@59224
git-svn-id: http://core.svn.wordpress.org/trunk@58616 1a063a9b-81f0-0310-95a4-ce76da25c4cd
In Twenty Nineteen r58580 increased size of avatars. This caused issues with the position of author checkbox. This resolves by moving without impacting the avatar blocks.
Props sabernhardt, nithins53, sudipatel007.
Fixes#62096.
Built from https://develop.svn.wordpress.org/trunk@59222
git-svn-id: http://core.svn.wordpress.org/trunk@58614 1a063a9b-81f0-0310-95a4-ce76da25c4cd
The E2E test suite has some basic tests to confirm that the plugin can be activated without conflicts. This works great until the minimum version of WordPress required to run the plugin is raised. Old branches that attempt to run these tests that are newly incompatible with the latest version of the plugin will fail.
This change adds a `gutenberg-version` input to the E2E GitHub Action workflow to allow these tests to continue running with the last compatible version.
Props swissspidy.
See #61530.
Built from https://develop.svn.wordpress.org/trunk@59220
git-svn-id: http://core.svn.wordpress.org/trunk@58613 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This fixes an issue after [59170] that was causing the Performance Test workflows to fail on older branches since the `CODEVITALS_PROJECT_TOKEN` input value was marked as required but was not being passed.
This is a follow-up to [59214] and [59215].
Fixes#62153.
Props desrosj, joemcgill, flixos90, swissspidy.
Built from https://develop.svn.wordpress.org/trunk@59217
git-svn-id: http://core.svn.wordpress.org/trunk@58610 1a063a9b-81f0-0310-95a4-ce76da25c4cd
When checking for updates to use_ssl, use strings for the comparison values, matching the stored values. Fixes an issue where calls to wp_update_user updated the database meta value for use_ssl even when the value was missing or unchanged.
Props prettyboymp, rajinsharwar, adamsilverstein, johnbillion, rayhatron, mukesh27, joemcgill.
Fixes#60299.
Built from https://develop.svn.wordpress.org/trunk@59216
git-svn-id: http://core.svn.wordpress.org/trunk@58609 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This fixes an issue after [59170] that was causing the Performance release workflows to fail on older branches since the `CODEVITALS_PROJECT_TOKEN` input value was marked as required but was not being passed.
Fixes#62153.
Props desrosj, joemcgill, flixos90.
Built from https://develop.svn.wordpress.org/trunk@59214
git-svn-id: http://core.svn.wordpress.org/trunk@58607 1a063a9b-81f0-0310-95a4-ce76da25c4cd
The cost of using `WP_Theme_JSON::get_block_nodes()` for this in its original shape was high enough to lead to a performance regression. Therefore this changeset introduces a new option on the method that allows to bypass all logic except for retrieving the node paths, which is much faster and everything that this functionality needs.
Follow up to [58936].
Props mukesh27, flixos90, ramonopoly, joemcgill, andrewserong, swissspidy.
Fixes#61858.
Built from https://develop.svn.wordpress.org/trunk@59213
git-svn-id: http://core.svn.wordpress.org/trunk@58606 1a063a9b-81f0-0310-95a4-ce76da25c4cd
When many workflows are initiated at the same time, there are often instances where the requests to Slack providing updates are rate limited. This usually happens when the Test Old Branches workflow runs and initiates testing for all workflows in branches that could potentially receive a security update.
Even though everything was successful in the workflow except the message, the workflow run is marked as failed. The next time the same workflow runs for that branch, a “fixed” message will be sent to `#core` in Slack. The result is a burst of messages that is quite noisy and unnecessary.
This temporarily adds `continue-on-error` to the jobs responsible for sending the messages until a better solution can be decided on.
See #61701.
Built from https://develop.svn.wordpress.org/trunk@59209
git-svn-id: http://core.svn.wordpress.org/trunk@58604 1a063a9b-81f0-0310-95a4-ce76da25c4cd
`npm dedupe` is a command that attempts to simplify the structure of the local package tree by moving dependencies higher up. This allows for more effective package sharing, less transfer, and smaller `node_modules` folders.
This change configures npm to `prefer-dedupe` by default so that these benefits persist and the command is not required to be run regularly.
This also brings better alignment with the Gutenberg repository, which has already configured `prefer-dedupe`.
Props jonsurrell.
Fixes#62190.
Built from https://develop.svn.wordpress.org/trunk@59207
git-svn-id: http://core.svn.wordpress.org/trunk@58602 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This updates the `package-lock.json` file to use the version 3 format.
Version 3 removes the version 1 format data, resulting in a smaller file. While version 3 format is not supported in npm < 7, a lower limit is enforced in the `engines` declaration within `package.json` and has been >= 7 since [56378].
The Gutenberg repository has already been updated to use version 3.
Props jonsurrell.
See #62190.
Built from https://develop.svn.wordpress.org/trunk@59206
git-svn-id: http://core.svn.wordpress.org/trunk@58601 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Fixes an error in which the file size meta data retained the original upload's values follow a user editing the images in the media screen.
The original images' file sizes are now stored in the backup image data to allow for them to be restored when a user restores the original image.
Props ankit-k-gupta, antpb, audrasjb, chaion07, gauravsingh7, joedolson, oglekler, pls78, rajinsharwar, sayedulsayem, vertisoft.
Fixes#59684.
Built from https://develop.svn.wordpress.org/trunk@59202
git-svn-id: http://core.svn.wordpress.org/trunk@58597 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Removes the `wp_` prefix from block template registration functions for consistency with other block related registration functions.
* `wp_register_block_template()` becomes `register_block_template()`.
* `wp_unregister_block_template()` becomes `unregister_block_template()`.
Props aljullu, aristath, youknowriad, swissspidy.
Fixes#62193.
Built from https://develop.svn.wordpress.org/trunk@59201
git-svn-id: http://core.svn.wordpress.org/trunk@58596 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Adds missing handling for the `typography.writingMode` property to the style engine, so that dynamic blocks correctly render text orientation styles on the site frontend.
Props wildworks, aaronrobertshaw, poena, get_dave, ndiego.
Fixes#62189.
See #59306.
Built from https://develop.svn.wordpress.org/trunk@59199
git-svn-id: http://core.svn.wordpress.org/trunk@58594 1a063a9b-81f0-0310-95a4-ce76da25c4cd
The `current_user_can_for_site()` function is a replacement for `current_user_can_for_blog()` which is now deprecated. `user_can_for_site()` is a renaming of the `user_can_for_blog()` function which was introduced in [59123]. The intention of this change is to prevent the introduction of a new function which uses the old "blog" naming structure.
Props swissspidy, spacedmonkey, flixos90, johnjamesjacoby
Fixes#45197
Built from https://develop.svn.wordpress.org/trunk@59198
git-svn-id: http://core.svn.wordpress.org/trunk@58593 1a063a9b-81f0-0310-95a4-ce76da25c4cd
If a user uploads an 800x800 image and a 512x512 image is required, then they should be allowed to skip cropping. This still creates the correct crop behind the scenes but simplifies the flow a bit for users.
Props nirajgirixd, celloexpressions, westonruter, azaozz, jorbin.
Fixes#36441.
Built from https://develop.svn.wordpress.org/trunk@59197
git-svn-id: http://core.svn.wordpress.org/trunk@58592 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Cache the unmodified `$wp_version` value as a static. This retains the current behaviour during the upgrade process `$wp_version` referencing the version of WordPress being upgraded from.
Follow up to [58848].
Props Cybr, debarghyabanerjee, mukesh27, costdev, SergeyBiryukov, TobiasBg, desrosj, azaozz.
Fixes#61782.
Built from https://develop.svn.wordpress.org/trunk@59192
git-svn-id: http://core.svn.wordpress.org/trunk@58587 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This saves the `WP_Image_Editor` implementation that supports the queried options to a cache to avoid performing redundant compatibility checks, which can be expensive. For example, `WP_Image_Editor_Imagick::supports_mime_type()` can get called in the editor multiple times to determine which image formats can be supported during `wp_plupload_default_settings()`.
With this cache, the support will be stored for 1 day, speeding up loading times for the editor. This also introduces a new global caching group, `image_editor` to manage any subsequent caches that are related to image editor optimizations.
Props joemcgill, desrosj, westonruter, flixos90, adamsilverstein, mukesh27, joehoyle.
Fixes#61532.
Built from https://develop.svn.wordpress.org/trunk@59189
git-svn-id: http://core.svn.wordpress.org/trunk@58584 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Remove code that forced focus to skip from the title field to the editor. Add link to skip to editor to give the user control over their path. Set `aria-pressed` on editor selector buttons to communicate which editor is enabled. Make focus state visible on unselected editor button. Remove `wp_keep_scroll_position` flag used for IE compatibility. Add `role="presentation"` to table used as status info bar.
This addresses a long-standing accessibility problem in the classic editor which created a confusing keyboard navigation path by skipping all content between the title field and the content editor.
Props afercia, rcreators, benjamin_zekavica, sharonaustin, joedolson.
Fixes#29838.
Built from https://develop.svn.wordpress.org/trunk@59188
git-svn-id: http://core.svn.wordpress.org/trunk@58583 1a063a9b-81f0-0310-95a4-ce76da25c4cd