v2.0.0-alpha.13
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.cssandui.cssare now combined astldraw.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
signiaandsignia-reactfrom dependencies: they're folded in as@tldraw/state - We've added a new
ExternalContentManagerfor customizing how files/ images / text and other content are handled on paste or drop @tldraw/tlstoreis now@tldraw/store@tldraw/tlvalidateis now@tldraw/validate@tldraw/indicesis added for our fractional indexing- The
ShapeUtilAPI 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
StoreSnapshottoSerializedStore - [dev] Create new
StoreSnapshotas type related togetSnapshot/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)
- None (Docs internals)
[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
defaultPropstogetDefaultProps - [editor] removes
outline,outlineSegments,handles,bounds - [editor] renames
renderBackgroundtobackgroundComponent
Revert "Update dependencies (#1613)" (#1617)
Remove on drop override (#1612)
- [editor] Remove
onDropOverride
Make resizeBox a regular function (#1610)
- [editor] Change
resizeBoxto be a regular function.
Rename ShapeUtil.render -> ShapeUtil.component (#1609)
- [editor] rename
ShapeUtil.rendertoShapeUtil.component
tldraw.css (#1607)
- [tldraw] Removes
editor.cssandui.cssexports, replaces withtldraw.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
updateShapesandcreateShapes
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
canUnmountproperty 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)
- None
yjs example (#1560)
- [editor] Adds yjs example project
ExternalContentManager for handling external content (files, images, etc) (#1550)
- [editor] add
ExternalContentManagerfor plopping content onto the canvas - [editor] remove
onCreateAssetFromFileprop - [editor] remove
onCreateBookmarkFromUrlprop - [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)
- Fix shift key nudging
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
ApptoEditorand many other things that referenceapptoeditor.
Revert 09c3678 & 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
reduceMotionuser preference - Add reduce motion option to preferences
[feature] Easier store persistence API + persistence example (#1480)
- [tlstore] adds
getSnapshotandloadSnapshot
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)
- [tlschema] Add
isPageId
[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)
- None
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
createTLSchemain favor ofTldrawEditorConfig
[refactor] Remove TLShapeDef, getShapeUtilByType. (#1432)
- [tlschema] Update props of
createTLSchema - [editor] Update props of
TldrawEditorConfig - [editor] Remove
App.getShapeUtilByType - [editor] Update
App.getShapeUtilto 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/tldrawrepo instead of the oldtldraw/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_settingsrecord 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)
- Fix grid mode toggle.
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)
- None: internal
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
TLUiEventSourcetype - [ui] export the
EventsProviderPropstype - [ui] export the
useEventshook
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
onEventtoonUiEvent
[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)
- Allow leading whitespace
[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.clipboardItemis enabled
Rework the assets package for strategy-specific imports (#1341)
- [dev] If you're using the
@tldraw/assetspackage, you need to update your code toimport { getAssetUrlsByImport } from '@tldraw/assets/imports'instead ofimport { getBundlerAssetUrls } from '@tldraw/assets
💥 Breaking Change
- [minor] Mark tlsync-client internal APIs #1481 (@steveruizok)
@tldraw/editor,@tldraw/file-format,@tldraw/store- [tweak] migrate store snapshot arguments #1659 (@steveruizok)
@tldraw/editor,@tldraw/file-format,@tldraw/store,@tldraw/tlschema- [improvement] store snapshot types #1657 (@steveruizok)
- Rename tlstore to store #1507 (@steveruizok)
@tldraw/editor,@tldraw/ui- [fix] react component runaways, error boundaries #1625 (@steveruizok)
- Tidy up #1600 (@steveruizok)
- Use unpkg as a default for serving assets. #1548 (@MitjaBezensek)
- Switch to new collaborators component #1405 (@ds300)
- [improvement] Ui events followup #1354 (@steveruizok)
- [feature] ui events #1326 (@orangemug @steveruizok)
@tldraw/editor,@tldraw/file-format,@tldraw/tldraw,@tldraw/tlschemaShapeUtilrefactor,Editorcleanup #1611 (@steveruizok)- [refactor] restore createTLSchema #1444 (@steveruizok)
@tldraw/editor- Remove on drop override #1612 (@steveruizok)
- Rename
ShapeUtil.render->ShapeUtil.component#1609 (@steveruizok) - [fix] camera culling #1602 (@steveruizok)
- remove
ShapeUtil.transform#1590 (@steveruizok) - remove
ShapeUtil.point#1591 (@steveruizok) - remove url state, to private #1402 (@steveruizok)
@tldraw/editor,@tldraw/tldraw,@tldraw/ui- tldraw.css #1607 (@steveruizok)
@tldraw/editor,@tldraw/file-format,@tldraw/tlschema,@tldraw/ui,@tldraw/utils,@tldraw/validate- Styles API #1580 (@SomeHats @steveruizok)
@tldraw/editor,@tldraw/file-format,@tldraw/tldraw,@tldraw/tlschema,@tldraw/utils,@tldraw/validate@tldraw/editor,@tldraw/file-format,@tldraw/tldraw,@tldraw/uiExternalContentManagerfor handling external content (files, images, etc) #1550 (@steveruizok)
@tldraw/editor,@tldraw/tlschema,@tldraw/ui- hoist opacity out of props #1526 (@SomeHats)
- Add support for project names #1340 (@TodePond @steveruizok)
- [refactor] Remove
TLShapeDef,getShapeUtilByType. #1432 (@steveruizok @SomeHats) - [fix] Don't synchronize isReadOnly #1396 (@ds300)
@tldraw/editor,@tldraw/file-format,@tldraw/store,@tldraw/tlschema,@tldraw/ui- Independent instance state persistence #1493 (@ds300)
- tlschema cleanup #1509 (@steveruizok)
@tldraw/editor,@tldraw/file-format,@tldraw/ui- Renaming types, shape utils, tools #1513 (@steveruizok)
@tldraw/editor,@tldraw/file-format,@tldraw/tlschema,@tldraw/validate- Rename tlvalidate to validate #1508 (@steveruizok)
@tldraw/file-format,@tldraw/tlschema,@tldraw/ui- Cleanup @tldraw/ui types / exports #1504 (@steveruizok)
@tldraw/editor,@tldraw/file-format,@tldraw/indices,@tldraw/tldraw,@tldraw/ui- rename app to editor #1503 (@steveruizok)
@tldraw/editor,@tldraw/file-format,@tldraw/tldraw,@tldraw/tlschema,@tldraw/ui- [refactor] User-facing APIs #1478 (@steveruizok)
- [chore] refactor user preferences #1435 (@ds300)
@tldraw/editor,@tldraw/file-format,@tldraw/tlschema,@tldraw/ui- [refactor] update record names #1473 (@steveruizok)
@tldraw/editor,@tldraw/tlschema- [refactor] remove
createTLSchema#1440 (@steveruizok) - [refactor] record migrations #1430 (@steveruizok)
- [chore] Bump nanoid #1349 (@ds300)
- [refactor] remove
@tldraw/editor,@tldraw/indices,@tldraw/utils- Create @tldraw/indices package #1426 (@steveruizok)
@tldraw/ui- [improvement] rename onEvent to onUiEvent #1358 (@steveruizok)
@tldraw/assets,@tldraw/tlschema
🚀 Enhancement
- [feature] Easier store persistence API + persistence example #1480 (@steveruizok)
@tldraw/editor,@tldraw/tlschema,@tldraw/ui- Styles API follow-ups #1636 (@SomeHats @steveruizok)
- (1/2) Cursor Chat - Presence #1487 (@TodePond @steveruizok)
@tldraw/editor- Make resizeBox a regular function #1610 (@steveruizok)
- [improvement] set horizontal position using text alignment #1419 (@steveruizok)
- [fix] pointer location not updating when moving over editing shape #1378 (@steveruizok)
@tldraw/editor,@tldraw/tlschema- [fix] yjs presence #1603 (@steveruizok)
- (1/2) Timeout collaborator cursors #1525 (@TodePond @steveruizok)
- [feature] add vertical align to note shape #1539 (@steveruizok)
@tldraw/editor,@tldraw/file-format- Add optional generic to
updateShapes/createShapes#1579 (@steveruizok) - move v1 migration code into file-format #1499 (@steveruizok)
- Add optional generic to
@tldraw/editor,@tldraw/ui- Add support for locking shapes #1447 (@MitjaBezensek @steveruizok)
- [feature] reduce motion #1485 (@steveruizok)
- [mini-feature] Following indicator #1468 (@steveruizok)
- Add SVG cursors for all cursor types #1416 (@TodePond @steveruizok)
- [improvement] refactor paste to support multi-line text #1398 (@steveruizok)
@tldraw/assets,@tldraw/editor,@tldraw/ui- [3/3] Highlighter styling #1490 (@SomeHats @steveruizok)
@tldraw/editor,@tldraw/primitives@tldraw/assets,@tldraw/editor,@tldraw/tlschema,@tldraw/ui- [1/3] initial highlighter shape/tool #1401 (@SomeHats)
- [feature] add laser pointer #1412 (@steveruizok)
- Vertical text alignment for geo shapes #1414 (@MitjaBezensek @steveruizok)
@tldraw/ui- [feature] Add checkbox to toolbar #1423 (@steveruizok)
- Add stuff for new 'share project' flow #1403 (@ds300)
- Snapshot link menu translations #1399 (@steveruizok)
@tldraw/assets,@tldraw/ui- open menus refactor #1400 (@steveruizok)
🐛 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
envand 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- Fix crash when rotating a deleted shape #1658 (@TodePond)
- [fix] pen mode touches #1655 (@steveruizok)
- Fix text shapes not having colour #1649 (@TodePond)
- Fix SVG cursors not being used #1639 (@TodePond)
- [fix] tldraw file drop #1616 (@steveruizok)
- Make sure loading screens use dark mode user preference. #1552 (@MitjaBezensek @steveruizok)
- [fix] Remove group shape export backgrounds #1587 (@steveruizok)
- Move the loading of assets to the TldrawEditorWithReadyStore so that all code paths load the assets. #1561 (@MitjaBezensek)
- shapes folder, move tools into shape defs #1574 (@SomeHats)
- offset drop point by editor client rect #1564 (@BrianHung)
- More misc sync fixes #1559 (@ds300)
- Misc sync fixes #1555 (@ds300)
- [fix] Shift key code / nudge #1537 (@steveruizok)
- scale exported canvases when they reach the browsers max size #1536 (@SomeHats)
- [fix] control click on mac #1535 (@steveruizok)
- Fix being able to undo following #1531 (@TodePond)
- send user prefs data in broadcast msg #1466 (@ds300)
- Fix positioning of default cursor #1458 (@TodePond)
- change pointer cursor to white #1454 (@TodePond)
- Fix cursor shadow getting clipped #1441 (@TodePond)
- Fix new wobble #1431 (@TodePond)
- [fix] laser pointer #1429 (@steveruizok)
- [fix] reorder handles in front of selection #1420 (@steveruizok)
- [firefox] Fix the pointer getting stuck down when you press the control key #1390 (@TodePond)
- fix viewport following #1411 (@ds300)
- fix pasted tabs not getting converted to space #1388 (@TodePond)
- Delete an empty text shape when clicking on another text shape. #1384 (@MitjaBezensek)
- Fix setting the grid mode. #1386 (@MitjaBezensek)
- Fix selection foreground being misaligned #1380 (@TodePond @steveruizok)
- Expand selection outline for single-selected draw shape #1379 (@SomeHats)
- [fix] Allow interactions with embeds in readonly mode #1333 (@MitjaBezensek)
- [perf] deleteShapes #1373 (@ds300)
- fix a couple of consistency assumptions #1365 (@ds300)
- [fix] various text #1350 (@steveruizok)
- [fix] tabs in text exports #1323 (@steveruizok)
- [fix] update useTransform.ts #1327 (@steveruizok)
- [improvement] dragging start distance on coarse pointer #1220 (@steveruizok)
- [fix] SVG export for arrows with labels but no arrowheads #1229 (@steveruizok)
- add docs for TLShapeUtil #1215 (@TodePond)
- [fix] publish #1222 (@ds300)
- [fix] typo in isFocusingInput #1221 (@ds300)
- [feat] new LiveCollaborators behind feature flag #1219 (@ds300)
- [fix] collaborator render order #1213 (@steveruizok)
@tldraw/editor,@tldraw/ui- 3/2 Cursor chat #1623 (@steveruizok)
- [fix] embeds #1578 (@steveruizok)
- highlighter fixes #1530 (@SomeHats)
- Feature flags rework #1474 (@SomeHats)
- remove svg layer, html all the things, rs to tl #1227 (@TodePond @steveruizok)
- Added
pHYsto import/export of png images #1200 (@orangemug @steveruizok)
@tldraw/tldraw- [fix] tldraw api report #1615 (@steveruizok)
- Fix to not ignore the
userIdoption for<Tldraw/>component in@tldraw/tldraw#1205 (@orangemug)
@tldraw/editor,@tldraw/primitives- [refactor] snapping #1589 (@steveruizok)
- Fix arrows with weird bends crashing #1540 (@TodePond)
- ensure that fixed points stay fixed #1523 (@steveruizok)
- Use
strokePathDatafor<ShapeFill/>path to avoid bugs in the inner path algo #1207 (@orangemug @steveruizok)
@tldraw/editor,@tldraw/tlschema- update exports for user presence #1583 (@steveruizok)
- [improvement] Embed shape cleanup #1569 (@steveruizok)
- Add migration for horizontal alignment #1443 (@MitjaBezensek @steveruizok)
- [chore] move schema construction to tlschema package #1334 (@ds300)
@tldraw/assets,@tldraw/editor,@tldraw/ui,@tldraw/utils- Asset improvements #1557 (@MitjaBezensek)
@tldraw/ui- Use
"Toggle locked"#1538 (@steveruizok) - Select locked shapes on long press #1529 (@steveruizok)
- remove safari special-casing for paste #1470 (@SomeHats)
- Don't allow
gkeyboard shortcut in readonly mode, show laser tool in the toolbar #1459 (@MitjaBezensek @steveruizok) - Fix people menu button border on android #1471 (@TodePond)
- [fix] lock option for laser tool #1460 (@steveruizok)
- Add laser keyboard shortcut. #1467 (@MitjaBezensek)
- [fix] make follow icon visible on iPad #1462 (@steveruizok)
- [fix] page item submenu #1461 (@steveruizok)
- Add translations for "Leave shared project" action #1394 (@TodePond @steveruizok)
- [fix] page menu, drag handle css #1406 (@steveruizok)
- Don't allow the users to use keyboard shortcuts to select tools in readonly mode. #1382 (@MitjaBezensek)
- Disabling middle click paste in favour of panning #1335 (@orangemug @steveruizok)
- Export Events stuff #1360 (@steveruizok)
- Fix "copy as png" in firefox when
dom.events.asyncClipboard.clipboardItemis enabled #1342 (@orangemug) - [tiny] rename show menu paste #1332 (@steveruizok)
- update @radix-ui/react-popover to 1.0.6-rc.5 #1206 (@SomeHats)
- Use
@tldraw/file-format- Filter out unused assets. #1502 (@MitjaBezensek)
@tldraw/editor,@tldraw/file-format,@tldraw/tlschema,@tldraw/ui,@tldraw/utils- Stricter ID types #1439 (@SomeHats @steveruizok)
@tldraw/editor,@tldraw/primitives,@tldraw/ui@tldraw/tlschema@tldraw/editor,@tldraw/utils@tldraw/assets,@tldraw/editor,@tldraw/tlschema,@tldraw/ui- [feature]
check-boxgeo shape #1330 (@steveruizok)
- [feature]
@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- readmes #1195 (@steveruizok)
@tldraw/assets,@tldraw/editor,@tldraw/file-format,@tldraw/polyfills,@tldraw/primitives,@tldraw/tldraw,@tldraw/tlschema,@tldraw/ui,@tldraw/utils@tldraw/tlschema,@tldraw/ui- [fix] pick a better default language #1201 (@steveruizok @TodePond)
@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- update lazyrepo (@ds300)
🏠 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 09c3678 & 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- Explicit shape type checks #1594 (@steveruizok)
- [improvement] bookmark shape logic #1568 (@steveruizok)
- Simplify static cursors #1520 (@steveruizok)
@tldraw/ui- move some kbds into actions and tools #1585 (@BrianHung @steveruizok)
- Add localizations for snapshots links #1347 (@MitjaBezensek)
@tldraw/editor- use the right TLEventHandlers #1486 (@judicaelandria @steveruizok)
- yjs example #1560 (@steveruizok)
- rename app folder to editor #1528 (@steveruizok)
- [fix] overlay rendering issues #1389 (@steveruizok)
- Remove commented code in App #1377 (@steveruizok)
- enable eslint for test files #1363 (@SomeHats)
@tldraw/tlschema- restore styles sets exports #1512 (@steveruizok)
@tldraw/primitives- replace console.log with nicelog #1496 (@steveruizok)
@tldraw/editor,@tldraw/indices,@tldraw/primitives,@tldraw/tldraw,@tldraw/ui- [chore] remove benchmark #1489 (@steveruizok)
@tldraw/editor,@tldraw/tlschema- [tiny] add isPageId #1482 (@steveruizok)
@tldraw/editor,@tldraw/file-format,@tldraw/polyfills,@tldraw/primitives,@tldraw/tldraw,@tldraw/tlschema,@tldraw/ui,@tldraw/utils
📝 Documentation
- [fix] remove docs scripts #1651 (@steveruizok)
- (2/2) [docs] Fix links to API. #1654 (@TodePond)
- (1/2) [docs] Restore some missing changes #1652 (@TodePond)
- [docs] Remove embeds page #1653 (@TodePond)
- docs: remove not accepting contributions notice #1647 (@gabrielchl)
- [docs] Add table of contents to Editor page #1642 (@TodePond @steveruizok)
- remove docs (again) #1643 (@steveruizok)
- [1/2] Move docs to brivate #1640 (@steveruizok)
- [docs] Allow sidebar to be scrolled on short screens #1632 (@TodePond)
- [docs] Add feedback when you search #1633 (@TodePond)
- [docs] Separate some pages out of the Docs section #1626 (@TodePond)
- [docs] Fix wrong cursor when hovering buttons #1630 (@TodePond)
- [docs] Tighten up wording & structure of Usage page #1624 (@TodePond @steveruizok)
- [docs] Tighten up Editor page introduction #1622 (@TodePond)
- [docs] Tighten up Introduction page #1621 (@TodePond @steveruizok)
- [docs] Simplify paths for uncategorised pages #1619 (@TodePond)
- Auto content refresh for docs site #1606 (@steveruizok)
- Remove
@tldraw/utilsfrom the docs site #1596 (@TodePond) - [docs] Add barebones note about translations #1593 (@TodePond @steveruizok)
- Change app to editor in docs #1592 (@TodePond)
- add presence to yjs example #1582 (@steveruizok)
- fix: properly remove awareness from store #1565 (@shahriar-shojib @steveruizok)
- Add anchor targets to our headings. #1571 (@MitjaBezensek)
- Fix README typo #1451 (@fossinating @steveruizok)
- Update examples links to point to examples folder. #1522 (@steveruizok)
- Update docs links + guides + build #1422 (@TodePond)
- Update codesandbox + example link #1368 (@TodePond)
@tldraw/editor- [improvement] custom shapes example #1660 (@steveruizok)
- Add tsdocs to Editor methods #1581 (@TodePond @steveruizok)
- [Docs] Change some editor properties to methods #1553 (@TodePond)
- [Docs] Change some internal methods to public #1554 (@TodePond)
@tldraw/editor,@tldraw/tlschema- Styles API docs #1641 (@SomeHats @steveruizok)
@tldraw/tlschema- TLSchema readme #1506 (@steveruizok)
🧪 Tests
- speed up playwright and add visual regression tests #1638 (@SomeHats @huppy-bot[bot])
- Disable nightly/on-demand webdriver scripts #1366 (@orangemug)
- Adds CI for webdriver tests #1343 (@orangemug)
- Added initial webdriver tests #1337 (@orangemug)
@tldraw/editor- update editor tests #1547 (@steveruizok)
- Add DSL to make writing shape-layout test cases much easier #1413 (@SomeHats)
@tldraw/editor,@tldraw/ui- Add playwright tests #1484 (@steveruizok)
🔩 Dependency Updates
- [chore] update wdio-vscode-service #1346 (@ds300)
@tldraw/editor,@tldraw/state,@tldraw/store,@tldraw/tlschema,@tldraw/ui- Incorporate signia as @tldraw/state #1620 (@steveruizok @ds300)
@tldraw/assets,@tldraw/editor,@tldraw/polyfills,@tldraw/tldraw,@tldraw/ui- Revert "Update dependencies (#1613)" #1617 (@SomeHats)
- Update dependencies #1613 (@steveruizok)
@tldraw/editor
Authors: 13
- @huppy-bot[bot]
- alex (@SomeHats)
- Brian Hung (@BrianHung)
- David (@fossinating)
- David Sheldrick (@ds300)
- Gabriel Lee (@gabrielchl)
- Judicael (@judicaelandria)
- Lu Wilson (@TodePond)
- Mitja Bezenšek (@MitjaBezensek)
- Mohammad Kazemi (@mokazemi)
- Orange Mug (@orangemug)
- Shahriar Shojib (@shahriar-shojib)
- Steve Ruiz (@steveruizok)