9 hours ago
next.js

v16.3.0-canary.59

Misc Changes

  • Upgrade to swc 70: #94814
  • [turbopack] Sort modules in chunks to reduce duplicates: #94961
  • router instrumentation: refactor client hook dispatch (1/7): #94755
  • [otel] Add more verbose-mode OTEL spans for App Router: #94894
  • Enforce route segment configs on metadata routes under Cache Components: #94962
  • typegen: default to Turbopack: #94952
  • router instrumentation: add transition start context (2/7): #94766
  • fix: after(callback) called after response end: #94974
  • fix: request APIs in promises passed to after() in actions/handlers: #94964

Credits

Huge thanks to @mischnic, @sampoder, @feedthejim, @unstubbable, @wbinnssmith, and @lubieowoce for helping!

12 hours ago
drawio
15 hours ago
apexcharts.js

💎 Version 5.15.2

Fixes

Draw-animation frame no longer touches a destroyed chart

An animated chart (e.g. an area chart) schedules a requestAnimationFrame during render() to run its mask-reveal / draw animation. If the chart was destroyed before that frame fired, the stale callback ran against already-cleared DOM and threw:

TypeError: Cannot read properties of null (reading 'node')   // in runMaskReveal

The classic trigger is React StrictMode, which mounts → unmounts → remounts a component in development: the first mount queues the animation frame, the unmount calls destroy() (which nulls w.dom.elDefs), and the queued frame then fires against the torn-down chart. Any sufficiently rapid unmount hit the same race.

The fix adds an internal isDestroyed flag, set by destroy() (but not by updates), that the deferred draw-animation callbacks - mask reveal, stroke draw, and bulk reveal - check and bail on before touching the DOM. The flag is cleared on the next render, so re-mounting re-arms animations normally.

This complements the detached-chart destroy() fix in 5.15.1; together they resolve the teardown crashes tracked in react-apexcharts#602.

16 hours ago
astro

@astrojs/cloudflare@14.0.0-beta.3

Patch Changes

  • #16961 96398e8 Thanks @adamchal! - Speeds up astro sync by no longer starting the Cloudflare runtime during type generation

  • Updated dependencies []:

    • @astrojs/underscore-redirects@1.0.3
16 hours ago
astro

astro@7.0.0-beta.6

Minor Changes

  • #17116 f95e58e Thanks @ascorbic! - Stabilizes route caching, removing the experimental.cache and experimental.routeRules flags and replacing them with the top-level cache and routeRules configuration options.

    Route caching, introduced experimentally in v6.0.0, is now stable. It gives you a platform-agnostic way to cache responses from on-demand rendered pages and endpoints, based on standard HTTP caching semantics.

    Update your config to move cache and routeRules out of the experimental block:

    // astro.config.mjs
    import { defineConfig, memoryCache } from 'astro/config';
    
    export default defineConfig({
    -  experimental: {
    -    cache: {
    -      provider: memoryCache(),
    -    },
    -    routeRules: {
    -      '/blog/[...path]': { maxAge: 300, swr: 60 },
    -    },
    -  },
    +  cache: {
    +    provider: memoryCache(),
    +  },
    +  routeRules: {
    +    '/blog/[...path]': { maxAge: 300, swr: 60 },
    +  },
    });

    Set caching directives in your routes with Astro.cache (in .astro pages) or context.cache (in API routes and middleware), and Astro translates them into the appropriate headers or runtime behavior depending on your configured cache provider. You can also define cache rules for routes declaratively in your config using routeRules, without modifying route code.

    See the route caching guide for more information.

Patch Changes

  • #17090 3cf76c0 Thanks @matthewp! - Fixes Vite and Rolldown build warnings

  • Updated dependencies [7e7ab87]:

    • @astrojs/markdown-satteri@0.3.1-beta.2
16 hours ago
astro

@astrojs/mdx@7.0.0-beta.4

Patch Changes

