Tldraw/CHANGELOG.md

152 KiB

v2.0.0-beta.1 (Wed Dec 20 2023)

Release Notes

add speech bubble example (#2362)

  • Add an example for making a custom shape with handles, this one is a speech bubble with a movable tail.

Fix clicking off the context menu (#2355)

  • Fix not being able to close the context menu by clicking on the UI or your selected shape.

fix read only page menu (#2356)

  • Add a brief release note for your PR here.

refactor: Keep hook function convention the same (#2358)

  • Add a brief release note for your PR here.

focus on container before deleting to avoid losing focus (#2354)

  • Prevents losing focus when clicking the trash button

Stop shape text labels being hoverable when context menu is open (#2352)

  • Add a brief release note for your PR here.

Use custom font (#2343)

  • Add a brief release note for your PR here.

Only allow side resizing when we have some shapes that are not aspect ratio locked (#2347)

  • Don't allow edges resizing on mobile. The only exception is a single text shape.

Fix iconleft padding (#2345)

  • Fixes the icon padding in back to content / pen mode buttons.

[bug] Fix for issue #2329 (#2330)

  • Fix for Matrix2d.Scale function

Allow dragging on top of locked shapes. (#2337)

  • Allow translating of shapes on top of a locked shape by clicking inside of selection and moving the mouse.

Remove deprecated getters (#2333)

  • (Breaking) Removed deprecated getters.

Lokalise: Translations update (#2342)

Added Czech translations. Updated translations for German, Korean, Russian, Ukrainian, Traditional Chinese.

Prevent diff mutation (#2336)

  • Fix squashRecordDiffs to prevent a bug where it mutates the 'updated' entires

Fix indicator radius for bookmarks. (#2335)

  • Fix the indicator for the bookmark shape. The radius now matches the shape's radius.

Start scrolling if we are dragging close to the window edges. (#2299)

  • Adds the logic to change the camera position when you get close to the edges of the window. This allows you to drag, resize, brush select past the edges of the current viewport.

Fix downscaling (#2325)

  • Decrease the size of uploaded assets.

Use a global singleton for tlstate (#2322)

  • Make a global singleton for tlstate.

VS Code 2.0.19 (#2324)

  • Version bump for VS Code.

💥 Breaking Change

  • @tldraw/assets, @tldraw/editor, @tldraw/state, @tldraw/store, @tldraw/tldraw, @tldraw/tlschema, @tldraw/utils, @tldraw/validate
  • @tldraw/assets, @tldraw/tldraw
  • @tldraw/editor, @tldraw/state

🚀 Enhancement

🐛 Bug Fix

🏠 Internal

  • @tldraw/editor

Authors: 9


v2.0.0-alpha.19 (Tue Dec 12 2023)

Release Notes

zoom to affected shapes after undo/redo (#2293)

  • Make sure affected shapes are visible after undo/redo

Fix hmr. (#2303)

  • Fixes HMR in local dev.

Fix migrations. (#2302)

  • Fix migrations of instance_page_state.

Add fit to content for frames. (#2275)

  • Add Fit to content option to the context menu for frames. This resizes the frames to correctly fit all their content.

Fix an issue with a stale editor reference in shape utils (#2295)

  • Fix an issue where the shape utils could have a stale reference to the editor.

fix new page naming (#2292)

  • Fix naming of pages created by the "move to page" action

Fix exporting of cropped images. (#2268)

  • Fix exporting of cropped images.

Update the comment in the example. (#2272)

  • Improve the comment for one of our examples.

[improvements] arrows x enclosing shapes x precision. (#2265)

  • Improves the logic about when to draw "precise" arrows between the center of bound shapes.

fix vite HMR issue (#2279)

  • Fixes a bug that could cause crashes due to a re-render loop with HMR #1989

Add connecting screen override. (#2273)

  • Allow users to customize the connecting screen.

Removing frames and adding elements to frames (#2219)

  • Allow users to remove the frame, but keep it's children. Allow the users to add shapes to the frame directly when creating a frame.

fix typo in useFixSafariDoubleTapZoomPencilEvents.ts (#2242)

  • Add a brief release note for your PR here.

improves translation into pt-br (#2231)

  • Improves the overall translation into Portuguese (pt-br).

Fixes #2246 Sublibraries example (ExplodedExample.tsx) (#2247)

  • Fixed Sublibraries (Exploded) example

Fix missing padding-right in toast (#2251)

  • Fox padding-right in toast content.

Fix "custom UI" example (#2253)

  • Fixed double rendering of canvas in the "custom UI" example

Lokalise: Translations update (#2248)

  • Update Romanian translations.

Also export TLUiEventMap (#2234)

  • Export TLUiEventMap type.

Fix the tool lock button. (#2225)

  • Adds the missing tool lock button.

Custom Tools DX + screenshot example (#2198)

  • adds ScreenshotTool custom tool example
  • improvements and new exports related to copying and exporting images / files
  • loosens up types around icons and translations
  • moving StateNode.isActive into an atom
  • adding Editor.path

StateNode atoms (#2213)

  • adds computed StateNode.getPath
  • adds computed StateNode.getCurrent`
  • adds computed StateNode.getIsActive`
  • adds computed Editor.getPath()
  • makes transition's second property optional

VS Code bump 2.0.17 (#2217)

  • VS code extension 2.0.17.

don't overwrite bookmark position if it changed before metadata arrives (#2215)

  • Fixes issue when creating new bookmark shape where the position would be reset if you moved it before the bookmark metadata was fetched.

Add prettier caching (#2212)

  • Speed up formatting of files via yarn format.

Update translations from community submissions (#2201)

  • Updated translations for Spanish, Japanese, Romanian, Russian, Ukrainian, and Simplified Chinese.

[fix] huge images, use downscale for image scaling (#2207)

  • Improved image rescaling.

Revert back to the previous color. (#2210)

  • Fixes the color of culled shapes when using dark mode.

Fix an issue with not being able to group a shape an an arrow. (#2205)

  • Add a brief release note for your PR here.

Japanese translations. (update) (#2199)

  • Updated Japanese translations.

feat: add new prop to force mobile mode layout (#1734)

  • add new prop to force mobile mode layout

[fix] masked bounds calculation (#2197)

  • Fix bug with getmaskedpagebounds calculation for identical parent / child sizes

💥 Breaking Change

  • @tldraw/editor, @tldraw/state, @tldraw/store, @tldraw/tldraw, @tldraw/tlschema

🚀 Enhancement

🐛 Bug Fix

🏠 Internal

📝 Documentation

🧪 Tests

Authors: 13


v2.0.0-alpha.18 (Fri Nov 10 2023)

Release Notes

Fix an error when using context menu. (#2186)

  • Fixes the console error when opening the context menu for the first time.

[fix] actions menu freezing ui (#2187)

  • Fix actions menu not closing when clicking the canvas after grouping items via the actions menu.
  • Fixes an issue with using the Edit link dialog.

add missing semicolon (#2182)

  • Fix typo in CSS file

Only use the hack if we are in safari. (#2185)

  • Improve the speed of exporting to png for non Safari browsers.

Fix keyboard shortcuts for vscode. (#2181)

  • Fixes keyboard shortcuts for VS Code extension.

Fix printing. (#2177)

  • Fixes printing of shapes.

[fix] Frame label not following staying aligned correctly on rotation (#2172)

  • Frame labels immediately update their position on rotation.

Don't show scrollbars. (#2171)

  • Hide the horizontal scrollbar in the vertical alignment for Firefox.

instant bookmarks (#2176)

  • Improves ux around pasting bookmarks

Fix arrow dropdown localizations. (#2174)

  • Fix arrow headstyle dropdown translations.

Fix crash with zero length arrow (#2173)

  • Fix a hyper niche arrow crash with zero length arrows.

Allow users to select shapes when drag starts on top of a locked shape. (#2169)

  • Allows brush selecting when you start it on top of a locked shape.

Fix the problem with text not being correctly aligned in small geo shapes. (#2168)

  • Fixes position of Text labels in geo shapes.

Zooming improvement (#2149)

  • Improves zooming for inactive windows.

[feature] Things on the canvas (#2150)

  • [editor] Adds two new components, OnTheCanvas and InFrontOfTheCanvas.

Bump vs code extension. (#2142)

  • Release a new version of VS Code extension with all the latest changes.

Fix cleanupText (#2138)

  • Fixes a minor bug where cleaning up text would fail.
  • Fixed a bug where labels and links could lose alignment on android.

[feature] multi-scribbles (#2125)

  • [feature] multi scribbles

Tighten up editor ui (#2102)

  • Small adjustment to editor ui.

Remove indicator for autosize text shapes while editing (#2120)

  • Removed the indicator from autosize text shapes.

Taha/initial shape in handle change (#2117)

  • Add a brief release note for your PR here.

Fix an issue with addEventListener in old Safari (pre v14) (#2114)

  • Fixes an issue with addEventListener on MediaQueryList object in old versions of Safari.

fix selection fg transform (#2113)

  • Fixes a small issue causing the selection foreground to be offset when the browser is at particular zoom levels.

Remove (optional) from jsdocs (#2109)

  • dev: Removed duplicate/inconsistent (optional)s from docs

[fix] mobile style panel switching open / closed (#2101)

  • Fix bug with style panel

🚀 Enhancement

🐛 Bug Fix

🏠 Internal

  • @tldraw/assets, @tldraw/editor, @tldraw/state, @tldraw/store, @tldraw/tldraw, @tldraw/tlschema, @tldraw/utils, @tldraw/validate
    • Revert "bump prerelease from alpha to beta" #2192 (@ds300)
    • bump prerelease from alpha to beta #2148 (@ds300)
  • @tldraw/editor, @tldraw/tldraw

📝 Documentation

Authors: 5


v2.0.0-alpha.17 (Tue Oct 17 2023)

Release Notes

Firefox, Touch: Fix not being able to open style dropdowns (#2092)

  • Firefox Mobile: Fixed a bug where you couldn't open some style dropdown options.

Add timestamp to file names (#2096)

  • Add timestamp to exported image file names

[fix] Context menu + menus not closing correctly (#2086)

  • [fix] bug with menus

Fix not being able to upload massive images (#2095)

  • Fixed big images being too big to get added to the canvas.

fix cropped image size (#2097)

  • Fixes a rendering issue where cropped images were sometimes bleeding outside their bounds.

Add offline indicator (also to top zone example) (#2083)

  • [@tldraw/tldraw] add offline indicator to ui components

[fix] missing border on group shape when unlocked (#2075)

  • Fix case where indicator was not shown when unlocking groups

[fix] reparenting locked shapes (#2070)

  • Fix a bug where grouped locked shapes would be deleted when ungrouped.

[fix] Don't select locked shapes on pointer up (#2069)

  • Fix bug where locked shape could be selected by clicking on its label

[fix] locked shape of opacity problem with eraser.pointing (#2073)

  • locked shape of opacity problem with eraser.pointing Before/after: A B

🚀 Enhancement

  • @tldraw/assets, @tldraw/tldraw
  • @tldraw/tldraw
  • @tldraw/tldraw, @tldraw/tlschema

🐛 Bug Fix

🏠 Internal

🧪 Tests

🔩 Dependency Updates

  • @tldraw/editor, @tldraw/store, @tldraw/tlschema

Authors: 9


v2.0.0-alpha.16 (Wed Oct 11 2023)

Release Notes

Fix shape opacity when erasing (#2055)

  • Fixes opacity of shapes while erasing in a group or frame.

[fix] Hit testing against zero width / height lines (#2060)

  • [fix] Bug where arrows would not bind to straight lines

Fix opacity lowering on shapes that cannot be deleted (#2061)

  • Locked shapes don't change opacity when scribble erasing.

Before/after:

fix: proper label for opacity tooltip on hover (#2044)

  • Add a brief release note for your PR here.

Fix alt + shift keyboard shortcuts (#2053)

  • Fixes keyboard shortcuts that use alt and shift modifiers.

[improvement] Scope getShapeAtPoint to rendering shapes only (#2043)

  • Improve perf for hovering shapes / shape hit tests

Remove topBar prop from (#2018)

  • [BREAKING] removed topBar prop

🚀 Enhancement

  • @tldraw/editor, @tldraw/tldraw
  • @tldraw/tldraw, @tldraw/tlschema
  • @tldraw/editor, @tldraw/tlschema
    • prevent hover indicator from showing when pointer isn't over the canvas #2023 (@SomeHats)
  • @tldraw/tldraw

🐛 Bug Fix

🏠 Internal

🧪 Tests

Authors: 7


v2.0.0-alpha.15 (Fri Oct 06 2023)

Release Notes

frame label fix (#2016)

  • Add a brief release note for your PR here.

fix cloud rendering (#2008)

  • Improves cloud shape rendering

[improvement] prevent editing in readonly (#1990)

  • Prevent editing text shapes in readonly mode.

[fix] Hovered indicators shown when coarse pointer (#1985)

  • Hide hovered indicators on mobile / coarse pointer devices.

fix(docs): update shapes docs add the array of defined shapes (#1949)

This pr add the custom defined shapes that's being passed to Tldraw

Fix style panel opening when disabled (#1983)

  • When select tool is active, the style menu shouldn't be openable unless a shape is also selected.

Before/After

[fix] pinch events (#1979)

  • Improve pinch gesture events.

Fix text-wrapping on Safari (#1980)

  • Fix text wrapping differently on Safari and Chrome/Firefox

Before/After

Remove focus management (#1953)

  • [editor] Make autofocus default, remove automatic blur / focus events.

[fix] Drawing tool touch for first pen mark (#1977)

  • [fix] Accidental palm inputs when using iPad pencil

Remove targeted editing from text (#1962)

  • Fixed some cases where text would get selected in the wrong place.
  • Changed the behaviour of text selection. Removed 'deep editing'.

fix line bugs (#1936)

  • This PR patches a couple of bugs which led to straight draw lines and beziered dash lines not rendering on the canvas

Before & After:

Allow right clicking selection backgrounds (#1968)

  • Improved right click behaviour.

Mark an undo before toggling lock (#1969)

  • Mark an undo before toggling locked.

Stop editing frame headers when clicking inside a frame. (#1955)

  • Stop editing frame headers when clicking inside of a frame.

Lokalise: Translations update (#1964)

  • Updated community translations for German and Galician

[improvement] improve arrows (for real) (#1957)

  • Improve arrows.

[feature] Include sources in TLExternalContent (#1925)

  • [editor / tldraw] add sources to TLExternalContent

[improvement] quick actions (#1922)

  • Improve the menu / kbds behavior when select tool is not active

Fix shape drag perf (#1932)

  • Fixes a perf regression for dragging shapes around

Firefox: Fix dropdowns not opening with touch (#1923)

  • Firefox: Fixed dropdown menus not opening with touch.

Use smarter rounding for shape container div width/height (#1930)

  • Improves the precision of the shape dimensions rounding logic

Fix lines being draggable via their background (#1920)

  • None - unreleased bug

Fix first handle of line snapping to itself (#1912)

  • Fixed a bug where the first handle of a line shape could snap to itself.

[fix] Moving group items inside of a frame (dropping) (#1886)

  • Fix bug: ungroup when moving a shape in a group in a frame.

[fix] id properties of undefined (#1730) (#1919)

  • Fixed a bug similar #1730

♻️ fix: editing is not terminated after the conversion is confirmed. (#1885)

  • fix: editing is not terminated after the conversion is confirmed.

Update community translations (#1889)

  • Updated translations for Russian, Ukrainian, and Simplified Chinese

Fix line wobble (#1915)

  • Fixes an issue where lines would wobble as you dragged the handles around

Fix selecting one shape from selection group (#1905)

  • Fix bug when selecting a single shape from a selection group

Before

https://github.com/tldraw/tldraw/assets/98838967/1412f9c6-d466-42b3-af94-d08cbc1656be

After Kapture 2023-09-18 at 14 15 10

Fix highlighter dots not being clickable (#1903)

  • None - unreleased bug

Fix video shape controls (#1909)

  • Fixes pointer events for editing video shapes.

Fix line handles (#1904)

  • Fixes an issue where line handles were slightly offset from the indicator line.

Fix pinch start with toolbar open (#1895)

  • Fixes a bug that could trigger undo by accident when closing the style toolbar via a pinch gesture on mobile.

[wip] Viewport focus of editing shapes (#1873)

Removed a feature to reset the viewport back to a shape that is being edited.

(Before) Don't be held back by the past Kapture 2023-09-15 at 10 57 29

(After) You are free to find new avenues of exploration Kapture 2023-09-15 at 11 02 36

Migrate snapshot (#1843)

  • [editor] add Store.migrateSnapshot

[fix] zero width / height bounds (#1840)

  • Fix bug with straight lines / arrows

clamp x-box and check-box lines to stay within box at small scales (#1860)

  • Fixes a regression introduced by the geometry refactor related to x-box and checkbox resizing.

Fix paste transform (#1859)

  • Fixes a bug affecting the position of pasted content inside frames.

Fix indicator transform miscalculation (#1852)

  • Fixes indicator transform miscalculation on android and windows

update currentPageShapesSorted reference in docs (#1851)

  • Add a brief release note for your PR here.

[fix] awful rendering issue (#1842)

  • [fix] iframe rendering issue

fix typo (#1831)

  • Just fixed a typo in the docs

[feature] Asset props (#1824)

  • [@tldraw/tldraw] add asset props

[fix] snapping bug (#1819)

  • [fix] crash that could occur when snapping

[fix] editing video shapes (#1821)

  • Fix bug with editing video shapes.

[feature] unlock all action (#1820)

  • Adds the unlock all feature.

[fix] bug with eventemitter3 default export (#1818)

  • [@tldraw/editor] updates eventemitter3 import to fix issue with Astro builds.

Add next cache to clean command (#1811)

  • Internal tooling change

Fix text editing in page menu popover (#1790)

  • (fix) page menu editing

[fix] embeds switching / tldraw embed (#1792)

  • [fix] tldraw embeds

Custom rendering margin / don't cull selected shapes (#1788)

  • [editor] add Editor.renderingBoundsMargin

Camera APIs (#1786)

  • (editor) improve camera commands

environment manager (#1784)

  • [editor] Move environment flags to environment manager

Editor commands API / effects (#1778)

  • tbd

[feature] Add val town embed (#1777)

  • (feature) val town

export UiEventsProvider (#1774)

  • [@tldraw/tldraw] export ui events, so that UI hooks can work without context

remove useForceSolid effect for geo / line shapes (#1769)

  • Remove the force solid switching for geo / line shapes

[fix] shape indicator showing when locked shapes are hovered (#1771)

  • locked shapes do not show an indicator when hovered

remove selectionPageCenter (#1766)

  • [dev] Removes Editor.selectionPageCenter

rename selection page bounds (#1763)

  • [editor] rename selectedPageBounds to selectionPageBounds

ShapeUtil.getGeometry, selection rewrite (#1751)

  • [editor] Remove ShapeUtil.getBounds, ShapeUtil.getOutline, ShapeUtil.hitTestPoint, ShapeUtil.hitTestLineSegment
  • [editor] Add ShapeUtil.getGeometry
  • [editor] Add Editor.getShapeGeometry

Fix asset urls (#1758)

  • Fixed asset urls

[fix] arrow snapping bug (#1756)

  • [fix] arrow snapping

[fix] dark mode (#1754)

  • [fix] dark mode colors not updating

Remove helpers / extraneous API methods. (#1745)

  • [tldraw] rename useReadonly to useReadOnly
  • [editor] remove Editor.isDarkMode
  • [editor] remove Editor.isChangingStyle
  • [editor] remove Editor.isCoarsePointer
  • [editor] remove Editor.isDarkMode
  • [editor] remove Editor.isFocused
  • [editor] remove Editor.isGridMode
  • [editor] remove Editor.isPenMode
  • [editor] remove Editor.isReadOnly
  • [editor] remove Editor.isSnapMode
  • [editor] remove Editor.isToolLocked
  • [editor] remove Editor.locale
  • [editor] rename Editor.pageState to Editor.currentPageState
  • [editor] add Editor.pageStates
  • [editor] add Editor.setErasingIds
  • [editor] add Editor.setEditingId
  • [editor] add several new component overrides

add shapes docs content (#1705)

  • Documentation: Added more info about shapes.

fix: escape eraser tool on escape (#1732)

  • escape eraser tool on escape

fix: arrow label dark mode color (#1733)

  • fixed arrow label dark mode color

tldraw zero - package shuffle (#1710)

  • [@tldraw/editor] lots, wip
  • [@tldraw/ui] gone, merged to tldraw/tldraw
  • [@tldraw/polyfills] gone, merged to tldraw/editor
  • [@tldraw/primitives] gone, merged to tldraw/editor / tldraw/tldraw
  • [@tldraw/indices] gone, merged to tldraw/editor
  • [@tldraw/file-format] gone, merged to tldraw/tldraw

[fix] add cloud tooltip (#1728)

  • Add a brief release note for your PR here.

(2/2) Add content to Tools docs page. (#1721)

  • Tools docs.

tweaks for cloud shape (#1723)

  • Add a brief release note for your PR here.

Add cloud shape (#1708)

  • Adds a cloud shape.

[refactor] reduce dependencies on shape utils in editor (#1693)

  • removes shape utils from the arguments of isShapeOfType, replacing with a generic
  • removes shape utils from the arguments of getShapeUtil, replacing with a generic
  • moves custom arrow info cache out of the util and into the editor class
  • changes the a tool's shapeType to be a string instead of a shape util

Make some missing tsdocs appear on the docs site (#1706)

  • Docs: Fixed some missing docs for the TldrawEditor component.

[hot take] remove tool from shape definition (#1691)

  • [dev] Removed the tool property from defineShape

[refactor] reordering shapes (#1718)

  • [api] removes Editor.getParentsMappedToChildren
  • [api] removes Editor.reorderShapes
  • [api] moves reordering shapes code into its own file, outside of the editor

remove state checks for brush and zoom brush (#1717)

  • [editor] remove editor.isIn state checks for displaying brush and zoom brush.
  • Documentation: Added links to API reference in guides.

Go back to default cursor when done resizing. (#1700)

  • Switch back to the default cursor after you are done inserting a new text shape.

Firefox: Fix coarse pointer issue (#1701)

  • Fixed firefox not being able to use cursor chat when using a touch screen on desktop.

Fix tsdocs for TldrawUi component (#1707)

  • Docs: Show some docs missing from TldrawUi component.

💥 Breaking Change

🚀 Enhancement

🐛 Bug Fix

🏠 Internal

📝 Documentation

🧪 Tests

🔩 Dependency Updates

Authors: 14


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