v3.10.0
This release introduces rich text as a first-class primitive within the Editor, alongside various performance improvements and bug fixes.
What's new
Rich text support
The SDK now offers rich text as a first-class primitive. The implementation utilizes TipTap with its StarterKit extension plus additional customizations. Developers can configure this functionality through a textOptions property to customize TipTap and modify extensions.
API changes
- 💥
textproperty on most shapes replaced withrichText. When setting values, userichText: toRichText('some string')instead oftext: 'some string'. When retrieving values, userenderPlaintextFromRichText(props.text)rather thanprops.text. - Add asset rehydration for .tldr files containing embedded base64 data.
- Add
BrokenAssetIcondisplay on file upload failures. - Add public collaboration hooks (
usePeerIds,usePresence). - Add
userIdparameter to collaboration components.
Bug fixes
- Fix performance regression affecting document loading.
- Fix Firefox export/style embedding for foreignObjects.
- Fix shape reparenting order preservation.
- Fix resize functionality.
- Fix Safari file pasting issues.
- Fix SSR environment compatibility (core-js import removal).
- Fix IME text duplication in Chrome.
Patch releases
v3.10.1
- Fix API reference links in state packages. (#5610)
v3.10.2
- Add
textOptionsto<TldrawImage />component. (#5650)
v3.10.3
Prev
v3.1.0Next
v3.11.0