Skip to content

Releases: konvajs/konva

10.5.0

Choose a tag to compare

@github-actions github-actions released this 08 Sep 15:42

Features

  • Stage.eventBatchFunc() batches native input for framework integrations (Anton Lavrevov)

Bug Fixes

  • touchcancel releases only the canceled pointers and fires a cancel event (Anton Lavrevov)
  • toBlob() resolves with a Blob instead of unknown (Anton Lavrevov)

Documentation

  • keep the Node class JSDoc attached to the class (Anton Lavrevov)
  • document Path width() and height() for the API reference (Anton Lavrevov)

Performance Improvements

  • Transformer reuses unchanged shape bounds and skips equal anchor updates (Anton Lavrevov)

Commits

  • 8225a78: update CHANGELOG with new version (Anton Lavrevov)
  • 9008123: build for 10.5.0 (Anton Lavrevov)

10.4.0

Choose a tag to compare

@github-actions github-actions released this 07 Sep 22:48

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)
  • hoisted component getter names, single-array Transform, direct drawImage, hoisted TypedArray (Anton Lavrevov)
  • Animation keeps its running animations in a Set; an animation stopping itself no longer skips the next one; setLayers() copies its argument (Anton Lavrevov)

Tests

Builds

  • keep JSDoc in the published .d.ts files (Anton Lavrevov)
  • size budget of 48 KB, CI runs size, import and type checks on Node 22 (Anton Lavrevov)
  • release script runs the tests, drops the empty cdn-link commit and the hard-coded directory (Anton Lavrevov)
  • named exports and prepublishOnly (Anton Lavrevov)
  • drop the named exports and the separate UMD entry (Anton Lavrevov)

Chores

  • remove dead Node internals and hoist the non-bubbling event list (Anton Lavrevov)
  • build the browser tests from a clean Parcel cache (Anton Lavrevov)
  • drop the unregistered fillLinearRadial* declarations, build ellipses with context.ellipse() (Anton Lavrevov)
  • remove dead code (hit fill/stroke duplicates, lineDash fallbacks, trace branch, unused globals, addDeprecatedGetterSetter) (Anton Lavrevov)
  • red/green/blue registered once with the shared component validator, alpha uses afterSetFilter (Anton Lavrevov)
  • remove dead code; cloneObject() copies nested arrays and typed arrays; sha...
Read more

10.3.3

Choose a tag to compare

@github-actions github-actions released this 04 Sep 16:58

Documentation

  • describe Konva's use cases in package metadata and README, point to Polotno (Anton Lavrevov)

Chores

Commits

  • 801f9b8: Merge branch 'master' of github.com:konvajs/konva (Anton Lavrevov)
  • 401afa0: update CHANGELOG with new version (Anton Lavrevov)
  • 77f052a: build for 10.3.3 (Anton Lavrevov)
  • 77a422b: update cdn link (Anton Lavrevov)

10.3.2

Choose a tag to compare

@github-actions github-actions released this 26 Aug 22:58

Bug Fixes

  • use JSDoc comment for Kaleidoscope filter so it appears in API docs (Anton Lavrevov)
  • listen for drag events in the stage owner window #2066 (Dmitry)
  • use the window the stage is rendered in (Anton Lavrevov)
  • do not fire pointerclick after drag and drop (Anton Lavrevov)
  • transformer anchor oscillation with keepRatio and padding (Anton Lavrevov)
  • keep the active transformer anchor when boundBoxFunc rejects a flip (Anton Lavrevov)
  • capture the pointer on the stage container in setPointerCapture (Anton Lavrevov)
  • honor fill and stroke styles set by charRenderFunc (Anton Lavrevov)

Documentation

Performance Improvements

Commits

  • 5d15a49: Fix three @PARAM names that do not match the signatures (darkdi) #2065
  • 0d0bf5d: Attach the on() docs to the implementation so they reach the bundle (Anton Lavrevov)
  • 829050e: update CHANGELOG with new version (Anton Lavrevov)
  • 005356e: build for 10.3.2 (Anton Lavrevov)

10.3.1

Choose a tag to compare

@github-actions github-actions released this 15 Aug 01:06

Bug Fixes

  • Path: return last point for getPointAtLength past a closed path #2053 (Yarchik)
  • Arc.getSelfRect() reports a full circle for a zero-degree clockwise arc #2054 (Alexander Kireev)
  • Shape: respect imageSmoothingEnabled for fillPatternImage #2055 (MarkXian)
  • Util: preserve alpha of the named color "transparent" #2056 (Yarchik)
  • Util: parse rgb() components written as percentages #2057 (jaybhade)
  • Util: colorToRGBA() fails to parse non-integer HSL hue #2059 (Xuepoo)
  • Line: getSelfRect wrong for multi-segment bezier and degenerate-derivative segments #2061 (Xuepoo)
  • Line: avoid NaN control points on closed tensioned lines with coincident points #2062 (rajanpanth)
  • Line: guard the zero-distance case inside getControlPoints (Anton Lavrevov)
  • Line: cover joints and near-degenerate derivatives in bezier bounds (Anton Lavrevov)
  • Path: exact getSelfRect bounds for quadratic segments (Anton Lavrevov)
  • Line: exact getSelfRect bounds for lines with a tension (Anton Lavrevov)

Code Refactoring

Performance Improvements

Continuous Integration

Commits

  • b5c7a83: Fix ValidatorFunc Type Mistake (foolishflyfox) #1998
  • ecdf162: Improve Transformer performance with many attached nodes (Anton Lavrevov)
  • 976a63a: Add Transformer perf invariant tests; widen autoDraw suspension (Anton Lavrevov)
  • 7b3cf3b: Simplify a bit (Anton Lavrevov)
  • a203de9: sandbox (Anton Lavrevov)
  • 6e4025c: clear (Anton Lavrevov)
  • b92018b: Merge branch 'master' of github.com:konvajs/konva (Anton Lavrevov)
  • bc123b3: Declare canvas and skia-canvas as optional peer dependencies (Anton Lavrevov)
  • ed1e0cc: Skip pattern smoothing sanity check on skia-canvas (Anton Lavrevov)
  • f9bd818: Report full circle for any full-turn angle in Arc.getSelfRect (Anton Lavrevov)
  • dd90ff4: Merge pull request #2054: fix Arc.getSelfRect for full-turn angles (Anton Lavrevov)
  • 4f8e1a8: color parsing fixes, fix some color values. close #2063, close #2064 (Anton Lavrevov)
  • 4ebadaf: Merge branch 'master' into fix/line-tension-nan (Anton Lavrevov) #2062
  • Line NaN bounding rect fix (Anton Lavrevov)
  • cover all unreleased changes since 10.3.0 (Anton Lavrevov)
  • c7145cc: Merge branch 'master' into fix/line-bezier-selfrect (Anton Lavrevov) #2061
  • d2b96f5: fix(Line,Path): share one exact solver for cubic bezier bounds (Anton Lavrevov)
  • 9e8a106: update CHANGELOG with new version (Anton Lavrevov)
  • fb706a2: build for 10.3.1 (Anton Lavrevov)
  • fad321d: update cdn link (Anton Lavrevov)

v10.3.0

Choose a tag to compare

@github-actions github-actions released this 30 Apr 20:23

Commits

  • 5b5ed7d: fix readme (Anton Lavrevov)
  • 398f9d3: fix ci (Anton Lavrevov)
  • 3816a51: Added direction property to TextPath shape for better RTL support (Anton Lavrevov)
  • e201727: restore all tests (Anton Lavrevov)
  • ae5bbf7: 10.3.0 (Anton Lavrevov)

10.2.5

Choose a tag to compare

@github-actions github-actions released this 10 Apr 17:13

Commits

  • 9e34328: fix safari text + shadow + opacity render (Anton Lavrevov)
  • 2315976: update CHANGELOG with new version (Anton Lavrevov)
  • ff7faac: build for 10.2.5 (Anton Lavrevov)
  • 0fe9f92: update cdn link (Anton Lavrevov)

10.2.4

Choose a tag to compare

@github-actions github-actions released this 10 Apr 16:12

Commits

  • 8c487a1: update CHANGELOG with new version (Anton Lavrevov)
  • 46ac72c: build for 10.2.3 (Anton Lavrevov)
  • 811d62a: update cdn link (Anton Lavrevov)
  • 2528fb0: fixed fire execution order (Anton Lavrevov)
  • 7d704c0: update CHANGELOG with new version (Anton Lavrevov)
  • d69786e: build for 10.2.4 (Anton Lavrevov)
  • 5193253: update cdn link (Anton Lavrevov)

10.2.3

Choose a tag to compare

@github-actions github-actions released this 16 Mar 20:41

Commits

  • 6f3e7f5: fix possible crash on drag + transformer (Anton Lavrevov)
  • 4fd2712: update CHANGELOG with new version (Anton Lavrevov)
  • 167c30f: build for 10.2.3 (Anton Lavrevov)
  • a537685: update cdn link (Anton Lavrevov)

10.2.2

Choose a tag to compare

@github-actions github-actions released this 13 Mar 16:47

Commits

  • 60506b5: fix possible incorrect structure (Anton Lavrevov)
  • e3e8618: changes (Anton Lavrevov)
  • c2ff284: update CHANGELOG with new version (Anton Lavrevov)
  • 4dd3e9d: build for 10.2.2 (Anton Lavrevov)
  • c7776f0: update cdn link (Anton Lavrevov)