Commit Graph

52237 Commits

Author SHA1 Message Date
joedolson
3fd710b1fb Admin: Fix active filter tab link color.
Change the border color on active filter tab links to use the admin theme color.

Props hbhalodia, mukesh27, huzaifaalmesbah, noruzzaman, shailu25, joedolson.
Fixes #64807.
Built from https://develop.svn.wordpress.org/trunk@61858


git-svn-id: http://core.svn.wordpress.org/trunk@61145 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-06 23:17:42 +00:00
dmsnell
83559dd036 Functions: Memoize wp_normalize_path().
`wp_normalize_path()` is called thousands of times on a given request. This patch adds memoization via a function-local static variable. This reduces the call count to the underlying `wp_is_stream()` function, and measured in testing around a 66% cache hit rate.

In testing, for a site making 4000 calls to `wp_normalize_path()`, this patch led to a reduction in runtime from 1.4 ms to 0.4 ms on the test computer. While small, this time occurs early in the hotpath of the loading WordPress.

Developed in: https://github.com/WordPress/wordpress-develop/pull/10770
Discussed in: https://core.trac.wordpress.org/ticket/64538

Props dmsnell, josephscott, mreishus, westonruter.
Fixes #64538.

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


git-svn-id: http://core.svn.wordpress.org/trunk@61144 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-06 20:05:46 +00:00
Weston Ruter
07e6dc1529 REST API: Optimize themes collection response when querying active theme.
This updates `WP_REST_Themes_Controller::get_items()` to shortcut returning the current theme when the request explicitly queries for the active theme, avoiding expensive call to `wp_get_themes()`.

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

Follow up to r49925.

Props aduth, mukesh27, westonruter.
See #50152. 
Fixes #64719.

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


git-svn-id: http://core.svn.wordpress.org/trunk@61143 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-06 18:03:36 +00:00
dmsnell
4338bfe3f9 Formatting: Transform “ẞ” for German locales in remove_accents().
The capital Eszett was standardized in German orthography in 2017, DIN 5008, but WordPress has only been transforming the lowercase version.

This patch adds the uppercase variant to the list and transforms it to “SS” for more-appriate slug and permalink generation.

Developed in: https://github.com/WordPress/wordpress-develop/pull/11188
Discussed in: https://core.trac.wordpress.org/ticket/64821

Props apermo, dmsnell.
Fixes #64821.

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


git-svn-id: http://core.svn.wordpress.org/trunk@61142 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-06 18:02:45 +00:00
audrasjb
3405927cc1 Administration: Improve the error message sent when bulk role change skips the current user.
This changeset clarifies the error message displayed when the current user tries to change their role to one that does not allow managing other users.

Props dpknauss, audrasjb, huzaifaalmesbah, noruzzaman, r1k0.
Fixes #64690.


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


git-svn-id: http://core.svn.wordpress.org/trunk@61141 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-06 14:19:43 +00:00
Sergey Biryukov
3e4494be7f Code Quality: Explicitly globalize admin menu variables to avoid PHPStan warnings.
Follow-up to [15481].

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


git-svn-id: http://core.svn.wordpress.org/trunk@61140 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-05 21:08:44 +00:00
joedolson
fb5fc14b23 Admin: Use compact styles in Events dashboard widget.
Change the inputs for setting event location to use the compact input heights.

Props joen, audrasjb, huzaifaalmesbah, amesplant, joedolson.
Fixes #64777.
Built from https://develop.svn.wordpress.org/trunk@61852


git-svn-id: http://core.svn.wordpress.org/trunk@61139 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-05 20:14:39 +00:00
joedolson
721db5ff14 Quick/Bulk Edit: Update focus color on inline edit panel.
Use admin theme variables to set the inline edit wrapper focus border.

Props hmbashar, joedolson, huzaifaalmesbah, mukesh27, shailu25, audrasjb, rahultank, manhar, ozgursar.
Fixes #64757.
Built from https://develop.svn.wordpress.org/trunk@61851


git-svn-id: http://core.svn.wordpress.org/trunk@61138 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-05 20:04:44 +00:00
audrasjb
53e20a11bf Administration: Ensure the Theme Feature Filter button use the new default Admin colors.
Props niravsherasiya7707, louischan, penelopeadrian, noruzzaman, valentingrenier.
Fixes #64808.


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


