@dwelle/excalidraw 0.4.0-ead0599 → 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 (157) hide show
  1. package/CHANGELOG.md +228 -624
  2. package/README.md +16 -1356
  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-c0592035c3911af79359.js → vendor-e6df8519da951026ff69.js} +1 -1
  13. package/dist/excalidraw.development.js +1340 -442
  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 +14 -2
  45. package/types/components/ActiveConfirmDialog.d.ts +24 -0
  46. package/types/components/App.d.ts +38 -19
  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 -6
  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 +9 -11
  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/Stats.d.ts +1 -1
  74. package/types/components/ToolButton.d.ts +1 -1
  75. package/types/components/UserList.d.ts +0 -3
  76. package/types/components/dropdownMenu/DropdownMenu.d.ts +66 -0
  77. package/types/components/dropdownMenu/DropdownMenuContent.d.ts +15 -0
  78. package/types/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -0
  79. package/types/components/dropdownMenu/DropdownMenuItem.d.ts +12 -0
  80. package/types/components/dropdownMenu/DropdownMenuItemContent.d.ts +6 -0
  81. package/types/components/dropdownMenu/DropdownMenuItemCustom.d.ts +6 -0
  82. package/types/components/dropdownMenu/DropdownMenuItemLink.d.ts +13 -0
  83. package/types/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -0
  84. package/types/components/dropdownMenu/DropdownMenuTrigger.d.ts +9 -0
  85. package/types/components/dropdownMenu/common.d.ts +6 -0
  86. package/types/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -0
  87. package/types/components/footer/Footer.d.ts +12 -0
  88. package/types/components/footer/FooterCenter.d.ts +8 -0
  89. package/types/components/hoc/withInternalFallback.d.ts +4 -0
  90. package/types/components/icons.d.ts +82 -122
  91. package/types/components/live-collaboration/LiveCollaborationTrigger.d.ts +10 -0
  92. package/types/components/main-menu/DefaultItems.d.ts +47 -0
  93. package/types/components/main-menu/MainMenu.d.ts +62 -0
  94. package/types/components/welcome-screen/WelcomeScreen.Center.d.ts +58 -0
  95. package/types/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -0
  96. package/types/components/welcome-screen/WelcomeScreen.d.ts +85 -0
  97. package/types/constants.d.ts +47 -15
  98. package/types/context/tunnels.d.ts +17 -0
  99. package/types/context/ui-appState.d.ts +4 -0
  100. package/types/data/blob.d.ts +1 -1
  101. package/types/data/index.d.ts +1 -1
  102. package/types/data/restore.d.ts +8 -2
  103. package/types/data/types.d.ts +16 -1
  104. package/types/element/Hyperlink.d.ts +23 -14
  105. package/types/element/bounds.d.ts +6 -3
  106. package/types/element/collision.d.ts +3 -3
  107. package/types/element/dragElements.d.ts +2 -1
  108. package/types/element/image.d.ts +1 -1
  109. package/types/element/index.d.ts +4 -3
  110. package/types/element/linearElementEditor.d.ts +70 -21
  111. package/types/element/newElement.d.ts +17 -4
  112. package/types/element/resizeElements.d.ts +0 -1
  113. package/types/element/sortElements.d.ts +2 -0
  114. package/types/element/textElement.d.ts +37 -4
  115. package/types/element/textWysiwyg.d.ts +6 -1
  116. package/types/element/transformHandles.d.ts +5 -6
  117. package/types/element/typeChecks.d.ts +12 -2
  118. package/types/element/types.d.ts +19 -7
  119. package/types/frame.d.ts +36 -0
  120. package/types/groups.d.ts +3 -0
  121. package/types/hooks/useOutsideClick.d.ts +2 -0
  122. package/types/i18n.d.ts +6 -0
  123. package/types/jotai.d.ts +5 -5
  124. package/types/keys.d.ts +16 -6
  125. package/types/math.d.ts +11 -1
  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/utils.d.ts +22 -22
  133. package/types/points.d.ts +1 -1
  134. package/types/renderer/renderElement.d.ts +5 -3
  135. package/types/renderer/renderScene.d.ts +16 -3
  136. package/types/scene/Fonts.d.ts +21 -0
  137. package/types/scene/Scene.d.ts +22 -1
  138. package/types/scene/comparisons.d.ts +2 -3
  139. package/types/scene/export.d.ts +143 -9
  140. package/types/scene/index.d.ts +1 -1
  141. package/types/scene/selection.d.ts +13 -3
  142. package/types/scene/types.d.ts +10 -1
  143. package/types/shapes.d.ts +33 -3
  144. package/types/types.d.ts +73 -39
  145. package/types/utils.d.ts +10 -3
  146. package/types/zindex.d.ts +4 -4
  147. package/dist/excalidraw-assets/vendor-52b1f3361986b6c6a4fe.js +0 -2
  148. package/types/components/ActiveFile.d.ts +0 -7
  149. package/types/components/BackgroundPickerAndDarkModeToggle.d.ts +0 -9
  150. package/types/components/ClearCanvas.d.ts +0 -4
  151. package/types/components/CollabButton.d.ts +0 -7
  152. package/types/components/HelpIcon.d.ts +0 -8
  153. package/types/components/LibraryButton.d.ts +0 -7
  154. package/types/components/SidebarLockButton.d.ts +0 -8
  155. /package/dist/excalidraw-assets/{vendor-52b1f3361986b6c6a4fe.js.LICENSE.txt → vendor-2002fe1b8862917b36c1.js.LICENSE.txt} +0 -0
  156. /package/types/packages/excalidraw/dist/excalidraw-assets/{vendor-52b1f3361986b6c6a4fe.d.ts → vendor-2002fe1b8862917b36c1.d.ts} +0 -0
  157. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/{vendor-c0592035c3911af79359.d.ts → vendor-e6df8519da951026ff69.d.ts} +0 -0
