WordPress Playground removes support for PHP 7.2 and 7.3

WordPress Playground no longer supports PHPPHP PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. https://www.php.net/manual/en/index.php 7.2 and 7.3. The minimum PHP version is now 7.4.

Your existing Blueprints will continue to work. If a Blueprint requests PHP 7.2 or 7.3, Playground automatically upgrades it to PHP 7.4 and displays a warning. No action is required, but you should update your Blueprints when convenient.

Why now?

Three factors drove this decision:

  • WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. is moving forward. WordPress 7.0 (releasing April 2026) drops support for PHP 7.2 and 7.3. These versions now power less than 4% of WordPress sites combined—well below the 5% threshold the project uses for version support decisions.
  • These versions don’t work reliably in Playground. PHP 7.2 crashes after a minute or two of use. PHP 7.3 runs noticeably slower than newer versions. These issues existed for months without user reports, confirming low adoption.  Also, they don’t seem to work with the PROXYFS mmap implementation. 
  • Maintenance takes time away from improvements. Supporting older PHP versions requires workarounds that delay features everyone can use—like fixing the intl extension crash.

What you need to do

For most users: nothing. Playground handles the migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. automatically. Blueprint compilation requires PHP 7.4 or later; a warning will be displayed to remove it and update your Blueprint to load a supported version. If you are using the modular loaders, versions 7.2 and 7.3 will not receive updates.

Supported PHP versions

Playground now supports PHP 7.4 through PHP 8.5:

VersionStatus
PHP 7.4Supported (minimum)
PHP 8.0Supported
PHP 8.1Supported
PHP 8.2Supported
PHP 8.3Supported (recommended)
PHP 8.4Supported
PHP 8.5Supported

Use latest In your Blueprint, always get the most recent stable PHP version.

Timeline

This change takes effect immediately in WordPress Playground. The automatic upgrade ensures backward compatibility—your existing Blueprints won’t break.

WordPress Core follows in April 2026 with WordPress 7.0, which sets PHP 7.4 as the minimum required version.

Questions?

Reach out in the #playground channel on WordPress.org Slack or open a GitHub issue.

A Lighter, More Modular WordPress Playground: Understanding the php-wasm Package Split

PHPPHP PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. https://www.php.net/manual/en/index.php WASM now supports individual packages for each PHP version from 7.4 through 8.5. All old code still works, but if you want to save bandwidth, you can now use a specific PHP WASM version package.

The Architecture: Universal, Loaders, and Builds

@php-wasm/universal is the coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. package that powers both Node.js and browser environments. Here’s how it fits:

  • @php-wasm/universal: This is the “brain.” It contains everything familiar to both Node.js and the browser, managing the filesystem, handling .ini entries, and defining the core PHP class.
  • @php-wasm/node / @php-wasm/web: These are the “loaders.” They handle the environment-specific setup (like loading the WASM file from disk in Node vs. fetching it in the browser) and pass it to the universal core.

The Challenge: Hitting the Ceiling

When you install @php-wasm/node, you get everything: the runtime tools plus WebAssembly binaries for every supported PHP version. As we expanded support from PHP 7.4 to 8.5, this bundle became so big that the WebAssembly binaries exceeded npm’s 100 MB size limit.

To solve this, we split the PHP versions from the “heavy lifting”:

  • The Tools: The main packages (@php-wasm/node and @php-wasm/web) still work as usual.
  • The Builds: We separated the binaries into dedicated packages like @php-wasm/node-8.4 or @php-wasm/web-8.5 for lightweight solutions.

With this split, you download only the PHP versions you need—saving bandwidth and disk space for your applications.

Seeing it in Action

This modularity produces consistent code across Node.js and browser environments.

Classic Way (via @php-wasm/web)

Here is how you initialize PHP for the Web using the classic structure:

npm install @php-wasm/web
import { PHP } from '@php-wasm/universal';
import { loadWebRuntime } from '@php-wasm/web';

const php = new PHP(await loadWebRuntime('8.4'));

const response = await php.runStream({ code: `<?php echo "Hello World";` });
console.log(await response.stdoutText);

This approach handles Xdebug, emscriptenOptions, and other advanced features automatically.

Version-Specific Way (via @php-wasm/web-8-4)

For maximum control and minimal dependencies, use the version-specific package directly:

npm install @php-wasm/web-8-4
import { PHP, loadPHPRuntime } from "@php-wasm/universal";
import { getPHPLoaderModule } from "@php-wasm/web-8-4";