16 hours ago
astro

@astrojs/markdown-satteri@0.3.1-beta.2

Patch Changes

16 hours ago
astro

create-astro@5.1.0-beta.0

Minor Changes

  • #17122 cbd6123 Thanks @matthewp! - Adds a default AGENTS.md file to new projects with dev server instructions and documentation links. Also creates a CLAUDE.md symlink (with hard link fallback) pointing to AGENTS.md.
18 hours ago
rollup

v4.62.2

4.62.2

2026-06-19

Bug Fixes

  • Do not add spurious side-effect-free external imports to chunks when using minChunkSize (#6411)

Pull Requests

  • #6411: Skip side-effect-free external imports when hoisting is disabled (@morgan-coded, @lukastaegert)
  • #6416: refactor(rust/parser_ast): extract property AstConverter write buffer kind logic to new method (@fabianbernhart, @lukastaegert)
19 hours ago
phaser

Phaser v4.2.0

Version 4.2.0 - Giedi - 19th June 2026

New Features

  • New game config options:
    • render.alphaStrategy: hint to shaders to handle alpha in different ways.
    • render.stencil: disable stencil buffer creation in a game, saving memory.
    • render.stencilAlphaStrategy: set the default alpha strategy used within Stencil objects, where regular alpha does nothing.
  • CustomContext game object is a container which can modify the DrawingContext at render time. This is an advanced rendering technique which reaches into the deep settings of the renderer. Potential uses include:
    • Toggling stencil testing
    • Selectively activating alpha handling strategies
    • Freehand GL scissor modification
  • Mesh2D game object renders textured triangles. It batches with regular sprites.
    • Mesh2D#buildOrderedIndices precomputes an optimized index list (Mesh2D#indicesOrdered) which arranges triangles into quad-forming pairs, synthesizing degenerate triangles where a triangle has no edge-sharing partner. You choose the optimization strategy (0 fast, 1 medium, 2 high), paying the cost once when the topology is stable. Use Mesh2D#useOrderedIndices (and Mesh2D#setUseOrderedIndices) to toggle between the ordered and unordered lists without rebuilding.
    • Mesh2D#renderAsTriangles (and Mesh2D#setRenderAsTriangles) renders the mesh as individual triangles via the new BatchHandlerTri render node, which is suitable for dynamic topology that cannot be optimized into quads.
  • BatchHandlerTri render node draws individual textured triangles (gl.TRIANGLES) as a batch. It extends BatchHandlerQuad, reusing its shader, vertex layout, and texture handling, and adds a batchTriangles method which accepts vertex and index arrays directly.
  • TransformerVertex render node now splits its per-vertex run into setupMatrix (build the transform matrix once per GameObject) and transformVertex (project a single vertex with the cached matrix). Mesh rendering uses this to avoid rebuilding the transform matrix for every vertex. run is unchanged for existing callers.
  • Stencil game object is a container whose contents modify the stencil buffer. This is a fast way to persistently mask the game canvas. There are many ways to combine stencils. The default approach is to add layers to the stencil mask.
    • Unlike stencil masks in Phaser 3, Stencil objects are universal, persistent, and support anything as a stencil source, so long as it draws pixels. Use sprites and filter outputs as stencil sources!
    • Operating modes include addLayer, subtractLayer, clear, and clearRegion. Add and subtract can be inverted.
  • StencilReference game object re-renders a target Stencil with different settings. This is useful for removing or reusing stencil geometry.
  • AlphaStrategy setting used in the render system allows you to use GLSL discard instead of alpha in many shaders. This is inefficient, but is useful for some effects and situations.
    • Game config can set a default alpha strategy.
    • Stencil and CustomContext allow you to set an alpha strategy.
    • Most Phaser shaders handle alpha strategy. Custom shaders must implement it themselves, but you can use compositing (filtersForceComposite) to run graphics through a compatible shader.
    • Strategies include:
      • keep: use alpha as normal.
      • dither: use a dithering algorithm to select pixels to discard.
      • threshold: discard all pixels below a certain alpha.
  • BatchHandler render node now has a config option for topology, allowing extended nodes to opt into different triangulation modes.
  • BatchHandlerTri render node renders textured triangles. It is used by Mesh2D in triangle rendering mode. This can be more efficient than attempting to compile triangles into quads, which is the default strategy.
  • DrawingContext adds more controls:
    • Alpha strategy
    • Color writemask
    • Stencil parameters
  • WebGLGlobalWrapper now handles stencil write mask.
  • WebGLStencilParametersFactory now takes an extra writeMask parameter.
  • TintModes.MULTIPLY_TWO is a new tint mode which uses a secondary color. This can create powerful new tint effects, such as fire or inversion.
    • To support this, the encoding of tint mode in shaders with the ApplyTint addition has been changed. The inTintEffect shader attribute has changed from a float to a vec4, and its encoding has changed from a float32 to four uint8s. This should only affect deep uses of the render system.
    • Game objects with the Tint component now support a second tint per corner (tint2TopLeft etc), and have a new method setTint2(). Additionally, the Mesh2D and Tile objects support constant tint via tint2. (TilemapGPULayer does not support tinting on tiles.)
  • Timestep#setFPSLimit method changes the frame rate at runtime. This method updates derived properties, making it safer than manually adjusting Timestep#fpsLimit.

New Feature: Cone Lights

Cone lights are standard Phaser dynamic lights restricted to a directional cone. They are useful for flashlights, lantern beams, vision cones, headlights, searchlights, and other focal light sources.

Cone lights run through the existing WebGL lighting shader. They do not require a mask, a second Camera, or rendering the map twice. Any Game Object that already works with Phaser lighting can be lit by a cone light.

Full details can be found in the Phaser 4 Cone Lights.md file in the docs folder in this repo.

  • Light.coneEnabled is a new boolean property that controls if the light is restricted to a cone.
  • Light.coneRotation is a new number property that sets the cone direction in radians.
  • Light.coneInnerAngle is a new number property that sets the inner cone angle in radians.
  • Light.coneOuterAngle is a new number property that sets the outer cone angle in radians.
  • Light.setCone is a new method that sets a Light to be a Cone light.
  • Light.setConeRotation is a new method that sets the cone light rotation.
  • Light.setConeAngles is a new method that sets the cone light inner and outer angles.
  • Light.disableCone is a new method that disables a cone light.
  • LightsManager.addConeLight is a new method that creates a cone-limited light.
  • The DefineLights GLSL shader gains two new uniforms: vec2 direction and vec3 cone.

Thanks to @FSDevelop for adding this feature.

Changes

  • GameObjects.Components.Filters now adds its RenderStep just before the core render method. This allows other steps to run beforehand.
  • WebGLStencilParametersFactory now defaults to:
    • enabled: true (stencil test is on by default; testing showed little performance impact)
    • func: gl.EQUAL (stencil test now passes if the stencil buffer is EQUAL to 0)

Fixes

  • Layer no longer has a duplicate RenderStep which does nothing.
  • SpriteGPULayer no longer tries to access global namespace for Phaser functionality, which can cause a crash in modules.
  • SpriteGPULayer no longer has a Mask component, as it's a Canvas feature but the object is WebGL only.
  • DrawingContext no longer attempts to unbind textures based on the game canvas, which cannot exist and just wastes time.
  • A Blitter will now call destroy on its Bob Game Objects as part of its own destroy process. Fix #7292 (thanks @samme)
  • Fixed a bug where the Line width and height values were not being updated after a call to setTo(). Fix #7270 (thanks @samme)
  • Phaser.Math.Pow2 now exports GetPowerOfTwo, IsSizePowerOfTwo and IsValuePowerOfTwo. Fix #7309 (thanks @Visualizeit )