@dwelle/excalidraw 0.4.0-1e1a29b → 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 (246) hide show
  1. package/CHANGELOG.md +504 -444
  2. package/README.md +18 -1354
  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 +3348 -1352
  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 -117
  22. package/types/actions/actionDeleteSelected.d.ts +138 -69
  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 +21 -10
  54. package/types/components/ActiveConfirmDialog.d.ts +4 -0
  55. package/types/components/App.d.ts +105 -41
  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 -8
  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 +13 -14
  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 +4 -4
  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 -35
  166. package/types/element/binding.d.ts +4 -3
  167. package/types/element/bounds.d.ts +34 -9
  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 +108 -41
  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 +19 -12
  183. package/types/element/typeChecks.d.ts +14 -2
  184. package/types/element/types.d.ts +67 -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/points.d.ts +2 -1
  211. package/types/polyfill.d.ts +2 -0
  212. package/types/renderer/renderElement.d.ts +13 -22
  213. package/types/renderer/renderScene.d.ts +20 -14
  214. package/types/renderer/renderSnaps.d.ts +2 -0
  215. package/types/renderer/roundRect.d.ts +1 -1
  216. package/types/scene/Fonts.d.ts +21 -0
  217. package/types/scene/Renderer.d.ts +25 -0
  218. package/types/scene/Scene.d.ts +42 -5
  219. package/types/scene/Shape.d.ts +12 -0
  220. package/types/scene/ShapeCache.d.ts +20 -0
  221. package/types/scene/comparisons.d.ts +2 -3
  222. package/types/scene/export.d.ts +182 -10
  223. package/types/scene/index.d.ts +1 -1
  224. package/types/scene/scroll.d.ts +1 -1
  225. package/types/scene/scrollbars.d.ts +2 -6
  226. package/types/scene/selection.d.ts +27 -6
  227. package/types/scene/types.d.ts +69 -25
  228. package/types/shapes.d.ts +27 -3
  229. package/types/snapping.d.ts +108 -0
  230. package/types/types.d.ts +236 -90
  231. package/types/utility-types.d.ts +24 -0
  232. package/types/utils.d.ts +78 -13
  233. package/types/zindex.d.ts +4 -4
  234. package/dist/excalidraw-assets/vendor-52b1f3361986b6c6a4fe.js +0 -2
  235. package/types/components/ActiveFile.d.ts +0 -7
  236. package/types/components/BackgroundPickerAndDarkModeToggle.d.ts +0 -9
  237. package/types/components/ClearCanvas.d.ts +0 -4
  238. package/types/components/CollabButton.d.ts +0 -7
  239. package/types/components/ColorPicker.d.ts +0 -14
  240. package/types/components/HelpIcon.d.ts +0 -8
  241. package/types/components/LibraryButton.d.ts +0 -7
  242. package/types/components/SidebarLockButton.d.ts +0 -8
  243. package/types/components/SingleLibraryItem.d.ts +0 -10
  244. /package/dist/excalidraw-assets/{vendor-52b1f3361986b6c6a4fe.js.LICENSE.txt → vendor-d415b28e9024dee4bb1b.js.LICENSE.txt} +0 -0
  245. /package/types/packages/excalidraw/dist/excalidraw-assets/{vendor-52b1f3361986b6c6a4fe.d.ts → vendor-d415b28e9024dee4bb1b.d.ts} +0 -0
  246. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/{vendor-c0592035c3911af79359.d.ts → vendor-a14cd58fa2db417e42b2.d.ts} +0 -0
package/CHANGELOG.md CHANGED
@@ -13,699 +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
- #### Breaking Changes
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
- - `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`.
20
+ ## 0.16.1 (2023-09-21)
21
21
 
22
- ## 0.12.0 (2022-07-07)
22
+ ## Excalidraw Library
23
23
 
24
- ### Excalidraw API
24
+ **_This section lists the updates made to the excalidraw library and will not affect the integration._**
25
25
 
26
- #### Features
26
+ ### Fixes
27
27
 
28
- - 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).
28
+ - More eye-droper fixes [#7019](https://github.com/excalidraw/excalidraw/pull/7019)
29
29
 
30
- - 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)
30
+ ### Refactor
31
31
 
32
- - 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).
32
+ - Move excalidraw-app outside src [#6987](https://github.com/excalidraw/excalidraw/pull/6987)
33
33
 
34
- - 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).
34
+ ---
35
35
 
36
- - 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).
36
+ ## 0.16.0 (2023-09-19)
37
37
 
38
- 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.
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
- ##### BREAKING CHANGE
46
+ #### BREAKING CHANGES
41
47
 
42
- - 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).
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
- - 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).
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
- - `updateScene` API no longer supports passing `libraryItems`. Instead, use the `updateLibrary` API.
59
+ ### Features
49
60
 
