v3.10.0
Welcome to the 3.10.0 release of tldraw. This month's SDK release's big news is adding rich text to all of our shapes.
What's new
Rich text (#4895)
Tldraw now has the supports rich text as a first-class primitive within the Editor. After deliberating on which rich text editor to choose, we settled on using TipTap as our out-of-the-box solution. Our basic implementation includes the TipTap StarterKit extension along with a couple extra extensions to make the experience butter-smooth.
Of course, we wouldn't be providing this functionality if it wasn't extensible and remixable by the community. There is a textOptions
property now that lets you customize TipTap and add/remove extensions as per your needs.
Take a look at our Shapes documentation to learn more.
Please do jump in the Discord if you have any feedback or bugs about this new feature.
Improvements
- Ensure .tldr files with embedded base64 assets get their assets rehydrated back into the local db. #5525
- Display BrokenAssetIcon when file upload fails #5552
API changes
- Make collaboration hooks public (
usePeerIds
andusePresence
) #5541 - Pass userId to collaboration components #5534
Bug fix
- Fix a perf regression that caused slowness mainly when loading documents. #5567
- Fix exports / style embedding for foreignObjects in Firefox #5593
- Fix the reparentShapes() function to ensure that the original order of the shapes is preserved when reparenting. #5565
- Fix a bug that could occur when resizing #5292
- Fix a bug with pasting files from your computer in Safari #5545
- Fix bug with loading TLDraw in an SSR environment by removing a core-js import #5543
- Prevent text duplication when using IME with Enter key in Chrome #5540
Authors
- alex (@SomeHats)
- David Sheldrick (@ds300)
- Josh Willis (@bluedot74)
- Lorenzo Lewis (@lorenzolewis)
- Lu Wilson (@TodePond)
- Mathieu Triay (@MathieuLoutre)
- mimata kazutaka (@kazu-2020)
- Mime Čuvalo (@mimecuvalo)
- Mitja Bezenšek (@MitjaBezensek)
- Qinghe Ban (@banqinghe)
- Riley (@dodo-Riley)
- Steve Ruiz (@steveruizok)