- feat(fabric.util): added fabric.util.transformPath to add transformations to path points #7300
- feat(fabric.util): added fabric.util.joinPath, the opposite of fabric.util.parsePath #7300
- fix(fabric.util): use integers iterators #7233
- feat(fabric.Text) add path rendering to text on path #7328
- feat(fabric.iText): Add optional hiddenTextareaContainer to contain hiddenTextarea #7314
- fix(fabric.Text) added pathStartOffset and pathSide to props lists for object export #7318
- feat(animate): add imperative abort option for animations #7275
- fix(Fabric.text): account for fontSize in textpath cache dimensions ( to avoid clipping ) #7298
- feat(Observable.once): Add once event handler #7317
- feat(fabric.Object): Improve drawing of controls in group. #7119
- fix(EraserBrush): intersectsWithObject edge cases #7290
- fix(EraserBrush): dump canvas bg/overlay color support #7289
- feat(fabric.Text) added pathSide property to text on path #7259
- fix(EraserBrush) force fill value #7269
- fix(fabric.StaticCanvas) properly remove objects on canvas.clear #6937
- feat(fabric.EraserBrush): improved erasing:end event #7258
- fix(shapes): fabric.Object._fromObject never should return #7201
- feat(fabric.filters) Added vibrance filter (for increasing saturation of muted colors) #7189
- fix(fabric.StaticCanvas): restore canvas size when disposing #7181
- feat(fabric.util): added
convertPointsToSVGPath
that will convert from a list of points to a smooth curve. #7140 - fix(fabric.Object): fix cache invalidation issue when objects are rotating #7183
- fix(fabric.Canvas): rectangle selection works with changing viewport #7088
- feat(fabric.Text): textPath now support textAlign #7156
- fix(fabric.EraserBrush): test eraser intersection with objects taking into account canvas viewport transform #7147
- fix(fabric.Object): support
excludeFromExport
set onclipPath
#7148. - fix(fabric.Group): support
excludeFromExport
set on objects #7148. - fix(fabric.StaticCanvas): support
excludeFromExport
set onbackgroundColor
,overlayColor
,clipPath
#7148. - fix(fabric.EraserBrush): support object resizing (needed for eraser) #7100.
- fix(fabric.EraserBrush): support canvas resizing (overlay/background drawables) #7100.
- fix(fabric.EraserBrush): propagate
clipPath
of group to erased objects when necessary so it is correct when ungrouping/removing from group #7100. - fix(fabric.EraserBrush): introduce
erasable = deep
option forfabric.Group
#7100. - feat(fabric.Collection): the
contains
method now accepts a second boolean parameterdeep
, checking all descendants,collection.contains(obj, true)
#7139. - fix(fabric.StaticCanvas): disposing canvas now restores canvas size and style to original state.