10.7.1
- keep typed array line points in toObject() and toJSON() #2073 (Bao Nguyen)
- Transformer follows size changes of an attached group's children (Anton Lavrevov)
- 7cb8bb1: update CHANGELOG with new version (Anton Lavrevov)
- 48a8c8d: build for 10.7.1 (Anton Lavrevov)
10.7.0
- add Group.isolated() and shape-sized perfect-draw buffers (Anton Lavrevov)
- add Shape.selfRectFunc() for custom shape bounds (Anton Lavrevov)
- isolation surfaces inherit imageSmoothingQuality (Anton Lavrevov)
- apply prettier (Anton Lavrevov)
- remove the size-limit check (Anton Lavrevov)
- 3617366: update CHANGELOG with new version (Anton Lavrevov)
- ca62a92: build for 10.7.0 (Anton Lavrevov)
10.6.0
- resolve rendering, interaction, and serialization review issues (Anton Lavrevov)
- correct high-DPI filters, stroke bounds, and character styles (Anton Lavrevov)
- isolate pointer state across stages and input families (Anton Lavrevov)
- resolve simple review tasks and clean up docs and tests (Anton Lavrevov)
- detach node before invalidating tree-dependent caches (Anton Lavrevov)
- preserve explicit attribute values equal to computed defaults in toObject (Anton Lavrevov)
- complete drags started from pointer events (Anton Lavrevov)
- stop mutating caller configs in Text constructor and exports (Anton Lavrevov)
- measure text without kerning when it is drawn per character (Anton Lavrevov)
- stop only the requested drag in stopDrag (Anton Lavrevov)
- isolate mutable array attribute defaults between instances (Anton Lavrevov)
- include the underline in Text bounds (Anton Lavrevov)
- respect Tween callback teardown (Anton Lavrevov)
- invalidate transformer bounds when its own rotation changes (Anton Lavrevov)
- report the newly started touch in stage touchstart (Anton Lavrevov)
- report previous component values in compound change events (Anton Lavrevov)
- detach both layer canvases on remove (Anton Lavrevov)
- apply an explicit ltr text direction to the canvas (Anton Lavrevov)
- interpolate stroke gradient color stops (Anton Lavrevov)
- read rotateAnchorAngle as degrees during rotation drag (Anton Lavrevov)
- report the captured pointer id in capture events (Anton Lavrevov)
- round automatic cache and export extents to the far edge (Anton Lavrevov)
- clamp parsed CSS color components to their range (Anton Lavrevov)
- draw text decorations with the selected fill (Anton Lavrevov)
- keep Arrow head aligned when endpoints repeat (Anton Lavrevov)
- normalize supported Tween array transitions (Anton Lavrevov)
- average Pixelate blocks with alpha weighting (Anton Lavrevov)
- redraw Image when src is assigned after creation (Anton Lavrevov)
- release Image.fromURL load handlers after the first load (Anton Lavrevov)
- stop Label stacking listeners on re-added children (Anton Lavrevov)
- make a close command travel back to the start of the subpath (Anton Lavrevov)
- accumulate TextPath kerning along the path (Anton Lavrevov)
- compute exact bounds for path arc segments (Anton Lavrevov)
- exclude trailing letter spacing from TextPath layout (Anton Lavrevov)
- locate points on elliptical arcs by distance (Anton Lavrevov)
- normalize negative arc radii and draw arcs with ellipse (Anton Lavrevov)
- stabilize length of nearly straight quadratic curves (Anton Lavrevov)
- skip caching when the requested region has a negative size (Anton Lavrevov)
- do not listen for load on an image element that is already loaded (Anton Lavrevov)
- locate points on circular arcs with the closed-form angle (Anton Lavrevov)
- state the real reason the parsed color components are clamped (Anton Lavrevov)
- resolve an inherited text direction from the canvas context (Anton Lavrevov)
- clamp the computed export extent so the stage-size fallback still fires (Anton Lavrevov)
- let the Transformer follow text decoration bound changes (Anton Lavrevov)
- do not bound a zero-sweep arc by the whole ellipse (Anton Lavrevov)
- end the whole gesture in stopDrag, not only that node (Anton Lavrevov)
- keep getSelfRect off the text measurement path (Anton Lavrevov)
- record the review-task batch in the changelog and close the audit list (Anton Lavrevov)
- open the 10.6.0 changelog section and give 10.5.0 its own heading (Anton Lavrevov)
- simplify path processing, transform batching, and filter buffers (Anton Lavrevov)
- replace Sprite timing assertions with redraw behavior checks (Anton Lavrevov)
- cover toBlob keeping the callback of a reused config (Anton Lavrevov)
- compare path point lists with a tolerance instead of exact floats (Anton Lavrevov)
- 2babeee: Merge branch 'review-fixes/transformer' into review-fixes/all (Anton Lavrevov)
- 6628d9d: Merge branch 'review-fixes/node-factory' into review-fixes/all (Anton Lavrevov)
- 4f0db5d: Merge branch 'review-fixes/util-layer' into review-fixes/all (Anton Lavrevov)
- 6bd62d3: Merge branch 'review-fixes/text' into review-fixes/all (Anton Lavrevov)
- 157628d: Merge branch 'review-fixes/arrow' into review-fixes/all (Anton Lavrevov)
- 2d5dc95: Merge branch 'review-fixes/tween' into review-fixes/all (Anton Lavrevov)
- 8fc42c5: Merge branch 'review-fixes/pixelate' into review-fixes/all (Anton Lavrevov)
- 2d796a4: Merge branch 'review-fixes/image' into review-fixes/all (Anton Lavrevov)
- 57b65c8: Merge branch 'review-fixes/label' into review-fixes/all (Anton Lavrevov)
- dae1bdf: Merge branch 'redo/textpath' into review-fixes/all (Anton Lavrevov)
- reject null in the compound accessors that throw on it (Anton Lavrevov)
- 1199be0: Merge branch 'redo/types' into review-fixes/all (Anton Lavrevov)
- 444a46c: Merge branch 'repair/node' into review-fixes/all (Anton Lavrevov)
- 05eec26: Merge branch 'repair/text' into review-fixes/all (Anton Lavrevov)
- 446e01f: Merge branch 'repair/path' into review-fixes/all (Anton Lavrevov)
- df1827b: Merge branch 'repair/misc' into review-fixes/all (Anton Lavrevov)
- 894429d: Merge review-task fix batch: 35 backlog fixes and 12 review repairs (Anton Lavrevov)
- e759195: update CHANGELOG with new version (Anton Lavrevov)
- 5f2dcf7: build for 10.6.0 (Anton Lavrevov)
10.5.0
- Stage.eventBatchFunc() batches native input for framework integrations (Anton Lavrevov)
- touchcancel releases only the canceled pointers and fires a cancel event (Anton Lavrevov)
- toBlob() resolves with a Blob instead of unknown (Anton Lavrevov)
- keep the Node class JSDoc attached to the class (Anton Lavrevov)
- document Path width() and height() for the API reference (Anton Lavrevov)
- Transformer reuses unchanged shape bounds and skips equal anchor updates (Anton Lavrevov)
- 8225a78: update CHANGELOG with new version (Anton Lavrevov)
- 9008123: build for 10.5.0 (Anton Lavrevov)
10.4.0
- destroy event; Transformer, Tween, pointer captures and stage timers release destroyed nodes (Anton Lavrevov)
- 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)
- 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)
- 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)
- hygiene (Anton Lavrevov)
- 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)
- 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; shadow probe releases its canvas (Anton Lavrevov)
- resolve every TODO comment in src and tests (Anton Lavrevov)
- remove dead code, dead files and unused devDependencies (Anton Lavrevov)
- ad94d9d: update CHANGELOG (Anton Lavrevov)
- f142b6e: update CHANGELOG (Anton Lavrevov)
- 7ee3232: update CHANGELOG (Anton Lavrevov)
- c9f3830: update CHANGELOG (Anton Lavrevov)
- 0f88c28: update CHANGELOG (Anton Lavrevov)
- declarations that contradicted the runtime or the docs (Anton Lavrevov)
- ac581a4: update CHANGELOG with new version (Anton Lavrevov)
- e51c16d: build for 10.4.0 (Anton Lavrevov)
10.3.3
- describe Konva's use cases in package metadata and README, point to Polotno (Anton Lavrevov)
- remove unused variable #2068 (aryanpingle)
- 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
- 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)
- rewrite README intro and quick start (Anton Lavrevov)
- allocate hit and buffer canvases lazily (Anton Lavrevov)
- 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
- 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)
- Line: write the control point distance sum once (Anton Lavrevov)
- Text: hoist stringToArray(line) out of _setTextData binary search #2044 (Damian Frizzi)
- remove the formatting check (Anton Lavrevov)
- 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)