@dwelle/excalidraw 0.4.0-bdeb845 → 0.4.0-c0b7c07

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