const loaderModule = await getPHPLoaderModule();
const runtimeId = await loadPHPRuntime(loaderModule);
const php = new PHP(runtimeId);

const response = await php.runStream({ code: `<?php echo "Hello World";` });
console.log(await response.stdoutText);

This approach bypasses @php-wasm/web entirely, making it perfect for lightweight applications. However, if you need Xdebug or custom emscriptenOptions, you’ll need to configure them manually.

In both cases, @php-wasm/universal provides the standard PHP class that orchestrates execution, while the version-specific package provides a lighter bundle and lower disk usage.

Same Pattern for Node.js

The same approaches work for Node.js—just swap @php-wasm/web for @php-wasm/node:

import { PHP } from '@php-wasm/universal';
import { loadNodeRuntime } from '@php-wasm/node';

const php = new PHP(await loadNodeRuntime('8.4'));

Dependency & Installation Overhead

The most significant improvement is the reduction in node_modules size. The classic approach required installing every supported PHP version, whereas the version-specific approach is targeted.

MetricClassic Way (@php-wasm/web)Version-Specific Way (@php-wasm/web-8-4)Improvement
Packages Installed@php-wasm/web + 9 PHP runtimesOnly @php-wasm/web-8-4-9 packages
Disk Usage~530 MB~63 MB~88% Reduction

Note: The classic package includes runtimes for PHP 7.4, 8.0, 8.1, 8.2, 8.3, 8.4, and 8.5.

Why This Matters

The modular architecture solves the NPM size limit and improves the codebase:

  1. Faster CI/CD: Pipelines download only the PHP versions they need.
  2. Lighter applications: Version-specific packages for a minimal footprint.
  3. Better tree-shaking: Modern bundlers like Vite and ESBuild can eliminate unused code.

Getting Started

Choose your approach based on your needs:

Classic (full features):

npm install @php-wasm/web

Version-specific (minimal footprint):

npm install @php-wasm/web-8-4

Check the PHP WASM documentation for detailed setup instructions. Tell us what you think of this new alternative for working with PHP WASM, and share your feedback in the #playground SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/ channel.

Props to @akirk and @yannickdecat for reviewing the post.

Three New UI Updates to WordPress Playground from December 2025

The Playground team listened to your feedback and rolled out three UIUI UI is an acronym for User Interface - the layout of the page the user interacts with. Think ‘how are they doing that’ and less about what they are doing. improvements this month: one-click saving for playground instances, quick access to frequently visited pages, and a dedicated view for managing WordPress instances.

1. A Dedicated panel for better management

Saved playgrounds moved from the settings panel to a dedicated dashboard with its own landing page at playground.wordpress.net.

When you visit playground.wordpress.net, clicking on the icon with four squares on the top-right, you’ll find a clean, organized dashboard that allows you to:

  • Start Fresh: Launch a vanilla WordPress site or test specific Pull Requests (PRs) from WordPress or GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/.
  • Import Easily: Use the “Import .zip” button to upload projects via .zip files, GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged by the repository owner. https://github.com/ URLs, or Blueprint URLs.
  • Explore Blueprints: Browse a library of blueprints with pre-configured setups like “Art Gallery” or “Coffee Shop.”
  • Manage Your Work: View your saved playgrounds listed at the bottom with creation dates and storage status.

2. Remembering to save your progress

WordPress Playground runs client-side in your browser, so refreshing or closing a tab before saving can erase your work. Playground now displays an “Unsaved Playground” warning in the top navigation bar to prevent this.

Click the ‘Save’ button next to the warning to store your work in browser storage and resume exactly where you left off.

3. Faster navigation via Quick Access Links

Navigating the WordPress admin area usually requires multiple clicks or manual typing of URLs. The latest update introduces a Quick Access dropdown integrated directly into the Playground’s internal address bar.

By clicking the address bar, you now get instant shortcuts to the most common areas of your site:

  • Homepage
  • Dashboard
  • Site Editor
  • New Post
  • Plugins
  • Themes

This small change significantly speeds up the testing workflow, allowing you to jump from the front end to the backend editor in a split second.

Give it a try!

These updates are designed to make WordPress Playground more user-friendly and efficient. Head over to playground.wordpress.net to test them out for yourself.

Have feedback? The team wants to hear from you! You can leave a comment below or join the conversation via the #playground SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/ channel.

