0.14.0 (2023-01-13)
Features
-
Support customization for the editor welcome screen #6048.
-
Expose component API for the Excalidraw main menu #6034, You can read more about its usage here
-
Footer is now rendered as child component instead of passed as a render prop #5970.
-
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. -
Expose LiveCollaborationTrigger component. Replaces
props.onCollabButtonClick
#6104.
BREAKING CHANGES
props.onCollabButtonClick
is now removed. You need to render the main menu item yourself, and optionally also render the<LiveCollaborationTrigger>
component using renderTopRightUI prop if you want to retain the canvas button at top-right.- The prop
renderFooter
is now removed in favor of rendering as a child component.
Excalidraw schema
- Merged
appState.currentItemStrokeSharpness
andappState.currentItemLinearStrokeSharpness
intoappState.currentItemRoundness
. RenamedchangeSharpness
action tochangeRoundness
. Excalidraw element'sstrokeSharpness
was changed toroundness
. Check the PR for types and more details #5553.
Excalidraw Library
This section lists the updates made to the excalidraw library and will not affect the integration.
Features
-
Generic button export #6092
-
Scroll using PageUp and PageDown #6038
-
Support shrinking text containers to original height when text removed #6025
-
Move contextMenu into the component tree and control via appState #6021
-
Allow readonly actions to be used in viewMode #5982
-
Support labels for arrow 🔥 #5723
-
Don't add midpoint until dragged beyond a threshold #5927
-
Changed text copy/paste behaviour #5786
-
Reintroduce
x
shortcut forfreedraw
#5840 -
Tweak toolbar shortcuts & remove library shortcut #5832
-
Clean unused images only after 24hrs (local-only) #5839
-
Refetch errored/pending images on collab room init load #5833
-
Stop deleting whole line when no point select in line editor #5676
-
Editor redesign 🔥 #5780
Fixes
-
Mobile tools positioning #6107
-
Renamed folder MainMenu->main-menu and support rest props #6103
-
Use position absolute for mobile misc tools #6099
-
React.memo resolvers not accounting for all props #6042
-
Image horizontal flip fix + improved tests #5799
-
Png-exporting does not preserve angles correctly for flipped images #6085
-
Stale appState of MainMenu defaultItems rendered from Actions #6074
-
HelpDialog #6072
-
Show error message on collab save failure #6063
-
Remove ga from docker build #6059
-
Use displayName since name gets stripped off when uglifying/minifiyng in production #6036
-
Remove background from wysiwyg when editing arrow label #6033
-
Use canvas measureText to calculate width in measureText #6030
-
Restoring deleted bindings #6029
-
ColorPicker getColor #5949
-
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
-
Showing
grabbing
cursor when holdingspacebar
#6015 -
Resize sometimes throwing on missing null-checks #6013
-
PWA not working after CRA@5 update #6012
-
Not properly restoring element stroke and bg colors #6002
-
Avatar outline on safari & center #5997
-
Chart pasting not working due to removing tab characters #5987
-
Apply the right type of roundness when pasting styles #5979
-
Remove editor onpaste handler #5971
-
Remove blank space #5950
-
Galego and Kurdî missing in languages plus two locale typos #5954
excalidraw-excalidraw-v0.14.0.tgz -
ExcalidrawArrowElement
rather thanExcalidrawArrowEleement
#5955 -
RenderFooter styling #5962
-
Repair element bindings on restore #5956
-
Don't allow whitespaces for bound text #5939
-
Bindings do not survive history serialization #5942
-
Dedupe boundElement ids when container duplicated with alt+drag #5938
-
Scale font correctly when using shift #5935
-
Always bind to container selected by user #5880
-
Fonts not rendered on init if
loadingdone
not fired #5923 -
Stop replacing
del
word withDelete
#5897 -
Remove legacy React.render() from the editor #5893
-
Allow adding text via enter only for text containers #5891
-
Stop font
loadingdone
loop when rendering element SVGs #5883 -
Refresh text dimensions only after font load done #5878
-
Correctly paste contents parsed by
JSON.parse()
as text. #5868 -
SVG element attributes in icons.tsx #5871
-
Merge existing text with new when pasted #5856
-
Disable FAST_REFRESH to fix live reload #5852
-
Paste clipboard contents into unbound text elements #5849
-
Compute dimensions of container correctly when text pasted on container #5845
-
Line editor points rendering below elements #5781
-
Syncing 1-point lines to remote clients #5677
-
Incorrectly selecting linear elements on creation while tool-locked #5785
-
Corrected typo in toggle theme shortcut #5813
-
Hide canvas-modifying UI in view mode #5815
-
Fix vertical/horizntal centering icons #5812
-
Consistent use of ZOOM_STEP #5801
-
Multiple elements resizing regressions #5586
-
Changelog typo #5795
Refactor
- Remove unnecessary code #5933
Build
-
Move release scripts to use release branch #5958
-
Stops ignoring .env files from docker context so env variables get set during react app build. #5809