git-svn-id: http://core.svn.wordpress.org/trunk@61137 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-05 15:29:43 +00:00
audrasjb
5637051ba2 Post WordPress 7.0 Beta 3 version bump.
Built from https://develop.svn.wordpress.org/trunk@61849


git-svn-id: http://core.svn.wordpress.org/trunk@61136 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-05 14:45:42 +00:00
audrasjb
f6a0c46976 WordPress 7.0 Beta 3.
Built from https://develop.svn.wordpress.org/trunk@61848


git-svn-id: http://core.svn.wordpress.org/trunk@61135 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-05 14:13:43 +00:00
ellatrix
3c0281910f Gutenberg ref update.
Only includes the following commit: f4d8a5803a.

"DataForm datetime control: fix date handling" (https://github.com/WordPress/gutenberg/pull/76193)

See #64595.

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


git-svn-id: http://core.svn.wordpress.org/trunk@61134 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-05 12:56:19 +00:00
ellatrix
eff8e6b7ad Gutenberg ref update.
Only includes the following commit: e7b8c0c8a3.

"Media: Use Document-Isolation-Policy for cross-origin isolation on Chromium 137+" (https://github.com/WordPress/gutenberg/pull/75991)

See #64595.
See #64766.

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


git-svn-id: http://core.svn.wordpress.org/trunk@61133 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-05 12:38:26 +00:00
gziolo
683c1d2d87 Connectors: Update the translation when Gutenberg files missing
Follow-up [61825].
Props swissspidy.


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


git-svn-id: http://core.svn.wordpress.org/trunk@61132 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-05 12:09:16 +00:00
Adam Silverstein
6af5a7988d Media: Use Document-Isolation-Policy for cross-origin isolation.
Replace COEP/COOP headers with Document-Isolation-Policy (DIP) for cross-origin isolation in the block editor. DIP enables sharedBufferArray while avoiding the breakage COEP/COOP caused for third-party plugins whose iframes lost credentials and DOM access. Non supporting browsers have the client-side media feature disabled by default - falling back to the existing server side processing -  to avoid a degraded editor experience.

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

Props adamsilverstein, westonruter, manhar, swissspidy, mukesh27.
Fixes #64766.



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


git-svn-id: http://core.svn.wordpress.org/trunk@61131 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-05 12:08:40 +00:00
ellatrix
f51b21a99e Gutenberg ref update.
CI run: https://github.com/WordPress/wordpress-develop/pull/11167.

See #64595.

---

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

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

- Add documentation for contentRole and listView block supports (https://github.com/WordPress/gutenberg/pull/75903)
- Interactivity Router: fix back and forward navigation after refresh (https://github.com/WordPress/gutenberg/pull/75927)
- Real-time collaboration: Fix disconnect dialog on navigate (https://github.com/WordPress/gutenberg/pull/75886)
- Real Time Collab: Throttle syncing for inactive tabs. (https://github.com/WordPress/gutenberg/pull/75843)
- Components: Specify line-height to avoid inheriting default values (https://github.com/WordPress/gutenberg/pull/75880)
- Pattern Editing: Fix sibling blocks to edited pattern not being disabled (https://github.com/WordPress/gutenberg/pull/75994)
- Sync connector PHP behavior with Core backport changes (https://github.com/WordPress/gutenberg/pull/75968)
- Connectors: Avoid manual string concatenation (https://github.com/WordPress/gutenberg/pull/75997)
- DataForm: fix field label for panel (should not be uppercase) (https://github.com/WordPress/gutenberg/pull/75944)
- Views: add support for more overrides (all developer-defined config) (https://github.com/WordPress/gutenberg/pull/75971)
- Use homeUrl instead of siteUrl for link badge evaluations (https://github.com/WordPress/gutenberg/pull/75978)
- DataViews: Right-align `integer` and `number` fields (https://github.com/WordPress/gutenberg/pull/75917)
- Navigation Link: Compare internal links by host instead of origin (https://github.com/WordPress/gutenberg/pull/76015)
- Fix: Skip scaled image sideload for images below big image threshold (https://github.com/WordPress/gutenberg/pull/75990)
- Client side media cherry pick for 7.0 (https://github.com/WordPress/gutenberg/pull/75998)
- Show transform dropdown previews on focus as well as hover (https://github.com/WordPress/gutenberg/pull/75940) (https://github.com/WordPress/gutenberg/pull/75992)
- RTC: Fix syncing of emoji / surrogate pairs (https://github.com/WordPress/gutenberg/pull/76049)
- [Real-time Collaboration] Fix sync issue on refresh (https://github.com/WordPress/gutenberg/pull/76017)
- Real-time collaboration: Improve disconnect dialog (https://github.com/WordPress/gutenberg/pull/75970)
- DataViews: Fix filter toggle flickering when there are locked or primary filters (https://github.com/WordPress/gutenberg/pull/75913) (https://github.com/WordPress/gutenberg/pull/76068)
- Connectors: Dynamically register providers from WP AI Client registry (https://github.com/WordPress/gutenberg/pull/76014)
- PHP-only Blocks: Reflect bound attribute values in inspector controls (https://github.com/WordPress/gutenberg/pull/76040)
- Fix: Set quality and strip metadata in client-side image resize (https://github.com/WordPress/gutenberg/pull/76029)
- RTC: Prevent duplicate poll cycles (https://github.com/WordPress/gutenberg/pull/76059)
- RTC: Fix stale CRDT document persisted on save (https://github.com/WordPress/gutenberg/pull/75975)
- RTC: Disable multiple collaborators if meta boxes are present (https://github.com/WordPress/gutenberg/pull/75939)
- Directly inject styles in overlay to make styles stay consistently mounted (https://github.com/WordPress/gutenberg/pull/75700)
- Real-time collaboration: Fix comment syncing on site editor (https://github.com/WordPress/gutenberg/pull/75746)
- Real-time Collaboration: Bug fix for CRDT user selection and add tests (https://github.com/WordPress/gutenberg/pull/75075)
- RTC: Updates from backport PR (https://github.com/WordPress/gutenberg/pull/75711)
- RTC: Fix undefined array_first() call in sync storage (https://github.com/WordPress/gutenberg/pull/75869)
- RTC: Fix fallthrough for sync update switch statement (https://github.com/WordPress/gutenberg/pull/76060)
- Real-time collaboration: Remove block client IDs from Awareness, fix "Show Template" view (https://github.com/WordPress/gutenberg/pull/75590)
- RTC: Add session activity notifications (https://github.com/WordPress/gutenberg/pull/76065)
- Prevent non-reproducible Sass/CSS builds. (https://github.com/WordPress/gutenberg/pull/76098)
- Block toolbar and context menu: hide pattern actions in Revisions UI (https://github.com/WordPress/gutenberg/pull/76066)
- Try enabling style variation transforms for blocks in contentOnly mode (https://github.com/WordPress/gutenberg/pull/75761)
- Block toolbar: hide styles dropdown in Revisions UI (https://github.com/WordPress/gutenberg/pull/76119)
- Image block: fix lightbox srcset size (https://github.com/WordPress/gutenberg/pull/76092)
- Fix writing flow navigation for annotation style, or any other block with border radius (https://github.com/WordPress/gutenberg/pull/76072)
- Image: Hide 'Set as featured image' for in-editor revisions (https://github.com/WordPress/gutenberg/pull/76123)
- Connectors: Gate unavailable install actions behind install capability (https://github.com/WordPress/gutenberg/pull/75980)
- build: Exclude experimental pages from Core builds (https://github.com/WordPress/gutenberg/pull/76038)
- HTML & Shortcode: Disable viewport visibility support (https://github.com/WordPress/gutenberg/pull/76138)
- RTC: Verify client ID to avoid awareness mutation (https://github.com/WordPress/gutenberg/pull/76056)
- wp-build: Do not remove Core's default script modules registration (https://github.com/WordPress/gutenberg/pull/75705)
- wp-build: Deregister script modules before re-registering (https://github.com/WordPress/gutenberg/pull/75909)
- Remove `! function_exists()` checks from PHP templates (https://github.com/WordPress/gutenberg/pull/76062)
- Connectors: Update page identifier to options-connectors (https://github.com/WordPress/gutenberg/pull/76156)
- Connectors: Align init hook priorities with Core overrides (https://github.com/WordPress/gutenberg/pull/76161)
- Icon Block: Clean up selectors config (https://github.com/WordPress/gutenberg/pull/75786)
- Icons: Fix incorrect icon slug (https://github.com/WordPress/gutenberg/pull/76165)
- RTC: Enable RTC by default (https://github.com/WordPress/gutenberg/pull/75739)
- Rename and visibility modals: gate shortcuts behind canEditBlock to prevent triggering in revisions UI (https://github.com/WordPress/gutenberg/pull/76168)
- Fix: Block style variations not rendering in Site Editor Patterns page (https://github.com/WordPress/gutenberg/pull/76122)
- Client-side media processing: only use media upload provider when not in preview mode (https://github.com/WordPress/gutenberg/pull/76124)
- Notes: Disable for in-editor revisions (https://github.com/WordPress/gutenberg/pull/76180)
- Core Data: Support reading revision data in useEntityProp (fixes footnotes in revisions UI) (https://github.com/WordPress/gutenberg/pull/76106)
- Client-side media processing: Try plumbing invalidation to the block-editor's mediaUpload onSuccess callback (https://github.com/WordPress/gutenberg/pull/76173)
- Connectors: Improve responsive layout on small screens (https://github.com/WordPress/gutenberg/pull/76186)
- Interactivity API: Fix router initialization race condition on Safari/Firefox (https://github.com/WordPress/gutenberg/pull/76053) (https://github.com/WordPress/gutenberg/pull/76191)
- Interactivity: Fix crypto.randomUUID crash in non-secure contexts (https://github.com/WordPress/gutenberg/pull/76151)

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


git-svn-id: http://core.svn.wordpress.org/trunk@61130 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-05 11:58:29 +00:00
audrasjb
ffe597fab7 Media: Add the missing unit test image after [61841].
See #63895.


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


git-svn-id: http://core.svn.wordpress.org/trunk@61129 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-05 10:49:44 +00:00
audrasjb
fa89c24d7f Media: Import images Alt text IPTC metadata.
This changeset introduce a new `wp_get_image_alttext()` function that extracts Image Alt text metadata from image IPTC metadata.

Props jhmonroe, rishabhwpn, adamsilverstein, sajjad67, ozgursar, joedolson, audrasjb, huzaifaalmesbah, sabernhardt, valentingrenier, louischan, penelopeadrian, mathiaspeguet.
Fixes #63895.


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


git-svn-id: http://core.svn.wordpress.org/trunk@61128 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-05 10:18:45 +00:00
wildworks
77b3448fac Admin: Update button color to align with the design system.
Updates the disabled state colors for the primary and secondary buttons to align with the WordPress Design System.

Props hbhalodia, huzaifaalmesbah, Joen, mciampini, ozgursar, wildworks.
Fixes #64797.
Built from https://develop.svn.wordpress.org/trunk@61840


git-svn-id: http://core.svn.wordpress.org/trunk@61127 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-05 09:28:38 +00:00
ellatrix
c4d3fe1571 Real-time collaboration: prevent fall-through in sync polling server.
When a user sends a stale compaction update to WP_HTTP_Polling_Sync_Server, it falls through the switch statement and results in a rest_invalid_update_type error (bad request).

This generally has no ill effect since the compaction request is rescinded on the next polling cycle, but it could cause confusion for users who are monitoring client-side requests or server logs.

To fix, replace the break after the $has_newer_compaction check with return true so that the stale compaction is silently discarded instead of falling through. Covered by unit test.

Developed in: https://github.com/WordPress/wordpress-develop/pull/11118.
Syncs: https://github.com/WordPress/gutenberg/pull/76060.

Fixes #64781.
Props czarate, mindctrl.
Built from https://develop.svn.wordpress.org/trunk@61839


git-svn-id: http://core.svn.wordpress.org/trunk@61126 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-05 09:24:36 +00:00
ellatrix
a67307b3e4 Real-time collaboration: check wp_user_id before accepting awareness update.
Using the built-in HTTP polling sync server, awareness state is accepted and stored after the user is authorized. This state is keyed against their sync client ID, which is randomly generated.

However, nothing prevents a user from spoofing another client's client ID, which is discoverable by inspecting network responses. By replaying a sync request with a different client ID, they could temporarily overwrite another client's awareness state.

This change prevents this spoofing by storing and checking the user's WordPress user ID to ensure it matches the initial update.

Developed in: https://github.com/WordPress/wordpress-develop/pull/11120.
Syncs: https://github.com/WordPress/gutenberg/pull/76056.

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


git-svn-id: http://core.svn.wordpress.org/trunk@61125 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-05 09:23:42 +00:00
Weston Ruter
a1809f7404 Build/Test Tools: Add -v1 suffix to TypeScript/PHPStan reusable workflows and remove unused Dependabot exclusion.
Developed in https://github.com/WordPress/wordpress-develop/pull/11163

Follow up to r61830, r61699, r61050, r61049.

Props desrosj, westonruter.
See #61175.
Fixes #64662.

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


git-svn-id: http://core.svn.wordpress.org/trunk@61124 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-05 06:39:44 +00:00
desrosj
24ef127888 Build/Test Tools: Increase timeout-minutes for PHPUnit workflow.
The GitHub Actions workflow responsible for running the PHPUnit test suite is frequently encountering the default `timeout-minutes` value of `20` since the changes in [61438]. The result is that the workflow is consistently unable to finish running and ends up being cancelled.

This bumps the default value to `40` until the overall speed of the build script can be improved.

See #64225, #64227, #64393.
Built from https://develop.svn.wordpress.org/trunk@61836


git-svn-id: http://core.svn.wordpress.org/trunk@61123 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-05 02:25:44 +00:00
joedolson
2555ba047b Administration: Set customizer theme feature filter to compact.
Use the compact button size for the customizer theme feature filter trigger.

Props joedolson, huzaifaalmesbah, shailu25, noruzzaman.
Fixes #64755.
Built from https://develop.svn.wordpress.org/trunk@61835


git-svn-id: http://core.svn.wordpress.org/trunk@61122 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-05 01:12:38 +00:00
joedolson
9787071d91 Administration: Update event-none border in dashboard widget.
Update the `event-none` class in the WordPress Events and News widget to use the new color palette.

Props huzaifaalmesbah, ocean90, noruzzaman, hmbashar, mukesh27, shailu25, joedolson.
Fixes #64756.
Built from https://develop.svn.wordpress.org/trunk@61834


git-svn-id: http://core.svn.wordpress.org/trunk@61121 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-05 01:08:43 +00:00
Peter Wilson
47622201fd Real-time collaboration: Rename option for positive intent.
This reverts the real time collaboration option name back to `wp_enable_real_time_collaboration` to avoid the need to turn on a checkbox in order to turn off the feature. This is to reduce the cognitive load on both users and developers of an on is off paradigm.

To ensure Real Time Collaboration is enabled prior to the upgrade routine running on multi-site installs, the option default is filtered on the `default_option_wp_enable_real_time_collaboration` hook to enable the option by default.

Developed in: https://github.com/WordPress/wordpress-develop/pull/11161
Follow up to r61828.

Props peterwilsoncc, czarate, sergeybiryukov.
Fixes #64622.

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


git-svn-id: http://core.svn.wordpress.org/trunk@61120 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-05 00:29:38 +00:00
Sergey Biryukov
e80449272b Admin Reskin: Correct color scheme for plugin and theme filters.
Props ocean90, niravsherasiya7707, noruzzaman, manishxdp, huzaifaalmesbah, SergeyBiryukov.
Fixes #64788.
Built from https://develop.svn.wordpress.org/trunk@61832


git-svn-id: http://core.svn.wordpress.org/trunk@61119 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-04 21:07:44 +00:00
joedolson
24c0d0ca3d Themes: Remove background on active theme actions.
The background behind theme actions for the active theme was still visible when no actions were available, such as with a disabled customizer. Removing the background on this container improves the design of the active theme card by simplifying the layout and prevents the appearance of an error if no actions are available.

Remove background and inset box shadow for the `.theme.active .theme-actions` container on the active theme.

Props awetz583, huzaifaalmesbah, noruzzaman, shailu25, joedolson.
Fixes #64720.
Built from https://develop.svn.wordpress.org/trunk@61831


git-svn-id: http://core.svn.wordpress.org/trunk@61118 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-04 20:43:38 +00:00
Weston Ruter
787d869006 Build/Test Tools: Integrate TypeScript into the core development workflow.
This introduces a new GitHub Action workflow for JavaScript type checking, mirroring the implementation for PHPStan in #61175. It also adds a `typecheck:js` Grunt task and includes it in the `precommit:js` task list. Only files related to the code editor are initially checked with TypeScript, with the expectation that additional files will be added to the `files` list in `tsconfig.json` as a part of ongoing maintenance work, for example #64238 and #64226.

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

Follow up to r61699, r61800, r61539.

Props westonruter, jonsurrell.
See #61175, #64661, #48456.
Fixes #64662.

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


git-svn-id: http://core.svn.wordpress.org/trunk@61117 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-04 20:41:46 +00:00
jorgefilipecosta
c9661dcfb8 Options: Mask connector API keys on All Options screen.
Connector API keys were visible in plain text on `wp-admin/options.php`
because it queries the database directly, bypassing the `get_option()`
filter that normally masks these values.
This adds masking for options matching the `connectors_*_api_key` pattern
using the existing `_wp_connectors_mask_api_key()` function, and disables
editing from this screen.

Props jorgefilipecosta, gziolo, ocean90.
Fixes #64793.
Built from https://develop.svn.wordpress.org/trunk@61829


git-svn-id: http://core.svn.wordpress.org/trunk@61116 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-04 20:26:43 +00:00
ellatrix
6b28eb9266 Real-time collaboration: enable by default.
The option name is changed since the previous option name set a default value during database initialization. A default is no longer needed since the default is false.

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

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


git-svn-id: http://core.svn.wordpress.org/trunk@61115 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-04 20:05:45 +00:00
joedolson
9c013e7a2b Quick/Bulk Edit: Use compact sizing on inputs after admin reskin.
Change inputs in the bulk and quick edit to use compact sizing.

Props mohitbsf, sabernhardt, mukesh27, juanmaguitar, fabiankaegy, shailu25, joedolson.
Fixes #64685.
Built from https://develop.svn.wordpress.org/trunk@61827


git-svn-id: http://core.svn.wordpress.org/trunk@61114 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-04 19:57:42 +00:00
joedolson
be4ab33923 Permalinks: Improve display for permalinks slug inputs.
Set the `/blog` prefix to place the `/` correctly in RTL languages. Adjust the layout to prevent awkward wrapping in all languages on smaller viewports.

Props sabernhardt, rachid84, johnbillion, SergeyBiryukov, costdev, joedolson, afercia, ryokuhi, oglekler, sirlouen, audrasjb, huzaifaalmesbah.
Fixes #58722. See #47755.
Built from https://develop.svn.wordpress.org/trunk@61826


git-svn-id: http://core.svn.wordpress.org/trunk@61113 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-04 19:48:42 +00:00
gziolo
d7c4f6f86c Connectors: Change admin URL to options-connectors.php.
Changes the Connectors screen URL from a query parameter page to a direct file, following the Settings menu naming convention used by other settings pages (`options-general.php`, `options-writing.php`, etc.).

* Adds `src/wp-admin/options-connectors.php` as a direct admin screen file.
* Adds a static submenu entry in `menu.php` at position 12 (after General).
* Removes `_wp_connectors_add_settings_menu_item()` and its `admin_menu` hook from `connectors.php`.
* Updates the `script_module_data` filter from `connectors-wp-admin` to `options-connectors-wp-admin`.

Synced from https://github.com/WordPress/gutenberg/pull/76142.
Developed in https://github.com/WordPress/wordpress-develop/pull/11157.

Follow-up to [61749], [61824].
See #64730.

Props jorgefilipecosta, gziolo.
Fixes #64790.


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


git-svn-id: http://core.svn.wordpress.org/trunk@61112 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-04 16:31:45 +00:00
gziolo
3bdb7b2b16 Connectors: Dynamically register providers from WP AI Client registry.
Replaces `_wp_connectors_get_provider_settings()` with
`_wp_connectors_get_connector_settings()` that returns a richer structure keyed
by connector ID, including name, description, type, plugin slug, and an
authentication sub-object (method, credentials_url, setting_name).

The new function merges hardcoded defaults for featured providers (Anthropic,
Google, OpenAI) with metadata from the WP AI Client registry, allowing
dynamically registered providers to appear alongside built-in ones. Providers
are sorted alphabetically with `ksort()`.

Additionally:
* Renames `_wp_connectors_is_api_key_valid()` to
  `_wp_connectors_is_ai_api_key_valid()`.
* Adds `_wp_connectors_get_connector_script_module_data()` to expose connector
  settings to the `connectors-wp-admin` script module.
* Includes plugin slug data for featured connectors to support install/activate UI.
* Removes redundant `class_exists` checks for `AiClient`.
* Runs `init` hooks at priority 20 so provider plugins registered at default
  priority are available.
* Unhooks connector registration during tests to prevent duplicate registrations.

Synced from https://github.com/WordPress/gutenberg/pull/76014.
Developed in https://github.com/WordPress/wordpress-develop/pull/11080.

Follow-up to [61749].

Props gziolo, jorgefilipecosta, justlevine, flixos90, ellatrix.
Fixes #64730.



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


git-svn-id: http://core.svn.wordpress.org/trunk@61111 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-04 12:49:46 +00:00
Adam Silverstein
1af126304f REST API: Add 'scaled' to sideload route image_size enum
Fix an issue where sideloaded images with a ‘-scaled’ suffix would respond with an error. When users upload a very large image in the editor, the client-side media processing sideloads a scaled version of that image with a ‘-scaled’ suffix. 

Props adamsilverstein, huzaifaalmesbah, westonruter.
Fixes #64737.


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


git-svn-id: http://core.svn.wordpress.org/trunk@61109 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-04 06:58:44 +00:00
Weston Ruter
af01ceef43 AI: Exclude php-api-client from PHPStan analysis since analyzed upstream.
Third-party paths are also re-sorted in the PHPStan config.

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

Follow up to r61776, r61712, r61699.

Props justlevine, flixos90, westonruter.
See #64591, #61175.

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


git-svn-id: http://core.svn.wordpress.org/trunk@61108 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-04 01:55:44 +00:00
Sergey Biryukov
13039a3947 Admin Reskin: Correct color scheme for Site Health animation and blue badges.
Props huzaifaalmesbah, niravsherasiya7707, noruzzaman.
Fixes #64772.
Built from https://develop.svn.wordpress.org/trunk@61807


git-svn-id: http://core.svn.wordpress.org/trunk@61107 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-03 23:31:42 +00:00
Weston Ruter
0ca9a70ec2 Code Editor: Improve types and fix options handling to avoid double-linting at initialization.
* Refactor how CodeMirror is initialized so that the full settings are provided up-front. This avoids the linting from being applied twice at initialization, the first time with an incorrect configuration.
* Add initial TypeScript configuration for core with `npm run typecheck:js`.
* Add comprehensive types for code editor files: `code-editor.js`, `javascript-lint.js`, and `htmlhint-kses.js`.
* Move code editor scripts from `src/js/_enqueues/vendor/codemirror/` to `src/js/_enqueues/lib/codemirror/`. The CodeMirror library is sourced from the npm package as of r61539.
* Remove (deprecated) `esprima.js` from being committed to SVN since in r61539 it was switched to using the npm package as its source.
* Move `fakejshint.js` to `src/js/_enqueues/deprecated`.

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

Follow up to r61611, r61539.

Props westonruter, jonsurrell, justlevine.
See #64662, #48456.
Fixes #64661.

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


git-svn-id: http://core.svn.wordpress.org/trunk@61106 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-03 20:27:51 +00:00
joedolson
3dea30b36e Posts, Post Types: Restore post type icons in At a Glance.
Following [61555], the post type icons were missing from the At a Glance dashboard widget. Restore the post type class omitted from the previous commit.

Props ocean90, krokodok, karinchristen, hubersen, stefanvelthuys, ozgursar, sabernhardt, joedolson.
Fixes #43084.
Built from https://develop.svn.wordpress.org/trunk@61799


git-svn-id: http://core.svn.wordpress.org/trunk@61105 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-03 17:26:36 +00:00
joedolson
f7f91136e3 Admin: Reskin - Welcome Panel viewport fixes.
Ensure that the black background covers the entire width of the header on large screens, ensure that the dismiss button appears on small screens.

Props peterwilsoncc, ramonopoly, huzaifaalmesbah, marc4, shailu25, ocean90, krokodok, karinchristen, hubersen, stefanvelthuys, joedolson.
Fixes #64741.
Built from https://develop.svn.wordpress.org/trunk@61798


git-svn-id: http://core.svn.wordpress.org/trunk@61104 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-03 17:21:42 +00:00
Weston Ruter
8cdb6742db Embeds: Remove unnecessary false check in oEmbed data fetching.
Developed in https://github.com/WordPress/wordpress-develop/pull/11126

Follow up to r40628.

Props soean, swissspidy, ocean90, sajib1223, manhar.
Fixes #64784.

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


git-svn-id: http://core.svn.wordpress.org/trunk@61103 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-03 17:12:44 +00:00
jonsurrell
bd6e249954 HTML API: Check tag namespace in ::set_modifiable_text().
The method should only apply to special "atomic" HTML tags like `SCRIPT` or `TEXTAREA`. `::set_modifiable_text()` should not apply to tags with the same name in other namespaces.

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

Props jonsurrell, dmsnell, westonruter.
Fixes #64751.

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


git-svn-id: http://core.svn.wordpress.org/trunk@61102 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-03 14:59:46 +00:00
gziolo
90d7aada35 AI: Sync Ability_Function_Resolver API enhancement to harden security
Make `WP_AI_Client_Ability_Function_Resolver` non-static and require specifying the allowed abilities list in the constructor. This hardens security by ensuring that only explicitly specified abilities can be executed, preventing potential vulnerabilities such as prompt injection from triggering arbitrary abilities.

The constructor accepts either `WP_Ability` objects or ability name strings. If an ability is not in the allowed list, an error response with code `ability_not_allowed` is returned.

Developed in https://github.com/WordPress/wordpress-develop/pull/11103.
Upstream: https://github.com/WordPress/wp-ai-client/pull/61.

Props felixarntz, gziolo, JasonTheAdams, dkotter, johnbillion.
Fixes #64769.



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


git-svn-id: http://core.svn.wordpress.org/trunk@61101 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-03 14:01:43 +00:00
Adam Silverstein
ec46a05c78 General: VIPS library omit un-minimized and .map files.
Omit these files which offer little value since the VIPS library is primarily inlined WASM. Saves ~30MB total from the build output.

Props swissspidy, westonruter, adamsilverstein, berislav.grgicak, knutsp.
Fixes: #64734.


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


git-svn-id: http://core.svn.wordpress.org/trunk@61100 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-03 13:46:42 +00:00
jonsurrell
7ae743a4d9 HTML API: Exclude internal classes and methods from documentation.
Add `@ignore` annotations to internal HTML API methods and classes to exclude them from generated documentation. The HTML API relies heavily on internal methods and classes and they create a lot of noise in documentation.

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

Props jonsurrell, westonruter.
See #64224.

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


git-svn-id: http://core.svn.wordpress.org/trunk@61099 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-03 13:11:46 +00:00
jonsurrell
28b9161f17 HTML API: Remove incorrect "stub implementation" since annotations.
Developed in https://github.com/WordPress/wordpress-develop/pull/11076.

Props jonsurrell, westonruter.
See #64224.

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


git-svn-id: http://core.svn.wordpress.org/trunk@61098 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-03 12:37:47 +00:00
jonsurrell
dc0654a64c Script Loader: Document deprecated html5 script and style theme support.
Add a `@since` annotation to `add_theme_support()` to deprecate `html5` feature's `script` and `style` arguments.

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

Follow-up to [61415].

Props jonsurrell, westonruter.
Fixes #64442.

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


git-svn-id: http://core.svn.wordpress.org/trunk@61097 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-03 12:26:46 +00:00
Weston Ruter
892fcc25be Coding Standards: Apply changes from running composer format.
Developed in https://github.com/WordPress/wordpress-develop/pull/11111

Follow-up to r61745, r61703, r33268.

Props soean.
See #64226.

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


git-svn-id: http://core.svn.wordpress.org/trunk@61096 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-03 07:18:43 +00:00
Weston Ruter
59e1bba290 Code Quality: Normalize object as type being supplied as comment, post, site, term, and user.
When constructing these objects, the specific instance type is redundantly used in a union with a generic `object`. A generic object can be passed directly from database row result. This also hardens `get_post()` to account for passing an object that lacks an `ID` property. Similarly, `sanitize_term()` is hardened to account for an object lacking a `term_id` property. Comprehensive unit tests are added for `get_post()` and `sanitize_term()`.

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

Props westonruter, apermo.
See #64238, #64225.

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


git-svn-id: http://core.svn.wordpress.org/trunk@61095 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2026-03-03 05:54:45 +00:00