v2.20.1

playcanvas/enginev2.20.1Jun 29, 2026by mvaligursky

AI Summary

A maintenance release fixing various issues related to GSplat, memory management, and API recommendations.

Key Highlights

  • Fix GSplat LOD range application
  • Free font textures when asset is unloaded
  • Fix device restore re-render for non-streaming splats

Full Release Notes

## Fixes

- Recommend EventHandle.off() for event removal by @mvaligursky in [#8974](https://github.com/playcanvas/engine/pull/8974)
- Fix lodRangeMin/lodRangeMax not applied from GSplatComponent init data by @willeastcott in [#8968](https://github.com/playcanvas/engine/pull/8968)
- Mark live API getters readonly by @kpal81xd in [#8959](https://github.com/playcanvas/engine/pull/8959)
- Free font textures when a font asset is unloaded by @mvaligursky in [#8969](https://github.com/playcanvas/engine/pull/8969)
- Fix re-render of work buffer for non-streaming splats on device restore by @mvaligursky in [#8973](https://github.com/playcanvas/engine/pull/8973)
- Free SOG bundle archive memory after texture upload by @mvaligursky in [#8972](https://github.com/playcanvas/engine/pull/8972)

**Full Changelog**: https://github.com/playcanvas/engine/compare/v2.20.0...v2.20.1