Commit Graph

25830 Commits

Author SHA1 Message Date
joedolson
4e6b78d97d Administration: Remove aria-label on post titles.
The `aria-label` on post titles in list tables changes the accessible name from `{post_title}` to `"{post_title}" (Edit)`. This change increases verbosity for screen readers and creates a mismatch between the visual text and the accessible name for voice command.

Remove the extraneous `aria-label`.

Props afercia, rianrietveld, iworks, muddassirnasim, joedolson.
Fixes #33002.
Built from https://develop.svn.wordpress.org/trunk@61738


git-svn-id: http://core.svn.wordpress.org/trunk@61044 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-25 20:23:45 +00:00
joedolson
5a6cdcbc07 Admin: Set info notices to use white background.
The admin reskin changed info notices to a transparent background, matching usage in Gutenberg. But with the gray background in the core admin, these notices didn't show up in an expected manner. Additionally, using a transparent background in a context where the background color is variable is risky for color contrast.

Change `.notice-info`, `.notice-info.notice-alt`, and `.login .notice, .login .message` to use white backgrounds. Reverts changes from [61731] to apply styles also to `.message` class.

Props mohitbsf, audrasjb, peterwilsoncc, pbiron, fabiankaegy, noruzzaman, joedolson.
Fixes #64678. See #64715.
Built from https://develop.svn.wordpress.org/trunk@61737


git-svn-id: http://core.svn.wordpress.org/trunk@61043 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-25 19:30:31 +00:00
dmsnell
eb18c33bd4 Docs: Fix backwards default value for wp_list_users()::exclude_admin.
This was previosly listed as defaulting to `false` when in fact it defaults to `true.`

Developed in: https://github.com/WordPress/wordpress-develop/pull/11022
Discussed in: https://core.trac.wordpress.org/ticket/64224
Reported in: https://github.com/WordPress/Documentation-Issue-Tracker/issues/1849

Props dmsnell, noruzzaman, vHeemstra, westonruter.
See #64224.

Built from https://develop.svn.wordpress.org/trunk@61735


git-svn-id: http://core.svn.wordpress.org/trunk@61042 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-25 16:29:45 +00:00
wildworks
05de002f0f Editor: Update Navigation Overlay template part description.
Refines the Navigation Overlay template description to remove the "full-screen" assumption and clarify that the overlay can be toggled open and closed.

Follow-up to [61609].

Props get_dave, scruffian, wildworks.
See #64589.
Built from https://develop.svn.wordpress.org/trunk@61734


git-svn-id: http://core.svn.wordpress.org/trunk@61041 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-25 15:27:46 +00:00
John Blackbourn
6d49e9c50f Build/Test Tools: Explicitly enable pretty permalinks on the local development environment.
The `wp_install_maybe_enable_pretty_permalinks()` function usually enables pretty permalinks during installation, but it relies on a loopback request that may not work on all development environments.

In temporary lieu of fixing the underlying loopback request on all the container images, this switches to explictly enabling permalinks and removes redundant permalink configuration from GitHub Actions workflow files.

See #64227

Built from https://develop.svn.wordpress.org/trunk@61733


git-svn-id: http://core.svn.wordpress.org/trunk@61040 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-25 14:28:44 +00:00
audrasjb
bece250ff2 Administration: Fix inconsistent vertical spacing in “At a Glance” widget.
This changeset standardizes the vertical spacing between the heading and the first content item in the “At a Glance” admin dashboard widget to match the spacing conventions used by other dashboard widgets.

Props mohitbsf, opurockey, adnanhyder.
Fixes #64682.


Built from https://develop.svn.wordpress.org/trunk@61732


git-svn-id: http://core.svn.wordpress.org/trunk@61039 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-25 07:03:37 +00:00
audrasjb
05caa4c07b Login and Registration: Add white background to register screen notices.
This changeset backports the changes made to common notices to `login.css`.