Action Required: github-proxy.com Shutdown

The github-proxy.com was created previously to Blueprints, load branches, pull requests, and commits on GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged by the repository owner. https://github.com/ without CORS issues and add a dynamic packaging functionality. This service is hosted and maintained by a community contributor, Christoph Khouri, and he will end this service at the beginning of 2026 (but your Blueprints are safe).

The good news: The Playground team has introduced an automatic migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. layer in WordPress Playground. If your Blueprints currently rely on github-proxy.com, they will continue to work automatically.

What is changing?

When Playground encounters a github-proxy.com URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org in a Blueprint, it will now automatically rewrite it to use native Playground resources like git:directory.

Your Blueprints will continue to work, but you’ll see a console warning to update them. Update your Blueprints to use native resources for future compatibility and to remove these warnings.

How to migrate

The automatic migration handles several patterns:

github-proxy.com patternMigrates to
?repo=owner/namezip wrapping git:directory at HEAD
?repo=...&branch=trunkzip wrapping git:directory with branch ref
?repo=...&pr=123zip wrapping git:directory with refs/pull/123/head
?repo=...&commit=abczip wrapping git:directory with commit ref
?repo=...&release=v1.0zip wrapping git:directory with tag ref
?repo=...&directory=subdirzip wrapping git:directory with path
?repo=...&release=v1.0&asset=file.zipurl to GitHub releases download
?repo=...&release=latest&asset=file.zipurl to GitHub /releases/latest/download/
https://github-proxy.com/https://...url with the inner GitHub URL

Here is how you can update your Blueprints to match the native implementation:

1. Repositories, Branches, and Pull Requests

The old proxy returned a ZIP file of a repository. You can now achieve this natively using the git:directory resource.

Old:

{
    "resource": "url",
    "url": "https://github-proxy.com/proxy/?repo=user/repo&branch=main"
}

New:
Use the git:directory resource directly in your steps (like installPlugin or installTheme).

{
    "step": "installPlugin",
    "pluginData": {
        "resource": "git:directory",
        "url": "https://github.com/my-user/my-repo",
        "ref": "main"
    }
}

You can target specific commits or pull requests using the ref property:

  • Pull request: "ref": "refs/pull/123/head"
  • Commit: "ref": "abcdef123456..."

2. Release Assets

If you were using the proxy to fetch a specific asset (like a pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. zip) from a GitHub release, you can now use the resource zip with an inner object.

Old:

{
    "resource": "url",
    "url": "https://github-proxy.com/proxy/?repo=user/repo&release=v1.0&asset=plugin.zip"
}

New:

{

  "resource": "zip",
  "inner": {
    "resource": "git:directory",
    "url": "https://github.com/owner/repo",
    "ref": "main"
  }
}

Why is this better?

The proxy was vital in Playground’s early days. Recent infrastructure improvements, Playground’s built-in CORS proxy, and GitGit Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny footprint with lightning fast performance. Most modern plugin and theme development is being done with this version control system. https://git-scm.com/ over HTTPHTTP HTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. support now enable native GitHub repository access. This removes the dependency on third-party services and improves stability.

A huge thank you to Christoph for keeping this service running and stable over the past years. It played a massive role in making Playground useful early on.

Please check your Blueprints today. If you have any questions, please get in touch with the Playground Team via the #playground SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/ channel.

Playground meeting summary: December 12, 2025

This post summarizes the Playground meeting held on December 12, 2025, in the  #playground SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/ channel

Announcements

WordPress 6.9 was released, and Playground supported testers and developers throughout the release process. At State of the Word 2025 on December 2nd, Matt Mullenweg highlighted Playground and recognized contributors for translating the documentation.

The team published several posts celebrating 2025:

Playground videos on WordPress.tv are now categorized and easier to find.

The project now has 49 contributors with Playground badges.

GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged by the repository owner. https://github.com/ updates

PHPPHP PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. https://www.php.net/manual/en/index.php-WASM

  • Added smoke tests for proc_open in CI
  • Support for PHP 8.5
  • Removed static intl extension artifacts
  • Disabled profiling data file generation at runtime

Playground CLICLI Command Line Interface. Terminal (Bash) in Mac, Command Prompt in Windows, or WP-CLI for WordPress. Support for Intl is now included.

Documentation

  • Updated resources page with WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. Wroclaw presentation
  • Removing references to github-proxy.com (service being discontinued)
  • New translations added in Portuguese and Japanese

