@dwelle/excalidraw 0.4.0-ee3919e → 0.4.0-ef41180

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