@dwelle/excalidraw 0.4.0-cfd6fb7 → 0.4.0-d68dd48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/CHANGELOG.md +316 -544
  2. package/README.md +16 -1364
  3. package/dist/excalidraw-assets/Assistant-Bold.woff2 +0 -0
  4. package/dist/excalidraw-assets/Assistant-Medium.woff2 +0 -0
  5. package/dist/excalidraw-assets/Assistant-Regular.woff2 +0 -0
  6. package/dist/excalidraw-assets/Assistant-SemiBold.woff2 +0 -0
  7. package/dist/excalidraw-assets/vendor-2002fe1b8862917b36c1.js +2 -0
  8. package/dist/excalidraw-assets-dev/Assistant-Bold.woff2 +0 -0
  9. package/dist/excalidraw-assets-dev/Assistant-Medium.woff2 +0 -0
  10. package/dist/excalidraw-assets-dev/Assistant-Regular.woff2 +0 -0
  11. package/dist/excalidraw-assets-dev/Assistant-SemiBold.woff2 +0 -0
  12. package/dist/excalidraw-assets-dev/{vendor-c0592035c3911af79359.js → vendor-e6df8519da951026ff69.js} +1 -1
  13. package/dist/excalidraw.development.js +1155 -489
  14. package/dist/excalidraw.production.min.js +1 -1
  15. package/dist/excalidraw.production.min.js.LICENSE.txt +20 -7
  16. package/package.json +2 -2
  17. package/types/actions/actionAddToLibrary.d.ts +47 -34
  18. package/types/actions/actionBoundText.d.ts +143 -19
  19. package/types/actions/actionCanvas.d.ts +362 -108
  20. package/types/actions/actionClipboard.d.ts +107 -60
  21. package/types/actions/actionDeleteSelected.d.ts +60 -39
  22. package/types/actions/actionDuplicateSelection.d.ts +1 -1
  23. package/types/actions/actionExport.d.ts +155 -118
  24. package/types/actions/actionFinalize.d.ts +32 -24
  25. package/types/actions/actionFlip.d.ts +2 -2
  26. package/types/actions/actionGroup.d.ts +2 -2
  27. package/types/actions/actionLinearEditor.d.ts +119 -0
  28. package/types/actions/actionMenu.d.ts +50 -37
  29. package/types/actions/actionNavigate.d.ts +1 -0
  30. package/types/actions/actionProperties.d.ts +211 -159
  31. package/types/actions/actionStyles.d.ts +16 -12
  32. package/types/actions/actionToggleGridMode.d.ts +18 -12
  33. package/types/actions/actionToggleLock.d.ts +16 -12
  34. package/types/actions/actionToggleStats.d.ts +17 -12
  35. package/types/actions/actionToggleViewMode.d.ts +18 -12
  36. package/types/actions/actionToggleZenMode.d.ts +18 -12
  37. package/types/actions/index.d.ts +1 -0
  38. package/types/actions/manager.d.ts +1 -0
  39. package/types/actions/shortcuts.d.ts +2 -1
  40. package/types/actions/types.d.ts +6 -2
  41. package/types/appState.d.ts +23 -21
  42. package/types/clients.d.ts +1 -1
  43. package/types/clipboard.d.ts +6 -1
  44. package/types/components/Actions.d.ts +13 -0
  45. package/types/components/ActiveConfirmDialog.d.ts +24 -0
  46. package/types/components/App.d.ts +36 -17
  47. package/types/components/Avatar.d.ts +1 -1
  48. package/types/components/BraveMeasureTextError.d.ts +2 -0
  49. package/types/components/Button.d.ts +15 -0
  50. package/types/components/ButtonIconSelect.d.ts +11 -3
  51. package/types/components/ContextMenu.d.ts +8 -21
  52. package/types/components/DialogActionButton.d.ts +10 -0
  53. package/types/components/ErrorDialog.d.ts +3 -2
  54. package/types/components/HandButton.d.ts +10 -0
  55. package/types/components/HelpButton.d.ts +7 -0
  56. package/types/components/HintViewer.d.ts +3 -2
  57. package/types/components/HomeButton.d.ts +5 -0
  58. package/types/components/ImageExportDialog.d.ts +3 -1
  59. package/types/components/InitializeApp.d.ts +2 -0
  60. package/types/components/JSONExportDialog.d.ts +5 -3
  61. package/types/components/LayerUI.d.ts +6 -6
  62. package/types/components/LibraryButton.d.ts +1 -0
  63. package/types/components/LibraryMenu.d.ts +14 -5
  64. package/types/components/LibraryMenuBrowseButton.d.ts +7 -0
  65. package/types/components/LibraryMenuHeaderContent.d.ts +35 -0
  66. package/types/components/LibraryMenuItems.d.ts +5 -14
  67. package/types/components/LibraryUnit.d.ts +2 -3
  68. package/types/components/LoadingMessage.d.ts +2 -0
  69. package/types/components/LockButton.d.ts +0 -1
  70. package/types/components/MobileMenu.d.ts +9 -11
  71. package/types/components/Sidebar/Sidebar.d.ts +73 -0
  72. package/types/components/Sidebar/SidebarHeader.d.ts +20 -0
  73. package/types/components/Sidebar/common.d.ts +16 -0
  74. package/types/components/Stats.d.ts +1 -1
  75. package/types/components/ToolButton.d.ts +1 -1
  76. package/types/components/UserList.d.ts +0 -3
  77. package/types/components/context/tunnels.d.ts +16 -0
  78. package/types/components/dropdownMenu/DropdownMenu.d.ts +66 -0
  79. package/types/components/dropdownMenu/DropdownMenuContent.d.ts +15 -0
  80. package/types/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -0
  81. package/types/components/dropdownMenu/DropdownMenuItem.d.ts +12 -0
  82. package/types/components/dropdownMenu/DropdownMenuItemContent.d.ts +6 -0
  83. package/types/components/dropdownMenu/DropdownMenuItemCustom.d.ts +6 -0
  84. package/types/components/dropdownMenu/DropdownMenuItemLink.d.ts +13 -0
  85. package/types/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -0
  86. package/types/components/dropdownMenu/DropdownMenuTrigger.d.ts +9 -0
  87. package/types/components/dropdownMenu/common.d.ts +6 -0
  88. package/types/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -0
  89. package/types/components/footer/Footer.d.ts +12 -0
  90. package/types/components/footer/FooterCenter.d.ts +8 -0
  91. package/types/components/hoc/withInternalFallback.d.ts +4 -0
  92. package/types/components/hoc/withUpstreamOverride.d.ts +10 -0
  93. package/types/components/icons.d.ts +83 -122
  94. package/types/components/live-collaboration/LiveCollaborationTrigger.d.ts +10 -0
  95. package/types/components/main-menu/DefaultItems.d.ts +47 -0
  96. package/types/components/main-menu/MainMenu.d.ts +60 -0
  97. package/types/components/welcome-screen/WelcomeScreen.Center.d.ts +58 -0
  98. package/types/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -0
  99. package/types/components/welcome-screen/WelcomeScreen.d.ts +85 -0
  100. package/types/constants.d.ts +45 -16
  101. package/types/data/blob.d.ts +2 -1
  102. package/types/data/index.d.ts +1 -1
  103. package/types/data/restore.d.ts +8 -2
  104. package/types/data/types.d.ts +16 -1
  105. package/types/element/Hyperlink.d.ts +17 -13
  106. package/types/element/bounds.d.ts +3 -2
  107. package/types/element/image.d.ts +1 -1
  108. package/types/element/index.d.ts +1 -1
  109. package/types/element/linearElementEditor.d.ts +65 -22
  110. package/types/element/mutateElement.d.ts +1 -0
  111. package/types/element/newElement.d.ts +42 -10
  112. package/types/element/resizeElements.d.ts +0 -1
  113. package/types/element/sortElements.d.ts +2 -0
  114. package/types/element/textElement.d.ts +61 -8
  115. package/types/element/textWysiwyg.d.ts +6 -1
  116. package/types/element/transformHandles.d.ts +3 -4
  117. package/types/element/typeChecks.d.ts +12 -2
  118. package/types/element/types.d.ts +21 -6
  119. package/types/hooks/useOutsideClick.d.ts +2 -0
  120. package/types/i18n.d.ts +6 -0
  121. package/types/jotai.d.ts +5 -5
  122. package/types/keys.d.ts +15 -6
  123. package/types/math.d.ts +10 -1
  124. package/types/packages/excalidraw/example/App.d.ts +9 -2
  125. package/types/packages/excalidraw/example/CustomFooter.d.ts +5 -0
  126. package/types/packages/excalidraw/example/MobileFooter.d.ts +5 -0
  127. package/types/packages/excalidraw/example/sidebar/{Sidebar.d.ts → ExampleSidebar.d.ts} +1 -1
  128. package/types/packages/excalidraw/index.d.ts +16 -2
  129. package/types/packages/utils.d.ts +26 -22
  130. package/types/renderer/renderElement.d.ts +6 -4
  131. package/types/renderer/renderScene.d.ts +2 -4
  132. package/types/scene/Fonts.d.ts +21 -0
  133. package/types/scene/Scene.d.ts +15 -0
  134. package/types/scene/comparisons.d.ts +2 -3
  135. package/types/scene/export.d.ts +156 -10
  136. package/types/scene/index.d.ts +1 -1
  137. package/types/scene/types.d.ts +10 -1
  138. package/types/shapes.d.ts +27 -3
  139. package/types/types.d.ts +68 -40
  140. package/types/utility-types.d.ts +22 -0
  141. package/types/utils.d.ts +30 -4
  142. package/dist/excalidraw-assets/vendor-52b1f3361986b6c6a4fe.js +0 -2
  143. package/types/components/ActiveFile.d.ts +0 -7
  144. package/types/components/BackgroundPickerAndDarkModeToggle.d.ts +0 -9
  145. package/types/components/ClearCanvas.d.ts +0 -4
  146. package/types/components/CollabButton.d.ts +0 -7
  147. package/types/components/HelpIcon.d.ts +0 -8
  148. package/types/components/SidebarLockButton.d.ts +0 -8
  149. package/types/components/SingleLibraryItem.d.ts +0 -10
  150. /package/dist/excalidraw-assets/{vendor-52b1f3361986b6c6a4fe.js.LICENSE.txt → vendor-2002fe1b8862917b36c1.js.LICENSE.txt} +0 -0
  151. /package/types/packages/excalidraw/dist/excalidraw-assets/{vendor-52b1f3361986b6c6a4fe.d.ts → vendor-2002fe1b8862917b36c1.d.ts} +0 -0
  152. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/{vendor-c0592035c3911af79359.d.ts → vendor-e6df8519da951026ff69.d.ts} +0 -0
package/CHANGELOG.md CHANGED
@@ -13,103 +13,47 @@ Please add the latest change on the top under the correct section.
13
13
 
14
14
  ## Unreleased
15
15
 
