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.
[v3.0.39] (2026-01-07)
PHP WebAssembly
- [CLI] Fix __dirname not defined error in intl extension. (#3094)
Various
- Gujarati translation: For-plugin-developers documentation. (#3091)
Contributors
The following contributors merged PRs in this release:
@brandonpayton @iamsohilvahora
[v3.0.38] (2026-01-06)
[v3.0.37] (2026-01-06)
PHP WebAssembly
- [PHP] Refactor files following up on split PHP.wasm packages. (#3085)
Bug Fixes
- Exclude wordpress-builds/public path in dependabot. (#3088)
Various
- Update
expressdependency to 4.22.0 to fixqssecurity issue. (#3089) - [i18n] Docs: Add Bengali translation for contributor-day-table-lead.md. (#3087)
Contributors
The following contributors merged PRs in this release:
@mho22 @noruzzamans
[v3.0.36] (2026-01-05)
[v3.0.35] (2025-12-29)
PHP WebAssembly
- [PHP] Use platform: "browser" in esbuild configuration for web builds. (#3083)
Internal
- [PHP] Remove unnecessary createRequire() banner from the remaining builds. (#3081)
Various
- [i18n] Translate code md to bangla. (#3082)
- [i18n] ja translations developer architecture PHP.js JavaScript module. (#3080)
Contributors
The following contributors merged PRs in this release:
@adamziel @noruzzamans @shimotmk
[v3.0.34] (2025-12-24)
PHP WebAssembly
- [PHP] Enable dynamic-import for published CJS packages. (#3077)
- [PHP] Remove unnecessary createRequire() from @php-wasm/web build scripts. (#3076)
Website
- Add quick navigation popover to address bar. (#3070)
- Add standalone playground block demo page. (#3071)
Internal
- [CI] Extract npm package integration tests to reusable scripts. (#3078)
Contributors
The following contributors merged PRs in this release:
@adamziel
[v3.0.33] (2025-12-22)
Website
- Add save status indicator to the toolbar. (#3067)
Contributors
The following contributors merged PRs in this release:
@adamziel
[v3.0.32] (2025-12-18)
PHP WebAssembly
- [PHP] Split php-wasm packages into per-PHP-version packages. (#3062)
Website
- Await the iframe load event in
playground.goTo(). (#3066) - Skip WordPress installation when WordPress files already exist. (#3065)
Contributors
The following contributors merged PRs in this release:
@adamziel
[v3.0.31] (2025-12-17)
[v3.0.30] (2025-12-17)
Documentation
- Rephrase Opcache module injection comments. (#3053)
PHP WebAssembly
- [ Intl ] Parallelize memoizedFetch methods when enabling Intl in PHP.wasm web. (#3058)
Bug Fixes
- Update package lock files in WordPress builds themes to fix current security issues. (#3057)
Contributors
The following contributors merged PRs in this release:
@mho22
[v3.0.29] (2025-12-17)
Tools
- Add WordPress Playground DevTools browser extension. (#3056)
Website
- Use a kapa.ai widget for blueprint error troubleshooting. (#2987)
Internal
- Add CI workflow to build and release the DevTools extension. (#3059)
Contributors
The following contributors merged PRs in this release:
@adamziel @akirk
[v3.0.28] (2025-12-17)
[v3.0.27] (2025-12-16)
Internal
- [Meta] Normalize ws package version override in package.json. (#3055)
Contributors
The following contributors merged PRs in this release:
@adamziel
[v3.0.26] (2025-12-16)
[v3.0.25] (2025-12-16)
Website
- Blueprint Editor: Update the URL when typing. (#2959)
Bug Fixes
- Fix npm trusted publisher by upgrading to Lerna 9 and npm 11.5.1+. (#3052)
Various
- [CI] Fix flaky end-to-end test for blueprint share button. (#3051)
- [CI] Restore GH_TOKEN for pushing to protected branch. (#3049)
Contributors
The following contributors merged PRs in this release:
@adamziel
[v3.0.24] (2025-12-16)
Website
- Target temporary Playground in Import ZIP, Import from GitHub. Don't overwrite a saved site. (#2990)
Internal
- [CI] Enable trusted publisher-based publishing. (#3048)
Contributors
The following contributors merged PRs in this release:
@adamziel
[v3.0.23] (2025-12-16)
Enhancements
- Improve variable name and simplify comment in Document-Isolation-Policy rewriter. (#3044)
- [CLI] Define CLI --flags for each command individually. (#2930)
- [CLI] Explore spawning new OS processes in CLI spawnProcess. (#3001)
- [CLI] Readable commands help message. (#2927)
- [CLI] SinglePHPInstanceManager, spawn OS subprocesses in the spawn handler in Blueprint V2 worker. (#3004)
- [CLI] Support TERM=dumb. (#2929)
Blueprints
- Don't treat extra output during plugin activation as a failure. (#2904)
- Preserve more error information on failed fetch. (#2946)
- Support multiline SQL queries in the runSql step. (#2928)
- Updated
runPHPWithOptionsexample. (#2986) - [ Intl ] Implement Intl in blueprints. (#2979)
Tools
- Correct issues related to unsupported parameter property in strip-only mode. (#2945)
- [ xdebug ] Add
--experimental-unsafe-ide-integrationoption in PHP.wasm CLI. (#2947)
PHP WebAssembly
- [ Intl ] Implement Intl in Playground CLI. (#3011)
- [ php-wasm ] Disable profiling data file generation at runtime. (#2998)
- [PHP] Add php-wasm-cli smoke test for proc_open in CI. (#3013)
- [PHP] Require explicit spawn handler for process spawning. (#3008)
GitHub integration
- Add
mho22to GitHub workflows actors. (#3046) - Update Lerna from 6.6.2 to 7.1.3 in order to run Release NPM packages Github Action. (#3038)
- [Website] Add support for private github repos via git:Directory. (#2856)
Blueprints
- [Blueprint Editor] Add multiline string editor modal. (#2962)
- [Blueprint editor] Blueprint Validation. (#2967)
Blueprints Builder
- [Website] Add "Copy link" button to Blueprint editor. (#3029)
Website
- [Website] Blueprint bundle editor. (#2942)
Documentation
- Removed trailing space contained within link text. (#2911)
- [Docs] Adding blueprints meta info reference. (#3026)
- [Docs] Document how to use Playground CLI as a developer. (#2925)
- [Docs] Move XDebug IDE integration closer to the top, explain the DevTools workflow is highly exploratory. (#2975)
- [Docs] Updating repository preview info. (#2890)
- [Docs] Use pull_request_target in the GitHub action PR Preview doc page. (#2915)
- [docs] Removing GitHub proxy references. (#3009)
- [docs] Updating resource page. (#3003)
- [i18n] ja translations developer architecture. (#3000)
Experiments
GitHub integration
- [ playground-storage ] Add
vite-plugin-dtsto Playground Storage. (#3035)
Website
- [ Vite ] Regroup
ignore-*-importsVite plugin inside a vite-extension. (#2999)
File Synchronization
- [Website] fs-journal: Replace recursion with a loop to stop exceeding the call stack. (#2912)
PHP WebAssembly
- Add file locking integration tests for php-wasm/node. (#2908)
- Follow up on PHP 8.5 - Post process with wasm-opt in dynamic extensions. (#3017)
- PHP 8.5 support. (#2950)
- Remove custom processManager support in PHPRequestHandler. (#3005)
- [ Vite ] Regroup
preserve-*-loaders-importsVite plugin inside a vite-extension. (#3002) - [ php-wasm ] Add
intldynamic extension to @php-wasm/web. (#2591) - [ php-wasm ] Remove static
intlextension artifacts. (#2970) - [PHP WASM] Transfer ArrayBuffer instead of cloning in PHPResponse serialization. (#3036)
- [PHP web] Remove runtimes from internal map after initialization to prevent memory leaks. (#3023)
- [PHP.wasm] Upgrade emscripten version from 4.0.5 to 4.0.19. (#2910)
- [PHP] Move setImmediate polyfill to loadWebRuntime. (#3024)
- [PHP] Upgrade GD to 2.3.3. (#2944)
Website
- Blueprint editor. (#2815)
- Correct out of memory issue. (#3021)
- Enforce HTTPS in fetchWithCorsProxy(). (#2901)
- Rewrite COEP/COOP headers as Document-Isolation-Policy in supporting browsers. (#3028)
- Deprecate github-proxy.com with automatic migration to native resources. (#3007)
- Improve error reporting. (#2874)
- Move dynamic extension files in assets/extensions directory. (#2984)
- MySQL admin tool improvements. (#2971)
- Prevent Query API defaults from overriding login info provided by the Blueprint. (#2871)
- Replace WordPress nightly with trunk. (#2916)
- Saved Playgrounds overlay redesign. (#2985)
- Stop CSP frame-ancestors from breaking embedded Playgrounds. (#2980)
- Updating Run Blueprint button. (#2953)
- [Analytics] Track install and error events. (#1984)
- [Blueprints] Detect network firewall interference during requests. (#3031)
Blueprints
- Rewrite scoped URLs when importing a Playground export. (#2989)
Internal
- Add .orig and .rej files to .gitignore for patching leftovers. (#2981)
- Disable nx cache. (#2941)
- Inject Playground commit ID to the built index.html. (#2918)
- [CI] Explore fixing two notoriously flaky tests. (#2935)
- [CI] Fix flaky API documentation end-to-end test. (#2963)
- [CI] Preserve artifacts from failed API documentation end-to-end tests. (#2960)
- [CI] Rebalance unit test groups. (#2933)
- [CI] Reduce CLI log output in CI jobs. (#2934)
- [CI] Speed up end-to-end tests. (#2961)
- [CI] Stabilize flaky CI tests. (#2931)
- [Website] Fix flaky phpMyAdmin test. (#2977)
Bug Fixes
- Fix SQLite plugin logging to respect skip option. (#2924)
- Fix
runPHPWithOptionsdemo. (#2978) - [Docs] Fix API reference. (#2905)
- [Docs] Fix documentation site build failures. (#2913)
- Xdebug ] Relocate
xdebuginto shared library directory. (#3045)
Various
- Add
SQLITE_ENABLE_COLUMN_METADATAand update SQLite. (#2948) - Add file locking tests for Playground CLI. (#2920)
- Add non-blocking F_SETLKW based on F_SETLK. (#2972)
- [Blueprints] Add dispose functions in afterEach hooks in tests. (#2921)
- [Docs] Updating the resource page and adding new playground videos. (#2914)
- [Storage] Fix fileExists() to return true for directories. (#2968)
- [Storage] Require explicit recursive flag for mkdir (and tweak the semantics of writeFile and listFiles). (#2969)
- [Website] Database panel with Adminer & phpMyAdmin. (#2926)
- [i18n] Add contributor day leadership guide in Portuguese. (#2995)
- [i18n] complete pt_br translation of blueprints documentation. (#3015)
- [i18n] ja translations developer architecture WebAssembly PHP and Compiling PHP. (#3033)
- i18n: Full Translation of "For Plugin Developers" to Spanish. (#2900)
- i18n: Minor fixes on resources.md Spanish translation. (#2898)
Contributors
The following contributors merged PRs in this release:
@adamziel @akirk @andr3ribeiro @bgrgicak @brandonpayton @epeicher @fellyph @JanJakes @jeffpaul @mho22 @shimotmk @SirLouen @Utsav-Ladani @wojtekn
[v3.0.22] (2025-11-17)
Enhancements
Boot Flow
- [Boot] Verify permalink structure is actually set. (#2902)
Blueprints
- V1] Rewrite github.com/owner/repo/raw URLs. (#2892)
Documentation
- Document the new GitHub Preview button action. (#2893)
- [Docs] Adding link at the documentation sidebar for PR preview link page. (#2895)
- [Docs] Documentation Expansion for php-wasm/node. (#2780)
- [Docs] Updating sidebar to add Xdebug pages. (#2881)
PHP WebAssembly
- Try avoiding URL.canParse for older version of Safari. (#2887)
Website
- Remove "preview WordPress core branch" feature. (#2894)
- Support previewing WordPress and Gutenberg branches, not just PRs. (#2868)
Bug Fixes
- [CLI] Fix null and "latest" WP version resolution and improve unzip error message. (#2889)
- [CLI] Fix run-cli leak which was revealed by repeated runCLI() calls during test. (#2888)