Releases: pixijs/pixijs
v8.0.2
💾 Download
Development Build:
Production Build:
Documentation:
Changed
🐛 Fixed
- Fix: Assets not unloading all textures by @GoodBoyDigital in #10309
- Fix: allow meshes to have textures from sprite sheets by @GoodBoyDigital in #10313
- Fix: html text was not rendering all the time by @GoodBoyDigital in #10314
- Fix: shader preprocessor to support older chrome versions by @dragoon in #10320
- Fix: multilayered stencil mask issue by @GoodBoyDigital in #10323
🧹 Chores
- Chore: Fix docs for WebGLOptions and WebGPUOptions by @Zyie in #10312
- Chore: Modernize README by @bigtimebuddy in #10322
New Contributors
v8.0.1
💾 Download
Development Build:
Production Build:
Documentation:
Changed
🐛 Fixed
- Fix: setting fill 0x0 on BitmapText by @Zyie in #10277
- Fix: circular deps by @GoodBoyDigital in #10280
- Fix: type errors by @Zyie in #10281
- Fix: removeChild bug by @GoodBoyDigital in #10282
- Fix: respect the user-input for filters and don't freeze by @bigtimebuddy in #10283
- Fix: allowing PointData for graphics.poly by @Zyie in #10279
- Fix: text measurement issue by @GoodBoyDigital in #10291
- Fix: applying alpha on the stage by @GoodBoyDigital in #10292
- Fix: add missing resize event by @Zyie in #10297
- Fix: graphics chaining by @Zyie in #10278
- Fix: graphics buffers compounding in size by @GoodBoyDigital in #10289
- Fix: filter.enabled not working by @GoodBoyDigital in #10294
🧹 Chores
- Chore: tests failing locally by @Zyie in #10298
- Chore: updated docs for filters, removed ShockwaveFilter mention by @bigtimebuddy in #10287
v8.0.0
💾 Download
Development Build:
Production Build:
Documentation:
Changed
🎉 v8 🎉
It's hard to believe that PixiJS has been part of the open-source community for a whopping ten years. In that time, the digital landscape has evolved tremendously, and so has PixiJS. We've seen significant updates, like the transition to TypeScript, and we've overhauled major parts of the engine, such as asset loading and WebGL integration.
Now, we're thrilled to unveil PixiJS v8, arguably our most substantial update ever. and we can't wait to see what you will do with it!
🧭 Migration Guide
We create a post here to address some of the breaking changes introduced in v8. If you are upgrading or considering upgrading, please review the guide.
👏 Contributors (14)
- @GoodBoyDigital
- @Zyie
- @bigtimebuddy
- @ShukantPal
- @SuperSodaSea
- @achamas-playco
- @pagoru
- @yungzhu
- @bbazukun123
- @huxinfeng
- @minetoblend
- @zjkmxy
- @YunYouJun
- @ddenisyuk
A huge thank to everyone here that helped us get to this latest release, all your hard work is greatly appreciated!
Also thank you to our discord members without who we couldn't have shipped this version as confidently as we are. You have all been amazing and we look forward to continuing on improving PixiJS for many more years to come.
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