Releases: pixijs/pixijs
v8.0.0-rc.11
ℹ️ INFO
If you have any questions or issues we are actively monitoring our discord and github issues!
💾 Download
Development Build:
Production Build:
Documentation:
- https://pixijs.download/v8.0.0-rc.11/docs/index.html
- Note: Documentation is still a WIP
Changed
🔥 Breaking
For users who have already migrated to v8, this release includes one small breaking changes.
- Breaking: rename
renderTargetDescriptor
torenderTargetOptions
by @GoodBoyDigital in #10237
Old:New:RenderTarget.defaultDescriptor.resolution = 1;
This change now makes the API consistent with the rest of v8 that usesRenderTarget.defaultOptions = 1;
defaultOptions
🎁 Added
🐛 Fixed
- Fix: canvas texture not updating by @GoodBoyDigital in #10236
- Fix: Make filters setting immutable by @bigtimebuddy in #10238
- Fix: gl depth on creation by @GoodBoyDigital in #10242
v8.0.0-rc.10
ℹ️ INFO
If you have any questions or issues we are actively monitoring our discord and github issues!
💾 Download
Development Build:
Production Build:
Documentation:
- https://pixijs.download/v8.0.0-rc.10/docs/index.html
- Note: Documentation is still a WIP
Changed
🎁 Added
🐛 Fixed
- Fix: pixi.js/unsafe-eval broken in 8.0.0-rc.9 by @SuperSodaSea in #10198
- Fix: gpu bind group issue by @GoodBoyDigital in #10210
- Fix: Graphics tint and mesh texture swap issues by @GoodBoyDigital in #10211
- Fix: Width / height setter for sprite + text. by @GoodBoyDigital in #10231
- Fix: Spritesheet asset formats list by @ddenisyuk in #10232
- Fix: Compressed textures priorities by @ddenisyuk in #10219
- Fix: Deprecate constructor options on Application by @bigtimebuddy in #10221
🧹 Chores
- Chore: Cleanup deprecations from release build by @bigtimebuddy in #10223
- Chore: Add caching to all lint by @bigtimebuddy in #10224
v8.0.0-rc.9
ℹ️ INFO
If you have any questions or issues we are actively monitoring our discord and github issues!
💾 Download
Development Build:
Production Build:
Documentation:
- https://pixijs.download/v8.0.0-rc.9/docs/index.html
- Note: Documentation is still a WIP
Changed
🔥 Breaking
For users who have migrated to v8, this release includes two important breaking changes. While we aimed to avoid disruptions post the first RC, we feel these two changes are important enough to correct before the final release.
We appreciate your understanding.
-
Breaking: split
Text
back intoText
,BitmapText
, andHTMLText
by @GoodBoyDigital in #10191In the pursuit of simplifying the API in v8, we initially attempted to create a unified
Text
class capable of handling all rendering modes supported by PixiJS. This approach aimed to streamline usage for developers. However, as we progressed with the release, we encountered scenarios where reconciling differences between render modes proved challenging. It became evident that some variables on theText
class needed to be specific to certain render modes.In light of these challenges, we made the decision to revert to the v7 approach, reintroducing separate classes for
Text
,BitmapText
, andHTMLText
.Old:
const canvasText = new Text({ text: 'hello', style: {}, renderMode: 'canvas' }) const bitmapText = new Text({ text: 'hello', style: {}, renderMode: 'bitmap' }) const htmlText = new Text({ text: 'hello', style: {}, renderMode: 'html' })
New:
const canvasText = new Text({ text: 'hello', style: {}, }) const bitmapText = new BitmapText({ text: 'hello', style: {}, }) const htmlText = new HTMLText({ text: 'hello', style: {}, })
-
Breaking: remove
BitmapFontManager.install
forBitmapFont.install
by @GoodBoyDigital in #10191In this release, we've reverted to the v7 method of installing bitmap fonts using
BitmapFont.install
. We've decided to keepBitmapFontManager
as an internal component of PixiJS and will no longer expose it.As a result,
BitmapFontManager.install
is deprecated in this version and will be removed in the next release.Old:
BitmapFontManager.install() BitmapFontManager.uninstall()
New:
BitmapFont.install() BitmapFont.uninstall()
🐛 Fixed
- Fix: allow render function in RenderContainer to be overridable by @GoodBoyDigital in #10196
- Fix: WebGPU buffer update logic by @GoodBoyDigital in #10195
- Fix: antialias not working by @GoodBoyDigital in #10194
v8.0.0-rc.8
ℹ️ INFO
If you have any questions or issues we are actively monitoring our discord and github issues!
💾 Download
Development Build:
Production Build:
Documentation:
- https://pixijs.download/v8.0.0-rc.8/docs/index.html
- Note: Documentation is still a WIP
Changed
🎁 Added
- Feat: add ability to set custom render logic by @GoodBoyDigital in #10173
- Feat: support depth testing by @GoodBoyDigital in #10184
🐛 Fixed
- Fix: typo in
DisplacementFilter.scale
property by @minetoblend in #10177 - Fix: GlBufferSystem.updateBuffer mishandles Batcher.indexBuffer by @zjkmxy in #10183
- Fix: rendering issues with uint16 by @GoodBoyDigital in #10187
- Fix: texture.update() now only updates uvs and dispatches an event by @GoodBoyDigital in #10189
- Fix: allow setting bitmap text fill as 0x0 by @Zyie in #10188
New Contributors
v8.0.0-rc.7
ℹ️ INFO
If you have any questions or issues we are actively monitoring our discord and github issues!
💾 Download
Development Build:
Production Build:
Documentation:
- https://pixijs.download/v8.0.0-rc.7/docs/index.html
- Note: Documentation is still a WIP
Changed
🐛 Fixed
- Fix: Texture.update not updating texture by @GoodBoyDigital in #10164
- Fix: allow Batcher to use uint16arrays by @GoodBoyDigital in #10158
- Fix: json url resolutions not being parsed by @Zyie in #10163
- Fix: filters not working for WebGPU by @GoodBoyDigital in #10171
- Fix: performance regression when overriding size methods by @Zyie in #10166
- Fix: types not building correctly by @Zyie in #10165
- Fix: strokes on BitmapText not being applied by @GoodBoyDigital in #10172
- Fix: destroying renderer when using graphics by @GoodBoyDigital in #10174
v7.4.0
💾 Download
Development Build:
- https://pixijs.download/v7.4.0/pixi.js
- https://pixijs.download/v7.4.0/pixi.mjs
- https://pixijs.download/v7.4.0/pixi-legacy.js
- https://pixijs.download/v7.4.0/pixi-legacy.mjs
- https://pixijs.download/v7.4.0/webworker.js
- https://pixijs.download/v7.4.0/webworker.mjs
Production Build:
- https://pixijs.download/v7.4.0/pixi.min.js
- https://pixijs.download/v7.4.0/pixi.min.mjs
- https://pixijs.download/v7.4.0/pixi-legacy.min.js
- https://pixijs.download/v7.4.0/pixi-legacy.min.mjs
- https://pixijs.download/v7.4.0/webworker.min.js
- https://pixijs.download/v7.4.0/webworker.min.mjs
Documentation:
Changed
🎁 Added
- Support VideoFrame as a Texture resource (#9487) @orange4glace
- Add more options to LoadVideoConfig (#9711) @dev7355608
- Add
data.texture
anddata.imageFilename
tospritesheetLoader
(#9920) @vadimgoncharov - Feature: Make Runner type-safe (#9948) @sta-ger
- Add support for 'once' option to addEventListener (#10046) @jmcclell
- Add support for 'signal' option to addEventListener (#10047, #10074) @jmcclell
- Support BPTC (BC6H and BC7) compressed textures (#9773) @ddenisyuk
- Add: Spritesheet option cachePrefix (#10125) @bigtimebuddy
🧹 Chores
v8.0.0-rc.6
ℹ️ INFO
If you have any questions or issues we are actively monitoring our discord and github issues!
💾 Download
Development Build:
Production Build:
Documentation:
- https://pixijs.download/v8.0.0-rc.6/docs/index.html
- Note: Documentation is still a WIP
Changed
🎁 Added
- Feat: Allow for localTransform calculations to be overridden by @GoodBoyDigital in #10134
- Feat: WebGL syncShader optimisation by @GoodBoyDigital in #10156
🐛 Fixed
- Fix: attribute locations not being set automatically by @GoodBoyDigital in #10143
- Fix: auto assignment of gpu pixi groups by @GoodBoyDigital in #10144
- Fix: masks not working correctly when sub rendering a container by @GoodBoyDigital in #10139
- Fix: geometry buffer should listen to change event by @GoodBoyDigital in #10140
- Fix: update shaders to use correct uniform names by @GoodBoyDigital in #10141
- Fix: texture.update() not correctly updating the texture by @GoodBoyDigital in #10133
- Fix: allow texture.from to accept resource directly by @Zyie in #10148
- Fix: add blend mode warning by @Zyie in #10149
- Fix: advanced blend modes not being bundled by @Zyie in #10152
- Fix: Garbage collection for Textures by @GoodBoyDigital in #10146
- Fix: culler no longer overrides visible property by @Zyie in #10154
- Fix: remove eval in workers by @Zyie in #10157
- Fix: Sprite width/height so they work like v7. by @GoodBoyDigital in #10142
v8.0.0-rc.5
ℹ️ INFO
If you have any questions or issues we are actively monitoring our discord and github issues!
💾 Download
Development Build:
Production Build:
Documentation:
- https://pixijs.download/v8.0.0-rc.5/docs/index.html
- Note: Documentation is still a WIP
Changed
🔥 Breaking
-
Breaking: smarter geometry attributes by @GoodBoyDigital in #10118
- This PR renamed
shaderLocation
tolocation
Old:
const geometry = new Geometry({ attributes: { aPosition: { buffer:[-100, -50, 100, -50, 0, 100], shaderLocation:0, format: 'float32x2', }, aColor: { buffer:[1, 0, 0, 0, 1, 0, 0, 0, 1], shaderLocation:1, format: 'float32x3', } }, })
New:
const geometry = new Geometry({ attributes: { aPosition: { buffer:[-100, -50, 100, -50, 0, 100], location:0, format: 'float32x2', }, aColor: { buffer:[1, 0, 0, 0, 1, 0, 0, 0, 1], location:1, format: 'float32x3', } }, })
- This PR renamed
🎁 Added
- Feat: allow devs to add
#version 300 es
to shaders by @GoodBoyDigital in #10110 - Feat: add ability to set width/height of Container together by @Zyie in #10116
- Feat: add Filter.from by @Zyie in #10127
🐛 Fixed
- Fix: add State to Mesh constructor by @Zyie in #10121
- Fix: support for unsafe eval nad std40 uniform buffers by @GoodBoyDigital in #10124
- Fix: Culler not accurately culling objects by @Zyie in #10123
- Fix: alpha on complex graphics / mesh by @GoodBoyDigital in #10130
v8.0.0-rc.4
ℹ️ INFO
If you have any questions or issues we are actively monitoring our discord and github issues!
💾 Download
Development Build:
Production Build:
Documentation:
- https://pixijs.download/v8.0.0-rc.4/docs/index.html
- Note: Documentation is still a WIP
Changed
🔥 Breaking
- Breaking: load svgs as texture instead of graphics by default by @Zyie in #10091
-
The new default for
Assets.load('logo.svg')
will be to return aTexture
instead of aGraphicsContext
We have made this decision because currently our svg parser does not handle all the edge cases, resulting in broken looking graphics. By making this change you will always receive a texture that looks like the svg you are trying to loadIf you want the old behavior there are a couple of ways to do so
const context = Assets.load<GraphicsContext>({ src: 'logo.svg' data: { parseAsGraphicsContext: true } }); const graphics = new Graphics(context); // or if you already have the svg string you can create it directly const graphics = new Graphics().svg('<svg>...</svg>');
-
🎁 Added
- Feat: add ability to handle context loss in WebGL by @GoodBoyDigital in #10094
- Feat: add clear function to renderer by @GoodBoyDigital in #10104
🐛 Fixed
- Fix: issues with TextStyle getter/setters and BitmapText default fill by @Zyie in #10095
- Fix: graphics destroy, drawing regular polygon, and setting render group parent by @GoodBoyDigital in #10099
- Fix: Use
GpuProgram.from
to prevent shaders being compiled separately in filters by @minetoblend in #10113 - Fix: stencil issue with nested renderGroups and bounds caching issue by @GoodBoyDigital in #10107
Fix: types for anchor and tiling sprite transforms by @Zyie in #10103
🧹 Chores
- Chore: only add the artifacts if they fail by @GoodBoyDigital in #10101
- Chore: split CI into multiple workflows by @Zyie in #10109
- Chore: only add the artifacts if they fail by @GoodBoyDigital in #10101
v8.0.0-rc.3
ℹ️ INFO
If you have any questions or issues we are actively monitoring our discord and github issues!
💾 Download
Development Build:
Production Build:
Documentation:
- https://pixijs.download/v8.0.0-rc.3/docs/index.html
- Note: Documentation is still a WIP
Changed
🐛 Fixed
- Fix: Stop WebGL uniforms from being mangled by @GoodBoyDigital in #10080
- Fix: calling FederatedEventTarget.off() with original listener now works when using signal by @Zyie in #10079
- Fix: effects being applied multiple times by @GoodBoyDigital in #10082
- Fix: transparency for WebGPU and default tint for BitmapText by @GoodBoyDigital in #10083
- Fix: Mesh rendering by @GoodBoyDigital in #10081
- Fix: mipmap issue with WebGL1 by @GoodBoyDigital in #10088
- Fix: issue with antialiased filters on WebGL2 by @GoodBoyDigital in #10089
- Fix: nine slice not updating correctly by @GoodBoyDigital in #10092
- Fix: default to the render antialiasing if none is provided to extract by @GoodBoyDigital in #10090