Website Improvements to database administration and the Blueprints Editor.

Blueprints Added support for Intl.

Contributor updates

@zieladam is pairing with @bpayton to implement multiple workers by default in the Playground CLI to increase speed. Once shipped, multiple workers may also work in the browser with SharedArrayBuffer support.

@Fellyph met with the Brazilian community to collect feedback, update GitHub Proxy references, write content for non-technical users, organize Playground videos, and review translations.

@andr3ribeiro started contributing this month with internationalization work and plans to help with technical issues after completing translations.

@Beryldlg is returning to publish the French translations of the documentation next week.

Open floor discussion

Documentation translation workflow

@Beryldlg raised questions about automatic translations and requested a way to receive notifications when documentation changes. This would help translation teams review and improve automated translations.

The team discussed:

RSS feedRSS Feed RSS is an acronym for Real Simple Syndication which is a type of web feed which allows users to access updates to online content in a standardized, computer-readable format. This is the feed. for documentation changes @zieladam created an RSS feed that refreshes daily to track documentation changes. @Fellyph Cintra will add this to the documentation.

Translation review process. The team agreed on a workflow where initial automated translations are published and improved over time. For accuracy:

  • Human translations will include a footer signature (like the French translations)
  • Automated translations will include a notice at the bottom
  • Contributors can add translator comments for content that needs review, such as:
    • <!-- Translators, this is accurate but it also will change pretty soon: -->
    • <!-- Translators, this may not be fully accurate yet: -->

@Fellyph Cintra will create a footer component to distinguish between translation types.

Next steps

If you need help contributing to Playground, reach out to @Fellyph. The next Playground meeting scheduled for the 26th of December will move to the 9th of January. Join the conversation at #playground Slack channel.

Introducing the New Live Blueprint Editor for WordPress Playground

We are excited to announce a significant update to the WordPress Playground that completely improves the developer experience: a brand-new Blueprint Editor.

While the ability to edit Blueprints has existed previously, this update brings a polished, cohesive interface that combines a powerful code editor directly with the file browser. This new functionality is designed to streamline your workflow, making it easier than ever to prototype, test, and share WordPress configurations.

Key Features

1. Intelligent Auto-Completion
Writing JSONJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. schemas just got a lot faster. The new editor features built-in auto-completion that guides developers as they type. Whether you are adding a new step or defining a specific configuration, the editor helps you generate valid Blueprints without constantly referring to documentation. It also includes full support for Blueprints v2.

2. Live “Auto-Recreate” Functionality
This is the game-changer. We have introduced an “Auto-recreate Playground from the Blueprint” toggle.

When enabled, any change you make in the code editor is immediately reflected in the WordPress instance on the right. You no longer need to manually reload or restart the instance. As seen in the demo, you can simply type a command to install a pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. (like GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/), and watch the site update in real-time.

Faster Iteration

This update is perfect for developers who need to iterate quickly. You can easily copy a Blueprint from another environment, load it into Playground, and tweak it live. It creates an immediate feedback loopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop that drastically reduces development time. The Blueprint Editor also provides a validation that can guide your blueprint creation.

Try It Out

We invite you to explore the new editor features today. We want to hear your thoughts. Please let us know what you think about this new workflow in the comments below, or share your feedback directly with us in the Playground SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/ channel.

Adminer and phpMyAdmin in WordPress Playground

A new experimental Database pane is now live on playground.wordpress.net, featuring:

  • One-click Adminer access
  • One-click phpMyAdmin access
  • Quick access to the SQLite database file

Following the recent additions of the File Browser and the Blueprint Editor, it is now possible to browse and modify the Playground SQLite database even with tools designed to be used with MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com.

See it in action:

Or head to playground.wordpress.net and try it live.

If you experience any issues, please report them. This feature is under active development, and your feedback is valuable for future improvements.

State of MySQL-on-SQLite emulation

This new functionality showcases the capabilities of the new SQLite driver and offers a glimpse of what’s ahead. MySQL database administration tools often rely on advanced MySQL schema introspection capabilities, uncommon MySQL statements, and complex query patterns. While you may still encounter some issues and unsupported features, this early experimental integration with MySQL tooling is already very useful, and the compatibility will continue to improve.

