Pixi.js Versions Save

The HTML5 Creation Engine: Create beautiful digital content with the fastest, most flexible 2D WebGL renderer.

v8.0.0-rc.2

4 months ago

โ„น๏ธ INFO

If you have any questions or issues we are actively monitoring our discord and github issues!

๐Ÿ’พ Download

Development Build:

Production Build:

Documentation:

Changed

https://github.com/pixijs/pixi.js/compare/v8.0.0-rc.1...v8.0.0-rc.2

๐ŸŽ Added

:bug: Fixed

๐Ÿงน Chores

New Contributors

v8.0.0-rc.1

4 months ago

๐Ÿšจ 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

โ„น๏ธ INFO

If you have any questions or issues we are actively monitoring our discord and github issues!

๐Ÿ’พ Download

Development Build:

Production Build:

Documentation:

Changed

https://github.com/pixijs/pixi.js/compare/v8.0.0-rc...v8.0.0-rc.1

๐Ÿ”ฅ Breaking

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

    • We have decided that our decision to split scene objects into "views" was a mistake and increased complexity for users that want to extend things like the Sprite class to add custom functionality.
    • We have now refactored all scene objects to be flat similar to how previous versions of pixi has worked
    • This also means that anything available from sprite.view should be available directly on sprite now
  • Breaking: 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

    • All filters now have consistent naming prefixed with 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()
    • We have now renamed this to _onUpdate to make it easier to upgrade to v8
  • Breaking: flatten TextureSource.style options by @achamas-playco in https://github.com/pixijs/pixijs/pull/10025

    • the 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

    • Previous versions of v8 did not work correctly on a webworker. This has been fixed but did also introduce a breaking change
    • Previously all 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.g
    import '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

    • We now have separate builds for webworker, unsafe-eval, and math-extras
    • This means that if you are using <script> to use pixi you will need to add these extra packages
      • Note: this should behave the same as how v7 worked
    • Note: this change only affects anyone using <script>. For anyone using package managers there should be no changes

๐ŸŽ Added

:bug: Fixed

๐Ÿงน Chores

New Contributors

Full Changelog: https://github.com/pixijs/pixijs/compare/v8.0.0-rc...v8.0.0-rc.1

v7.3.3

5 months ago

๐Ÿ’พ Download

Development Build:

Production Build:

Documentation:

Changed

https://github.com/pixijs/pixi.js/compare/v7.3.2...v7.3.3

๐Ÿ› Fixed

  • Fix: Don't set sortDirty to true if the zIndex doesn't change (#9787) @dev7355608
  • Fix: Type error in Spritesheet's animations (#9896) @Nearoo
  • Fix: typo in spritesheetAsset.ts (#9949) @huxinfeng
  • Fix: Assets comment change Asset => Assets (#9945) @b5710546232
  • Fix: typing for scale field of ISpritesheetData (#9935) @maliut
  • Fix: path.join incorrectly joining urls that contain periods (#10030) @Zyie

๐Ÿงน Chores

  • Chore: Remove peer utils from assets (#9988) @bigtimebuddy
  • Chore: Upgrade to TypeScript v5 (#10003)

v8.0.0-rc

5 months ago

โ„น๏ธ INFO

We 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!

๐Ÿ’พ Download

Development Build:

Production Build:

Documentation:

Changes (from Beta 12)

๐ŸŽ Added

:bug: Fixed

๐Ÿงน Chores

New Contributors

Full Changelog: https://github.com/pixijs/pixijs/compare/v8.0.0-beta.12...v8.0.0-rc

v8.0.0-beta.12

5 months ago

โ„น๏ธ INFO

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

๐Ÿ’พ Download

Development Build:

Production Build:

Documentation:

Changed

https://github.com/pixijs/pixi.js/compare/v8.0.0-beta.11...v8.0.0-beta.12

๐Ÿ”ฅ Breaking

  • Breaking: Add culling by @Zyie in https://github.com/pixijs/pixijs/pull/9914

    • A new approach at culling that removes the logic from the rendering loop with the idea to give users more control on when culling happens and how frequently
    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);
    
    • There is also a CullerPlugin that can be used to automatically call Culler.shared.cull every frame if you want the convenience
    import {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

    • use new TilingSprite({ texture, width:100, height:100 }) instead
  • Breaking: change mipmap generation by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/9901

    • Render texture mipmaps are now updated by the dev via the 'texture.source.updateMipmaps()` function. This give much tighter control to the dev on when this should be generated.

๐Ÿ”ฅ Breaking v8 (only a breaking change if upgrading from a previous v8 version)

๐ŸŽ Added

:bug: Fixed

๐Ÿงน Chores

Full Changelog: https://github.com/pixijs/pixijs/compare/v8.0.0-beta.11...v8.0.0-beta.12

v8.0.0-beta.11

6 months ago

โ„น๏ธ INFO

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

๐Ÿ’พ Download

Development Build:

Production Build:

Changed

https://github.com/pixijs/pixi.js/compare/v8.0.0-beta.10...v8.0.0-beta.11

๐Ÿ”ฅ Breaking

  • Breaking: add mesh extras from v7 by @Zyie in https://github.com/pixijs/pixijs/pull/9883
    • renamed SimpleMesh -> MeshSimple
    • renamed SimplePlane -> MeshPlane
    • renamed SimpleRope -> MeshRope
  • Breaking: split color to bgr + alpha properties by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/9880
    • previously the alpha and colors were stored in one single ABGR value on the Container. This caused added complexity and loss of precision. We now store these as separate values
    • Note: only a breaking change from other v8 versions.

๐ŸŽ Added

:bug: Fixed

๐Ÿงน Chores

v8.0.0-beta.9

6 months ago

โ„น๏ธ INFO

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

๐Ÿ’พ Download

Development Build:

Production Build:

Changed

https://github.com/pixijs/pixi.js/compare/v8.0.0-beta.8...v8.0.0-beta.9

๐Ÿ”ฅ Breaking

๐ŸŽ Added

:bug: Fixed

๐Ÿงน Chores

v8.0.0-beta.8

6 months ago

โ„น๏ธ INFO

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

๐Ÿ’พ Download

Development Build:

Production Build:

Changed

https://github.com/pixijs/pixi.js/compare/v8.0.0-beta.7...v8.0.0-beta.8

๐Ÿ”ฅ Breaking

  • Breaking: set default alpha mode to 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 alpha
  • Breaking: rename font parsers by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/9834
    • TextFormat -> bitmapFontTextParser
    • XMLStringFormat -> bitmapFontXMLStringParser
    • XMLFormat -> bitmapFontXMLParser

๐ŸŽ Added

:bug: Fixed

๐Ÿงน Chores

New Contributors

v8.0.0-beta.7

7 months ago

โ„น๏ธ INFO

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

๐Ÿ’พ Download

Development Build:

Production Build:

Changed

https://github.com/pixijs/pixi.js/compare/v8.0.0-beta.6...v8.0.0-beta.7

๐Ÿ”ฅ Breaking

  • 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:

    • Reassign the texture to the sprite, or
    • Call onUpdate() manually.

    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.

๐ŸŽ Added

:bug: Fixed

๐Ÿงน Chores

Full Changelog: https://github.com/pixijs/pixijs/compare/v8.0.0-beta.6...v8.0.0-beta.7