main
feat: commenting (#9471)
fix(editor): only auto-enable pen mode for direct-display stylus input (#9316)
refactor: add tlenvReactive atom for reactive environment state (#7296)
feat(themes): add first-class theme system with display values for customizing default shapes (#8410)
[dotcom] Menus, dialogs, toasts, etc. (#4624)
refactor(editor): use scoped document/window for cross-window embedding support (#8196)
refactor: fix circular dependencies across state, editor, and tldraw packages (#7935)
chore(deps): upgrade to React 19 (#7317)
transfer-out: transfer out
refactor(editor): replace @use-gesture/react with custom gesture handling (#8392)
Use custom mime types in useInsertMedia hook (#4453)
Split @tldraw/state into @tldraw/state and @tldraw/state-react (#4170)
chore: sort imports using oxfmt (#8330)
fix(editor): re-attach wheel pass-through when the ref's element changes (#9882)
fix(editor): address low-severity manager audit findings (#8895)
fix: type collaborator user ids as TLUserId (#9002)
csp: followup fixes/dx/tweaks (#4159)
Make ids public (#4742)
fix(editor): guard viewport bounds without document body (#9357)
perf(editor): reduce canvas render work (#8644)
refactor: replace coarse pointer media queries with reactive data attribute (#7404)
Fix snapshots prop (#4233)
chore(editor): deprecate useViewportHeight (#9826)
feat(editor): add debouncedZoom option and getDebouncedZoomLevel API (#7235)