Props juanfra, huzaifaalmesbah, shailu25, joedolson.
Fixes #64715.


Built from https://develop.svn.wordpress.org/trunk@61731


git-svn-id: http://core.svn.wordpress.org/trunk@61038 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-25 06:56:36 +00:00
joedolson
45a608f607 Customizer: Fix Copy button alignment in Share Preview.
Following the admin reskin, the Copy link button for sharing customizer previews was misaligned.

Override core button disabled styles to set transform and background properties. Fix shadow height.

Props mohitbsf, audrasjb, hbhalodia, huzaifaalmesbah, sajib1223, joedolson.
Fixes #64688.
Built from https://develop.svn.wordpress.org/trunk@61730


git-svn-id: http://core.svn.wordpress.org/trunk@61037 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-24 23:19:41 +00:00
joedolson
09b8e12b1f Admin: Switch plugin card buttons to compact size.
Following the admin reskin, the larger buttons in plugin cards caused an existing potential for text overlap to happen more easily. Switching to compact size restores prior behavior.

Props hiroshisato, audrasjb, huzaifaalmesbah, shailu25, joedolson.
Fixes #64686.
Built from https://develop.svn.wordpress.org/trunk@61729


git-svn-id: http://core.svn.wordpress.org/trunk@61036 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-24 22:54:39 +00:00
joedolson
1802bd631a Admin: Fix dismiss button alignment in Welcome panel.
Fix the icon alignment in the welcome panel close button following the admin reskin.

Props mohitbsf, opurockey, huzaifaalmesbah, joedolson.
Fixes #64681.
Built from https://develop.svn.wordpress.org/trunk@61728


git-svn-id: http://core.svn.wordpress.org/trunk@61035 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-24 22:47:36 +00:00
Sergey Biryukov
20187b42a1 Code Quality: Correct return statement in WP_Query::setup_postdata().
This reflects that the method can return both `true` (success) and `false` (failure).

Follow-up to [32620], [34089], [44941].

Props huzaifaalmesbah, westonruter.
See #64238.
Built from https://develop.svn.wordpress.org/trunk@61727


git-svn-id: http://core.svn.wordpress.org/trunk@61034 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-24 22:44:32 +00:00
desrosj
f45ab6c82b Build/Test Tools: Exclude gutenberg directory when running PHPCS.
The relevant files will be scanned within `src` (provided the build script has been run).

See #64394.
Built from https://develop.svn.wordpress.org/trunk@61726


git-svn-id: http://core.svn.wordpress.org/trunk@61033 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-24 18:33:15 +00:00
audrasjb
2def07c0da Docs: Indentation fix after [61723].
See #64713, #64224.


Built from https://develop.svn.wordpress.org/trunk@61724


git-svn-id: http://core.svn.wordpress.org/trunk@61032 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-24 06:33:36 +00:00
audrasjb
ce875dab92 Docs: Add missing space and remove duplicate operator values in WP_Date_Query docblocks.
Props truptikanzariya.
Fixes #64713.
See #64224.


Built from https://develop.svn.wordpress.org/trunk@61723


git-svn-id: http://core.svn.wordpress.org/trunk@61031 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-24 06:30:43 +00:00
Peter Wilson
b0fc8a0d49 Editor: Add wp_ prefix real time collaboration option.
Renames the option `enable_real_time_collaboration` to `wp_enable_real_time_collaboration` to include the prefix as has been the practice for new options since WordPress 5.8.0.

Props peterwilsoncc, mukesh27, parthvataliya, czarate.
See #64622.


Built from https://develop.svn.wordpress.org/trunk@61722


git-svn-id: http://core.svn.wordpress.org/trunk@61030 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-24 02:29:46 +00:00
Sergey Biryukov
8d3062e46b Code Quality: Correct return statement in _remove_theme_support().
This matches the documented `bool` return type to indicate the feature support was successfully removed.

