Skip to content

build(deps): bump konva from 10.3.2 to 10.4.0 - #1515

Merged
Rhilip merged 1 commit into
masterfrom
dependabot/npm_and_yarn/konva-10.3.3
Sep 15, 2026
Merged

Rhilip merged 1 commit into
masterfrom
dependabot/npm_and_yarn/konva-10.3.3

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 12, 2026

Copy link
Copy Markdown
Contributor

Bumps konva from 10.3.2 to 10.4.0.

Release notes

Sourced from konva's releases.

10.4.0

Features

  • destroy event; Transformer, Tween, pointer captures and stage timers release destroyed nodes (Anton Lavrevov)

Bug Fixes

  • size the buffer canvas of cache() and toCanvas() to the target, allocate it lazily and release it (Anton Lavrevov)
  • memoize isCSSFiltersSupported() and release its probe canvas (Anton Lavrevov)
  • stop the frame interval of a Sprite on destroy() (Anton Lavrevov)
  • keep descendant caches on clearCache() and release the previous canvases on re-cache (Anton Lavrevov)
  • setAbsolutePosition() under a zero-scale ancestor no longer writes NaN (Anton Lavrevov)
  • negative radius and cornerRadius no longer throw and blank the layer (Anton Lavrevov)
  • batchDraw() no longer freezes the layer after a throwing draw (Anton Lavrevov)
  • Blur keeps the colour of semi-transparent pixels and survives large radii (Anton Lavrevov)
  • Tween ownership bookkeeping (Anton Lavrevov)
  • clamp a negative cornerRadius in drawRoundedRectPath (Anton Lavrevov)
  • hasShadow() follows shadowOffsetX and shadowOffsetY changes (Anton Lavrevov)
  • cache() and transform batching clean up after a throw (Anton Lavrevov)
  • split text into graphemes with Intl.Segmenter (Anton Lavrevov)
  • toObject() copies attributes instead of mutating them, accepts frozen values and skips methods named like custom attributes (Anton Lavrevov)
  • drawHitFromCache() honours hitCanvasPixelRatio (Anton Lavrevov)
  • Path arc bounds, SVGO arc flags, empty data, and segment-relative getPointAtLength (Anton Lavrevov)
  • Transformer follows the grabbing pointer, guards zero-size boxes, and resolves its anchors directly (Anton Lavrevov)
  • Tween of component attributes, of array attributes the node lacks, and to() no longer mutates its params (Anton Lavrevov)
  • absolute getters and derived caches of nodes under a cached container, fire(type, null), non-finite child rects (Anton Lavrevov)
  • Canvas size equals the truncated bitmap at a fractional pixel ratio and keeps its logical size; setSizeIfChanged() with NaN (Anton Lavrevov)
  • drag with several pointers releases only the lifted pointer; startDrag() without an event ends on release (Anton Lavrevov)
  • Transformer suppresses the hit graph of its own layers only (gate moved to Layer.shouldDrawHit), forwards getClientRect(config), honours top in getAbsoluteTransform() (Anton Lavrevov)
  • RegularPolygon without sides, Sprite getSelfRect() and guards for a missing animation or frame (Anton Lavrevov)
  • report a non-finite number at the core aggregation points instead of silently drawing nothing (Anton Lavrevov)
  • Tag.getSelfRect() grows by exactly the pointer for a left or right pointer (Anton Lavrevov)
  • eleven one-line bugs (Anton Lavrevov)
  • layer.size() no longer resizes the layer canvas; getChildren() returns a copy (Anton Lavrevov)
  • review follow-ups for the polishing batch (Anton Lavrevov)
  • Transformer follows node changes made between pointer moves of a resize (Anton Lavrevov)

Documentation

  • JSDoc that contradicted the code, wrong names and types, examples that did not run (Anton Lavrevov)
  • rewrite the unreleased changelog in the usual short style (Anton Lavrevov)

