10.6.0

livestorejs/livestore10.6.0Sep 19, 2026by github-actions[bot]

Upgrading?

AI Summary

This release focuses on a comprehensive set of bug fixes regarding rendering, interaction, and serialization, alongside performance improvements and high-DPI corrections.

Key Highlights

  • Fixes for high-DPI filters, stroke bounds, and character styles
  • Isolation of pointer state across stages and input families
  • Improved text decoration and underline bounds calculation
  • Optimized path processing and transform batching

New Features

  • High-DPI filter support
  • Stroke gradient interpolation
  • Arc segment bounds calculation
  • Automatic cache extent rounding
  • Text underline bounds inclusion

Full Release Notes

## Bug Fixes
- resolve rendering, interaction, and serialization review issues ([Anton Lavrevov](https://github.com/konvajs/konva/commit/9b1cfaa39062f698bc38add6bbc67857764ffdec))
- correct high-DPI filters, stroke bounds, and character styles ([Anton Lavrevov](https://github.com/konvajs/konva/commit/a5e13387996284c82eb4ac6c57eec5f0b409bc2e))
- isolate pointer state across stages and input families ([Anton Lavrevov](https://github.com/konvajs/konva/commit/b295dceaa568e11fe6b2f82ba9935920f2eea42b))
- resolve simple review tasks and clean up docs and tests ([Anton Lavrevov](https://github.com/konvajs/konva/commit/96335585a3f50bbb30d8e15c59c5e1b0653c29d2))
- detach node before invalidating tree-dependent caches ([Anton Lavrevov](https://github.com/konvajs/konva/commit/c6921cf6212d0baccdc2f346e7fd0100737dc9b6))
- preserve explicit attribute values equal to computed defaults in toObject ([Anton Lavrevov](https://github.com/konvajs/konva/commit/53b1c318201fdda26e4da128dff1888f0f6a2f9d))
- complete drags started from pointer events ([Anton Lavrevov](https://github.com/konvajs/konva/commit/dd3b79cebb52c1ca29d3016f2bc3ab719cffd125))
- stop mutating caller configs in Text constructor and exports ([Anton Lavrevov](https://github.com/konvajs/konva/commit/34029f650c0e8c49f2cd1410e3f7f9a81a9b387a))
- measure text without kerning when it is drawn per character ([Anton Lavrevov](https://github.com/konvajs/konva/commit/b1b617437c9483df9169c9549e69b06ebc290fa3))
- stop only the requested drag in stopDrag ([Anton Lavrevov](https://github.com/konvajs/konva/commit/6d7125bddcd75368fab56c638cbddff154d3a3a2))
- isolate mutable array attribute defaults between instances ([Anton Lavrevov](https://github.com/konvajs/konva/commit/4851d9578f94639e12f0792d94f26bc662c89f8c))
- include the underline in Text bounds ([Anton Lavrevov](https://github.com/konvajs/konva/commit/f3b83ff4584757e24195dd713196ff9971ec2c16))
- respect Tween callback teardown ([Anton Lavrevov](https://github.com/konvajs/konva/commit/ac466f39f2fad5d1f42de3fe2bb7c69890d00b79))
- invalidate transformer bounds when its own rotation changes ([Anton Lavrevov](https://github.com/konvajs/konva/commit/08db5c61d448fb61e67e6937863f87d557e472c3))
- report the newly started touch in stage touchstart ([Anton Lavrevov](https://github.com/konvajs/konva/commit/f56e908d57b24265c3eb44d5a943ae707d9fe5e5))
- report previous component values in compound change events ([Anton Lavrevov](https://github.com/konvajs/konva/commit/4a6c0d118cc96603e93ac72df898acd0c687725f))
- detach both layer canvases on remove ([Anton Lavrevov](https://github.com/konvajs/konva/commit/2e49f73cb009a6a5a44a7f0d651bea8a9693196d))
- apply an explicit ltr text direction to the canvas ([Anton Lavrevov](https://github.com/konvajs/konva/commit/506a8728681545a79ff5aa116ba972e346d17660))
- interpolate stroke gradient color stops ([Anton Lavrevov](https://github.com/konvajs/konva/commit/2df728c57d50887479d1c5049fcca3ce58853275))
- read rotateAnchorAngle as degrees during rotation drag ([Anton Lavrevov](https://github.com/konvajs/konva/commit/4657420f12cd7b9958f91e0ffa0cfe4f256dfcf4))
- report the captured pointer id in capture events ([Anton Lavrevov](https://github.com/konvajs/konva/commit/c7355a43b863d0f51d05498802aa600c564f71d3))
- round automatic cache and export extents to the far edge ([Anton Lavrevov](https://github.com/konvajs/konva/commit/7caab2bb2e397f34b66f6f27020875e0aadbbf54))
- clamp parsed CSS color components to their range ([Anton Lavrevov](https://github.com/konvajs/konva/commit/34c52bcea04b7701081c78a23ed8fba92c7f4e85))
- draw text decorations with the selected fill ([Anton Lavrevov](https://github.com/konvajs/konva/commit/185068b4ee4651f8d5a4c9d675683f6b199d4539))
- keep Arrow head aligned when endpoints repeat ([Anton Lavrevov](https://github.com/konvajs/konva/commit/7708d34abe767683916c36a831dfc832b5161663))
- normalize supported Tween array transitions ([Anton Lavrevov](https://github.com/konvajs/konva/commit/fa05c28e7c00c0bf62df2e897198bb656a21af11))
- average Pixelate blocks with alpha weighting ([Anton Lavrevov](https://github.com/konvajs/konva/commit/a8830967ee1f8aff1d6f2fe3fe35a6d57dc92fbb))
- redraw Image when src is assigned after creation ([Anton Lavrevov](https://github.com/konvajs/konva/commit/54fdf0a1a38fe4b30a115977dbd42ca85870ea9b))
- release Image.fromURL load handlers after the first load ([Anton Lavrevov](https://github.com/konvajs/konva/commit/0464409a7282616142f07608df6d129c85bc6b18))
- stop Label stacking listeners on re-added children ([Anton Lavrevov](https://github.com/konvajs/konva/commit/365468b6b057020b141ff88eee46fdc20642e2c8))
- make a close command travel back to the start of the subpath ([Anton Lavrevov](https://github.com/konvajs/konva/commit/9dc981ab1ec41e978c55c77c1be7ee9426d8c4fe))
- accumulate TextPath kerning along the path ([Anton Lavrevov](https://github.com/konvajs/konva/commit/665a58edffb0c933aeb0bfa432bdc15fbceddf63))
- compute exact bounds for path arc segments ([Anton Lavrevov](https://github.com/konvajs/konva/commit/024912c5d4b20258588373499b8ebe9fa4db7b61))
- exclude trailing letter spacing from TextPath layout ([Anton Lavrevov](https://github.com/konvajs/konva/commit/21096a41456ec311aa05f4cdefd1e2486fe5e574))
- locate points on elliptical arcs by distance ([Anton Lavrevov](https://github.com/konvajs/konva/commit/9512453797205079982734e4610fb4cea352a272))
- normalize negative arc radii and draw arcs with ellipse ([Anton Lavrevov](https://github.com/konvajs/konva/commit/36720f54eb3a544be8c22dfca95fd98514263b48))
- stabilize length of nearly straight quadratic curves ([Anton Lavrevov](https://github.com/konvajs/konva/commit/67734154a501a88bf52b60f418da605b9242b0eb))
- skip caching when the requested region has a negative size ([Anton Lavrevov](https://github.com/konvajs/konva/commit/1a62a4be58a6ae2d5e351488ca33afcf7c9973eb))
- do not listen for load on an image element that is already loaded ([Anton Lavrevov](https://github.com/konvajs/konva/commit/357fb41d87173e273284c3feeeb06ce49846f6a9))
- locate points on circular arcs with the closed-form angle ([Anton Lavrevov](https://github.com/konvajs/konva/commit/caf29781ecfa2a5294afe825ce7e782cb2a15177))
- state the real reason the parsed color components are clamped ([Anton Lavrevov](https://github.com/konvajs/konva/commit/1206c2aebe9b232a4be8240914ae25d397d3a649))
- resolve an inherited text direction from the canvas context ([Anton Lavrevov](https://github.com/konvajs/konva/commit/828f52c9f605ee2246b90be9106a1e8b4937cb30))
- clamp the computed export extent so the stage-size fallback still fires ([Anton Lavrevov](https://github.com/konvajs/konva/commit/d6677f43701471090a5adee5f01013392ef6205d))
- let the Transformer follow text decoration bound changes ([Anton Lavrevov](https://github.com/konvajs/konva/commit/2c51fa747a10497040ee40a7174333d21ac05e49))
- do not bound a zero-sweep arc by the whole ellipse ([Anton Lavrevov](https://github.com/konvajs/konva/commit/406beff068aa24fed3d2dd7f158dc08c47d98f81))
- end the whole gesture in stopDrag, not only that node ([Anton Lavrevov](https://github.com/konvajs/konva/commit/403dbd0aca3804ab418adb616487e934a113b6d1))
- keep getSelfRect off the text measurement path ([Anton Lavrevov](https://github.com/konvajs/konva/commit/3b2bab57637b7bc6e1c7808a57db4dd72e3284ae))

## Documentation
- record the review-task batch in the changelog and close the audit list ([Anton Lavrevov](https://github.com/konvajs/konva/commit/27d153709a85096d676e9f225278fbf7c91862cf))
- open the 10.6.0 changelog section and give 10.5.0 its own heading ([Anton Lavrevov](https://github.com/konvajs/konva/commit/9a3df66f09edc13c2556c7e161d94e8c85a3a97b))

## Performance Improvements
- simplify path processing, transform batching, and filter buffers ([Anton Lavrevov](https://github.com/konvajs/konva/commit/25c79ea1ead60fd33b7db219c46ec8eed85bd3fe))

## Tests
- replace Sprite timing assertions with redraw behavior checks ([Anton Lavrevov](https://github.com/konvajs/konva/commit/73fc720c6ba64f3c2a885bd2f5e09c273eaef91a))
- cover toBlob keeping the callback of a reused config ([Anton Lavrevov](https://github.com/konvajs/konva/commit/7af049763e9f691eb8df17607827efa79041b73d))
- compare path point lists with a tolerance instead of exact floats ([Anton Lavrevov](https://github.com/konvajs/konva/commit/8934205601eea53492347af9fbdebba788a1bc84))

## Commits
- 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](https://github.com/konvajs/konva/commit/ecc5f29fe7ddea316581925514d62e1e69b959a2))
- 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)

Related Repositories