Skip to content

chore(deps): update dependency pixi.js to v8.18.1#50

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/pixijs-monorepo
Open

chore(deps): update dependency pixi.js to v8.18.1#50
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/pixijs-monorepo

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented Jun 24, 2025

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
pixi.js (source) 8.10.18.18.1 age confidence

Release Notes

pixijs/pixijs (pixi.js)

v8.18.1

Compare Source

💾 Download

Installation:

npm install pixi.js@8.18.1

Development Build:

Production Build:

Documentation:

Changed

🐛 Fixed

v8.18.0

Compare Source

💾 Download

Installation:

npm install pixi.js@8.18.0

Development Build:

Production Build:

Documentation:

Changed
🚨 Behavior Change
  • fix: text.width and word wrap returning incorrect values by @​Zyie in #​12007
    • Text/HTMLText/BitmapText with wordWrap: true and non-left align (center/right/justify) now return the true rendered width from text.width instead of reporting wordWrapWidth. If you relied on text.width === wordWrapWidth for layout, use wordWrapWidth directly or wrap the text in a sized container.
    const text = new Text({
        text: 'hello',
        style: { wordWrap: true, wordWrapWidth: 800, align: 'center' },
    });
    // before: text.width === 800
    // after:  text.width reflects the rendered string width
🎁 Added
  • feat: add graphicsContextToSvg() for Graphics → SVG export by @​GoodBoyDigital in #​11989
    • Adds graphicsContextToSvg(source, precision?), a pure function that serializes a Graphics or GraphicsContext to a self-contained SVG string. Supports rects, circles, ellipses, rounded rects, polygons, bezier/quadratic/arc paths, strokes, holes (via fill-rule="evenodd"), and linear/radial gradients.
    import { Graphics, graphicsContextToSvg } from 'pixi.js';
    
    const g = new Graphics()
        .rect(0, 0, 100, 50)
        .fill({ color: 0xff0000 })
        .circle(150, 25, 25)
        .stroke({ color: 0x0000ff, width: 4 });
    
    const svgString = graphicsContextToSvg(g, 2);
    await navigator.clipboard.writeText(svgString);
  • feat: add mask channel selection for sprite masks by @​Zyie in #​11987
    • setMask() gains a channel option ('red' | 'alpha') to pick which texture channel drives visibility, matching how design tools like Figma apply PNG masks. Default remains 'red'.
    import { Assets, Sprite } from 'pixi.js';
    
    const photo = new Sprite(await Assets.load('photo.png'));
    const maskSprite = new Sprite(await Assets.load('mask-alpha.png'));
    
    photo.setMask({
        mask: maskSprite,
        channel: 'alpha',
    });
  • feat: allow preference to accept an array of renderer types by @​Zyie in #​11963
    • autoDetectRenderer and Application.init now accept an array of renderer names for preference, letting you restrict the fallback chain (e.g. disable WebGPU entirely) rather than only reorder it. A new RendererPreference type is exported.
    import { Application, autoDetectRenderer } from 'pixi.js';
    
    const renderer = await autoDetectRenderer({
        preference: ['webgl', 'canvas'],
    });
    
    const app = new Application();
    await app.init({ preference: ['webgl', 'canvas'] });
  • feat: provide a getter to the domElement via app.domContainerRoot by @​carlos22 in #​11974
    • Application exposes a read-only domContainerRoot getter returning the HTMLDivElement that wraps all DOMContainer elements, so apps can add CSS classes, inline styles, or customize the DOM overlay root.
    import { Application } from 'pixi.js';
    
    const app = new Application();
    await app.init({ resizeTo: window });
    
    app.domContainerRoot.classList.add('pixi-dom-layer');
    app.domContainerRoot.style.pointerEvents = 'auto';
  • feat: add width option to MeshRope by @​mehmetcanakbay in #​11990
    • MeshRope now accepts an explicit width for rope thickness, decoupling it from the texture's height. Omitting width preserves the previous texture.height default.
    import { MeshRope, Point, Texture } from 'pixi.js';
    
    const points = [new Point(0, 0), new Point(100, 50), new Point(200, 0)];
    
    const rope = new MeshRope({
        texture: Texture.from('snake.png'),
        points,
        width: 40,
    });
  • feat: add a default anchor to texture generation by @​ksv90 in #​12011
    • renderer.generateTexture() accepts a defaultAnchor option that's forwarded onto the produced Texture. RenderTexture.create() also gains a textureOptions parameter to pass through fields like defaultAnchor to the underlying Texture.
    import { Graphics, Sprite } from 'pixi.js';
    
    const shape = new Graphics().circle(0, 0, 50).fill(0xff3366);
    
    const texture = app.renderer.generateTexture({
        target: shape,
        defaultAnchor: { x: 0.5, y: 0.5 },
    });
    
    const sprite = new Sprite(texture);
    sprite.position.set(200, 200); // centered by default