Performance Improvements

  • keep a running grapheme index for charRenderFunc instead of recounting previous lines per character (Anton Lavrevov)
  • upload filter chain result once and stop reallocating the filter canvas (Anton Lavrevov)
  • release the per-layer canvases of a stage export and skip the client rect when the box is given (Anton Lavrevov)
  • resize a canvas in one pass (Anton Lavrevov)
  • drop the two Maps every node allocated (Anton Lavrevov)
  • wrap fixed-width text in linear time (Anton Lavrevov)
  • resolve edge pixels of the hit graph directly and bound the search (Anton Lavrevov)
  • relayout listeners of Text and TextPath on the prototype, listener cache keyed by class (Anton Lavrevov)
  • getClientRect() no longer scans the subtree at every nesting level (Anton Lavrevov)
  • drag reads pointer positions once per stage, skips the redraw on a plain click, and resets the drag position per drag (Anton Lavrevov)

... (truncated)

Changelog

Sourced from konva's changelog.

10.4.0 (2026-09-07)

  • Added destroy event, fired at the start of node.destroy(). Transformer drops a destroyed node from nodes() and Tween stops the tweens of a destroyed node
  • Added width() and height() to Path
  • Added Konva.Transform#isInvertible()
  • Added grapheme-aware text layout: flag emoji and ZWJ sequences stay together for letterSpacing, charRenderFunc and wrapping. letterSpacing now adds one spacing per grapheme instead of per UTF-16 code unit
  • Improved Transformer performance: anchors are resolved directly instead of by selector
  • Improved Text performance with charRenderFunc and when wrapping a long text (both were quadratic in text length)
  • Improved Text and TextPath creation performance. Note: relayout listeners now live on the prototype, so text.off('textChange.konva') no longer removes them
  • Improved TextPath layout performance on paths with many segments
  • Improved hit detection on the edges of shapes: thin lines are hittable on their own pixels, and edge search is faster and no longer walks to an unrelated shape nearby
  • Improved container.getClientRect(), drag and drop, Animation start/stop, component getters and Image drawing performance. Note: Konva.Animation.animations is now a Set
  • Reduced memory usage of cache(), toCanvas(), toDataURL(), toImage() and toBlob(). Note: a cropped export no longer includes shadows of shapes lying fully outside the crop
  • Reduced memory usage per node. hasStroke() returns a boolean instead of the stroke width
  • Reduced canvas memory usage of Text, TextPath and CSS filter strings, and fixed a canvas leak on every draw of a node with CSS filters
  • Published type declarations keep their JSDoc, so editors show the documentation on hover
  • Fixed Transformer ignoring changes of attached nodes made between pointer moves during a resize (regression in 10.3.1)
  • Fixed Transformer following the wrong finger during a pinch, writing NaN when resizing a zero-size node, not refreshing on padding change, blanking the hit graph of unrelated layers, and being misplaced inside a cached or transformed container
  • Fixed layer.size() shrinking the layer canvas. A layer follows the stage size
  • Fixed container.getChildren() and stage.getLayers() returning the internal array. They return a copy
  • Fixed clearCache() of a container un-caching every descendant and leaking their canvases
  • Fixed cache(), setAttrs() and setPosition() leaving a node in a broken state after an exception in a sceneFunc, a filter or a setter
  • Fixed setAbsolutePosition() and dragging writing NaN under an ancestor with a zero scale
  • Fixed a negative radius or cornerRadius throwing during draw and blanking the shapes after it
  • Fixed layer.batchDraw() never drawing again after a draw threw
  • Fixed toObject() and toJSON() modifying the node: circular or DOM attributes were lost, frozen state threw, and a custom attribute named like a node method invoked it
  • Fixed the absolute getters and Transformer of a node inside a cached container. Note: getClientRect() under a cached ancestor is now absolute like everywhere else
  • Fixed hasShadow() not updating when only shadowOffsetX or shadowOffsetY changes
  • Fixed node.fire(type, null, true) throwing
  • Fixed node.clone() sharing nested array attributes with the original
  • Fixed Tween: component attributes (scale, offset...) wrote junk attributes, gradient color stops were replaced in the node's own array, onUpdate/onReset were tweened, the first tween of a page could not be cancelled, and node.to() modified its params. node.to() returns the tween
  • Fixed deprecated setDashArray() setting nothing and deprecated aliases returning nothing
  • Fixed Path bounds for rotated elliptical arcs and empty paths, parsing of SVGO-compressed arcs and 00 coordinates, and getPointAtLength() past the end of an arc. Degenerate data (truncated commands, zero-radius arcs, a number after z) follows SVG instead of producing NaN or hanging
  • Fixed Sprite keeping its interval after destroy(), throwing on an unknown animation or frame, and missing getSelfRect()
  • Fixed RegularPolygon without sides throwing from every draw
  • Fixed Tag.getSelfRect() with pointerDirection left or right
  • Fixed TextPath with a kerningFunc, and its underline thickness now matches Text
  • Fixed isLastInLine of charRenderFunc for the last character of every line
  • Fixed Blur filter darkening semi-transparent pixels and producing an empty image for a large blurRadius (now capped at 180)
  • Fixed hue of the HSL and HSV filters mirroring outside -360..360, and the exact reference matrix is used
  • Fixed the named color transparent fading through white
  • Fixed Konva.pixelRatio set to 0 or undefined not falling back to the device pixel ratio
  • Fixed canvas sizes at a fractional pixel ratio, which stretched cached nodes and stage exports by up to a pixel
  • Fixed drawHitFromCache() with a hitCanvasPixelRatio other than 1
  • Fixed releaseCapture() releasing a pointer held by another shape
  • Fixed drag and drop: a clamping dragBoundFunc blocked a new drag, startDrag() off stage threw, lifting one finger cancelled the drags of other fingers, and startDrag() without an event never ended
  • Fixed a non-finite size, position, dragBoundFunc result or export rect silently blanking a layer or exporting the wrong image. An error is logged instead
  • Fixed type declarations: clipFunc context, line.points() typed arrays, text.width('auto'), tag.cornerRadius() array, stage.container('id'), getClientRect() config, oldVal/newVal on change events, namespace types, new Konva.FastLayer() without config. Removed the fillLinearRadial* declarations that had no implementation
  • Fixed many JSDoc mistakes and broken examples
  • Removed dead code, unused files and dev dependencies. Fixed the build and release scripts

... (truncated)

Commits
  • e51c16d build for 10.4.0
  • ac581a4 update CHANGELOG with new version
  • 1bf7d1b docs: rewrite the unreleased changelog in the usual short style
  • 5df8e1d fix: Transformer follows node changes made between pointer moves of a resize
  • 7af9127 build: drop the named exports and the separate UMD entry
  • 3528a09 fix: review follow-ups for the polishing batch
  • ce1d1ab build: named exports and prepublishOnly
  • f1fd0d2 build: release script runs the tests, drops the empty cdn-link commit and the...
  • bfff528 build: size budget of 48 KB, CI runs size, import and type checks on Node 22
  • 1277b84 types: declarations that contradicted the runtime or the docs
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Sep 12, 2026
@Rhilip

Rhilip commented Sep 13, 2026

Copy link
Copy Markdown
Collaborator

@dependabot rebase

1 similar comment
@Rhilip

Rhilip commented Sep 15, 2026

Copy link
Copy Markdown
Collaborator

@dependabot rebase

Bumps [konva](https://github.com/konvajs/konva) from 10.3.2 to 10.4.0.
- [Release notes](https://github.com/konvajs/konva/releases)
- [Changelog](https://github.com/konvajs/konva/blob/master/CHANGELOG.md)
- [Commits](konvajs/konva@10.3.2...10.4.0)

---
updated-dependencies:
- dependency-name: konva
  dependency-version: 10.3.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot changed the title build(deps): bump konva from 10.3.2 to 10.3.3 build(deps): bump konva from 10.3.2 to 10.4.0 Sep 15, 2026
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/konva-10.3.3 branch from 19fc7c5 to 1909e0f Compare September 15, 2026 12:32
@Rhilip
Rhilip merged commit 8150d65 into master Sep 15, 2026
2 checks passed
@Rhilip
Rhilip deleted the dependabot/npm_and_yarn/konva-10.3.3 branch September 15, 2026 12:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant