Skip to content

Releases: fabricjs/fabric.js

Version 6.0.0

29 Jun 05:35
Compare
Choose a tag to compare

Identical to rc4, updated to stable.

Version 6.0.0-rc4

25 Jun 20:56
Compare
Choose a tag to compare

What's Changed

  • fix(Activeselection): Activeselection default initialization by @asturur in #9940
  • feat(Color): add isUnrecognised property by @jiayihu in #9936
  • test(e2e): Fix activeselection defaults e2e test ( forgot from previous push) by @asturur in #9941
  • chore(): Update bug report by @github-actions in #9939
  • chore(): Remove Node 16 in the test suite by @asturur in #9942
  • chore(): update dev deps by @asturur in #9944

Full Changelog: v6.0.0-rc3...v6.0.0-rc4

v6.0.0-rc3

24 Jun 08:22
Compare
Choose a tag to compare
v6.0.0-rc3 Pre-release
Pre-release

What's Changed

  • fix(StaticCanvas): fully clean the cache canvas to avoid leaving trailing pixels #9779
  • perf(): Reduce some calls to setCoords() #9795
  • chore(TS): svg reviver is optional #9935
  • refactor(filters): Remove mainParameter, add stronger types to filters, refactor getUniformLocations #9933
  • refactor(): remove strict parameter for ancestry. #9918
  • feat(Color): add support for decimals and different angle types in HSL color parsing #9915
  • fix(Controls): add support for numeric origins to changeWidth #9909
  • fix(ActiveSelection): fixed render order so group controls are rendered over child objects #9914
  • fix(filters): RemoveColor has missing getFragmentSource method ( typo ) #9911
  • types(): Make event type explicit - non generic, and fix pattern fromObject type #9907

New Contributors

Full Changelog: v6.0.0-rc2...v6.0.0-rc3

Version 6.0.0-rc2

03 Jun 23:28
Compare
Choose a tag to compare
Version 6.0.0-rc2 Pre-release
Pre-release
  • perf(): remove some runtime RegExp usages #9802
  • fix(Canvas): Avoid exporting controls with toDataURL #9896
  • perf(): Rework constructors to avoid the extra perf cost of current setup #9891
  • perf(): Remove redundant matrix multiplication in multiplayTransformMatrixArray #9893
  • test(): Convert Animation tests to jest #9892
  • perf(ObjectGeometry): replace cache key string with array #9887
  • docs(): Improve JSDOCs for BlendImage #9876
  • fix(Group): Pass down the abort signal from group to objects #9890
  • fix(util): restore old composeMatrix code for performances improvement #9851
  • fix(Control): corner coords definition order #9884
  • fix(Polyline): safeguard points arg from options #9855
  • feat(IText): Adjust cursor blinking for better feedback #9823
  • feat(FabricObject): pass e to shouldStartDragging #9843
  • fix(Canvas): mouse move before event data #9849
  • chore(FabricObject): pass e to shouldStartDragging #9843
  • ci(): Add Jest coverage to the report #9836
  • test(): Add cursor animation testing and migrate some easy one to jest #9829
  • fix(Group, Controls): Fix interactive group actions when negative scaling is involved #9811
  • fix(): Replace 'hasOwn' with 'in' operator in typeAssertions check #9812

v6.0.0-rc1

17 Apr 08:39
Compare
Choose a tag to compare
v6.0.0-rc1 Pre-release
Pre-release
  • fix(Canvas): Fix searchPossibleTargets for non-interactive nested targets #9762
  • test(): Rename svg tests #9775
  • refactor(): _findTargetCorner is now called findControl and returns the key and the control and the coordinates #9668
  • feat(LayoutManager): Handle the case of activeSelection with objects inside different groups #9651

Version 6.0.0 beta20

22 Mar 13:18
Compare
Choose a tag to compare
Version 6.0.0 beta20 Pre-release
Pre-release
  • chore(TS): minor changes to typescript notation to be compatible with a 5.3.3 #9725
  • fix(InteractiveObject): "borderOpacityWhenMoving" does not take effect on the child shapes within the group #9374
  • fix(SVGParser): Consider the transformMatrix of the clipPath owner as part of the clipPath trasnformation #9750
  • fix(StaticCanvas): setDimensions not requesting a render if options are not passed #9710
  • fix(LayoutManager): wrong bounding box position when activeSelection has originX/originY that are not default left/top #9649
  • fix(ActiveSelection): block ancestors/descendants of selected objects from being selected #9732
  • fix(Image): typo in style property for svg export #9717
  • ci(): Update the changelog and stats action to work from forks
  • fix(Shadow): Cloning a shape with shadow throws an error#9711
  • chore(TS): use consistent and improved types for getDefaults and ownDefaults #9698
  • fix(SVGParser): Don't crash on nested CSS at-rules #9707
  • perf(): measuring canvas size #9697
  • chore(TS): Add type for options in toCanvasElement and toDataUrl #9673
  • ci(): add source map support to node sandbox #9686
  • fix(Canvas): Correct type mainTouchId initialization #9684
  • feat(Circle): Add counterclockwise parameter to Circle class #9670

v6.0.0-beta19

20 Feb 16:24
Compare
Choose a tag to compare
v6.0.0-beta19 Pre-release
Pre-release

