@dwelle/excalidraw 0.4.0-cfd6fb7 → 0.4.0-d27af2e

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