# phaser v4.0.0-rc.4 — Phaser v4.0.0 Release Candidate 4 - Product: phaser (https://whatsnew.fyi/product/phaser) - Vendor: phaserjs - Date: 2025-05-23 - Version: v4.0.0-rc.4 - Original notes: https://github.com/phaserjs/phaser/releases/tag/v4.0.0-rc.4 - Permalink: https://whatsnew.fyi/product/phaser/releases/v4.0.0-rc.4 - Labels: Pre-release What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **added** — Add BatchHandlerQuadSingle render node for optimized single quad rendering in filter processes - **changed** — BatchHandler render nodes now create their own WebGL data buffers with optimized sizes for batch performance - **removed** — Remove WebGLRenderer#genericVertexBuffer and #genericVertexData to free 16MB of RAM and VRAM - **removed** — Remove BatchHandlerConfig#createOwnVertexBuffer type property - **removed** — Remove texture cropping support from TileSprite - **fixed** — Fix lighting on rotated or filtered objects - **fixed** — Add missing 'this' value for Group.forEach and StaticGroup.forEach - **fixed** — Fix createFromTiles to handle multiple tilesets when using sprite sheets - **fixed** — Fix audio files not loading from Base64 data URIs This update improves performance related to data buffer size, primarily affecting filters, including masks. A game that was bottlenecked by filters on mobile devices may experience speedups of 16x or more. A desktop system, or a scene with no filters, may be broadly unaffected, save for memory savings. ##### New Features - `BatchHandlerQuadSingle` render node added. - This is just a copy of `BatchHandlerQuad` with space for 1 quad. - The rendering system uses this node internally for transferring images in some steps of the filter process. ##### Changes - `BatchHandler` render nodes now create their own WebGL data buffers. - This uses around 5MB of RAM and VRAM in a basic game. - Dedicated buffers are an optimum size for batch performance. ##### Removals - `WebGLRenderer#genericVertexBuffer` and `#genericVertexData` removed. - This frees 16MB of RAM and VRAM. - `BatchHandlerConfig#createOwnVertexBuffer` type property removed. - `TileSprite` no longer supports texture cropping. ##### Fixes - Lighting fixed on rotated or filtered objects. - Added missing 'this' value for Group.forEach and StaticGroup.forEach (thanks @TadejZupancic) - Fix `createFromTiles` to handle multiple tilesets when using sprite sheets. Fix #7122 (thanks @vikerman) - Fix audio files not loading from Base64 data URIs (thanks @bagyoni) ##### Documentation / TypeScript Enhancements Thanks to the following people: @captain-something @DayKev @ixonstater