Looking ahead, work is already underway on implementing the MySQL binary protocol, which will allow you to use tools that expect a MySQL server to be present. As the development continues, support for MySQL tooling will make its way into the Playground CLICLI Command Line Interface. Terminal (Bash) in Mac, Command Prompt in Windows, or WP-CLI for WordPress., and ultimately, these efforts will allow most MySQL-based applications and tools to run seamlessly on an SQLite database.

Props for reviewing to @akirk and @zieladam

Playground Team Meeting Summary: November 28, 2025

The Playground team held its weekly meeting on November 28, 2025. Here’s a summary of the announcements, contributor updates, and discussions.

Facilitator: @fellyph

Announcements

Xdebug support is now available

Debugging PHPPHP PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. https://www.php.net/manual/en/index.php code in WordPress Playground just got easier. The team published a detailed guide on debugging with Xdebug, now available in both PHP-WASM CLICLI Command Line Interface. Terminal (Bash) in Mac, Command Prompt in Windows, or WP-CLI for WordPress. and WP Playground CLI. This feature allows developers to step through code, inspect variables, and troubleshoot issues directly within their preferred IDE—including VS Code and PhpStorm.

Preview GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ branches in your browser

A new feature allows developers to preview Gutenberg development branches directly in the browser. Test the latest trunk changes or explore feature branches without creating a pull request or setting up a local environment.

Blueprint editor improvements

The Playground website now includes an improved Blueprint editor with better UIUI UI is an acronym for User Interface - the layout of the page the user interacts with. Think ‘how are they doing that’ and less about what they are doing. integration and autocomplete functionality. This makes creating and editing Blueprints more intuitive for developers building custom Playground configurations.

Playground CLI updates

Several improvements landed in the Playground CLI:

  • Readable help messages: Improved formatting and readability of CLI help output.
  • TERM=dumb compatibility: CLI behavior now works correctly in TERM=dumb environments.
  • File locking tests: Added tests for file locking in the CLI.
  • SQLite logging fix: Fixed pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. logging behavior when skipping logging is requested.

PHP WASM improvements

The PHP WASM package received significant updates:

  • Dynamic intl extension: Thanks to @Yannick‘s work, Playground web can now load dynamic extensions. The intl extension is the first web dynamic extension, enabling internationalization support. This architecture unlocks a future where Playground loads a minimal PHP coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and downloads larger extensions like gd and libxml only when needed.
  • GD library upgrade: Updated to version 2.3.3, enabling more recent image processing features.
  • Emscripten upgrade: Updated from version 4.0.5 to 4.0.19.

Blueprints and SQLite

Updates from contributors

@fellyph documented Xdebug for PHP WASM and gathered Xdebug examples. He also presented at WordPress meetups in Belo Horizonte and Rio de Janeiro, Brazil. Props to @Caio Ferreira and @gugaalves for organizing those events.

@zieladam shipped several features:

He’s also helping @janjakes with final reviews for phpMyAdmin integration on playground.wordpress.net, and exploring a Blueprint bundle editor for creating Blueprints that ship with additional assets.

@yannickdecat upgraded Emscripten from 4.0.5 to 4.0.19 and added the intl dynamic extension to PHP.wasm Web.

Open floor

Running Composer-dependent plugins

@mujuonly raised a question about running plugins that use the PHP AI SDK with Composer dependencies. The team discussed that Composer isn’t installed by default in Playground.

Current workaround: Download composer.phar and run php composer.phar install using either a Blueprint or PHP functions like proc_open().

Future improvements: The team discussed potentially downloading Composer automatically the first time the command runs, which would make it work seamlessly in Blueprints. A terminal UI for typing commands like composer install It is also directly on the wishlist.

Get involved

Join the Playground team meetings at the #playground SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/ channel. Everyone is welcome—introduce yourself and bring topics for the open floor discussion.

Props: @zaerl, @Yannick, @zieladam, @Dilip Modhavadiya, @SirLouen, @gugaalves, @eduardozulian, @janjakes, @Caio Ferreira, @mujuonly

Playground Team Meeting Summary: November 14, 2025

Facilitator: @fellyph

Announcements

The Playground team shipped several notable features recently:

New capabilities:

Documentation updates:

  • Debugging with Xdebug guide for PHPPHP PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. https://www.php.net/manual/en/index.php-WASM and Playground CLI
  • Adding PR Preview Buttons with GitHub Actions
  • GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ branch preview via Query APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.: playground.wordpress.net?gutenberg-branch=trunk

Translations: New pages in Japanese, Bengali, Italian, Spanish, Portuguese, Gujarati, and Luganda—including first pages in Italian and Luganda.

