The HTML5 Creation Engine: Create beautiful digital content with the fastest, most flexible 2D WebGL renderer.
If you have any questions or issues we are actively monitoring our discord and github issues!
Development Build:
Production Build:
Documentation:
https://github.com/pixijs/pixi.js/compare/v8.0.0-rc.1...v8.0.0-rc.2
๐จ WARNING ๐จ
There is a known bug with this build that is stopping extensions being added correctly
You can add the following to resolve the issue
import 'pixi.js/accessibility'
import 'pixi.js/app'
import 'pixi.js/events'
import 'pixi.js/filters'
import 'pixi.js/sprite-tiling'
import 'pixi.js/text'
import 'pixi.js/text-bitmap'
import 'pixi.js/text-html'
import 'pixi.js/graphics'
import 'pixi.js/mesh'
import 'pixi.js/spritesheet'
import 'pixi.js/rendering'
import 'pixi.js/sprite-nine-slice'
The next release will resolve this and you will not need to manually import these
If you have any questions or issues we are actively monitoring our discord and github issues!
Development Build:
Production Build:
Documentation:
https://github.com/pixijs/pixi.js/compare/v8.0.0-rc...v8.0.0-rc.1
Based on the feedback received after the last release candidate build, we found it necessary to make some breaking changes to enhance the overall user experience before the final release.
Breaking: refactor views by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/10041
Sprite
class to add custom functionality.sprite.view
should be available directly on sprite
nowBreaking: rename fragColor to finalColor by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/9982
+ out vec4 finalColor;
- out vec4 fragColor;
Breaking: Standardise filter uniform names by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/10012
u
uSampler
renamed to uTexture
mySampler
renamed to uSampler
example:
- @group(0) @binding(1) var uSampler: texture_2d<f32>;
- @group(0) @binding(2) var mySampler : sampler;
- @group(0) @binding(3) var backTexture: texture_2d<f32>;
+ @group(0) @binding(1) var uTexture: texture_2d<f32>;
+ @group(0) @binding(2) var uSampler : sampler;
+ @group(0) @binding(3) var uBackTexture: texture_2d<f32>;
Chore/rename-rg by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/10048
Breaking: rename onUpdate
to _onUpdate
by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/10049
onUpdate
was an internal function call, however we found it to be fairly common for libraries to implement their own onUpdate
property e.g. onUpdate = new Signal()
_onUpdate
to make it easier to upgrade to v8Breaking: flatten TextureSource.style options by @achamas-playco in https://github.com/pixijs/pixijs/pull/10025
style
constructor property from TextureSource
has been flattened to make it easier to apply styles new TextureSource({
- style: { scaleMode: 'nearest' }
+ scaleMode: 'nearest'
})
Breaking: fix running on webworker by @Zyie in https://github.com/pixijs/pixijs/pull/9960
pixi.js/*
imports were wrongly being added by default. With this change you will now need to manually import the additional parts of pixi
e.gimport 'pixi.js/unsafe-eval'
import 'pixi.js/maths-extras'
import 'pixi.js/advanced-blend-modes'
import 'pixi.js/prepare'
import 'pixi.js/ktx'
import 'pixi.js/basis'
import 'pixi.js/dds'
Breaking: bundle builds by @Zyie in https://github.com/pixijs/pixijs/pull/9961
webworker
, unsafe-eval
, and math-extras
<script>
to use pixi you will need to add these extra packages
<script>
. For anyone using package managers there should be no changesaddResource
by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/10015
Full Changelog: https://github.com/pixijs/pixijs/compare/v8.0.0-rc...v8.0.0-rc.1
Development Build:
Production Build:
Documentation:
https://github.com/pixijs/pixi.js/compare/v7.3.2...v7.3.3
sortDirty
to true if the zIndex
doesn't change (#9787) @dev7355608animations
(#9896) @Nearooscale
field of ISpritesheetData
(#9935) @maliutWe are excited to announce the first Release Candidate (RC) for PixiJS v8. This release brings us one step closer to a production ready version! We encourage all users to test this RC in their projects and report any issues they encounter. Your feedback is crucial in making the final release as stable as possible.
Also a full migration guide is on the way and will be made available before final release. For now please refer back to previous release notes for changes:
If you have any questions or issues we are actively monitoring our discord and github issues!
Development Build:
Production Build:
Documentation:
Full Changelog: https://github.com/pixijs/pixijs/compare/v8.0.0-beta.12...v8.0.0-rc
See here for list of changes for PixiJS v8 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.11 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.10 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.9 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.8 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.7 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.6 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.4 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.2 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.0
Development Build:
Production Build:
Documentation:
https://github.com/pixijs/pixi.js/compare/v8.0.0-beta.11...v8.0.0-beta.12
Breaking: Add culling by @Zyie in https://github.com/pixijs/pixijs/pull/9914
const container = new GameWorld();
const view = new Rectangle(0, 0, 800, 600);
// whether or not the container can be culled
container.cullable = true;
// a cull area that will be used instead of the bounds of the container
container.cullArea = new Rectangle(0,0,400,400);
// whether or not the containers children can be culled. This can help optimise large scenes
container.cullableChildren = false;
Culler.shared.cull(myContainer, view);
renderer.render(myContainer);
CullerPlugin
that can be used to automatically call Culler.shared.cull
every frame if you want the convenienceimport {extensions, CullerPlugin} from 'pixi.js'
extensions.add(CullerPlugin)
Breaking: set HTMLText whiteSpace as pre
by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/9931
Breaking: deprecate `new TilingSprite(texture, width, height) by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/9919
new TilingSprite({ texture, width:100, height:100 })
insteadBreaking: change mipmap generation by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/9901
new BitmapText()
and new HTMLText()
should still work. These are just wrappers for setting the default renderMode
on Text
Texture.layout
no longer exists. These properties have been moved onto the texture itselfboundsArea
by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/9915
boundsArea
that will allow you to skip expensive getGlobalBounds
/getLocalBounds
callsFull Changelog: https://github.com/pixijs/pixijs/compare/v8.0.0-beta.11...v8.0.0-beta.12
See here for list of changes for PixiJS v8 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.10 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.9 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.8 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.7 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.6 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.4 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.2 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.0
Development Build:
Production Build:
https://github.com/pixijs/pixi.js/compare/v8.0.0-beta.10...v8.0.0-beta.11
SimpleMesh
-> MeshSimple
SimplePlane
-> MeshPlane
SimpleRope
-> MeshRope
Container
. This caused added complexity and loss of precision. We now store these as separate valuesSee here for list of changes for PixiJS v8 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.9 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.8 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.7 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.6 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.4 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.2 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.0
Development Build:
Production Build:
https://github.com/pixijs/pixi.js/compare/v8.0.0-beta.9...v8.0.0-beta.10
See here for list of changes for PixiJS v8 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.8 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.7 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.6 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.4 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.2 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.0
Development Build:
Production Build:
https://github.com/pixijs/pixi.js/compare/v8.0.0-beta.8...v8.0.0-beta.9
Graphics
if the context was created by that graphics object it will also be destroyed. This should reduce the number of memory leaks users experience.See here for list of changes for PixiJS v8 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.7 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.6 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.4 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.2 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.0
Development Build:
Production Build:
https://github.com/pixijs/pixi.js/compare/v8.0.0-beta.7...v8.0.0-beta.8
premultiply-alpha-on-upload
by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/9821
This is a breaking change for anyone using v8, this change now matches how v7 handles premultiply alphaTextFormat
-> bitmapFontTextParser
XMLStringFormat
-> bitmapFontXMLStringParser
XMLFormat
-> bitmapFontXMLParser
setDataWithSize
to Buffer
by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/9818
See here for list of changes for PixiJS v8 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.6 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.4 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.2 https://github.com/pixijs/pixijs/releases/tag/v8.0.0-beta.0
Development Build:
Production Build:
https://github.com/pixijs/pixi.js/compare/v8.0.0-beta.6...v8.0.0-beta.7
Breaking: remove the texture listener on sprite view by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/9803 This PR removes the dynamic addition and removal of update events for textures for performance optimization. When swapping textures on a sprite, it was observed that about 70% of the rendering time was spent on managing these listeners.
With this change any modifications to a texture (e.g., changing the frame) will not be immediately reflected in sprites using that texture. To see the changes, developers will need to either:
This trade-off is justified as developers are more likely to swap textures on sprites every frame than to modify existing texturesโmodifying textures frequently is a discouraged practice.
Full Changelog: https://github.com/pixijs/pixijs/compare/v8.0.0-beta.6...v8.0.0-beta.7