16
- ### Excalidraw API
17
-
18
- #### Features
19
-
20
- - Added support for storing [`customData`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#storing-custom-data-to-excalidraw-elements) on Excalidraw elements [#5592].
21
-
22
- #### Breaking Changes
23
-
24
- - `setToastMessage` API is now renamed to `setToast` API and the function signature is also updated [#5427](https://github.com/excalidraw/excalidraw/pull/5427). You can also pass `duration` and `closable` attributes along with `message`.
25
-
26
- ## 0.12.0 (2022-07-07)
27
-
28
- ### Excalidraw API
29
-
30
- #### Features
31
-
32
- - Add [`UIOptions.dockedSidebarBreakpoint`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#dockedSidebarBreakpoint) to customize at which point to break from the docked sidebar [#5274](https://github.com/excalidraw/excalidraw/pull/5274).
33
-
34
- - Added support for supplying user `id` in the Collaborator object (see `collaborators` in [`updateScene()`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#updateScene)), which will be used to deduplicate users when rendering collaborator avatar list. Cursors will still be rendered for every user. [#5309](https://github.com/excalidraw/excalidraw/pull/5309)
35
-
36
- - Export API to [set](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#setCursor) and [reset](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#resetCursor) mouse cursor on the canvas [#5215](https://github.com/excalidraw/excalidraw/pull/5215).
37
-
38
- - Export [`sceneCoordsToViewportCoords`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#onPointerDown) and [`viewportCoordsToSceneCoords`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#onPointerDown) utilities [#5187](https://github.com/excalidraw/excalidraw/pull/5187).
39
-
40
- - Added [`useHandleLibrary`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#useHandleLibrary) hook to automatically handle importing of libraries when `#addLibrary` URL hash key is present, and potentially for initializing library as well [#5115](https://github.com/excalidraw/excalidraw/pull/5115).
41
-
42
- Also added [`parseLibraryTokensFromUrl`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#parseLibraryTokensFromUrl) to help in manually importing library from URL if desired.
43
-
44
- ##### BREAKING CHANGE
45
-
46
- - Libraries are no longer automatically initialized from URL when `#addLibrary` hash key is present. Host apps now need to handle this themselves with the help of either of the above APIs (`useHandleLibrary` is recommended).
47
-
48
- - Added [`updateLibrary`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#updateLibrary) API to update (replace/merge) the library [#5115](https://github.com/excalidraw/excalidraw/pull/5115).
49
-
50
- ##### BREAKING CHANGE
51
-
52
- - `updateScene` API no longer supports passing `libraryItems`. Instead, use the `updateLibrary` API.
53
-
54
- - Add support for integrating custom elements [#5164](https://github.com/excalidraw/excalidraw/pull/5164).
16
+ ### Docs
55
17
 
56
- - Add [`onPointerDown`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#onPointerDown) callback which gets triggered on pointer down events.
57
- - Add [`onScrollChange`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#onScrollChange) callback which gets triggered when scrolling the canvas.
58
- - Add API [`setActiveTool`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#setActiveTool) which host can call to set the active tool.
18
+ - Fix docs link in readme [#6486](https://github.com/excalidraw/excalidraw/pull/6486)
59
19
 
60
- - Exported [`loadSceneOrLibraryFromBlob`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#loadSceneOrLibraryFromBlob) function [#5057](https://github.com/excalidraw/excalidraw/pull/5057).
61
- - Export [`MIME_TYPES`](https://github.com/excalidraw/excalidraw/blob/master/src/constants.ts#L92) supported by Excalidraw [#5135](https://github.com/excalidraw/excalidraw/pull/5135).
62
- - Support [`avatarUrl`](https://github.com/excalidraw/excalidraw/blob/master/src/types.ts#L50) for collaborators. Now onwards host can pass `avatarUrl` to render the customized avatar for collaborators [#5114](https://github.com/excalidraw/excalidraw/pull/5114), renamed in [#5177](https://github.com/excalidraw/excalidraw/pull/5177).
63
- - Support `libraryItems` argument in `initialData.libraryItems` and `updateScene({ libraryItems })` to be a Promise resolving to `LibraryItems`, and support functional update of `libraryItems` in [`updateScene({ libraryItems })`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#updateScene). [#5101](https://github.com/excalidraw/excalidraw/pull/5101).
64
- - Expose util [`mergeLibraryItems`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#mergeLibraryItems) [#5101](https://github.com/excalidraw/excalidraw/pull/5101).
65
- - Expose util [`exportToClipboard`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#exportToClipboard) which allows to copy the scene contents to clipboard as `svg`, `png` or `json` [#5103](https://github.com/excalidraw/excalidraw/pull/5103).
66
- - Expose `window.EXCALIDRAW_EXPORT_SOURCE` which you can use to overwrite the `source` field in exported data [#5095](https://github.com/excalidraw/excalidraw/pull/5095).
67
- - The `exportToBlob` utility now supports the `exportEmbedScene` option when generating a png image [#5047](https://github.com/excalidraw/excalidraw/pull/5047).
68
- - Exported [`restoreLibraryItems`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#restoreLibraryItems) API [#4995](https://github.com/excalidraw/excalidraw/pull/4995).
20
+ ## 0.15.1 (2023-04-18)
69
21
 
70
- #### Fixes
22
+ ### Docs
71
23
 
72
- - Allow returning `null ` in [`renderFooter`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#renderFooter) prop [#5282](https://github.com/excalidraw/excalidraw/pull/5282).
24
+ - Add the readme back to the package which was mistakenly removed [#6484](https://github.com/excalidraw/excalidraw/pull/6484)
73
25
 
74
- - Transpile `browser-fs-access` dependency so that its `for await` syntax doesn't force `es2018` requirement onto dependent projects [#5041](https://github.com/excalidraw/excalidraw/pull/5041).
26
+ ## Excalidraw Library
75
27
 
76
- - Use `window.EXCALIDRAW_ASSET_PATH` for fonts when exporting to svg [#5065](https://github.com/excalidraw/excalidraw/pull/5065).
77
- - Library menu now properly rerenders if open when library is updated using `updateScene({ libraryItems })` [#4995](https://github.com/excalidraw/excalidraw/pull/4995).
28
+ **_This section lists the updates made to the excalidraw library and will not affect the integration._**
78
29
 
79
- #### Refactor
30
+ ---
80
31
 
81
- - Rename `appState.elementLocked` to `appState.activeTool.locked` [#4983](https://github.com/excalidraw/excalidraw/pull/4983).
82
- - Expose [`serializeLibraryAsJSON`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#serializeLibraryAsJSON) helper that we use when saving Excalidraw Library to a file.
32
+ ## 0.15.0 (2023-04-18)
83
33
 
84
- ##### BREAKING CHANGE
34
+ ### Features
85
35
 
86
- You will need to pass `activeTool.locked` instead of `elementType` from now onwards in `appState`.
36
+ - [`ExcalidrawAPI.scrolToContent`](https://docs.excalidraw.com/docs/@excalidraw/excalidraw/api/props/ref#scrolltocontent) has new opts object allowing you to fit viewport to content, and animate the scrolling. [#6319](https://github.com/excalidraw/excalidraw/pull/6319)
87
37
 
88
- - Rename `appState.elementType` to [`appState.activeTool`](https://github.com/excalidraw/excalidraw/blob/master/src/types.ts#L80) which is now an object [#4698](https://github.com/excalidraw/excalidraw/pull/4968).
38
+ - Expose `useI18n()` hook return an object containing `t()` i18n helper and current `langCode`. You can use this in components you render as `<Excalidraw>` children to render any of our i18n locale strings. [#6224](https://github.com/excalidraw/excalidraw/pull/6224)
89
39
 
90
- ##### BREAKING CHANGE
40
+ - [`restoreElements`](https://docs.excalidraw.com/docs/@excalidraw/excalidraw/api/utils/restore#restoreelements) API now takes an optional parameter `opts` which currently supports the below attributes
91
41
 
92
- You will need to pass `activeTool` instead of `elementType` from now onwards in `appState`
42
+ ```js
43
+ { refreshDimensions?: boolean, repairBindings?: boolean }
44
+ ```
93
45
 
94
- ### Build
46
+ The same `opts` param has been added to [`restore`](https://docs.excalidraw.com/docs/@excalidraw/excalidraw/api/utils/restore#restore) API as well.
95
47
 
96
- - Use only named exports [#5045](https://github.com/excalidraw/excalidraw/pull/5045).
48
+ For more details refer to the [docs](https://docs.excalidraw.com)
97
49
 
98
50
  #### BREAKING CHANGE
99
51
 
100
- You will need to import the named export from now onwards to use the component
101
-
102
- Using bundler :point_down:
103
-
104
- ```js
105
- import { Excalidraw } from "@excalidraw/excalidraw";
106
- ```
52
+ - The optional parameter `refreshDimensions` in [`restoreElements`](https://docs.excalidraw.com/docs/@excalidraw/excalidraw/api/utils/restore#restoreelements) has been removed and can be enabled via `opts`
107
53
 
108
- In Browser :point_down:
54
+ ### Fixes
109
55
 
110
- ```js
111
- React.createElement(ExcalidrawLib.Excalidraw, opts);
112
- ```
56
+ - Exporting labelled arrows via export utils [#6443](https://github.com/excalidraw/excalidraw/pull/6443)
113
57
 
114
58
  ## Excalidraw Library
115
59
 
@@ -117,315 +61,158 @@ React.createElement(ExcalidrawLib.Excalidraw, opts);
117
61
 
118
62
  ### Features
119
63
 
120
- - Throttle scene rendering to animation framerate [#5422](https://github.com/excalidraw/excalidraw/pull/5422)
121
-
122
- - Make toast closable and allow custom duration [#5308](https://github.com/excalidraw/excalidraw/pull/5308)
123
-
124
- - Collab component state handling rewrite & fixes [#5046](https://github.com/excalidraw/excalidraw/pull/5046)
125
-
126
- - Support debugging PWA in dev [#4853](https://github.com/excalidraw/excalidraw/pull/4853)
127
-
128
- - Redirect vscode.excalidraw.com to vscode marketplace [#5285](https://github.com/excalidraw/excalidraw/pull/5285)
129
-
130
- - Go-to-excalidrawplus button [#5202](https://github.com/excalidraw/excalidraw/pull/5202)
131
-
132
- - Autoredirect to Excalidraw+ if special cookie is present [#5183](https://github.com/excalidraw/excalidraw/pull/5183)
133
-
134
- - Support resubmitting published library items [#5174](https://github.com/excalidraw/excalidraw/pull/5174)
64
+ - Constrain export dialog preview size [#6475](https://github.com/excalidraw/excalidraw/pull/6475)
135
65
 
136
- - Support adding multiple library items on canvas [#5116](https://github.com/excalidraw/excalidraw/pull/5116)
66
+ - Zigzag fill easter egg [#6439](https://github.com/excalidraw/excalidraw/pull/6439)
137
67
 
138
- - Support customType in activeTool [#5144](https://github.com/excalidraw/excalidraw/pull/5144)
68
+ - Add container to multiple text elements [#6428](https://github.com/excalidraw/excalidraw/pull/6428)
139
69
 
140
- - Stop event propagation when key handled [#5091](https://github.com/excalidraw/excalidraw/pull/5091)
70
+ - Starting migration from GA to Matomo for better privacy [#6398](https://github.com/excalidraw/excalidraw/pull/6398)
141
71
 
142
- - Rewrite library state management & related refactor [#5067](https://github.com/excalidraw/excalidraw/pull/5067)
72
+ - Add line height attribute to text element [#6360](https://github.com/excalidraw/excalidraw/pull/6360)
143
73
 
144
- - Delay initial loading message & tweak design [#5049](https://github.com/excalidraw/excalidraw/pull/5049)
74
+ - Add thai lang support [#6314](https://github.com/excalidraw/excalidraw/pull/6314)
145
75
 
146
- - Reconcile when saving to firebase [#4991](https://github.com/excalidraw/excalidraw/pull/4991)
76
+ - Create bound container from text [#6301](https://github.com/excalidraw/excalidraw/pull/6301)
147
77
 
148
- - Hide trash button during collaboration [#5037](https://github.com/excalidraw/excalidraw/pull/5037)
78
+ - Improve text measurements in bound containers [#6187](https://github.com/excalidraw/excalidraw/pull/6187)
149
79
 
150
- - Refactor local persistence & fix race condition on SW reload [#5032](https://github.com/excalidraw/excalidraw/pull/5032)
80
+ - Bind text to container if double clicked on filled shape or stroke [#6250](https://github.com/excalidraw/excalidraw/pull/6250)
151
81
 
152
- - Element locking [#4964](https://github.com/excalidraw/excalidraw/pull/4964)
82
+ - Make repair and refreshDimensions configurable in restoreElements [#6238](https://github.com/excalidraw/excalidraw/pull/6238)
153
83
 
154
- - Copy to clipboard all text nodes as text [#5013](https://github.com/excalidraw/excalidraw/pull/5013)
84
+ - Show error message when not connected to internet while collabo… [#6165](https://github.com/excalidraw/excalidraw/pull/6165)
155
85
 
156
- - Create and expose serializeLibraryAsJSON [#5009](https://github.com/excalidraw/excalidraw/pull/5009)
86
+ - Shortcut for clearCanvas confirmDialog [#6114](https://github.com/excalidraw/excalidraw/pull/6114)
157
87
 
158
- - Hide penMode button on reload if not enabled [#4992](https://github.com/excalidraw/excalidraw/pull/4992)
159
-
160
- - Eraser toggle to switch back to the previous tool [#4981](https://github.com/excalidraw/excalidraw/pull/4981)
161
-
162
- - Save penDetected and penMode, and detect pen already on ToolButton click [#4955](https://github.com/excalidraw/excalidraw/pull/4955)
163
-
164
- - Support binding text to container via context menu [#4935](https://github.com/excalidraw/excalidraw/pull/4935)
165
-
166
- - Map shortcut O to ellipse and Add eraser shortcut E [#4930](https://github.com/excalidraw/excalidraw/pull/4930)
167
-
168
- - Update eraser cursor [#4922](https://github.com/excalidraw/excalidraw/pull/4922)
169
-
170
- - Add Eraser 🎉 [#4887](https://github.com/excalidraw/excalidraw/pull/4887)
171
-
172
- - Added optional REACT_APP_WS_SERVER_URL for forks usecases [#4889](https://github.com/excalidraw/excalidraw/pull/4889)
173
-
174
- - Rewrite collab server connecting [#4881](https://github.com/excalidraw/excalidraw/pull/4881)
175
-
176
- - Support vertical text align for bound containers [#4852](https://github.com/excalidraw/excalidraw/pull/4852)
177
-
178
- - Support custom colors 🎉 [#4843](https://github.com/excalidraw/excalidraw/pull/4843)
179
-
180
- - Support Links in Exported SVG [#4791](https://github.com/excalidraw/excalidraw/pull/4791)
181
-
182
- - Scale font size when bound text containers resized with shift pressed [#4828](https://github.com/excalidraw/excalidraw/pull/4828)
88
+ - Disable canvas smoothing (antialiasing) for right-angled elements [#6186](https://github.com/excalidraw/excalidraw/pull/6186)Co-authored-by: Ignacio Cuadra <67276174+ignacio-cuadra@users.noreply.github.com>
183
89
 
184
90
  ### Fixes
185
91
 
186
- - Autorelease job name [#5412](https://github.com/excalidraw/excalidraw/pull/5412)
187
-
188
- - Action name for autorelease [#5411](https://github.com/excalidraw/excalidraw/pull/5411)
189
-
190
- - Typecast file to fix the build [#5410](https://github.com/excalidraw/excalidraw/pull/5410)
191
-
192
- - File handle not persisted when importing excalidraw files [#5372](https://github.com/excalidraw/excalidraw/pull/5372)
193
-
194
- - Library not scrollable when no published items installed [#5352](https://github.com/excalidraw/excalidraw/pull/5352)
195
-
196
- - Focus traps inside popovers [#5317](https://github.com/excalidraw/excalidraw/pull/5317)
197
-
198
- - Unable to use cmd/ctrl-delete/backspace in inputs [#5348](https://github.com/excalidraw/excalidraw/pull/5348)
199
-
200
- - Delay loading until language imported [#5344](https://github.com/excalidraw/excalidraw/pull/5344)
201
-
202
- - Command to trigger release [#5347](https://github.com/excalidraw/excalidraw/pull/5347)
203
-
204
- - Remove unnecessary options passed to language detector [#5336](https://github.com/excalidraw/excalidraw/pull/5336)
205
-
206
- - Stale `appState.pendingImageElement` [#5322](https://github.com/excalidraw/excalidraw/pull/5322)
207
-
208
- - Non-letter shortcuts being swallowed by color picker [#5316](https://github.com/excalidraw/excalidraw/pull/5316)
209
-
210
- - Bind text to correct container when nested [#5307](https://github.com/excalidraw/excalidraw/pull/5307)
211
-
212
- - Copy bound text style when copying element having bound text [#5305](https://github.com/excalidraw/excalidraw/pull/5305)
92
+ - Center align text when wrapped in container via context menu [#6480](https://github.com/excalidraw/excalidraw/pull/6480)
213
93
 
214
- - Copy arrow head when using copy styles [#5303](https://github.com/excalidraw/excalidraw/pull/5303)
94
+ - Restore original container height when unbinding text which was binded via context menu [#6444](https://github.com/excalidraw/excalidraw/pull/6444)
215
95
 
216
- - Unsafely accessing draggingElement [#5216](https://github.com/excalidraw/excalidraw/pull/5216)
96
+ - Mark more props as optional for element [#6448](https://github.com/excalidraw/excalidraw/pull/6448)
217
97
 
218
- - Library load button does not work [#5205](https://github.com/excalidraw/excalidraw/pull/5205)
98
+ - Improperly cache-busting on canvas scale instead of zoom [#6473](https://github.com/excalidraw/excalidraw/pull/6473)
219
99
 
220
- - Do not deselect when not zooming using touchscreen pinch [#5181](https://github.com/excalidraw/excalidraw/pull/5181)
100
+ - Incorrectly duplicating items on paste/library insert [#6467](https://github.com/excalidraw/excalidraw/pull/6467)
221
101
 
222
- - Wheel zoom normalization [#5165](https://github.com/excalidraw/excalidraw/pull/5165)
102
+ - Library ids cross-contamination on multiple insert [#6466](https://github.com/excalidraw/excalidraw/pull/6466)
223
103
 
224
- - Hide sidebar when `custom` tool active [#5179](https://github.com/excalidraw/excalidraw/pull/5179)
104
+ - Color picker keyboard handling not working [#6464](https://github.com/excalidraw/excalidraw/pull/6464)
225
105
 
226
- - Don't save deleted ExcalidrawElements to Firebase [#5108](https://github.com/excalidraw/excalidraw/pull/5108)
106
+ - Abort freedraw line if second touch is detected [#6440](https://github.com/excalidraw/excalidraw/pull/6440)
227
107
 
228
- - Eraser removed deleted elements [#5155](https://github.com/excalidraw/excalidraw/pull/5155)
108
+ - Utils leaking Scene state [#6461](https://github.com/excalidraw/excalidraw/pull/6461)
229
109
 
230
- - Handle `ColorPicker` parentSelector being undefined [#5152](https://github.com/excalidraw/excalidraw/pull/5152)
110
+ - Split "Edit selected shape" shortcut [#6457](https://github.com/excalidraw/excalidraw/pull/6457)
231
111
 
232
- - Library multiselect not accounting for published state [#5132](https://github.com/excalidraw/excalidraw/pull/5132)
112
+ - Center align text when bind to container via context menu [#6451](https://github.com/excalidraw/excalidraw/pull/6451)
233
113
 
234
- - Chart display fix [#5154](https://github.com/excalidraw/excalidraw/pull/5154)
114
+ - Update coords when text unbinded from its container [#6445](https://github.com/excalidraw/excalidraw/pull/6445)
235
115
 
236
- - Update opacity of bound text when opacity of container updated [#5142](https://github.com/excalidraw/excalidraw/pull/5142)
116
+ - Autoredirect to plus in prod only [#6446](https://github.com/excalidraw/excalidraw/pull/6446)
237
117
 
238
- - Jumping of text when typing single line in bound text [#5139](https://github.com/excalidraw/excalidraw/pull/5139)
118
+ - Fixing popover overflow on small screen [#6433](https://github.com/excalidraw/excalidraw/pull/6433)
239
119
 
240
- - Remove opacity scroll wheel interaction [#5111](https://github.com/excalidraw/excalidraw/pull/5111)
120
+ - Introduce baseline to fix the layout shift when switching to text editor [#6397](https://github.com/excalidraw/excalidraw/pull/6397)
241
121
 
242
- - Propagate keydown events from excalidraw-wysiwyg inputs [#5099](https://github.com/excalidraw/excalidraw/pull/5099)
122
+ - Don't refresh dimensions for deleted text elements [#6438](https://github.com/excalidraw/excalidraw/pull/6438)
243
123
 
244
- - Don't bind text to container if double clicked else instead of center [#5105](https://github.com/excalidraw/excalidraw/pull/5105)
124
+ - Element vanishes when zoomed in [#6417](https://github.com/excalidraw/excalidraw/pull/6417)
245
125
 
246
- - ToolIcon height not using rem [#5092](https://github.com/excalidraw/excalidraw/pull/5092)
126
+ - Don't jump text to end when out of viewport in safari [#6416](https://github.com/excalidraw/excalidraw/pull/6416)
247
127
 
248
- - Excalidraw named export type [#5078](https://github.com/excalidraw/excalidraw/pull/5078)
128
+ - GetDefaultLineHeight should return default font family line height for unknown font [#6399](https://github.com/excalidraw/excalidraw/pull/6399)
249
129
 
250
- - BoundElementIds when arrows bound to elements are deleted [#5077](https://github.com/excalidraw/excalidraw/pull/5077)
130
+ - Revert use `ideographic` textBaseline to improve layout shift when editing text" [#6400](https://github.com/excalidraw/excalidraw/pull/6400)
251
131
 
252
- - Don't merge libraryItems on updateScene [#5076](https://github.com/excalidraw/excalidraw/pull/5076)
132
+ - Call stack size exceeded when paste large text [#6373](https://github.com/excalidraw/excalidraw/pull/6373) (#6396)
253
133
 
254
- - SVG metadata extraction regex on multiline elements [#5074](https://github.com/excalidraw/excalidraw/pull/5074)
134
+ - Use `ideographic` textBaseline to improve layout shift when editing text [#6384](https://github.com/excalidraw/excalidraw/pull/6384)
255
135
 
256
- - Eraser cursor showing on theme change when not using eraser [#4990](https://github.com/excalidraw/excalidraw/pull/4990)
136
+ - Chrome crashing when embedding scene on chrome arm [#6383](https://github.com/excalidraw/excalidraw/pull/6383)
257
137
 
258
- - Update `storage.rules` [#5020](https://github.com/excalidraw/excalidraw/pull/5020)
138
+ - Division by zero in findFocusPointForEllipse leads to infinite loop in wrapText freezing Excalidraw [#6377](https://github.com/excalidraw/excalidraw/pull/6377)
259
139
 
260
- - Add image button not working on iPad [#5038](https://github.com/excalidraw/excalidraw/pull/5038)
140
+ - Containerizing text incorrectly updates arrow bindings [#6369](https://github.com/excalidraw/excalidraw/pull/6369)
261
141
 
262
- - Ensure svg image dimensions are always set [#5044](https://github.com/excalidraw/excalidraw/pull/5044)
142
+ - Ensure export preview is centered [#6337](https://github.com/excalidraw/excalidraw/pull/6337)
263
143
 
264
- - Pinch zoom in view mode [#5001](https://github.com/excalidraw/excalidraw/pull/5001)
144
+ - Hide text align for labelled arrows [#6339](https://github.com/excalidraw/excalidraw/pull/6339)
265
145
 
266
- - Select whole group on righclick & few lock-related fixes [#5022](https://github.com/excalidraw/excalidraw/pull/5022)
146
+ - Refresh dimensions when elements loaded from shareable link and blob [#6333](https://github.com/excalidraw/excalidraw/pull/6333)
267
147
 
268
- - Export serializeLibraryAsJSON from the package [#5017](https://github.com/excalidraw/excalidraw/pull/5017)
148
+ - Show error message when measureText API breaks in brave [#6336](https://github.com/excalidraw/excalidraw/pull/6336)
269
149
 
270
- - Support copying PNG to clipboard on Safari [#3746](https://github.com/excalidraw/excalidraw/pull/3746)
150
+ - Add an offset of 0.5px for text editor in containers [#6328](https://github.com/excalidraw/excalidraw/pull/6328)
271
151
 
272
- - More copyText fixes [#5016](https://github.com/excalidraw/excalidraw/pull/5016)
152
+ - Move utility types out of `.d.ts` file to fix exported declaration files [#6315](https://github.com/excalidraw/excalidraw/pull/6315)
273
153
 
274
- - Copy to clipboard all text nodes as text [#5014](https://github.com/excalidraw/excalidraw/pull/5014)
154
+ - More jotai scopes missing [#6313](https://github.com/excalidraw/excalidraw/pull/6313)
275
155
 
276
- - Update cursorButton once freedraw is released [#4996](https://github.com/excalidraw/excalidraw/pull/4996)
156
+ - Provide HelpButton title prop [#6209](https://github.com/excalidraw/excalidraw/pull/6209)
277
157
 
278
- - Decouple actionFinalize and actionErase [#4984](https://github.com/excalidraw/excalidraw/pull/4984)
158
+ - Respect text align when wrapping in a container [#6310](https://github.com/excalidraw/excalidraw/pull/6310)
279
159
 
280
- - Using stale state when switching tools [#4989](https://github.com/excalidraw/excalidraw/pull/4989)
160
+ - Compute bounding box correctly for text element when multiple element resizing [#6307](https://github.com/excalidraw/excalidraw/pull/6307)
281
161
 
282
- - UpdateWysiwygStyle updatedElement is undefined TypeError [#4980](https://github.com/excalidraw/excalidraw/pull/4980)
162
+ - Use jotai scope for editor-specific atoms [#6308](https://github.com/excalidraw/excalidraw/pull/6308)
283
163
 
284
- - Adding check for link length to prevent early return [#4982](https://github.com/excalidraw/excalidraw/pull/4982)
164
+ - Consider arrow for bound text element [#6297](https://github.com/excalidraw/excalidraw/pull/6297)
285
165
 
286
- - Show link icon for bound text containers [#4960](https://github.com/excalidraw/excalidraw/pull/4960)
166
+ - Text never goes beyond max width for unbound text elements [#6288](https://github.com/excalidraw/excalidraw/pull/6288)
287
167
 
288
- - Cancel erase elements on pointer up if eraser is not active on pointer up [#4956](https://github.com/excalidraw/excalidraw/pull/4956)
168
+ - Svg text baseline [#6285](https://github.com/excalidraw/excalidraw/pull/6273)
289
169
 
290
- - Restore original opacities when alt pressed while erasing [#4954](https://github.com/excalidraw/excalidraw/pull/4954)
170
+ - Compute container height from bound text correctly [#6273](https://github.com/excalidraw/excalidraw/pull/6273)
291
171
 
292
- - Don't bind text to container if already present [#4946](https://github.com/excalidraw/excalidraw/pull/4946)
172
+ - Fit mobile toolbar and make scrollable [#6270](https://github.com/excalidraw/excalidraw/pull/6270)
293
173
 
294
- - Erase all elements which are hit with single point click [#4934](https://github.com/excalidraw/excalidraw/pull/4934)
174
+ - Indenting via `tab` clashing with IME compositor [#6258](https://github.com/excalidraw/excalidraw/pull/6258)
295
175
 
296
- - Add multiElement-edit finalize action to Desktop (currently only visible in Mobile view) [#4764](https://github.com/excalidraw/excalidraw/pull/4764)
176
+ - Improve text wrapping inside rhombus and more fixes [#6265](https://github.com/excalidraw/excalidraw/pull/6265)
297
177
 
298
- - Hide eraser in view mode in desktop [#4929](https://github.com/excalidraw/excalidraw/pull/4929)
178
+ - Improve text wrapping in ellipse and alignment [#6172](https://github.com/excalidraw/excalidraw/pull/6172)
299
179
 
300
- - Undo when erasing elements by clicking [#4921](https://github.com/excalidraw/excalidraw/pull/4921)
180
+ - Don't allow blank space in collab name [#6211](https://github.com/excalidraw/excalidraw/pull/6211)
301
181
 
302
- - Undo when erasing [#4900](https://github.com/excalidraw/excalidraw/pull/4900)
182
+ - Docker build architecture:linux/amd64 error occur on linux/arm64 instance [#6197](https://github.com/excalidraw/excalidraw/pull/6197)
303
183
 
304
- - Incorrectly erasing on mobile [#4899](https://github.com/excalidraw/excalidraw/pull/4899)
184
+ - Sort bound text elements to fix text duplication z-index error [#5130](https://github.com/excalidraw/excalidraw/pull/5130)
305
185
 
306
- - Don't crash on drop highlighted text onto canvas [#4890](https://github.com/excalidraw/excalidraw/pull/4890)
186
+ - Hide welcome screen on mobile once user interacts [#6185](https://github.com/excalidraw/excalidraw/pull/6185)
307
187
 
308
- - Paste styles shortcut [#4886](https://github.com/excalidraw/excalidraw/pull/4886)
309
-
310
- - Freedraw element's background fill color missing from SVG when exporting with package API exportToSvg() [#4871](https://github.com/excalidraw/excalidraw/pull/4871)
311
-
312
- - Improve pointer syncing performance [#4883](https://github.com/excalidraw/excalidraw/pull/4883)
313
-
314
- - Collab room initialization [#4882](https://github.com/excalidraw/excalidraw/pull/4882)
315
-
316
- - Ensure verticalAlign properties not shown when no element selected [#4860](https://github.com/excalidraw/excalidraw/pull/4860)
317
-
318
- - Binding text to non-bindable containers and not always preferring selection [#4655](https://github.com/excalidraw/excalidraw/pull/4655)
319
-
320
- - Don't show align icons for single bound container element [#4846](https://github.com/excalidraw/excalidraw/pull/4846)
321
-
322
- - Redraw text bounding box when pasting styles [#4845](https://github.com/excalidraw/excalidraw/pull/4845)
323
-
324
- - Restore cursor position after bound text container value updated [#4836](https://github.com/excalidraw/excalidraw/pull/4836)
325
-
326
- - Support resizing multiple bound text containers [#4824](https://github.com/excalidraw/excalidraw/pull/4824)
327
-
328
- - Also check overflowY: overlay in detectScroll [#4806](https://github.com/excalidraw/excalidraw/pull/4806)
329
-
330
- - Stuck resizing when resizing bound text container very fast beyond threshold [#4804](https://github.com/excalidraw/excalidraw/pull/4804)
188
+ - Edit link in docs [#6182](https://github.com/excalidraw/excalidraw/pull/6182)
331
189
 
332
190
  ### Refactor
333
191
 
334
- - Don't pass array to handleBindTextResize [#4826](https://github.com/excalidraw/excalidraw/pull/4826)
335
-
336
- ### Build
337
-
338
- - Extract all i18n files into locales folder [#5419](https://github.com/excalidraw/excalidraw/pull/5419)
192
+ - Inline `SingleLibraryItem` into `PublishLibrary` [#6462](https://github.com/excalidraw/excalidraw/pull/6462)
339
193
 
340
- - Automate release step fully [#5414](https://github.com/excalidraw/excalidraw/pull/5414)
194
+ - Make the example React app reusable without duplication [#6188](https://github.com/excalidraw/excalidraw/pull/6188)
341
195
 
342
- - Use next and preview tags instead of separate packages for next and preview release [#5346](https://github.com/excalidraw/excalidraw/pull/5346)
196
+ ### Performance
343
197
 
344
- - Support runtime React Jsx in @excalidraw/utils [#4866](https://github.com/excalidraw/excalidraw/pull/4866)
198
+ - Break early if the line width <= max width of the container [#6347](https://github.com/excalidraw/excalidraw/pull/6347)
345
199
 
346
- - Release @excalidraw/utils 0.1.1 [#4862](https://github.com/excalidraw/excalidraw/pull/4862)
200
+ ### Build
347
201
 
348
- - Remove build packages workflow [#4835](https://github.com/excalidraw/excalidraw/pull/4835)
202
+ - Move TS and types to devDependencies [#6346](https://github.com/excalidraw/excalidraw/pull/6346)
349
203
 
350
204
  ---
351
205
 
352
- ## 0.11.0 (2022-02-17)
353
-
354
- ## Excalidraw API
206
+ ## 0.14.2 (2023-02-01)
355
207
 
356
208
  ### Features
357
209
 
358
- - Add `onLinkOpen` prop which will be triggered when clicked on element hyperlink if present [#4694](https://github.com/excalidraw/excalidraw/pull/4694).
359
- - Support updating library using [`updateScene`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#updateScene) API [#4546](https://github.com/excalidraw/excalidraw/pull/4546).
360
-
361
- - Introduced primary colors to the app. The colors can be overridden. Check [readme](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#customizing-styles) on how to do so [#4387](https://github.com/excalidraw/excalidraw/pull/4387).
362
-
363
- - [`exportToBlob`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#exportToBlob) now automatically sets `appState.exportBackground` to `true` if exporting to `image/jpeg` MIME type (to ensure that alpha channel is not compressed to black color) [#4342](https://github.com/excalidraw/excalidraw/pull/4342).
364
-
365
- #### BREAKING CHANGE
366
-
367
- Remove `getElementMap` util [#4306](https://github.com/excalidraw/excalidraw/pull/4306).
368
-
369
- - Changes to [`exportToCanvas`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#exportToCanvas) util function [#4321](https://github.com/excalidraw/excalidraw/pull/4321):
370
-
371
- - Add `maxWidthOrHeight?: number` attribute.
372
- - `scale` returned from `getDimensions()` is now optional (default to `1`).
373
-
374
- - Image support added for host [PR](https://github.com/excalidraw/excalidraw/pull/4011)
375
-
376
- General notes:
377
-
378
- - File data are encoded as DataURLs (base64) for portability reasons.
379
-
380
- [ExcalidrawAPI](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#onLibraryChange):
381
-
382
- - added `getFiles()` to get current `BinaryFiles` (`Record<FileId, BinaryFileData>`). It may contain files that aren't referenced by any element, so if you're persisting the files to a storage, you should compare them against stored elements.
383
-
384
- Excalidraw app props:
385
-
386
- - added `generateIdForFile(file: File)` optional prop so you can generate your own ids for added files.
387
- - `onChange(elements, appState, files)` prop callback is now passed `BinaryFiles` as third argument.
388
- - `onPaste(data, event)` data prop should contain `data.files` (`BinaryFiles`) if the elements pasted are referencing new files.
389
- - `initialData` object now supports additional `files` (`BinaryFiles`) attribute.
390
-
391
- Other notes:
392
-
393
- - `.excalidraw` files may now contain top-level `files` key in format of `Record<FileId, BinaryFileData>` when exporting any (image) elements.
394
- - Changes were made to various export utilities exported from the package so that they take `files`, you can refer to the docs for the same.
395
-
396
- - Export [`isLinearElement`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#isLinearElement) and [`getNonDeletedElements`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#getNonDeletedElements) [#4072](https://github.com/excalidraw/excalidraw/pull/4072).
397
-
398
- - Support [`renderTopRightUI`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#renderTopRightUI) in mobile UI [#4065](https://github.com/excalidraw/excalidraw/pull/4065).
399
-
400
- - Export `THEME` constant from the package so host can use this when passing the theme [#4055](https://github.com/excalidraw/excalidraw/pull/4055).
401
-
402
- #### BREAKING CHANGE
403
-
404
- The `Appearance` type is now removed and renamed to `Theme` so `Theme` type needs to be used.
210
+ - Welcome screen no longer renders by default, and you need to render it yourself. `UIOptions.welcomeScreen` option is now deprecated. [#6117](https://github.com/excalidraw/excalidraw/pull/6117)
211
+ - `MainMenu`, `MainMenu.Item`, and `MainMenu.ItemLink` components now all support `onSelect(event: Event): void` callback. If you call `event.preventDefault()`, it will prevent the menu from closing when an item is selected (clicked on). [#6152](https://github.com/excalidraw/excalidraw/pull/6152)
405
212
 
406
213
  ### Fixes
407
214
 
408
- - Reset `unmounted` state on the component once component mounts to fix the mounting/unmounting repeatedly when used with `useEffect` [#4682](https://github.com/excalidraw/excalidraw/pull/4682).
409
- - Panning the canvas using `mousewheel-drag` and `space-drag` now prevents the browser from scrolling the container/page [#4489](https://github.com/excalidraw/excalidraw/pull/4489).
410
- - Scope drag and drop events to Excalidraw container to prevent overriding host application drag and drop events [#4445](https://github.com/excalidraw/excalidraw/pull/4445).
411
-
412
- ### Build
413
-
414
- - Release preview package [@excalidraw/excalidraw-preview](https://www.npmjs.com/package/@excalidraw/excalidraw-preview) when triggered via comment
415
-
416
- ```
417
- @excalibot trigger release
418
- ```
419
-
420
- [#4750](https://github.com/excalidraw/excalidraw/pull/4750).
421
-
422
- - Added an example to test and develop the package [locally](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#Development) using `yarn start` [#4488](https://github.com/excalidraw/excalidraw/pull/4488)
423
-
424
- - Remove `file-loader` so font assets are not duplicated by webpack and use webpack asset modules for font generation [#4380](https://github.com/excalidraw/excalidraw/pull/4380).
425
-
426
- - We're now compiling to `es2017` target. Notably, `async/await` is not compiled down to generators. [#4341](https://github.com/excalidraw/excalidraw/pull/4341).
427
-
428
- ---
215
+ - declare css variable for font in excalidraw so its available in host [#6160](https://github.com/excalidraw/excalidraw/pull/6160)
429
216
 
430
217
  ## Excalidraw Library
431
218
 
@@ -433,459 +220,444 @@ React.createElement(ExcalidrawLib.Excalidraw, opts);
433
220
 
434
221
  ### Features
435
222
 
436
- - Show group/group and link action in mobile [#4795](https://github.com/excalidraw/excalidraw/pull/4795)
437
-
438
- - Support background fill for freedraw shapes [#4610](https://github.com/excalidraw/excalidraw/pull/4610)
439
-
440
- - Keep selected tool on canvas reset [#4728](https://github.com/excalidraw/excalidraw/pull/4728)
441
-
442
- - Make whole element clickable in view mode when it has hyperlink [#4735](https://github.com/excalidraw/excalidraw/pull/4735)
443
-
444
- - Allow any precision when zooming [#4730](https://github.com/excalidraw/excalidraw/pull/4730)
445
-
446
- - Throttle `pointermove` events per framerate [#4727](https://github.com/excalidraw/excalidraw/pull/4727)
447
-
448
- - Support hyperlinks 🔥 [#4620](https://github.com/excalidraw/excalidraw/pull/4620)
449
-
450
- - Added penMode for palm rejection [#4657](https://github.com/excalidraw/excalidraw/pull/4657)
451
-
452
- - Support unbinding bound text [#4686](https://github.com/excalidraw/excalidraw/pull/4686)
223
+ - Add hand/panning tool [#6141](https://github.com/excalidraw/excalidraw/pull/6141)
453
224
 
454
- - Sync local storage state across tabs when out of sync [#4545](https://github.com/excalidraw/excalidraw/pull/4545)
225
+ - Show copy-as-png export button on firefox and show steps how to enable it [#6125](https://github.com/excalidraw/excalidraw/pull/6125)
455
226
 
456
- - Support contextMenuLabel to be of function type to support dynamic labels [#4654](https://github.com/excalidraw/excalidraw/pull/4654)
227
+ ### Fixes
457
228
 
458
- - Support decreasing/increasing `fontSize` via keyboard [#4553](https://github.com/excalidraw/excalidraw/pull/4553)
229
+ - Horizontal padding when aligning bound text containers [#6180](https://github.com/excalidraw/excalidraw/pull/6180)
459
230
 
460
- - Link to new LP for excalidraw plus [#4549](https://github.com/excalidraw/excalidraw/pull/4549)
231
+ - Make tunnels work in multi-instance scenarios [#6178](https://github.com/excalidraw/excalidraw/pull/6178)
461
232
 
462
- - Update stroke color of bounded text along with container [#4541](https://github.com/excalidraw/excalidraw/pull/4541)
233
+ - Add 1px width to the container to calculate more accurately [#6174](https://github.com/excalidraw/excalidraw/pull/6174)
463
234
 
464
- - Hints and shortcuts help around deep selection [#4502](https://github.com/excalidraw/excalidraw/pull/4502)
235
+ - Quick typo fix [#6167](https://github.com/excalidraw/excalidraw/pull/6167)
465
236
 
466
- - Support updating text properties by clicking on container [#4499](https://github.com/excalidraw/excalidraw/pull/4499)
237
+ - Set the width correctly using measureText in editor [#6162](https://github.com/excalidraw/excalidraw/pull/6162)
467
238
 
468
- - Bind text to shapes when pressing enter and support sticky notes 🎉 [#4343](https://github.com/excalidraw/excalidraw/pull/4343)
239
+ - :bug: broken emojis when wrap text [#6153](https://github.com/excalidraw/excalidraw/pull/6153)
469
240
 
470
- - Change `boundElementIds` `boundElements` [#4404](https://github.com/excalidraw/excalidraw/pull/4404)
241
+ - Button background and svg sizes [#6155](https://github.com/excalidraw/excalidraw/pull/6155)
471
242
 
472
- - Support selecting multiple points when editing line [#4373](https://github.com/excalidraw/excalidraw/pull/4373)
243
+ ### Styles
473
244
 
474
- - Horizontally center toolbar menu [commit link](https://github.com/excalidraw/excalidraw/commit/9b8ee3cacfec239617c357693cf2a3ca9972d2cb)
245
+ - Change in ExportButton style [#6147](https://github.com/excalidraw/excalidraw/pull/6147) (#6148)
475
246
 
476
- - Add support for rounded corners in diamond [#4369](https://github.com/excalidraw/excalidraw/pull/4369)
247
+ ### Build
477
248
 
478
- - Allow zooming up to 3000% [#4358](https://github.com/excalidraw/excalidraw/pull/4358)
249
+ - Temporarily disable pre-commit [#6132](https://github.com/excalidraw/excalidraw/pull/6132)
479
250
 
480
- - Stop discarding precision when rendering [#4357](https://github.com/excalidraw/excalidraw/pull/4357)
251
+ ---
481
252
 
482
- - Support Image binding [#4347](https://github.com/excalidraw/excalidraw/pull/4347)
253
+ ## 0.14.1 (2023-01-16)
483
254
 
484
- - Add `element.updated` [#4070](https://github.com/excalidraw/excalidraw/pull/4070)
255
+ ### Fixes
485
256
 
486
- - Compress shareLink data when uploading to json server [#4225](https://github.com/excalidraw/excalidraw/pull/4225)
257
+ - remove overflow hidden from button [#6110](https://github.com/excalidraw/excalidraw/pull/6110). This fixes the collaborator count css in the [LiveCollaborationTrigger](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#LiveCollaborationTrigger) component.
487
258
 
488
- - Supply `version` param when installing libraries [#4305](https://github.com/excalidraw/excalidraw/pull/4305)
259
+ ## 0.14.0 (2023-01-13)
489
260
 
490
- - Log FS abortError to console [#4279](https://github.com/excalidraw/excalidraw/pull/4279)
261
+ ### Features
491
262
 
492
- - Add validation for website and remove validation for library item name [#4269](https://github.com/excalidraw/excalidraw/pull/4269)
263
+ - Support customization for the editor [welcome screen](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#WelcomeScreen) [#6048](https://github.com/excalidraw/excalidraw/pull/6048).
493
264
 
494
- - Allow publishing libraries from UI [#4115](https://github.com/excalidraw/excalidraw/pull/4115)
265
+ - Expose component API for the Excalidraw main menu [#6034](https://github.com/excalidraw/excalidraw/pull/6034), You can read more about its usage [here](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#MainMenu)
495
266
 
496
- - Create confirm dialog to use instead of window.confirm [#4256](https://github.com/excalidraw/excalidraw/pull/4256)
267
+ - Support customization for the Excalidraw [main menu](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#MainMenu) [#6034](https://github.com/excalidraw/excalidraw/pull/6034).
497
268
 
498
- - Allow letters in IDs for storing files in backend [#4224](https://github.com/excalidraw/excalidraw/pull/4224)
269
+ - [Footer](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#Footer) is now rendered as child component instead of passed as a render prop [#5970](https://github.com/excalidraw/excalidraw/pull/5970).
499
270
 
500
- - Remove support for V1 unencrypted backend [#4189](https://github.com/excalidraw/excalidraw/pull/4189)
271
+ - Any top-level children passed to the `<Excalidraw/>` component that do not belong to one of the officially supported Excalidraw children components are now rendered directly inside the Excalidraw container (previously, they weren't rendered at all) [#6096](https://github.com/excalidraw/excalidraw/pull/6096).
501
272
 
502
- - Use separate backend for local storage [#4187](https://github.com/excalidraw/excalidraw/pull/4187)
273
+ - Expose [LiveCollaborationTrigger](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#LiveCollaborationTrigger) component. Replaces `props.onCollabButtonClick` [#6104](https://github.com/excalidraw/excalidraw/pull/6104).
503
274
 
504
- - Add hint around canvas panning [#4159](https://github.com/excalidraw/excalidraw/pull/4159)
275
+ #### BREAKING CHANGES
505
276
 
506
- - Stop using production services for development [#4113](https://github.com/excalidraw/excalidraw/pull/4113)
277
+ - `props.onCollabButtonClick` is now removed. You need to render the main menu item yourself, and optionally also render the `<LiveCollaborationTrigger>` component using [renderTopRightUI](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#renderTopRightUI) prop if you want to retain the canvas button at top-right.
278
+ - The prop `renderFooter` is now removed in favor of rendering as a child component.
507
279
 
508
- - Add triangle arrowhead [#4024](https://github.com/excalidraw/excalidraw/pull/4024)
280
+ ### Excalidraw schema
509
281
 
510
- - Add rewrite to webex landing page [#4102](https://github.com/excalidraw/excalidraw/pull/4102)
282
+ - Merged `appState.currentItemStrokeSharpness` and `appState.currentItemLinearStrokeSharpness` into `appState.currentItemRoundness`. Renamed `changeSharpness` action to `changeRoundness`. Excalidraw element's `strokeSharpness` was changed to `roundness`. Check the PR for types and more details [#5553](https://github.com/excalidraw/excalidraw/pull/5553).
511
283
 
512
- - Switch collab server [#4092](https://github.com/excalidraw/excalidraw/pull/4092)
284
+ ## Excalidraw Library
513
285
 
514
- - Use dialog component for clear canvas instead of window confirm [#4075](https://github.com/excalidraw/excalidraw/pull/4075)
286
+ **_This section lists the updates made to the excalidraw library and will not affect the integration._**
515
287
 
516
- ### Fixes
288
+ ### Features
517
289
 
518
- - Rename --color-primary-chubb to --color-primary-contrast-offset and fallback to primary color if not present [#4803](https://github.com/excalidraw/excalidraw/pull/4803)
290
+ - Generic button export [#6092](https://github.com/excalidraw/excalidraw/pull/6092)
519
291
 
520
- - Add commits directly pushed to master in changelog [#4798](https://github.com/excalidraw/excalidraw/pull/4798)
292
+ - Scroll using PageUp and PageDown [#6038](https://github.com/excalidraw/excalidraw/pull/6038)
521
293
 
522
- - Don't bump element version when adding files data [#4794](https://github.com/excalidraw/excalidraw/pull/4794)
294
+ - Support shrinking text containers to original height when text removed [#6025](https://github.com/excalidraw/excalidraw/pull/6025)
523
295
 
524
- - Mobile link click [#4742](https://github.com/excalidraw/excalidraw/pull/4742)
296
+ - Move contextMenu into the component tree and control via appState [#6021](https://github.com/excalidraw/excalidraw/pull/6021)
525
297
 
526
- - ContextMenu timer & pointers not correctly reset on iOS [#4765](https://github.com/excalidraw/excalidraw/pull/4765)
298
+ - Allow readonly actions to be used in viewMode [#5982](https://github.com/excalidraw/excalidraw/pull/5982)
527
299
 
528
- - Use absolute coords when rendering link popover [#4753](https://github.com/excalidraw/excalidraw/pull/4753)
300
+ - Support labels for arrow 🔥 [#5723](https://github.com/excalidraw/excalidraw/pull/5723)
529
301
 
530
- - Changing font size when text is not selected or edited [#4751](https://github.com/excalidraw/excalidraw/pull/4751)
302
+ - Don't add midpoint until dragged beyond a threshold [#5927](https://github.com/excalidraw/excalidraw/pull/5927)
531
303
 
532
- - Disable contextmenu on non-secondary `pen` events or `touch` [#4675](https://github.com/excalidraw/excalidraw/pull/4675)
304
+ - Changed text copy/paste behaviour [#5786](https://github.com/excalidraw/excalidraw/pull/5786)
533
305
 
534
- - Mobile context menu won't show on long press [#4741](https://github.com/excalidraw/excalidraw/pull/4741)
306
+ - Reintroduce `x` shortcut for `freedraw` [#5840](https://github.com/excalidraw/excalidraw/pull/5840)
535
307
 
536
- - Do not open links twice [#4738](https://github.com/excalidraw/excalidraw/pull/4738)
308
+ - Tweak toolbar shortcuts & remove library shortcut [#5832](https://github.com/excalidraw/excalidraw/pull/5832)
537
309
 
538
- - Make link icon clickable in mobile [#4736](https://github.com/excalidraw/excalidraw/pull/4736)
310
+ - Clean unused images only after 24hrs (local-only) [#5839](https://github.com/excalidraw/excalidraw/pull/5839)
539
311
 
540
- - Apple Pen missing strokes [#4705](https://github.com/excalidraw/excalidraw/pull/4705)
312
+ - Refetch errored/pending images on collab room init load [#5833](https://github.com/excalidraw/excalidraw/pull/5833)
541
313
 
542
- - Freedraw slow movement jittery lines [#4726](https://github.com/excalidraw/excalidraw/pull/4726)
314
+ - Stop deleting whole line when no point select in line editor [#5676](https://github.com/excalidraw/excalidraw/pull/5676)
543
315
 
544
- - Disable three finger pinch zoom in penMode [#4725](https://github.com/excalidraw/excalidraw/pull/4725)
316
+ - Editor redesign 🔥 [#5780](https://github.com/excalidraw/excalidraw/pull/5780)
545
317
 
546
- - Remove click listener for opening popup [#4700](https://github.com/excalidraw/excalidraw/pull/4700)
318
+ ### Fixes
547
319
 
548
- - Link popup position not accounting for offsets [#4695](https://github.com/excalidraw/excalidraw/pull/4695)
320
+ - Mobile tools positioning [#6107](https://github.com/excalidraw/excalidraw/pull/6107)
549
321
 
550
- - PenMode darkmode style [#4692](https://github.com/excalidraw/excalidraw/pull/4692)
322
+ - Renamed folder MainMenu->main-menu and support rest props [#6103](https://github.com/excalidraw/excalidraw/pull/6103)
551
323
 
552
- - Typing `_+` in wysiwyg not working [#4681](https://github.com/excalidraw/excalidraw/pull/4681)
324
+ - Use position absolute for mobile misc tools [#6099](https://github.com/excalidraw/excalidraw/pull/6099)
553
325
 
554
- - Keyboard-zooming in wysiwyg should zoom canvas [#4676](https://github.com/excalidraw/excalidraw/pull/4676)
326
+ - React.memo resolvers not accounting for all props [#6042](https://github.com/excalidraw/excalidraw/pull/6042)
555
327
 
556
- - SceneCoordsToViewportCoords, jumping text when there is an offset [#4413](https://github.com/excalidraw/excalidraw/pull/4413) (#4630)
328
+ - Image horizontal flip fix + improved tests [#5799](https://github.com/excalidraw/excalidraw/pull/5799)
557
329
 
558
- - Right-click object menu displays partially off-screen [#4572](https://github.com/excalidraw/excalidraw/pull/4572) (#4631)
330
+ - Png-exporting does not preserve angles correctly for flipped images [#6085](https://github.com/excalidraw/excalidraw/pull/6085)
559
331
 
560
- - Support collaboration in bound text [#4573](https://github.com/excalidraw/excalidraw/pull/4573)
332
+ - Stale appState of MainMenu defaultItems rendered from Actions [#6074](https://github.com/excalidraw/excalidraw/pull/6074)
561
333
 
562
- - Cmd/ctrl native browser behavior blocked in inputs [#4589](https://github.com/excalidraw/excalidraw/pull/4589)
334
+ - HelpDialog [#6072](https://github.com/excalidraw/excalidraw/pull/6072)
563
335
 
564
- - Use cached width when calculating min width during resize [#4585](https://github.com/excalidraw/excalidraw/pull/4585)
336
+ - Show error message on collab save failure [#6063](https://github.com/excalidraw/excalidraw/pull/6063)
565
337
 
566
- - Support collaboration in bounded text [#4580](https://github.com/excalidraw/excalidraw/pull/4580)
338
+ - Remove ga from docker build [#6059](https://github.com/excalidraw/excalidraw/pull/6059)
567
339
 
568
- - Port for collab server and update docs [#4569](https://github.com/excalidraw/excalidraw/pull/4569)
340
+ - Use displayName since name gets stripped off when uglifying/minifiyng in production [#6036](https://github.com/excalidraw/excalidraw/pull/6036)
569
341
 
570
- - Don't mutate the bounded text if not updated when submitted [#4543](https://github.com/excalidraw/excalidraw/pull/4543)
342
+ - Remove background from wysiwyg when editing arrow label [#6033](https://github.com/excalidraw/excalidraw/pull/6033)
571
343
 
572
- - Prevent canvas drag while editing text [#4552](https://github.com/excalidraw/excalidraw/pull/4552)
344
+ - Use canvas measureText to calculate width in measureText [#6030](https://github.com/excalidraw/excalidraw/pull/6030)
573
345
 
574
- - Support shift+P for freedraw [#4550](https://github.com/excalidraw/excalidraw/pull/4550)
346
+ - Restoring deleted bindings [#6029](https://github.com/excalidraw/excalidraw/pull/6029)
575
347
 
576
- - Prefer spreadsheet data over image [#4533](https://github.com/excalidraw/excalidraw/pull/4533)
348
+ - ColorPicker getColor [#5949](https://github.com/excalidraw/excalidraw/pull/5949)
577
349
 
578
- - Show text properties button states correctly for bounded text [#4542](https://github.com/excalidraw/excalidraw/pull/4542)
350
+ - Don't push whitespace to next line when exceeding max width during wrapping and make sure to use same width of text editor on DOM when measuring dimensions [#5996](https://github.com/excalidraw/excalidraw/pull/5996)
579
351
 
580
- - Rotate bounded text when container is rotated before typing [#4535](https://github.com/excalidraw/excalidraw/pull/4535)
352
+ - Showing `grabbing` cursor when holding `spacebar` [#6015](https://github.com/excalidraw/excalidraw/pull/6015)
581
353
 
582
- - Undo should work when selecting bounded textr [#4537](https://github.com/excalidraw/excalidraw/pull/4537)
354
+ - Resize sometimes throwing on missing null-checks [#6013](https://github.com/excalidraw/excalidraw/pull/6013)
583
355
 
584
- - Reduce padding to 5px for bounded text [#4530](https://github.com/excalidraw/excalidraw/pull/4530)
356
+ - PWA not working after CRA@5 update [#6012](https://github.com/excalidraw/excalidraw/pull/6012)
585
357
 
586
- - Bound text doesn't inherit container [#4521](https://github.com/excalidraw/excalidraw/pull/4521)
358
+ - Not properly restoring element stroke and bg colors [#6002](https://github.com/excalidraw/excalidraw/pull/6002)
587
359
 
588
- - Text wrapping with grid [#4505](https://github.com/excalidraw/excalidraw/pull/4505) (#4506)
360
+ - Avatar outline on safari & center [#5997](https://github.com/excalidraw/excalidraw/pull/5997)
589
361
 
590
- - Check if process is defined before using so it works in browser [#4497](https://github.com/excalidraw/excalidraw/pull/4497)
362
+ - Chart pasting not working due to removing tab characters [#5987](https://github.com/excalidraw/excalidraw/pull/5987)
591
363
 
592
- - Pending review fixes for sticky notes [#4493](https://github.com/excalidraw/excalidraw/pull/4493)
364
+ - Apply the right type of roundness when pasting styles [#5979](https://github.com/excalidraw/excalidraw/pull/5979)
593
365
 
594
- - Pasted elements except binded text once paste action is complete [#4472](https://github.com/excalidraw/excalidraw/pull/4472)
366
+ - Remove editor onpaste handler [#5971](https://github.com/excalidraw/excalidraw/pull/5971)
595
367
 
596
- - Don't select binded text when ungrouping [#4470](https://github.com/excalidraw/excalidraw/pull/4470)
368
+ - Remove blank space [#5950](https://github.com/excalidraw/excalidraw/pull/5950)
597
369
 
598
- - Set height correctly when text properties updated while editing in container until first submit [#4469](https://github.com/excalidraw/excalidraw/pull/4469)
370
+ - Galego and Kurdî missing in languages plus two locale typos [#5954](https://github.com/excalidraw/excalidraw/pull/5954)
599
371
 
600
- - Align and distribute binded text in container and cleanup [#4468](https://github.com/excalidraw/excalidraw/pull/4468)
372
+ - `ExcalidrawArrowElement` rather than `ExcalidrawArrowEleement` [#5955](https://github.com/excalidraw/excalidraw/pull/5955)
601
373
 
602
- - Move binded text when moving container using keyboard [#4466](https://github.com/excalidraw/excalidraw/pull/4466)
374
+ - RenderFooter styling [#5962](https://github.com/excalidraw/excalidraw/pull/5962)
603
375
 
604
- - Support dragging binded text in container selected in a group [#4462](https://github.com/excalidraw/excalidraw/pull/4462)
376
+ - Repair element bindings on restore [#5956](https://github.com/excalidraw/excalidraw/pull/5956)
605
377
 
606
- - Vertically align single line when deleting text in bounded container [#4460](https://github.com/excalidraw/excalidraw/pull/4460)
378
+ - Don't allow whitespaces for bound text [#5939](https://github.com/excalidraw/excalidraw/pull/5939)
607
379
 
608
- - Update height correctly when updating text properties in binded text [#4459](https://github.com/excalidraw/excalidraw/pull/4459)
380
+ - Bindings do not survive history serialization [#5942](https://github.com/excalidraw/excalidraw/pull/5942)
609
381
 
610
- - Align library item previews to center [#4447](https://github.com/excalidraw/excalidraw/pull/4447)
382
+ - Dedupe boundElement ids when container duplicated with alt+drag [#5938](https://github.com/excalidraw/excalidraw/pull/5938)
611
383
 
612
- - Vertically center align text when text deleted [#4457](https://github.com/excalidraw/excalidraw/pull/4457)
384
+ - Scale font correctly when using shift [#5935](https://github.com/excalidraw/excalidraw/pull/5935)
613
385
 
614
- - Vertically center the first line as user starts typing in container [#4454](https://github.com/excalidraw/excalidraw/pull/4454)
386
+ - Always bind to container selected by user [#5880](https://github.com/excalidraw/excalidraw/pull/5880)
615
387
 
616
- - Switch cursor to center of container when adding text when dimensions are too small [#4452](https://github.com/excalidraw/excalidraw/pull/4452)
388
+ - Fonts not rendered on init if `loadingdone` not fired [#5923](https://github.com/excalidraw/excalidraw/pull/5923)
617
389
 
618
- - Vertically center align the bounded text correctly when zoomed [#4444](https://github.com/excalidraw/excalidraw/pull/4444)
390
+ - Stop replacing `del` word with `Delete` [#5897](https://github.com/excalidraw/excalidraw/pull/5897)
619
391
 
620
- - Support updating stroke color for text by typing in color picker input [#4415](https://github.com/excalidraw/excalidraw/pull/4415)
392
+ - Remove legacy React.render() from the editor [#5893](https://github.com/excalidraw/excalidraw/pull/5893)
621
393
 
622
- - Bound text not atomic with container when changing z-index [#4414](https://github.com/excalidraw/excalidraw/pull/4414)
394
+ - Allow adding text via enter only for text containers [#5891](https://github.com/excalidraw/excalidraw/pull/5891)
623
395
 
624
- - Update viewport coords correctly when editing text [#4416](https://github.com/excalidraw/excalidraw/pull/4416)
396
+ - Stop font `loadingdone` loop when rendering element SVGs [#5883](https://github.com/excalidraw/excalidraw/pull/5883)
625
397
 
626
- - Use word-break break-word only and update text editor height only when binded to container [#4410](https://github.com/excalidraw/excalidraw/pull/4410)
398
+ - Refresh text dimensions only after font load done [#5878](https://github.com/excalidraw/excalidraw/pull/5878)
627
399
 
628
- - Husky not able to execute pre-commit on windows [#4370](https://github.com/excalidraw/excalidraw/pull/4370)
400
+ - Correctly paste contents parsed by `JSON.parse()` as text. [#5868](https://github.com/excalidraw/excalidraw/pull/5868)
629
401
 
630
- - Make firebase config parsing not fail on undefined env [#4381](https://github.com/excalidraw/excalidraw/pull/4381)
402
+ - SVG element attributes in icons.tsx [#5871](https://github.com/excalidraw/excalidraw/pull/5871)
631
403
 
632
- - Adding to library via contextmenu when no image is selected [#4356](https://github.com/excalidraw/excalidraw/pull/4356)
404
+ - Merge existing text with new when pasted [#5856](https://github.com/excalidraw/excalidraw/pull/5856)
633
405
 
634
- - Export scale quality regression [#4316](https://github.com/excalidraw/excalidraw/pull/4316)
406
+ - Disable FAST_REFRESH to fix live reload [#5852](https://github.com/excalidraw/excalidraw/pull/5852)
635
407
 
636
- - Remove `100%` height from tooltip container to fix layout issues [#3980](https://github.com/excalidraw/excalidraw/pull/3980)
408
+ - Paste clipboard contents into unbound text elements [#5849](https://github.com/excalidraw/excalidraw/pull/5849)
637
409
 
638
- - Inline ENV variables when building excalidraw package [#4311](https://github.com/excalidraw/excalidraw/pull/4311)
410
+ - Compute dimensions of container correctly when text pasted on container [#5845](https://github.com/excalidraw/excalidraw/pull/5845)
639
411
 
640
- - SVG export in dark mode with embedded bitmap image [#4285](https://github.com/excalidraw/excalidraw/pull/4285)
412
+ - Line editor points rendering below elements [#5781](https://github.com/excalidraw/excalidraw/pull/5781)
641
413
 
642
- - New FS API not working on Linux [#4280](https://github.com/excalidraw/excalidraw/pull/4280)
414
+ - Syncing 1-point lines to remote clients [#5677](https://github.com/excalidraw/excalidraw/pull/5677)
643
415
 
644
- - Url -> URL for consistency [#4277](https://github.com/excalidraw/excalidraw/pull/4277)
416
+ - Incorrectly selecting linear elements on creation while tool-locked [#5785](https://github.com/excalidraw/excalidraw/pull/5785)
645
417
 
646
- - Prevent adding images to library via contextMenu [#4264](https://github.com/excalidraw/excalidraw/pull/4264)
418
+ - Corrected typo in toggle theme shortcut [#5813](https://github.com/excalidraw/excalidraw/pull/5813)
647
419
 
648
- - Account for libraries v2 when prompting [#4263](https://github.com/excalidraw/excalidraw/pull/4263)
420
+ - Hide canvas-modifying UI in view mode [#5815](https://github.com/excalidraw/excalidraw/pull/5815)
649
421
 
650
- - Skia rendering issues [#4200](https://github.com/excalidraw/excalidraw/pull/4200)
422
+ - Fix vertical/horizntal centering icons [#5812](https://github.com/excalidraw/excalidraw/pull/5812)
651
423
 
652
- - Ellipse roughness when `0` [#4194](https://github.com/excalidraw/excalidraw/pull/4194)
424
+ - Consistent use of ZOOM_STEP [#5801](https://github.com/excalidraw/excalidraw/pull/5801)
653
425
 
654
- - Proper string for invalid SVG [#4191](https://github.com/excalidraw/excalidraw/pull/4191)
426
+ - Multiple elements resizing regressions [#5586](https://github.com/excalidraw/excalidraw/pull/5586)
655
427
 
656
- - Images not initialized correctly [#4157](https://github.com/excalidraw/excalidraw/pull/4157)
428
+ - Changelog typo [#5795](https://github.com/excalidraw/excalidraw/pull/5795)
657
429
 
658
- - Image-related fixes [#4147](https://github.com/excalidraw/excalidraw/pull/4147)
430
+ ### Refactor
659
431
 
660
- - Rewrite collab element reconciliation to fix z-index issues [#4076](https://github.com/excalidraw/excalidraw/pull/4076)
432
+ - Remove unnecessary code [#5933](https://github.com/excalidraw/excalidraw/pull/5933)
661
433
 
662
- - Redirect excalidraw.com/about to for-webex.excalidraw.com [#4104](https://github.com/excalidraw/excalidraw/pull/4104)
434
+ ### Build
663
435
 
664
- - Redirect to webex LP instead of rewrite to fix SW [#4103](https://github.com/excalidraw/excalidraw/pull/4103)
436
+ - Move release scripts to use release branch [#5958](https://github.com/excalidraw/excalidraw/pull/5958)
665
437
 
666
- - Clear image/shape cache of affected elements when adding files [#4089](https://github.com/excalidraw/excalidraw/pull/4089)
438
+ - Stops ignoring .env files from docker context so env variables get set during react app build. [#5809](https://github.com/excalidraw/excalidraw/pull/5809)
667
439
 
668
- - Clear `LibraryUnit` DOM on unmount [#4084](https://github.com/excalidraw/excalidraw/pull/4084)
440
+ ---
669
441
 
670
- - Pasting images on firefox [#4085](https://github.com/excalidraw/excalidraw/pull/4085)
442
+ ## 0.13.0 (2022-10-27)
671
443
 
672
- ### Refactor
444
+ ### Excalidraw API
673
445
 
674
- - Simplify zoom by removing `zoom.translation` [#4477](https://github.com/excalidraw/excalidraw/pull/4477)
446
+ #### Features
675
447
 
676
- - Deduplicate encryption helpers [#4146](https://github.com/excalidraw/excalidraw/pull/4146)
448
+ - `restoreElements()` now takes an optional parameter to indicate whether we should also recalculate text element dimensions. Defaults to `true`, but since this is a potentially costly operation, you may want to disable it if you restore elements in tight loops, such as during collaboration [#5432](https://github.com/excalidraw/excalidraw/pull/5432).
449
+ - Support rendering custom sidebar using [`renderSidebar`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#renderSidebar) prop ([#5663](https://github.com/excalidraw/excalidraw/pull/5663)).
450
+ - Add [`toggleMenu`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#toggleMenu) prop to toggle specific menu open/close state ([#5663](https://github.com/excalidraw/excalidraw/pull/5663)).
451
+ - Support [theme](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#theme) to be semi-controlled [#5660](https://github.com/excalidraw/excalidraw/pull/5660).
452
+ - Added support for storing [`customData`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#storing-custom-data-on-excalidraw-elements) on Excalidraw elements [#5592].
453
+ - Added `exportPadding?: number;` to [exportToCanvas](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#exporttocanvas) and [exportToBlob](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#exporttoblob). The default value of the padding is `10`.
677
454
 
678
- ### Performance
455
+ #### Breaking Changes
679
456
 
680
- - Cache approx line height in textwysiwg [#4651](https://github.com/excalidraw/excalidraw/pull/4651)
457
+ - `props.UIOptions.canvasActions.theme` is now renamed to `props.UIOptions.canvasActions.toggleTheme` [#5660](https://github.com/excalidraw/excalidraw/pull/5660).
458
+ - `setToastMessage` API is now renamed to `setToast` API and the function signature is also updated [#5427](https://github.com/excalidraw/excalidraw/pull/5427). You can also pass `duration` and `closable` attributes along with `message`.
681
459
 
682
- ### Build
460
+ ## Excalidraw Library
683
461
 
684
- - Rename release command to 'release package' [#4783](https://github.com/excalidraw/excalidraw/pull/4783)
462
+ **_This section lists the updates made to the excalidraw library and will not affect the integration._**
685
463
 
686
- - Deploy excalidraw package example [#4762](https://github.com/excalidraw/excalidraw/pull/4762)
464
+ ### Features
687
465
 
688
- - Allow package.json changes when autoreleasing next [#4068](https://github.com/excalidraw/excalidraw/pull/4068)
466
+ - Render library into `Sidebar` on mobile [#5774](https://github.com/excalidraw/excalidraw/pull/5774)
689
467
 
690
- ---
468
+ - Additional drag and drop image format support (webp, bmp, ico) [#5749](https://github.com/excalidraw/excalidraw/pull/5749)
691
469
 
692
- ## 0.10.0 (2021-10-13)
470
+ - Enter and Exit line editor via context menu [#5719](https://github.com/excalidraw/excalidraw/pull/5719)
693
471
 
694
- ## Excalidraw API
472
+ - Further reduce darkmode init flash [#5701](https://github.com/excalidraw/excalidraw/pull/5701)
695
473
 
696
- ### Fixes
474
+ - Support segment midpoints in line editor [#5641](https://github.com/excalidraw/excalidraw/pull/5641)
697
475
 
698
- - Don't show save file to disk button in export dialog when `saveFileToDisk` passed as `false` in [`UIOptions.canvasActions.export`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#exportOpts) [#4073](https://github.com/excalidraw/excalidraw/pull/4073).
476
+ - Added exportPadding to PNG (blob) export in @excalidraw/utils [#5626](https://github.com/excalidraw/excalidraw/pull/5626)
699
477
 
700
- - [`onPaste`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#onPaste) prop should return false to prevent the native excalidraw paste action [#3974](https://github.com/excalidraw/excalidraw/pull/3974).
478
+ - Introduce ExcalidrawElements and ExcalidrawAppState provider [#5463](https://github.com/excalidraw/excalidraw/pull/5463)
701
479
 
702
- #### BREAKING CHANGE
480
+ - Enable midpoint inside linear element editor [#5564](https://github.com/excalidraw/excalidraw/pull/5564)
703
481
 
704
- - Earlier the paste action was prevented when the prop [`onPaste`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#onPaste) returned true, but now it should return false to prevent the paste action. This was done to make it semantically more correct and intuitive.
482
+ - Show a mid point for linear elements [#5534](https://github.com/excalidraw/excalidraw/pull/5534)
705
483
 
706
- ### Build
484
+ - Lock angle when editing linear elements with shift pressed [#5527](https://github.com/excalidraw/excalidraw/pull/5527)
707
485
 
708
- - Enable jsx transform in webpack [#4049](https://github.com/excalidraw/excalidraw/pull/4049)
486
+ - Redesign linear elements 🎉 [#5501](https://github.com/excalidraw/excalidraw/pull/5501)
709
487
 
710
- ### Docs
488
+ - Cursor alignment when creating linear elements with shift pressed [#5518](https://github.com/excalidraw/excalidraw/pull/5518)
711
489
 
712
- - Correct exportToBackend in README to onExportToBackend [#3952](https://github.com/excalidraw/excalidraw/pull/3952)
490
+ - Shift-clamp when creating multi-point lines/arrows [#5500](https://github.com/excalidraw/excalidraw/pull/5500)
713
491
 
714
- ## Excalidraw Library
492
+ - Cursor alignment when creating generic elements [#5516](https://github.com/excalidraw/excalidraw/pull/5516)
715
493
 
716
- **_This section lists the updates made to the excalidraw library and will not affect the integration._**
494
+ - Make context menu scrollable [#4030](https://github.com/excalidraw/excalidraw/pull/4030)
717
495
 
718
- ### Features
496
+ ### Fixes
719
497
 
720
- - Improve freedraw shape [#3984](https://github.com/excalidraw/excalidraw/pull/3984)
498
+ - Ungroup short cut key [#5779](https://github.com/excalidraw/excalidraw/pull/5779)
721
499
 
722
- - Make color ARIA labels better [#3871](https://github.com/excalidraw/excalidraw/pull/3871)
500
+ - Replaced KeyboardEvent.code with KeyboardEvent.key for all letters [#5523](https://github.com/excalidraw/excalidraw/pull/5523)
723
501
 
724
- - Add origin trial tokens [#3853](https://github.com/excalidraw/excalidraw/pull/3853)
502
+ - Free draw flip not scaling correctly [#5752](https://github.com/excalidraw/excalidraw/pull/5752)
725
503
 
726
- - Re-order zoom buttons [#3837](https://github.com/excalidraw/excalidraw/pull/3837)
504
+ - Wait for window focus until prompting for library install [#5751](https://github.com/excalidraw/excalidraw/pull/5751)
727
505
 
728
- - Add undo/redo buttons & tweak footer [#3832](https://github.com/excalidraw/excalidraw/pull/3832)
506
+ - Update perfect freehand library to fix extra dot [#5727](https://github.com/excalidraw/excalidraw/pull/5727)
729
507
 
730
- - Resave to png/svg with metadata if you loaded your scene from a png/svg file [#3645](https://github.com/excalidraw/excalidraw/pull/3645)
508
+ - RestoreElementWithProperties drops "parent" property [#5742](https://github.com/excalidraw/excalidraw/pull/5742)
731
509
 
732
- ### Fixes
510
+ - Horizontal text alignment for bound text when resizing [#5721](https://github.com/excalidraw/excalidraw/pull/5721)
733
511
 
734
- - Abstract and fix legacy fs [#4032](https://github.com/excalidraw/excalidraw/pull/4032)
512
+ - Set the dimensions of bound text correctly [#5710](https://github.com/excalidraw/excalidraw/pull/5710)
735
513
 
736
- - Context menu positioning [#4025](https://github.com/excalidraw/excalidraw/pull/4025)
514
+ - Image-mirroring in export preview and in exported svg [#5700](https://github.com/excalidraw/excalidraw/pull/5700)
737
515
 
738
- - Added alert for bad encryption key [#3998](https://github.com/excalidraw/excalidraw/pull/3998)
516
+ - Double state update incorrectly resetting state [#5704](https://github.com/excalidraw/excalidraw/pull/5704)
739
517
 
740
- - OnPaste should return false to prevent paste action [#3974](https://github.com/excalidraw/excalidraw/pull/3974)
518
+ - Remove no longer used code related to collab room loading [#5699](https://github.com/excalidraw/excalidraw/pull/5699)
741
519
 
742
- - Help-icon now visible on Safari [#3939](https://github.com/excalidraw/excalidraw/pull/3939)
520
+ - Revert webpack deduping to fix `@next` runtime [#5695](https://github.com/excalidraw/excalidraw/pull/5695)
743
521
 
744
- - Permanent zoom mode [#3931](https://github.com/excalidraw/excalidraw/pull/3931)
522
+ - Move to release notes for v0.9.0 and after [#5686](https://github.com/excalidraw/excalidraw/pull/5686)
745
523
 
746
- - Undo/redo buttons gap in Safari [#3836](https://github.com/excalidraw/excalidraw/pull/3836)
524
+ - Zen-mode exit button not working [#5682](https://github.com/excalidraw/excalidraw/pull/5682)
747
525
 
748
- - Prevent gradual canvas misalignment [#3833](https://github.com/excalidraw/excalidraw/pull/3833)
526
+ - Buttons jump around on the mobile menu [#5658](https://github.com/excalidraw/excalidraw/pull/5658)
749
527
 
750
- - Color picker shortcuts not working when elements selected [#3817](https://github.com/excalidraw/excalidraw/pull/3817)
528
+ - #5622 - prevent session theme reset during collaboration [#5640](https://github.com/excalidraw/excalidraw/pull/5640)
751
529
 
752
- ---
530
+ - Library actions inside the sidebar [#5638](https://github.com/excalidraw/excalidraw/pull/5638)
753
531
 
754
- ## 0.9.0 (2021-07-10)
532
+ - Don't render library menu twice for mobile [#5636](https://github.com/excalidraw/excalidraw/pull/5636)
755
533
 
756
- ## Excalidraw API
534
+ - Reintroduce help dialog button [#5631](https://github.com/excalidraw/excalidraw/pull/5631)
757
535
 
758
- ### Features
536
+ - Add display name to components so it doesn't show as anonymous [#5616](https://github.com/excalidraw/excalidraw/pull/5616)
759
537
 
760
- - [`restore(data, localAppState, localElements)`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#restore) and [`restoreElements(elements, localElements)`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#restoreElements) now take `localElements` argument which will be used to ensure existing elements' versions are used and incremented. This fixes an issue where importing the same file would resolve to elements with older versions, potentially causing issues when reconciling [#3797](https://github.com/excalidraw/excalidraw/pull/3797).
538
+ - Improve solveQuadratic when a = 0 [#5618](https://github.com/excalidraw/excalidraw/pull/5618)
761
539
 
762
- #### BREAKING CHANGE
540
+ - Add random tiny offsets to avoid linear elements from being clipped [#5615](https://github.com/excalidraw/excalidraw/pull/5615)
763
541
 
764
- - `localElements` argument is mandatory (can be `null`/`undefined`) if using TypeScript.
542
+ - Crash when adding a new point in the line editor #5602 [#5606](https://github.com/excalidraw/excalidraw/pull/5606)
765
543
 
766
- - Support `appState.exportEmbedScene` attribute in [`exportToSvg`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#exportToSvg) which allows to embed the scene data [#3777](https://github.com/excalidraw/excalidraw/pull/3777).
544
+ - Allow box selection of points when inside editor [#5594](https://github.com/excalidraw/excalidraw/pull/5594)
767
545
 
768
- #### BREAKING CHANGE
546
+ - Remove unnecessary conditions in pointerup for linear elements [#5575](https://github.com/excalidraw/excalidraw/pull/5575)
769
547
 
770
- - The attribute `metadata` is now removed as `metadata` was only used to embed scene data which is now supported with the `appState.exportEmbedScene` attribute.
771
- - [`exportToSvg`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#exportToSvg) now resolves to a promise which resolves to `svg` of the exported drawing.
548
+ - Check if hitting link in handleSelectionOnPointerDown [#5589](https://github.com/excalidraw/excalidraw/pull/5589)
772
549
 
773
- - Expose [`loadLibraryFromBlob`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#loadLibraryFromBlobY), [`loadFromBlob`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#loadFromBlob), and [`getFreeDrawSvgPath`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#getFreeDrawSvgPath) [#3764](https://github.com/excalidraw/excalidraw/pull/3764).
550
+ - Points not being normalized on single-elem resize [#5581](https://github.com/excalidraw/excalidraw/pull/5581)
774
551
 
775
- - Expose [`FONT_FAMILY`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#FONT_FAMILY) so that consumer can use when passing `initialData.appState.currentItemFontFamily` [#3710](https://github.com/excalidraw/excalidraw/pull/3710).
552
+ - Deselect linear element when clicked inside bounding box outside editor [#5579](https://github.com/excalidraw/excalidraw/pull/5579)
776
553
 
777
- - Added prop [`autoFocus`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#autoFocus) to focus the excalidraw component on page load when enabled, defaults to false [#3691](https://github.com/excalidraw/excalidraw/pull/3691).
554
+ - Resize multiple elements from center [#5560](https://github.com/excalidraw/excalidraw/pull/5560)
778
555
 
779
- Note: Earlier Excalidraw component was focused by default on page load, you need to enable `autoFocus` prop to retain the same behaviour.
556
+ - Call static methods via class instead of instance in linearElementEditor [#5561](https://github.com/excalidraw/excalidraw/pull/5561)
780
557
 
781
- - Added prop `UIOptions.canvasActions.export.renderCustomUI` to support Custom UI rendering inside export dialog [#3666](https://github.com/excalidraw/excalidraw/pull/3666).
782
- - Added prop `UIOptions.canvasActions.saveAsImage` to show/hide the **Save as image** button in the canvas actions. Defaults to `true` hence the **Save as Image** button is rendered [#3662](https://github.com/excalidraw/excalidraw/pull/3662).
558
+ - Show bounding box for 3 or more linear point elements [#5554](https://github.com/excalidraw/excalidraw/pull/5554)
783
559
 
784
- - Export dialog can be customised with [`UiOptions.canvasActions.export`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#exportOpts) [#3658](https://github.com/excalidraw/excalidraw/pull/3658).
560
+ - Cleanup the condition for dragging elements [#5555](https://github.com/excalidraw/excalidraw/pull/5555)
785
561
 
786
- Also, [`UIOptions`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#UIOptions) is now memoized to avoid unnecessary rerenders.
562
+ - Shareable links being merged with current scene data [#5547](https://github.com/excalidraw/excalidraw/pull/5547)
787
563
 
788
- #### BREAKING CHANGE
564
+ - Scene lookup failing when looking up by id [#5542](https://github.com/excalidraw/excalidraw/pull/5542)
789
565
 
790
- - `UIOptions.canvasActions.saveAsScene` is now renamed to `UiOptions.canvasActions.export.saveFileToDisk`. Defaults to `true` hence the **save file to disk** button is rendered inside the export dialog.
791
- - `exportToBackend` is now renamed to `UIOptions.canvasActions.export.exportToBackend`. If this prop is not passed, the **shareable-link** button will not be rendered, same as before.
566
+ - Remove rounding to fix jitter when shift-editing [#5543](https://github.com/excalidraw/excalidraw/pull/5543)
792
567
 
793
- ### Fixes
568
+ - Line deselected when shift-dragging point outside editor [#5540](https://github.com/excalidraw/excalidraw/pull/5540)
794
569
 
795
- - Use excalidraw Id in elements so every element has unique id [#3696](https://github.com/excalidraw/excalidraw/pull/3696).
570
+ - Flip linear elements after redesign [#5538](https://github.com/excalidraw/excalidraw/pull/5538)
796
571
 
797
- ### Refactor
572
+ - Disable locking aspect ratio for box-selection [#5525](https://github.com/excalidraw/excalidraw/pull/5525)
798
573
 
799
- - #### BREAKING CHANGE
800
- - Rename `UIOptions.canvasActions.saveScene` to `UIOptions.canvasActions.saveToActiveFile`[#3657](https://github.com/excalidraw/excalidraw/pull/3657).
801
- - Removed `shouldAddWatermark: boolean` attribute from options for [export](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#export-utilities) APIs [#3639](https://github.com/excalidraw/excalidraw/pull/3639).
802
- - Removed `appState.shouldAddWatermark` so in case you were passing `shouldAddWatermark` in [initialData.AppState](https://github.com/excalidraw/excalidraw/blob/master/src/types.ts#L42) it will not work anymore.
574
+ - Add `title` attribute to the modal close button [#5521](https://github.com/excalidraw/excalidraw/pull/5521)
803
575
 
804
- ## Excalidraw Library
576
+ - Context menu positioning when component has offsets [#5520](https://github.com/excalidraw/excalidraw/pull/5520)
805
577
 
806
- **_This section lists the updates made to the excalidraw library and will not affect the integration._**
578
+ - Resolve paths in prebuild.js script [#5498](https://github.com/excalidraw/excalidraw/pull/5498)
807
579
 
808
- ### Features
580
+ - Use flushSync when moving line editor since we need to read previous value after setting state [#5508](https://github.com/excalidraw/excalidraw/pull/5508)
809
581
 
810
- - Switch to selection tool on library item insert [#3773](https://github.com/excalidraw/excalidraw/pull/3773)
582
+ - UseLayout effect cleanup in dev mode for charts [#5505](https://github.com/excalidraw/excalidraw/pull/5505)
811
583
 
812
- - Show active file name when saving to current file [#3733](https://github.com/excalidraw/excalidraw/pull/3733)
584
+ - Revert browser toast for high/low zoom [#5495](https://github.com/excalidraw/excalidraw/pull/5495)
813
585
 
814
- - Add hint around text editing [#3708](https://github.com/excalidraw/excalidraw/pull/3708)
586
+ - Fixing push to DockerHub [#5468](https://github.com/excalidraw/excalidraw/pull/5468)
815
587
 
816
- - Change library icon to be more clear [#3583](https://github.com/excalidraw/excalidraw/pull/3583)
588
+ - Incorrectly rendering freedraw elements [#5481](https://github.com/excalidraw/excalidraw/pull/5481)
817
589
 
818
- - Pass current `theme` when installing libraries [#3701](https://github.com/excalidraw/excalidraw/pull/3701)
590
+ - Generate types when building example [#5480](https://github.com/excalidraw/excalidraw/pull/5480)
819
591
 
820
- - Update virgil font [#3692](https://github.com/excalidraw/excalidraw/pull/3692)
592
+ - Use React.FC as react-dom is not able to infer types of Modal [#5479](https://github.com/excalidraw/excalidraw/pull/5479)
821
593
 
822
- - Support exporting json to excalidraw plus [#3678](https://github.com/excalidraw/excalidraw/pull/3678)
594
+ - Missing translation for "Scale" to Export Dialog [#5456](https://github.com/excalidraw/excalidraw/pull/5456)
823
595
 
824
- - Save exportScale in AppState [#3580](https://github.com/excalidraw/excalidraw/pull/3580)
596
+ - Add display name for Excalidraw component so it doesn't show as anonymous [#5464](https://github.com/excalidraw/excalidraw/pull/5464)
825
597
 
826
- - Add shortcuts for stroke and background color picker [#3318](https://github.com/excalidraw/excalidraw/pull/3318)
598
+ - Account for safe area for floating buttons on mobile [#5420](https://github.com/excalidraw/excalidraw/pull/5420)
827
599
 
828
- - Exporting redesign [#3613](https://github.com/excalidraw/excalidraw/pull/3613)
600
+ - Attribute warnings in comment svg example [#5465](https://github.com/excalidraw/excalidraw/pull/5465)
829
601
 
830
- - Auto-position tooltip and support overflowing container [#3631](https://github.com/excalidraw/excalidraw/pull/3631)
602
+ - Check for ctrl key when wheel event triggered to only disable zooming [#5459](https://github.com/excalidraw/excalidraw/pull/5459)
831
603
 
832
- - Auto release @excalidraw/excalidraw-next on every change [#3614](https://github.com/excalidraw/excalidraw/pull/3614)
604
+ - Disable render throttling by default & during resize [#5451](https://github.com/excalidraw/excalidraw/pull/5451)
833
605
 
834
- - Allow inner-drag-selecting with cmd/ctrl [#3603](https://github.com/excalidraw/excalidraw/pull/3603)
606
+ - Attach wheel event to exscalidraw container only [#5443](https://github.com/excalidraw/excalidraw/pull/5443)
835
607
 
836
- ### Fixes
608
+ - Show toast when browser zoom is not 100% [#5304](https://github.com/excalidraw/excalidraw/pull/5304)
837
609
 
838
- - view mode cursor adjustments [#3809](https://github.com/excalidraw/excalidraw/pull/3809).
610
+ - Prevent browser zoom inside Excalidraw [#5426](https://github.com/excalidraw/excalidraw/pull/5426)
839
611
 
840
- - Pass next release to updatePackageVersion & replace ## unreleased with new version [#3806](https://github.com/excalidraw/excalidraw/pull/3806)
612
+ - Typo in changelog [#5425](https://github.com/excalidraw/excalidraw/pull/5425)
841
613
 
842
- - Include deleted elements when passing to restore [#3802](https://github.com/excalidraw/excalidraw/pull/3802)
614
+ ### Refactor
843
615
 
844
- - Import React before using jsx [#3804](https://github.com/excalidraw/excalidraw/pull/3804)
616
+ - Create a util to compute container dimensions for bound text container [#5708](https://github.com/excalidraw/excalidraw/pull/5708)
845
617
 
846
- - Ensure `s` and `g` shortcuts work on no selection [#3800](https://github.com/excalidraw/excalidraw/pull/3800)
618
+ - Reuse common ui dialogs and message for mobile and LayerUI [#5611](https://github.com/excalidraw/excalidraw/pull/5611)
847
619
 
848
- - Keep binding for attached arrows after changing text [#3754](https://github.com/excalidraw/excalidraw/pull/3754)
620
+ - Stats component [#5610](https://github.com/excalidraw/excalidraw/pull/5610)
849
621
 
850
- - Deselect elements on viewMode toggle [#3741](https://github.com/excalidraw/excalidraw/pull/3741)
622
+ - Move footer to its own component [#5609](https://github.com/excalidraw/excalidraw/pull/5609)
851
623
 
852
- - Allow pointer events for disable zen mode button [#3743](https://github.com/excalidraw/excalidraw/pull/3743)
624
+ - Remove unused attribute hasHitElementInside from pointerDownState [#5591](https://github.com/excalidraw/excalidraw/pull/5591)
853
625
 
854
- - Use rgba instead of shorthand alpha [#3688](https://github.com/excalidraw/excalidraw/pull/3688)
626
+ - Cleanup renderScene [#5573](https://github.com/excalidraw/excalidraw/pull/5573)
855
627
 
856
- - Color pickers not opening on mobile [#3676](https://github.com/excalidraw/excalidraw/pull/3676)
628
+ - Rename docs to dev-docs [#5487](https://github.com/excalidraw/excalidraw/pull/5487)
857
629
 
858
- - On contextMenu, use selected element regardless of z-index [#3668](https://github.com/excalidraw/excalidraw/pull/3668)
630
+ - Remove unnecessary if condition for linear element onKeyDown [#5486](https://github.com/excalidraw/excalidraw/pull/5486)
859
631
 
860
- - SelectedGroupIds not being stored in history [#3630](https://github.com/excalidraw/excalidraw/pull/3630)
632
+ - Improve typing & check [#5415](https://github.com/excalidraw/excalidraw/pull/5415)
861
633
 
862
- - Overscroll on touch devices [#3663](https://github.com/excalidraw/excalidraw/pull/3663)
634
+ - Don't pass zenModeEnable, viewModeEnabled and toggleZenMode props to LayerUI [#5444](https://github.com/excalidraw/excalidraw/pull/5444)
863
635
 
864
- - Small UI issues around image export dialog [#3642](https://github.com/excalidraw/excalidraw/pull/3642)
636
+ ### Build
865
637
 
866
- - Normalize linear element points on restore [#3633](https://github.com/excalidraw/excalidraw/pull/3633)
638
+ - Add missing dependencies: pica, lodash [#5656](https://github.com/excalidraw/excalidraw/pull/5656)
867
639
 
868
- - Disable pointer-events on footer-center container [#3629](https://github.com/excalidraw/excalidraw/pull/3629)
640
+ - Move dotenv to dev deps [#5472](https://github.com/excalidraw/excalidraw/pull/5472)
869
641
 
870
- ### Refactor
642
+ ---
871
643
 
872
- - Delete React SyntheticEvent persist [#3700](https://github.com/excalidraw/excalidraw/pull/3700)
644
+ ## 0.12.0 (2022-07-07)
873
645
 
874
- - Code clean up [#3681](https://github.com/excalidraw/excalidraw/pull/3681)
646
+ Check out the [release notes](https://github.com/excalidraw/excalidraw/releases/tag/v0.12.0) )
875
647
 
876
- ### Performance
648
+ **_This section lists the updates made to the excalidraw library and will not affect the integration._**
877
649
 
878
- - Improve arrow head sizing [#3480](https://github.com/excalidraw/excalidraw/pull/3480)
650
+ ## 0.11.0 (2022-02-17)
879
651
 
880
- ### Build
652
+ Check out the [release notes](https://github.com/excalidraw/excalidraw/releases/tag/v0.11.0)
881
653
 
882
- - Add release script to update relevant files and commit for next release [#3805](https://github.com/excalidraw/excalidraw/pull/3805)
654
+ ## 0.10.0 (2021-10-13)
883
655
 
884
- - Add script to update changelog before a stable release [#3784](https://github.com/excalidraw/excalidraw/pull/3784)
656
+ Check out the [release notes](https://github.com/excalidraw/excalidraw/releases/tag/v0.10.0)
885
657
 
886
- - Add script to update readme before stable release [#3781](https://github.com/excalidraw/excalidraw/pull/3781)
658
+ ## 0.9.0 (2021-07-10)
887
659
 
888
- ---
660
+ Check out the [release notes](https://github.com/excalidraw/excalidraw/releases/tag/v0.9.0)
889
661
 
890
662
  ## 0.8.0 (2021-05-15)
891
663