Detailed breaking changes available at: here
- fix(fabric.Canvas): unflag contextLost after a full re-render
#7646 - BREAKING: remove 4.x deprecated code
#7630 - feat(fabric.StaticCanvas, fabric.Canvas): limit breaking changes
#7627 - feat(animation): animations registry
#7528 - docs(): Remove not working badges
#7623 - ci(): add auto-changelog package to quickly draft a changelog
#7615 - feat(fabric.EraserBrush): added
eraserproperty to Object instead of attaching toclipPath, remove hackygetClipPath/setClipPath#7470, see BREAKING comments. - feat(fabric.EraserBrush): support
invertedoption to undo erasing #7470 - fix(fabric.EraserBrush): fix doubling opaic objects while erasing #7445 #7470
- BREAKING: fabric.EraserBrush: The Eraser object is now a subclass of Group. This means that loading from JSON will break between versions.
Use this code to transform your json payload to the new version. - feat(fabric.Canvas): fire an extra mouse up for the original control of the initial target
#7612 - fix(fabric.Object) bounding box display with skewY when outside group
#7611 - fix(fabric.text) fix rtl/ltr performance issues
#7610 - fix(event.js) Prevent dividing by 0 in for touch gestures
#7607 - feat():
drop:beforeevent#7442 - ci(): Add codeql analysis step
#7588 - security(): update onchange to solve security issue
#7591 - BREAKING: fix(): MAJOR prevent render canvas with quality less than 100%
#7537 - docs(): fix broken link
#7579 - BREAKING: Deps(): MAJOR update to jsdom 19 node 14
#7587 - Fix(): JSDOM transative vulnerability
#7510 - fix(fabric.parser): attempt to resolve some issues with regexp
#7520 - fix(fabric.IText) fix for possible error on copy paste
#7526 - fix(fabric.Path): Path Distance Measurement Inconsistency
#7511 - Fix(fabric.Text): Avoid reiterating measurements when width is 0 and measure also empty lines for consistency.
#7497 - fix(fabric.Object): stroke bounding box
#7478 - fix(fabric.StaticCanvas): error of changing read-only style field
#7462 - fix(fabric.Path): setting
pathduring runtime#7141 - chore() update canvas to 2.8.0
#7415 - fix(fabric.Group) realizeTransfrom should be working when called with NO parent transform
#7413 - fix(fabric.Object) Fix control flip and control box
#7412 - feat(fabric.Text): added pathAlign property for text on path
#7362 - docs(): Create SECURITY.md
#7405 - docs(): Clarify viewport transformations doc
#7401 - docs(): specify default value and docs for enablePointerEvents
#7386 - feat(fabric.PencilBrush): add an option to draw a straight line while pressing a key
#7034