Follow-up to [20212].

Props huzaifaalmesbah.
See #64238.
Built from https://develop.svn.wordpress.org/trunk@61721


git-svn-id: http://core.svn.wordpress.org/trunk@61029 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-23 22:40:45 +00:00
joedolson
b4da519bd1 Twenty Twenty Five: Exclude sticky posts with query offsets.
Fix templates in Twenty Twenty Five that have multiple query posts with offsets to prevent displaying sticky posts. Sticky posts being enabled on multiple queries results in repeated content in each query.

Add `"sticky":"ignore"` to query block parameters.

Props poena, sabernhardt, abcd95, rinkalpagdar, freibergergarcia, akshat2802, mindctrl, ozgursar, joedolson.
Fixes #62975.
Built from https://develop.svn.wordpress.org/trunk@61720


git-svn-id: http://core.svn.wordpress.org/trunk@61028 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-23 20:38:16 +00:00
Weston Ruter
fc872cfcfe Code Quality: Return null instead of void in paginate_links().
Developed in https://github.com/WordPress/wordpress-develop/pull/10999

Follow-up to r32598.

Props apermo, mukesh27, westonruter
See #64238.
Fixes #64694.

Built from https://develop.svn.wordpress.org/trunk@61719


git-svn-id: http://core.svn.wordpress.org/trunk@61027 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-23 07:05:46 +00:00
Weston Ruter
bb5bbfa16e Docs: Improve accuracy of @return type and description for get_post_custom().
Developed in https://github.com/WordPress/wordpress-develop/pull/10996

Follow-up to [52795].

Props ravikhadka, westonruter, swissspidy, roytanck.
See #64224, #55249.
Fixes #60646.

Built from https://develop.svn.wordpress.org/trunk@61718


git-svn-id: http://core.svn.wordpress.org/trunk@61026 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-23 06:30:44 +00:00
Weston Ruter
f6dea858be Docs: Supply missing documentation in WP_MS_Themes_List_Table.
Developed in https://github.com/WordPress/wordpress-develop/pull/10963

Props noruzzaman, westonruter, huzaifaalmesbah.
See #64224.

Built from https://develop.svn.wordpress.org/trunk@61717


git-svn-id: http://core.svn.wordpress.org/trunk@61025 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-23 06:06:42 +00:00
Weston Ruter
a9775c45d8 Code Quality: Explicitly return null when documented instead of void.
This fixes a PHPStan rule level 3 error: `return.empty`.

Developed in https://github.com/WordPress/wordpress-develop/pull/10995

Props huzaifaalmesbah, westonruter, shailu25, mukesh27, noruzzaman.
See #64238.

Built from https://develop.svn.wordpress.org/trunk@61716


git-svn-id: http://core.svn.wordpress.org/trunk@61024 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-23 05:34:45 +00:00
Sergey Biryukov
3f84a08d7c Tests: Use named data provider in a balanceTags() test.
Follow-up to [661/tests], [45929].

Props rahmohn.
See #64225.
Built from https://develop.svn.wordpress.org/trunk@61715


git-svn-id: http://core.svn.wordpress.org/trunk@61023 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-22 22:37:14 +00:00
Sergey Biryukov
fad5a79b29 Tests: Move test_illegal_user_logins_single() to the correct place.
Follow-up to [35189], [35629], [35772], [61656].

See #64225.
Built from https://develop.svn.wordpress.org/trunk@61714


git-svn-id: http://core.svn.wordpress.org/trunk@61022 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-21 22:41:43 +00:00
Weston Ruter
5bf14f50c5 XML-RPC: Account for parsed server URLs that do not specify host or scheme.
Developed in https://github.com/WordPress/wordpress-develop/pull/10916

Props bluefuton, tfrommen, chrispecoraro, drebbits.web, westonruter.
Fixes #64635, #40784.

Built from https://develop.svn.wordpress.org/trunk@61713


