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.1.50] (2026-08-17)
Experiments
PHP WebAssembly
- [PHP-WASM] Add shared Base64 helpers. (#3726)
PHP WebAssembly
- Persist pooled PHP writes to saved sites. (#4260)
- [Website] Add captured mail viewer. (#4000)
- [Website] Forward captured sendmail messages. (#4103)
Contributors
The following contributors merged PRs in this release:
@ashfame @bgrgicak
[v3.1.49] (2026-08-10)
Documentation
- [docs] Correct "Open AI" branding to "OpenAI". (#4245)
Website
- Add lightweight saved-site export API. (#4219)
- Configure saved-site export API deployment. (#4220)
- End-to-end Test for api.html site export. (#4231)
- Explain the saved-site export API page. (#4233)
- Hide incomplete autosaves from recovery. (#4244)
- Prevent storage end-to-end retries from canceling CI. (#4249)
Bug Fixes
- Fix doc screenshots skill Markdown. (#4239)
Contributors
The following contributors merged PRs in this release:
@amitraj2203 @ashfame @brandonpayton
[v3.1.48] (2026-08-03)
Documentation
- Support wildcard CORS proxy origins. (#4156)
- [Docs] Document the Playground Dock and persistence workflow. (#4081)
- [docs] Add doc-screenshots agent skill and regenerate documentation screenshots for the new UI. (#4124)
- [docs] Adding WASM PHP modules page. (#4010)
PHP WebAssembly
- [CLI] Fix concurrent SQLite stress fixture length. (#4189)
- [PHP-WASM] Ignore null iframe relay messages. (#4174)
- [PHP-WASM] Include dot entries in mounted directory scans. (#4222)
- [PHP-WASM] Route Window APIs through dedicated MessagePorts. (#4178)
- [Website] Display ZIP import progress. (#4176)
Website
- Hide Blueprint file browser toggle on desktop. (#4197)
- Keep ZIP drop listeners active through rerenders. (#4214)
- Label mobile Blueprint file explorer as Files. (#4181)
- Start a fresh Playground after interrupted OPFS sync. (#4177)
- Center the Dock refresh button between the frame and URL field. (#4225)
- Center the mobile Dock refresh button between the edge and URL field. (#4226)
- Close Site Settings when a submission starts. (#4201)
- Don't delete the Playground you're currently in. (#4187)
- Drop the Dock operation toast to the Dock only when the pane leaves no room. (#4212)
- Keep Blueprint loading status visible during filesystem setup. (#4205)
- Keep Dock focus rings inside tool buttons. (#4182)
- Keep ZIP reimports from reusing stored Playground slugs. (#4199)
- Keep autosaves running after switching Playgrounds. (#4196)
- Keep the ZIP drop overlay active over frames. (#4179)
- Label the current Playground storage state. (#4194)
- Map Playground chrome colors to the WordPress palette. (#4191)
- Match the URL field height to adjacent controls. (#4203)
- Refer to the current Playground in fresh-site settings. (#4198)
- Restore the Dock when a drag loses pointer capture. (#4216)
- Reuse MenuItem descriptions for contextual action hints. (#4193)
- Separate Blueprint warnings and errors and preserve rounded Dock panes. (#4097)
- Separate Playground storage status from save actions. (#4192)
- Show ZIP import notices while autosave continues in background. (#4195)
- Support filtered saved-site ZIP exports. (#4217)
- Surface Blueprint editor action feedback in the Dock toast. (#4143)
- [CI] Reclaim Cypress browser memory between Playground boots. (#4204)
- [Docs] Route Playground guides through Dock workflows. (#4082)
Blueprints
- Preserve auto-login across browser-stored Playground reopens. (#4185)
Internal
- [CI] Compare affected tasks with the last successful run. (#4190)
Various
- [Website] Increase mobile Files heading to 18px. (#4188)
Contributors
The following contributors merged PRs in this release:
@adamziel @ashfame @fellyph
[v3.1.47] (2026-07-27)
Documentation
PHP WebAssembly
- [Blueprints] Make WordPress file imports failure-safe. (#3848)
- [Blueprints] Report ZIP extraction progress during WordPress imports. (#4168)
Website
- [Website] Fix phpMyAdmin page not found in Personal WP. (#4154)
Website
- Clarify New Playground and autosave failure states. (#4119)
- Add front-page thumbnails to saved Playgrounds. (#4133)
- Bind copied Blueprint bundles to their new Playground. (#4115)
- Detect the repository for pull request numbers. (#4120)
- Distinguish 404 errors from transient network failures. (#4114)
- Expose front-page thumbnail capture through PlaygroundClient. (#4142)
- Fix phpMyAdmin after opening Adminer. (#4144)
- Give failed Blueprint runs an explicit recovery path. (#4099)
- Import ZIP contents before initial browser persistence. (#4131)
- Keep unfinished Blueprint runs out of Recent and restore suggestions. (#4127)
- Log OPFS write worker failures. (#4125)
- Make desktop address suggestions clickable and input-width. (#4135)
- Preserve Blueprint recovery through GitHub authentication. (#4129)
- Preserve Playground records when OPFS deletion fails. (#4128)
- Preserve concurrent cross-tab metadata changes. (#4152)
- Preserve concurrent metadata while preparing Blueprint drafts. (#4116)
- Preserve plugin proxy default response headers. (#4157)
- Preserve selected Query API parameters when starting over after an error. (#4123)
- Prevent stale thumbnail captures from overwriting saved metadata. (#4167)
- Queue Blueprint Run during OPFS synchronization. (#4118)
- Remove stray plugin proxy expression. (#4158)
- Replace failed Blueprint runs before pruning autosaves. (#4134)
- Retry transient OPFS access handle contention. (#4149)
- Serialize concurrent OPFS metadata writes. (#4136)
- Share concurrent OPFS autosave operations. (#4140)
- Track Blueprint runs until their first OPFS copy succeeds. (#4126)
- Turn the Logs pane into a PHP error log. (#4122)
- Tweak confirmations copy and placement. And preserve the Playground URL through settings update. (#4150)
- Validate plugin proxy redirect destinations. (#4137)
Blueprints
- Accept ZIP drops across the page. (#4121)
- Reveal ZIP imports while their browser autosave finishes. (#4132)
- [Blueprints] Export and import all site files except Playground runtime files. (#4141)
- [Blueprints] Export complete versioned Playground ZIP snapshots. (#4139)
- [Blueprints] Import versioned ZIP user content while retaining legacy defaults. (#4130)
Contributors
The following contributors merged PRs in this release:
@adamziel @ashfame @brandonpayton @fellyph