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