package/CHANGELOG.md CHANGED
@@ -13,99 +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
- #### 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`.
16
+ ### Features
83
17
 
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).
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)
85
19
 
86
- ##### 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
87
21
 
88
- You will need to pass `activeTool` instead of `elementType` from now onwards in `appState`
22
+ ```js
23
+ { refreshDimensions?: boolean, repairBindings?: boolean }
24
+ ```
89
25
 
90
- ### 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.
91
27
 
92
- - Use only named exports [#5045](https://github.com/excalidraw/excalidraw/pull/5045).
28
+ For more details refer to the [docs](https://docs.excalidraw.com)
93
29
 
94
30
  #### BREAKING CHANGE
95
31
 
96
- 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`
97
33
 
98
- Using bundler :point_down:
34
+ ## 0.14.2 (2023-02-01)
99
35
 
100
- ```js
101
- import { Excalidraw } from "@excalidraw/excalidraw";
102
- ```
36
+ ### Features
103
37
 
104
- 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)
105
40
 
106
- ```js
107
- React.createElement(ExcalidrawLib.Excalidraw, opts);
108
- ```
41
+ ### Fixes
42
+
43
+ - declare css variable for font in excalidraw so its available in host [#6160](https://github.com/excalidraw/excalidraw/pull/6160)
109
44
 
110
45
  ## Excalidraw Library
111
46
 
@@ -113,315 +48,242 @@ React.createElement(ExcalidrawLib.Excalidraw, opts);
113
48
 
114
49
  ### Features
115
50
 
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)
51
+ - Add hand/panning tool [#6141](https://github.com/excalidraw/excalidraw/pull/6141)
119
52
 
120
- - Collab component state handling rewrite & fixes [#5046](https://github.com/excalidraw/excalidraw/pull/5046)
53
+ - Show copy-as-png export button on firefox and show steps how to enable it [#6125](https://github.com/excalidraw/excalidraw/pull/6125)
121
54
 
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)
55
+ ### Fixes
127
56
 
128
- - 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)
129
58
 
130
- - 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)
131
60
 
132
- - 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)
133
62
 
134
- - Support customType in activeTool [#5144](https://github.com/excalidraw/excalidraw/pull/5144)
63
+ - Quick typo fix [#6167](https://github.com/excalidraw/excalidraw/pull/6167)
135
64
 
136
- - 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)
137
66
 
138
- - 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)
139
68
 
140
- - 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)
141
70
 
142
- - Reconcile when saving to firebase [#4991](https://github.com/excalidraw/excalidraw/pull/4991)
71
+ ### Styles
143
72
 
144
- - 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)
145
74
 
146
- - Refactor local persistence & fix race condition on SW reload [#5032](https://github.com/excalidraw/excalidraw/pull/5032)
75
+ ### Build
147
76
 
148
- - Element locking [#4964](https://github.com/excalidraw/excalidraw/pull/4964)
77
+ - Temporarily disable pre-commit [#6132](https://github.com/excalidraw/excalidraw/pull/6132)
149
78
 
150
- - Copy to clipboard all text nodes as text [#5013](https://github.com/excalidraw/excalidraw/pull/5013)
79
+ ---
151
80
 
152
- - Create and expose serializeLibraryAsJSON [#5009](https://github.com/excalidraw/excalidraw/pull/5009)
81
+ ## 0.14.1 (2023-01-16)
153
82
 
154
- - Hide penMode button on reload if not enabled [#4992](https://github.com/excalidraw/excalidraw/pull/4992)
83
+ ### Fixes
155
84
 
156
- - 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.
157
86
 
158
- - 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)
159
88
 
160
- - Support binding text to container via context menu [#4935](https://github.com/excalidraw/excalidraw/pull/4935)
89
+ ### Features
161
90
 
162
- - 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).
163
92
 
164
- - 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)
165
94
 
166
- - 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).
167
96
 
168
- - 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).
169
98
 
170
- - 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).
171
100
 
172
- - 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).
173
102
 
174
- - Support custom colors 🎉 [#4843](https://github.com/excalidraw/excalidraw/pull/4843)
103
+ #### BREAKING CHANGES
175
104
 
176
- - 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.
177
107
 
178
- - Scale font size when bound text containers resized with shift pressed [#4828](https://github.com/excalidraw/excalidraw/pull/4828)
108
+ ### Excalidraw schema
179
109
 
180
- ### 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).
181
111
 
182
- - Autorelease job name [#5412](https://github.com/excalidraw/excalidraw/pull/5412)
112
+ ## Excalidraw Library
183
113
 
184
- - 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._**
185
115
 
186
- - Typecast file to fix the build [#5410](https://github.com/excalidraw/excalidraw/pull/5410)
116
+ ### Features
187
117
 
188
- - 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)
189
119
 
190
- - 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)
191
121
 
192
- - 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)
193
123
 
194
- - 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)
195
125
 
196
- - 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)
197
127
 
198
- - 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)
199
129
 
200
- - 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)
201
131
 
202
- - 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)
203
133
 
204
- - 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)
205
135
 
206
- - 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)
207
137
 
208
- - 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)
209
139
 
210
- - 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)
211
141
 
212
- - 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)
213
143
 
214
- - 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)
215
145
 
216
- - Do not deselect when not zooming using touchscreen pinch [#5181](https://github.com/excalidraw/excalidraw/pull/5181)
146
+ ### Fixes
217
147
 
218
- - Wheel zoom normalization [#5165](https://github.com/excalidraw/excalidraw/pull/5165)
148
+ - Mobile tools positioning [#6107](https://github.com/excalidraw/excalidraw/pull/6107)
219
149
 
220
- - 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)
221
151
 
222
- - 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)
223
153
 
224
- - 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)
225
155
 
226
- - 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)
227
157
 
228
- - 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)
229
159
 
230
- - 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)
231
161
 
232
- - 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)
233
163
 
234
- - 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)
235
165
 
236
- - 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)
237
167
 
238
- - 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)
239
169
 
240
- - 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)
241
171
 
242
- - 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)
243
173
 
244
- - Excalidraw named export type [#5078](https://github.com/excalidraw/excalidraw/pull/5078)
174
+ - Restoring deleted bindings [#6029](https://github.com/excalidraw/excalidraw/pull/6029)
245
175
 
246
- - 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)
247
177
 
248
- - 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)
249
179
 
250
- - 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)
251
181
 
252
- - 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)
253
183
 
254
- - 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)
255
185
 
256
- - 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)
257
187
 
258
- - 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)
259
189
 
260
- - 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)
261
191
 
262
- - 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)
263
193
 
264
- - 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)
265
195
 
266
- - 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)
267
197
 
268
- - 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)
269
199
 
270
- - 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)
271
201
 
272
- - 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)
273
203
 
274
- - 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)
275
205
 
276
- - 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)
277
207
 
278
- - 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)
279
209
 
280
- - 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)
281
211
 
282
- - 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)
283
213
 
284
- - 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)
285
215
 
286
- - 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)
287
217
 
288
- - 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)
289
219
 
290
- - 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)
291
221
 
292
- - 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)
293
223
 
294
- - 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)
295
225
 
296
- - 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)
297
227
 
298
- - 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)
299
229
 
300
- - 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)
301
231
 
302
- - 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)
303
233
 
304
- - 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)
305
235
 
306
- - 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)
307
237
 
308
- - 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)
309
239
 
310
- - 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)
311
241
 
312
- - 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)
313
243
 
314
- - 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)
315
245
 
316
- - 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)
317
247
 
318
- - 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)
319
249
 
320
- - 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)
321
251
 
322
- - 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)
323
253
 
324
- - 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)
325
255
 
326
- - 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)
327
257
 
328
258
  ### Refactor
329
259
 
330
- - 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)
331
261
 
332
262
  ### Build
333
263
 
334
- - Extract all i18n files into locales folder [#5419](https://github.com/excalidraw/excalidraw/pull/5419)
264
+ - Move release scripts to use release branch [#5958](https://github.com/excalidraw/excalidraw/pull/5958)
335
265
 
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)
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)
345
267
 
346
268
  ---
347
269
 
348
- ## 0.11.0 (2022-02-17)
349
-
350
- ## Excalidraw API
351
-
352
- ### Features
353
-
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).
364
-
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
403
-
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).
407
-
408
- ### Build
409
-
410
- - Release preview package [@excalidraw/excalidraw-preview](https://www.npmjs.com/package/@excalidraw/excalidraw-preview) when triggered via comment
411
-
412
- ```
413
- @excalibot trigger release
414
- ```
270
+ ## 0.13.0 (2022-10-27)
415
271
 
416
- [#4750](https://github.com/excalidraw/excalidraw/pull/4750).
272
+ ### Excalidraw API
417
273
 
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)
274
+ #### Features
419
275
 
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).
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`.
421
282
 
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).
283
+ #### Breaking Changes
423
284
 
424
- ---
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`.
425
287
 
426
288
  ## Excalidraw Library
427
289
 
@@ -429,459 +291,201 @@ React.createElement(ExcalidrawLib.Excalidraw, opts);
429
291
 
430
292
  ### Features
431
293
 
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)
294
+ - Render library into `Sidebar` on mobile [#5774](https://github.com/excalidraw/excalidraw/pull/5774)
455
295
 
456
- - Link to new LP for excalidraw plus [#4549](https://github.com/excalidraw/excalidraw/pull/4549)
296
+ - Additional drag and drop image format support (webp, bmp, ico) [#5749](https://github.com/excalidraw/excalidraw/pull/5749)
457
297
 
458
- - Update stroke color of bounded text along with container [#4541](https://github.com/excalidraw/excalidraw/pull/4541)
298
+ - Enter and Exit line editor via context menu [#5719](https://github.com/excalidraw/excalidraw/pull/5719)
459
299
 
460
- - Hints and shortcuts help around deep selection [#4502](https://github.com/excalidraw/excalidraw/pull/4502)
300
+ - Further reduce darkmode init flash [#5701](https://github.com/excalidraw/excalidraw/pull/5701)
461
301
 
462
- - Support updating text properties by clicking on container [#4499](https://github.com/excalidraw/excalidraw/pull/4499)
302
+ - Support segment midpoints in line editor [#5641](https://github.com/excalidraw/excalidraw/pull/5641)
463
303
 
464
- - Bind text to shapes when pressing enter and support sticky notes 🎉 [#4343](https://github.com/excalidraw/excalidraw/pull/4343)
304
+ - Added exportPadding to PNG (blob) export in @excalidraw/utils [#5626](https://github.com/excalidraw/excalidraw/pull/5626)
465
305
 
466
- - Change `boundElementIds` `boundElements` [#4404](https://github.com/excalidraw/excalidraw/pull/4404)
306
+ - Introduce ExcalidrawElements and ExcalidrawAppState provider [#5463](https://github.com/excalidraw/excalidraw/pull/5463)
467
307
 
468
- - Support selecting multiple points when editing line [#4373](https://github.com/excalidraw/excalidraw/pull/4373)
308
+ - Enable midpoint inside linear element editor [#5564](https://github.com/excalidraw/excalidraw/pull/5564)
469
309
 
470
- - Horizontally center toolbar menu [commit link](https://github.com/excalidraw/excalidraw/commit/9b8ee3cacfec239617c357693cf2a3ca9972d2cb)
310
+ - Show a mid point for linear elements [#5534](https://github.com/excalidraw/excalidraw/pull/5534)
471
311
 
472
- - Add support for rounded corners in diamond [#4369](https://github.com/excalidraw/excalidraw/pull/4369)
312
+ - Lock angle when editing linear elements with shift pressed [#5527](https://github.com/excalidraw/excalidraw/pull/5527)
473
313
 
474
- - Allow zooming up to 3000% [#4358](https://github.com/excalidraw/excalidraw/pull/4358)
314
+ - Redesign linear elements 🎉 [#5501](https://github.com/excalidraw/excalidraw/pull/5501)
475
315
 
476
- - Stop discarding precision when rendering [#4357](https://github.com/excalidraw/excalidraw/pull/4357)
316
+ - Cursor alignment when creating linear elements with shift pressed [#5518](https://github.com/excalidraw/excalidraw/pull/5518)
477
317
 
478
- - Support Image binding [#4347](https://github.com/excalidraw/excalidraw/pull/4347)
318
+ - Shift-clamp when creating multi-point lines/arrows [#5500](https://github.com/excalidraw/excalidraw/pull/5500)
479
319
 
480
- - Add `element.updated` [#4070](https://github.com/excalidraw/excalidraw/pull/4070)
320
+ - Cursor alignment when creating generic elements [#5516](https://github.com/excalidraw/excalidraw/pull/5516)
481
321
 
482
- - Compress shareLink data when uploading to json server [#4225](https://github.com/excalidraw/excalidraw/pull/4225)
483
-
484
- - Supply `version` param when installing libraries [#4305](https://github.com/excalidraw/excalidraw/pull/4305)
485
-
486
- - Log FS abortError to console [#4279](https://github.com/excalidraw/excalidraw/pull/4279)
487
-
488
- - Add validation for website and remove validation for library item name [#4269](https://github.com/excalidraw/excalidraw/pull/4269)
489
-
490
- - Allow publishing libraries from UI [#4115](https://github.com/excalidraw/excalidraw/pull/4115)
491
-
492
- - Create confirm dialog to use instead of window.confirm [#4256](https://github.com/excalidraw/excalidraw/pull/4256)
493
-
494
- - Allow letters in IDs for storing files in backend [#4224](https://github.com/excalidraw/excalidraw/pull/4224)
495
-
496
- - Remove support for V1 unencrypted backend [#4189](https://github.com/excalidraw/excalidraw/pull/4189)
497
-
498
- - Use separate backend for local storage [#4187](https://github.com/excalidraw/excalidraw/pull/4187)
499
-
500
- - Add hint around canvas panning [#4159](https://github.com/excalidraw/excalidraw/pull/4159)
501
-
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)
322
+ - Make context menu scrollable [#4030](https://github.com/excalidraw/excalidraw/pull/4030)
511
323
 
512
324
  ### Fixes
513
325
 
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)
326
+ - Ungroup short cut key [#5779](https://github.com/excalidraw/excalidraw/pull/5779)
519
327
 
520
- - Mobile link click [#4742](https://github.com/excalidraw/excalidraw/pull/4742)
328
+ - Replaced KeyboardEvent.code with KeyboardEvent.key for all letters [#5523](https://github.com/excalidraw/excalidraw/pull/5523)
521
329
 
522
- - ContextMenu timer & pointers not correctly reset on iOS [#4765](https://github.com/excalidraw/excalidraw/pull/4765)
330
+ - Free draw flip not scaling correctly [#5752](https://github.com/excalidraw/excalidraw/pull/5752)
523
331
 
524
- - Use absolute coords when rendering link popover [#4753](https://github.com/excalidraw/excalidraw/pull/4753)
332
+ - Wait for window focus until prompting for library install [#5751](https://github.com/excalidraw/excalidraw/pull/5751)
525
333
 
526
- - Changing font size when text is not selected or edited [#4751](https://github.com/excalidraw/excalidraw/pull/4751)
334
+ - Update perfect freehand library to fix extra dot [#5727](https://github.com/excalidraw/excalidraw/pull/5727)
527
335
 
528
- - Disable contextmenu on non-secondary `pen` events or `touch` [#4675](https://github.com/excalidraw/excalidraw/pull/4675)
336
+ - RestoreElementWithProperties drops "parent" property [#5742](https://github.com/excalidraw/excalidraw/pull/5742)
529
337
 
530
- - Mobile context menu won't show on long press [#4741](https://github.com/excalidraw/excalidraw/pull/4741)
338
+ - Horizontal text alignment for bound text when resizing [#5721](https://github.com/excalidraw/excalidraw/pull/5721)
531
339
 
532
- - Do not open links twice [#4738](https://github.com/excalidraw/excalidraw/pull/4738)
340
+ - Set the dimensions of bound text correctly [#5710](https://github.com/excalidraw/excalidraw/pull/5710)
533
341
 
534
- - Make link icon clickable in mobile [#4736](https://github.com/excalidraw/excalidraw/pull/4736)
342
+ - Image-mirroring in export preview and in exported svg [#5700](https://github.com/excalidraw/excalidraw/pull/5700)
535
343
 
536
- - Apple Pen missing strokes [#4705](https://github.com/excalidraw/excalidraw/pull/4705)
344
+ - Double state update incorrectly resetting state [#5704](https://github.com/excalidraw/excalidraw/pull/5704)
537
345
 
538
- - Freedraw slow movement jittery lines [#4726](https://github.com/excalidraw/excalidraw/pull/4726)
346
+ - Remove no longer used code related to collab room loading [#5699](https://github.com/excalidraw/excalidraw/pull/5699)
539
347
 
540
- - Disable three finger pinch zoom in penMode [#4725](https://github.com/excalidraw/excalidraw/pull/4725)
348
+ - Revert webpack deduping to fix `@next` runtime [#5695](https://github.com/excalidraw/excalidraw/pull/5695)
541
349
 
542
- - Remove click listener for opening popup [#4700](https://github.com/excalidraw/excalidraw/pull/4700)
350
+ - Move to release notes for v0.9.0 and after [#5686](https://github.com/excalidraw/excalidraw/pull/5686)
543
351
 
544
- - Link popup position not accounting for offsets [#4695](https://github.com/excalidraw/excalidraw/pull/4695)
352
+ - Zen-mode exit button not working [#5682](https://github.com/excalidraw/excalidraw/pull/5682)
545
353
 
546
- - PenMode darkmode style [#4692](https://github.com/excalidraw/excalidraw/pull/4692)
354
+ - Buttons jump around on the mobile menu [#5658](https://github.com/excalidraw/excalidraw/pull/5658)
547
355
 
548
- - Typing `_+` in wysiwyg not working [#4681](https://github.com/excalidraw/excalidraw/pull/4681)
356
+ - #5622 - prevent session theme reset during collaboration [#5640](https://github.com/excalidraw/excalidraw/pull/5640)
549
357
 
550
- - Keyboard-zooming in wysiwyg should zoom canvas [#4676](https://github.com/excalidraw/excalidraw/pull/4676)
358
+ - Library actions inside the sidebar [#5638](https://github.com/excalidraw/excalidraw/pull/5638)
551
359
 
552
- - SceneCoordsToViewportCoords, jumping text when there is an offset [#4413](https://github.com/excalidraw/excalidraw/pull/4413) (#4630)
360
+ - Don't render library menu twice for mobile [#5636](https://github.com/excalidraw/excalidraw/pull/5636)
553
361
 
554
- - Right-click object menu displays partially off-screen [#4572](https://github.com/excalidraw/excalidraw/pull/4572) (#4631)
362
+ - Reintroduce help dialog button [#5631](https://github.com/excalidraw/excalidraw/pull/5631)
555
363
 
556
- - Support collaboration in bound text [#4573](https://github.com/excalidraw/excalidraw/pull/4573)
364
+ - Add display name to components so it doesn't show as anonymous [#5616](https://github.com/excalidraw/excalidraw/pull/5616)
557
365
 
558
- - Cmd/ctrl native browser behavior blocked in inputs [#4589](https://github.com/excalidraw/excalidraw/pull/4589)
366
+ - Improve solveQuadratic when a = 0 [#5618](https://github.com/excalidraw/excalidraw/pull/5618)
559
367
 
560
- - Use cached width when calculating min width during resize [#4585](https://github.com/excalidraw/excalidraw/pull/4585)
368
+ - Add random tiny offsets to avoid linear elements from being clipped [#5615](https://github.com/excalidraw/excalidraw/pull/5615)
561
369
 
562
- - Support collaboration in bounded text [#4580](https://github.com/excalidraw/excalidraw/pull/4580)
370
+ - Crash when adding a new point in the line editor #5602 [#5606](https://github.com/excalidraw/excalidraw/pull/5606)
563
371
 
564
- - Port for collab server and update docs [#4569](https://github.com/excalidraw/excalidraw/pull/4569)
372
+ - Allow box selection of points when inside editor [#5594](https://github.com/excalidraw/excalidraw/pull/5594)
565
373
 
566
- - Don't mutate the bounded text if not updated when submitted [#4543](https://github.com/excalidraw/excalidraw/pull/4543)
374
+ - Remove unnecessary conditions in pointerup for linear elements [#5575](https://github.com/excalidraw/excalidraw/pull/5575)
567
375
 
568
- - Prevent canvas drag while editing text [#4552](https://github.com/excalidraw/excalidraw/pull/4552)
376
+ - Check if hitting link in handleSelectionOnPointerDown [#5589](https://github.com/excalidraw/excalidraw/pull/5589)
569
377
 
570
- - Support shift+P for freedraw [#4550](https://github.com/excalidraw/excalidraw/pull/4550)
378
+ - Points not being normalized on single-elem resize [#5581](https://github.com/excalidraw/excalidraw/pull/5581)
571
379
 
572
- - Prefer spreadsheet data over image [#4533](https://github.com/excalidraw/excalidraw/pull/4533)
380
+ - Deselect linear element when clicked inside bounding box outside editor [#5579](https://github.com/excalidraw/excalidraw/pull/5579)
573
381
 
574
- - Show text properties button states correctly for bounded text [#4542](https://github.com/excalidraw/excalidraw/pull/4542)
382
+ - Resize multiple elements from center [#5560](https://github.com/excalidraw/excalidraw/pull/5560)
575
383
 
576
- - Rotate bounded text when container is rotated before typing [#4535](https://github.com/excalidraw/excalidraw/pull/4535)
384
+ - Call static methods via class instead of instance in linearElementEditor [#5561](https://github.com/excalidraw/excalidraw/pull/5561)
577
385
 
578
- - Undo should work when selecting bounded textr [#4537](https://github.com/excalidraw/excalidraw/pull/4537)
386
+ - Show bounding box for 3 or more linear point elements [#5554](https://github.com/excalidraw/excalidraw/pull/5554)
579
387
 
580
- - Reduce padding to 5px for bounded text [#4530](https://github.com/excalidraw/excalidraw/pull/4530)
388
+ - Cleanup the condition for dragging elements [#5555](https://github.com/excalidraw/excalidraw/pull/5555)
581
389
 
582
- - Bound text doesn't inherit container [#4521](https://github.com/excalidraw/excalidraw/pull/4521)
390
+ - Shareable links being merged with current scene data [#5547](https://github.com/excalidraw/excalidraw/pull/5547)
583
391
 
584
- - Text wrapping with grid [#4505](https://github.com/excalidraw/excalidraw/pull/4505) (#4506)
392
+ - Scene lookup failing when looking up by id [#5542](https://github.com/excalidraw/excalidraw/pull/5542)
585
393
 
586
- - Check if process is defined before using so it works in browser [#4497](https://github.com/excalidraw/excalidraw/pull/4497)
394
+ - Remove rounding to fix jitter when shift-editing [#5543](https://github.com/excalidraw/excalidraw/pull/5543)
587
395
 
588
- - Pending review fixes for sticky notes [#4493](https://github.com/excalidraw/excalidraw/pull/4493)
396
+ - Line deselected when shift-dragging point outside editor [#5540](https://github.com/excalidraw/excalidraw/pull/5540)
589
397
 
590
- - Pasted elements except binded text once paste action is complete [#4472](https://github.com/excalidraw/excalidraw/pull/4472)
398
+ - Flip linear elements after redesign [#5538](https://github.com/excalidraw/excalidraw/pull/5538)
591
399
 
592
- - Don't select binded text when ungrouping [#4470](https://github.com/excalidraw/excalidraw/pull/4470)
400
+ - Disable locking aspect ratio for box-selection [#5525](https://github.com/excalidraw/excalidraw/pull/5525)
593
401
 
594
- - Set height correctly when text properties updated while editing in container until first submit [#4469](https://github.com/excalidraw/excalidraw/pull/4469)
402
+ - Add `title` attribute to the modal close button [#5521](https://github.com/excalidraw/excalidraw/pull/5521)
595
403
 
596
- - Align and distribute binded text in container and cleanup [#4468](https://github.com/excalidraw/excalidraw/pull/4468)
404
+ - Context menu positioning when component has offsets [#5520](https://github.com/excalidraw/excalidraw/pull/5520)
597
405
 
598
- - Move binded text when moving container using keyboard [#4466](https://github.com/excalidraw/excalidraw/pull/4466)
406
+ - Resolve paths in prebuild.js script [#5498](https://github.com/excalidraw/excalidraw/pull/5498)
599
407
 
600
- - Support dragging binded text in container selected in a group [#4462](https://github.com/excalidraw/excalidraw/pull/4462)
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)
601
409
 
602
- - Vertically align single line when deleting text in bounded container [#4460](https://github.com/excalidraw/excalidraw/pull/4460)
410
+ - UseLayout effect cleanup in dev mode for charts [#5505](https://github.com/excalidraw/excalidraw/pull/5505)
603
411
 
604
- - Update height correctly when updating text properties in binded text [#4459](https://github.com/excalidraw/excalidraw/pull/4459)
412
+ - Revert browser toast for high/low zoom [#5495](https://github.com/excalidraw/excalidraw/pull/5495)
605
413
 
606
- - Align library item previews to center [#4447](https://github.com/excalidraw/excalidraw/pull/4447)
414
+ - Fixing push to DockerHub [#5468](https://github.com/excalidraw/excalidraw/pull/5468)
607
415
 
608
- - Vertically center align text when text deleted [#4457](https://github.com/excalidraw/excalidraw/pull/4457)
416
+ - Incorrectly rendering freedraw elements [#5481](https://github.com/excalidraw/excalidraw/pull/5481)
609
417
 
610
- - Vertically center the first line as user starts typing in container [#4454](https://github.com/excalidraw/excalidraw/pull/4454)
418
+ - Generate types when building example [#5480](https://github.com/excalidraw/excalidraw/pull/5480)
611
419
 
612
- - Switch cursor to center of container when adding text when dimensions are too small [#4452](https://github.com/excalidraw/excalidraw/pull/4452)
420
+ - Use React.FC as react-dom is not able to infer types of Modal [#5479](https://github.com/excalidraw/excalidraw/pull/5479)
613
421
 
614
- - Vertically center align the bounded text correctly when zoomed [#4444](https://github.com/excalidraw/excalidraw/pull/4444)
422
+ - Missing translation for "Scale" to Export Dialog [#5456](https://github.com/excalidraw/excalidraw/pull/5456)
615
423
 
616
- - Support updating stroke color for text by typing in color picker input [#4415](https://github.com/excalidraw/excalidraw/pull/4415)
424
+ - Add display name for Excalidraw component so it doesn't show as anonymous [#5464](https://github.com/excalidraw/excalidraw/pull/5464)
617
425
 
618
- - Bound text not atomic with container when changing z-index [#4414](https://github.com/excalidraw/excalidraw/pull/4414)
426
+ - Account for safe area for floating buttons on mobile [#5420](https://github.com/excalidraw/excalidraw/pull/5420)
619
427
 
620
- - Update viewport coords correctly when editing text [#4416](https://github.com/excalidraw/excalidraw/pull/4416)
428
+ - Attribute warnings in comment svg example [#5465](https://github.com/excalidraw/excalidraw/pull/5465)
621
429
 
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)
430
+ - Check for ctrl key when wheel event triggered to only disable zooming [#5459](https://github.com/excalidraw/excalidraw/pull/5459)
623
431
 
624
- - Husky not able to execute pre-commit on windows [#4370](https://github.com/excalidraw/excalidraw/pull/4370)
432
+ - Disable render throttling by default & during resize [#5451](https://github.com/excalidraw/excalidraw/pull/5451)
625
433
 
626
- - Make firebase config parsing not fail on undefined env [#4381](https://github.com/excalidraw/excalidraw/pull/4381)
434
+ - Attach wheel event to exscalidraw container only [#5443](https://github.com/excalidraw/excalidraw/pull/5443)
627
435
 
628
- - Adding to library via contextmenu when no image is selected [#4356](https://github.com/excalidraw/excalidraw/pull/4356)
436
+ - Show toast when browser zoom is not 100% [#5304](https://github.com/excalidraw/excalidraw/pull/5304)
629
437
 
630
- - Export scale quality regression [#4316](https://github.com/excalidraw/excalidraw/pull/4316)
438
+ - Prevent browser zoom inside Excalidraw [#5426](https://github.com/excalidraw/excalidraw/pull/5426)
631
439
 
632
- - Remove `100%` height from tooltip container to fix layout issues [#3980](https://github.com/excalidraw/excalidraw/pull/3980)
633
-
634
- - Inline ENV variables when building excalidraw package [#4311](https://github.com/excalidraw/excalidraw/pull/4311)
635
-
636
- - SVG export in dark mode with embedded bitmap image [#4285](https://github.com/excalidraw/excalidraw/pull/4285)
637
-
638
- - New FS API not working on Linux [#4280](https://github.com/excalidraw/excalidraw/pull/4280)
639
-
640
- - Url -> URL for consistency [#4277](https://github.com/excalidraw/excalidraw/pull/4277)
641
-
642
- - Prevent adding images to library via contextMenu [#4264](https://github.com/excalidraw/excalidraw/pull/4264)
643
-
644
- - Account for libraries v2 when prompting [#4263](https://github.com/excalidraw/excalidraw/pull/4263)
645
-
646
- - Skia rendering issues [#4200](https://github.com/excalidraw/excalidraw/pull/4200)
647
-
648
- - Ellipse roughness when `0` [#4194](https://github.com/excalidraw/excalidraw/pull/4194)
649
-
650
- - Proper string for invalid SVG [#4191](https://github.com/excalidraw/excalidraw/pull/4191)
651
-
652
- - Images not initialized correctly [#4157](https://github.com/excalidraw/excalidraw/pull/4157)
653
-
654
- - Image-related fixes [#4147](https://github.com/excalidraw/excalidraw/pull/4147)
655
-
656
- - Rewrite collab element reconciliation to fix z-index issues [#4076](https://github.com/excalidraw/excalidraw/pull/4076)
657
-
658
- - Redirect excalidraw.com/about to for-webex.excalidraw.com [#4104](https://github.com/excalidraw/excalidraw/pull/4104)
659
-
660
- - Redirect to webex LP instead of rewrite to fix SW [#4103](https://github.com/excalidraw/excalidraw/pull/4103)
661
-
662
- - Clear image/shape cache of affected elements when adding files [#4089](https://github.com/excalidraw/excalidraw/pull/4089)
663
-
664
- - Clear `LibraryUnit` DOM on unmount [#4084](https://github.com/excalidraw/excalidraw/pull/4084)
665
-
666
- - Pasting images on firefox [#4085](https://github.com/excalidraw/excalidraw/pull/4085)
440
+ - Typo in changelog [#5425](https://github.com/excalidraw/excalidraw/pull/5425)
667
441
 
668
442
  ### Refactor
669
443
 
670
- - Simplify zoom by removing `zoom.translation` [#4477](https://github.com/excalidraw/excalidraw/pull/4477)
444
+ - Create a util to compute container dimensions for bound text container [#5708](https://github.com/excalidraw/excalidraw/pull/5708)
671
445
 
672
- - Deduplicate encryption helpers [#4146](https://github.com/excalidraw/excalidraw/pull/4146)
446
+ - Reuse common ui dialogs and message for mobile and LayerUI [#5611](https://github.com/excalidraw/excalidraw/pull/5611)
673
447
 
674
- ### Performance
448
+ - Stats component [#5610](https://github.com/excalidraw/excalidraw/pull/5610)
675
449
 
676
- - Cache approx line height in textwysiwg [#4651](https://github.com/excalidraw/excalidraw/pull/4651)
450
+ - Move footer to its own component [#5609](https://github.com/excalidraw/excalidraw/pull/5609)
677
451
 
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
- ---
687
-
688
- ## 0.10.0 (2021-10-13)
452
+ - Remove unused attribute hasHitElementInside from pointerDownState [#5591](https://github.com/excalidraw/excalidraw/pull/5591)
689
453
 
690
- ## Excalidraw API
691
-
692
- ### Fixes
454
+ - Cleanup renderScene [#5573](https://github.com/excalidraw/excalidraw/pull/5573)
693
455
 
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).
456
+ - Rename docs to dev-docs [#5487](https://github.com/excalidraw/excalidraw/pull/5487)
695
457
 
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).
458
+ - Remove unnecessary if condition for linear element onKeyDown [#5486](https://github.com/excalidraw/excalidraw/pull/5486)
697
459
 
698
- #### BREAKING CHANGE
460
+ - Improve typing & check [#5415](https://github.com/excalidraw/excalidraw/pull/5415)
699
461
 
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.
462
+ - Don't pass zenModeEnable, viewModeEnabled and toggleZenMode props to LayerUI [#5444](https://github.com/excalidraw/excalidraw/pull/5444)
701
463
 
702
464
  ### Build
703
465
 
704
- - Enable jsx transform in webpack [#4049](https://github.com/excalidraw/excalidraw/pull/4049)
466
+ - Add missing dependencies: pica, lodash [#5656](https://github.com/excalidraw/excalidraw/pull/5656)
705
467
 
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)
717
-
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)
468
+ - Move dotenv to dev deps [#5472](https://github.com/excalidraw/excalidraw/pull/5472)
747
469
 
748
470
  ---
749
471
 
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.
472
+ ## 0.12.0 (2022-07-07)
799
473
 
800
- ## Excalidraw Library
474
+ Check out the [release notes](https://github.com/excalidraw/excalidraw/releases/tag/v0.12.0) )
801
475
 
802
476
  **_This section lists the updates made to the excalidraw library and will not affect the integration._**
803
477
 
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)
478
+ ## 0.11.0 (2022-02-17)
875
479
 
876
- ### Build
480
+ Check out the [release notes](https://github.com/excalidraw/excalidraw/releases/tag/v0.11.0)
877
481
 
878
- - 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)
879
483
 
880
- - 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)
881
485
 
882
- - Add script to update readme before stable release [#3781](https://github.com/excalidraw/excalidraw/pull/3781)
486
+ ## 0.9.0 (2021-07-10)
883
487
 
884
- ---
488
+ Check out the [release notes](https://github.com/excalidraw/excalidraw/releases/tag/v0.9.0)
885
489
 
886
490
  ## 0.8.0 (2021-05-15)
887
491