Changelog
All notable changes to this project are documented in this file by a CI job that runs on every NPM release. The file follows the Keep a Changelog format.
[v2.0.5] (2025-07-28)
Bug Fixes
- Fix fcntl() F_GETLK fatal due to undefined flock struct address. (#2432)
Various
- Add Japanese translations to contributing index and sidebar. (#2434)
Contributors
The following contributors merged PRs in this release:
@brandonpayton @shimotmk
[v2.0.4] (2025-07-25)
Public API
Blueprints
- Distribute @wp-playground/client without any package.json dependencies. (#2426)
Tools
- Fix ESLint 9 linting in VSCode. (#2417)
- [ xdebug ] Add
--experimental-devtools
option in Playground CLI. (#2411)
PHP WebAssembly
- [PHP] Dispatch request.error for all non-zero-exit request handler errors. (#2429)
Website
- Query Monitor plugin support. (#2415)
Internal
- Skip flaky end-to-end tests in Firefox and Webkit. (#2425)
Bug Fixes
- [Xdebug Bridge] Correct error related to unresolved promises in bridge. (#2422)
Various
- Documentation add sidebar to blueprints bundles. (#2397)
Contributors
The following contributors merged PRs in this release:
@adamziel @brandonpayton @mho22 @shimotmk
[v2.0.3] (2025-07-24)
Tools
- [ xdebug ] Add
--experimental-devtools
option in php-wasm CLI. (#2408)
Bug Fixes
- Playground CLI Allow /wordpress subdirs to be mounted before WP install. (#2382)
Contributors
The following contributors merged PRs in this release:
@brandonpayton @mho22
[v2.0.2] (2025-07-23)
Tools
PHP WebAssembly
- [ xdebug ] Bridge DBGP session with CDP server. (#2402)
Internal
- [Build] Preserve optionalDependencies in built package.json. (#2410)
- Comlink] Throw the original error in the error handler. (#2407)
Contributors
The following contributors merged PRs in this release:
@adamziel
[v2.0.1] (2025-07-23)
Blueprints
- Rewrite paths in the wp-cli step. Improve error reporting. (#2406)
Contributors
The following contributors merged PRs in this release:
@adamziel
[v2.0.0] (2025-07-23)
Enhancements
- [Playground CLI] Improve error reporting. (#2401)
- [Playground CLI] Kebab-case yargs options declarations. (#2399)
Blueprints
- Expose Blueprints v2 runner in Playground CLI. (#2394)
- Extract Blueprint v1-specific parts of Playground CLI. (#2392)
- [Playground CLI] Separate Blueprints v1 and Blueprints v2 code paths. (#2396)
Tools
- [XDebug] Add a mock @php-wasm/xdebug-bridge package. (#2398)
Documentation
- Adding Brazilian Portuguese translation for developer documentation. (#2391)
Website
- [Remote] Use CORS proxy in embedded Playgrounds. (#2369)
Bug Fixes
- CLI: Fix --login option and "landingPage" Blueprint property. (#2344)
Various
- Add Japanese translations to steps and steps shorthands. (#2386)
- Add OPCache support. (#2400)
- [Node] Gracefully handle connection errors in the outbound network proxy. (#2370)
Contributors
The following contributors merged PRs in this release:
@adamziel @fellyph @shimotmk @zaerl
[v1.2.3] (2025-07-21)
Enhancements
- [Playground CLI] Consolidate auto mounting logic. (#2360)
- [Playground CLI] Move mounting code to mount.ts. (#2362)
Blueprints
- [CLI] Move Blueprints v2 to Playground CLI package. (#2364)
Public API
Blueprints
- [Client] Accept wasm.wordpress.net as an official origin. (#2368)
Tools
- Make PHP 8.3 the default version. (#2371)
PHP WebAssembly
- Add
--xdebug
option in php-wasm CLI and wp-playground CLI. (#2346)
Documentation
- Adding Playground CLI page and removing wp-now references. (#2337)
- Adding pt-br About and Launch Page. (#2358)
- Adding three new flags on the CLI README file. (#2325)
- Adding video content in Japanese to resources page. (#2354)
- Updating web instance page documentation. (#2365)
PHP WebAssembly
- [PHP-wasm Node] Remove unused node creation code from createNodeFsMountHandler. (#2379)
- [PHP-wasm] File mounting in NODEFS. (#2338)
- [PHP] Improve error logging. (#2357)
- [PHP] Isomorphic, reusable spawn handler. (#2359)
- [PHP] Refresh the latest PHP versions before recompiling. (#2372)
- [php-wasm/universal] Try require() before dynamic imprt in comlink-sync.ts. (#2363)
Website
- Deploy public web app after WP major/beta update. (#2378)
Bug Fixes
- Allow the WP update and changelog workflows to commit to trunk again. (#2377)
- Fix failing WP update workflows. (#2376)
Various
- Add Japanese translations to Resources References. (#2352)
- Add new logo and open graph image. (#2350)
- Adding Portuguese version for Code Standards, Code, and Documentation.. (#2343)
- Adding new icons and og:Image for the Playground Web instance. (#2367)
- Update Japanese translations to main directory. (#2375)
Contributors
The following contributors merged PRs in this release:
@adamziel @bgrgicak @brandonpayton @fellyph @mho22 @shimotmk
[v1.2.2] (2025-07-14)
Enhancements
- Add --internal-cookie-store option for Playground CLI. (#2323)
Tools
PHP WebAssembly
- [ php-wasm ] Add
xdebug
shared extension to @php-wasm/node ASYNCIFY. (#2326)
Documentation
- Add Japanese translations to Using Blueprints. (#2330)
- Add Japanese translations to Blueprint data Format. (#2340)
- Adding new videos about WordPress Playground. (#2348)
- Translate How to contribute pages to Brazilian Portuguese. (#2329)
- Updating Translation Guide. (#2342)
- Updating slack channel from #meta-playground to #playground. (#2345)
PHP WebAssembly
- Support multiple workers for NODEFS /wordpress mounts – Asyncify. (#2317)
- [PHP] Support non-blocking read streams. (#2339)
Bug Fixes
- Fix: Set an explicit path for docsaurus.config.js. (#2335)
Contributors
The following contributors merged PRs in this release:
@adamziel @brandonpayton @fellyph @mho22 @rollybueno @shimotmk
[v1.0.38] (2025-05-22)
Various
- Revert "[ php-wasm ] add Intl support (#150)". (#154)
- Use the new SQLite driver. (#144)
- [ php-wasm ] Add intl support. (#155)
- [ php-wasm ] Intl : Improve integration. (#159)
- [ php-wasm ] add Intl support. (#150)
- [CLI] Enable users to automatically mount their current working directory into Playground. (#39)
- [PHP-wasm Node] Fix Identifier '__filename' has already been declared. (#143)
- [Website] Support data URLs in blueprint-url query parameter. (#158)
Contributors
The following contributors merged PRs in this release:
@adamziel @bgrgicak @JanJakes @mho22
[v1.0.37] (2025-05-15)
Various
- Define
DB_NAME
constant when it's missing. (#140) - Support limiting files added to self-hosted packages. (#149)
Contributors
The following contributors merged PRs in this release:
@brandonpayton @JanJakes
[v1.0.36] (2025-05-08)
Various
- Document mounting OPFS storage after the boot. (#141)
- QUERY_STRING should default to empty string. (#139)
- Remove null steps that are added. (#135)
- [CLI] Fix package entry point path. (#136)
Contributors
The following contributors merged PRs in this release:
@ashfame @bgrgicak @sejas
[v1.0.35] (2025-05-08)
[v1.0.34] (2025-05-08)
Various
- Document mounting OPFS storage after the boot. (#141)
Contributors
The following contributors merged PRs in this release:
@ashfame
[v1.0.33] (2025-05-08)
Various
- Add MySQL network calls to Asyncify tests. (#108)
- Format the plugin-proxy file. (#127)
- Plugin proxy: Allow all repos from WordPress, Automattic and Woocommerce organizations. (#128)
- QUERY_STRING should default to empty string. (#139)
- Remove null steps that are added. (#135)
- Remove unused dependencies. (#116)
- [CLI] Fix package entry point path. (#136)
- [PHP-wasm Node] Add support for resolving wasm paths in Windows. (#129)
- [PHP-wasm Node] Dynamically mount symlinks. (#125)
Contributors
The following contributors merged PRs in this release:
@adamziel @ashfame @bgrgicak @ingeniumed @sejas
[v1.0.32] (2025-05-06)
Various
- Add MySQL network calls to Asyncify tests. (#108)
- Format the plugin-proxy file. (#127)
- Plugin proxy: Allow all repos from WordPress, Automattic and Woocommerce organizations. (#128)
- Remove unused dependencies. (#116)
- [PHP-wasm Node] Add support for resolving wasm paths in Windows. (#129)
- [PHP-wasm Node] Dynamically mount symlinks. (#125)
Contributors
The following contributors merged PRs in this release:
@adamziel @bgrgicak @ingeniumed
[v1.0.31] (2025-04-29)
Bug Fixes
Various
- Add private fork links to the changelog. (#98)
- Allow public access to A8C Playground instance. (#119)
- Make php-wasm and Playground CLI's fast to run with Node.js. (#107)
- Playground CLI: Add
skipSqliteSetup
flag for MySQL support. (#97) - Prep the WP update workflows to be re-enabled. (#110)
- Support building for additional remote origins. (#122)
- Tweak Blueprint test string to match WP 6.8. (#117)
- Update Nx, Vite, and ESLint dependencies. (#35)
- Upgrade octokit to 3.1.2 to fix vulnerability. (#106)
- Use Node as the Vitest environment. (#96)
Contributors
The following contributors merged PRs in this release:
@bgrgicak @brandonpayton @ivan-ottinger @wojtekn
[v1.0.30] (2025-04-07)
Bug Fixes
- Fix changelog workflow and backfill changelog entries from recent versions. (#83)
Various
- Consider unexpected undefined symbols to be errors. (#86)
- Ignore ca-bundle created by @php-wasm/cli. (#88)
- Support Node.js args to built-script executor. (#92)
- Support quickly testing php-wasm CLI changes with bun. (#85)
- Update Emscripten version to 4.0.5. (#93)
- Update Playground Node version to 20.9.0. (#89)
- Upgrade express to 4.21.2. (#90)
- [PHP-wasm] Use statfs from NODEFS in the Node version. (#94)
Contributors
The following contributors merged PRs in this release:
@bgrgicak @brandonpayton @wojtekn
[v1.0.29] (2025-03-11)
Various
- Blueprint bundles. (#75)
- CORS Proxy: fetch() with credentials: "include". (#66)
- Exif support for PHP-wasm. (#72)
- Remove Data Liberation PHP modules. (#79)
- Stop suppressing 64bit integer PHP warnings as 64bit longs are now suppoted. (#76)
- [Blueprints] setSiteLanguage fetch translation package URL from WP.org. (#81)
- [Website] Drop the static <link rel="manifest"> tag and generate one in JavaScript instead. (#78)
Contributors
The following contributors merged PRs in this release:
@adamziel @bgrgicak
[v1.0.28] (2025-03-05)
Various
- 64bit integer support, drop PHP 7.0 and 7.1 support. (#74)
- FS Journal: Handle renaming OPFS files via delete + create (instead of file.move()). (#64)
- GitHub: Cache node_modules per arch to avoid nx error. (#70)
- Merge from public Playground repo. (#59)
- OPFS site creation: Use the same "is this directory a site?" check as the site list. (#65)
- Stop adding source maps to offline assets list. (#68)
- Support mobile access to private Playground instance. (#73)
- TLS->HTTP Proxy: Support outbound request body. (#61)
- TLS: Only use the server_name extension during server hello. (#62)
- Website: Blueprints as PWAs with a dynamic manifest.json file. (#67)
- Website: Preserve the
mode
query arg when opening OPFS site. (#63)
Contributors
The following contributors merged PRs in this release:
@adamziel @brandonpayton
[v1.0.27] (2025-02-25)
Bug Fixes
- Fix php-wasm build error for WITH_SOURCEMAPS=yes. (#44)
- Fix php-wasm source map base. (#46)
- Fix private website deployment workflow. (#57)
- Fix up private website deployment workflow after initial commit. (#29)
Various
- Add WITH_DEBUG option for building php-wasm with DWARF debug info. (#47)
- Add
janjakes
to GitHub workflows actors. (#33) - Add a dedicated workflow for deploying private playground. (#28)
- Add remote data blocks to the allowlist. (#30)
- Allow ashfame to run self-hosted package release workflow. (#22)
- Allow deploying custom supported domains for CORS proxy. (#54)
- CORS proxy: Make allowed origins configurable. (#43)
- Make further fixes for unreliable end-to-end tests. (#9)
- Move DNS polyfills to a PHP extension and add missing constants. (#27)
- New playground CLI function interface. (#40)
- Replace some hardcoded refs to playground.wordpress.net web app. (#42)
- Restore safety condition for CORS proxy deployment workflow. (#55)
- Revert "Add the launch browser flag to CLI". (#24)
- Revert "Support file URL resources in command line environment". (#41)
- Schedule private deployment and use private environment. (#37)
- Stop assuming CLI stdout is a TTY write stream. (#51)
- Store WordPress site cookies in the browser instead of a custom Cookie Store. (#20)
- Support file URL resources in command line environment. (#34)
- Switch to relative paths in app manifest. (#36)
- Switch to runner with more CPU and RAM. (#45)
- Treat zip files as zip files regardless of file name. (#58)
- Try more Playwright workers since we have a runner with more resources. (#48)
- Update private Playground instance to use dedicated CORS proxy. (#56)
- Use rsync instead of scp in website deploy workflow. (#26)
- Use specified SQLite version also for PHP < 7.4. (#32)
Contributors
The following contributors merged PRs in this release:
@adamziel @bgrgicak @brandonpayton @ingeniumed @JanJakes @zaerl
[v1.0.26] (2025-02-04)
Bug Fixes
- Fix workflow for deploying self-hosted packages. (#6)
Various
Contributors
The following contributors merged PRs in this release:
@ashfame @brandonpayton @zaerl
[v1.0.25] (2025-02-04)
Various
Contributors
The following contributors merged PRs in this release:
@brandonpayton
[v1.0.24] (2025-02-03)
[v1.0.23] (2025-01-27)
[v1.0.22] (2025-01-20)
[v1.0.21] (2025-01-13)
Enhancements
- [Data Liberation] Add EPub to Blocks converter. (#2097)
- [Data Liberation] Block markup consumers and producers. (#2121)
- [Data Liberation] Filesystem entity reader. (#2125)
- [Data Liberation] Recognize self-closing blocks in WP_Block_Markup_Processor. (#2120)
- [Data Liberation] Refactor Entity Readers class diagram. (#2096)
PHP WebAssembly
- PHP 8.4 support. (#2038)
- Rewrote fileToUint8Array function to be also NodeJS/Deno compatible. (#2117)
- [PHP] Restore /internal files and Filesystem mounts after hotswapPhpRuntime is called. (#2119)
Bug Fixes
- [CORS Proxy] Support chunked encoding when running in Apache/Nginx/etc. (#2114)
Contributors
The following contributors merged PRs in this release:
@adamziel @mbuella
[v1.0.20] (2025-01-06)
Website
- Avoid login issue in deployment end-to-end tests. (#2065)
Contributors
The following contributors merged PRs in this release:
@brandonpayton
[v1.0.19] (2024-12-30)
[v1.0.18] (2024-12-23)
Enhancements
- [Data Liberation] Add HTML to Blocks converter. (#2095)
- [Data Liberation] Add Markdown parsing libraries. (#2092)
- [Data Liberation] Build markdown importer as phar. (#2094)
- [Data Liberation] Move Markdown importer to a separate package. (#2093)
Blueprints
- Prevent WSOD when autologin is enabled and a plugin logs a notice. (#2079)
Tools
GitHub integration
- [Website] GitHub export modal: Correctly compute the root path when exporting the entire site. (#2103)
Website
- Enable separate source maps for all package builds. (#2088)
Bug Fixes
- Fix README.md typos. (#2091)
Various
- Add small comment about lazy init of WXR reader. (#2102)
- [Blueprints] Prevent plugin activation error if plugin redirects during activation or produces an output. (#2066)
Contributors
The following contributors merged PRs in this release:
@adamziel @bgrgicak @brandonpayton @zaerl
[v1.0.17] (2024-12-17)
Tools
Blueprints Builder
- Use transparent CORS proxy in Blueprint Builder. (#2089)
PHP WebAssembly
- Build
@php-wasm
packages as dual ESM + CJS. (#2087)
- Add ESLint rule to avoid unintentional dependency on @wp-playgrounds/wordpress-builds. (#2048)
Contributors
The following contributors merged PRs in this release:
@adamziel @brandonpayton
[v1.0.16] (2024-12-16)
Enhancements
- Allow Authorization header pass-through with X-Cors-Proxy-Allowed-Request-Headers. (#2007)
- [Cors Proxy] Support Transfer-Encoding: Chunked. (#2077)
- [Website] Enable CORS proxy for all fetches. (#2076)
Tools
Blueprints
- [Blueprints] Preserve the first char of all filenames sourced from GitDirectoryReference. (#2070)
Import/Export
- [Blueprints] Support Data Liberation importer in the importWxr step. (#2058)
PHP WebAssembly
Website
- [Webiste] Switch the CORS Proxy URL to wordpress-playground-cors-proxy.net. (#2074)
Website
- Bugfix: Delist data-liberation-core.phar from the preloaded offline mode assets. (#2072)
- Don't show the error reporting modal on the initial load. (#2068)
- Prevent the initial flash of "You have no Playgrounds" message. (#2069)
- Remove old PR preview HTML files and add redirects to new preview modals. (#2081)
Internal
- [Meta] Remove GitHub Board Automation workflow. (#2073)
Bug Fixes
- Temporary: Skip more CI-only deployment test failures. (#2071)
Various
- Ensure that Site Editor templates are associated with the correct taxonomy. (#1997)
- PR Preview: Document and simplify targetParams. (#2052)
- Revert "Remove old PR preview HTML files and add redirects to new preview modals". (#2082)
Contributors
The following contributors merged PRs in this release:
@adamziel @ajotka @akirk @brandonpayton @maxschmeling
[v1.0.15] (2024-12-09)
Enhancements
- Shorten and simplify path to CORS proxy. (#2063)
- Support users choosing how to handle URLs for sites that do not exist. (#2059)
Tools
GitHub integration
- Add zaerl to GitHub workflows actors. (#2041)
PHP WebAssembly
- [Networking] Decrypt TLS 1.2 alert messages. (#2060)
Website
- Fix CORS proxy deploy workflow. (#2049)
- Nightly build bugfix – ship the actual nightly build, not the latest release. (#2056)
- Remove duplicate "Saved Playgrounds" label. (#2044)
Various
- Add deploy workflow for standalone CORS proxy. (#2022)
- Restore CORS support to CORS proxy. (#2023)
- [Data Liberation] "Fetch from a different URL" button for failed media downloads, Interactivity API support. (#2040)
- [Data Liberation] Sync WP_HTML API with WordPress 6.7.1 (and add a new test). (#2062)
Contributors
The following contributors merged PRs in this release:
@adamziel @bgrgicak @brandonpayton @zaerl
[v1.0.14] (2024-12-02)
Blueprints
- Resolve the latest WordPress version from the API instead of assuming it's the same as the last minified build. (#2027)
Tools
Blueprints Builder
- Add installPlugin support for single plugin files. (#2033)
PHP WebAssembly
- Networking: Preserve the content-type header when fetch()-ing. (#2028)
Website
- [Web] Re-enable wp-cron. (#2039)
Various
- [Data Liberation] WP_Stream_Importer: User-driven incremental import. (#2013)
Contributors
The following contributors merged PRs in this release:
@adamziel @brandonpayton
[v1.0.13] (2024-11-25)
Enhancements
- E2E: Disable a flaky deployment test. (#2016)
- [Data Liberation] Add WXR import CLI script. (#2012)
- [Data Liberation] Re-entrant WP_Stream_Importer. (#2004)
- [Data Liberation] wp-admin importer page. (#2003)
Blueprints
- SetSiteLanguage step – download the latest RC translations for Nightly and Beta builds of WordPress. (#1987)
- Use the major WordPress version to download RC/beta translations. (#2017)
Tools
Pull Request Previewer
- Fix path of PR preview URL in production. (#2014)
- Support submitting PR preview modal with ENTER key. (#2015)
Website
- Move WordPress & Gutenberg PR Preview to Playground website. (#1938)
- Restore basic element styles for modal dialog content. (#2021)
Bug Fixes
- Fix test.md link. (#2005)
Various
- [Data Liberation] WP_Stream_Importer with support for WXR and Markdown files. (#1982)
Contributors
The following contributors merged PRs in this release:
@adamziel @ajotka @bgrgicak @brandonpayton @StevenDufresne @zaerl
[v1.0.12] (2024-11-18)
Website
- [Service Worker] Support redirects to relative URLs in Safari. (#1978)
Blueprints
- [Query API] Use the exact redirect URL provided in the ?url= query param. (#1945)
Contributors
The following contributors merged PRs in this release:
@adamziel @bgrgicak
[v1.0.11] (2024-11-11)
[v1.0.10] (2024-11-08)
Enhancements
- [CLI] Set debug constants during boot. (#1983)
Bug Fixes
- [CLI] Restore the "login" argument handler. (#1985)
Contributors
The following contributors merged PRs in this release:
@bgrgicak
[v1.0.9] (2024-11-04)
Enhancements
- [Data Liberation] Fork humanmade/WordPress-Importer. (#1968)
- [Data Liberation] Merge both XML processors into a single WP_XML_Processor. (#1960)
- [Data liberation] Add blueprints-library as a submodule. (#1967)
Tools
Import/Export
- [Data Liberation] WP_WXR_Reader. (#1972)
Documentation
- Rewrite clone examples to use HTTPS instead of SSH. (#1963)
Website
- Consistent width of settings, logs, and blueprint gallery sidebars. (#1964)
Bug Fixes
- Fix: Import & Export from Github causes reloading the playground even before accept this step. (#1908)
- [WordPress build] Only build the latest patch version of WordPress. (#1955)
Contributors
The following contributors merged PRs in this release:
@adamziel @ajotka @bgrgicak
[v1.0.8] (2024-10-30)
Enhancements
- [Data liberation] wp_rewrite_urls(). (#1893)
PHP WebAssembly
- [PHP.wasm for Node] Fix php.js import path in the published npm package. (#1958)
Website
- Restore .d.ts files missing from the published @wp-playground/remote npm package. (#1949)
Various
- [Data Liberation] Add XML API, Stream API, WXR URL Rewriter API. (#1952)
Contributors
The following contributors merged PRs in this release:
@adamziel @psrpinto
[v1.0.7] (2024-10-28)
[v1.0.6] (2024-10-28)
Website
- Query API: Preserve multiple ?plugin= query params. (#1947)
- [Remote] Enable releasing @wp-playground/remote by making it public. (#1948)
Contributors
The following contributors merged PRs in this release:
@adamziel @bgrgicak
[v1.0.5] (2024-10-25)
Enhancements
- [CORS Proxy] Rate-limits IPv6 requests based on /64 subnets, not specific addresses. (#1923)
Blueprints
- Reload after autologin to set login cookies during boot. (#1914)
- Skip empty lines in the runSql step. (#1939)
Documentation
- Clarified wp beta to also include rc version. (#1936)
PHP WebAssembly
- Enable CURL in Playground Web. (#1935)
- PHP: Implement TLS 1.2 to decrypt https:// and ssl:// traffic and translate it into fetch(). (#1926)
Website
- Hide Settings menu after clicking "Restore from .zip. (#1904)
- Publish @wp-playground/remote (types only). (#1924)
Bug Fixes
- CORS Proxy: Index update_at column because it is used for lookup. (#1931)
- CORS Proxy: Reject targeting self. (#1932)
- Docs: Fix typo. (#1934)
- Explicitly request no-cache to discourage WP Cloud from edge caching CORS proxy results. (#1930)
- Remove test code added in #1914. (#1928)
Contributors
The following contributors merged PRs in this release:
@adamziel @ajotka @bgrgicak @bph @brandonpayton @ockham @psrpinto
[v1.0.4] (2024-10-21)
Enhancements
- Support CORS proxy rate-limiting. (#1879)
Blueprints
- Allow multisites to load wp-admin pages with the landingPage attribute. (#1913)
Tools
GitHub integration
- Blueprints: Use
?
instead of/
to CORS Proxy URLs. (#1899)