git-svn-id: http://core.svn.wordpress.org/trunk@61021 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-21 04:41:44 +00:00
Weston Ruter
ee795e634e AI: Fix errors for PHPStan rule level 0 after php-ai-client merge.
Developed in https://github.com/WordPress/wordpress-develop/pull/10990

Follow-up to r61699, r61700.

Props westonruter, SirLouen, jason_the_adams.
See #64591, #61175.

Built from https://develop.svn.wordpress.org/trunk@61712


git-svn-id: http://core.svn.wordpress.org/trunk@61020 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-20 21:25:41 +00:00
Weston Ruter
227c256c50 Site Health: Improve page cache detection with added header and refined verification logic.
- Use a more precise regular expression for identifying "HIT" statuses to avoid false positives (e.g., "no-hit").
- Add specific verification logic for Varnish's `X-Varnish` header.
- Use a `null` value in the header mapping to indicate a header existence check, when no callback is supplied.
- Improve documentation with links for information about certain headers.

Developed in https://github.com/WordPress/wordpress-develop/pull/10855

Follow-up to [61355], [54043].

Props westonruter, dmsnell.
See #63748.
Fixes #64370.

Built from https://develop.svn.wordpress.org/trunk@61711


git-svn-id: http://core.svn.wordpress.org/trunk@61019 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-20 21:13:48 +00:00
Sergey Biryukov
f0bd85c8c1 General: Remove unused variable in wp_unique_filename().
Follow-up to [51653].

Props Soean.
Fixes #64675.
Built from https://develop.svn.wordpress.org/trunk@61710


git-svn-id: http://core.svn.wordpress.org/trunk@61018 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-20 19:50:12 +00:00
ellatrix
5bd1453c70 Post WordPress 7.0 Beta 1 version bump.
Built from https://develop.svn.wordpress.org/trunk@61709


git-svn-id: http://core.svn.wordpress.org/trunk@61017 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-20 15:37:45 +00:00
ellatrix
0b24defa81 WordPress 7.0 Beta 1.
Built from https://develop.svn.wordpress.org/trunk@61708


git-svn-id: http://core.svn.wordpress.org/trunk@61016 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-20 15:13:44 +00:00
audrasjb
97b9e0b33c Editor: Enable Block Hooks for content-like Custom Post Types.
This changeset moves the Block Hooks logic from individual post type filters to the REST controller.

Props bernhard-reiter, iamadisingh, audrasjb, r1k0.
Fixes #62715.


Built from https://develop.svn.wordpress.org/trunk@61707


git-svn-id: http://core.svn.wordpress.org/trunk@61015 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-20 13:50:46 +00:00
audrasjb
8b61332bb9 HTTP API: Improve error message to include the blocked URL.
This changeset adds the URL of the blocked HTTP request in `http_request_not_executed`.

Props wiuempe, pento, maltfield, sainathpoojary, pmbaldha, mukesh27, johnbillion.
Fixes #45164.


Built from https://develop.svn.wordpress.org/trunk@61706


git-svn-id: http://core.svn.wordpress.org/trunk@61014 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-20 12:53:37 +00:00
ellatrix
df336fd3cc Gutenberg ref update.
CI run: https://github.com/WordPress/wordpress-develop/pull/10988.

See #64595.

---

I've included a log of the Gutenberg changes with the following command:

```
git log --reverse --format="- %s" b441348bb7e05af351c250b74283f253acaf9138..23b566c72e9c4a36219ef5d6e62890f05551f6cb | sed 's|#\([0-9][0-9]*\)|https://github.com/WordPress/gutenberg/pull/\1|g; /github\.com\/WordPress\/gutenberg\/pull/!d' | pbcopy
```

