[v0.7.20] (2024-05-21)
Breaking Changes
- [Breaking] Refactor PHP.ini management, remove php.setPhpIniPath() and php.setPhpIniEntry(). (#1423)
Enhancements
- CLI: Distinguish between mount and mountBeforeInstall options. (#1410)
- CLI: Support fetching WordPress zips from custom URLs. (#1415)
- Introduce a new @wp-playground/common package to avoid circular depencies. (#1387)
- Website: Ship the SQLite database integration plugin. (#1418)
Boot Flow
- Playground CLI: Don't create /wordpress/wp-config.php on boot. (#1407)
Blueprints
- Define constants in auto_prepend_file, silence warnings related to redefining those constants. (#1400)
- Detect silent failures when activating plugins and theme. (#1436)
- Re-activate single-file plugins when enabling a multisite. (#1435)
- Throw an error when activating a theme or plugin that doesn't exist. (#1391)
- Write sunrise.php to /internal in enableMultisite step. (#1401)
Tools
- Add VSCode branch protection. (#1408)
- Show error log if Playground fails to start. (#1336)
Blueprints
- Unzip: Only delete a temporary zip file after unzipping, do not delete the original zip. (#1412)
GitHub integration
- GitHub export: Create new commits in your fork when writing to the upstream repo isn't allowed. (#1392)
Import/Export
- Support wp_crop_image in import wxr. (#1357)
Devrel
Documentation
- Docs: Use step function names instead of TypeScript type names. (#1373)
- Updated the GitHub issue link to open in a new tab. (#1353)
- Use step id name. (#1377)
Experiments
- Explore: Setup SQLite database integration without creating wp-content/db.php. (#1382)
PHP WebAssembly
- Add shareable extension-to-MIME-type mapping. (#1355)
- Document php ini functions. (#1430)
- JSPI: Enable the origin trial on Chrome. (#1346)
- PHP: Add libjpeg and libwebp support. (#1393)
- PHP: Always set the auto_prepend_file php.ini entry, even when the auto_prepend_file.php file exists. (#1388)
- PHP: Move internal shared directories to /internal/shared. (#1386)
- PHP: Remove mentions of a custom PHP extension. (#1422)
- PHP: Remove the MODE_EVAL_CODE execution mode. (#1433)
- PHP: Support php.mv() between devices via recursive copy. (#1411)
- PHP: Use /internal/shared/php.ini by default. (#1419)
- PHP: Use auto_prepend_file to preload mu-plugins (instead of creating them in wp-content/mu-plugins). (#1366)
Website
- Improve log modal styles, a11y, error message wording. (#1369)
- Move puzzle app to a Playground package. (#1385)
- Add secrets on-demand for more endpoints. (#1362)
- Boot: Move WordPress zip extraction logic to a common unzipWordPress() utility. (#1427)
- Derive MIME types for PHP served files from shared JSON. (#1360)
- Fix constant names for GH export oauth. (#1378)
- Playground Boot: Align the boot process between remote.html and CLI. (#1389)
- Remote.html: Install WordPress if it isn't installed yet. (#1425)
- Remote.html: Preload the SQLite database plugin, but only execute it if there's no custom db.php inside wp-content. (#1424)
- Simplify website deployment workflows. (#1404)
- Update rsync command to clean up more completely. (#1361)
Blueprints
- Provide non-gzipped wp-cli.phar file with website build. (#1406)
- Simplify runPhpWithZipFunctions() setup. (#1434)
Internal
- Fix changelog automation. (#1413)
Bug Fixes
- Add name to Puzzle package. (#1443)
- Fixed images not loading on the page. (#1352)
- Restore nightly wordpress build. (#1437)
Reliability
- Disable console logging when running tests. (#1368)
- Lint: Disable console warnings for paths where they're not useful. (#1421)
Various
- Add links to kitchen sink (PHP extensions), networking. (#1363)
- Reorganize and update documentation. (#1354)
Contributors
The following contributors merged PRs in this release:
@adamziel @bgrgicak @brandonpayton @flexseth @ironnysh @josevarghese