You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Images in Markdown: The built-in image node (resizableImage) now serializes to  and reads it back, for both tiptap-markdown (storage.markdown) and the official @tiptap/markdown (renderMarkdown / parseMarkdown), so apps that store documents as Markdown no longer need their own image node. width and height have no Markdown representation and are not kept across a round trip. Without a Markdown extension nothing changes. (#100)
AteResizableImage Export: AteResizableImage and its AteResizableImageOptions / AteResizableImageStorage types are exported from the public API, to extend or reuse the image node. (#100)
setContent Options: setContent(content, options?) on the component, AteEditorRef and AteEditorCommandsService accepts { emitUpdate, preserveSelection, preserveScroll, resetHistory } (AteSetContentOptions). preserveSelection keeps the selection clamped to the new document, preserveScroll restores the scroll position of the editor and resetHistory drops the undo/redo history, so an external refresh of the content no longer needs private ProseMirror internals. The boolean form setContent(content, false) keeps working. (#101)
Fixed
Stale Counters After External Content: The character and word counters were only recomputed on update events, so they stayed stale after the content was replaced without emitting one: a change of the content input, setContent(content, false) or a form control value. They now follow every document change, including those. (#101)