# What changed in pixi.js

> 178 changes in pixi.js 8 from its official release notes, upgrade guides and advisories: 19 breaking, 5 deprecations, 50 new APIs and options. Each one cited. Sources checked 2026-10-18. HTML: https://unstale.sh/npm/pixi.js/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## pixi.js 8

### Breaking changes

- Mirrored matrices now decompose into a real rotation, zero skew and a negative scale.x; the same change applies to setFromMatrix() and child reparenting/replacement methods. (8.21.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.21.0)
- Replaces StructsAndGroups.isUniform and also describes storage buffers; the old property now reads undefined rather than throwing. (8.20.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.20.0)
- Particles now inherit tint and alpha from ancestor render groups, so remove any manual compensation for the previous behavior. (8.20.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.20.0)
- Hit testing now matches the drawn stroke, including its alignment and winding. (8.20.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.20.0)
- Identical rectangles and rectangles flush against the right or bottom edge now count as contained. (8.20.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.20.0)
- WebGPU now handles clockwiseFrontFace as a winding; WGSL front_facing branches may take the opposite branch, while culling is unchanged. (8.20.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.20.0)
- Zero values for scaleX and scaleY are now applied literally instead of being coerced to 1, matching scale.set(0, 0). (8.19.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.19.0)
- Adds a textureSpace option, defaulting to 'global'; patterns tile continuously across adjacent shapes, and local radial gradients scale to the gradient's outer radius. (8.19.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.19.0)
- The supplied matrix is now applied directly rather than inverted and rescaled by the texture size. (8.19.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.19.0)
- With word wrapping and non-left alignment, Text, HTMLText, and BitmapText now report the rendered string width instead of wordWrapWidth; use wordWrapWidth directly if you need the configured wrapping width. (8.18.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.18.0)
- BitmapFont character keys now use character strings instead of character codes. (8.17.1) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.17.1)
- xAdvance now uses true advance width from measureText() instead of bounding-box width. (8.17.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.17.0)
- BlurFilter now uses an optimized halving strength scheme by default, changing visual output; set legacy to true to restore the old behavior. (8.17.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.17.0)
- Drop shadow blur and distance now scale proportionally to font size. (8.17.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.17.0)
- breakWords: true now uses CSS word-break: break-word instead of break-all, matching other text renderers. (8.17.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.17.0)
- For align: 'justify', width calculation now uses wordWrapWidth instead of maxLineWidth, and the last line is no longer stretched. (8.17.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.17.0)
- Creating SplitText from an existing Text now transfers its anchor by mapping the anchor to pivot coordinates, changing layout and positioning. (8.16.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.16.0)
- SplitText more accurately splits Text across a wider range of TextStyle configurations, which may slightly change character positioning. (8.16.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.16.0)
- A unified garbage-collection system replaces the separate texture and renderable garbage-collection systems. (8.15.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.15.0)

### Deprecations

- The getter is deprecated in favor of isFrontFaceInverted(), which accepts a target and flipY value. (8.21.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.21.0)
- Adds a method to determine winding for a target and flipY value before binding; the frontFaceInverted getter is deprecated. (8.21.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.21.0)
- getOptimalTexture() and createTexture() now accept a TexturePoolRequest object with per-request format and scaleMode; positional signatures still work but are deprecated. (8.21.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.21.0)
- Deprecated in favor of GCSystem. (8.15.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.15.0)
- Deprecated in favor of GCSystem. (8.15.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.15.0)

### New APIs and options

