mirror of
https://github.com/excalidraw/excalidraw.git
synced 2025-04-14 16:40:58 -04:00
20 KiB
20 KiB
Changelog
Unreleased
Excalidraw API
Features
- Append
location.pathname
tolibraryReturnUrl
default url #3325.
0.5.0 (2021-03-21)
Excalidraw API
Features
- Set the target to
window.name
if present during excalidraw libraries installation so it opens in same tab for the host. Ifwindow.name
is not set it will open in a new tab #3299. - Add
name
prop to indicate the name of the drawing which will be used when exporting the drawing. When supplied, the value takes precedence overintialData.appState.name
, thename
will be fully controlled by host app and the users won't be able to edit from within Excalidraw #3273. - Export API
setCanvasOffsets
viaref
to set the offsets for Excalidraw#3265.BREAKING CHANGE
offsetLeft
andoffsetTop
props have been removed now so you have to use thesetCanvasOffsets
viaref
to achieve the same.
- Export API to export the drawing to canvas, svg and blob #3258. For more info you can check the readme
- Add a
theme
prop to indicate Excalidraw's theme. #3228. When this prop is passed, the theme is fully controlled by host app. - Support
libraryReturnUrl
prop to indicate what URL to install libraries to #3227.
Refactor
-
BREAKING CHANGE
- Rename prop
initialData.scrollToCenter
andsetScrollToCenter
API exposed via ref toinitialData.scrollToContent
andsetScrollToContent
respectively#3261.
- Rename prop
- Rename appearance to theme #3237.
BREAKING CHANGE
- Since
appState.appearance
is renamed toappState.theme
so whereverappState.appearance
includinginitialData.appState.appearance
should be renamed toappState.theme
andinitialData.appState.theme
respectively. If theappearance
was persisted earlier, now it needs to passed astheme
. - The class
Appearance_dark
is renamed totheme--dark
. - The class
Appearance_dark-background-none
is renamed totheme--dark-background-none
.
- Since
Excalidraw Library
Features
- Support pasting file contents & always prefer system clip #3257
- Add label for name field and use input when editable in export dialog #3286
- Implement the Web Share Target API #3230.
Fixes
- Don't show export and delete when library is empty #3288
- Overflow in textinput in export dialog #3284.
- Bail on noop updates for newElementWith #3279.
- Prevent State continuously updated when holding ctrl/cmd #3283
- Debounce flush not invoked if lastArgs not defined #3281.
- Stop preventing canvas pointerdown/tapend events #3207.
- Double scrollbar on modals #3226.
0.4.3 (2021-03-12)
Excalidraw API
Fixes
- Allow copy of excalidraw elements only when inside excalidraw #3206.
- Position text editor absolute and fix the offsets so it doesn't remain fixed when the container is scrolled #3200.
- Scope CSS variables so that host CSS vars don't clash with excalidraw #3199.
Excalidraw Library
- Apply correct translation when text editor overflows when zoom not 100% #3225
- Don't overflow text beyond width of Excalidraw #3215.
0.4.2
Excalidraw API
Fixes
- Wrap excalidraw in position relative so host need not do it anymore & hide scrollbars in zen mode #3174.
- Reduce the scroll debounce timeout to
100ms
sooffsets
gets updated faster if changed when container scrolled #3182. - Rerender UI on
renderFooter
prop change #3183
Excalidraw Library
Fixes
- Temporarily downgrade browser-fs-access to fix legacy FS API #3172
0.4.1
Excalidraw API
Fixes
- Use
Array.from
when spreading over set so that typescript transpiles correctly in the umd build#3165.
Excalidraw Library
Features
- Add export info on copy PNG to clipboard toast message #3159.
- Use the latest version of Virgil #3124.
- Support exporting with dark mode #3046.
Fixes
0.4.0
Excalidraw API
Features
-
Expose
window.EXCALIDRAW_ASSET_PATH
which host can use to load assets from a different URL. By default it will be loaded fromhttps://unpkg.com/@excalidraw/excalidraw{currentVersion}/dist/
#3068.Also now the assets will have a hash in filename so cache bursting can easily happen with version bump.
-
Add support for
scrollToCenter
in initialData so host can control whether to scroll to center on mount #3070. -
Export
restore
,restoreAppState
andrestoreElements
to host #3049
Fixes
Excalidraw Library
Features
- Adjust line-confirm-threshold based on zoom #2884
Fixes
- Hide scrollbars on mobile #3044
0.3.1
Excalidraw API
Fixes
- Support Excalidraw inside scrollable container #3018
Excalidraw Library
Fixes
- Allow to toggle between modes when view only mode to make UI consistent #3009
0.3.0
Excalidraw API
Features
- Allow host to pass color for collaborator #2943. The unused prop
user
is now removed. - Add
zenModeEnabled
andgridModeEnabled
prop which enables zen mode and grid mode respectively #2901. When this prop is used, the zen mode / grid mode will be fully controlled by the host app. - Allow host to pass userState for collaborator to show the current user state #2877.
- Add
viewModeEnabled
prop which enabled the view mode #2840. When this prop is used, the view mode will not show up in context menu is so it is fully controlled by host. - Expose
getAppState
onexcalidrawRef
#2834.
Build
- Remove publicPath so host can use
__webpack_public_path__
to host the assets#2835
Excalidraw Library
Features
- Add the ability to clear library #2997
- Updates to Collaboration and RTL UX #2994
- Show toast when saving to existing file #2988
- Support supplying custom scale when exporting canvas #2904
- Show version in the stats dialog #2908
- Add idle detection to collaboration feature #2877
- Add view mode in Excalidraw #2840
- Increase max zoom #2881
- Remove copy & paste from context menu on desktop #2872
- Add separators on context menu #2659
- Add ctrl-y to redo #2831
- Add view mode #2840.
- Remove
copy
,cut
, andpaste
actions from contextmenu #2872 - Support
Ctrl-Y
shortcut to redo on Windows #2831.
Fixes
- Refresh wysiwyg position on canvas resize #3008
- Update the
lang
attribute with the current lang. #2995 - Rename 'Grid mode' to 'Show grid' #2944
- Deal with users on systems that don't handle emoji #2941
- Mobile toolbar tooltip regression #2939
- Hide collaborator list on mobile if empty #2938
- Toolbar unnecessarily eats too much width #2924
- Mistakenly hardcoding scale #2925
- Text editor not visible in dark mode #2920
- Incorrect z-index of text editor #2914
- Make scrollbars draggable when offsets are set #2916
- Pointer-events being disabled on free-draw #2912
- Track zenmode and grid mode usage #2900
- Disable UI pointer-events on canvas drag #2856
- Stop flooring scroll positions #2883
- Apply initialData appState for zenmode and grid stats and refactor check param for actions #2871
- Show correct state of Nerd stats in context menu when nerd stats dialog closed #2874
- Remote pointers not accounting for offset #2855
- Toggle help dialog when "shift+?" is pressed #2828
- Add safe check for process so Excalidraw can be loaded via script #2824
- Fix UI pointer-events not disabled when dragging on canvas #2856.
- Fix remote pointers not accounting for offset #2855.
Refactor
- Remove duplicate key handling #2878
- Reuse scss variables in js for SSOT #2867
- Rename browser-nativefs to browser-fs-access #2862
- Rewrite collabWrapper to remove TDZs and simplify #2834
Chore
- Use
Sentence case
forLive collaboration
0.2.1
Excalidraw API
Build
- Bundle css files with js #2819. The host would not need to import css files separately.
0.2.0
Excalidraw API
Features
-
Exported few Extra API's which can be used by the host to communicate with Excalidraw.
-
Remove language picker, and add
langCode
,renderFooter
#2644:- BREAKING: removed the language picker from UI. It is now the host app's responsibility to implement a language picker if desirable, using the newly added
renderFooter
prop. The reasoning is that the i18n should be controlled by the app itself, not by the nested Excalidraw component. - Added
langCode
prop to control the UI language.
- BREAKING: removed the language picker from UI. It is now the host app's responsibility to implement a language picker if desirable, using the newly added
-
Add support for
exportToBackend
prop to allow host apps to implement shareable links #2612
Fixes
- Hide collaboration button when the prop
onCollabButtonClick
is not provided #2598
Excalidraw Library
Features
- Add toast #2772
- Add
cmd+o
shortcut to load scene #2732 - Require use of a preset dialog size; adjust dialog sizing #2684
- Add line chart and paste dialog selection #2670
- Tweak editing behavior #2668
- Change title to Excalidraw after a timeout
- Checkmark to toggle context-menu-items #2645
- Add zoom to selection #2522
- Insert Library items in the middle of the screen #2527
- Show shortcut context menu #2501
- Aligns arrowhead schemas #2517
- Add Cut to menus #2511
- More Arrowheads: dot, bar #2486
- Support CSV graphs and improve the look and feel #2495
Fixes
- Fix compile error #2685
- Center zoom on iPhone and iPad #2642
- Allow text-selecting in dialogs & reset cursor #2783
- Don't render due to zoom after unmount #2779
- Track the chart type correctly #2773
- Fix late-render due to debounced zoom #2779
- Fix initialization when browser tab not focused #2677
- Consistent case for export locale strings #2622
- Remove unnecessary console.error as it was polluting Sentry #2637
- Fix scroll-to-center on init for non-zero canvas offsets #2445
- Fix resizing the pasted charts #2586
- Fix element visibility and zoom on cursor when canvas offset isn't 0. #2534
- Fix Library Menu Layout #2502
- Support number with commas in charts #2636
- Don't break zoom when zooming in on UI #2638
Improvements
- Added Zen Mode to the context menu #2734
- Do not reset to selection for draw tool [#2721]((https://github.com/excalidraw/excalidraw/pull/2721)
- Make dialogs look more like dialogs #2686
- Browse libraries styles fixed #2694
- Change hint for 2-point lines on resize #2655
- Align items in context menu #2640
- Do not reset to selection when using the draw tool #2721
- Display proper tooltip for 2-point lines during resize, and normalize modifier key labels in hints #2655
- Improve error message around importing images #2619
- Add tooltip with icon for embedding scenes #2532
- RTL support for the stats dialog #2530
- Expand canvas padding based on zoom. #2515
- Hide shortcuts on pickers for mobile #2508
- Hide stats and scrollToContent-button when mobile menus open #2509
Refactor
- refactor: Converting span to kbd tag #2774
- Media queries #2680
- Remove duplicate entry from en.json#2654
- Remove the word toggle from labels #2648
Docs
- Document some of the more exotic element props #2673
0.1.1
Fix
- Update the homepage URL so it redirects to correct readme #2498
0.1.0
First release of @excalidraw/excalidraw