chore(deps): update dependency konva to v10 - #77
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
|
renovate
Bot
force-pushed
the
renovate/konva-10.x
branch
2 times, most recently
from
July 30, 2026 17:54
0235d99 to
ccf5db8
Compare
renovate
Bot
force-pushed
the
renovate/konva-10.x
branch
2 times, most recently
from
August 14, 2026 22:10
7e30362 to
8292762
Compare
renovate
Bot
force-pushed
the
renovate/konva-10.x
branch
from
September 3, 2026 01:04
8292762 to
1d9377c
Compare
renovate
Bot
force-pushed
the
renovate/konva-10.x
branch
from
September 7, 2026 22:16
1d9377c to
152208f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^9.3.0→^10.0.0Release Notes
konvajs/konva (konva)
v10.5.0Compare Source
Features
Bug Fixes
Documentation
Performance Improvements
Commits
8225a78: update CHANGELOG with new version (Anton Lavrevov)9008123: build for 10.5.0 (Anton Lavrevov)v10.4.0Compare Source
destroyevent, fired at the start ofnode.destroy().Transformerdrops a destroyed node fromnodes()andTweenstops the tweens of a destroyed nodewidth()andheight()toPathKonva.Transform#isInvertible()letterSpacing,charRenderFuncand wrapping.letterSpacingnow adds one spacing per grapheme instead of per UTF-16 code unitTransformerperformance: anchors are resolved directly instead of by selectorTextperformance withcharRenderFuncand when wrapping a long text (both were quadratic in text length)TextandTextPathcreation performance. Note: relayout listeners now live on the prototype, sotext.off('textChange.konva')no longer removes themTextPathlayout performance on paths with many segmentscontainer.getClientRect(), drag and drop,Animationstart/stop, component getters andImagedrawing performance. Note:Konva.Animation.animationsis now aSetcache(),toCanvas(),toDataURL(),toImage()andtoBlob(). Note: a cropped export no longer includes shadows of shapes lying fully outside the crophasStroke()returns a boolean instead of the stroke widthText,TextPathand CSS filter strings, and fixed a canvas leak on every draw of a node with CSS filtersTransformerignoring changes of attached nodes made between pointer moves during a resize (regression in 10.3.1)Transformerfollowing the wrong finger during a pinch, writingNaNwhen resizing a zero-size node, not refreshing onpaddingchange, blanking the hit graph of unrelated layers, and being misplaced inside a cached or transformed containerlayer.size()shrinking the layer canvas. A layer follows the stage sizecontainer.getChildren()andstage.getLayers()returning the internal array. They return a copyclearCache()of a container un-caching every descendant and leaking their canvasescache(),setAttrs()andsetPosition()leaving a node in a broken state after an exception in asceneFunc, a filter or a settersetAbsolutePosition()and dragging writingNaNunder an ancestor with a zero scaleradiusorcornerRadiusthrowing during draw and blanking the shapes after itlayer.batchDraw()never drawing again after a draw threwtoObject()andtoJSON()modifying the node: circular or DOM attributes were lost, frozen state threw, and a custom attribute named like a node method invoked itTransformerof a node inside a cached container. Note:getClientRect()under a cached ancestor is now absolute like everywhere elsehasShadow()not updating when onlyshadowOffsetXorshadowOffsetYchangesnode.fire(type, null, true)throwingnode.clone()sharing nested array attributes with the originalTween: component attributes (scale,offset...) wrote junk attributes, gradient color stops were replaced in the node's own array,onUpdate/onResetwere tweened, the first tween of a page could not be cancelled, andnode.to()modified its params.node.to()returns the tweensetDashArray()setting nothing and deprecated aliases returning nothingPathbounds for rotated elliptical arcs and empty paths, parsing of SVGO-compressed arcs and00coordinates, andgetPointAtLength()past the end of an arc. Degenerate data (truncated commands, zero-radius arcs, a number afterz) follows SVG instead of producingNaNor hangingSpritekeeping its interval afterdestroy(), throwing on an unknown animation or frame, and missinggetSelfRect()RegularPolygonwithoutsidesthrowing from every drawTag.getSelfRect()withpointerDirectionleftorrightTextPathwith akerningFunc, and its underline thickness now matchesTextisLastInLineofcharRenderFuncfor the last character of every lineBlurfilter darkening semi-transparent pixels and producing an empty image for a largeblurRadius(now capped at 180)hueof the HSL and HSV filters mirroring outside -360..360, and the exact reference matrix is usedtransparentfading through whiteKonva.pixelRatioset to0orundefinednot falling back to the device pixel ratiodrawHitFromCache()with ahitCanvasPixelRatioother than 1releaseCapture()releasing a pointer held by another shapedragBoundFuncblocked a new drag,startDrag()off stage threw, lifting one finger cancelled the drags of other fingers, andstartDrag()without an event never endeddragBoundFuncresult or export rect silently blanking a layer or exporting the wrong image. An error is logged insteadclipFunccontext,line.points()typed arrays,text.width('auto'),tag.cornerRadius()array,stage.container('id'),getClientRect()config,oldVal/newValon change events, namespace types,new Konva.FastLayer()without config. Removed thefillLinearRadial*declarations that had no implementationv10.3.3Compare Source
v10.3.2Compare Source
listening: false(and every layer of a non-listening stage) now releases its stage-sized hit canvas instead of keeping it allocated, and re-creates it when it starts listening again. The two stage-sized buffer canvases of everyKonva.Stageare now created empty and only allocated by the first feature that needs them ("perfect drawing" andshape.intersects()).node.cache()of a non-listening node skips its cached hit canvas the same way, building it only if the node starts listening (previously such a node kept an empty cached hit graph and stayed unhittable until re-cached). Note: after turninglisteningback on, the hit graph appears on the next layer draw (automatic unlessKonva.autoDrawEnabledis off - then calllayer.draw(), as a singleshape.draw()is not enough to re-create the layer hit canvas)charRenderFuncofKonva.TextignoringfillStyle/strokeStyleset on the context by the callback. A style set for a character now wins over the shape attributes for that character, as documentedsetPointerCapture()not capturing the pointer on the stage container, so the stage kept missing pointer events outside of its bounds. A captured pointer now keeps sendingpointermove/pointerupto the stage beyond its edges, like pointer capture on plain HTML elementspointerclickfiring after a drag and drop, whileclickcorrectly did notTransformershaking the shape when a corner anchor withkeepRatiowas dragged across the shape withpaddingenabledTransformerswitching its active anchor whenboundBoxFuncrejects a flip. A rejected flip now keeps the grabbed anchor active, so resizing keeps following the pointer — andgetActiveAnchor()insideboundBoxFuncnow reports the anchor being held instead of the prematurely flipped onewindow.open. Such a stage now uses the pointer events of its own window, and a pointer move in another window no longer drags its nodesTransformerof such a stage, which got no pointer move or release events at alllayer.batchDraw()of such a stage, which asked the window Konva was imported into for the frame and stopped drawing when that window was not visiblestage.destroy()leaving the content of such a stage in the containerv10.3.1Compare Source
hsla()support and the space-separated CSS Color 4 syntax toKonva.Util.colorToRGBA()canvasandskia-canvasas optional peer dependencies, so the node backends resolve under strict package managersTransformerperformance with many attached nodesTextperformance when a long text is resizedPath.getSelfRect()now solves the bounds of a cubic segment exactly instead of sampling it at 100 points. Reported boxes get slightly larger and more accurate, and the calculation is about 9 times fasterLine.getSelfRect()now solves the bounds of a line with atensionexactly, instead of using the box around its tension control points. Reported boxes get smaller and tighter, by about 19% of their area on a typical linePath.getSelfRect()now also solves the bounds of a quadratic segment (Q,q,Tandt) exactly, instead of using the box around its control points. Reported boxes get smaller and tighterdarkgoldenrod,floralwhite,plum,slategray,slategrey,snowandyellowgreentransparent, so a tween to or from it fades againrgb()colors with percentage componentshsl()colors with a non-integer hue or extra whitespacefillPatternImageignoringimageSmoothingEnabledArc.getSelfRect()for a zero-degree clockwise arc and for any full-turn anglePath.getPointAtLength()returningundefinedpast the end of a closed pathNaNbounding rect on a closedLinewith a tension and coincident pointsgetSelfRect()on aLinewithbezier: true, which read only the first curve segment and could report a box of zero heightValidatorFunctype used by customFactoryvalidatorsv10.3.0Compare Source
directionproperty toTextPathshape for better RTL supportv10.2.5Compare Source
v10.2.4Compare Source
v10.2.3Compare Source
v10.2.1Compare Source
v10.2.0Compare Source
rotateAnchorAngleproperty toTransformerto control the position of the rotation anchor around the bounding boxv10.1.0Compare Source
v10.0.12Compare Source
v10.0.11Compare Source
v10.0.10Compare Source
v10.0.9Compare Source
v10.0.8Compare Source
v10.0.7Compare Source
v10.0.6Compare Source
Image.getClientRect()calculation if an instance has no image attached yetv10.0.5Compare Source
v10.0.4Compare Source
v10.0.3Compare Source
v10.0.2Compare Source
TextPathto return correct width and heightv10.0.1Compare Source
v10.0.0Compare Source
Breaking Changes
Motivation: With increased usage of
konvain SSR environments like Next.js, loading native canvas rendering on the server is unnecessary since we don't render canvas content server-side. Removing this requirement simplifies setup by avoiding native modules when they aren't needed.Konva.legacyTextRendering = true. This should NOT break major part of the apps. But if you care about pixel-perfect position of text elements, that change may effect you.New Features
skiarender backend for node.js:node.filters(['blur(10px)']). Native fitlers works MUCH faster if supported nativily (Chrome, Firefox). If there is no native support, Konva will automatially fallback to functional filter (on Safari).charRenderFuncforKonva.Textfor controlling "per-character-render". May be useful any character animations:Konva.Filters.Brightnessfilter in replace of deprecatedKonva.Filters.Brightento better match with css filters logic.cornerRadiussupport forKonva.RegularPolygonmiterLimitproperty support forKonva.Shapeto control line join appearanceBug Fixes
Konva.Rectwhen negative width or height are usedTechnical Improvements
node.toImage()Configuration
📅 Schedule: (UTC)
🚦 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.
This PR was generated by Mend Renovate. View the repository job log.