🐛 Fixed
🧹 Chores
New Contributors

v8.17.1

Compare Source

💾 Download

Installation:

npm install pixi.js@8.17.1

Development Build:

Production Build:

Documentation:

Changed

🐛 Fixed
  • fix: compressed textures ignoring resolution from URL (e.g. @0.75x) by @​Zyie in #​11960
  • fix: center-align text correctly when words exceed wordWrapWidth by @​Zyie in #​11966
🧹 Chores
  • chore: fix BitmapFont char keys from char codes to character strings by @​Zyie in #​11967
  • fix: add secrets: inherit to publish-switch workflow for S3 docs upload by @​Zyie in #​11962

v8.17.0

Compare Source

💾 Download

Installation:

npm install pixi.js@8.17.0

Development Build:

Production Build:

Documentation:

Changed

🚨 Behavior Change
  • BlurFilter now uses an optimized halving strength scheme by default, which changes visual output compared to previous versions. Set legacy: true to restore the old behavior.
    new BlurFilter({ legacy: true });
    // or globally:
    BlurFilter.defaultOptions.legacy = true;
  • Text with align: 'justify' now uses wordWrapWidth for width calculation instead of maxLineWidth, matching CSS behavior. The last line is no longer stretched.
  • breakWords: true in HTMLText now correctly uses CSS word-break: break-word instead of break-all to match behavior of other text renderers.
🎁 Added
  • feat: add tagged text support to canvasTextSplit by @​Zyie in #​11949
    • SplitText now supports tagStyles, so styled runs (e.g. <red>Hello</red> <blue>World</blue>) are correctly split into per-character Text objects with individual styles preserved.
  • feat: Improves text rendering and layout handling by @​Zyie in #​11947
    • Bitmap text now supports whiteSpace modes (normal, pre, nowrap, pre-line, pre-wrap) with proper space/newline collapsing
    • Bitmap text word wrap supports break-after characters (hyphens, en-dash, em-dash, soft hyphen)
    • Canvas text and split text now render align: 'justify' by distributing extra word spacing
    • Dynamic bitmap fonts scale drop shadow blur and distance proportionally to font size
    • Bitmap font xAdvance now uses true advance width from measureText() instead of bounding-box width
    • Kerning values correctly scaled by fontScale in dynamic bitmap fonts
  • feat: add visibleChanged event to container by @​ikigai-bjorn-s in #​11940
    container.on('visibleChanged', (visible) => {
        console.log('Visibility changed to:', visible);
    });
  • feat: Add function for removing aliases from resolver by @​Sertion in #​11921
🐛 Fixed
🧹 Chores

New Contributors

v8.16.0

Compare Source

💾 Download

Installation:

npm install pixi.js@8.16.0

Development Build:

Production Build:

Documentation:

Changed

🚨 Behavior Change
  • SplitText now more accurately splits Text across a wider range of TextStyle configurations. This may result in slight changes to character positioning.
  • Using SplitText.from from an existing Text now correctly transfers the source anchor to the new instance by mapping the anchor to pivot coordinates. This changes layout and positioning compared to previous behavior.
  • SplitBitmapText now correctly defaults to a white fill, matching the behavior of BitmapText.
  • HTMLText now correctly respects breakWords and no longer cuts off words that exceed wordWrapWidth.
  • HTMLText now respects the alpha value of its fill and stroke.
  • Text now correctly aligns when using align: 'right' or align: 'center', resulting in a small positional adjustment.
  • Container.cullArea is now correctly interpreted in the container’s local coordinate space and transformed to global coordinates before culling checks.
    // cullArea is defined in local space and transformed during culling
    container.cullArea = new Rectangle(0, 0, 100, 100);
  • graphics.texture(texture, 0x000000) will now correctly apply a black tint
🎁 Added
  • feat: Canvas renderer by @​krzys @​Zyie in #​11815
    • Note: This feature is experimental, please let us know if you run into any issues.
     await app.init({
          preference: 'canvas'
      });
  • feat: tagged text by @​Zyie in #​11827
    • Note: Currently only works for Text/HTMLText, BitmapText support coming soon
     const text = new Text({
      text: '<bold>Important:</bold> This is <highlight>highlighted</highlight> text',
      style: {
          fontFamily: 'Arial',
          fontSize: 28,
          fill: 'white',
          tagStyles: {
              bold: { fontWeight: 'bold', fill: 'yellow' },
              highlight: { fill: 'cyan', fontSize: 32 }
          }
      }
     });
  • feat: improve stability of SplitText by @​Zyie in #​11858
    • SplitText now fully mirrors Text behavior and regenerates automatically when its TextStyle changes via text.styleChanged()
    splitText.style.fontSize = 32
    splitText.styleChanged()
  • feat: external texture support by @​astralarya @​GoodBoyDigital in #​11846 #​11861
  • feat: add parseSync to spritesheet by @​jimhigson in #​11794
  • feat: improved Pool typing for pool.get() method by @​unstoppablecarl in #​11799
  • feat: add cube texture by @​GoodBoyDigital in #​11800
  • by @​GoodBoyDigital in
  • feat: Implement mip level rendering support in the rendering system by @​GoodBoyDigital in #​11801
  • feat: render to array layer by @​GoodBoyDigital in #​11803
🐛 Fixed
🧹 Chores

New Contributors

v8.15.0

Compare Source

💾 Download

Installation:

npm install pixi.js@8.15.0

Development Build:

Production Build:

Documentation:

Changed
🎁 Added
  • feat: add unified GC by @​Zyie in #​11786
    • Deprecated TextureGCSystem/RenderableGCSystem in favor of GCSystem.
      // old 
      app.init({
          textureGCActive: true,
          textureGCMaxIdle: 60000,
          textureGCCheckCountMax: 30000,
          renderableGCActive: true,
          renderableGCMaxUnusedTime: 60000,
          renderableGCFrequency: 30000,
      });
      
      // new
      app.init({
        gcActive: true,
        gcMaxUnusedTime: 60000,
        gcFrequency: 30000,
      });
    • feat: Adds auto-GC option to view containers by @​Zyie in #​11810
      • Disable automatic garbage collection for a node.
        new Sprite({
            autoGarbageCollect: false,
        });
  • feat: add unload method to reset GPU data by @​Zyie in #​11762
    • You can now manually unload a node by calling its unload method. This releases any GPU resources associated with the node. The node can still be used afterward—it will be re-created automatically when needed.

      sprite.unload();
      text.unload();
      mesh.unload(); 
    • feat: move GPU context storage to GraphicsContext._gpuData by @​Zyie in #​11763

    • feat: move GPU data to Geometry._gpuData by @​Zyie in #​11772

    • feat: move GPUData to TextureSource by @​Zyie in #​11774

    • feat: move GL/GPU buffer storage to Buffer._gpuData and manage buffers list by @​Zyie in #​11775

    • feat: add descriptive names GCManagedHash by @​Zyie in #​11811

    • feat: update text GPU lifecycle and resolution updates by @​Zyie in #​11781

  • feat: ParticleContainer type improvements by @​unstoppablecarl in #​11708
  • feat: allow RenderTexture.create to accept dynamic option by @​seanzhaoxiaoxiao in #​11767
🐛 Fixed
🧹 Chores
New Contributors

v8.14.3

Compare Source

💾 Download

Installation:

npm install pixi.js@8.14.3

Development Build:

Production Build:

Documentation:

Changed

🐛 Fixed

v8.14.2

Compare Source

💾 Download

Installation:

npm install pixi.js@8.14.2

Development Build:

Production Build:

Documentation:

Changed

🐛 Fixed
🧹 Chores

New Contributors

v8.14.1

Compare Source

💾 Download

Installation:

npm install pixi.js@8.14.1

Development Build:

Production Build:

Documentation:

Changed

🐛 Fixed
🧹 Chores

v8.14.0

Compare Source

💾 Download

Installation:

npm install pixi.js@8.14.0

Development Build:

Production Build:

Documentation:

Changed

🎁 Added
  • feat: add asset loading strategies by @​Zyie in #​11693
    • Three new loading strategies have been introduced: throw, skip, and retry
      • throw: The default strategy and matches the behavior of previous versions. With this strategy enabled any asset that fails to load will throw an error and the promise will reject.
      • skip: If any asset fails to load not error is thrown and the loader continues to load other assets
      • retry: Allow for multiple attempts at loading an asset before an error is thrown. The number of attempts and the delay between attempts are configurable
    const options: LoadOptions = {
      strategy: 'retry',
      retryCount: 5, // Retry up to 5 times
    };
    await Assets.load('unstable-asset.png', options);
    await Assets.init({
        basePath,
        loadOptions: { strategy: 'skip', onError: (error, asset) => console.log(error, asset.url) },
    });
    
    Assets.addBundle('testBundle', [
        { alias: 'bunny', src: 'textures/bunny_no_img.png' },
        { alias: 'bunny2', src: 'textures/bunny.png' },
    ]);
    
    // only bunny2 is defined and did not throw an error
    const assets = await Assets.loadBundle('testBundle');
  • feat: Adds progress size to asset loading by @​Zyie in #​11699
    • You can provide progressSize when loading assets to get a more accurate loading percentage. If no size is provide the default value is 1.
    const assets = [
        {
            src: [
                {
                    src: 'textures/texture.webp',
                    progressSize: 900,
                },
            ],
            alias: ['bunny-array', 'bunny-array2'],
        },
        {
            src: 'textures/bunny.png',
            progressSize: 100,
        }
    ];
    const res = await Assets.load(assets, progressMock);
  • feat: added rotate to Point math-extras by @​unstoppablecarl in #​11704
      // Basic point rotation
      const point = new Point(10, 20);
      const degrees = 45
      const radians = degrees * (Math.PI / 180)
      const result = point.rotate(radians);
      console.log(result); // {x: -7.071067811865474, y: 21.213203435596427}
    
      // Using output point for efficiency
      const output = new Point(10, 20);
      point.rotate(90 * (Math.PI / 180), output);
      console.log(result); // {x: -7.071067811865474, y: 21.213203435596427}
  • feat: add change guards to TextStyle setters to prevent redundant updates by @​mayakwd in #​11677
🐛 Fixed
🧹 Chores

New Contributors

v8.13.2

Compare Source

💾 Download

Installation:

npm install pixi.js@8.13.2

Development Build:

Production Build:

Documentation:

Changed

🐛 Fixed

v8.13.1

Compare Source

💾 Download

Installation:

npm install pixi.js@8.13.1

Development Build:

Production Build:

Documentation:

Changed

🐛 Fixed

New Contributors

v8.13.0

Compare Source

💾 Download

Installation:

npm install pixi.js@8.13.0

Development Build:

Production Build:

Documentation:

Changed

🎁 Added
  • feat: support svg fill rule subpath rendering by @​creativoma in #​11604
  • feat: simplified caching for text by @​Zyie in #​11505
    • Text that shares the same TextStyle will now share the same texture
    const textStyle = new PIXI.TextStyle({ fontSize: 24, fontFamily: "Verdana", fill: 0xffffff });
    const COUNT = 25000; 
    
    for (let i = 0; i < COUNT; i++) {
        const bunny = new Text({ text: 'hello', style: textStyle });
    
        bunny.x = (i % 100) * 105;
        bunny.y = Math.floor(i / 100) * 25;
        container.addChild(bunny);
    }
  • feat: add LRU cache for text measuring by @​Zyie in #​11644
  • feat: suppression and colorization options for deprecation message by @​mayakwd in #​11617
    import { deprecation } from 'pixi.js';
    // Supresses deprecation warnings
    deprecation.quiet = true;
    // Removes color formatting from deprecation messages
    deprecation.noColor = true;
🐛 Fixed

Note

PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot force-pushed the renovate/pixijs-monorepo branch from 1cbe8f4 to 2cd8e7b Compare July 3, 2025 18:55
@renovate renovate Bot changed the title fix(deps): update dependency pixi.js to v8.10.2 fix(deps): update dependency pixi.js to v8.11.0 Jul 3, 2025
@renovate renovate Bot force-pushed the renovate/pixijs-monorepo branch from 2cd8e7b to 662d359 Compare August 5, 2025 10:33
@renovate renovate Bot changed the title fix(deps): update dependency pixi.js to v8.11.0 fix(deps): update dependency pixi.js to v8.12.0 Aug 5, 2025
@renovate renovate Bot force-pushed the renovate/pixijs-monorepo branch from 662d359 to 895c42b Compare September 6, 2025 15:56
@renovate renovate Bot changed the title fix(deps): update dependency pixi.js to v8.12.0 fix(deps): update dependency pixi.js to v8.13.1 Sep 6, 2025
@renovate renovate Bot force-pushed the renovate/pixijs-monorepo branch from 895c42b to 35a4246 Compare September 10, 2025 09:04
@renovate renovate Bot changed the title fix(deps): update dependency pixi.js to v8.13.1 fix(deps): update dependency pixi.js to v8.13.2 Sep 10, 2025
@renovate renovate Bot changed the title fix(deps): update dependency pixi.js to v8.13.2 chore(deps): update dependency pixi.js to v8.13.2 Sep 25, 2025
@renovate renovate Bot force-pushed the renovate/pixijs-monorepo branch from 35a4246 to 329827f Compare October 7, 2025 01:52
@renovate renovate Bot changed the title chore(deps): update dependency pixi.js to v8.13.2 chore(deps): update dependency pixi.js to v8.14.0 Oct 7, 2025
@renovate renovate Bot changed the title chore(deps): update dependency pixi.js to v8.14.0 chore(deps): update dependency pixi.js to v8.14.1 Nov 10, 2025
@renovate renovate Bot force-pushed the renovate/pixijs-monorepo branch from 329827f to 853091c Compare November 10, 2025 10:47
@renovate renovate Bot force-pushed the renovate/pixijs-monorepo branch from 853091c to 5ad1754 Compare November 18, 2025 09:59
@renovate renovate Bot changed the title chore(deps): update dependency pixi.js to v8.14.1 chore(deps): update dependency pixi.js to v8.14.2 Nov 18, 2025
@renovate renovate Bot force-pushed the renovate/pixijs-monorepo branch from 5ad1754 to fe78011 Compare November 20, 2025 13:55
@renovate renovate Bot changed the title chore(deps): update dependency pixi.js to v8.14.2 chore(deps): update dependency pixi.js to v8.14.3 Nov 20, 2025
@renovate renovate Bot force-pushed the renovate/pixijs-monorepo branch from fe78011 to 208ebf8 Compare January 5, 2026 11:43
@renovate renovate Bot changed the title chore(deps): update dependency pixi.js to v8.14.3 chore(deps): update dependency pixi.js to v8.15.0 Jan 5, 2026
@renovate renovate Bot force-pushed the renovate/pixijs-monorepo branch from 208ebf8 to 209a383 Compare January 19, 2026 18:46
@renovate renovate Bot force-pushed the renovate/pixijs-monorepo branch from 209a383 to d098c87 Compare February 3, 2026 16:58
@renovate renovate Bot changed the title chore(deps): update dependency pixi.js to v8.15.0 chore(deps): update dependency pixi.js to v8.16.0 Feb 3, 2026
@renovate renovate Bot force-pushed the renovate/pixijs-monorepo branch from d098c87 to 91fb932 Compare March 9, 2026 18:11
@renovate renovate Bot changed the title chore(deps): update dependency pixi.js to v8.16.0 chore(deps): update dependency pixi.js to v8.17.0 Mar 9, 2026
@renovate renovate Bot force-pushed the renovate/pixijs-monorepo branch from 91fb932 to 1ca7609 Compare March 16, 2026 09:51
@renovate renovate Bot changed the title chore(deps): update dependency pixi.js to v8.17.0 chore(deps): update dependency pixi.js to v8.17.1 Mar 16, 2026
@renovate renovate Bot force-pushed the renovate/pixijs-monorepo branch from 1ca7609 to f714486 Compare April 1, 2026 17:46
@renovate renovate Bot force-pushed the renovate/pixijs-monorepo branch from f714486 to 02f7f83 Compare April 14, 2026 17:42
@renovate renovate Bot changed the title chore(deps): update dependency pixi.js to v8.17.1 chore(deps): update dependency pixi.js to v8.18.0 Apr 14, 2026
@renovate renovate Bot force-pushed the renovate/pixijs-monorepo branch from 02f7f83 to 03c6441 Compare April 14, 2026 21:33
@renovate renovate Bot changed the title chore(deps): update dependency pixi.js to v8.18.0 chore(deps): update dependency pixi.js to v8.18.1 Apr 14, 2026
@renovate renovate Bot force-pushed the renovate/pixijs-monorepo branch from 03c6441 to 98021fe Compare April 29, 2026 20:28
@renovate renovate Bot force-pushed the renovate/pixijs-monorepo branch from 98021fe to 3681a49 Compare May 12, 2026 10:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants