Releases: konvajs/konva
Releases · konvajs/konva
Release list
10.5.0
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
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)
- 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
- hygiene (Anton Lavrevov)
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...
10.3.3
Documentation
- describe Konva's use cases in package metadata and README, point to Polotno (Anton Lavrevov)
Chores
- remove unused variable #2068 (aryanpingle)
Commits
10.3.2
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
- rewrite README intro and quick start (Anton Lavrevov)
Performance Improvements
- allocate hit and buffer canvases lazily (Anton Lavrevov)
Commits
10.3.1
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
- Line: write the control point distance sum once (Anton Lavrevov)
Performance Improvements
- Text: hoist stringToArray(line) out of _setTextData binary search #2044 (Damian Frizzi)
Continuous Integration
- remove the formatting check (Anton Lavrevov)
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
10.2.5
10.2.4
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)