UNPKG

@tldraw/editor

Version:

A tiny little drawing app (editor).

987 lines (589 loc) โ€ข 230 kB
# v3.11.1 (Thu Apr 03 2025) ### Release Notes #### Alex/3.11.1 ([#5811](https://github.com/tldraw/tldraw/pull/5811)) - Fix the zoomSpeed setting not being correctly applied to pinch gestures - Fix unexpected borders showing in exports from pages that use tailwindcss --- #### ๐Ÿ› Bug Fix - Alex/3.11.1 [#5811](https://github.com/tldraw/tldraw/pull/5811) ([@SomeHats](https://github.com/SomeHats)) #### Authors: 1 - alex ([@SomeHats](https://github.com/SomeHats)) --- # v3.11.0 (Thu Mar 20 2025) ### Release Notes #### rich text: tweak numbered list padding depending on # of items ([#5709](https://github.com/tldraw/tldraw/pull/5709)) - Fix issue with rich text numbered lists escaping geometry bounds #### text: fix editing for React 19/StrictMode ([#5689](https://github.com/tldraw/tldraw/pull/5689)) - Fix developing with StrictMode + React 19 when editing text. #### [Fix] Rich text perf issue ([#5658](https://github.com/tldraw/tldraw/pull/5658)) - Improved performance related to rich text. #### exports: fix Inter being embedded; reduce excessive styling ([#5676](https://github.com/tldraw/tldraw/pull/5676)) - Fix issue with exports embedding Inter and having excessive styling. #### assets: be able to remove assets that are unused ([#5628](https://github.com/tldraw/tldraw/pull/5628)) - Cleanup assets from the local indexedDB that are proactively deleted. #### 5% minimum zoom / zoom-towards-cursor ([#5584](https://github.com/tldraw/tldraw/pull/5584)) - Added a new minimum zoom step at 5% - Added new keyboard shortcuts for zoom in or out towards your cursor (Shift +, Shift -) #### [Fix] indicators hideAll / showAll ([#5654](https://github.com/tldraw/tldraw/pull/5654)) - Improved performance on large projects when hiding / showing shape indicators. - Added `hideAll` and `showAll` props to the `ShapeIndicators` component props #### [Fix] Use adjacent shape margin option in stackShapes, packShapes ([#5656](https://github.com/tldraw/tldraw/pull/5656)) - Adjusts distance for `stackShapes`. #### 'New user' -> 'Guest user' (dotcom only) ([#5614](https://github.com/tldraw/tldraw/pull/5614)) - Add a translation key 'people-menu.anonymous-user' with the default string 'New User' - BREAKING CHANGE: `editor.user.getName()` no longer returns `'New user'` if the user has no name set. Instead it returns the empty string `''`. - BREAKING CHANGE: `defaultUserPreferences.name` is no longer the string `'New user'`, it is now the empty string `''` #### a11y: focus ring ([#5401](https://github.com/tldraw/tldraw/pull/5401)) - a11y: enable focus ring. #### security: provide a way to pass through `nonce` to the editor ([#5607](https://github.com/tldraw/tldraw/pull/5607)) - Provide support to pass through `nonce` to the Editor. --- #### ๐Ÿ› Bug Fix - update export snapshots [#5710](https://github.com/tldraw/tldraw/pull/5710) ([@mimecuvalo](https://github.com/mimecuvalo)) - upgrade yarn to 4.7 [#5687](https://github.com/tldraw/tldraw/pull/5687) ([@SomeHats](https://github.com/SomeHats)) - a11y: focus ring [#5401](https://github.com/tldraw/tldraw/pull/5401) ([@mimecuvalo](https://github.com/mimecuvalo) [@steveruizok](https://github.com/steveruizok)) - Example: create arrow between shapes [#5602](https://github.com/tldraw/tldraw/pull/5602) ([@steveruizok](https://github.com/steveruizok) [@TodePond](https://github.com/TodePond)) #### ๐Ÿ› Bug Fixes - rich text: tweak numbered list padding depending on # of items [#5709](https://github.com/tldraw/tldraw/pull/5709) ([@mimecuvalo](https://github.com/mimecuvalo)) - text: fix editing for React 19/StrictMode [#5689](https://github.com/tldraw/tldraw/pull/5689) ([@mimecuvalo](https://github.com/mimecuvalo) [@SomeHats](https://github.com/SomeHats)) - exports: fix Inter being embedded; reduce excessive styling [#5676](https://github.com/tldraw/tldraw/pull/5676) ([@mimecuvalo](https://github.com/mimecuvalo) [@huppy-bot[bot]](https://github.com/huppy-bot[bot])) - [Fix] indicators hideAll / showAll [#5654](https://github.com/tldraw/tldraw/pull/5654) ([@steveruizok](https://github.com/steveruizok)) #### ๐Ÿ’„ Product Improvements - [Fix] Rich text perf issue [#5658](https://github.com/tldraw/tldraw/pull/5658) ([@steveruizok](https://github.com/steveruizok) [@mimecuvalo](https://github.com/mimecuvalo)) - assets: be able to remove assets that are unused [#5628](https://github.com/tldraw/tldraw/pull/5628) ([@mimecuvalo](https://github.com/mimecuvalo)) - 5% minimum zoom / zoom-towards-cursor [#5584](https://github.com/tldraw/tldraw/pull/5584) ([@steveruizok](https://github.com/steveruizok)) - [Fix] Use adjacent shape margin option in stackShapes, packShapes [#5656](https://github.com/tldraw/tldraw/pull/5656) ([@steveruizok](https://github.com/steveruizok)) - 'New user' -> 'Guest user' (dotcom only) [#5614](https://github.com/tldraw/tldraw/pull/5614) ([@ds300](https://github.com/ds300)) #### ๐ŸŽ‰ New Features - security: provide a way to pass through `nonce` to the editor [#5607](https://github.com/tldraw/tldraw/pull/5607) ([@mimecuvalo](https://github.com/mimecuvalo)) #### Authors: 6 - [@huppy-bot[bot]](https://github.com/huppy-bot[bot]) - alex ([@SomeHats](https://github.com/SomeHats)) - David Sheldrick ([@ds300](https://github.com/ds300)) - Lu Wilson ([@TodePond](https://github.com/TodePond)) - Mime ฤŒuvalo ([@mimecuvalo](https://github.com/mimecuvalo)) - Steve Ruiz ([@steveruizok](https://github.com/steveruizok)) --- # v3.10.0 (Tue Mar 11 2025) ### Release Notes #### export: fix style embedding for foreignObjects in Firefox ([#5593](https://github.com/tldraw/tldraw/pull/5593)) - Fix exports / style embedding for foreignObjects in Firefox #### rich text: fix links getting in the way of some tools and android selection ([#5568](https://github.com/tldraw/tldraw/pull/5568)) - Fix issue with rich text links taking precedence over tools. Also, fix fine-grained selection on Android. #### fix reparentshapes preserve order ([#5565](https://github.com/tldraw/tldraw/pull/5565)) - Modify the reparentShapes() function to ensure that the original order of the shapes is preserved when reparenting. #### media: extract base64 assets from .tldr files ([#5525](https://github.com/tldraw/tldraw/pull/5525)) - Ensure .tldr files with embedded base64 assets get their assets rehydrated back into the local db. #### Make collaboration hooks public ([#5541](https://github.com/tldraw/tldraw/pull/5541)) - Makes `usePeerIds` and `usePresence` public #### remove import from core-js ([#5544](https://github.com/tldraw/tldraw/pull/5544)) - Fixed bug with loading TLDraw in an SSR environment by removing a core-js import https://github.com/tldraw/tldraw/issues/5543 #### [feature] add rich text and contextual toolbar ([#4895](https://github.com/tldraw/tldraw/pull/4895)) - Rich text using ProseMirror as a first-class supported option in the Editor. #### Pass userId to collaboration components ([#5534](https://github.com/tldraw/tldraw/pull/5534)) - Pass `userId` to collaboration components in `LiveCollaborators` --- #### ๐Ÿ› Bug Fix - Add eslint rule for "whilst" [#5587](https://github.com/tldraw/tldraw/pull/5587) ([@steveruizok](https://github.com/steveruizok)) - CTA analytics [#5542](https://github.com/tldraw/tldraw/pull/5542) ([@TodePond](https://github.com/TodePond)) - Pass userId to collaboration components [#5534](https://github.com/tldraw/tldraw/pull/5534) ([@MathieuLoutre](https://github.com/MathieuLoutre)) #### ๐Ÿ› Bug Fixes - export: fix style embedding for foreignObjects in Firefox [#5593](https://github.com/tldraw/tldraw/pull/5593) ([@mimecuvalo](https://github.com/mimecuvalo)) - rich text: fix links getting in the way of some tools and android selection [#5568](https://github.com/tldraw/tldraw/pull/5568) ([@mimecuvalo](https://github.com/mimecuvalo)) - fix reparentshapes preserve order [#5565](https://github.com/tldraw/tldraw/pull/5565) (riley@toonsquare.co) - remove import from core-js [#5544](https://github.com/tldraw/tldraw/pull/5544) ([@bluedot74](https://github.com/bluedot74)) #### ๐Ÿ’„ Product Improvements - media: extract base64 assets from .tldr files [#5525](https://github.com/tldraw/tldraw/pull/5525) ([@mimecuvalo](https://github.com/mimecuvalo)) - Make collaboration hooks public [#5541](https://github.com/tldraw/tldraw/pull/5541) ([@MathieuLoutre](https://github.com/MathieuLoutre)) #### ๐ŸŽ‰ New Features - [feature] add rich text and contextual toolbar [#4895](https://github.com/tldraw/tldraw/pull/4895) ([@mimecuvalo](https://github.com/mimecuvalo) [@huppy-bot[bot]](https://github.com/huppy-bot[bot]) [@SomeHats](https://github.com/SomeHats) [@ds300](https://github.com/ds300) [@steveruizok](https://github.com/steveruizok)) #### Authors: 9 - [@huppy-bot[bot]](https://github.com/huppy-bot[bot]) - alex ([@SomeHats](https://github.com/SomeHats)) - David Sheldrick ([@ds300](https://github.com/ds300)) - Josh Willis ([@bluedot74](https://github.com/bluedot74)) - Lu Wilson ([@TodePond](https://github.com/TodePond)) - Mathieu Triay ([@MathieuLoutre](https://github.com/MathieuLoutre)) - Mime ฤŒuvalo ([@mimecuvalo](https://github.com/mimecuvalo)) - Riley ([@dodo-Riley](https://github.com/dodo-Riley)) - Steve Ruiz ([@steveruizok](https://github.com/steveruizok)) --- # v3.9.0 (Mon Mar 03 2025) ### Release Notes #### Fix issue with duplicating bound arrows. ([#5495](https://github.com/tldraw/tldraw/pull/5495)) - Fix a bug with duplicating bound arrows. #### Add `AtomMap` & refactor store ([#5496](https://github.com/tldraw/tldraw/pull/5496)) - **BREAKING**. `store.createSelectedComputedCache` has been removed. Use `store.createCache` and create your own selector `computed` instead. - **BREAKING**. `createComputerCache` no longer accepts a single `isEqual` fn as its 3rd argument. Instead, pass in an options object, with the `isEqual` fn named `areRecordsEqual`. You can now pass `areResultsEqual`, too. #### [botcom] Fix slow export menu in big files ([#5435](https://github.com/tldraw/tldraw/pull/5435)) - Fixed a bug with export menu performance. #### Improve / fix layout methods: alignment, distribute, flip, stack. ([#5479](https://github.com/tldraw/tldraw/pull/5479)) - Fixes several bugs when aligning / flipping / distributing / stretching / stacking a selection that included with arrows. - Fixed a bug with distribution with overlapping shapes - Fixed a bug with distribution that could lead to changed selection. - Fixed a bug preventing rotated shapes from being stretched. #### Fix text padding, add context to shape geometry ([#5487](https://github.com/tldraw/tldraw/pull/5487)) - Improved horizontal padding for arrows bound to text shapes #### Remove canvas size dependency ([#5488](https://github.com/tldraw/tldraw/pull/5488)) - API: removes canvas-size dependency. #### fix svg image export mime type ([#5427](https://github.com/tldraw/tldraw/pull/5427)) - Fix `<TldrawImage />` not rendering correctly with `format=svg` --- #### ๐Ÿ› Bug Fix - Update discord links [#5500](https://github.com/tldraw/tldraw/pull/5500) ([@SomeHats](https://github.com/SomeHats) [@huppy-bot[bot]](https://github.com/huppy-bot[bot]) [@steveruizok](https://github.com/steveruizok) [@TodePond](https://github.com/TodePond)) - Consider `https://localhost` to be development [#5471](https://github.com/tldraw/tldraw/pull/5471) ([@jamesbvaughan](https://github.com/jamesbvaughan) [@steveruizok](https://github.com/steveruizok)) #### ๐Ÿ› Bug Fixes - Fix issue with duplicating bound arrows. [#5495](https://github.com/tldraw/tldraw/pull/5495) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - [botcom] Fix slow export menu in big files [#5435](https://github.com/tldraw/tldraw/pull/5435) ([@steveruizok](https://github.com/steveruizok)) - Improve / fix layout methods: alignment, distribute, flip, stack. [#5479](https://github.com/tldraw/tldraw/pull/5479) ([@steveruizok](https://github.com/steveruizok)) - fix svg image export mime type [#5427](https://github.com/tldraw/tldraw/pull/5427) ([@SomeHats](https://github.com/SomeHats)) #### ๐Ÿ’„ Product Improvements - Fix text padding, add context to shape geometry [#5487](https://github.com/tldraw/tldraw/pull/5487) ([@steveruizok](https://github.com/steveruizok)) - Remove canvas size dependency [#5488](https://github.com/tldraw/tldraw/pull/5488) ([@steveruizok](https://github.com/steveruizok)) #### ๐Ÿ› ๏ธ API Changes - Add `AtomMap` & refactor store [#5496](https://github.com/tldraw/tldraw/pull/5496) ([@SomeHats](https://github.com/SomeHats)) #### Authors: 6 - [@huppy-bot[bot]](https://github.com/huppy-bot[bot]) - alex ([@SomeHats](https://github.com/SomeHats)) - James Vaughan ([@jamesbvaughan](https://github.com/jamesbvaughan)) - Lu Wilson ([@TodePond](https://github.com/TodePond)) - Mitja Bezenลกek ([@MitjaBezensek](https://github.com/MitjaBezensek)) - Steve Ruiz ([@steveruizok](https://github.com/steveruizok)) --- # v3.8.1 (Thu Feb 13 2025) ### Release Notes #### 3.8.1 ([#5429](https://github.com/tldraw/tldraw/pull/5429)) - Fix `TldrawImage` not working with `format=png` --- #### ๐Ÿ› Bug Fix - 3.8.1 [#5429](https://github.com/tldraw/tldraw/pull/5429) ([@SomeHats](https://github.com/SomeHats)) #### Authors: 1 - alex ([@SomeHats](https://github.com/SomeHats)) --- # v3.8.0 (Wed Feb 12 2025) ### Release Notes #### support dragging urls onto the canvas ([#5411](https://github.com/tldraw/tldraw/pull/5411)) - Dragging and dropping URLs onto the canvas is now supported (and creates a bookmark by default) #### Add tldraw and excalidraw to external content types ([#5402](https://github.com/tldraw/tldraw/pull/5402)) - You can now customize how pasted tldraw and excalidraw content is handled with `registerExternalContentHandler`. #### ShapeUtil.configure for shape options ([#5399](https://github.com/tldraw/tldraw/pull/5399)) - introduces shape options & `ShapeUtil.configure`, a utility for passing options to a shape util - moves (unreleased) noteShapeResizeMode to NoteShapeOptions.resizeMode - If you pass tldraw a shape util with the same type as a default, it'll now replace the default rather than crash - **BREAKING** `options.maxDrawShapePoints` should now be specified with `DrawShapeUtil.configure({maxPoints})` and `HighlightShapeUtil.configure({maxPoints})` #### Shape options ([#5349](https://github.com/tldraw/tldraw/pull/5349)) - introduces shape options - moves (unreleased) `noteShapeResizeMode` to `NoteShapeOptions.resizeMode` - moves `maxDrawShapePoints` to `DrawShapeOptions.maxPoints` - adds `maxPoints` to `HighlightShapeOptions.maxPoints` - ๐Ÿ’ฅ breaking change if someone was using `options.maxDrawShapePoints`. #### Numeric shortcuts were still getting triggered when used inside some inputs (like the file rename input) ([#5378](https://github.com/tldraw/tldraw/pull/5378)) - Fix an issue with numeric shortcuts working inside of editable elements. #### Don't pass through mousewheel events on scrollable elements ([#5356](https://github.com/tldraw/tldraw/pull/5356)) - Fixed a bug with scrollable UI elements not being scrollable. #### Improve frame heading perf ([#5357](https://github.com/tldraw/tldraw/pull/5357)) - Fix bug effecting performance when many frames are on the screen. #### Add option to disable numbered shortcuts on the toolbar ([#5340](https://github.com/tldraw/tldraw/pull/5340)) - SDK: Added editor option to disable 0-9 keyboard shortcuts for the toolbar - Improved keyboard shortcuts for the toolbar #### support react 19 ([#5293](https://github.com/tldraw/tldraw/pull/5293)) - tldraw now supports react 19 #### separately export default external content/asset handlers ([#5298](https://github.com/tldraw/tldraw/pull/5298)) - You can now import each of our external asset/content handlers, so you can augment them without having to copy-paste them into your app #### BREAKING - `TLExternalAssetContent` has been renamed to `TLExternalAsset` #### Emit a before-event from Editor ([#5319](https://github.com/tldraw/tldraw/pull/5319)) - Emit a `before-event` from Editor for events before they are handled by tldraw. #### fix: consider font style in text measuring ([#5313](https://github.com/tldraw/tldraw/pull/5313)) - Fixed a bug withโ€ฆ #### Add editor option to allow sticky note resizing by scale ([#5273](https://github.com/tldraw/tldraw/pull/5273)) - Added `options.noteShapeResizeMode` editor option to control how note shapes resize. #### Fix an error when embed util is not present. ([#5296](https://github.com/tldraw/tldraw/pull/5296)) - Fix an issue with embeds logic not gracefully handling cases when we don't have an embed util. #### Add an onCrop handler to ShapeUtil ([#5137](https://github.com/tldraw/tldraw/pull/5137)) - Add support for an onCrop handler on shape utils that allows you to prevent or modify the crop. - The `TLImageShapeCrop` type has been replaced by `TLShapeCrop`. #### Style changing duration reduced from 2 to 1 second ([#5158](https://github.com/tldraw/tldraw/pull/5158)) - Style changing duration reduced from 2 to 1 second #### Asset uploads ([#5218](https://github.com/tldraw/tldraw/pull/5218)) **Breaking change** - `@tldraw/tlschema`: `TLAssetStore.upload` used to return just the `src` of the uploaded asset. It now returns `{src: string, meta?: JsonObject}`. The returned metadata will be added to the asset record and thus allows the users to add some additional data to them when uploading. - `@tldraw/editor`: `Editor.uploadAsset` used to return `Promise<string>` and now returns `Promise<{ src: string; meta?: JsonObject }> ` #### Exports DX pass ([#5114](https://github.com/tldraw/tldraw/pull/5114)) #### Breaking changes / user facing changes - The copy/export as JSON option has been removed. Data copied/exported from here could not be used anyway. If you need this in your app, look into `Editor.getContentFromCurrentPage`. - `useImageOrVideoAssetUrl` now expects a `width` parameter representing the rendered width of the asset. - `Editor.getSvgElement` and `Editor.getSvgString` will now export all shapes on the current page instead of returning undefined when passed an empty array of shape ids. #### Product improvement - When exporting to an image, image assets are now downloaded at a resolution appropriate for how they will appear in the export. #### API changes - There's a new `Editor.toImage` method that makes creating an image from your canvas easier. (`exportToBlob` is deprecated in favour of it) - `SvgExportContext` now exposes the `scale` and `pixelRatio` options of the current export - `SvgExportContext` now has a `resolveAssetUrl` method to resolve an asset at a resolution appropriate for the export. - `copyAs(editor, ids, format, opts)` has been deprecated in favour of `copyAs(editor, ids, opts)`. - `exportAs(editor, ids, format, name, opts)` has been deprecated in favour of `exportAs(editor, ids, opts)` #### Always override session state on initial load ([#5233](https://github.com/tldraw/tldraw/pull/5233)) - Fixed a bug where grid mode and other settings would not persist across page reloads. #### i18n: augment the list so that we hit the top 40 languages ([#5208](https://github.com/tldraw/tldraw/pull/5208)) - i18n: add top 40 languages into the list #### pass custom migrations to useLocalStore ([#5135](https://github.com/tldraw/tldraw/pull/5135)) - Fixed a bug with locally synced stores where custom migrations were not being passed to the store constructor. --- #### ๐Ÿ› Bug Fix - fix: consider font style in text measuring [#5313](https://github.com/tldraw/tldraw/pull/5313) ([@ricardo-crespo](https://github.com/ricardo-crespo)) #### ๐Ÿ› Bug Fixes - Numeric shortcuts were still getting triggered when used inside some inputs (like the file rename input) [#5378](https://github.com/tldraw/tldraw/pull/5378) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - Improve frame heading perf [#5357](https://github.com/tldraw/tldraw/pull/5357) ([@steveruizok](https://github.com/steveruizok)) - Fix an error when embed util is not present. [#5296](https://github.com/tldraw/tldraw/pull/5296) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@mimecuvalo](https://github.com/mimecuvalo)) - Always override session state on initial load [#5233](https://github.com/tldraw/tldraw/pull/5233) ([@ds300](https://github.com/ds300)) - i18n: rename two locale codes [#5212](https://github.com/tldraw/tldraw/pull/5212) ([@mimecuvalo](https://github.com/mimecuvalo)) - pass custom migrations to useLocalStore [#5135](https://github.com/tldraw/tldraw/pull/5135) ([@ds300](https://github.com/ds300)) #### ๐Ÿ’„ Product Improvements - support dragging urls onto the canvas [#5411](https://github.com/tldraw/tldraw/pull/5411) ([@SomeHats](https://github.com/SomeHats)) - Don't pass through mousewheel events on scrollable elements [#5356](https://github.com/tldraw/tldraw/pull/5356) ([@steveruizok](https://github.com/steveruizok)) - support react 19 [#5293](https://github.com/tldraw/tldraw/pull/5293) ([@SomeHats](https://github.com/SomeHats) [@mimecuvalo](https://github.com/mimecuvalo) [@huppy-bot[bot]](https://github.com/huppy-bot[bot])) - Style changing duration reduced from 2 to 1 second [#5158](https://github.com/tldraw/tldraw/pull/5158) (alexander.melnik@pandadoc.com [@melnikkk](https://github.com/melnikkk)) - Asset uploads [#5218](https://github.com/tldraw/tldraw/pull/5218) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - error logging: add more context for errors [#5221](https://github.com/tldraw/tldraw/pull/5221) ([@mimecuvalo](https://github.com/mimecuvalo)) #### ๐ŸŽ‰ New Features - i18n: augment the list so that we hit the top 40 languages [#5208](https://github.com/tldraw/tldraw/pull/5208) ([@mimecuvalo](https://github.com/mimecuvalo)) #### ๐Ÿ› ๏ธ API Changes - Add tldraw and excalidraw to external content types [#5402](https://github.com/tldraw/tldraw/pull/5402) ([@SomeHats](https://github.com/SomeHats)) - ShapeUtil.configure for shape options [#5399](https://github.com/tldraw/tldraw/pull/5399) ([@SomeHats](https://github.com/SomeHats)) - Shape options [#5349](https://github.com/tldraw/tldraw/pull/5349) ([@steveruizok](https://github.com/steveruizok)) - Add option to disable numbered shortcuts on the toolbar [#5340](https://github.com/tldraw/tldraw/pull/5340) ([@steveruizok](https://github.com/steveruizok)) - separately export default external content/asset handlers [#5298](https://github.com/tldraw/tldraw/pull/5298) ([@SomeHats](https://github.com/SomeHats)) - Emit a before-event from Editor [#5319](https://github.com/tldraw/tldraw/pull/5319) ([@trygve-aaberge-adsk](https://github.com/trygve-aaberge-adsk)) - Add editor option to allow sticky note resizing by scale [#5273](https://github.com/tldraw/tldraw/pull/5273) ([@steveruizok](https://github.com/steveruizok)) - Add an onCrop handler to ShapeUtil [#5137](https://github.com/tldraw/tldraw/pull/5137) ([@trygve-aaberge-adsk](https://github.com/trygve-aaberge-adsk) [@mimecuvalo](https://github.com/mimecuvalo)) - Exports DX pass [#5114](https://github.com/tldraw/tldraw/pull/5114) ([@SomeHats](https://github.com/SomeHats)) #### Authors: 10 - [@huppy-bot[bot]](https://github.com/huppy-bot[bot]) - Aleksander Melnik (alexander.melnik@pandadoc.com) - alex ([@SomeHats](https://github.com/SomeHats)) - Alexander Melnik ([@melnikkk](https://github.com/melnikkk)) - David Sheldrick ([@ds300](https://github.com/ds300)) - Mime ฤŒuvalo ([@mimecuvalo](https://github.com/mimecuvalo)) - Mitja Bezenลกek ([@MitjaBezensek](https://github.com/MitjaBezensek)) - Ricardo Crespo ([@ricardo-crespo](https://github.com/ricardo-crespo)) - Steve Ruiz ([@steveruizok](https://github.com/steveruizok)) - Trygve Aaberge ([@trygve-aaberge-adsk](https://github.com/trygve-aaberge-adsk)) --- # v3.7.0 (Tue Jan 07 2025) ### Release Notes #### Allow expandSelectionOutlinePx to return a Box ([#5168](https://github.com/tldraw/tldraw/pull/5168)) - Support expanding the selection outline by different amounts on each side by returning a `Box` from `expandSelectionOutlinePx`. #### Fix relative CSS import rules failing to be fetched ([#5172](https://github.com/tldraw/tldraw/pull/5172)) - Fix relative CSS import rules failing to be fetched when exporting or printing. #### custom sync presence ([#5071](https://github.com/tldraw/tldraw/pull/5071)) - It's now possible to customise what presence data is synced between clients, or disable presence syncing entirely. #### Don't add the baseElem to the container in textmanager ([#5127](https://github.com/tldraw/tldraw/pull/5127)) - Prevents divs created for text measurement from leaking during hot reloading. #### Improve rerenedring of the page menu and quick actions ([#5057](https://github.com/tldraw/tldraw/pull/5057)) - Improves rendering of the pages menu and quick actions. #### fix: Updating shape props to undefined when using editor.updateShape ([#5029](https://github.com/tldraw/tldraw/pull/5029)) - Updating shape props to undefined when using editor.updateShape --- #### ๐Ÿ› Bug Fix - [botcom] slurp local files on sign in [#5059](https://github.com/tldraw/tldraw/pull/5059) ([@ds300](https://github.com/ds300)) #### ๐Ÿ› Bug Fixes - Fix relative CSS import rules failing to be fetched [#5172](https://github.com/tldraw/tldraw/pull/5172) ([@trygve-aaberge-adsk](https://github.com/trygve-aaberge-adsk)) - Don't add the baseElem to the container in textmanager [#5127](https://github.com/tldraw/tldraw/pull/5127) ([@ds300](https://github.com/ds300)) - fix hot reload text measurement bug [#5125](https://github.com/tldraw/tldraw/pull/5125) ([@ds300](https://github.com/ds300)) - fix stale closure in InnerShape [#5117](https://github.com/tldraw/tldraw/pull/5117) ([@ds300](https://github.com/ds300)) - fix: Updating shape props to undefined when using editor.updateShape [#5029](https://github.com/tldraw/tldraw/pull/5029) ([@kazu-2020](https://github.com/kazu-2020) [@steveruizok](https://github.com/steveruizok)) #### ๐Ÿ’„ Product Improvements - Improve rerenedring of the page menu and quick actions [#5057](https://github.com/tldraw/tldraw/pull/5057) ([@MitjaBezensek](https://github.com/MitjaBezensek)) #### ๐Ÿ› ๏ธ API Changes - Allow expandSelectionOutlinePx to return a Box [#5168](https://github.com/tldraw/tldraw/pull/5168) ([@trygve-aaberge-adsk](https://github.com/trygve-aaberge-adsk)) - custom sync presence [#5071](https://github.com/tldraw/tldraw/pull/5071) ([@SomeHats](https://github.com/SomeHats)) #### Authors: 6 - alex ([@SomeHats](https://github.com/SomeHats)) - David Sheldrick ([@ds300](https://github.com/ds300)) - mimata kazutaka ([@kazu-2020](https://github.com/kazu-2020)) - Mitja Bezenลกek ([@MitjaBezensek](https://github.com/MitjaBezensek)) - Steve Ruiz ([@steveruizok](https://github.com/steveruizok)) - Trygve Aaberge ([@trygve-aaberge-adsk](https://github.com/trygve-aaberge-adsk)) --- # v3.6.0 (Wed Dec 04 2024) ### Release Notes #### assets: fix up resolving when copy/pasting multiple items; also, videos ([#5061](https://github.com/tldraw/tldraw/pull/5061)) - Fixed bugs with copy/pasting multilple assets from one board to another. - Fixed bug with copy/pasting videos from one board to another. #### Fix some export bugs ([#5022](https://github.com/tldraw/tldraw/pull/5022)) - Properly clip scaled text in frames when exporting - Stop multiple concurrent exports from interfering with each-others fonts #### Fix long press bug ([#5032](https://github.com/tldraw/tldraw/pull/5032)) - Fixed a bug with long press on inset canvases. --- #### ๐Ÿ› Bug Fixes - assets: fix up resolving when copy/pasting multiple items; also, videos [#5061](https://github.com/tldraw/tldraw/pull/5061) ([@mimecuvalo](https://github.com/mimecuvalo)) - Fix some export bugs [#5022](https://github.com/tldraw/tldraw/pull/5022) ([@SomeHats](https://github.com/SomeHats) [@huppy-bot[bot]](https://github.com/huppy-bot[bot])) - Fix long press bug [#5032](https://github.com/tldraw/tldraw/pull/5032) ([@steveruizok](https://github.com/steveruizok)) #### Authors: 4 - [@huppy-bot[bot]](https://github.com/huppy-bot[bot]) - alex ([@SomeHats](https://github.com/SomeHats)) - Mime ฤŒuvalo ([@mimecuvalo](https://github.com/mimecuvalo)) - Steve Ruiz ([@steveruizok](https://github.com/steveruizok)) --- # v3.5.0 (Tue Nov 26 2024) ### Release Notes #### Allow custom react providers in SVG exports ([#4991](https://github.com/tldraw/tldraw/pull/4991)) - You can now supply a custom react context provider for SVG exports #### Click / right click on frame headings ([#4979](https://github.com/tldraw/tldraw/pull/4979)) - Improved clicks for frame headings #### Snap to grid when creating shapes ([#4875](https://github.com/tldraw/tldraw/pull/4875)) - Shapes snap to grid on creation, or when adding points. #### Smart bringForward/sendBackward ([#4851](https://github.com/tldraw/tldraw/pull/4851)) - Improved the 'bring forward' and 'send backward' actions by making them only consider nearby overlapping shapes when deciding the next ordering. #### Remove outlines from buttons until we fix radix-ui issues ([#4855](https://github.com/tldraw/tldraw/pull/4855)) - Fixed a bug with focus outlines appearing in menu items at the wrong time. #### Add option to disable text creation on double click ([#4841](https://github.com/tldraw/tldraw/pull/4841)) - Add option to disable text creation on double click `createTextOnCanvasDoubleClick` #### Better support scale / quality in export utilities ([#4795](https://github.com/tldraw/tldraw/pull/4795)) - Improved treatment of `scale` in image copy / export utilities. #### Call ensureStoreIsUsable after mergeRemoteChanges ([#4833](https://github.com/tldraw/tldraw/pull/4833)) - Add store consistency checks during `mergeRemoteChanges` #### Make default color theme light. ([#4796](https://github.com/tldraw/tldraw/pull/4796)) - Sets the default color theme to light. --- #### ๐Ÿ› Bug Fix - [botcom] improve error UX [#4790](https://github.com/tldraw/tldraw/pull/4790) ([@ds300](https://github.com/ds300)) #### ๐Ÿ› Bug Fixes - Remove outlines from buttons until we fix radix-ui issues [#4855](https://github.com/tldraw/tldraw/pull/4855) ([@steveruizok](https://github.com/steveruizok)) #### ๐Ÿ’„ Product Improvements - Click / right click on frame headings [#4979](https://github.com/tldraw/tldraw/pull/4979) ([@steveruizok](https://github.com/steveruizok) [@huppy-bot[bot]](https://github.com/huppy-bot[bot])) - Lokalise: Translations update [#4947](https://github.com/tldraw/tldraw/pull/4947) ([@TodePond](https://github.com/TodePond) [@mimecuvalo](https://github.com/mimecuvalo)) - Snap to grid when creating shapes [#4875](https://github.com/tldraw/tldraw/pull/4875) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git) [@mimecuvalo](https://github.com/mimecuvalo)) - Smart bringForward/sendBackward [#4851](https://github.com/tldraw/tldraw/pull/4851) ([@ds300](https://github.com/ds300)) - Call ensureStoreIsUsable after mergeRemoteChanges [#4833](https://github.com/tldraw/tldraw/pull/4833) ([@ds300](https://github.com/ds300)) - Make default color theme light. [#4796](https://github.com/tldraw/tldraw/pull/4796) ([@steveruizok](https://github.com/steveruizok)) #### ๐ŸŽ‰ New Features - Add option to disable text creation on double click [#4841](https://github.com/tldraw/tldraw/pull/4841) ([@ds300](https://github.com/ds300) [@steveruizok](https://github.com/steveruizok)) #### ๐Ÿ› ๏ธ API Changes - Allow custom react providers in SVG exports [#4991](https://github.com/tldraw/tldraw/pull/4991) ([@SomeHats](https://github.com/SomeHats)) - Better support scale / quality in export utilities [#4795](https://github.com/tldraw/tldraw/pull/4795) ([@steveruizok](https://github.com/steveruizok)) #### Authors: 7 - [@huppy-bot[bot]](https://github.com/huppy-bot[bot]) - alex ([@SomeHats](https://github.com/SomeHats)) - David Sheldrick ([@ds300](https://github.com/ds300)) - Lu Wilson ([@TodePond](https://github.com/TodePond)) - Mime ฤŒuvalo ([@mimecuvalo](https://github.com/mimecuvalo)) - Steve Ruiz ([@steveruizok](https://github.com/steveruizok)) - Taha ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) --- # v3.4.0 (Thu Oct 24 2024) ### Release Notes #### npm: upgrade eslint v8 โ†’ v9 ([#4757](https://github.com/tldraw/tldraw/pull/4757)) - Upgrade eslint v8 โ†’ v9 #### make options object stable ([#4762](https://github.com/tldraw/tldraw/pull/4762)) - Writing `options` inline in the Tldraw component will no longer cause re-render loops #### menus: rework the open menu logic to be in one consistent place ([#4642](https://github.com/tldraw/tldraw/pull/4642)) - Rework open menu logic to be centralized. #### drag: passthrough correct event type for drag events ([#4739](https://github.com/tldraw/tldraw/pull/4739)) - Fix bug with passing correct event type for drag events #### refactor: specify type at bbox ([#4732](https://github.com/tldraw/tldraw/pull/4732)) - When I see the code in `packages/editor/src/lib/exports/getSvgJsx.tsx`, Improvements were found. ``` // L57 let bbox: = null // any type ``` - This is declared as `let`, but it is `any` type. - I felt this was a risk for future maintenance. - So I specify the type of `bbox`. ``` let bbox: null | Box = null ``` #### lod: memoize media assets so that zoom level doesn't re-render constantly ([#4659](https://github.com/tldraw/tldraw/pull/4659)) - Improve performance of image/video rendering. #### drag/drop: followup to accidental img drop pr ([#4704](https://github.com/tldraw/tldraw/pull/4704)) - Fix bug with multiple images being created when dropping it onto the canvas. #### links: fix link indicator on stickies ([#4708](https://github.com/tldraw/tldraw/pull/4708)) - Fix link indicator in sticky notes. #### make sure DOM IDs are globally unique ([#4694](https://github.com/tldraw/tldraw/pull/4694)) - Exports and other tldraw instances no longer can affect how each other are rendered - **BREAKING:** the `id` attribute that was present on some shapes in the dom has been removed. there's now a data-shape-id attribute on every shape wrapper instead though. --- #### ๐Ÿ› Bug Fix - roll back changes from bad deploy [#4780](https://github.com/tldraw/tldraw/pull/4780) ([@SomeHats](https://github.com/SomeHats)) - Update CHANGELOG.md \[skip ci\] ([@huppy-bot[bot]](https://github.com/huppy-bot[bot])) - [botcom] file state [#4766](https://github.com/tldraw/tldraw/pull/4766) ([@ds300](https://github.com/ds300)) - botcom: account menu [bk] [#4683](https://github.com/tldraw/tldraw/pull/4683) ([@mimecuvalo](https://github.com/mimecuvalo)) - botcom: prevent pinch-zoom on sidebar [#4697](https://github.com/tldraw/tldraw/pull/4697) ([@mimecuvalo](https://github.com/mimecuvalo)) #### ๐Ÿ› Bug Fixes - [Fix] Keyboard events on menus [#4745](https://github.com/tldraw/tldraw/pull/4745) ([@steveruizok](https://github.com/steveruizok)) - Make ids public [#4742](https://github.com/tldraw/tldraw/pull/4742) ([@steveruizok](https://github.com/steveruizok)) - drag: passthrough correct event type for drag events [#4739](https://github.com/tldraw/tldraw/pull/4739) ([@mimecuvalo](https://github.com/mimecuvalo)) - drag/drop: followup to accidental img drop pr [#4704](https://github.com/tldraw/tldraw/pull/4704) ([@mimecuvalo](https://github.com/mimecuvalo)) - links: fix link indicator on stickies [#4708](https://github.com/tldraw/tldraw/pull/4708) ([@mimecuvalo](https://github.com/mimecuvalo)) - [fix] Meta key bug [#4701](https://github.com/tldraw/tldraw/pull/4701) ([@steveruizok](https://github.com/steveruizok)) - make sure DOM IDs are globally unique [#4694](https://github.com/tldraw/tldraw/pull/4694) ([@SomeHats](https://github.com/SomeHats)) #### ๐Ÿ’„ Product Improvements - npm: upgrade eslint v8 โ†’ v9 [#4757](https://github.com/tldraw/tldraw/pull/4757) ([@mimecuvalo](https://github.com/mimecuvalo) [@SomeHats](https://github.com/SomeHats) [@ds300](https://github.com/ds300) [@MitjaBezensek](https://github.com/MitjaBezensek) [@steveruizok](https://github.com/steveruizok)) - menus: rework the open menu logic to be in one consistent place [#4642](https://github.com/tldraw/tldraw/pull/4642) ([@mimecuvalo](https://github.com/mimecuvalo) [@steveruizok](https://github.com/steveruizok)) - refactor: specify type at bbox [#4732](https://github.com/tldraw/tldraw/pull/4732) ([@nayounsang](https://github.com/nayounsang)) - lod: memoize media assets so that zoom level doesn't re-render constantly [#4659](https://github.com/tldraw/tldraw/pull/4659) ([@mimecuvalo](https://github.com/mimecuvalo) [@steveruizok](https://github.com/steveruizok)) #### ๐Ÿ› ๏ธ API Changes - make options object stable [#4762](https://github.com/tldraw/tldraw/pull/4762) ([@SomeHats](https://github.com/SomeHats)) #### Authors: 7 - [@huppy-bot[bot]](https://github.com/huppy-bot[bot]) - [@nayounsang](https://github.com/nayounsang) - alex ([@SomeHats](https://github.com/SomeHats)) - David Sheldrick ([@ds300](https://github.com/ds300)) - Mime ฤŒuvalo ([@mimecuvalo](https://github.com/mimecuvalo)) - Mitja Bezenลกek ([@MitjaBezensek](https://github.com/MitjaBezensek)) - Steve Ruiz ([@steveruizok](https://github.com/steveruizok)) --- # v3.3.0 (Wed Oct 09 2024) ### Release Notes #### [sync] Set instance.isReadonly automatically ([#4673](https://github.com/tldraw/tldraw/pull/4673)) - Puts the editor into readonly mode automatically when the tlsync server responds in readonly mode. - Adds the `editor.getIsReadonly()` method. - Fixes a bug where arrow labels could be edited in readonly mode. #### Pass through wheel events over non-scrolling user interface elements ([#4662](https://github.com/tldraw/tldraw/pull/4662)) - Fixes a bug where scrolling over user interface elements would not scroll the canvas. #### prevent accidental image drops ([#4651](https://github.com/tldraw/tldraw/pull/4651)) - Fixed a bug where dropping images or other things on user interface elements would navigate away from the canvas #### Fix an issue with nearest point and lines that start and end at the same point ([#4650](https://github.com/tldraw/tldraw/pull/4650)) - Fix a bug with nearest points for lines that start and end at the same point. #### selection: allow cmd/ctrl to add to selection ([#4570](https://github.com/tldraw/tldraw/pull/4570)) - Selection: allow cmd/ctrl to add multiple shapes to the selection. #### watermark: go behind certain elements on the app ([#4656](https://github.com/tldraw/tldraw/pull/4656)) - Fix issue with watermark and certain UI elements. #### [dotcom] Menus, dialogs, toasts, etc. ([#4624](https://github.com/tldraw/tldraw/pull/4624)) - exports dialogs system - exports toasts system - exports translations system - create a global `tlmenus` system for menus - create a global `tltime` system for timers - create a global `tlenv` for environment" - create a `useMaybeEditor` hook #### Fix watermark link opening twice ([#4622](https://github.com/tldraw/tldraw/pull/4622)) - Fix watermark link opening twice #### Add eslint rule to check that tsdoc params match with function params ([#4615](https://github.com/tldraw/tldraw/pull/4615)) - Add lint rules to check for discrepancies between tsdoc params and function params and fix all the discovered issues. #### [bugfix] respect camera constraints after switching page + setting constraints ([#4628](https://github.com/tldraw/tldraw/pull/4628)) - Fixed a bug where camera constraints were not upheld after switching pages or setting new camera constraints. --- #### ๐Ÿ› Bug Fix - Improve watermark tests [#4669](https://github.com/tldraw/tldraw/pull/4669) ([@steveruizok](https://github.com/steveruizok)) - [dotcom] Menus, dialogs, toasts, etc. [#4624](https://github.com/tldraw/tldraw/pull/4624) ([@steveruizok](https://github.com/steveruizok)) - chore: refactor safe id [#4618](https://github.com/tldraw/tldraw/pull/4618) ([@mimecuvalo](https://github.com/mimecuvalo)) #### ๐Ÿ› Bug Fixes - prevent accidental image drops [#4651](https://github.com/tldraw/tldraw/pull/4651) ([@steveruizok](https://github.com/steveruizok)) - Fix an issue with nearest point and lines that start and end at the same point [#4650](https://github.com/tldraw/tldraw/pull/4650) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - Fix watermark link opening twice [#4622](https://github.com/tldraw/tldraw/pull/4622) ([@vladh](https://github.com/vladh)) - [bugfix] respect camera constraints after switching page + setting constraints [#4628](https://github.com/tldraw/tldraw/pull/4628) ([@ds300](https://github.com/ds300)) #### ๐Ÿ’„ Product Improvements - [sync] Set instance.isReadonly automatically [#4673](https://github.com/tldraw/tldraw/pull/4673) ([@ds300](https://github.com/ds300)) - Pass through wheel events over non-scrolling user interface elements [#4662](https://github.com/tldraw/tldraw/pull/4662) ([@steveruizok](https://github.com/steveruizok)) - selection: allow cmd/ctrl to add to selection [#4570](https://github.com/tldraw/tldraw/pull/4570) ([@mimecuvalo](https://github.com/mimecuvalo) [@steveruizok](https://github.com/steveruizok)) - watermark: go behind certain elements on the app [#4656](https://github.com/tldraw/tldraw/pull/4656) ([@mimecuvalo](https://github.com/mimecuvalo)) - Add eslint rule to check that tsdoc params match with function params [#4615](https://github.com/tldraw/tldraw/pull/4615) ([@MitjaBezensek](https://github.com/MitjaBezensek)) #### ๐Ÿ  Internal - dotcom top bar / .tldr file drops [#4661](https://github.com/tldraw/tldraw/pull/4661) ([@steveruizok](https://github.com/steveruizok)) #### Authors: 5 - David Sheldrick ([@ds300](https://github.com/ds300)) - Mime ฤŒuvalo ([@mimecuvalo](https://github.com/mimecuvalo)) - Mitja Bezenลกek ([@MitjaBezensek](https://github.com/MitjaBezensek)) - Steve Ruiz ([@steveruizok](https://github.com/steveruizok)) - Vlad-Stefan Harbuz ([@vladh](https://github.com/vladh)) --- # v3.1.0 (Wed Sep 25 2024) ### Release Notes #### Fix watermark appearance ([#4589](https://github.com/tldraw/tldraw/pull/4589)) - Fixed a bug with the watermark's opacities and animations. #### publish useAsset, tweak docs ([#4590](https://github.com/tldraw/tldraw/pull/4590)) - Publish the `useAsset` media asset helper #### Fix label wrapping ([#4571](https://github.com/tldraw/tldraw/pull/4571)) - Fixed a bug with arrow label text measurements. #### [feature] isShapeHidden option ([#4446](https://github.com/tldraw/tldraw/pull/4446)) - Adds an `isShapeHidden` option, which allows you to provide custom logic to decide whether or not a shape should be shown on the canvas. #### Unify links for vs code. ([#4565](https://github.com/tldraw/tldraw/pull/4565)) - Unify vs code extension links. Make the watermark link work in the vs code extension. #### Add center option to rotateShapesBy ([#4508](https://github.com/tldraw/tldraw/pull/4508)) - Add option to Editor.rotateShapesBy to specify the rotation center point. #### [fix] container null error ([#4524](https://github.com/tldraw/tldraw/pull/4524)) - Fixed a minor bug related to useContainer's return value being potentially returned from components? --- #### ๐Ÿ› Bug Fix - npm: make our React packages consistent [#4547](https://github.com/tldraw/tldraw/pull/4547) ([@mimecuvalo](https://github.com/mimecuvalo) [@MitjaBezensek](https://github.com/MitjaBezensek)) - docs: cleanup/add readmes/licenses [#4542](https://github.com/tldraw/tldraw/pull/4542) ([@mimecuvalo](https://github.com/mimecuvalo) [@steveruizok](https://github.com/steveruizok) [@MitjaBezensek](https://github.com/MitjaBezensek) [@SomeHats](https://github.com/SomeHats)) - Clean up `apps` directory [#4548](https://github.com/tldraw/tldraw/pull/4548) ([@SomeHats](https://github.com/SomeHats)) - fix pre-rendering on blog/legal [#4535](https://github.com/tldraw/tldraw/pull/4535) ([@SomeHats](https://github.com/SomeHats)) #### ๐Ÿ› Bug Fixes - Fix watermark appearance [#4589](https://github.com/tldraw/tldraw/pull/4589) ([@steveruizok](https://github.com/steveruizok)) - Fix label wrapping [#4571](https://github.com/tldraw/tldraw/pull/4571) ([@steveruizok](https://github.com/steveruizok)) - [fix] container null error [#4524](https://github.com/tldraw/tldraw/pull/4524) ([@ds300](https://github.com/ds300)) - Remove feature flag. [#4521](https://github.com/tldraw/tldraw/pull/4521) ([@steveruizok](https://github.com/steveruizok)) - Enable license feature flag. [#4518](https://github.com/tldraw/tldraw/pull/4518) ([@steveruizok](https://github.com/steveruizok)) #### ๐Ÿ’„ Product Improvements - Unify links for vs code. [#4565](https://github.com/tldraw/tldraw/pull/4565) ([@MitjaBezensek](https://github.com/MitjaBezensek)) #### ๐ŸŽ‰ New Features - [feature] isShapeHidden option [#4446](https://github.com/tldraw/tldraw/pull/4446) ([@ds300](https://github.com/ds300)) #### ๐Ÿ› ๏ธ API Changes - publish useAsset, tweak docs [#4590](https://github.com/tldraw/tldraw/pull/4590) ([@SomeHats](https://github.com/SomeHats)) - Add center option to rotateShapesBy [#4508](https://github.com/tldraw/tldraw/pull/4508) ([@ds300](https://github.com/ds300)) #### Authors: 5 - alex ([@SomeHats](https://github.com/SomeHats)) - David Sheldrick ([@ds300](https://github.com/ds300)) - Mime ฤŒuvalo ([@mimecuvalo](https://github.com/mimecuvalo)) - Mitja Bezenลกek ([@MitjaBezensek](https://github.com/MitjaBezensek)) - Steve Ruiz ([@steveruizok](https://github.com/steveruizok)) --- # v3.0.0 (Fri Sep 13 2024) ### Release Notes #### paste: fix pasting images from excalidraw ([#4462](https://github.com/tldraw/tldraw/pull/4462)) - Pasting: fix image pasting from Excalidraw. #### images: dont stop playing a gif on double click ([#4451](https://github.com/tldraw/tldraw/pull/4451)) - Images: dbl-clicking doesn't stop gifs #### Add sleep fn ([#4454](https://github.com/tldraw/tldraw/pull/4454)) (internal-only change) #### Fix an issue with firefox ([#4432](https://github.com/tldraw/tldraw/pull/4432)) - Fix an issue with migrating legacy assets in Firefox. #### add default <foreignObject> based export for shapes ([#4403](https://github.com/tldraw/tldraw/pull/4403)) Custom shapes (and our own bookmark shapes) now render in image exports by default. #### Use custom mime types in useInsertMedia hook ([#4453](https://github.com/tldraw/tldraw/pull/4453)) - Make the 'insert media' action use custom mime type configurations to restrict which files can be selected in the picker. #### Rename TLSvgOptions ([#4442](https://github.com/tldraw/tldraw/pull/4442)) - Rename `TLSvgOptions` to `TLImageExportOptions` #### Use base zoom and zoom steps to calculate min and max zoom for pinch gesture ([#4427](https://github.com/tldraw/tldraw/pull/4427)) - Fixed issue where pinch gestures on Safari would snap camera at low zoom levels #### Fix exports for dark mode frames and flipped images ([#4424](https://github.com/tldraw/tldraw/pull/4424)) - Flipped images are now respected in exports - Dark mode frames are exported with the correct label color #### Prevent unhandled promise rejection during strict mode ([#4406](https://github.com/tldraw/tldraw/pull/4406)) - Prevented a harmless Unhandled Promise Rejection error message during dev time with React strict mode. #### Detect multiple installed versions of tldraw packages ([#4398](https://github.com/tldraw/tldraw/pull/4398)) - We detect when there are multiple versions of tldraw installed and let you know, as this can cause bugs in your application #### [api] Widen snapshots pit of success ([#4392](https://github.com/tldraw/tldraw/pull/4392)) - Improved loadSnapshot to preserve page state like camera position and current page if no session snapshot is provided. #### Make rotateShapesBy work on any shapes ([#4385](https://github.com/tldraw/tldraw/pull/4385)) - Make `rotateShapesBy` work with any shapes, not just the currently selected shapes. - BREAKING CHANGE - removes the `TLRotationSnapshot` type. #### fix inky path rendering ([#4382](https://github.com/tldraw/tldraw/pull/4382)) - Fix edge case bug in inky path rendering code for clouds. #### Deep Links ([#4333](https://github.com/tldraw/tldraw/pull/4333)) - Added support for managing deep links. #### Custom embeds API ([#4326](https://github.com/tldraw/tldraw/pull/4326)) Adds the ability to customize the embeds that are supported. You can now customize or reorder the existing embeds, as well as add completely new ones. #### Rename `StoreOptions.multiplayerStatus` ([#4349](https://github.com/tldraw/tldraw/pull/4349)) - Renames `StoreOptions.multiplayerStatus` to `StoreOptions.collaboration.status`. #### why did we have this dpr constrained width/height stuff again? ([#4297](https://github.com/tldraw/tldraw/pull/4297)) - Fixed a bug withโ€ฆ #### video: rm sync that doesn't really work; fix fullscreen rendering ([#4338](https://github.com/tldraw/tldraw/pull/4338)) - video: rm sync that doesn't really work; fix fullscreen rendering #### license: allow wildcard to make apex domains also work ([#4334](https://github.com/tldraw/tldraw/pull/4334)) - Improve license domain check for apex domains when using wildcards. #### License: add docs ([#4217](https://github.com/tldraw/tldraw/pull/4217)) - Add licensing docs. #### images: show ghost preview image while uploading ([#3988](https://github.com/tldraw/tldraw/pull/3988)) - Media: add image and video upload indicators. #### [Feature, Example] Text search example and `getText` API ([#4306](https://github.com/tldraw/tldraw/pull/4306)) - Adds `getText` to the `ShapeUtil` api so that we can allow searching for text in a nicely extensible way. - Adds an example of how to add text search. #### remove onEditorMount prop ([#4320](https://github.com/tldraw/tldraw/pull/4320)) - **Breaking:** the `onEditorMount` option to `createTLStore` is now called `onMount` #### Fix an issue with minimap ([#4318](https://github.com/tldraw/tldraw/pull/4318)) - Fixes a bug with the MiniMap not rendering. Makes the unbound uses safer. #### Fix duplication