v19.7.1
What's New
19.7.1 is a focused bug-fix release for the 19.7 line. Three engine bugs and a noise reduction — no breaking changes, no API additions, drop-in upgrade from 19.7.0.
Alongside this release: @melonjs/spine-plugin 3.0.0 ships with Spine 4.3 runtime support, Skeleton.yDown adoption, native WebGL context-loss recovery, and a fully reworked Canvas renderer. The plugin requires melonjs >= 19.7.1 because the blend-cache restore fix below is load-bearing for its lose/restore path.
Bug Fixes
- WebGL context-restore left
blendFunc/blendEquationat driver defaults when the cached blend mode matched the requested one.setBlendMode()'s state cache survived the context loss and short-circuited the re-apply in thewebglcontextrestoredhandler, so scenes using a single blend mode (e.g. all-PMA"normal") rendered transparent texels as opaque black until something else changed the blend mode. The restore handler now invalidates the cache before re-applying. (Surfaced by spine-plugin context-loss verification — 19.6's hardening scenes all happened to change blend modes post-restore, which masked the desync.) UITextButtoncrashed withTypeError: viewport.isDefault on undefinedevery draw (#1499, regression introduced with multi-camera support in #1310 — has been broken for ~3 months / 12 releases).UITextButton.draw()'ssuper.draw(renderer)chain dropped the viewport argument the post-#1310Container.draw()requires. Two-sided fix:uitextbutton.tsforwards the viewport, andContainer.draw()honors its documented-optionalviewportparameter — so any legacy subclass override that chains up withsuper.draw(renderer)keeps working. Two new test files (tests/uitextbutton.spec.js,tests/ui-interaction.spec.js) pin the unit + integration paths.
Changed
- Spurious "gpuTilemap is enabled but the active renderer is not WebGL 2" warning at every
Applicationinit even when no TMX layer was ever loaded. Relocated toTMXLayerand latched once per session — apps without any tilemap (Spine demos, UI-only scenes, etc.) stay quiet; multi-layer maps see the heads-up once instead of N times.
Docs
- Fixed
matrix3d.tsJSDoc referencingimages/glOrtho.gifwhile the actual asset is lowercaseimages/glortho.gif— the orthogonal-projection diagram was 404'ing on melonjs.github.io.
Install
npm install melonjs@19.7.1CDN:
<script type="module" src="https://cdn.jsdelivr.net/npm/melonjs@19/+esm"></script>🤖 Generated with Claude Code