v8.10.2
Installation:
npm install pixi.js@8.10.2
Development Build:
- https://cdn.jsdelivr.net/npm/pixi.js@8.10.2/dist/pixi.js
- https://cdn.jsdelivr.net/npm/pixi.js@8.10.2/dist/pixi.mjs
Production Build:
- https://cdn.jsdelivr.net/npm/pixi.js@8.10.2/dist/pixi.min.js
- https://cdn.jsdelivr.net/npm/pixi.js@8.10.2/dist/pixi.min.mjs
Documentation:
https://github.com/pixijs/pixi.js/compare/v8.10.1...v8.10.2
- fix: Fix type error on DOMContainer in strict codebases by @Mysak0CZ in https://github.com/pixijs/pixijs/pull/11479
- fix: filter offset by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/11482
- chore: add GitHub Sponsors to FUNDING.yml by @tddyco in https://github.com/pixijs/pixijs/pull/11404
v8.10.1
Installation:
npm install pixi.js@8.10.1
Development Build:
- https://cdn.jsdelivr.net/npm/pixi.js@8.10.1/dist/pixi.js
- https://cdn.jsdelivr.net/npm/pixi.js@8.10.1/dist/pixi.mjs
Production Build:
- https://cdn.jsdelivr.net/npm/pixi.js@8.10.1/dist/pixi.min.js
- https://cdn.jsdelivr.net/npm/pixi.js@8.10.1/dist/pixi.min.mjs
Documentation:
https://github.com/pixijs/pixi.js/compare/v8.10.0...v8.10.1
- fix: earcut export by @Zyie in https://github.com/pixijs/pixijs/pull/11464
v8.10.0
Installation:
npm install pixi.js@8.10.0
Development Build:
- https://cdn.jsdelivr.net/npm/pixi.js@8.10.0/dist/pixi.js
- https://cdn.jsdelivr.net/npm/pixi.js@8.10.0/dist/pixi.mjs
Production Build:
- https://cdn.jsdelivr.net/npm/pixi.js@8.10.0/dist/pixi.min.js
- https://cdn.jsdelivr.net/npm/pixi.js@8.10.0/dist/pixi.min.mjs
Documentation:
https://github.com/pixijs/pixi.js/compare/v8.9.2...v8.10.0
With this release we have fixed the ParticleContainer.removeParticles(startIndex, endIndex)
logic to correctly set the endIndex
to this.particleChildren.length
by default. This now matches the behavior of container.removeChildren()
- feat: support trimmed text by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/11456
- Text can now be trimmed!
const text2 = new Text({ text: 'TRIM', style: { trim: true, // New API }, });
- feat: textStyle filters by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/11282
- Filters can now be baked into a Text on creation. When setting filters this way, the filter is actually baked into the texture at creation time, rather than having to be calculated at run time, eliminating the runtime cost.
const blurFilter = new BlurFilter(); const text = new Text({ text: 'HI', style: { fontSize: 100, fill: 'white', filters: [blurFilter], // add some filters to the style } });
- feat: support textureStyle options on text rendering by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/11403
- Text, HTMLText, and BitmapText now all support customising how the texture is generated by passing in the
textureStyle
object
const text = new Text({ text: 'Hello Pixi!', style: {...}, textureStyle: { scaleMode: 'nearest', } });
- Text, HTMLText, and BitmapText now all support customising how the texture is generated by passing in the
- feat: spritesheet option cachePrefix by @F-star in https://github.com/pixijs/pixijs/pull/11237
- feat: add a limits system to WebGL and WebGPU renderers by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/11417
- feat: allow for autocomplete on cursor strings by @Zyie in https://github.com/pixijs/pixijs/pull/11438
- feat: The build (ShapeBuilder) method should report its success by @midiusRed in https://github.com/pixijs/pixijs/pull/11283
- feat: update Earcut to v3.0.0 by @LukeAbby in https://github.com/pixijs/pixijs/pull/11214
- fix: ObservablePoint toString by @Zyie in https://github.com/pixijs/pixijs/pull/11430
- fix: HTMLTextStyle clone and css overrides assignment by @Zyie in https://github.com/pixijs/pixijs/pull/11442
- fix: iOS issue loading video when autoplay is false and preload is true. by @jgelens in https://github.com/pixijs/pixijs/pull/11451
- fix: letter spacing support getter by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/11429
- fix: bitmap text emoji render by @rnike in https://github.com/pixijs/pixijs/pull/11275
- fix: Inverse stencil mask should not modify stencil buffer during normal draws by @Mysak0CZ in https://github.com/pixijs/pixijs/pull/11352
- fix: default values on removeParticles logic by @PaulKokhanov1 in https://github.com/pixijs/pixijs/pull/11374
- fix: Dom Container on scaled canvas by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/11400
- fix: dynamic bitmap font rendering by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/11416
- fix: events firing PointerEvent when not supported by @midiusRed in https://github.com/pixijs/pixijs/pull/11217
- chore: add funding link to npm package by @tddyco in https://github.com/pixijs/pixijs/pull/11405
- chore: update links in README by @tddyco in https://github.com/pixijs/pixijs/pull/11406
- chore: Improve handling of HTMLImageElement in texture uploads by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/11343
- chore: simplify text systems by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/11345
- chore: remove renderable hashes by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/11346
- chore: Update BitmapFont.ts doc for 8.x by @JonDegn in https://github.com/pixijs/pixijs/pull/11420
- chore: documentation overhaul with typedoc by @Zyie in https://github.com/pixijs/pixijs/pull/11423
- chore: add standard/advanced tags to documentation by @Zyie in https://github.com/pixijs/pixijs/pull/11448
- chore: improve api doc comments by @Zyie in https://github.com/pixijs/pixijs/pull/11455
- @tddyco made their first contribution in https://github.com/pixijs/pixijs/pull/11405
- @Mysak0CZ made their first contribution in https://github.com/pixijs/pixijs/pull/11352
- @PaulKokhanov1 made their first contribution in https://github.com/pixijs/pixijs/pull/11374
- @JonDegn made their first contribution in https://github.com/pixijs/pixijs/pull/11420
- @jgelens made their first contribution in https://github.com/pixijs/pixijs/pull/11451
v8.9.2
Development Build:
Production Build:
Documentation:
https://github.com/pixijs/pixi.js/compare/8.9.1...v8.9.2
- fix: render layer detachment when destroying. by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/11384
- fix: documentation regarding anchor values in spritesheet by @SanjoSolutions in https://github.com/pixijs/pixijs/pull/11363
- fix: gradient issue with non 0,0 shapes in graphics by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/11383
- @SanjoSolutions made their first contribution in https://github.com/pixijs/pixijs/pull/11363
v8.9.1
Development Build:
Production Build:
Documentation:
https://github.com/pixijs/pixi.js/compare/v8.9.0...v8.9.1
- fix: bad aliased imports by @bigtimebuddy in https://github.com/pixijs/pixijs/pull/11355
- fix: reset premultiply alpha state on resetState call and update WebGL settings by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/11342
- fix: state culling was flipped when rendering to a texture by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/11356
v8.9.0
Development Build:
Production Build:
Documentation:
https://github.com/pixijs/pixi.js/compare/v8.8.1...v8.9.0
- feat: DOMContainer by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/11340
- Experimental support for integrating DOM elements within the PixiJS scene graph, allowing HTML elements to be positioned and transformed alongside other PixiJS objects.
import 'pixi.js/dom'
import { DOMContainer } from 'pixi.js';
// Create a DOM element
const element = document.createElement('div');
element.innerHTML = 'Hello World!';
// Create a DOM container
const domContainer = new DOMContainer({ element });
// Add it to your scene
app.stage.addChild(domContainer);
// Position and transform like any other DisplayObject
domContainer.x = 100;
domContainer.y = 100;
domContainer.rotation = 0.5;
domContainer.anchor.set(0.5);
- fix: Ignore autoDensity for OffscreenCanvas by @bigtimebuddy in https://github.com/pixijs/pixijs/pull/11313
- fix: Restore gl extensions state on context restore by @ddenisyuk in https://github.com/pixijs/pixijs/pull/11299
- fix: don't use alias for
PointData
import by @kosmotema in https://github.com/pixijs/pixijs/pull/11308
- @kosmotema made their first contribution in https://github.com/pixijs/pixijs/pull/11308
v7.4.3
- Fix: incorrect cache warning check by @Zyie in https://github.com/pixijs/pixijs/pull/10430
- Apply #8679 to 7.x branch by @kfyh in https://github.com/pixijs/pixijs/pull/11022
- add missing properties to v7 FederatedPointerEvent by @ericente in https://github.com/pixijs/pixijs/pull/11192
- @kfyh made their first contribution in https://github.com/pixijs/pixijs/pull/11022
Full Changelog: https://github.com/pixijs/pixijs/compare/v7.4.2...v7.4.3
v8.8.1
Development Build:
Production Build:
Documentation:
https://github.com/pixijs/pixi.js/compare/v8.8.0...v8.8.1
- fix: gif loader base64 path matching by @MechaKnightz in https://github.com/pixijs/pixijs/pull/11285
- fix: Don't bundle GIF dependencies by @bigtimebuddy in https://github.com/pixijs/pixijs/pull/11298
- @MechaKnightz made their first contribution in https://github.com/pixijs/pixijs/pull/11285
v8.8.0
Development Build:
Production Build:
Documentation:
https://github.com/pixijs/pixi.js/compare/v8.7.3...v8.8.0
Since 8.0.0 PixiJS has been incorrectly applying gradients and graphics fill textures. Instead of using normalized "local space" coordinates (0–1), gradients were using "global space" values in pixels. This was an unintended change that made working with gradients/texture fills much harder. In this release, we have changed the default behavior back to "local space" to match v7.
For anyone who needs the old behavior, you can change the default options globally or you can control it individually as all APIs now accept a textureSpace
property that can be set to "global"
. For example:
FillGradient.defaultLinearOptions.textureSpace = 'global'
FillGradient.defaultRadialOptions.textureSpace = 'global'
// or individually
new FillGraident(0, 0, 100, 100, 'global')
GraphicsContext.defaultFillStyle.textureSpace = 'global'
GraphicsContext.defaultStrokeStyle.textureSpace = 'global'
// or individually
new Graphics().fill({ texture, textureSpace: 'global' })
new Graphics().stroke({ texture, textureSpace: 'global' })
Since version 8.0.0, TilingSprite has returned negative values for tilingSprite.bounds.width
and tilingSprite.bounds.height
. This has been corrected in this release, and these properties now return positive values. If your code relies on bounds, you may need to adjust it accordingly.
- feat: svg and textureSpace update by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/11074
- feat: add configurable props to
AnimatedSpriteOptions
by @trezy in https://github.com/pixijs/pixijs/pull/11241 - feat: add anchor to nine slice sprite by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/11233
- feat: enhance how gradients are applied to text objects by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/11075
- feat: support SVG non-zero fills by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/11080
- feat: allow for graphics.fill(texture) by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/11152
- feat: add
autoPlay
toAnimatedSprite
by @trezy in https://github.com/pixijs/pixijs/pull/11243 - feat: add returnTexture for CanvasTextSystem by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/11269
- feat: add mixins for leaf nodes by @Zyie in https://github.com/pixijs/pixijs/pull/11253
- fix: texture space incorrectly set to global by @Zyie in https://github.com/pixijs/pixijs/pull/11246
- fix: texture update bug on mesh by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/11259
- fix: multiview rendering by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/11260
- fix: mask resetState bug by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/11261
- fix: measure bug in render layer by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/11262
- fix: tiling sprite and nine slice sprite bounds being negative by @Zyie in https://github.com/pixijs/pixijs/pull/11267
- fix: graphics prepare bug by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/11258
- fix: increase didViewChangeTick on removeChildren call by @dapi303 in https://github.com/pixijs/pixijs/pull/11245
- fix: texture options set for spritesheet aren't propagating to multipacked spritesheets by @sam007mac in https://github.com/pixijs/pixijs/pull/11270
v8.8.0-rc.1
Development Build:
Production Build:
Documentation:
https://github.com/pixijs/pixi.js/compare/v8.7.3...v8.8.0-rc.1
Since the release of v8, PixiJS has been incorrectly applying gradients and graphics fill textures. Instead of using normalized "local space" coordinates (0–1), gradients were using "global space" values in pixels. This made working with gradients/texture fills more complicated than necessary. In this release, we have changed the default behavior back to "local space" to match v7.
For anyone who needs the old behavior, you can change the default options globally or you can control it individually as all APIs now accept a textureSpace
property that can be set to "global"
. For example:
FillGradient.defaultLinearOptions.textureSpace = 'global'
FillGradient.defaultRadialOptions.textureSpace = 'global'
// or individually
new FillGraident(0, 0, 100, 100, 'global')
GraphicsContext.defaultFillStyle.textureSpace = 'global'
GraphicsContext.defaultStrokeStyle.textureSpace = 'global'
// or individually
new Graphics().fill({ texture, textureSpace: 'global' })
new Graphics().stroke({ texture, textureSpace: 'global' })
- feat: svg and textureSpace update by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/11074
- feat: add configurable props to
AnimatedSpriteOptions
by @trezy in https://github.com/pixijs/pixijs/pull/11241 - feat: add anchor to nine slice sprite by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/11233
- feat: enhance how gradients are applied to text objects by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/11075
- feat: support SVG non-zero fills by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/11080
- feat: allow for graphics.fill(texture) by @GoodBoyDigital in https://github.com/pixijs/pixijs/pull/11152
- feat: add
autoPlay
toAnimatedSprite
by @trezy in https://github.com/pixijs/pixijs/pull/11243
- fix: texture space incorrectly set to global by @Zyie in https://github.com/pixijs/pixijs/pull/11246