tldraw
-
v2.0.0-alpha.13
Published by ds300 over 1 year ago
This is a big one! Our last release (alpha.12) was a few months ago, after which we decided to push forward with some big breaking changes that we had been putting off. This will likely remain our most breaking release, so the notes below may not be as helpful for gathering what's changed. Check the updated docs at tldraw.dev.
Some highlights:
- The
editor.css
and ui.css
are now combined as tldraw.css
, so please update your imports from @tldraw/tldraw
- Assets are now provided by a CDN by default, so no need to copy those into your project
- We've removed
signia
and signia-react
from dependencies: they're folded in as @tldraw/state
- We've added a new
ExternalContentManager
for customizing how files/ images / text and other content are handled on paste or drop
-
@tldraw/tlstore
is now @tldraw/store
-
@tldraw/tlvalidate
is now @tldraw/validate
-
@tldraw/indices
is added for our fractional indexing
- The
ShapeUtil
API requires fewer overrides and has fewer properties: caching is now handled on the Editor class methods
- We've introduced a new Styles API for hooking into our existing styles or defining your own shared properties that should move together.
Here's the big list!
Release Notes
Fix crash when rotating a deleted shape (#1658)
- Fixed a crash when trying to rotate a deleted shape.
[improvement] store snapshot types (#1657)
- [dev] Rename
StoreSnapshot
to SerializedStore
- [dev] Create new
StoreSnapshot
as type related to getSnapshot
/loadSnapshot
[fix] pen mode touches (#1655)
- Removes three touches to cancel pen mode feature.
(2/2) [docs] Fix links to API. (#1654)
- Documentation: Simplified links to the API reference.
(1/2) [docs] Restore some missing changes (#1652)
[docs] Remove embeds page (#1653)
- Documentation: Removed unused Embeds page.
Fix text shapes not having colour (#1649)
- None: Fixes an unreleased bug.
Styles API docs (#1641)
--
Styles API follow-ups (#1636)
--
docs: remove not accepting contributions notice (#1647)
- Remove not accepting contributions notice from README
Fix SVG cursors not being used (#1639)
- None: Fixing an unreleased bug.
[docs] Add table of contents to Editor page (#1642)
- Documentation: Added a table of contents to the Editor page.
speed up playwright and add visual regression tests (#1638)
--
[docs] Allow sidebar to be scrolled on short screens (#1632)
- Documentation: Fixed the sidebar being unscrollable on some short screens.
[docs] Add feedback when you search (#1633)
- Documentation: Added some immediate feedback when you search.
[docs] Separate some pages out of the Docs section (#1626)
- Documentation: Restructured the sidebar for clarity.
[docs] Fix wrong cursor when hovering buttons (#1630)
- Documentation: Fixed the wrong cursor showing when hovering some buttons.
[docs] Tighten up wording & structure of Usage page (#1624)
- Documentation: Impoved clarity of wording and structure of the Usage page.
[docs] Tighten up Editor page introduction (#1622)
- Documentation: Simplified the Editor page.
[docs] Tighten up Introduction page (#1621)
- Documentation: Simplified the Introduction page.
Lokalise: Translations update (#1618)
- Added more translations for Simplified Chinese.
[docs] Simplify paths for uncategorised pages (#1619)
- Documentation: Cleaned up some paths.
ShapeUtil
refactor, Editor
cleanup (#1611)
- [editor] renames
defaultProps
to getDefaultProps
- [editor] removes
outline
, outlineSegments
, handles
, bounds
- [editor] renames
renderBackground
to backgroundComponent
Revert "Update dependencies (#1613)" (#1617)
Remove on drop override (#1612)
- [editor] Remove
onDropOverride
Make resizeBox a regular function (#1610)
- [editor] Change
resizeBox
to be a regular function.
Rename ShapeUtil.render
-> ShapeUtil.component
(#1609)
- [editor] rename
ShapeUtil.render
to ShapeUtil.component
tldraw.css (#1607)
- [tldraw] Removes
editor.css
and ui.css
exports, replaces with tldraw.css
[fix] camera culling (#1602)
- [editor] Adds
Editor.cameraState
- Adds smart culling to make panning and zooming more smooth
Styles API (#1580)
(1/2) Timeout collaborator cursors (#1525)
- Brought back cursor timeouts. Collaborator cursors now disappear after 3 seconds of inactivity.
Remove @tldraw/utils
from the docs site (#1596)
- [docs] Removed an internal utilities package.
(1/2) Cursor Chat - Presence (#1487)
- [dev] Added support for cursor chat presence.
[docs] Add barebones note about translations (#1593)
- [docs] Added brief info on how to join as a translations contributor.
[refactor] snapping (#1589)
- [editor] fix bug in snapping
remove ShapeUtil.transform
(#1590)
- [editor] Remove
ShapeUtil.transform
Change app to editor in docs (#1592)
- [docs] Updated 'App' to 'Editor'.
Make sure loading screens use dark mode user preference. (#1552)
- Make sure our loading and error screens take dark mode setting into account.
remove ShapeUtil.point
(#1591)
- [editor] Remove
ShapeUtil.point
[fix] Remove group shape export backgrounds (#1587)
- Fix image exports for groups
Add tsdocs to Editor methods (#1581)
- [dev] Added initial documentation for the Editor class.
add presence to yjs example (#1582)
- [editor] Add presence to yjs example.
Add optional generic to updateShapes
/ createShapes
(#1579)
- [editor] adds an optional shape generic to
updateShapes
and createShapes
fix: properly remove awareness from store (#1565)
- Add a brief release note for your PR here.
[improvement] Embed shape cleanup (#1569)
- [editor] Remove unused props for
TLEditorShape
- [editor] Adds
canUnmount
property to embed definitions
Move the loading of assets to the TldrawEditorWithReadyStore so that all code paths load the assets. (#1561)
- Fix a problem where assets were not loading in some cases (snapshots).
Add anchor targets to our headings. (#1571)
- Improve documentation to include anchor targets.
shapes folder, move tools into shape defs (#1574)
n/a
mini defineShape
API (#1563)
[dev-facing, notes to come]
Lokalise: Translations update (#1572)
- Added and updates translations for Italian, Russian, and Ukrainian.
Fix README typo (#1451)
yjs example (#1560)
- [editor] Adds yjs example project
ExternalContentManager
for handling external content (files, images, etc) (#1550)
- [editor] add
ExternalContentManager
for plopping content onto the canvas
- [editor] remove
onCreateAssetFromFile
prop
- [editor] remove
onCreateBookmarkFromUrl
prop
- [editor] introduce
ExternalContentManager
- [editor] add cleanup function to
onMount
Misc sync fixes (#1555)
- Fixes a handful of state management bugs that manifest in multiplayer rooms
[Docs] Change some editor properties to methods (#1553)
- [docs] Fixed some methods that were incorrectly marked as properties.
[Docs] Change some internal methods to public (#1554)
- [docs] Changed some Editor methods from internal to public.
Use unpkg as a default for serving assets. (#1548)
- Use unpkg asset hosting as a default.
hoist opacity out of props (#1526)
[internal only for now]
Fix arrows with weird bends crashing (#1540)
- Fixed a rare crash that could happen when you try to curve an arrow with zero distance.
[feature] add vertical align to note shape (#1539)
- Adds vertical align prop to note shapes
[fix] Shift key code / nudge (#1537)
scale exported canvases when they reach the browsers max size (#1536)
- Fix a bug where sometimes exports would fail when they were too big for your browser. Now, they're scaled down to the max supported size.
[fix] control click on mac (#1535)
- Fix control click to open menu on Mac
Fix being able to undo following (#1531)
- Fixed a bug where you could undo viewport-following and viewport-unfollowing.
Select locked shapes on long press (#1529)
highlighter fixes (#1530)
[aq bug fixes]
Lokalise: Translations update (#1515)
- Added and updated community translations for Galician, Italian, Romanian, Russian, Ukrainian, and Traditional Chinese.
Simplify static cursors (#1520)
- (editor) Simplifies the cursors in our CSS.
Renaming types, shape utils, tools (#1513)
- Renaming of types, shape utils, tools
tlschema cleanup (#1509)
- [editor] Remove
app.createShapeId
- [tlschema] Cleans up exports
Rename tlstore to store (#1507)
- Replace @tldraw/tlstore with @tldraw/store
Rename tlvalidate to validate (#1508)
- Rename tlvalidate to validate
Filter out unused assets. (#1502)
- Optimize file size of exported files.
Cleanup @tldraw/ui types / exports (#1504)
- [editor] clean up / unify types
rename app to editor (#1503)
- Rename
App
to Editor
and many other things that reference app
to editor
.
Revert 09c36781 & tweak linting (#1501)
[internal-only]
Add support for locking shapes (#1447)
- Add support for locking shapes.
[3/3] Highlighter styling (#1490)
Highlighter pen is here! 🎉🎉🎉
[2/3] renderer changes to support "sandwich mode" highlighting (#1418)
[not yet!]
[1/3] initial highlighter shape/tool (#1401)
[internal only change layout ground work for highlighter]
[feature] reduce motion (#1485)
- [editor] Add
reduceMotion
user preference
- Add reduce motion option to preferences
[feature] Easier store persistence API + persistence example (#1480)
- [tlstore] adds
getSnapshot
and loadSnapshot
Add DSL to make writing shape-layout test cases much easier (#1413)
[internal only change]
Feature flags rework (#1474)
[internal only change]
[tiny] add isPageId (#1482)
[minor] Mark tlsync-client internal APIs (#1481)
- Removes internal APIs from
@tldraw/tlsync-client
[refactor] update record names (#1473)
- [editor] rename record types
remove safari special-casing for paste (#1470)
[fixes a regression introduced during this release]
Don't allow g
keyboard shortcut in readonly mode, show laser tool in the toolbar (#1459)
- Disable geo tool shortcut in readonly mode. Show laser on the toolbar.
[mini-feature] Following indicator (#1468)
- Adds viewport following indicator
[chore] refactor user preferences (#1435)
- Add a brief release note for your PR here.
Add translations for "Leave shared project" action (#1394)
update use-gesture (#1453)
- Updates use-gesture to fix pinch gesture bug on iPad.
Add migration for horizontal alignment (#1443)
- Add support for legacy alignment options.
Stricter ID types (#1439)
[internal only, covered by #1432 changelog]
[refactor] restore createTLSchema (#1444)
- [editor] Simplifies custom shape definition
- [tldraw] Updates props for component to require a
TldrawEditorConfig
.
Fix cursor shadow getting clipped (#1441)
- Fixed a bug where custom cursors could have their shadow clipped.
Add SVG cursors for all cursor types (#1416)
- Added consistent custom cursors.
[refactor] remove createTLSchema
(#1440)
- [tlschema] Removes
createTLSchema
in favor of TldrawEditorConfig
[refactor] Remove TLShapeDef
, getShapeUtilByType
. (#1432)
- [tlschema] Update props of
createTLSchema
- [editor] Update props of
TldrawEditorConfig
- [editor] Remove
App.getShapeUtilByType
- [editor] Update
App.getShapeUtil
to take a type rather than a shape
[refactor] record migrations (#1430)
- [tlschema] Improve
defineMigrations
- [editor] Simplify migration definitions
Measure individual words instead of just line breaks for text exports (#1397)
- Add a brief release note for your PR here.
Update docs links + guides + build (#1422)
- [docs] Updated guides to get assets from the new
tldraw/tldraw
repo instead of the old tldraw/tldraw-examples
.
- [docs] Updated an old CodeSandbox link to the new StackBlitz.
Create @tldraw/indices package (#1426)
- [@tldraw/editor] Remove fractional indices code into
@tldraw/indices
- [@tldraw/indices] Create library for fractional indices code
[feature] Add checkbox to toolbar (#1423)
- Adds missing checkbox to toolbar.
[improvement] set horizontal position using text alignment (#1419)
- Geo shapes and sticky notes now position their labels based on their alignment.
[fix] reorder handles in front of selection (#1420)
- Fix a bug where handles would appear behind selection indicators.
[feature] add laser pointer (#1412)
- Adds the laser pointer tool.
[firefox] Fix the pointer getting stuck down when you press the control key (#1390)
- [Firefox] Fixed a bug where the pointer could get stuck down when the control key is held down.
Vertical text alignment for geo shapes (#1414)
- This adds vertical text alignment property to geo shapes.
[fix] page menu, drag handle css (#1406)
- Fix styling in the page menu
Switch to new collaborators component (#1405)
- [Breaking] Removes the old version of LiveCollaborators, replacing it with the new one based on
TLInstancePresence
[improvement] refactor paste to support multi-line text (#1398)
- Improves clipboard logic when pasting text
- Adds support for pasting multi-line text
- Adds maximum widths when pasting single-line text
- Adds support for RTL languages when pasting multi-line or wrapped text
- Strips leading indentation when pasting text
remove url state, to private (#1402)
- [editor] remove
useUrlState
Don't allow the users to use keyboard shortcuts to select tools in readonly mode. (#1382)
- Disable keyboard shortcut events for tools in readonly mode. We only allow the select, hand tools, and zoom tool.
[fix] Don't synchronize isReadOnly (#1396)
- Removes the isReadOnly value from the
user_document_settings
record type.
fix pasted tabs not getting converted to space (#1388)
- Fixed a bug where pasted tabs wouldn't get converted into spaces.
Delete an empty text shape when clicking on another text shape. (#1384)
- Fix a problem with empty text shapes not getting deleted if you clicked on another text shape.
Fix setting the grid mode. (#1386)
Update codesandbox + example link (#1368)
- [docs] Fixed some links to examples.
Fix selection foreground being misaligned (#1380)
- None (fix for a bug that hasn't released)
Expand selection outline for single-selected draw shape (#1379)
- Improve selection outlines around horizontal or vertical draw shapes
Add localizations for snapshots links (#1347)
- Add localization for creating snapshot links.
[fix] pointer location not updating when moving over editing shape (#1378)
- Fix a bug where the pointer location would not update when moving the pointer over an editing shape.
[perf] deleteShapes (#1373)
- Perf improvement for deleting shapes in a document with lots of pages.
Neaten up pr template (#1369)
fix a couple of consistency assumptions (#1365)
- Fixes a couple of minor consistency bugs affecting shape updating and page deletion in multiplayer contexts.
Disable nightly/on-demand webdriver scripts (#1366)
None
avoid lazy race conditions (#1364)
[internal only]
Adds CI for webdriver tests (#1343)
- Github action CI workflows added for webdriver tests
- Refactored e2e test runner
enable eslint for test files (#1363)
internal-only change
[perf] make ensureStoreIsUsable scale better (#1362)
- Add a brief release note for your PR here.
Export Events stuff (#1360)
- [ui] export the
TLUiEventSource
type
- [ui] export the
EventsProviderProps
type
- [ui] export the
useEvents
hook
presence-related fixes (#1361)
- Fix a bug where creating a page could throw an error in some multiplayer contexts.
[improvement] rename onEvent to onUiEvent (#1358)
- [docs] Adds docs for ui events
- [tldraw] Renames
onEvent
to onUiEvent
[docs] Update links in docs (#1357)
- [docs] Update links in docs to point to the tldraw repository rather than tldraw-examples.
[improvement] Ui events followup (#1354)
- [ui] Adds source to ui events data object
- [ui] Corrects source for toolbar events
- [ui] Corrects source for clipboard events
- [examples] Updates events example
[fix] various text (#1350)
[chore] Bump nanoid (#1349)
- Remove unused userId and instanceId props from AppOptions
Fix "copy as png" in firefox when dom.events.asyncClipboard.clipboardItem
is enabled (#1342)
- Fix "copy as png" in firefox when
dom.events.asyncClipboard.clipboardItem
is enabled
Rework the assets package for strategy-specific imports (#1341)
- [dev] If you're using the
@tldraw/assets
package, you need to update your code to import { getAssetUrlsByImport } from '@tldraw/assets/imports'
instead of import { getBundlerAssetUrls } from '@tldraw/assets
💥 Breaking Change
- [minor] Mark tlsync-client internal APIs #1481 (@steveruizok)
-
@tldraw/editor
, @tldraw/file-format
, @tldraw/store
-
@tldraw/editor
, @tldraw/file-format
, @tldraw/store
, @tldraw/tlschema
-
@tldraw/editor
, @tldraw/ui
-
@tldraw/editor
, @tldraw/file-format
, @tldraw/tldraw
, @tldraw/tlschema
-
@tldraw/editor
-
@tldraw/editor
, @tldraw/tldraw
, @tldraw/ui
-
@tldraw/editor
, @tldraw/file-format
, @tldraw/tlschema
, @tldraw/ui
, @tldraw/utils
, @tldraw/validate
-
@tldraw/editor
, @tldraw/file-format
, @tldraw/tldraw
, @tldraw/tlschema
, @tldraw/utils
, @tldraw/validate
-
@tldraw/editor
, @tldraw/file-format
, @tldraw/tldraw
, @tldraw/ui
-
ExternalContentManager
for handling external content (files, images, etc) #1550 (@steveruizok)
-
@tldraw/editor
, @tldraw/tlschema
, @tldraw/ui
-
@tldraw/editor
, @tldraw/file-format
, @tldraw/store
, @tldraw/tlschema
, @tldraw/ui
-
@tldraw/editor
, @tldraw/file-format
, @tldraw/ui
-
@tldraw/editor
, @tldraw/file-format
, @tldraw/tlschema
, @tldraw/validate
-
@tldraw/file-format
, @tldraw/tlschema
, @tldraw/ui
-
@tldraw/editor
, @tldraw/file-format
, @tldraw/indices
, @tldraw/tldraw
, @tldraw/ui
-
@tldraw/editor
, @tldraw/file-format
, @tldraw/tldraw
, @tldraw/tlschema
, @tldraw/ui
-
@tldraw/editor
, @tldraw/file-format
, @tldraw/tlschema
, @tldraw/ui
-
@tldraw/editor
, @tldraw/tlschema
-
@tldraw/editor
, @tldraw/indices
, @tldraw/utils
-
@tldraw/ui
-
@tldraw/assets
, @tldraw/tlschema
- Rework the assets package for strategy-specific imports #1341 (@SomeHats)
🚀 Enhancement
- [feature] Easier store persistence API + persistence example #1480 (@steveruizok)
-
@tldraw/editor
, @tldraw/tlschema
, @tldraw/ui
-
@tldraw/editor
-
@tldraw/editor
, @tldraw/tlschema
-
@tldraw/editor
, @tldraw/file-format
-
@tldraw/editor
, @tldraw/ui
-
@tldraw/assets
, @tldraw/editor
, @tldraw/ui
-
@tldraw/editor
, @tldraw/primitives
- [2/3] renderer changes to support "sandwich mode" highlighting #1418 (@SomeHats)
-
@tldraw/assets
, @tldraw/editor
, @tldraw/tlschema
, @tldraw/ui
-
@tldraw/ui
-
@tldraw/assets
, @tldraw/ui
🐛 Bug Fix
- Lokalise: Translations update #1618 (@TodePond)
- Fa translation #1500 (@mokazemi @steveruizok)
- Lokalise: Translations update #1572 (@TodePond)
- Update changelog. Bump version. #1546 (@MitjaBezensek)
- Lokalise: Translations update #1515 (@TodePond)
- VS Code version bump, changelog. #1497 (@MitjaBezensek)
- Fix issue template label not getting applied #1428 (@TodePond)
- Bump version. #1421 (@MitjaBezensek)
- Update community translations + remove unused translations #1356 (@TodePond)
- [docs] Update links in docs #1357 (@steveruizok)
- [chore] Add label options to PR template #1339 (@ds300)
- Fix publishing #1338 (@SomeHats)
- Update README.md #1331 (@steveruizok)
- [docs] editor API #1328 (@steveruizok)
- [docs] Add missing params docs #1223 (@TodePond)
- Add link to original tldraw within issue template #1225 (@TodePond)
- Fix issue templates not appearing #1228 (@TodePond)
- [improvement] readme / contributing #1199 (@TodePond @steveruizok)
- [improvement] add bug report / feature request #1218 (@steveruizok)
- add
env
and prefix output options to exec #1217 (@SomeHats)
- lite: run prettier on js + json files #1195 (@SomeHats)
- [chore] use explicit yarn in clean script #1216 (@ds300)
- fix husky install #1212 (@SomeHats)
- Alex/test #1202 (@SomeHats)
- lite: tweak lockfile name #1195 (@SomeHats)
- lite: common logfile name #1195 (@SomeHats)
- lite: open runners #1195 (@SomeHats)
- poke #1195 (@SomeHats)
- lite: standalone? #1195 (@SomeHats)
-
@tldraw/editor
-
@tldraw/editor
, @tldraw/ui
-
@tldraw/tldraw
-
@tldraw/editor
, @tldraw/primitives
-
@tldraw/editor
, @tldraw/tlschema
-
@tldraw/assets
, @tldraw/editor
, @tldraw/ui
, @tldraw/utils
-
@tldraw/ui
-
@tldraw/file-format
-
@tldraw/editor
, @tldraw/file-format
, @tldraw/tlschema
, @tldraw/ui
, @tldraw/utils
-
@tldraw/editor
, @tldraw/primitives
, @tldraw/ui
- Measure individual words instead of just line breaks for text exports #1397 (@SomeHats)
-
@tldraw/tlschema
- [perf] make ensureStoreIsUsable scale better #1362 (@ds300)
-
@tldraw/editor
, @tldraw/utils
-
@tldraw/assets
, @tldraw/editor
, @tldraw/tlschema
, @tldraw/ui
-
@tldraw/assets
, @tldraw/editor
, @tldraw/tldraw
, @tldraw/ui
-
@tldraw/assets
, @tldraw/file-format
, @tldraw/polyfills
, @tldraw/primitives
, @tldraw/tldraw
, @tldraw/tlschema
, @tldraw/ui
, @tldraw/utils
-
@tldraw/assets
, @tldraw/editor
, @tldraw/file-format
, @tldraw/polyfills
, @tldraw/primitives
, @tldraw/tldraw
, @tldraw/tlschema
, @tldraw/ui
, @tldraw/utils
-
@tldraw/tlschema
, @tldraw/ui
-
@tldraw/assets
, @tldraw/editor
, @tldraw/tldraw
, @tldraw/tlschema
, @tldraw/ui
, @tldraw/utils
⚠️ Pushed to main
- Update publish-new.yml (@steveruizok)
- Update lerna.json (@steveruizok)
- Update publish-new.ts (@steveruizok)
- change App to Editor in docs (@TodePond)
- rename api.mdx to editor.mdx (@TodePond)
- remove e2e files (@steveruizok)
- main: notify huppy after release (@SomeHats)
- main: exclude @tldraw/assets from vite dep optimization to fix examples links (@SomeHats)
-
@tldraw/assets
, @tldraw/editor
, @tldraw/file-format
, @tldraw/indices
, @tldraw/polyfills
, @tldraw/primitives
, @tldraw/store
, @tldraw/tldraw
, @tldraw/tlschema
, @tldraw/ui
, @tldraw/utils
, @tldraw/validate
🏠 Internal
- [chore] bump vscode extension to 2.0.9 #1662 (@steveruizok)
- untrack generated files #1646 (@steveruizok)
- Update pr template #1570 (@steveruizok)
- Add contributor license agreement. #1556 (@steveruizok)
- Reinstate auto #1524 (@ds300)
- [infra] use npx to run auto #1521 (@ds300)
- Revert 09c36781 & tweak linting #1501 (@SomeHats)
- [fix] eslint from brivate #1498 (@steveruizok)
- [chore] remove webdriver dependencies / scripts #1488 (@steveruizok)
- [fix] local e2e script #1442 (@steveruizok)
- [chore] remove yarnrc-private.yml #1427 (@steveruizok)
- [fix] example routes on vercel #1391 (@steveruizok)
- Neaten up pr template #1369 (@TodePond)
- remove references to tldraw-lite #1367 (@SomeHats)
-
@tldraw/editor
, @tldraw/ui
-
@tldraw/ui
-
@tldraw/editor
-
@tldraw/tlschema
-
@tldraw/primitives
-
@tldraw/editor
, @tldraw/indices
, @tldraw/primitives
, @tldraw/tldraw
, @tldraw/ui
-
@tldraw/editor
, @tldraw/tlschema
-
@tldraw/editor
, @tldraw/file-format
, @tldraw/polyfills
, @tldraw/primitives
, @tldraw/tldraw
, @tldraw/tlschema
, @tldraw/ui
, @tldraw/utils
📝 Documentation
🧪 Tests
🔩 Dependency Updates
- [chore] update wdio-vscode-service #1346 (@ds300)
-
@tldraw/editor
, @tldraw/state
, @tldraw/store
, @tldraw/tlschema
, @tldraw/ui
-
@tldraw/assets
, @tldraw/editor
, @tldraw/polyfills
, @tldraw/tldraw
, @tldraw/ui
-
@tldraw/editor
Authors: 13