- PixiJS adds 3D mipmaps. (8.22.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.22.0)
- PixiJS adds support for 3D textures, storage textures and 3D mipmaps. (8.22.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.22.0)
- Containers receive federated contextmenu events that PixiJS hit-tests and propagates like pointerdown; eventFeatures.click gates them. (8.22.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.22.0)
- Containers now receive contextmenucapture events, gated by eventFeatures.click. (8.22.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.22.0)
- The contextmenu event is also available through the oncontextmenu handler property. (8.22.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.22.0)
- PixiJS adds storage textures. (8.22.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.22.0)
- The new WebGPU renderer option, used with antialias, discards the canvas multisample depth/stencil buffer after each pass and also discards its color buffer on non-tile-based GPUs. (8.22.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.22.0)
- BufferImageSource supports partial uploads through update(start, end). (8.22.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.22.0)
- WebGLLoader, WebGPULoader and CanvasLoader extensions register async load() hooks that matching renderers await during init(), enabling lazy backend imports. (8.21.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.21.0)
- Geometry gains an indexCount property and constructor option so geometries can draw a prefix of a shared index buffer without re-uploading it. (8.21.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.21.0)
- Adds object-form bind/push and capturable bind state. (8.20.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.20.0)
- Adds copyDepthTexture for render targets on WebGPU and WebGL2. (8.20.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.20.0)
- Adds depth-only targets. (8.20.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.20.0)
- Adds depth-stencil formats. (8.20.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.20.0)
- Adds vertexCount to geometry. (8.20.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.20.0)
- Exports GPU shader layout helpers for advanced users. (8.20.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.20.0)
- Adds support for partial buffer updates. (8.20.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.20.0)
- Opt-in flipY reverses render Y orientation while also adjusting projection and winding/cull inversion; absent or false is a no-op. (8.20.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.20.0)
- Adds a Safari WGSL fallback. (8.20.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.20.0)
- Adds WGSL shader overrides. (8.20.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.20.0)
- Adds depth sampling through TextureView. (8.20.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.20.0)
- Adds WebGPU render bundles. (8.20.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.20.0)
- Adds an opt-in subpath for rendering live DOM elements or immutable snapshots into PixiJS textures; live elements remain interactive and must be direct children of the Pixi canvas. (8.19.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.19.0)
- Adds a WebGPU-only probe that reports transient attachment device support. (8.19.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.19.0)
- Texture sources gain an opt-in transient flag for WebGPU MSAA render targets, allowing the MSAA buffer to be discarded after a render pass and reducing memory bandwidth for single-pass use. (8.19.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.19.0)
- Application exposes a read-only getter for the HTMLDivElement wrapping DOMContainer elements, allowing apps to customize the DOM overlay root. (8.18.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.18.0)
- Adds a pure function that serializes a Graphics or GraphicsContext to a self-contained SVG string, supporting shapes, paths, strokes, holes, and gradients. (8.18.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.18.0)
- Adds an explicit width option for rope thickness, decoupling it from texture height; omitting it preserves the previous texture.height default. (8.18.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.18.0)
- The preference option on autoDetectRenderer and Application.init can now accept an array of renderer names to restrict the fallback chain; RendererPreference is also exported. (8.18.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.18.0)
- Adds a defaultAnchor option forwarded to the generated Texture. (8.18.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.18.0)
- Adds a textureOptions parameter for passing fields such as defaultAnchor to the underlying Texture. (8.18.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.18.0)
- Adds a channel option to choose whether the red or alpha texture channel drives sprite-mask visibility; the default remains red. (8.18.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.18.0)
- Bitmap text supports normal, pre, nowrap, pre-line, and pre-wrap whiteSpace modes with space and newline collapsing. (8.17.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.17.0)
- Containers emit visibleChanged when visibility changes, providing the new visibility value to listeners. (8.17.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.17.0)
- A function was added for removing aliases from the resolver. (8.17.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.17.0)
- SplitText supports tagStyles so styled runs are split into per-character Text objects while preserving individual styles. (8.17.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.17.0)
- Cube texture support was added. (8.16.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.16.0)
- External texture support was added. (8.16.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.16.0)
- The rendering system gained mip level rendering support. (8.16.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.16.0)
- Spritesheets gained parseSync. (8.16.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.16.0)
- Application initialization can select the experimental Canvas renderer with preference set to 'canvas'. (8.16.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.16.0)
- Rendering to an array layer was added. (8.16.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.16.0)
- Text and HTMLText support tagged text using tagStyles to define styles for markup tags. (8.16.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.16.0)
- View containers can disable automatic garbage collection for a node with autoGarbageCollect. (8.15.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.15.0)
- The new unified garbage-collection configuration uses gcActive to control whether garbage collection is active. (8.15.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.15.0)
- The new unified garbage-collection configuration uses gcFrequency to set the collection frequency. (8.15.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.15.0)
- The new unified garbage-collection configuration uses gcMaxUnusedTime to set the maximum unused time. (8.15.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.15.0)
- Multiple Render Targets support was added. (8.15.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.15.0)
- RenderTexture.create now accepts the dynamic option. (8.15.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.15.0)
- Nodes can manually release associated GPU resources with unload and are recreated automatically when needed. (8.15.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.15.0)

### Performance

- Uses indexed loops instead of for...in on every draw. (8.22.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.22.0)

### Behavior and default changes

- When left at its default of true, Tab now activates the accessibility layer on a fresh page; set it to false to prevent activation. (8.22.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.22.0)
- Render bundles are now stamped with baked pipeline state. (8.21.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.21.0)
- Importing pixi.js/html-source registers a lowest-priority fallback for generic HTML elements. (8.19.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.19.0)
- Bitmap text word wrapping supports break-after characters including hyphens, en-dash, em-dash, and soft hyphen. (8.17.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.17.0)
- SplitBitmapText now defaults to a white fill, matching BitmapText. (8.16.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.16.0)
- SplitText mirrors Text behavior and regenerates automatically when its TextStyle changes via text.styleChanged(). (8.16.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.16.0)

