Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.
Last release 3 months ago
18 May 2026
Ships fairly regularly
a new release about every 5 weeks
Rarely documented
notes for 8 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
15 years old
329 releases · first in 2011
Release timeline
329 releases since 2011One column per quarter.
Releases
- 7.4.018 May 2026
Release notes
Open source →Security notice
FIxes CVE-2026-44311
What's Changed
- chore(): update major eslint to 10 by @Smrtnyk in #10956
- chore(): Fix non functional typos by @opensourcezeal in #10949
- chore(deps-dev): bump oxfmt from 0.42.0 to 0.45.0 by @dependabot[bot] in #10964
- ci(dependabot): group vite-related npm updates by @asturur in #10967
- chore(deps-dev): bump the vitest group with 4 updates by @dependabot[bot] in #10968
- chore(deps-dev): bump es-toolkit from 1.45.1 to 1.46.0 by @dependabot[bot] in #10971
- chore(deps-dev): bump postcss from 8.5.8 to 8.5.12 by @dependabot[bot] in #10972
- chore(deps-dev): bump rolldown from 1.0.0-rc.12 to 1.0.0-rc.16 by @dependabot[bot] in #10966
- fix(): Fix typecheck from security advisory merge by @asturur in #10973
- fix(): Honor viewport rotation in zoom, dimensions, and control coords by @kausters in #10977
- Version 7.4.0 by @asturur in #10980
New Contributors
- @opensourcezeal made their first contribution in #10949
- @kausters made their first contribution in #10977
Full Changelog: v731...v740
- 7.3.119 Apr 2026
Release notes
Open source →What's Changed
Same as 7.3.0 but fixed publishing issues
- feat(): Update cron schedule for scorecard workflow by @asturur in #10952
- ci(): tighten workflow permissions for scorecard hardening by @asturur in #10953
- ci(): pin workflow dependencies for scorecard hardening by @asturur in #10954
- docs(): Revise security vulnerability reporting process by @asturur in #10955
- ci(): Change permission model and declaration to help with OSSF scorecard. by @asturur in #10959
- ci(): inline npm publish workflow and add manual dispatch by @asturur in #10960
- ci(): Publish 7.3.1 by @asturur in #10961
- ci(): Fix for publishing action by @asturur in #10962
Full Changelog: v730...v731
- 7.2.018 Feb 2026
Release notes
Open source →What's Changed
- chore(): Add pre-commit hook for lint/prettier/tsc by @asturur in #10834
- feat(): Cropping controls follow ups by @asturur in #10839
- chore(deps-dev): bump lodash from 4.17.21 to 4.17.23 in the npm_and_yarn group across 1 directory by @dependabot[bot] in #10853
- chore(): update vitest by @Smrtnyk in #10858
- chore(): fix Canvas-dispose tests on firefox by @Smrtnyk in #10859
- chore(): update playwright to latest by @Smrtnyk in #10860
- test(): refactor test, put common data in shared function by @Smrtnyk in #10861
- chore(): update prettier by @Smrtnyk in #10863
- chore(): reuse more of the createPointerEvent in unit tests by @Smrtnyk in #10864
- fix(): Fix for svg export stored xss CVE-2026-27013
Full Changelog: v710...v720
- 7.1.031 Dec 2025
Release notes
Open source →What's Changed
- feat(): Cropping controls extension by @asturur in #10825
- chore(): Render circle control tweak for code reusability and style by @asturur in #10829
- Correctly check for cache key equality in calcOwnMatrix by @jiayihu in #10831
- chore(deps-dev): bump js-yaml from 3.14.1 to 3.14.2 in the npm_and_yarn group across 1 directory by @dependabot[bot] in #10812
- fix(Text):Double offset when exporting SVG after setting deltaY in Text by @jiao1187875445 in #10805
New Contributors
- @jiao1187875445 made their first contribution in #10805
Full Changelog: v700...v710
- 7.0.022 Dec 2025
Additional notes
Open source →What's Changed
- chore(): Update typescript 5.9, eslint, babel and rollup to latest by @asturur in #10708
- chore(): Fixes to TypeDoc for compilation by @asturur in #10709
- chore(): Remove mouse wheel console warning by setting default explicitly. by @zhe-he in #10712
- fix: The mouse enter and leave events of child elements will be executed twice. by @zhe-he in #10699
- BREAKING: chore(): Update min node version to 20, add 24 by @asturur in #10716
- BREAKING(): Deprecate fireRightClick, fireMiddleClick, stopContextMenu and change their default value. by @asturur in #10720
- Clarify MIT License by @asturur in #10725
- doc: Repair broken link in docs by targeting all demo and samples pages in old fabric docs. by @tneullas in #10723
- chore(): Format dependabot.yml with Prettier to ensure consistent code style by @Copilot in #10733
- chore(deps-dev): bump @eslint/js from 9.34.0 to 9.35.0 by @dependabot[bot] in #10729
- Update license to include 2016–2025 Fabric.js contributors by @aswind7 in #10726
- chore(deps-dev): bump serve from 14.2.4 to 14.2.5 by @dependabot[bot] in #10730
- chore(deps-dev): bump es-toolkit from 1.39.7 to 1.39.10 by @dependabot[bot] in #10731
- chore(): Pin all GitHub Actions to commit SHAs for security compliance by @Copilot in #10739
- chore(): Remove paths for codeQL let it scan all the repo by @asturur in #10738
- change CN comment to EN by @aswind7 in #10727
- fix(textarea): A form field element has neither an id nor a name attribute. by @zhe-he in #10172
- fix: After executing loadFromJSON, it unexpectedly adds an objects property to the canvas. by @zhe-he in #10741
- ci(): Foked the action find-create-update-comment in order to pin sha(s) by @asturur in #10742
- ci(): Fix CWE-829 in the coverage report action by @asturur in #10743
- ci(): fix CWE-829 in action build-stats by @asturur in #10744
- fix(): CWE-1333 CWE-400 CWE-730 in Text.ts regex by @asturur in #10745
- fix(): CWE-1333 CWE-400 CWE-730 Simplify some regexes in order to avoid slowness with craft bad string by @asturur in #10746
- fix(): Fix some weaknesses in the changelog-update action ( various CWE ) by @asturur in #10747
- fix(): build-stats action, fix for CWE-275 and some code injection by @asturur in #10749
- fix(): Add all actions a set of permissions that is restricted to the minimum necessary by @asturur in #10750
- fix(): correct process.ENV with process.env by @asturur in #10751
- chore(deps-dev): bump chalk from 5.6.0 to 5.6.2 by @dependabot[bot] in #10752
- chore(deps-dev): bump commander from 14.0.0 to 14.0.1 by @dependabot[bot] in #10754
- chore(): remove chalk by @Smrtnyk in #10758
- chore(deps-dev): bump @babel/core from 7.28.3 to 7.28.4 by @dependabot[bot] in #10753
- chore(deps): bump the npm_and_yarn group across 2 directories with 2 updates by @dependabot[bot] in #10734
- chore(): Revisit and reduce conribution guidelines, try to streamline things by @asturur in #10759
- test(): Add new e2e import test for svg preserve aspect ratio by @asturur in #10766
- chore(deps-dev): bump @playwright/test from 1.55.0 to 1.55.1 by @dependabot[bot] in #10761
- chore(): remove fs-extra dev dependency by @Smrtnyk in #10767
- ci(): Move firefox to headless: false to see if improves passing rate. Renamed config because of deprecation warning by @asturur in #10769
- chore(): remove moment dev dependency by @Smrtnyk in #10770
- chore(): up deps by @Smrtnyk in #10771
- chore(): up dev deps by @Smrtnyk in #10773
- chore(deps-dev): bump @rollup/plugin-babel from 6.0.4 to 6.1.0 by @dependabot[bot] in #10776
- chore(deps-dev): bump @types/node from 24.7.0 to 24.7.2 by @dependabot[bot] in #10778
- BREAKING: change default originX and originY to center/center by @asturur in #10715
- chore(deps-dev): bump es-toolkit from 1.39.10 to 1.40.0 by @dependabot[bot] in #10777
- chore(): update playwright by @Smrtnyk in #10780
- fix(): Prototype pollution risk on text char cache by @asturur in #10782
- chore(): update major version of vitest by @Smrtnyk in #10786
- fix(): fix rendering of text when line height is set to 0 by @Smrtnyk in #10785
- chore(deps-dev): bump @types/micromatch from 4.0.9 to 4.0.10 by @dependabot[bot] in #10788
- chore(deps-dev): bump @vitest/ui from 4.0.2 to 4.0.3 by @dependabot[bot] in #10787
- Revert "chore(deps-dev): bump @vitest/ui from 4.0.2 to 4.0.3" by @asturur in #10792
- chore(deps-dev): bump inquirer from 12.9.6 to 12.10.0 by @dependabot[bot] in #10789
- update(AligningGuidelines): Fix some bugs and add custom features. by @zhe-he in #10120
- fix(): BREAKING Fix text positioning by @asturur in #10803
- feat(): Add configuration parameter for patternQuality in node by @asturur in #10804
- fix(): Fix the situation where undefined + char exists when calculating couple by @ccOfHome in #10816
- feat(): Multi touch gesture support with module westures by @asturur in #10813
- fix(): Fix toDataUrl writing on contextTop by @asturur in #10820
- Version 7.0 build by @asturur in #10821
New Contributors
Full Changelog: v700-beta1...v700-rc1
- 7.0.0-rc115 Dec 2025pre-release
Nothing published for this version
- 7.0.0-beta124 Aug 2025pre-release
Nothing published for this version
- 6.9.115 Dec 2025
- 6.9.08 Nov 2025
Release notes
Open source →What's Changed
Techinically a breaking change of private code.
That is why the minor bump, otherwise would be a patch.If you are not interacting with the fabric.charWidthsCache object directly, this release is not breaking
Full Changelog: v680...v690
- 6.8.08 Nov 2025
Release notes
Open source →What's Changed
fix(): CWE-1333 CWE-400 CWE-730 Simplify some regexes in order to avoid slowness with craft bad string #10746
fix(): CWE-1333 CWE-400 CWE-730 in Text.ts regex #10745
fix(StaticCanvas): After executing loadFromJSON, it unexpectedly adds an objects property to the canvas. #10741
fix(textarea): A form field element has neither an id nor a name attribute. #10172
fix(Canvas): The mouse enter and leave events of child elements will be executed twice. #10699
chore(): Remove mouse wheel console warning by setting default explicitly. #10712
fix(): fix rendering of text when line height is set to 0 #10785Full Changelog: v671...v680
- 6.7.121 Jul 2025
Nothing published for this version
- 6.7.06 Jun 2025
Nothing published for this version
- 6.6.731 May 2025
Nothing published for this version
- 6.6.625 May 2025
Nothing published for this version
- 6.6.511 May 2025
Nothing published for this version
- 6.6.415 Apr 2025
Nothing published for this version
- 6.6.21 Apr 2025
Nothing published for this version
- 6.6.116 Feb 2025
Nothing published for this version
- 6.6.013 Feb 2025
Nothing published for this version
- 6.5.41 Jan 2025
Nothing published for this version
- 6.5.34 Dec 2024
Nothing published for this version
- 6.5.24 Dec 2024
Nothing published for this version
- 6.5.118 Nov 2024
Nothing published for this version
- 6.5.013 Nov 2024
Nothing published for this version
- 6.4.33 Oct 2024
Nothing published for this version
- 6.4.28 Sept 2024
Nothing published for this version
- 6.4.131 Aug 2024
Nothing published for this version
- 6.4.029 Aug 2024
Nothing published for this version
- 6.3.015 Aug 2024
Nothing published for this version
- 6.2.011 Aug 2024
Nothing published for this version
- 6.1.04 Aug 2024
Nothing published for this version
- 6.0.26 Jul 2024
Nothing published for this version
- 6.0.13 Jul 2024
Nothing published for this version
- 6.0.029 Jun 2024
Nothing published for this version
- 6.0.0-rc425 Jun 2024pre-release
Nothing published for this version
- 6.0.0-rc324 Jun 2024pre-release
Nothing published for this version
- 6.0.0-rc23 Jun 2024pre-release
Nothing published for this version
- 6.0.0-rc117 Apr 2024pre-release
Nothing published for this version
- 6.0.0-beta913 Jun 2023pre-release
Nothing published for this version
- 6.0.0-beta85 Jun 2023pre-release
Nothing published for this version
- 6.0.0-beta724 May 2023pre-release
Nothing published for this version
- 6.0.0-beta619 May 2023pre-release
Nothing published for this version
- 6.0.0-beta56 May 2023pre-release
Nothing published for this version
- 6.0.0-beta44 May 2023pre-release
Nothing published for this version
- 6.0.0-beta316 Apr 2023pre-release
Nothing published for this version
- 6.0.0-beta2022 Mar 2024pre-release
Nothing published for this version
- 6.0.0-beta1920 Feb 2024pre-release
Nothing published for this version
- 6.0.0-beta1821 Jan 2024pre-release
Nothing published for this version
- 6.0.0-beta177 Jan 2024pre-release
Nothing published for this version
- 6.0.0-beta1630 Nov 2023pre-release
Nothing published for this version
- 6.0.0-beta1527 Oct 2023pre-release
Nothing published for this version
- 6.0.0-beta1423 Oct 2023pre-release
Nothing published for this version
- 6.0.0-beta1314 Sept 2023pre-release
Nothing published for this version
- 6.0.0-beta1222 Aug 2023pre-release
Nothing published for this version
- 6.0.0-beta1118 Aug 2023pre-release
Nothing published for this version
- 6.0.0-beta1019 Jun 2023pre-release
Nothing published for this version
- 6.0.0-beta14 Feb 2023pre-release
Nothing published for this version
- 5.5.213 Apr 2025
Nothing published for this version
- 5.5.2-browser13 Apr 2025pre-release
Nothing published for this version
- 5.5.127 Dec 2024
Nothing published for this version