v0.16.0
版本发布时间: 2023-09-19 22:38:27
excalidraw/excalidraw最新发布版本:v0.17.3(2024-02-09 22:08:24)
0.16.0 (2023-09-19)
Features
-
Support creating containers, linear elements, text containers, labelled arrows and arrow bindings programatically #6546
-
Added
props.validateEmbeddable
to customize embeddable src url validation. #6691 -
Add support for
opts.fitToViewport
andopts.viewportZoomFactor
in theExcalidrawAPI.scrollToContent
API. #6581. -
Sidebar component now supports tabs — for more detailed description of new behavior and breaking changes, see the linked PR. #6213
-
Exposed
DefaultSidebar
component to allow modifying the default sidebar, such as adding custom tabs to it. #6213BREAKING CHANGES
-
props.renderSidebar
is removed in favor of rendering aschildren
. -
appState.isSidebarDocked
replaced withappState.defaultSidebarDockedPreference
with slightly different semantics, and relating only to the default sidebar. You need to handledocked
state for your custom sidebars yourself. - Sidebar
props.dockable
is removed. To indicate dockability, supplyprops.onDock()
alongside settingprops.docked
. -
Sidebar.Header
is no longer rendered by default. You need to render it yourself. -
props.onClose
replaced withprops.onStateChange
. -
restore()
/restoreAppState()
now retainsappState.openSidebar
regardless of docked state.
-
Excalidraw Library
This section lists the updates made to the excalidraw library and will not affect the integration.
Features
-
Properly sanitize element
link
urls. #6728. -
allow
avif
,jfif
,webp
,bmp
,ico
image types #6500 -
Zen-mode/go-to-plus button style tweaks #7006
-
Holding down CMD/CTRL will disable snap to grid when grid is active #6983
-
Update logo #6979
-
Export
changeProperty()
andgetFormValue()
. #6957 -
Partition main canvas vertically #6759
-
Add support for simplePDF in Web-Embeds #6810
-
Introducing Web-Embeds (alias iframe element)#6691
-
Add support for val.town embeds #6821
-
Render bold lines in grid #6779
-
Adds support for stackblitz.com embeds #6813
-
Cache most of element selection #6747
-
Support customizing what parts of frames are rendered #6752
-
Make
appState.selectedElementIds
more stable #6745 -
Overwrite confirmation dialogs #6658
-
Simple analitycs #6683
-
Introduce frames #6123
-
Add canvas-roundrect-polyfill package #6675
-
Polyfill
CanvasRenderingContext2D.roundRect
#6673 -
Disable collab feature when running in iframe #6646
-
Assign random user name when not set #6663
-
Redesigned collab cursors #6659
-
Eye dropper #6615
-
Redesign of Live Collaboration dialog #6635
-
Recover scrolled position after Library re-opening #6624
-
Clearing library cache #6621
-
Update design of ImageExportDialog #6614
-
Add flipping for multiple elements #5578
-
Color picker redesign #6216
-
Add "unlock all elements" to canvas contextMenu #5894
-
Library sidebar design tweaks #6582
-
Add Trans component for interpolating JSX in translations #6534
-
Testing simple analytics and fathom analytics for better privacy of the users #6529
-
Retain
seed
on shift-paste #6509 -
Allow
avif
,jfif
,webp
,bmp
,ico
image types (#6500
Fixes
-
Improperly disabling UI pointer-events on canvas interaction #7005
-
Several eyeDropper fixes #7002
-
IsBindableElement to affirm frames #6900
-
Use
device.isMobile
for sidebar trigger label breakpoint #6994 -
Export to plus url #6980
-
Z-index inconsistencies during addition / deletion in frames #6914
-
Update size-limit so react is not installed as dependency #6964
-
Stale labeled arrow bounds cache after editing the label #6893
-
Canvas flickering due to resetting canvas on skipped frames #6960
-
Grid jittery after partition PR #6935
-
Regression in indexing when adding elements to frame #6904
-
Stabilize
selectedElementIds
when box selecting #6912 -
Resetting deleted elements on duplication #6906
-
Make canvas compos memoize appState on props they declare #6897
-
Scope
--color-selection
retrieval to given instance #6886 -
Webpack config exclude statement to system agnostic #6857
-
Remove
embeddable
from generic elements #6853 -
Resizing arrow labels #6789
-
Eye-dropper not working with app offset correctly on non-1 dPR #6835
-
Add self destroying service-worker.js to migrate everyone from CRA to Vite #6833
-
Forgotten REACT_APP env variables #6834
-
Refresh sw when browser refreshed #6824
-
Adding to selection via shift box-select #6815
-
Prevent binding focus NaN value #6803
-
Use pull request in semantic workflow for better security #6799
-
Don't show
canvasBackground
label whenUIOptions.canvasActions.changeViewBackgroundColor
is false #6781 -
Use subdirectory for @excalidraw/excalidraw size limit #6787
-
Use actual dock state to not close docked library on insert #6766
-
UI disappears when pressing the eyedropper shortcut on mobile #6725
-
Elements in non-existing frame getting removed #6708
-
Scrollbars renders but disable #6706
-
Typo in chart.ts #6696
-
Do not bind text to container using text tool when it has text already #6694
-
Don't allow binding text to images #6693
-
Updated link for documentation page under help section #6654
-
Collab username style fixes #6668
-
Bound arrows not updated when rotating multiple elements #6662
-
Delete setCursor when resize #6660
-
Creating text while color picker open #6651
-
Cleanup textWysiwyg and getAdjustedDimensions #6520
-
Eye dropper not accounting for offsets #6640
-
Color picker input closing problem #6599
-
Export dialog shortcut toggles console on firefox #6620
-
Add react v17
useTransition
polyfill #6618 -
Library dropdown visibility issue for mobile #6613
-
withInternalFallback
leaking state in multi-instance scenarios #6602 -
Language list containing duplicate
en
lang #6583 -
Garbled text displayed on avatars #6575
-
Assign the original text to text editor only during init #6580
-
I18n: Apply Trans component to publish library dialogue #6564
-
Fix brave error i18n string and remove unused #6561
-
Revert add version tags to Docker build #6540
-
Don't refresh dimensions for text containers on font load #6523
-
Cleanup getMaxContainerHeight and getMaxContainerWidth #6519
-
Cleanup redrawTextBoundingBox #6518
-
Text jumps when editing on Android Chrome #6503
Styles
Refactor
-
Factor out shape generation from
renderElement.ts
pt 2 #6878 -
Add typeScript support to enforce valid translation keys #6776
-
Simplify
ImageExportDialog
#6578
Performance
-
Limiting the suggested binding to fix performance issue #6877
-
Memoize rendering of library #6622
-
Improve rendering performance for Library #6587
-
Use
UIAppState
where possible to reduce UI rerenders #6560
Build
-
Increase limit for bundle by 1kb #6880
-
Update to node 18 in docker #6822
-
Migrate to Vite 🚀 #6818
-
Migrate to Vite 🚀 #6713
-
Increase limit to 290 kB for prod bundle #6809
-
Add version tags to Docker build #6508
1、 excalidraw-excalidraw-v0.16.0.tgz 3.44MB