### Tooling

- The typing for pool.get() was improved. (8.16.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.16.0)

### Fixes and other changes

- Declares accessibilityOptions on the public renderer options so it is available in the public options type. (8.22.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.22.0)
- accessibleText now applies to the default button type and to accessible elements recycled from the pool. (8.22.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.22.0)
- Fixes array uniform synchronization over-reads and overlapping matrix elements. (8.22.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.22.0)
- Fixes blend filter backdrop behavior when every parent filter is skipped. (8.22.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.22.0)
- Integer texture formats are fixed on WebGL and WebGPU. (8.22.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.22.0)
- Fixes a crash involving nested filters after renderer resize. (8.22.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.22.0)
- Stops warnings about unread attributes that already have a format. (8.22.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.22.0)
- Blur samples are clamped to the input frame. (8.21.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.21.0)
- Untinted canvas tiling sprites preserve translucent colors. (8.21.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.21.0)
- Handles strokes wider than the shape. (8.21.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.21.0)
- The resource sweep is safe when unload listeners re-enter it. (8.21.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.21.0)
- VAOs and buffer listeners are released when a Geometry is destroyed. (8.21.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.21.0)
- Destroying a WebGPU renderer no longer destroys the shared GpuProgram. (8.21.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.21.0)
- Inactive graphics batches are ignored when creating bind groups. (8.21.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.21.0)
- The center of a nine-slice renders in canvas when borders cover the texture. (8.21.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.21.0)
- Fixes a BatcherPipe leak when a RenderGroup is destroyed. (8.21.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.21.0)
- Cached GPU render targets are released when a RenderTarget is destroyed. (8.21.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.21.0)
- Text, HTMLText and Graphics render correctly with a second renderer. (8.21.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.21.0)
- Per-target stencil state is kept on the backend render target. (8.21.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.21.0)
- Text and HTMLText textures are regenerated after WebGL context loss. (8.21.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.21.0)
- PixiJS types now compile with TypeScript 6 and 7 as well as 5; TypeScript 6 and 7 users should remove @webgpu/types from compilerOptions.types and use @types/web instead of the dom lib. (8.21.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.21.0)
- Idle WebGPU bind groups are swept by the renderer GC. (8.21.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.21.0)
- The WebGPU front face is updated when a reused pass changes flipY. (8.21.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.21.0)
- WebGPU MSAA textures no longer inherit autoGenerateMipmaps. (8.21.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.21.0)
- The WebGPU renderer is restored after a device loss. (8.21.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.21.0)
- SVG radial gradients no longer render as linear gradients. (8.20.1) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.21.0), [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.20.1)
- Text detaches from a shared TextStyle when destroyed. (8.20.1) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.21.0), [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.20.1)
- UBO offsets are preserved in the unsafe-eval polyfill. (8.20.1) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.21.0), [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.20.1)
- Handles a missing base in bitmap font parsers. (8.20.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.20.0)
- Adds persistentDeviceId to FederatedPointerEvent. (8.20.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.20.0)
- Accounts for frame origin and rotation when filling graphics with textures. (8.20.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.20.0)
- Fixes upload signatures for Chrome 150 and later. (8.20.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.20.0)
- Copies the radius when copying from another RoundedRectangle. (8.20.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.20.0)
- Fixes selection of the vertex used for the first edge. (8.20.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.20.0)
- Fixes a trailing glyph after a glyph-less word-break character. (8.19.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.19.0)
- Handles null results from getShaderInfoLog when the context is lost. (8.19.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.19.0)
- Handles null results from getShaderSource when the context is lost. (8.19.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.19.0)
- The renderer's maxBatchableTextures value is now passed to non-default batchers. (8.19.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.19.0)
- ParticleContainer now respects the blend mode inherited from its ancestors; a blendMode set directly on the container is unchanged. (8.19.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.19.0)
- The canvas renderer now rounds the anchor offset when roundPixels is enabled. (8.19.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.19.0)
- Fixes a crash when text begins with whitespace. (8.19.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.19.0)
- Fixes pattern shearing when tileRotation is used on non-square sprites. (8.19.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.19.0)
- Prevents an error when using Application.domContainerRoot in Node.js. (8.18.1) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.18.1)
- Stroke-only Graphics masks now render correctly on the Canvas renderer. (8.18.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.18.0)
- Handles previously unhandled actions in the GraphicsPath.transform switch statement. (8.18.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.18.0)
- Handles literal < characters in tagged text. (8.18.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.18.0)
- Skips _applyMipRange for single-mip textures on iOS 18.0–18.1. (8.18.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.18.0)
- Fixes a baseline mismatch when tagStyles is used with lineHeight. (8.18.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.18.0)
- Fixes stale TextureMatrix state when pooled textures reuse the same reference. (8.18.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.18.0)
- Fixes tilePosition being divided by resolution when using the Canvas renderer. (8.18.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.18.0)
- Avoids play/mediaReady recursion before video dimensions are available. (8.18.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.18.0)
- Compressed textures now respect resolution specified in the URL, such as @0.75x. (8.17.1) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.17.1)
- Center-aligned text is now positioned correctly when words exceed wordWrapWidth. (8.17.1) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.17.1)
- Using addChildAt now emits the removed event. (8.17.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.17.0)
- Fixes a crash when a resource is destroyed in a batched group and removes listeners from old resources when setResource is used. (8.17.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.17.0)
- Bitmap text now guards against missing characters and kerning data. (8.17.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.17.0)
- Canvas text renders align: 'justify' by distributing extra word spacing. (8.17.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.17.0)
- Invalidates the cached source to prevent stale alpha reuse. (8.17.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.17.0)
- Offsets are now handled correctly. (8.17.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.17.0)
- Kerning values are now scaled correctly by fontScale. (8.17.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.17.0)
- Bounds now account for miter joins at sharp angles. (8.17.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.17.0)
- Empty Graphics now return valid empty bounds. (8.17.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.17.0)
- getLocalBounds no longer returns stale data between operations in the same frame. (8.17.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.17.0)
- NineSliceSprite now respects texture trim offset. (8.17.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.17.0)
- ParticleContainer rendering now applies the global filter offset. (8.17.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.17.0)
- Renderer.destroy() now removes all listeners. (8.17.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.17.0)
- Split text renders align: 'justify' by distributing extra word spacing. (8.17.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.17.0)
- Prevents filter corruption caused by mipmap separation in TexturePool. (8.17.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.17.0)
- Corrects mutual clamping of minFPS and maxFPS. (8.17.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.17.0)
- Modifier keys are now copied from TouchEvent to normalized touch objects. (8.17.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.17.0)
- Moving DOMPipe registration to init.ts fixes Web Worker support. (8.17.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.17.0)
- cullArea is interpreted in the container's local coordinate space and transformed to global coordinates before culling checks. (8.16.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.16.0)
- Passing a black tint now correctly applies the tint. (8.16.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.16.0)
- HTMLText now respects breakWords and no longer cuts off words that exceed wordWrapWidth. (8.16.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.16.0)
- HTMLText now respects the alpha value of its fill. (8.16.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.16.0)
- HTMLText now respects the alpha value of its stroke. (8.16.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.16.0)
- Custom parsers can now override src in Resolver. (8.16.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.16.0)
- Text now aligns correctly with right or center alignment, with a small positional adjustment. (8.16.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.16.0)
- The Video Loader now catches load errors. (8.16.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.16.0)
- Fixed garbage collection for bitmap text. (8.15.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.15.0)
- Message processing in the KTX worker now has error handling. (8.15.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.15.0)
- ParticleContainer types were improved. (8.15.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.15.0)
- Fixed RenderTexture ignoring the format setting in WebGL. (8.15.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.15.0)
- Corrected viewport Y calculation for root render targets. (8.15.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.15.0)
- SVG parsing now allows negative values for polygons and polylines. (8.15.0) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.15.0)
- The stage Container is created on initialization only if it does not already exist. (8.14.3) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.14.3)
- Application reinitialization now works properly. (8.14.2) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.14.2)
- Recognizes XML bitmap fonts that include versions. (8.14.2) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.14.2)
- Resolves a TypeScript annoyance with Container.filters. (8.14.2) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.14.2)
- Fixes a graphics memory leak and cleanup issue. (8.14.2) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.14.2)
- The assets resolver now correctly parses resolution and format from URLs in object sources. (8.14.2) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.14.2)
- Destroying a Texture no longer leaves the automatically added resize event listener on its TextureSource. (8.14.2) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.14.2)
- Corrects uBackTexture binding for filters that have blendRequired. (8.14.2) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.14.2)
- Fixes the bytesPerRow calculation for BufferImageSource in WebGPU. (8.14.1) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.14.1)
- Guards mask reset from a null reference. (8.14.1) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.14.1)
- Prevents errors during worker manager reset. (8.14.1) — [release notes](https://github.com/pixijs/pixijs/releases/tag/v8.14.1)
