Tldraw/CHANGELOG.md

69 KiB

v2.0.0-alpha.14 (Tue Jul 04 2023)

Release Notes

Disable styles panel button on mobile when using the laser tool. (#1704)

  • Disable the styles panel button for laser tool on mobile.

remove lock option from highlighter (#1703)

  • We no longer show the tool lock option for highlighter - it didn't do anything anyway

[fix] penmode (#1698)

  • [fix] pen mode

Update readme (#1686)

  • Documentation: Updated readme to reflect recent library changes.

[docs] Fix the types in the Shapes example (#1681)

  • Documentation: Fix some incorrect types on the Shapes page.

[improvement] More nuanced cursor state (#1682)

  • Improve cursor timeouts and hiding logic.

Fix VS Code commits failing on bublic? (#1680)

  • [internal] fixed commits failing from bublic when using UI

[fix] Lock shortcut (#1677)

  • [@tldraw/editor] Fix lock tool shortcut

[fix] comma keyboard shortcuts (#1675)

  • [@tldraw/editor] Bug fixes on document events.

[improvement] add box sizing border box (#1674)

  • [@tldraw/editor] Add box-sizing: border-box to tl-container

[improvemnet] drop crc, Buffer dependency (#1673)

  • [@tldraw/editor] Remove peer dependency on buffer.

[improvement] export scribble manager (#1671)

  • [@tldraw/tldraw] Export ScribbleManager

[feature] add meta property to records (#1627)

  • todo

[fix] mutating snapshot in migrateStoreSnapshot (#1663)

  • [@tldraw/store] Fixed a bug that would cause Store.migrateStoreSnapshot to mutate its snapshot argument.

🚀 Enhancement

  • @tldraw/editor
  • @tldraw/editor, @tldraw/file-format, @tldraw/tlschema, @tldraw/ui, @tldraw/utils, @tldraw/validate

🐛 Bug Fix

🏠 Internal

📝 Documentation

Authors: 5


v2.0.0-alpha.13 (Wed Jun 28 2023)

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.
  • 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 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)

  • None

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)

  • 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 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)

  • [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 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.
  • [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)

  • Fix grid mode toggle.
  • [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 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 TLUiEventSource type
  • [ui] export the EventsProviderProps type
  • [ui] export the useEvents hook
  • 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 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.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

🚀 Enhancement

🐛 Bug Fix

⚠️ 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

📝 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