@dwelle/excalidraw 0.4.0-1ee4b80 → 0.4.0-1efc55b

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