3.3.8 (develop to uat) - #1289
Merged
Merged
Conversation
gabrielcld2
commented
Sep 22, 2026
Collaborator
- Fix media uploaded in a non-default WPML language never finishing sync #1281
- feat(env): Serve local wp-env over HTTPS #1287
Bumps [globals](https://github.com/sindresorhus/globals) from 17.11.0 to 17.12.0. - [Release notes](https://github.com/sindresorhus/globals/releases) - [Commits](sindresorhus/globals@v17.11.0...v17.12.0) --- updated-dependencies: - dependency-name: globals dependency-version: 17.12.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [@codemirror/state](https://github.com/codemirror/state) from 6.7.1 to 6.7.4. - [Changelog](https://github.com/codemirror/state/blob/main/CHANGELOG.md) - [Commits](https://github.com/codemirror/state/commits) --- updated-dependencies: - dependency-name: "@codemirror/state" dependency-version: 6.7.4 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [lint-staged](https://github.com/lint-staged/lint-staged) from 17.3.0 to 17.5.0. - [Release notes](https://github.com/lint-staged/lint-staged/releases) - [Changelog](https://github.com/lint-staged/lint-staged/blob/main/CHANGELOG.md) - [Commits](lint-staged/lint-staged@v17.3.0...v17.5.0) --- updated-dependencies: - dependency-name: lint-staged dependency-version: 17.5.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
WPML hooks WordPress's `home_url` filter to inject the browsing language into every generated URL. Since rest_url() applies that filter to the REST base before the endpoint path is appended, a non-default language corrupts the background sync loopback URL into e.g. `/wp-json/?lang=fr/cloudinary/v1/queue` instead of a valid route. The loopback request "succeeds" (200) by hitting the REST index rather than the sync endpoint, so queued assets are silently never processed and stay stuck in a "syncing" state.
Bumps [@playwright/test](https://github.com/microsoft/playwright) from 1.61.0 to 1.63.0. - [Release notes](https://github.com/microsoft/playwright/releases) - [Commits](microsoft/playwright@v1.61.0...v1.63.0) --- updated-dependencies: - dependency-name: "@playwright/test" dependency-version: 1.63.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
remove_global_hooks() alone only fixes directory/domain negotiation mode, where WPML separately hooks core's rest_url filter to re-insert the language after the full URL is built. In parameter mode (WPML_Lang_Parameter_Filters), nothing does that, so the cleaned URL was missing ?lang= entirely - not just for the sync loopback, but for every Utils::rest_url() consumer (asset fetch/save, cache purge, analytics, UI state), silently running them under the default language's context. wpml_permalink is WPML's documented API for exactly this and is idempotent across all three negotiation modes. Also wraps the hook removal in try/finally so a thrown exception can't leave WPML's URL filters permanently disabled for the rest of the request, and guards the undocumented remove_global_hooks/ add_global_hooks methods with method_exists(). Addresses review feedback on PR #1281.
Bumps [php-stubs/woocommerce-stubs](https://github.com/php-stubs/woocommerce-stubs) from 11.0.0 to 11.1.0. - [Commits](php-stubs/woocommerce-stubs@v11.0.0...v11.1.0) --- updated-dependencies: - dependency-name: php-stubs/woocommerce-stubs dependency-version: 11.1.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan-phar-composer-source) from 2.2.12 to 2.2.13. - [Commits](https://github.com/phpstan/phpstan-phar-composer-source/commits) --- updated-dependencies: - dependency-name: phpstan/phpstan dependency-version: 2.2.13 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
The local environment ran on plain HTTP, which hid behaviour that only appears under TLS: is_ssl() picks the delivery URL scheme, auth cookies only get the Secure flag over HTTPS, and the admin enforces FORCE_SSL_ADMIN. Those differences surfaced only in production. Add an nginx proxy that terminates TLS in front of wp-env, using a certificate issued by a locally generated CA. Host names resolve through public wildcard DNS, so no /etc/hosts entry is needed, and the proxy binds the standard ports so no port number leaks into generated URLs. Loopback REST requests verify the certificate rather than skipping the check, so they exercise the same path as production. CI keeps running over plain HTTP through .wp-env.ci.json, because runners have no local CA and no proxy container.
Fix media uploaded in a non-default WPML language never finishing sync
…lop/globals-17.12.0 chore(deps-dev): bump globals from 17.11.0 to 17.12.0
…lop/codemirror/state-6.7.4 chore(deps): bump @codemirror/state from 6.7.1 to 6.7.4
…lop/playwright/test-1.63.0 chore(deps-dev): bump @playwright/test from 1.61.0 to 1.63.0
…lop/lint-staged-17.5.0 chore(deps-dev): bump lint-staged from 17.3.0 to 17.5.0
…phpstan/phpstan-2.2.13 chore(deps-dev): bump phpstan/phpstan from 2.2.12 to 2.2.13
…php-stubs/woocommerce-stubs-11.1.0 chore(deps-dev): bump php-stubs/woocommerce-stubs from 11.0.0 to 11.1.0
Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan-phar-composer-source) from 2.2.13 to 2.2.14. - [Commits](https://github.com/phpstan/phpstan-phar-composer-source/commits) --- updated-dependencies: - dependency-name: phpstan/phpstan dependency-version: 2.2.14 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps the wordpress group with 13 updates: | Package | From | To | | --- | --- | --- | | [@wordpress/api-fetch](https://github.com/WordPress/gutenberg/tree/HEAD/packages/api-fetch) | `7.54.0` | `7.55.0` | | [@wordpress/block-editor](https://github.com/WordPress/gutenberg/tree/HEAD/packages/block-editor) | `17.0.0` | `17.1.0` | | [@wordpress/blocks](https://github.com/WordPress/gutenberg/tree/HEAD/packages/blocks) | `15.27.0` | `16.0.0` | | [@wordpress/browserslist-config](https://github.com/WordPress/gutenberg/tree/HEAD/packages/browserslist-config) | `6.54.0` | `6.55.0` | | [@wordpress/components](https://github.com/WordPress/gutenberg/tree/HEAD/packages/components) | `40.0.0` | `40.1.0` | | [@wordpress/data](https://github.com/WordPress/gutenberg/tree/HEAD/packages/data) | `10.54.0` | `10.55.0` | | [@wordpress/e2e-test-utils-playwright](https://github.com/WordPress/gutenberg/tree/HEAD/packages/e2e-test-utils-playwright) | `1.54.0` | `2.0.0` | | [@wordpress/element](https://github.com/WordPress/gutenberg/tree/HEAD/packages/element) | `8.6.0` | `8.7.0` | | [@wordpress/env](https://github.com/WordPress/gutenberg/tree/HEAD/packages/env) | `11.14.0` | `11.15.0` | | [@wordpress/eslint-plugin](https://github.com/WordPress/gutenberg/tree/HEAD/packages/eslint-plugin) | `25.10.0` | `26.0.0` | | [@wordpress/hooks](https://github.com/WordPress/gutenberg/tree/HEAD/packages/hooks) | `4.54.0` | `4.55.0` | | [@wordpress/i18n](https://github.com/WordPress/gutenberg/tree/HEAD/packages/i18n) | `6.27.0` | `6.28.0` | | [@wordpress/scripts](https://github.com/WordPress/gutenberg/tree/HEAD/packages/scripts) | `34.2.0` | `35.0.0` | Updates `@wordpress/api-fetch` from 7.54.0 to 7.55.0 - [Release notes](https://github.com/WordPress/gutenberg/releases) - [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/api-fetch/CHANGELOG.md) - [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/api-fetch@7.55.0/packages/api-fetch) Updates `@wordpress/block-editor` from 17.0.0 to 17.1.0 - [Release notes](https://github.com/WordPress/gutenberg/releases) - [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/block-editor/CHANGELOG.md) - [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/block-editor@17.1.0/packages/block-editor) Updates `@wordpress/blocks` from 15.27.0 to 16.0.0 - [Release notes](https://github.com/WordPress/gutenberg/releases) - [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/blocks/CHANGELOG.md) - [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/blocks@16.0.0/packages/blocks) Updates `@wordpress/browserslist-config` from 6.54.0 to 6.55.0 - [Release notes](https://github.com/WordPress/gutenberg/releases) - [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/browserslist-config/CHANGELOG.md) - [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/browserslist-config@6.55.0/packages/browserslist-config) Updates `@wordpress/components` from 40.0.0 to 40.1.0 - [Release notes](https://github.com/WordPress/gutenberg/releases) - [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/components/CHANGELOG.md) - [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/components@40.1.0/packages/components) Updates `@wordpress/data` from 10.54.0 to 10.55.0 - [Release notes](https://github.com/WordPress/gutenberg/releases) - [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/data/CHANGELOG.md) - [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/data@10.55.0/packages/data) Updates `@wordpress/e2e-test-utils-playwright` from 1.54.0 to 2.0.0 - [Release notes](https://github.com/WordPress/gutenberg/releases) - [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/e2e-test-utils-playwright/CHANGELOG.md) - [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/e2e-test-utils-playwright@2.0.0/packages/e2e-test-utils-playwright) Updates `@wordpress/element` from 8.6.0 to 8.7.0 - [Release notes](https://github.com/WordPress/gutenberg/releases) - [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/element/CHANGELOG.md) - [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/element@8.7.0/packages/element) Updates `@wordpress/env` from 11.14.0 to 11.15.0 - [Release notes](https://github.com/WordPress/gutenberg/releases) - [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/env/CHANGELOG.md) - [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/env@11.15.0/packages/env) Updates `@wordpress/eslint-plugin` from 25.10.0 to 26.0.0 - [Release notes](https://github.com/WordPress/gutenberg/releases) - [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/eslint-plugin@26.0.0/packages/eslint-plugin) Updates `@wordpress/hooks` from 4.54.0 to 4.55.0 - [Release notes](https://github.com/WordPress/gutenberg/releases) - [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/hooks/CHANGELOG.md) - [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/hooks@4.55.0/packages/hooks) Updates `@wordpress/i18n` from 6.27.0 to 6.28.0 - [Release notes](https://github.com/WordPress/gutenberg/releases) - [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/i18n/CHANGELOG.md) - [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/i18n@6.28.0/packages/i18n) Updates `@wordpress/scripts` from 34.2.0 to 35.0.0 - [Release notes](https://github.com/WordPress/gutenberg/releases) - [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/scripts/CHANGELOG.md) - [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/scripts@35.0.0/packages/scripts) --- updated-dependencies: - dependency-name: "@wordpress/api-fetch" dependency-version: 7.55.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: wordpress - dependency-name: "@wordpress/block-editor" dependency-version: 17.1.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: wordpress - dependency-name: "@wordpress/blocks" dependency-version: 16.0.0 dependency-type: direct:development update-type: version-update:semver-major dependency-group: wordpress - dependency-name: "@wordpress/browserslist-config" dependency-version: 6.55.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: wordpress - dependency-name: "@wordpress/components" dependency-version: 40.1.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: wordpress - dependency-name: "@wordpress/data" dependency-version: 10.55.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: wordpress - dependency-name: "@wordpress/e2e-test-utils-playwright" dependency-version: 2.0.0 dependency-type: direct:development update-type: version-update:semver-major dependency-group: wordpress - dependency-name: "@wordpress/element" dependency-version: 8.7.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: wordpress - dependency-name: "@wordpress/env" dependency-version: 11.15.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: wordpress - dependency-name: "@wordpress/eslint-plugin" dependency-version: 26.0.0 dependency-type: direct:development update-type: version-update:semver-major dependency-group: wordpress - dependency-name: "@wordpress/hooks" dependency-version: 4.55.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: wordpress - dependency-name: "@wordpress/i18n" dependency-version: 6.28.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: wordpress - dependency-name: "@wordpress/scripts" dependency-version: 35.0.0 dependency-type: direct:development update-type: version-update:semver-major dependency-group: wordpress ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [lint-staged](https://github.com/lint-staged/lint-staged) from 17.5.0 to 17.5.1. - [Release notes](https://github.com/lint-staged/lint-staged/releases) - [Changelog](https://github.com/lint-staged/lint-staged/blob/main/CHANGELOG.md) - [Commits](lint-staged/lint-staged@v17.5.0...v17.5.1) --- updated-dependencies: - dependency-name: lint-staged dependency-version: 17.5.1 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [cssnano](https://github.com/cssnano/cssnano) from 7.1.9 to 9.0.4. - [Release notes](https://github.com/cssnano/cssnano/releases) - [Commits](https://github.com/cssnano/cssnano/compare/cssnano@7.1.9...cssnano@9.0.4) --- updated-dependencies: - dependency-name: cssnano dependency-version: 9.0.4 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Three problems found in review of the HTTPS proxy scripts. Container lookup matched on a name pattern, but wp-env derives its Compose project name from a hash of the config path, so the pattern was loose enough to match other projects. The scripts edited /etc/hosts and the certificate store of an unrelated container. Identify containers by the bind mount of this repository instead. sed -i cannot write /etc/hosts, because Docker bind-mounts it and sed works by renaming a temporary file over the target. The failure was discarded, so stale host entries accumulated while the script reported success. Filter through a temporary file and copy the contents back. Upstream ports were hard-coded, so a developer using wp-env's supported port overrides got an nginx upstream error. Read the port from the environment, then the config files, then fall back to the defaults.
The unit job installed @wordpress/env on its own into a scratch prefix to avoid a full npm ci. That install resolved dependency ranges fresh against npm rather than obeying package-lock.json, so the job depended on whatever upstream had published that day. A broken @wp-playground/cli 3.1.55 release, pulled in transitively by @wordpress/env, pinned a @php-wasm/node-8-1 version that was never published. Every run of the job failed while the lockfile-based jobs were unaffected. Use npm ci, which installs the locked tree and cannot break because of a third-party release. Its postinstall hook also runs composer install, so the separate Composer step is no longer needed. Enable npm caching, which this job alone was missing and which explains the slow npm ci timings that motivated the original workaround. Also stop exporting NODE_EXTRA_CA_CERTS unconditionally for e2e runs. CI has no certificate, so Node logged "Ignoring extra certs" on every run; a small wrapper now sets it only when the file exists.
…phpstan/phpstan-2.2.14 chore(deps-dev): bump phpstan/phpstan from 2.2.13 to 2.2.14
…lop/wordpress-0ec5f3298c chore(deps-dev): bump the wordpress group with 13 updates
…lop/lint-staged-17.5.1 chore(deps-dev): bump lint-staged from 17.5.0 to 17.5.1
…lop/cssnano-9.0.4 chore(deps-dev): bump cssnano from 7.1.9 to 9.0.4
Bumps [webpack](https://github.com/webpack/webpack) from 5.109.0 to 5.111.1. - [Release notes](https://github.com/webpack/webpack/releases) - [Changelog](https://github.com/webpack/webpack/blob/main/CHANGELOG.md) - [Commits](webpack/webpack@v5.109.0...v5.111.1) --- updated-dependencies: - dependency-name: webpack dependency-version: 5.111.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
…lop/webpack-5.111.0 chore(deps-dev): bump webpack from 5.109.0 to 5.111.1
PR review found two places that still assumed the default ports after this branch made them configurable. The Apache listener was hard-coded to 8888, so with a custom port wp-env published one port while Apache opened another and loopback requests failed. It now uses the resolved port from config.sh. The URL filter matched a literal 8888 or 8889, so a custom port stayed in every generated URL. It now derives the public origin from WP_CONTENT_URL, which wp-env never rewrites, and replaces whatever port is present. It also leaves URLs on other hosts untouched, which the previous pattern did not guard against.
feat(env): Serve local wp-env over HTTPS
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.