50
- - Add support for integrating custom elements [#5164](https://github.com/excalidraw/excalidraw/pull/5164).
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
- - Add [`onPointerDown`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#onPointerDown) callback which gets triggered on pointer down events.
53
- - Add [`onScrollChange`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#onScrollChange) callback which gets triggered when scrolling the canvas.
54
- - 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.
64
+ - Holding down CMD/CTRL will disable snap to grid when grid is active [#6983](https://github.com/excalidraw/excalidraw/pull/6983)
55
65
 
56
- - Exported [`loadSceneOrLibraryFromBlob`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#loadSceneOrLibraryFromBlob) function [#5057](https://github.com/excalidraw/excalidraw/pull/5057).
57
- - 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).
58
- - 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).
59
- - 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).
60
- - Expose util [`mergeLibraryItems`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#mergeLibraryItems) [#5101](https://github.com/excalidraw/excalidraw/pull/5101).
61
- - 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).
62
- - 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).
63
- - The `exportToBlob` utility now supports the `exportEmbedScene` option when generating a png image [#5047](https://github.com/excalidraw/excalidraw/pull/5047).
64
- - Exported [`restoreLibraryItems`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#restoreLibraryItems) API [#4995](https://github.com/excalidraw/excalidraw/pull/4995).
66
+ - Update logo [#6979](https://github.com/excalidraw/excalidraw/pull/6979)
65
67
 
66
- #### Fixes
68
+ - Export `changeProperty()` and `getFormValue()`. [#6957](https://github.com/excalidraw/excalidraw/pull/6957)
67
69
 
68
- - 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).
70
+ - Partition main canvas vertically [#6759](https://github.com/excalidraw/excalidraw/pull/6759)
69
71
 
70
- - 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).
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
- - Use `window.EXCALIDRAW_ASSET_PATH` for fonts when exporting to svg [#5065](https://github.com/excalidraw/excalidraw/pull/5065).
73
- - Library menu now properly rerenders if open when library is updated using `updateScene({ libraryItems })` [#4995](https://github.com/excalidraw/excalidraw/pull/4995).
74
+ - Add support for simplePDF in Web-Embeds [#6810](https://github.com/excalidraw/excalidraw/pull/6810)
74
75
 
75
- #### Refactor
76
+ - Add support for val.town embeds [#6821](https://github.com/excalidraw/excalidraw/pull/6821)
76
77
 
77
- - Rename `appState.elementLocked` to `appState.activeTool.locked` [#4983](https://github.com/excalidraw/excalidraw/pull/4983).
78
- - 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.
78
+ - Render bold lines in grid [#6779](https://github.com/excalidraw/excalidraw/pull/6779)
79
79
 
80
- ##### BREAKING CHANGE
80
+ - Adds support for stackblitz.com embeds [#6813](https://github.com/excalidraw/excalidraw/pull/6813)
81
81
 
82
- You will need to pass `activeTool.locked` instead of `elementType` from now onwards in `appState`.
82
+ - Cache most of element selection [#6747](https://github.com/excalidraw/excalidraw/pull/6747)
83
83
 
84
- - 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).
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` instead of `elementType` from now onwards in `appState`
88
+ - Overwrite confirmation dialogs [#6658](https://github.com/excalidraw/excalidraw/pull/6658)
89
89
 
90
- ### Build
90
+ - Simple analitycs [#6683](https://github.com/excalidraw/excalidraw/pull/6683)
91
91
 
92
- - Use only named exports [#5045](https://github.com/excalidraw/excalidraw/pull/5045).
92
+ - Introduce frames [#6123](https://github.com/excalidraw/excalidraw/pull/6123)
93
93
 
94
- #### BREAKING CHANGE
94
+ - Add canvas-roundrect-polyfill package [#6675](https://github.com/excalidraw/excalidraw/pull/6675)
95
95
 
96
- You will need to import the named export from now onwards to use the component
96
+ - Polyfill `CanvasRenderingContext2D.roundRect` [#6673](https://github.com/excalidraw/excalidraw/pull/6673)
97
97
 
98
- Using bundler :point_down:
98
+ - Disable collab feature when running in iframe [#6646](https://github.com/excalidraw/excalidraw/pull/6646)
99
99
 
100
- ```js
101
- import { Excalidraw } from "@excalidraw/excalidraw";
102
- ```
100
+ - Assign random user name when not set [#6663](https://github.com/excalidraw/excalidraw/pull/6663)
103
101
 
104
- In Browser :point_down:
102
+ - Redesigned collab cursors [#6659](https://github.com/excalidraw/excalidraw/pull/6659)
105
103
 
106
- ```js
107
- React.createElement(ExcalidrawLib.Excalidraw, opts);
108
- ```
104
+ - Eye dropper [#6615](https://github.com/excalidraw/excalidraw/pull/6615)
109
105
 
110
- ## Excalidraw Library
106
+ - Redesign of Live Collaboration dialog [#6635](https://github.com/excalidraw/excalidraw/pull/6635)
111
107
 
112
- **_This section lists the updates made to the excalidraw library and will not affect the integration._**
108
+ - Recover scrolled position after Library re-opening [#6624](https://github.com/excalidraw/excalidraw/pull/6624)
113
109
 
114
- ### Features
110
+ - Clearing library cache [#6621](https://github.com/excalidraw/excalidraw/pull/6621)
115
111
 
116
- - Throttle scene rendering to animation framerate [#5422](https://github.com/excalidraw/excalidraw/pull/5422)
112
+ - Update design of ImageExportDialog [#6614](https://github.com/excalidraw/excalidraw/pull/6614)
117
113
 
118
- - Make toast closable and allow custom duration [#5308](https://github.com/excalidraw/excalidraw/pull/5308)
114
+ - Add flipping for multiple elements [#5578](https://github.com/excalidraw/excalidraw/pull/5578)
119
115
 
120
- - Collab component state handling rewrite & fixes [#5046](https://github.com/excalidraw/excalidraw/pull/5046)
116
+ - Color picker redesign [#6216](https://github.com/excalidraw/excalidraw/pull/6216)
121
117
 
122
- - Support debugging PWA in dev [#4853](https://github.com/excalidraw/excalidraw/pull/4853)
118
+ - Add "unlock all elements" to canvas contextMenu [#5894](https://github.com/excalidraw/excalidraw/pull/5894)
123
119
 
124
- - Redirect vscode.excalidraw.com to vscode marketplace [#5285](https://github.com/excalidraw/excalidraw/pull/5285)
120
+ - Library sidebar design tweaks [#6582](https://github.com/excalidraw/excalidraw/pull/6582)
125
121
 
126
- - Go-to-excalidrawplus button [#5202](https://github.com/excalidraw/excalidraw/pull/5202)
122
+ - Add Trans component for interpolating JSX in translations [#6534](https://github.com/excalidraw/excalidraw/pull/6534)
127
123
 
128
- - Autoredirect to Excalidraw+ if special cookie is present [#5183](https://github.com/excalidraw/excalidraw/pull/5183)
124
+ - Testing simple analytics and fathom analytics for better privacy of the users [#6529](https://github.com/excalidraw/excalidraw/pull/6529)
129
125
 
130
- - Support resubmitting published library items [#5174](https://github.com/excalidraw/excalidraw/pull/5174)
126
+ - Retain `seed` on shift-paste [#6509](https://github.com/excalidraw/excalidraw/pull/6509)
131
127
 
132
- - Support adding multiple library items on canvas [#5116](https://github.com/excalidraw/excalidraw/pull/5116)
128
+ - Allow `avif`, `jfif`, `webp`, `bmp`, `ico` image types (#6500
133
129
 
134
- - Support customType in activeTool [#5144](https://github.com/excalidraw/excalidraw/pull/5144)
130
+ ### Fixes
135
131
 
136
- - Stop event propagation when key handled [#5091](https://github.com/excalidraw/excalidraw/pull/5091)
132
+ - Improperly disabling UI pointer-events on canvas interaction [#7005](https://github.com/excalidraw/excalidraw/pull/7005)
137
133
 
138
- - Rewrite library state management & related refactor [#5067](https://github.com/excalidraw/excalidraw/pull/5067)
134
+ - Several eyeDropper fixes [#7002](https://github.com/excalidraw/excalidraw/pull/7002)
139
135
 
140
- - Delay initial loading message & tweak design [#5049](https://github.com/excalidraw/excalidraw/pull/5049)
136
+ - IsBindableElement to affirm frames [#6900](https://github.com/excalidraw/excalidraw/pull/6900)
141
137
 
142
- - Reconcile when saving to firebase [#4991](https://github.com/excalidraw/excalidraw/pull/4991)
138
+ - Use `device.isMobile` for sidebar trigger label breakpoint [#6994](https://github.com/excalidraw/excalidraw/pull/6994)
143
139
 
144
- - Hide trash button during collaboration [#5037](https://github.com/excalidraw/excalidraw/pull/5037)
140
+ - Export to plus url [#6980](https://github.com/excalidraw/excalidraw/pull/6980)
145
141
 
146
- - Refactor local persistence & fix race condition on SW reload [#5032](https://github.com/excalidraw/excalidraw/pull/5032)
142
+ - Z-index inconsistencies during addition / deletion in frames [#6914](https://github.com/excalidraw/excalidraw/pull/6914)
147
143
 
148
- - Element locking [#4964](https://github.com/excalidraw/excalidraw/pull/4964)
144
+ - Update size-limit so react is not installed as dependency [#6964](https://github.com/excalidraw/excalidraw/pull/6964)
149
145
 
150
- - Copy to clipboard all text nodes as text [#5013](https://github.com/excalidraw/excalidraw/pull/5013)
146
+ - Stale labeled arrow bounds cache after editing the label [#6893](https://github.com/excalidraw/excalidraw/pull/6893)
151
147
 
152
- - Create and expose serializeLibraryAsJSON [#5009](https://github.com/excalidraw/excalidraw/pull/5009)
148
+ - Canvas flickering due to resetting canvas on skipped frames [#6960](https://github.com/excalidraw/excalidraw/pull/6960)
153
149
 
154
- - Hide penMode button on reload if not enabled [#4992](https://github.com/excalidraw/excalidraw/pull/4992)
150
+ - Grid jittery after partition PR [#6935](https://github.com/excalidraw/excalidraw/pull/6935)
155
151
 
156
- - Eraser toggle to switch back to the previous tool [#4981](https://github.com/excalidraw/excalidraw/pull/4981)
152
+ - Regression in indexing when adding elements to frame [#6904](https://github.com/excalidraw/excalidraw/pull/6904)
157
153
 
158
- - Save penDetected and penMode, and detect pen already on ToolButton click [#4955](https://github.com/excalidraw/excalidraw/pull/4955)
154
+ - Stabilize `selectedElementIds` when box selecting [#6912](https://github.com/excalidraw/excalidraw/pull/6912)
159
155
 
160
- - Support binding text to container via context menu [#4935](https://github.com/excalidraw/excalidraw/pull/4935)
156
+ - Resetting deleted elements on duplication [#6906](https://github.com/excalidraw/excalidraw/pull/6906)
161
157
 
162
- - Map shortcut O to ellipse and Add eraser shortcut E [#4930](https://github.com/excalidraw/excalidraw/pull/4930)
158
+ - Make canvas compos memoize appState on props they declare [#6897](https://github.com/excalidraw/excalidraw/pull/6897)
163
159
 
164
- - Update eraser cursor [#4922](https://github.com/excalidraw/excalidraw/pull/4922)
160
+ - Scope `--color-selection` retrieval to given instance [#6886](https://github.com/excalidraw/excalidraw/pull/6886)
165
161
 
166
- - Add Eraser 🎉 [#4887](https://github.com/excalidraw/excalidraw/pull/4887)
162
+ - Webpack config exclude statement to system agnostic [#6857](https://github.com/excalidraw/excalidraw/pull/6857)
167
163
 
168
- - Added optional REACT_APP_WS_SERVER_URL for forks usecases [#4889](https://github.com/excalidraw/excalidraw/pull/4889)
164
+ - Remove `embeddable` from generic elements [#6853](https://github.com/excalidraw/excalidraw/pull/6853)
169
165
 
170
- - Rewrite collab server connecting [#4881](https://github.com/excalidraw/excalidraw/pull/4881)
166
+ - Resizing arrow labels [#6789](https://github.com/excalidraw/excalidraw/pull/6789)
171
167
 
172
- - Support vertical text align for bound containers [#4852](https://github.com/excalidraw/excalidraw/pull/4852)
168
+ - Eye-dropper not working with app offset correctly on non-1 dPR [#6835](https://github.com/excalidraw/excalidraw/pull/6835)
173
169
 
174
- - Support custom colors 🎉 [#4843](https://github.com/excalidraw/excalidraw/pull/4843)
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
- - Support Links in Exported SVG [#4791](https://github.com/excalidraw/excalidraw/pull/4791)
172
+ - Forgotten REACT_APP env variables [#6834](https://github.com/excalidraw/excalidraw/pull/6834)
177
173
 
178
- - Scale font size when bound text containers resized with shift pressed [#4828](https://github.com/excalidraw/excalidraw/pull/4828)
174
+ - Refresh sw when browser refreshed [#6824](https://github.com/excalidraw/excalidraw/pull/6824)
179
175
 
180
- ### Fixes
176
+ - Adding to selection via shift box-select [#6815](https://github.com/excalidraw/excalidraw/pull/6815)
181
177
 
182
- - Autorelease job name [#5412](https://github.com/excalidraw/excalidraw/pull/5412)
178
+ - Prevent binding focus NaN value [#6803](https://github.com/excalidraw/excalidraw/pull/6803)
183
179
 
184
- - Action name for autorelease [#5411](https://github.com/excalidraw/excalidraw/pull/5411)
180
+ - Use pull request in semantic workflow for better security [#6799](https://github.com/excalidraw/excalidraw/pull/6799)
185
181
 
186
- - Typecast file to fix the build [#5410](https://github.com/excalidraw/excalidraw/pull/5410)
182
+ - Don't show `canvasBackground` label when `UIOptions.canvasActions.changeViewBackgroundColor` is false [#6781](https://github.com/excalidraw/excalidraw/pull/6781)
187
183
 
188
- - File handle not persisted when importing excalidraw files [#5372](https://github.com/excalidraw/excalidraw/pull/5372)
184
+ - Use subdirectory for @excalidraw/excalidraw size limit [#6787](https://github.com/excalidraw/excalidraw/pull/6787)
189
185
 
190
- - Library not scrollable when no published items installed [#5352](https://github.com/excalidraw/excalidraw/pull/5352)
186
+ - Use actual dock state to not close docked library on insert [#6766](https://github.com/excalidraw/excalidraw/pull/6766)
191
187
 
192
- - Focus traps inside popovers [#5317](https://github.com/excalidraw/excalidraw/pull/5317)
188
+ - UI disappears when pressing the eyedropper shortcut on mobile [#6725](https://github.com/excalidraw/excalidraw/pull/6725)
193
189
 
194
- - Unable to use cmd/ctrl-delete/backspace in inputs [#5348](https://github.com/excalidraw/excalidraw/pull/5348)
190
+ - Elements in non-existing frame getting removed [#6708](https://github.com/excalidraw/excalidraw/pull/6708)
195
191
 
196
- - Delay loading until language imported [#5344](https://github.com/excalidraw/excalidraw/pull/5344)
192
+ - Scrollbars renders but disable [#6706](https://github.com/excalidraw/excalidraw/pull/6706)
197
193
 
198
- - Command to trigger release [#5347](https://github.com/excalidraw/excalidraw/pull/5347)
194
+ - Typo in chart.ts [#6696](https://github.com/excalidraw/excalidraw/pull/6696)
199
195
 
200
- - Remove unnecessary options passed to language detector [#5336](https://github.com/excalidraw/excalidraw/pull/5336)
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
- - Stale `appState.pendingImageElement` [#5322](https://github.com/excalidraw/excalidraw/pull/5322)
198
+ - Don't allow binding text to images [#6693](https://github.com/excalidraw/excalidraw/pull/6693)
203
199
 
204
- - Non-letter shortcuts being swallowed by color picker [#5316](https://github.com/excalidraw/excalidraw/pull/5316)
200
+ - Updated link for documentation page under help section [#6654](https://github.com/excalidraw/excalidraw/pull/6654)
205
201
 
206
- - Bind text to correct container when nested [#5307](https://github.com/excalidraw/excalidraw/pull/5307)
202
+ - Collab username style fixes [#6668](https://github.com/excalidraw/excalidraw/pull/6668)
207
203
 
208
- - Copy bound text style when copying element having bound text [#5305](https://github.com/excalidraw/excalidraw/pull/5305)
204
+ - Bound arrows not updated when rotating multiple elements [#6662](https://github.com/excalidraw/excalidraw/pull/6662)
209
205
 
210
- - Copy arrow head when using copy styles [#5303](https://github.com/excalidraw/excalidraw/pull/5303)
206
+ - Delete setCursor when resize [#6660](https://github.com/excalidraw/excalidraw/pull/6660)
211
207
 
212
- - Unsafely accessing draggingElement [#5216](https://github.com/excalidraw/excalidraw/pull/5216)
208
+ - Creating text while color picker open [#6651](https://github.com/excalidraw/excalidraw/pull/6651)
213
209
 
214
- - Library load button does not work [#5205](https://github.com/excalidraw/excalidraw/pull/5205)
210
+ - Cleanup textWysiwyg and getAdjustedDimensions [#6520](https://github.com/excalidraw/excalidraw/pull/6520)
215
211
 
216
- - Do not deselect when not zooming using touchscreen pinch [#5181](https://github.com/excalidraw/excalidraw/pull/5181)
212
+ - Eye dropper not accounting for offsets [#6640](https://github.com/excalidraw/excalidraw/pull/6640)
217
213
 
218
- - Wheel zoom normalization [#5165](https://github.com/excalidraw/excalidraw/pull/5165)
214
+ - Color picker input closing problem [#6599](https://github.com/excalidraw/excalidraw/pull/6599)
219
215
 
220
- - Hide sidebar when `custom` tool active [#5179](https://github.com/excalidraw/excalidraw/pull/5179)
216
+ - Export dialog shortcut toggles console on firefox [#6620](https://github.com/excalidraw/excalidraw/pull/6620)
221
217
 
222
- - Don't save deleted ExcalidrawElements to Firebase [#5108](https://github.com/excalidraw/excalidraw/pull/5108)
218
+ - Add react v17 `useTransition` polyfill [#6618](https://github.com/excalidraw/excalidraw/pull/6618)
223
219
 
224
- - Eraser removed deleted elements [#5155](https://github.com/excalidraw/excalidraw/pull/5155)
220
+ - Library dropdown visibility issue for mobile [#6613](https://github.com/excalidraw/excalidraw/pull/6613)
225
221
 
226
- - Handle `ColorPicker` parentSelector being undefined [#5152](https://github.com/excalidraw/excalidraw/pull/5152)
222
+ - `withInternalFallback` leaking state in multi-instance scenarios [#6602](https://github.com/excalidraw/excalidraw/pull/6602)
227
223
 
228
- - Library multiselect not accounting for published state [#5132](https://github.com/excalidraw/excalidraw/pull/5132)
224
+ - Language list containing duplicate `en` lang [#6583](https://github.com/excalidraw/excalidraw/pull/6583)
229
225
 
230
- - Chart display fix [#5154](https://github.com/excalidraw/excalidraw/pull/5154)
226
+ - Garbled text displayed on avatars [#6575](https://github.com/excalidraw/excalidraw/pull/6575)
231
227
 
232
- - Update opacity of bound text when opacity of container updated [#5142](https://github.com/excalidraw/excalidraw/pull/5142)
228
+ - Assign the original text to text editor only during init [#6580](https://github.com/excalidraw/excalidraw/pull/6580)
233
229
 
234
- - Jumping of text when typing single line in bound text [#5139](https://github.com/excalidraw/excalidraw/pull/5139)
230
+ - I18n: Apply Trans component to publish library dialogue [#6564](https://github.com/excalidraw/excalidraw/pull/6564)
235
231
 
236
- - Remove opacity scroll wheel interaction [#5111](https://github.com/excalidraw/excalidraw/pull/5111)
232
+ - Fix brave error i18n string and remove unused [#6561](https://github.com/excalidraw/excalidraw/pull/6561)
237
233
 
238
- - Propagate keydown events from excalidraw-wysiwyg inputs [#5099](https://github.com/excalidraw/excalidraw/pull/5099)
234
+ - Revert add version tags to Docker build [#6540](https://github.com/excalidraw/excalidraw/pull/6540)
239
235
 
240
- - Don't bind text to container if double clicked else instead of center [#5105](https://github.com/excalidraw/excalidraw/pull/5105)
236
+ - Don't refresh dimensions for text containers on font load [#6523](https://github.com/excalidraw/excalidraw/pull/6523)
241
237
 
242
- - ToolIcon height not using rem [#5092](https://github.com/excalidraw/excalidraw/pull/5092)
238
+ - Cleanup getMaxContainerHeight and getMaxContainerWidth [#6519](https://github.com/excalidraw/excalidraw/pull/6519)
243
239
 
244
- - Excalidraw named export type [#5078](https://github.com/excalidraw/excalidraw/pull/5078)
240
+ - Cleanup redrawTextBoundingBox [#6518](https://github.com/excalidraw/excalidraw/pull/6518)
245
241
 
246
- - BoundElementIds when arrows bound to elements are deleted [#5077](https://github.com/excalidraw/excalidraw/pull/5077)
242
+ - Text jumps when editing on Android Chrome [#6503](https://github.com/excalidraw/excalidraw/pull/6503)
247
243
 
248
- - Don't merge libraryItems on updateScene [#5076](https://github.com/excalidraw/excalidraw/pull/5076)
244
+ ### Styles
249
245
 
250
- - SVG metadata extraction regex on multiline elements [#5074](https://github.com/excalidraw/excalidraw/pull/5074)
246
+ - Removes extra spaces [#6558](https://github.com/excalidraw/excalidraw/pull/6558)
251
247
 
252
- - Eraser cursor showing on theme change when not using eraser [#4990](https://github.com/excalidraw/excalidraw/pull/4990)
248
+ - Fix font family inconsistencies [#6501](https://github.com/excalidraw/excalidraw/pull/6501)
253
249
 
254
- - Update `storage.rules` [#5020](https://github.com/excalidraw/excalidraw/pull/5020)
250
+ ### Refactor
255
251
 
256
- - Add image button not working on iPad [#5038](https://github.com/excalidraw/excalidraw/pull/5038)
252
+ - Factor out shape generation from `renderElement.ts` pt 2 [#6878](https://github.com/excalidraw/excalidraw/pull/6878)
257
253
 
258
- - Ensure svg image dimensions are always set [#5044](https://github.com/excalidraw/excalidraw/pull/5044)
254
+ - Add typeScript support to enforce valid translation keys [#6776](https://github.com/excalidraw/excalidraw/pull/6776)
259
255
 
260
- - Pinch zoom in view mode [#5001](https://github.com/excalidraw/excalidraw/pull/5001)
256
+ - Simplify `ImageExportDialog` [#6578](https://github.com/excalidraw/excalidraw/pull/6578)
261
257
 
262
- - Select whole group on righclick & few lock-related fixes [#5022](https://github.com/excalidraw/excalidraw/pull/5022)
258
+ ### Performance
263
259
 
264
- - Export serializeLibraryAsJSON from the package [#5017](https://github.com/excalidraw/excalidraw/pull/5017)
260
+ - Limiting the suggested binding to fix performance issue [#6877](https://github.com/excalidraw/excalidraw/pull/6877)
265
261
 
266
- - Support copying PNG to clipboard on Safari [#3746](https://github.com/excalidraw/excalidraw/pull/3746)
262
+ - Memoize rendering of library [#6622](https://github.com/excalidraw/excalidraw/pull/6622)
267
263
 
268
- - More copyText fixes [#5016](https://github.com/excalidraw/excalidraw/pull/5016)
264
+ - Improve rendering performance for Library [#6587](https://github.com/excalidraw/excalidraw/pull/6587)
269
265
 
270
- - Copy to clipboard all text nodes as text [#5014](https://github.com/excalidraw/excalidraw/pull/5014)
266
+ - Use `UIAppState` where possible to reduce UI rerenders [#6560](https://github.com/excalidraw/excalidraw/pull/6560)
271
267
 
272
- - Update cursorButton once freedraw is released [#4996](https://github.com/excalidraw/excalidraw/pull/4996)
268
+ ### Build
273
269
 
274
- - Decouple actionFinalize and actionErase [#4984](https://github.com/excalidraw/excalidraw/pull/4984)
270
+ - Increase limit for bundle by 1kb [#6880](https://github.com/excalidraw/excalidraw/pull/6880)
275
271
 
276
- - Using stale state when switching tools [#4989](https://github.com/excalidraw/excalidraw/pull/4989)
272
+ - Update to node 18 in docker [#6822](https://github.com/excalidraw/excalidraw/pull/6822)
277
273
 
278
- - UpdateWysiwygStyle updatedElement is undefined TypeError [#4980](https://github.com/excalidraw/excalidraw/pull/4980)
274
+ - Migrate to Vite 🚀 [#6818](https://github.com/excalidraw/excalidraw/pull/6818)
279
275
 
280
- - Adding check for link length to prevent early return [#4982](https://github.com/excalidraw/excalidraw/pull/4982)
276
+ - Migrate to Vite 🚀 [#6713](https://github.com/excalidraw/excalidraw/pull/6713)
281
277
 
282
- - Show link icon for bound text containers [#4960](https://github.com/excalidraw/excalidraw/pull/4960)
278
+ - Increase limit to 290 kB for prod bundle [#6809](https://github.com/excalidraw/excalidraw/pull/6809)
283
279
 
284
- - Cancel erase elements on pointer up if eraser is not active on pointer up [#4956](https://github.com/excalidraw/excalidraw/pull/4956)
280
+ - Add version tags to Docker build [#6508](https://github.com/excalidraw/excalidraw/pull/6508)
285
281
 
286
- - Restore original opacities when alt pressed while erasing [#4954](https://github.com/excalidraw/excalidraw/pull/4954)
282
+ ---
287
283
 
288
- - Don't bind text to container if already present [#4946](https://github.com/excalidraw/excalidraw/pull/4946)
284
+ ## 0.15.2 (2023-04-20)
285
+
286
+ ### Docs
287
+
288
+ - Fix docs link in readme [#6486](https://github.com/excalidraw/excalidraw/pull/6486)
289
+
290
+ ## Excalidraw Library
291
+
292
+ **_This section lists the updates made to the excalidraw library and will not affect the integration._**
293
+
294
+ ### Fixes
289
295
 
290
- - Erase all elements which are hit with single point click [#4934](https://github.com/excalidraw/excalidraw/pull/4934)
296
+ - Rotate the text element when binding to a rotated container [#6477](https://github.com/excalidraw/excalidraw/pull/6477)
291
297
 
292
- - Add multiElement-edit finalize action to Desktop (currently only visible in Mobile view) [#4764](https://github.com/excalidraw/excalidraw/pull/4764)
298
+ - Support breaking words containing hyphen - [#6014](https://github.com/excalidraw/excalidraw/pull/6014)
293
299
 
294
- - Hide eraser in view mode in desktop [#4929](https://github.com/excalidraw/excalidraw/pull/4929)
300
+ - Incorrect background fill button active state [#6491](https://github.com/excalidraw/excalidraw/pull/6491)
295
301
 
296
- - Undo when erasing elements by clicking [#4921](https://github.com/excalidraw/excalidraw/pull/4921)
302
+ ---
297
303
 
298
- - Undo when erasing [#4900](https://github.com/excalidraw/excalidraw/pull/4900)
304
+ ## 0.15.1 (2023-04-18)
299
305
 
300
- - Incorrectly erasing on mobile [#4899](https://github.com/excalidraw/excalidraw/pull/4899)
306
+ ### Docs
301
307
 
302
- - Don't crash on drop highlighted text onto canvas [#4890](https://github.com/excalidraw/excalidraw/pull/4890)
308
+ - Add the readme back to the package which was mistakenly removed [#6484](https://github.com/excalidraw/excalidraw/pull/6484)
303
309
 
304
- - Paste styles shortcut [#4886](https://github.com/excalidraw/excalidraw/pull/4886)
310
+ ## Excalidraw Library
305
311
 
306
- - Freedraw element's background fill color missing from SVG when exporting with package API exportToSvg() [#4871](https://github.com/excalidraw/excalidraw/pull/4871)
312
+ **_This section lists the updates made to the excalidraw library and will not affect the integration._**
307
313
 
308
- - Improve pointer syncing performance [#4883](https://github.com/excalidraw/excalidraw/pull/4883)
314
+ ---
309
315
 
310
- - Collab room initialization [#4882](https://github.com/excalidraw/excalidraw/pull/4882)
316
+ ## 0.15.0 (2023-04-18)
311
317
 
312
- - Ensure verticalAlign properties not shown when no element selected [#4860](https://github.com/excalidraw/excalidraw/pull/4860)
318
+ ### Features
313
319
 
314
- - Binding text to non-bindable containers and not always preferring selection [#4655](https://github.com/excalidraw/excalidraw/pull/4655)
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)
315
321
 
316
- - Don't show align icons for single bound container element [#4846](https://github.com/excalidraw/excalidraw/pull/4846)
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)
317
323
 
318
- - Redraw text bounding box when pasting styles [#4845](https://github.com/excalidraw/excalidraw/pull/4845)
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
319
325
 
320
- - Restore cursor position after bound text container value updated [#4836](https://github.com/excalidraw/excalidraw/pull/4836)
326
+ ```js
327
+ { refreshDimensions?: boolean, repairBindings?: boolean }
328
+ ```
321
329
 
322
- - Support resizing multiple bound text containers [#4824](https://github.com/excalidraw/excalidraw/pull/4824)
330
+ The same `opts` param has been added to [`restore`](https://docs.excalidraw.com/docs/@excalidraw/excalidraw/api/utils/restore#restore) API as well.
323
331
 
324
- - Also check overflowY: overlay in detectScroll [#4806](https://github.com/excalidraw/excalidraw/pull/4806)
332
+ For more details refer to the [docs](https://docs.excalidraw.com)
325
333
 
326
- - Stuck resizing when resizing bound text container very fast beyond threshold [#4804](https://github.com/excalidraw/excalidraw/pull/4804)
334
+ #### BREAKING CHANGE
327
335
 
328
- ### Refactor
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`
329
337
 
330
- - Don't pass array to handleBindTextResize [#4826](https://github.com/excalidraw/excalidraw/pull/4826)
338
+ ### Fixes
331
339
 
332
- ### Build
340
+ - Exporting labelled arrows via export utils [#6443](https://github.com/excalidraw/excalidraw/pull/6443)
333
341
 
334
- - Extract all i18n files into locales folder [#5419](https://github.com/excalidraw/excalidraw/pull/5419)
342
+ ## Excalidraw Library
335
343
 
336
- - Automate release step fully [#5414](https://github.com/excalidraw/excalidraw/pull/5414)
344
+ **_This section lists the updates made to the excalidraw library and will not affect the integration._**
337
345
 
338
- - Use next and preview tags instead of separate packages for next and preview release [#5346](https://github.com/excalidraw/excalidraw/pull/5346)
346
+ ### Features
339
347
 
340
- - Support runtime React Jsx in @excalidraw/utils [#4866](https://github.com/excalidraw/excalidraw/pull/4866)
348
+ - Constrain export dialog preview size [#6475](https://github.com/excalidraw/excalidraw/pull/6475)
341
349
 
342
- - Release @excalidraw/utils 0.1.1 [#4862](https://github.com/excalidraw/excalidraw/pull/4862)
350
+ - Zigzag fill easter egg [#6439](https://github.com/excalidraw/excalidraw/pull/6439)
343
351
 
344
- - Remove build packages workflow [#4835](https://github.com/excalidraw/excalidraw/pull/4835)
352
+ - Add container to multiple text elements [#6428](https://github.com/excalidraw/excalidraw/pull/6428)
345
353
 
346
- ---
354
+ - Starting migration from GA to Matomo for better privacy [#6398](https://github.com/excalidraw/excalidraw/pull/6398)
347
355
 
348
- ## 0.11.0 (2022-02-17)
356
+ - Add line height attribute to text element [#6360](https://github.com/excalidraw/excalidraw/pull/6360)
349
357
 
350
- ## Excalidraw API
358
+ - Add thai lang support [#6314](https://github.com/excalidraw/excalidraw/pull/6314)
351
359
 
352
- ### Features
360
+ - Create bound container from text [#6301](https://github.com/excalidraw/excalidraw/pull/6301)
353
361
 
354
- - Add `onLinkOpen` prop which will be triggered when clicked on element hyperlink if present [#4694](https://github.com/excalidraw/excalidraw/pull/4694).
355
- - Support updating library using [`updateScene`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#updateScene) API [#4546](https://github.com/excalidraw/excalidraw/pull/4546).
362
+ - Improve text measurements in bound containers [#6187](https://github.com/excalidraw/excalidraw/pull/6187)
356
363
 
357
- - Introduced primary colors to the app. The colors can be overridden. Check [readme](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#customizing-styles) on how to do so [#4387](https://github.com/excalidraw/excalidraw/pull/4387).
364
+ - Bind text to container if double clicked on filled shape or stroke [#6250](https://github.com/excalidraw/excalidraw/pull/6250)
358
365
 
359
- - [`exportToBlob`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#exportToBlob) now automatically sets `appState.exportBackground` to `true` if exporting to `image/jpeg` MIME type (to ensure that alpha channel is not compressed to black color) [#4342](https://github.com/excalidraw/excalidraw/pull/4342).
366
+ - Make repair and refreshDimensions configurable in restoreElements [#6238](https://github.com/excalidraw/excalidraw/pull/6238)
360
367
 
361
- #### BREAKING CHANGE
368
+ - Show error message when not connected to internet while collabo… [#6165](https://github.com/excalidraw/excalidraw/pull/6165)
362
369
 
363
- Remove `getElementMap` util [#4306](https://github.com/excalidraw/excalidraw/pull/4306).
370
+ - Shortcut for clearCanvas confirmDialog [#6114](https://github.com/excalidraw/excalidraw/pull/6114)
364
371
 
365
- - Changes to [`exportToCanvas`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#exportToCanvas) util function [#4321](https://github.com/excalidraw/excalidraw/pull/4321):
372
+ - 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>
366
373
 
367
- - Add `maxWidthOrHeight?: number` attribute.
368
- - `scale` returned from `getDimensions()` is now optional (default to `1`).
374
+ ### Fixes
369
375
 
370
- - Image support added for host [PR](https://github.com/excalidraw/excalidraw/pull/4011)
376
+ - Center align text when wrapped in container via context menu [#6480](https://github.com/excalidraw/excalidraw/pull/6480)
371
377
 
372
- General notes:
378
+ - Restore original container height when unbinding text which was binded via context menu [#6444](https://github.com/excalidraw/excalidraw/pull/6444)
373
379
 
374
- - File data are encoded as DataURLs (base64) for portability reasons.
380
+ - Mark more props as optional for element [#6448](https://github.com/excalidraw/excalidraw/pull/6448)
375
381
 
376
- [ExcalidrawAPI](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#onLibraryChange):
382
+ - Improperly cache-busting on canvas scale instead of zoom [#6473](https://github.com/excalidraw/excalidraw/pull/6473)
377
383
 
378
- - 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.
384
+ - Incorrectly duplicating items on paste/library insert [#6467](https://github.com/excalidraw/excalidraw/pull/6467)
379
385
 
380
- Excalidraw app props:
386
+ - Library ids cross-contamination on multiple insert [#6466](https://github.com/excalidraw/excalidraw/pull/6466)
381
387
 
382
- - added `generateIdForFile(file: File)` optional prop so you can generate your own ids for added files.
383
- - `onChange(elements, appState, files)` prop callback is now passed `BinaryFiles` as third argument.
384
- - `onPaste(data, event)` data prop should contain `data.files` (`BinaryFiles`) if the elements pasted are referencing new files.
385
- - `initialData` object now supports additional `files` (`BinaryFiles`) attribute.
388
+ - Color picker keyboard handling not working [#6464](https://github.com/excalidraw/excalidraw/pull/6464)
386
389
 
387
- Other notes:
390
+ - Abort freedraw line if second touch is detected [#6440](https://github.com/excalidraw/excalidraw/pull/6440)
388
391
 
389
- - `.excalidraw` files may now contain top-level `files` key in format of `Record<FileId, BinaryFileData>` when exporting any (image) elements.
390
- - 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.
392
+ - Utils leaking Scene state [#6461](https://github.com/excalidraw/excalidraw/pull/6461)
391
393
 
392
- - 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).
394
+ - Split "Edit selected shape" shortcut [#6457](https://github.com/excalidraw/excalidraw/pull/6457)
393
395
 
394
- - 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).
396
+ - Center align text when bind to container via context menu [#6451](https://github.com/excalidraw/excalidraw/pull/6451)
395
397
 
396
- - Export `THEME` constant from the package so host can use this when passing the theme [#4055](https://github.com/excalidraw/excalidraw/pull/4055).
398
+ - Update coords when text unbinded from its container [#6445](https://github.com/excalidraw/excalidraw/pull/6445)
397
399
 
398
- #### BREAKING CHANGE
400
+ - Autoredirect to plus in prod only [#6446](https://github.com/excalidraw/excalidraw/pull/6446)
399
401
 
400
- The `Appearance` type is now removed and renamed to `Theme` so `Theme` type needs to be used.
402
+ - Fixing popover overflow on small screen [#6433](https://github.com/excalidraw/excalidraw/pull/6433)
401
403
 
402
- ### Fixes
404
+ - Introduce baseline to fix the layout shift when switching to text editor [#6397](https://github.com/excalidraw/excalidraw/pull/6397)
403
405
 
404
- - 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).
405
- - 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).
406
- - 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).
406
+ - Don't refresh dimensions for deleted text elements [#6438](https://github.com/excalidraw/excalidraw/pull/6438)
407
407
 
408
- ### Build
408
+ - Element vanishes when zoomed in [#6417](https://github.com/excalidraw/excalidraw/pull/6417)
409
409
 
410
- - Release preview package [@excalidraw/excalidraw-preview](https://www.npmjs.com/package/@excalidraw/excalidraw-preview) when triggered via comment
410
+ - Don't jump text to end when out of viewport in safari [#6416](https://github.com/excalidraw/excalidraw/pull/6416)
411
411
 
412
- ```
413
- @excalibot trigger release
414
- ```
412
+ - GetDefaultLineHeight should return default font family line height for unknown font [#6399](https://github.com/excalidraw/excalidraw/pull/6399)
415
413
 
416
- [#4750](https://github.com/excalidraw/excalidraw/pull/4750).
414
+ - Revert use `ideographic` textBaseline to improve layout shift when editing text" [#6400](https://github.com/excalidraw/excalidraw/pull/6400)
417
415
 
418
- - 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)
416
+ - Call stack size exceeded when paste large text [#6373](https://github.com/excalidraw/excalidraw/pull/6373) (#6396)
419
417
 
420
- - 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).
418
+ - Use `ideographic` textBaseline to improve layout shift when editing text [#6384](https://github.com/excalidraw/excalidraw/pull/6384)
421
419
 
422
- - We're now compiling to `es2017` target. Notably, `async/await` is not compiled down to generators. [#4341](https://github.com/excalidraw/excalidraw/pull/4341).
420
+ - Chrome crashing when embedding scene on chrome arm [#6383](https://github.com/excalidraw/excalidraw/pull/6383)
423
421
 
424
- ---
422
+ - Division by zero in findFocusPointForEllipse leads to infinite loop in wrapText freezing Excalidraw [#6377](https://github.com/excalidraw/excalidraw/pull/6377)
425
423
 
426
- ## Excalidraw Library
424
+ - Containerizing text incorrectly updates arrow bindings [#6369](https://github.com/excalidraw/excalidraw/pull/6369)
427
425
 
428
- **_This section lists the updates made to the excalidraw library and will not affect the integration._**
426
+ - Ensure export preview is centered [#6337](https://github.com/excalidraw/excalidraw/pull/6337)
429
427
 
430
- ### Features
428
+ - Hide text align for labelled arrows [#6339](https://github.com/excalidraw/excalidraw/pull/6339)
431
429
 
432
- - Show group/group and link action in mobile [#4795](https://github.com/excalidraw/excalidraw/pull/4795)
430
+ - Refresh dimensions when elements loaded from shareable link and blob [#6333](https://github.com/excalidraw/excalidraw/pull/6333)
433
431
 
434
- - Support background fill for freedraw shapes [#4610](https://github.com/excalidraw/excalidraw/pull/4610)
432
+ - Show error message when measureText API breaks in brave [#6336](https://github.com/excalidraw/excalidraw/pull/6336)
435
433
 
436
- - Keep selected tool on canvas reset [#4728](https://github.com/excalidraw/excalidraw/pull/4728)
434
+ - Add an offset of 0.5px for text editor in containers [#6328](https://github.com/excalidraw/excalidraw/pull/6328)
437
435
 
438
- - Make whole element clickable in view mode when it has hyperlink [#4735](https://github.com/excalidraw/excalidraw/pull/4735)
436
+ - Move utility types out of `.d.ts` file to fix exported declaration files [#6315](https://github.com/excalidraw/excalidraw/pull/6315)
439
437
 
440
- - Allow any precision when zooming [#4730](https://github.com/excalidraw/excalidraw/pull/4730)
438
+ - More jotai scopes missing [#6313](https://github.com/excalidraw/excalidraw/pull/6313)
441
439
 
442
- - Throttle `pointermove` events per framerate [#4727](https://github.com/excalidraw/excalidraw/pull/4727)
440
+ - Provide HelpButton title prop [#6209](https://github.com/excalidraw/excalidraw/pull/6209)
443
441
 
444
- - Support hyperlinks 🔥 [#4620](https://github.com/excalidraw/excalidraw/pull/4620)
442
+ - Respect text align when wrapping in a container [#6310](https://github.com/excalidraw/excalidraw/pull/6310)
445
443
 
446
- - Added penMode for palm rejection [#4657](https://github.com/excalidraw/excalidraw/pull/4657)
444
+ - Compute bounding box correctly for text element when multiple element resizing [#6307](https://github.com/excalidraw/excalidraw/pull/6307)
447
445
 
448
- - Support unbinding bound text [#4686](https://github.com/excalidraw/excalidraw/pull/4686)
446
+ - Use jotai scope for editor-specific atoms [#6308](https://github.com/excalidraw/excalidraw/pull/6308)
449
447
 
450
- - Sync local storage state across tabs when out of sync [#4545](https://github.com/excalidraw/excalidraw/pull/4545)
448
+ - Consider arrow for bound text element [#6297](https://github.com/excalidraw/excalidraw/pull/6297)
451
449
 
452
- - Support contextMenuLabel to be of function type to support dynamic labels [#4654](https://github.com/excalidraw/excalidraw/pull/4654)
450
+ - Text never goes beyond max width for unbound text elements [#6288](https://github.com/excalidraw/excalidraw/pull/6288)
453
451
 
454
- - Support decreasing/increasing `fontSize` via keyboard [#4553](https://github.com/excalidraw/excalidraw/pull/4553)
452
+ - Svg text baseline [#6285](https://github.com/excalidraw/excalidraw/pull/6273)
455
453
 
456
- - Link to new LP for excalidraw plus [#4549](https://github.com/excalidraw/excalidraw/pull/4549)
454
+ - Compute container height from bound text correctly [#6273](https://github.com/excalidraw/excalidraw/pull/6273)
457
455
 
458
- - Update stroke color of bounded text along with container [#4541](https://github.com/excalidraw/excalidraw/pull/4541)
456
+ - Fit mobile toolbar and make scrollable [#6270](https://github.com/excalidraw/excalidraw/pull/6270)
459
457
 
460
- - Hints and shortcuts help around deep selection [#4502](https://github.com/excalidraw/excalidraw/pull/4502)
458
+ - Indenting via `tab` clashing with IME compositor [#6258](https://github.com/excalidraw/excalidraw/pull/6258)
461
459
 
462
- - Support updating text properties by clicking on container [#4499](https://github.com/excalidraw/excalidraw/pull/4499)
460
+ - Improve text wrapping inside rhombus and more fixes [#6265](https://github.com/excalidraw/excalidraw/pull/6265)
463
461
 
464
- - Bind text to shapes when pressing enter and support sticky notes 🎉 [#4343](https://github.com/excalidraw/excalidraw/pull/4343)
462
+ - Improve text wrapping in ellipse and alignment [#6172](https://github.com/excalidraw/excalidraw/pull/6172)
465
463
 
466
- - Change `boundElementIds` `boundElements` [#4404](https://github.com/excalidraw/excalidraw/pull/4404)
464
+ - Don't allow blank space in collab name [#6211](https://github.com/excalidraw/excalidraw/pull/6211)
467
465
 
468
- - Support selecting multiple points when editing line [#4373](https://github.com/excalidraw/excalidraw/pull/4373)
466
+ - Docker build architecture:linux/amd64 error occur on linux/arm64 instance [#6197](https://github.com/excalidraw/excalidraw/pull/6197)
469
467
 
470
- - Horizontally center toolbar menu [commit link](https://github.com/excalidraw/excalidraw/commit/9b8ee3cacfec239617c357693cf2a3ca9972d2cb)
468
+ - Sort bound text elements to fix text duplication z-index error [#5130](https://github.com/excalidraw/excalidraw/pull/5130)
471
469
 
472
- - Add support for rounded corners in diamond [#4369](https://github.com/excalidraw/excalidraw/pull/4369)
470
+ - Hide welcome screen on mobile once user interacts [#6185](https://github.com/excalidraw/excalidraw/pull/6185)
473
471
 
474
- - Allow zooming up to 3000% [#4358](https://github.com/excalidraw/excalidraw/pull/4358)
472
+ - Edit link in docs [#6182](https://github.com/excalidraw/excalidraw/pull/6182)
475
473
 
476
- - Stop discarding precision when rendering [#4357](https://github.com/excalidraw/excalidraw/pull/4357)
474
+ ### Refactor
477
475
 
478
- - Support Image binding [#4347](https://github.com/excalidraw/excalidraw/pull/4347)
476
+ - Inline `SingleLibraryItem` into `PublishLibrary` [#6462](https://github.com/excalidraw/excalidraw/pull/6462)
479
477
 
480
- - Add `element.updated` [#4070](https://github.com/excalidraw/excalidraw/pull/4070)
478
+ - Make the example React app reusable without duplication [#6188](https://github.com/excalidraw/excalidraw/pull/6188)
481
479
 
482
- - Compress shareLink data when uploading to json server [#4225](https://github.com/excalidraw/excalidraw/pull/4225)
480
+ ### Performance
483
481
 
484
- - Supply `version` param when installing libraries [#4305](https://github.com/excalidraw/excalidraw/pull/4305)
482
+ - Break early if the line width <= max width of the container [#6347](https://github.com/excalidraw/excalidraw/pull/6347)
485
483
 
486
- - Log FS abortError to console [#4279](https://github.com/excalidraw/excalidraw/pull/4279)
484
+ ### Build
487
485
 
488
- - Add validation for website and remove validation for library item name [#4269](https://github.com/excalidraw/excalidraw/pull/4269)
486
+ - Move TS and types to devDependencies [#6346](https://github.com/excalidraw/excalidraw/pull/6346)
489
487
 
490
- - Allow publishing libraries from UI [#4115](https://github.com/excalidraw/excalidraw/pull/4115)
488
+ ---
491
489
 
492
- - Create confirm dialog to use instead of window.confirm [#4256](https://github.com/excalidraw/excalidraw/pull/4256)
490
+ ## 0.14.2 (2023-02-01)
493
491
 
494
- - Allow letters in IDs for storing files in backend [#4224](https://github.com/excalidraw/excalidraw/pull/4224)
492
+ ### Features
495
493
 
496
- - Remove support for V1 unencrypted backend [#4189](https://github.com/excalidraw/excalidraw/pull/4189)
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)
497
496
 
498
- - Use separate backend for local storage [#4187](https://github.com/excalidraw/excalidraw/pull/4187)
497
+ ### Fixes
499
498
 
500
- - Add hint around canvas panning [#4159](https://github.com/excalidraw/excalidraw/pull/4159)
499
+ - declare css variable for font in excalidraw so its available in host [#6160](https://github.com/excalidraw/excalidraw/pull/6160)
501
500
 
502
- - Stop using production services for development [#4113](https://github.com/excalidraw/excalidraw/pull/4113)
501
+ ## Excalidraw Library
503
502
 
504
- - Add triangle arrowhead [#4024](https://github.com/excalidraw/excalidraw/pull/4024)
503
+ **_This section lists the updates made to the excalidraw library and will not affect the integration._**
505
504
 
506
- - Add rewrite to webex landing page [#4102](https://github.com/excalidraw/excalidraw/pull/4102)
505
+ ### Features
507
506
 
508
- - Switch collab server [#4092](https://github.com/excalidraw/excalidraw/pull/4092)
507
+ - Add hand/panning tool [#6141](https://github.com/excalidraw/excalidraw/pull/6141)
509
508
 
510
- - Use dialog component for clear canvas instead of window confirm [#4075](https://github.com/excalidraw/excalidraw/pull/4075)
509
+ - Show copy-as-png export button on firefox and show steps how to enable it [#6125](https://github.com/excalidraw/excalidraw/pull/6125)
511
510
 
512
511
  ### Fixes
513
512
 
514
- - 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)
515
514
 
516
- - 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)
517
516
 
518
- - 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)
519
518
 
520
- - Mobile link click [#4742](https://github.com/excalidraw/excalidraw/pull/4742)
519
+ - Quick typo fix [#6167](https://github.com/excalidraw/excalidraw/pull/6167)
521
520
 
522
- - 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)
523
522
 
524
- - 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)
525
524
 
526
- - 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)
527
526
 
528
- - Disable contextmenu on non-secondary `pen` events or `touch` [#4675](https://github.com/excalidraw/excalidraw/pull/4675)
527
+ ### Styles
529
528
 
530
- - 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)
531
530
 
532
- - Do not open links twice [#4738](https://github.com/excalidraw/excalidraw/pull/4738)
531
+ ### Build
533
532
 
534
- - 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)
535
534
 
536
- - Apple Pen missing strokes [#4705](https://github.com/excalidraw/excalidraw/pull/4705)
535
+ ---
537
536
 
538
- - Freedraw slow movement jittery lines [#4726](https://github.com/excalidraw/excalidraw/pull/4726)
537
+ ## 0.14.1 (2023-01-16)
539
538
 
540
- - Disable three finger pinch zoom in penMode [#4725](https://github.com/excalidraw/excalidraw/pull/4725)
539
+ ### Fixes
541
540
 
542
- - 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.
543
542
 
544
- - Link popup position not accounting for offsets [#4695](https://github.com/excalidraw/excalidraw/pull/4695)
543
+ ## 0.14.0 (2023-01-13)
545
544
 
546
- - PenMode darkmode style [#4692](https://github.com/excalidraw/excalidraw/pull/4692)
545
+ ### Features
547
546
 
548
- - 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).
549
548
 
550
- - 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)
551
550
 
552
- - 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).
553
552
 
554
- - 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).
555
554
 
556
- - 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).
557
556
 
558
- - 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).
559
558
 
560
- - Use cached width when calculating min width during resize [#4585](https://github.com/excalidraw/excalidraw/pull/4585)
559
+ #### BREAKING CHANGES
561
560
 
562
- - 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.
563
563
 
564
- - Port for collab server and update docs [#4569](https://github.com/excalidraw/excalidraw/pull/4569)
564
+ ### Excalidraw schema
565
565
 
566
- - 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).
567
567
 
568
- - Prevent canvas drag while editing text [#4552](https://github.com/excalidraw/excalidraw/pull/4552)
568
+ ## Excalidraw Library
569
569
 
570
- - 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._**
571
571
 
572
- - Prefer spreadsheet data over image [#4533](https://github.com/excalidraw/excalidraw/pull/4533)
572
+ ### Features
573
573
 
574
- - 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)
575
575
 
576
- - 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)
577
577
 
578
- - 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)
579
579
 
580
- - 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)
581
581
 
582
- - 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)
583
583
 
584
- - 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)
585
585
 
586
- - 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)
587
587
 
588
- - 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)
589
589
 
590
- - 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)
591
591
 
592
- - 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)
593
593
 
594
- - 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)
595
595
 
596
- - 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)
597
597
 
598
- - 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)
599
599
 
600
- - 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)
601
601
 
602
- - Vertically align single line when deleting text in bounded container [#4460](https://github.com/excalidraw/excalidraw/pull/4460)
602
+ ### Fixes
603
603
 
604
- - 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)
605
605
 
606
- - 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)
607
607
 
608
- - 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)
609
609
 
610
- - 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)
611
611
 
612
- - 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)
613
613
 
614
- - 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)
615
615
 
616
- - 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)
617
617
 
618
- - 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)
619
619
 
620
- - 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)
621
621
 
622
- - 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)
623
623
 
624
- - 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)
625
625
 
626
- - 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)
627
627
 
628
- - 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)
629
629
 
630
- - Export scale quality regression [#4316](https://github.com/excalidraw/excalidraw/pull/4316)
630
+ - Restoring deleted bindings [#6029](https://github.com/excalidraw/excalidraw/pull/6029)
631
631
 
632
- - 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)
633
633
 
634
- - 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)
635
635
 
636
- - 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)
637
637
 
638
- - 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)
639
639
 
640
- - 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)
641
641
 
642
- - 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)
643
643
 
644
- - 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)
645
645
 
646
- - 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)
647
647
 
648
- - 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)
649
649
 
650
- - 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)
651
651
 
652
- - Images not initialized correctly [#4157](https://github.com/excalidraw/excalidraw/pull/4157)
652
+ - Remove blank space [#5950](https://github.com/excalidraw/excalidraw/pull/5950)
653
653
 
654
- - 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)
655
655
 
656
- - 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)
657
657
 
658
- - 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)
659
659
 
660
- - 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)
661
661
 
662
- - 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)
663
663
 
664
- - 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)
665
665
 
666
- - 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)
667
667
 
668
- ### Refactor
668
+ - Scale font correctly when using shift [#5935](https://github.com/excalidraw/excalidraw/pull/5935)
669
669
 
670
- - 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)
671
671
 
672
- - 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)
673
673
 
674
- ### Performance
674
+ - Stop replacing `del` word with `Delete` [#5897](https://github.com/excalidraw/excalidraw/pull/5897)
675
675
 
676
- - 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)
677
677
 
678
- ### Build
678
+ - Allow adding text via enter only for text containers [#5891](https://github.com/excalidraw/excalidraw/pull/5891)
679
679
 
680
- - 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)
681
681
 
682
- - 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)
683
683
 
684
- - 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)
685
685
 
686
- ---
686
+ - SVG element attributes in icons.tsx [#5871](https://github.com/excalidraw/excalidraw/pull/5871)
687
687
 
688
- ## 0.10.0 (2021-10-13)
688
+ - Merge existing text with new when pasted [#5856](https://github.com/excalidraw/excalidraw/pull/5856)
689
689
 
690
- ## Excalidraw API
690
+ - Disable FAST_REFRESH to fix live reload [#5852](https://github.com/excalidraw/excalidraw/pull/5852)
691
691
 
692
- ### Fixes
692
+ - Paste clipboard contents into unbound text elements [#5849](https://github.com/excalidraw/excalidraw/pull/5849)
693
693
 
694
- - 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)
695
695
 
696
- - [`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)
697
697
 
698
- #### 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)
699
707
 
700
- - 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)
701
717
 
702
718
  ### Build
703
719
 
704
- - 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)
705
721
 
706
- ### 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
+ ---
707
725
 
708
- - 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`.
709
743
 
710
744
  ## Excalidraw Library
711
745
 
@@ -713,176 +747,202 @@ React.createElement(ExcalidrawLib.Excalidraw, opts);
713
747
 
714
748
  ### Features
715
749
 
716
- - 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)
717
751
 
718
- - 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)
719
753
 
720
- - 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)
721
755
 
722
- - 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)
723
757
 
724
- - 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)
725
759
 
726
- - 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)
727
761
 
728
- ### Fixes
762
+ - Introduce ExcalidrawElements and ExcalidrawAppState provider [#5463](https://github.com/excalidraw/excalidraw/pull/5463)
729
763
 
730
- - Abstract and fix legacy fs [#4032](https://github.com/excalidraw/excalidraw/pull/4032)
764
+ - Enable midpoint inside linear element editor [#5564](https://github.com/excalidraw/excalidraw/pull/5564)
731
765
 
732
- - Context menu positioning [#4025](https://github.com/excalidraw/excalidraw/pull/4025)
766
+ - Show a mid point for linear elements [#5534](https://github.com/excalidraw/excalidraw/pull/5534)
733
767
 
734
- - Added alert for bad encryption key [#3998](https://github.com/excalidraw/excalidraw/pull/3998)
768
+ - Lock angle when editing linear elements with shift pressed [#5527](https://github.com/excalidraw/excalidraw/pull/5527)
735
769
 
736
- - OnPaste should return false to prevent paste action [#3974](https://github.com/excalidraw/excalidraw/pull/3974)
770
+ - Redesign linear elements 🎉 [#5501](https://github.com/excalidraw/excalidraw/pull/5501)
737
771
 
738
- - Help-icon now visible on Safari [#3939](https://github.com/excalidraw/excalidraw/pull/3939)
772
+ - Cursor alignment when creating linear elements with shift pressed [#5518](https://github.com/excalidraw/excalidraw/pull/5518)
739
773
 
740
- - Permanent zoom mode [#3931](https://github.com/excalidraw/excalidraw/pull/3931)
774
+ - Shift-clamp when creating multi-point lines/arrows [#5500](https://github.com/excalidraw/excalidraw/pull/5500)
741
775
 
742
- - Undo/redo buttons gap in Safari [#3836](https://github.com/excalidraw/excalidraw/pull/3836)
776
+ - Cursor alignment when creating generic elements [#5516](https://github.com/excalidraw/excalidraw/pull/5516)
743
777
 
744
- - Prevent gradual canvas misalignment [#3833](https://github.com/excalidraw/excalidraw/pull/3833)
778
+ - Make context menu scrollable [#4030](https://github.com/excalidraw/excalidraw/pull/4030)
745
779
 
746
- - Color picker shortcuts not working when elements selected [#3817](https://github.com/excalidraw/excalidraw/pull/3817)
780
+ ### Fixes
747
781
 
748
- ---
782
+ - Ungroup short cut key [#5779](https://github.com/excalidraw/excalidraw/pull/5779)
749
783
 
750
- ## 0.9.0 (2021-07-10)
784
+ - Replaced KeyboardEvent.code with KeyboardEvent.key for all letters [#5523](https://github.com/excalidraw/excalidraw/pull/5523)
751
785
 
752
- ## Excalidraw API
786
+ - Free draw flip not scaling correctly [#5752](https://github.com/excalidraw/excalidraw/pull/5752)
753
787
 
754
- ### Features
788
+ - Wait for window focus until prompting for library install [#5751](https://github.com/excalidraw/excalidraw/pull/5751)
755
789
 
756
- - [`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).
790
+ - Update perfect freehand library to fix extra dot [#5727](https://github.com/excalidraw/excalidraw/pull/5727)
757
791
 
758
- #### BREAKING CHANGE
792
+ - RestoreElementWithProperties drops "parent" property [#5742](https://github.com/excalidraw/excalidraw/pull/5742)
759
793
 
760
- - `localElements` argument is mandatory (can be `null`/`undefined`) if using TypeScript.
794
+ - Horizontal text alignment for bound text when resizing [#5721](https://github.com/excalidraw/excalidraw/pull/5721)
761
795
 
762
- - 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).
796
+ - Set the dimensions of bound text correctly [#5710](https://github.com/excalidraw/excalidraw/pull/5710)
763
797
 
764
- #### BREAKING CHANGE
798
+ - Image-mirroring in export preview and in exported svg [#5700](https://github.com/excalidraw/excalidraw/pull/5700)
765
799
 
766
- - The attribute `metadata` is now removed as `metadata` was only used to embed scene data which is now supported with the `appState.exportEmbedScene` attribute.
767
- - [`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.
800
+ - Double state update incorrectly resetting state [#5704](https://github.com/excalidraw/excalidraw/pull/5704)
768
801
 
769
- - 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).
802
+ - Remove no longer used code related to collab room loading [#5699](https://github.com/excalidraw/excalidraw/pull/5699)
770
803
 
771
- - 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).
804
+ - Revert webpack deduping to fix `@next` runtime [#5695](https://github.com/excalidraw/excalidraw/pull/5695)
772
805
 
773
- - 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).
806
+ - Move to release notes for v0.9.0 and after [#5686](https://github.com/excalidraw/excalidraw/pull/5686)
774
807
 
775
- Note: Earlier Excalidraw component was focused by default on page load, you need to enable `autoFocus` prop to retain the same behaviour.
808
+ - Zen-mode exit button not working [#5682](https://github.com/excalidraw/excalidraw/pull/5682)
776
809
 
777
- - Added prop `UIOptions.canvasActions.export.renderCustomUI` to support Custom UI rendering inside export dialog [#3666](https://github.com/excalidraw/excalidraw/pull/3666).
778
- - 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).
810
+ - Buttons jump around on the mobile menu [#5658](https://github.com/excalidraw/excalidraw/pull/5658)
779
811
 
780
- - 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).
812
+ - #5622 - prevent session theme reset during collaboration [#5640](https://github.com/excalidraw/excalidraw/pull/5640)
781
813
 
782
- Also, [`UIOptions`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#UIOptions) is now memoized to avoid unnecessary rerenders.
814
+ - Library actions inside the sidebar [#5638](https://github.com/excalidraw/excalidraw/pull/5638)
783
815
 
784
- #### BREAKING CHANGE
816
+ - Don't render library menu twice for mobile [#5636](https://github.com/excalidraw/excalidraw/pull/5636)
785
817
 
786
- - `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.
787
- - `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.
818
+ - Reintroduce help dialog button [#5631](https://github.com/excalidraw/excalidraw/pull/5631)
788
819
 
789
- ### Fixes
820
+ - Add display name to components so it doesn't show as anonymous [#5616](https://github.com/excalidraw/excalidraw/pull/5616)
790
821
 
791
- - Use excalidraw Id in elements so every element has unique id [#3696](https://github.com/excalidraw/excalidraw/pull/3696).
822
+ - Improve solveQuadratic when a = 0 [#5618](https://github.com/excalidraw/excalidraw/pull/5618)
792
823
 
793
- ### Refactor
824
+ - Add random tiny offsets to avoid linear elements from being clipped [#5615](https://github.com/excalidraw/excalidraw/pull/5615)
794
825
 
795
- - #### BREAKING CHANGE
796
- - Rename `UIOptions.canvasActions.saveScene` to `UIOptions.canvasActions.saveToActiveFile`[#3657](https://github.com/excalidraw/excalidraw/pull/3657).
797
- - 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).
798
- - 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.
826
+ - Crash when adding a new point in the line editor #5602 [#5606](https://github.com/excalidraw/excalidraw/pull/5606)
799
827
 
800
- ## Excalidraw Library
828
+ - Allow box selection of points when inside editor [#5594](https://github.com/excalidraw/excalidraw/pull/5594)
801
829
 
802
- **_This section lists the updates made to the excalidraw library and will not affect the integration._**
830
+ - Remove unnecessary conditions in pointerup for linear elements [#5575](https://github.com/excalidraw/excalidraw/pull/5575)
803
831
 
804
- ### Features
832
+ - Check if hitting link in handleSelectionOnPointerDown [#5589](https://github.com/excalidraw/excalidraw/pull/5589)
805
833
 
806
- - Switch to selection tool on library item insert [#3773](https://github.com/excalidraw/excalidraw/pull/3773)
834
+ - Points not being normalized on single-elem resize [#5581](https://github.com/excalidraw/excalidraw/pull/5581)
807
835
 
808
- - Show active file name when saving to current file [#3733](https://github.com/excalidraw/excalidraw/pull/3733)
836
+ - Deselect linear element when clicked inside bounding box outside editor [#5579](https://github.com/excalidraw/excalidraw/pull/5579)
809
837
 
810
- - Add hint around text editing [#3708](https://github.com/excalidraw/excalidraw/pull/3708)
838
+ - Resize multiple elements from center [#5560](https://github.com/excalidraw/excalidraw/pull/5560)
811
839
 
812
- - Change library icon to be more clear [#3583](https://github.com/excalidraw/excalidraw/pull/3583)
840
+ - Call static methods via class instead of instance in linearElementEditor [#5561](https://github.com/excalidraw/excalidraw/pull/5561)
813
841
 
814
- - Pass current `theme` when installing libraries [#3701](https://github.com/excalidraw/excalidraw/pull/3701)
842
+ - Show bounding box for 3 or more linear point elements [#5554](https://github.com/excalidraw/excalidraw/pull/5554)
815
843
 
816
- - Update virgil font [#3692](https://github.com/excalidraw/excalidraw/pull/3692)
844
+ - Cleanup the condition for dragging elements [#5555](https://github.com/excalidraw/excalidraw/pull/5555)
817
845
 
818
- - Support exporting json to excalidraw plus [#3678](https://github.com/excalidraw/excalidraw/pull/3678)
846
+ - Shareable links being merged with current scene data [#5547](https://github.com/excalidraw/excalidraw/pull/5547)
819
847
 
820
- - Save exportScale in AppState [#3580](https://github.com/excalidraw/excalidraw/pull/3580)
848
+ - Scene lookup failing when looking up by id [#5542](https://github.com/excalidraw/excalidraw/pull/5542)
821
849
 
822
- - Add shortcuts for stroke and background color picker [#3318](https://github.com/excalidraw/excalidraw/pull/3318)
850
+ - Remove rounding to fix jitter when shift-editing [#5543](https://github.com/excalidraw/excalidraw/pull/5543)
823
851
 
824
- - Exporting redesign [#3613](https://github.com/excalidraw/excalidraw/pull/3613)
852
+ - Line deselected when shift-dragging point outside editor [#5540](https://github.com/excalidraw/excalidraw/pull/5540)
825
853
 
826
- - Auto-position tooltip and support overflowing container [#3631](https://github.com/excalidraw/excalidraw/pull/3631)
854
+ - Flip linear elements after redesign [#5538](https://github.com/excalidraw/excalidraw/pull/5538)
827
855
 
828
- - Auto release @excalidraw/excalidraw-next on every change [#3614](https://github.com/excalidraw/excalidraw/pull/3614)
856
+ - Disable locking aspect ratio for box-selection [#5525](https://github.com/excalidraw/excalidraw/pull/5525)
829
857
 
830
- - Allow inner-drag-selecting with cmd/ctrl [#3603](https://github.com/excalidraw/excalidraw/pull/3603)
858
+ - Add `title` attribute to the modal close button [#5521](https://github.com/excalidraw/excalidraw/pull/5521)
831
859
 
832
- ### Fixes
860
+ - Context menu positioning when component has offsets [#5520](https://github.com/excalidraw/excalidraw/pull/5520)
861
+
862
+ - Resolve paths in prebuild.js script [#5498](https://github.com/excalidraw/excalidraw/pull/5498)
833
863
 
834
- - 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)
835
865
 
836
- - 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)
837
867
 
838
- - 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)
839
869
 
840
- - 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)
841
871
 
842
- - 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)
843
873
 
844
- - 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)
845
875
 
846
- - 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)
847
877
 
848
- - 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)
849
879
 
850
- - 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)
851
881
 
852
- - 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)
853
883
 
854
- - 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)
855
885
 
856
- - 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)
857
887
 
858
- - 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)
859
889
 
860
- - 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)
861
891
 
862
- - 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)
863
893
 
864
- - 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)
865
897
 
866
898
  ### Refactor
867
899
 
868
- - 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)
869
901
 
870
- - 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)
871
903
 
872
- ### Performance
904
+ - Stats component [#5610](https://github.com/excalidraw/excalidraw/pull/5610)
873
905
 
874
- - 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)
875
907
 
876
- ### 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)
877
911
 
878
- - 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)
879
913
 
880
- - 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)
881
915
 
882
- - 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)
883
925
 
884
926
  ---
885
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
+
886
946
  ## 0.8.0 (2021-05-15)
887
947
 
888
948
  ## Excalidraw API