All notable changes to this playground will be documented in this file.
The format is loosely based on Keep a Changelog.
First tagged release of the browser playground.
- Release validation via
tools/check_release.py. - Example executability validation via
tools/check_examples.pyand GitHub Actions in.github/workflows/example-executability.yml. - Keyboard-accessible output tabs and split-pane resizing.
- Release process documentation in
RELEASE.mdand contribution guidance inCONTRIBUTING.md.
- Aligned the playground with
multilingualprogramming0.6.0. - Highlighted broader browser-facing WAT/WASM coverage for classes, control flow, async features, properties, and bytes literals.
- Kept the page shell in
index.htmland organized the client logic acrossassets/main.js,assets/editor.js,assets/runtime.js,assets/ui.js, andassets/examples.js. - Improved keyboard focus handling, live status announcements, and narrow-screen behavior.
- Normalized source comments and visible UI copy to reduce encoding-risky decorative characters.
- Reduced maintenance risk from a monolithic inline HTML document.
- Tightened metadata consistency checks across sitemap, manifest, robots, and canonical page metadata.
- Corrected shipped example programs so the bundled corpus executes cleanly across all 17 supported languages.
- Updated the playground's complete-feature example links and visible source-extension copy from
.mlto.multito match the renamed upstream example files. - Migrated the browser editor from CodeMirror 5 to Monaco Editor while preserving the existing Pyodide runtime flow, share links, theme toggle, keyboard shortcuts, and split-pane behavior.
- Pinned browser syntax highlighting to
tree-sitter-multilingualby shipping a generatedassets/monarch.jsontokenizer artifact from the grammar repository. - Updated the existing CI workflows to check out
multilingualprogramming/tree-sitter-multilingualand fail if the pinned Monaco tokenizer drifts from the generated upstream artifact.