- Remove experimental property from Icon block (https://github.com/WordPress/gutenberg/pull/75742)
- Real-time collab editing: Fix undo E2E test (https://github.com/WordPress/gutenberg/pull/75740)
- Snackbar: Fix scaling issue with snackbars that update their content via a common id (https://github.com/WordPress/gutenberg/pull/75709)
- Vips and worker-threads packages: remove private flag so that packages can be published to npm (https://github.com/WordPress/gutenberg/pull/75752)
- Update wordpress/vips in root package.json to use a relative path (https://github.com/WordPress/gutenberg/pull/75758)
- Fix change-detection and new-post E2E tests after RTC enabled by default (https://github.com/WordPress/gutenberg/pull/75751)
- Query: Remove content role from block (https://github.com/WordPress/gutenberg/pull/75760)
- `ToggleGroupControl`: Make unselected item color consistent across all variants (https://github.com/WordPress/gutenberg/pull/75737)
- Icon-block: fix global-styles selectors (https://github.com/WordPress/gutenberg/pull/75724)
- RTC: Add cap check for single taxonomy term entities (https://github.com/WordPress/gutenberg/pull/75708)
- Core Data: Create icons entity (https://github.com/WordPress/gutenberg/pull/75773)

Built from https://develop.svn.wordpress.org/trunk@61705


git-svn-id: http://core.svn.wordpress.org/trunk@61013 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-20 12:52:18 +00:00
ellatrix
eee843b55b Real-time collaboration: fix comment syncing in site editor.
Developed in https://github.com/WordPress/wordpress-develop/pull/10981.
See also https://github.com/WordPress/gutenberg/pull/75746.

Props alecgeatches, czarate.
See #64622.
Built from https://develop.svn.wordpress.org/trunk@61704


git-svn-id: http://core.svn.wordpress.org/trunk@61012 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-20 12:24:40 +00:00
Adam Silverstein
e6427e904e Editor: backport client side media PHP changes to core.
Bring over the changes required to implement client side media in core. This feature recently graduated from experiments and is ready for testing in beta.

Props adamsilverstein, westonruter, mamaduka, mukesh27, swissspidy, andrewserong, ellatrix, ramonjd.
Fixes #62243.


Built from https://develop.svn.wordpress.org/trunk@61703


git-svn-id: http://core.svn.wordpress.org/trunk@61011 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-20 11:52:24 +00:00
ellatrix
5248bf9018 Real-time collaboration: change to opt-in.
Developed in https://github.com/WordPress/wordpress-develop/pull/10982.

Props czarate.
Fixes #64622.
Built from https://develop.svn.wordpress.org/trunk@61702


git-svn-id: http://core.svn.wordpress.org/trunk@61010 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-20 09:07:40 +00:00
youknowriad
c3f49c7e60 Build/Test Tools: Update svn:ignore for Gutenberg build artifacts.
Adds missing `svn:ignore` entries for files generated by the Gutenberg build process:
* Root directory: `.gutenberg-hash`
* `src/wp-includes/assets`: ignore all generated files
* `src/wp-includes/blocks`: remove versioned directories and ignore all generated files

Follow-up to [61476].

Props ellatrix.
See #64393.

Built from https://develop.svn.wordpress.org/trunk@61701


git-svn-id: http://core.svn.wordpress.org/trunk@61009 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-20 08:59:41 +00:00
Felix Arntz
56ad39db67 AI: Add the WordPress AI Client.
The WordPress AI Client is a provider-agnostic API for WordPress code to call generative AI models via a consistent interface. Plugins and Core can use it to provide AI driven features for users, while users maintain full autonomy in choosing which AI provider(s) they want to rely on and how they configure them.

This changeset merges the technical foundation for the WordPress AI Client into Core. This foundation was originally implemented in the https://github.com/WordPress/wp-ai-client package, which will be sunset going forward. The underlying https://github.com/WordPress/php-ai-client package is bundled with this changeset and will remain a separate library maintained by the WordPress project, for WordPress Core and the PHP ecosystem.

No AI providers are bundled out of the box. Without explicit configuration and explicit calling code, WordPress will not send prompts or data to any external service. Site owners will be able to install plugins to enable usage of specific AI providers, built on top of this foundation.

This is the first changeset of two that are most relevant for the AI Client feature. The subsequent change will introduce a configuration screen for different AI providers, where users can install provider plugins, configure their credentials, and enable the canonical WordPress AI plugin. Together, this infrastructure and UI will enable the WordPress ecosystem to build AI features in a seamless and interoperable way.

Original merge proposal: https://make.wordpress.org/core/2026/02/03/proposal-for-merging-wp-ai-client-into-wordpress-7-0/

Props jason_the_adams, flixos90, desrosj, dkotter, jorgefilipecosta, peterwilsoncc, johnbillion, jorbin, swissspidy, isotropic.
See #64591.

Built from https://develop.svn.wordpress.org/trunk@61700


git-svn-id: http://core.svn.wordpress.org/trunk@61008 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-20 08:42:48 +00:00
Weston Ruter
bd3f20e8c7 Build/Test Tools: Integrate PHPStan into the core development workflow.
This change introduces PHPStan static analysis configured at [https://phpstan.org/user-guide/rule-levels rule level 0], which includes: "basic checks, unknown classes, unknown functions, unknown methods called on `$this`, wrong number of arguments passed to those methods and functions, always undefined variables". Contributors may elect for a higher PHPStan rule level by creating a `phpstan.neon` which overrides `phpstan.neon.dist`.

* Fix various PHPStan level 0 errors by adding `@phpstan-ignore` comments, updating PHPDoc types, and adding missing return values.
* Remove existing `@phpstan-ignore` comments that are now obsolete or inapplicable for level 0.
* Add a new GitHub Actions workflow for PHPStan Static Analysis. Reports are currently provided as warnings with inline annotations in pull requests and do not fail the build.
* Add a `phpstan` Grunt task and include it in the `precommit:php` task to run before `phpunit`.
* Introduce a `typecheck:php` npm script and a `composer phpstan` script to run analysis in local development environments.
* Add documentation for PHPStan usage in `tests/phpstan/README.md`.

Developed in https://github.com/WordPress/wordpress-develop/pull/10419

Props justlevine, westonruter, johnbillion, desrosj, SirLouen, dmsnell, oglekler, joehoyle, jorbin.
See #64238, #63268, #52217, #51423.
Fixes #61175.

Built from https://develop.svn.wordpress.org/trunk@61699


git-svn-id: http://core.svn.wordpress.org/trunk@61007 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-20 02:25:46 +00:00
Sergey Biryukov
a70f256afe Docs: Add missing descriptions for WP_MS_Sites_List_Table methods.
Follow-up to [15491], [16992].

Props noruzzaman, huzaifaalmesbah.
See #64224.
Built from https://develop.svn.wordpress.org/trunk@61698


git-svn-id: http://core.svn.wordpress.org/trunk@61006 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-19 23:52:14 +00:00
ellatrix
10a7f4d8c7 Real-time collaboration: fix unit tests.
Fixes autosave controller tests, which began failing when RTC was enabled. The tests now need to cover two different code paths:

15ffb4392e/src/wp-includes/rest-api/endpoints/class-wp-rest-autosaves-controller.php (L259)

Props czarate.
See #64622.
Built from https://develop.svn.wordpress.org/trunk@61697


git-svn-id: http://core.svn.wordpress.org/trunk@61005 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-19 15:26:56 +00:00
ellatrix
c7050bfee4 Update db_version after r61689.
Props czarate, paulkevan, dd32.
See #64622.
Built from https://develop.svn.wordpress.org/trunk@61696


git-svn-id: http://core.svn.wordpress.org/trunk@61004 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-19 13:51:53 +00:00
audrasjb
98f5f51cbf Plugins: Add a new plugins_list_status_text filter in get_views() to allow custom filtering.
This changeset does the following:
- Custom statuses added via `plugins_list` now appear as tabs, to filter the related plugins
- The tab label is customizable via the new `plugins_list_status_text` hook

Follow-up to [56068].

Props juliobox, audrasjb, hellofromTonya, khokansardar, sajjad67, davidbaumwald, sukhendu2002, SirLouen, mindctrl, shailu25, huzaifaalmesbah, westonruter.
See #60495.


Built from https://develop.svn.wordpress.org/trunk@61695


git-svn-id: http://core.svn.wordpress.org/trunk@61003 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-19 12:44:51 +00:00
ellatrix
1f6ad29381 Restore ca-bundle.crt changes after r61689.
r61689 accidentally reverted the change to src/wp-includes/certificates/ca-bundle.crt from r61685, so this commit restores it using `svn diff -c 61685 ^/trunk | patch -p0`.

Props dd32, mukesh27, johnbillion.
See #64245. See #64622.
Built from https://develop.svn.wordpress.org/trunk@61694


git-svn-id: http://core.svn.wordpress.org/trunk@61002 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-19 11:53:48 +00:00
jorgefilipecosta
58aadb74ce Fix: Remove empty get settings ability files from a previous revert.
When applying the grunt patch at [61690], it seems the patch made the files empty instead of deleting them. This commit just tries to fix that issue.
Follow up to [61690].

Props jorgefilipecosta.
Built from https://develop.svn.wordpress.org/trunk@61693


git-svn-id: http://core.svn.wordpress.org/trunk@61001 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-19 11:23:51 +00:00
audrasjb
82dc7c5d79 Coding Standards: Remove an unwanted space after [61691].
Follow-up to [61691].

Unprops audrasjb.
See #60770.


Built from https://develop.svn.wordpress.org/trunk@61692


git-svn-id: http://core.svn.wordpress.org/trunk@61000 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-19 11:16:51 +00:00
audrasjb
2acbd93df1 I18N: Add dir="auto" to Timezone dropdown options.
This changeset adds `dir="auto"` to the Timezones dropdown located in Settings > General. With this attribute, the option alignment will be delegated to the user agent.

@see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/dir.

Props farhad0, swissspidy, drysand, sabernhardt, khoipro, olmostblue, sajib1223.
Fixes #60770.


Built from https://develop.svn.wordpress.org/trunk@61691


git-svn-id: http://core.svn.wordpress.org/trunk@60999 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-19 11:12:53 +00:00
jorgefilipecosta
45cde01c4a Revert: Abilities API core/get-settings ability.
This reverts [61600]. Other core abilities did not made into 7.0 beta 1 timeline, so adding just a single ability does not adds much value and we are temporarily reverting this addition.
This commit is just a clean execution of the revert command.

Props jorgefilipecosta, jason_the_adams, justlevine.
See #64455.
Built from https://develop.svn.wordpress.org/trunk@61690


git-svn-id: http://core.svn.wordpress.org/trunk@60998 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-19 10:57:01 +00:00
ellatrix
997cc3dd3d Real-time collaboration: add new REST endpoints, setting, and registered post meta.
Syncs/merges the PHP changes from the Gutenberg PR https://github.com/WordPress/gutenberg/pull/75366.

In Gutenberg, we have added support for real-time collaboration using CRDT documents (via the [Yjs library](https://yjs.dev/)). This work has suggested the following additions to WordPress:

1. A default "sync provider" based on HTTP polling that allows collaborators to share updates with each other. Previously, we relied on WebRTC connections between collaborators for this purpose, but it proved unreliable under many network conditions.
   - Our solution is designed to work on any WordPress installation. 
   - HTTP polling is the transport we identified as most likely to work universally.
   - Given the isolation and lifecycle of PHP processes, updates must be stored centrally in order to be shared among peers. We have chosen to store updates in post meta against a special post type, but alternate storage mechanisms are possible.
   - Collaborative editing can involve syncing multiple CRDT documents. To limit the number of connections consumed by this provider, requests are batched.
   - To prevent unbounded linear growth, updates are periodically compacted.
   - To avoid excessive load on lower-resourced hosts, this provider will benefit from usage limits (e.g., a maximum of three connected collaborators) enforced by the client (Gutenberg).

2. A new registered post meta that allows Gutenberg to persist CRDT documents alongside posts.
   - This provides all collaborators with a "shared starting point" for the collaborative session, which avoids duplicate updates.
   - Content stored in the WordPress database always remains the source of truth. If the content differs from the persisted CRDT document, the CRDT document is updated to match the database.

3. A new Writing setting that allows users to opt-in to real-time collaboration.
   - Enabling real-time collaboration disables post lock functionality and connects users to the sync provider.

4. A behavior change to autosaves is needed. When the the original author is editing a draft post (post_status == 'draft' OR 'auto-draft') and they hold the post lock, the autosave targets the actual post instead of an autosave revision. This puts the post data and the persisted CRDT document out of sync and leads to duplicate updates. When real-time collaboration is enabled, all collaborators must autosave in the same way.

This PR provides a proposed implementation of the changes above. This corresponding Gutenberg PR moves the work from the `experimental` directory to `lib/compat`:

https://github.com/WordPress/gutenberg/pull/75366

Cumulative work to add this functionality can be found using this label:

https://github.com/WordPress/gutenberg/issues?q=label%3A%22%5BFeature%5D%20Real-time%20Collaboration%22%20is%3Apr

Developed https://github.com/WordPress/wordpress-develop/pull/10894.

Props czarate, paulkevan, ellatrix, timothyblynjacobs, westonruter, jorgefilipecosta, mindctrl.
Fixes #64622.

Built from https://develop.svn.wordpress.org/trunk@61689


git-svn-id: http://core.svn.wordpress.org/trunk@60997 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-19 10:26:41 +00:00
audrasjb
b3ac058a85 General: Allow to hook into wp_trigger_error() when WP_DEBUG is not truthy.
This changeset allow developers to attach custom error handlers into `wp_trigger_error()` even if `WP_DEBUG` is not truthy.
It introduces two new hooks, making `wp_trigger_error()` consistent with what is available in `_doing_it_wrong`:
- `wp_trigger_error_always_run` always fires when the given function triggers a user-level error/warning/notice/deprecation message.
- `wp_trigger_error_trigger_error` filters whether to trigger the error.

Props kkmuffme, swissspidy, audrasjb.
Fixes #60886.


Built from https://develop.svn.wordpress.org/trunk@61688


git-svn-id: http://core.svn.wordpress.org/trunk@60996 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-19 10:21:02 +00:00
audrasjb
70b6864b30 Administration: Warn when open registration and new user default is privileged.
Previously, WordPress allowed site owners to open registration AND to set the default new user level to "Administrator" or "Editor". While this combination may make sense for some sites, this is genrally a really really bad idea.

With this changeset:
- Administrator and Editor roles are now removed from the new user default role selector in the General Options admin screen.
- If such a role was selected before, an alert is shown in Site Health.
- A new filter is introduced: `default_role_dropdown_excluded_roles` allows developers to change the default excluded roles in the dropdown.

Props kraftbj, subrataemfluence, roytanck, dd32, ottok, jrf, eatingrules, verygoode, generosus, stevejburge, arunu1996, benniledl, audrasjb, mukesh27, swissspidy, Mte90, zodiac1978, pooja1210, davidbaumwald, johnbillion, jorbin, SirLouen, oglekler, kirasong, shailu25, huzaifaalmesbah, jsmansart.
Fixes #43936.


Built from https://develop.svn.wordpress.org/trunk@61687


git-svn-id: http://core.svn.wordpress.org/trunk@60995 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-02-19 09:43:48 +00:00