Version 6.0.0 beta19

  • chore(): Update bug report by @github-actions in #9623
  • chore(): Path remove unused code from path render function by @asturur in #9619
  • cd(): Surface the minified build as standard when importing and also provide a non bundled build by @asturur in #9624
  • refactor(): Align shadow with class registry, part of #9144 by @asturur in #9626
  • refactor(): Align gradient with class registry usage, part of #9144 by @asturur in #9627
  • Fix(StaticCanvas): Restrict and correct setDimensions typings. by @asturur in #9618
  • fix(ActiveSelection): static default inheritance by @ShaMan123 in #9635
  • Split text into graphemes correctly by @jiayihu in #9646
  • ci(): no src imports by @ShaMan123 in #9657
  • fix(Object): support specyfing toCanvasElement canvas by @jiayihu in #9652
  • feat(LayoutManager): Expose objects registration by @asturur in #9661

Version 6.0.0-beta18

21 Jan 20:20
Compare
Choose a tag to compare
Version 6.0.0-beta18 Pre-release
Pre-release
  • fix(StyledText): add ability to unset style (issue #9578) #9597
  • CD(): expose vue deployed app #9615
  • chore(): Upgrade Rollup to 4.9.5 #9613
  • chore(): Upgrade rollup and plugins at latest 3 #9612
  • fix(WebGLFilterBackend) Destroy the context of queryWebgl test function, remove automatic perf checkup, make it explicit with a function #8932
  • tests(): migrate target hit tests to jest and drag and drop test to playwright #9333
  • fix(SVGParser): avoid crashing on SVG that use @import css feature #9602
  • fix(): compositionEnd event handler is not registered correctly. (regression from f91362c ) #9610
  • ci(): Add a test case from the multiple selection use case for groups #9599
  • refactor(env): Change the way the environment and retina are initialized #9480
  • chore(TS): fix type of modifed event that could cause unexpected behaviour in dev code #9596
  • fix(LayoutManager): remove unnecessary check #9591
  • fix(Text) Fix style transfer issue on a line that is not empty #9461
  • ci(): add a vue template #9502
  • refactor(): getActiveControl now returns the key, the corner and the coordinates #9515
  • fix(Controls): forbid scaling to avoid NaN issues on scaling zero sized objects. #9475 #9563
  • feat(LayoutManager): BREAKING remove shouldResetTransform handling from LayoutManager #9581
  • refactor(): rm active selection ref #9561
  • feat(Next.js sandbox): simpler canvas hook #9577
  • fix(): fix modify polygon points with zero sized polygons ( particular case of axis oriented lines ) #9575
  • fix(Polyline, Polygon): Fix wrong pathOffset for polyline with the normal bounding box calculation. #9460

Version 6.0.0-beta17

07 Jan 01:57
Compare
Choose a tag to compare
Version 6.0.0-beta17 Pre-release
Pre-release

refactor(): Rewrite how typeAssertion works to avoid isType and add tests for subclasses #9570
fix(): perform layout on poly change + initialization object subscription #9537
fix(): Addressing path cloning slowness ( partially ) #9573
fix(): exactBoundingBox stroke calculations #9572
feat(): Add save/restore ability to group LayoutManager #9564
fix(): Remove unwanted set type warning #9569
refactor(): Separate defaults for base fabric object vs interactive object. Also some moving around of variables #9474
refactor(): Change how LayoutManager handles restoring groups #9522
fix(BaseConfiguration): set devicePixelRatio from window #9470
fix(): bubble dirty flag for group only when true #9540
test() Backport a test to capture a failing text style situation #9531

Version 6.0.0-beta16

30 Nov 11:27
Compare
Choose a tag to compare
Version 6.0.0-beta16 Pre-release
Pre-release
  • fix(): block enterEditing after endCurrentTransform #9513
  • fix(): transferring object between active selections, expose FabricObject#parent, rm isActiveSelection #8951
    BREAKING beta:
    • rm(): getParent => FabricObject#parent
  • refactor(): Layout Manager #9152
  • refactor(): transferring object between active selections, expose FabricObject#parent, rm isActiveSelection #8951
  • refactor(): BREAKING beta getParent => FabricObject#parent #8951
  • fix(): fire Poly control events #9504
  • test(FabricObject): add a snapshot of the default values so that reordering and shuffling is verified. #9492
  • feat(FabricObject, Canvas) BREAKING: remove calculate true/false from the api. #9483
  • chore(): remove some Type assertions #8950
  • chore(): expose sendVectorToPlane #9479
  • feat(FabricObject, Canvas) BREAKING: remove absolute true/false from the api. #9395
  • refactor(Canvas): BREAKING deprecate getPointer, add new getScenePoint and getViewportPoint methods, removed restorePointerVpt, extended mouse events data #9175
  • chore(): rm isClick artifacts leftovers from #9434 #9478
  • fix(Object): Fix detection of falsy shadows in Object.needsItsOwnCache method #9469
  • feat(util): expose calcPlaneRotation #9419
  • refactor(Canvas): BREAKING remove button from mouse events, delegate to event.button property #9449
  • patch(Canvas): move event mouse:up:before earlier in the logic for more control #9434