Published February 6, 2026
| Version v3.0.1
Software
Open
pd4web: Running PureData Patches in Browsers with Web Audio
Authors/Creators
Description
Pd4Web v3.0.1
Type: Major internal rewrite (breaking changes)
This release is a complete rewrite of Pd4Web, migrating the core from Python to C++, introducing a new execution and messaging model, and significantly changing the public APIs. It also updates the Pure Data runtime and expands language support.
Core architecture
- Full rewrite from Python to C++.
- New native core focused on performance, determinism, and tighter integration with WebAssembly.
- Removal of the previous Python-based runtime and tooling.
- Significant internal refactoring; previous internals are not compatible.
Pure Data
- Updated bundled Pure Data version to Pd 0.56.
- Improved compatibility with modern Pd patches and externals.
- Better alignment with upstream Pd behavior.
Language and scripting support
- Added support for pdlua.
- Lua scripts can now be embedded and executed alongside Pd patches.
- Pd4Web also supports GUI objects, rendered with GPU;
- Improved extensibility for script-driven patches and control logic.
JavaScript and TypeScript API
- Completely redesigned JavaScript API.
- Previous JS/Python-facing APIs are no longer compatible.
- New, unified messaging system.
- Added TypeScript type definitions, by @richdouglasevans;
- Typed messaging APIs (
sendMessage, file transfer, control helpers). - API signatures now accurately reflect runtime behavior.
Build and toolchain
- Updated EMSDK version.
- Major improvements to CMake and build configuration.
- Fixed Pd4Web installation layout.
- More reliable cache handling and clean builds.
- Improved version reporting and consistency.
Documentation
Updated documentation to reflect:
- New C++ core.
- New JavaScript / TypeScript APIs.
- pdlua integration.
Breaking changes
- Python-based workflow removed.
- All previous APIs are obsolete.
- Existing projects must migrate to the new JavaScript / TypeScript API or keep using the version
v2.3.0. - Custom tooling built on top of the old runtime will not work without adaptation.
Compatibility
- Not compatible with Pd4Web ≤ 2.x.
- Requires project updates to use the new API and build system.
Notes
This release is recommended if you:
- Want Pd 0.56 support.
- Need pdlua integration with GPU rendering support;
- Prefer a native C++ core for performance and long-term stability (just for me I think);
- Are starting new Pd4Web projects or planning a migration.
- Want a more complete JavaScript API;
Notes
Files
charlesneimog/pd4web-v3.0.1.zip
Files
(55.6 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:e0b5863ed86b400aca2e3c9be7edeb3a
|
55.6 MB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/charlesneimog/pd4web/tree/v3.0.1 (URL)
Software
- Repository URL
- https://github.com/charlesneimog/pd4web