Following [61598], the upload button for plugins and themes could cover the file information in the file input for longer internationalized strings due to absolute positioning.
Update layout to use remove absolute positioning while retaining the larger drop area.
Props audrasjb, pratiknawkar94, huzaifaalmesbah, noruzzaman, presskopp, joedolson.
Fixes#64832.
Built from https://develop.svn.wordpress.org/trunk@62090
git-svn-id: http://core.svn.wordpress.org/trunk@61372 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Fix issue where the selected state dot on radio buttons was not centered when scaling is set to a value greater than 100%. Remove the `.tog` class and styles, unused since [26072].
Props presskopp, siliconforks, suhan2411, sabernhardt, shailu25, joedolson.
Fixes#64816.
Built from https://develop.svn.wordpress.org/trunk@62089
git-svn-id: http://core.svn.wordpress.org/trunk@61371 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Punt the wasm-vips client-side media processing feature to a future release when it can include more features. The VIPS WASM worker adds too much build size overhead for the current value provided. Removes all PHP functions, REST API endpoints, cross-origin isolation infrastructure, VIPS script module handling, build configuration, and associated tests.
Props adamsilverstein, jorbin.
Fixes#64906.
Built from https://develop.svn.wordpress.org/trunk@62081
git-svn-id: http://core.svn.wordpress.org/trunk@61363 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Should any scripts contain calls to `import()`, the browser won't be able to resolve bare import specifiers unless the import map is already in the DOM. Thus, rather than rely on hook registration order, which is fallible, ensure that the newer callback `WP_Script_Modules::print_import_map` (since 6.5.0) has a lower priority than `_wp_footer_scripts`.
Reviewed by jonsurrell.
Props mlaetitia.
Fixes#64907.
Built from https://develop.svn.wordpress.org/trunk@62080
git-svn-id: http://core.svn.wordpress.org/trunk@61362 1a063a9b-81f0-0310-95a4-ce76da25c4cd
The `registry.php` file within the built assets from the `gutenberg` repository contains an accurate list of active, stable routes. However, the `build/routes/` directory has the JavaScript and PHP files for all routes, regardless of their status.
This makes adjustments to the `grunt copy` tasks responsible for copying these files into the appropriate locations to extract the list of routes specified in the `registry.php` file so that only the required files are copied.
See #64393.
Built from https://develop.svn.wordpress.org/trunk@62079
git-svn-id: http://core.svn.wordpress.org/trunk@61361 1a063a9b-81f0-0310-95a4-ce76da25c4cd
The `WP_ALLOW_COLLABORATION` constant was introduced in [62075] to support disabling RTC at the host level or at the wp-config.php level. A part of that commit is about hiding the "Enable RTC" checkbox in the writing options when RTC is explicitly disallowed via the constant. This commit fixes an error in the condition to hide that checkbox.
Props zieladam, tyxla.
See #64904.
Built from https://develop.svn.wordpress.org/trunk@62078
git-svn-id: http://core.svn.wordpress.org/trunk@61360 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This makes several changes to the build script to place the icon library files into more appropriate locations.
- The icon library SVG files are now copied into the `wp-includes/images/icon-library` directory instead of `wp-includes/icons`.
- The name of the `manifest.php` file has changed to `icon-library-manifest.php` and is now copied to `wp-includes/assets`.
- An unnecessary `trailingslashit()` has been removed.
- The `gutenberg-` prefix for the corresponding `grunt copy` tasks has been removed.
These values are merged into the `script-loader-packages.php` file during a `build`, so the original PHP files are not required.
Props mcsf, desrosj.
See #64393.
Built from https://develop.svn.wordpress.org/trunk@62077
git-svn-id: http://core.svn.wordpress.org/trunk@61359 1a063a9b-81f0-0310-95a4-ce76da25c4cd
The `index.min.asset.php` file for each script bundled through the built asset from the `gutenberg` repository contains the `dependencies` and `version` hash for each script.
These values are merged into the `script-loader-packages.php` file during a `build`, so the original PHP files are not required.
Props peterwilsoncc, desrosj.
Fixes#64393.
Built from https://develop.svn.wordpress.org/trunk@62073
git-svn-id: http://core.svn.wordpress.org/trunk@61355 1a063a9b-81f0-0310-95a4-ce76da25c4cd
The generated `wp-includes/assets/script-loader-packages.min.php` and `wp-includes/assets/script-modules-packages.min.php` files are not actually minified. Additionally, the only purpose they serve is to pass a different script handle to the script loader (`.min.js` vs. `.js`).
This eliminates the need for those files entirely since the difference in file size is negligible, and a human-readable version is more useful.
Props peterwilsoncc, desrosj.
Fixes#64909.
Built from https://develop.svn.wordpress.org/trunk@62072
git-svn-id: http://core.svn.wordpress.org/trunk@61354 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Change `return` to `continue` in `data_wp_bind_processor` so that when an element has multiple `data-wp-bind` directives and one is invalid (empty suffix or unique ID), the invalid entry is skipped instead of causing the entire function to exit, allowing valid directives on the same element to still be processed.
Props DAreRodz, ozgursar, alexodiy.
Fixes#64518.
Built from https://develop.svn.wordpress.org/trunk@62070
git-svn-id: http://core.svn.wordpress.org/trunk@61352 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Seemingly as a side effect of [61438], the built code base contains a number of files and directories that have been moved or removed.
`grunt clean` was updated to be aware of the newly expected files in [62051], but the `clean` tasks required to ensure a pristine working state are not run prior to `build`.
This runs the `clean --dev` task is run immediately before `grunt build` runs as an attempt to clean up these files by ensuring a clean `src` directory.
Props jorbin.
See #64393.
Built from https://develop.svn.wordpress.org/trunk@62069
git-svn-id: http://core.svn.wordpress.org/trunk@61351 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Replace the previous generic concatenation logic in `get_block_wrapper_attributes()` with attribute-specific merge behavior:
- Add explicit merge callbacks for each attribute.
- Merge style values safely, normalize trailing semicolons, and sanitize the result.
- Merge class values with deduplication .
- Treat id and aria-label as override attributes, giving precedence to explicitly passed extra attributes.
Props adrock42, mamaduka, r1k0, westonruter, wildworks.
Fixes#64603.
Built from https://develop.svn.wordpress.org/trunk@62068
git-svn-id: http://core.svn.wordpress.org/trunk@61350 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This includes a `WP_AI_SUPPORT` constant and a `wp_supports_ai` filter.
When false,
- `_wp_connectors_get_provider_settings()` will return an empty array (short-circuiting the other functionality).
- `WP_AI_Client_Prompt_Builder()` will short-circuit the construction with a `WP_Error()`. `wp_ai_client_prompt()` will still return an instance, to allow for fluidity to remain intact.
Priority: `WP_AI_SUPPORT` > `add_filter( 'wp_supports_ai', ...) > (default: true)`
Follow-up to [61943], [61749], [61943].
Props justlevine, westonruter, gziolo, flixos90, romainmrhenry, ahortin, chrismcelroyseo, SergeyBiryukov.
See #64706.
Built from https://develop.svn.wordpress.org/trunk@62067
git-svn-id: http://core.svn.wordpress.org/trunk@61349 1a063a9b-81f0-0310-95a4-ce76da25c4cd
After [61438] the block editor-related code maintained in the `gutenberg` repository is no longer managed using npm dependencies. The `sync-gutenberg-packages` and `postsync-gutenberg-packages` scripts were specifically meant to manage the update process for those packages, so they’re no longer needed.
Props youknowriad, mamaduka, SirLouen, jtquip88.
Fixes#62839. See #64393.
Built from https://develop.svn.wordpress.org/trunk@62062
git-svn-id: http://core.svn.wordpress.org/trunk@61344 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This dependency is responsible for transforming some JSON files to PHP ones. But since this is not included in the distributed software, it should not be specified as a `dependency`.
Props nimeshatxecurify, royhridoy, phpbits, dilip2615, noruzzaman.
Fixes#64221.
Built from https://develop.svn.wordpress.org/trunk@62061
git-svn-id: http://core.svn.wordpress.org/trunk@61343 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Add an exclusion for non-minified VIPS files to match the existing filter in `tools/gutenberg/copy.js`. This prevents ~16 MB `worker.js` from being copied alongside the nearly identically-sized `worker.min.js`.
Props adamsilverstein, zieladam, desrosj.
Fixes#64884.
Built from https://develop.svn.wordpress.org/trunk@62055
git-svn-id: http://core.svn.wordpress.org/trunk@61337 1a063a9b-81f0-0310-95a4-ce76da25c4cd
`mt_rand` produces not fully random numbers which makes it so `wp_generate_uuid4` was more likely to produce a uuid which collides with another uuid it produced. This attempts to make those collisions much less likely.
Since `wp_rand` is a pluggable function, it's not loaded until after plugins have been loaded. In order to make it so this function can still be used early, it falls back first to `random_int`, which will throw an exception if it can't find an appropriate source of randomness, and then to the existing, but flawed, `mt_rand`.
Props johnbillion, peterwilsoncc, westonruter, mukesh27, siliconforks, alexodiy, juanmaguitar, audrasjb, joppuyo, jorbin.
Fixes#59239.
Built from https://develop.svn.wordpress.org/trunk@62054
git-svn-id: http://core.svn.wordpress.org/trunk@61336 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This updates the following GitHub Actions:
- `actions/cache` from `5.0.3` to `5.0.4`
- `codecov/codecov-action` from `5.5.2` to `5.5.3`
This resolves the final `node20`-related deprecation notices being triggered by GitHub Actions.
See #64227.
Built from https://develop.svn.wordpress.org/trunk@62053
git-svn-id: http://core.svn.wordpress.org/trunk@61335 1a063a9b-81f0-0310-95a4-ce76da25c4cd
The block editor-related files were previously present in the `src` directory and subject to version control. However, [61439] removed them from version control and has broken some workflows and testing setups that run the PHPUnit tests from `src`.
There is work ongoing to restore those files to version control with their respective change history. But until that happens, this updates the `download.js` script and `gutenberg:download` Grunt task to run `build:gutenberg —dev` every time the build asset is downloaded to ensure the files are present in `src`.
Props mywp459, amykamala, jorbin.
Fixes#64716. See #64393.
Built from https://develop.svn.wordpress.org/trunk@62052
git-svn-id: http://core.svn.wordpress.org/trunk@61334 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This updates the following `devDependencies`:
- `@playwright/test` from `1.56.1` to `1.58.2`
- `@pmmmwh/react-refresh-webpack-plugin` from `0.6.1` to `0.6.2`
- `@types/jquery` from `3.5.33` to `3.5.34`
- `@types/underscore` from `1.11.15` to `1.13.0`
- `@wordpress/e2e-test-utils-playwright` from `1.33.2` to `1.41.0`
- `@wordpress/prettier-config` from `4.33.1` to `4.41.0`
- `@wordpress/scripts` from `30.26.2` to `31.6.0`
- `autoprefixer` from `10.4.22` to `10.4.27`
- `cssnano` from `7.1.2` to `7.1.3`
- `dotenv` from `17.2.3` to `17.3.1`
- `grunt-sass` from `~4.0.1` to `~4.1.0`
- `grunt-webpack` from `7.0.0` to `7.0.1`
- `postcss` from `8.5.6` to `8.5.8`
- `qunit` from `~2.24.2` to `~2.25.0`
- `sass` from `1.94.0` to `1.98.0`
- `terser-webpack-plugin` from `5.3.14` to `5.4.0`
- `wait-on` from `9.0.3` to `9.0.4`
- `webpack` from `5.98.0` to `5.105.4`
Props westonruter, jonsurrell, desrosj.
Fixes#64230.
Built from https://develop.svn.wordpress.org/trunk@62050
git-svn-id: http://core.svn.wordpress.org/trunk@61332 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Under `Document-Isolation-Policy: isolate-and-credentialless`, the browser's credentialless mode already handles cross-origin image loading without requiring CORS headers. Explicitly adding `crossorigin="anonymous"` to `<img>` elements overrides this behavior and forces a CORS preflight request, breaking images from servers that don't include `Access-Control-Allow-Origin` in their response headers.
This also removes the related `imagesrcset` handling from `LINK` elements, which had the same issue for `<link>` preload tags for images.
See related Gutenberg issue: https://github.com/WordPress/gutenberg/issues/76476.
Follow-up to [61844], [61846].
Props adamsilverstein, swissspidy.
Fixes#64886.
Built from https://develop.svn.wordpress.org/trunk@62048
git-svn-id: http://core.svn.wordpress.org/trunk@61330 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This prevents a fatal error from `urldecode()` in `wp_basename()` if an array is passed instead.
Follow-up to [15732], [15824], [15825], [15923], [16155], [50565], [60927].
Props patricedefago, alexodiy, SergeyBiryukov.
Fixes#64870.
Built from https://develop.svn.wordpress.org/trunk@62047
git-svn-id: http://core.svn.wordpress.org/trunk@61329 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This changeset ensures application password is fully shown in the related input field, after the UI changes shipped in 7.0.
Follow-up to [61645].
Props johnbillion, nimeshatxecurify, jsmansart, amin7, huzaifaalmesbah, abdullah17.
Fixes#64738.
Built from https://develop.svn.wordpress.org/trunk@62043
git-svn-id: http://core.svn.wordpress.org/trunk@61325 1a063a9b-81f0-0310-95a4-ce76da25c4cd
A string is supported by virtue of `wp_parse_args()` being used on the supplied arguments. While a string is not currently passed to `get_posts()` in core, a significant number of plugins are doing so. So in addition to documenting actual ecosystem usage, this also adds a test to ensure that supplying a query string continues to be supported in the future.
Developed in https://github.com/WordPress/wordpress-develop/pull/11179
Follow-up to r11528.
Props rodrigosprimo, westonruter, shailu25, mukesh27.
See #64224, #10047.
Fixes#64813.
Built from https://develop.svn.wordpress.org/trunk@62041
git-svn-id: http://core.svn.wordpress.org/trunk@61323 1a063a9b-81f0-0310-95a4-ce76da25c4cd