@dwelle/excalidraw 0.4.0-43fd6f9 → 0.4.0-587f6c0

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