Community: 46 contributors now hold the Playground badge. Learn how to claim yours.

Contributor updates

  • @fellyph: Preparing presentations for WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. Wroclaw, WordCamp Brazil, and WordPress Belo Horizonte meetupMeetup All local/regional gatherings that are officially a part of the WordPress world but are not WordCamps are organized through https://www.meetup.com/. A meetup is typically a chance for local WordPress users to get together and share new ideas and seek help from one another. Searching for ‘WordPress’ on meetup.com will help you find options in your area.; documentation updates; new translations for Portuguese and Spanish.
  • @akirk: Fixed bugs related to theme translations via Playground.
  • @Moses Cursor: Completed Luganda translation pages.

Open floor

Props: @fellyph, @akirk, @bph, @Yannickdecat, @lenasterg, @Moses Cursor

Playground CLI adds ImageMagick, SOAP, and AVIF support

The WordPress Playground CLICLI Command Line Interface. Terminal (Bash) in Mac, Command Prompt in Windows, or WP-CLI for WordPress. version 3.0.20 is live! This update introduces powerful new PHPPHP PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. https://www.php.net/manual/en/index.php extensions (ImageMagick, SOAP, and AVIF GD Support) that enhance the capabilities of your in-browser WordPress instances, making the playground compatible with plugins and themes that utilize these extensions. Let’s dive into what’s new.

ImageMagick: Your All-in-One Image Processing

Many developers rely on ImageMagick for advanced image manipulation, and now you can use it directly within WordPress Playground. The new ImageMagick extension supports a wide range of formats, including: JPG, PNG, GIF, WEBP (for PHP 8.0 and newer).

This addition increases the PHP bundle size by approximately 4.39MB, a worthwhile trade-off for the power and flexibility it provides. We are also exploring the possibility of shipping ImageMagick in the browser in the future for even better performance.

SOAP Extension: Connecting to Web Services Made Easy

The SOAP extension now supports all PHP builds, allowing you to connect your Playground instances to SOAP-based web services.

Getting started is simple. Here’s a quick example of how you can use the SOAP client to convert temperatures:

<?php
try {
    // Create SOAP client that in theory Convert Celsius to Fahrenheit
    $client = new SoapClient('<your SOAP endpoint>');
    
    // Submit the values to the client
    $celsius = 25;
    $params = array('Celsius' => $celsius);
    $response = $client->CelsiusToFahrenheit($params);
    
    echo "Input: {$celsius}°C\n";
    echo "Result: {$response->CelsiusToFahrenheitResult}°F\n";
    
} catch (SoapFault $e) {
    echo "SOAP Error: " . $e->getMessage() . "\n";
} catch (Exception $e) {
    echo "Error: " . $e->getMessage() . "\n";
}

In the previous version of @wp-playground/cli, this code, it triggered a Fatal Error, and now it executes successfully. 

AVIF Support in the GD Extension

The GD extension in WordPress Playground now supports AVIF (AV1 Image File Format) for PHP 8.1 and newer. This enables you to convert images to and from the AVIF format, which provides higher compression, smaller file sizes compared to JPEG, and also supports transparency.

Now WordPress Playground compiles the libaom (AV1 codec) and libavif libraries (version 0.8.2) to WebAssembly, this is a significant technical achievement that brings modern image processing directly to your browser.

Two new functions are available for builders on WordPress Playground from the GD extension:

  • imagecreatefromavif: Reads an AVIF image and returns a GdImage instance for manipulation.
  • imageavi: Outputs or saves an image in AVIF format. With the possibility of setting quality and speed compression as parameters.

For more information, check the imageavif and imagecreatefromavif guides.

Practical Example

Convert a JPEG to AVIF:

<?php
// Load JPEG image
$image = imagecreatefromjpeg('photo.jpg');

// Save as AVIF with custom quality
imageavif($image, 'photo.avif', quality: 85);

// Clean up
imagedestroy($image);

echo "Converted photo.jpg to photo.avif\n";

Conclusion

These additions enhance the WordPress Playground’s compatibility with a broader range of plugins and themes. Is there another pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. you feel is essential to the WordPress ecosystem? Please let us know in the comments. 

To use the WordPress Playground’s latest version, run the command:

$ npx @wp-playground/cli@latest server

To learn more about @wp-playground/cli at the Playground CLI guide. You create! Share your projects and feedback with us in the  #playground Slack channel.