10.3.1

thesysdev/openui10.3.1Aug 15, 2026by github-actions[bot]

Upgrading?

AI Summary

Addresses geometry calculations for Paths and Lines, and improves color parsing robustness to handle edge cases like full circles and bezier curves.

Key Highlights

  • Path.getPointAtLength now returns the last point for closed paths
  • Arc.getSelfRect correctly reports a full circle for zero-degree arcs
  • Line bounding boxes fixed for multi-segment bezier and tensioned lines
  • Color parsing improved for HSL hue and RGB percentages

Full Release Notes

## Bug Fixes
- **Path**: return last point for getPointAtLength past a closed path [#2053](https://github.com/konvajs/konva/pull/2053) ([Yarchik](https://github.com/konvajs/konva/commit/6a7b658fb094dc352145747affc517a40f37ebaf))
- Arc.getSelfRect() reports a full circle for a zero-degree clockwise arc [#2054](https://github.com/konvajs/konva/pull/2054) ([Alexander Kireev](https://github.com/konvajs/konva/commit/9fcb5da475131fea15fbace26222ee9f6f34cff9))
- **Shape**: respect imageSmoothingEnabled for fillPatternImage [#2055](https://github.com/konvajs/konva/pull/2055) ([MarkXian](https://github.com/konvajs/konva/commit/cc7cd937bde21ce63281a0172e3be5b5041caa18))
- **Util**: preserve alpha of the named color "transparent" [#2056](https://github.com/konvajs/konva/pull/2056) ([Yarchik](https://github.com/konvajs/konva/commit/7d438bebbb4ce62203923e750320491653111b99))
- **Util**: parse rgb() components written as percentages [#2057](https://github.com/konvajs/konva/pull/2057) ([jaybhade](https://github.com/konvajs/konva/commit/4c509601c07ff2d7244ce4ffeb22af94f590b233))
- **Util**: colorToRGBA() fails to parse non-integer HSL hue [#2059](https://github.com/konvajs/konva/pull/2059) ([Xuepoo](https://github.com/konvajs/konva/commit/02a9061bce20ab0c47f4857f7deaacfaddacd610))
- **Line**: getSelfRect wrong for multi-segment bezier and degenerate-derivative segments [#2061](https://github.com/konvajs/konva/pull/2061) ([Xuepoo](https://github.com/konvajs/konva/commit/cca6b4b10fd3bd2535caf5946b595f022d114652))
- **Line**: avoid NaN control points on closed tensioned lines with coincident points [#2062](https://github.com/konvajs/konva/pull/2062) ([rajanpanth](https://github.com/konvajs/konva/commit/8ce66dc1eff95c69c9276f4b2572c48a5adafb62))
- **Line**: guard the zero-distance case inside getControlPoints ([Anton Lavrevov](https://github.com/konvajs/konva/commit/e1d22459e0089b65351b61adbb2356f59d71f6ea))
- **Line**: cover joints and near-degenerate derivatives in bezier bounds ([Anton Lavrevov](https://github.com/konvajs/konva/commit/8282116de603f958b09c0b0bd461af423ecde6c0))
- **Path**: exact getSelfRect bounds for quadratic segments ([Anton Lavrevov](https://github.com/konvajs/konva/commit/5a23ece22b3745efa0b371ae7c8768d4fe4b5d16))
- **Line**: exact getSelfRect bounds for lines with a tension ([Anton Lavrevov](https://github.com/konvajs/konva/commit/4d01846bd083fddc917577a8dcd15bc1719018d5))

## Code Refactoring
- **Line**: write the control point distance sum once ([Anton Lavrevov](https://github.com/konvajs/konva/commit/c521cd1939ef0198bfa5b0401e095dba5904b093))

## Performance Improvements
- **Text**: hoist stringToArray(line) out of _setTextData binary search [#2044](https://github.com/konvajs/konva/pull/2044) ([Damian Frizzi](https://github.com/konvajs/konva/commit/6bd0d57bea0623ee97ff193637cb8a0b19a25380))

## Continuous Integration
- remove the formatting check ([Anton Lavrevov](https://github.com/konvajs/konva/commit/74af42d6b355300dc44d567d98f4c6ed6435cdcf))

## Commits
- b5c7a83: Fix ValidatorFunc Type Mistake (foolishflyfox) [#1998](https://github.com/konvajs/konva/pull/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](https://github.com/konvajs/konva/pull/2062)
- Line NaN bounding rect fix ([Anton Lavrevov](https://github.com/konvajs/konva/commit/b4b914a19c376053a74ab1b6964b6d0ed8ac2984))
- cover all unreleased changes since 10.3.0 ([Anton Lavrevov](https://github.com/konvajs/konva/commit/62e2a2de1f4dc04a6d63deb48a97368fa1dd5e5d))
- c7145cc: Merge branch 'master' into fix/line-bezier-selfrect (Anton Lavrevov) [#2061](https://github.com/konvajs/konva/pull/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)

Related Repositories