Files
upstream-tiptap/CHANGELOG.md
upstream-mirror 754389fc49
Some checks failed
Verify / Install node dependencies (push) Failing after 2s
Verify / Build packages (push) Has been skipped
Verify / Check linting & formatting (push) Has been skipped
Verify / Run unit tests (push) Has been skipped
Verify / Run e2e tests (shard 1/4) (push) Has been skipped
Verify / Run e2e tests (shard 2/4) (push) Has been skipped
Verify / Run e2e tests (shard 3/4) (push) Has been skipped
Verify / Run e2e tests (shard 4/4) (push) Has been skipped
Publish / Resolve publish config (push) Failing after 2s
Publish / Build (push) Has been skipped
Verify / Merge e2e reports (push) Has been skipped
Publish / Bump Versions OR Release to Registry (push) Has been skipped
Publish / Send notification to Slack (push) Has been skipped
Publish / Send failure notification to Slack (push) Failing after 3s
top-up: 3 source files 128-600 KB
2026-09-16 00:30:34 +05:00

456 KiB
Raw Permalink Blame History

Releases

v3.30.3

@tiptap/extension-text-style

Patch Changes

  • f434577: Unsetting one text style inside a blockquote no longer removes the other text styles in it.
  • Updated dependencies [f434577]

@tiptap/extension-youtube

Patch Changes

  • f434577: YouTube live URLs (/live/<id>) now embed the video.
  • Updated dependencies [f434577]

@tiptap/core

Patch Changes

  • f434577: Fix JSX runtime to properly render nested sibling elements by spreading children arrays into DOMOutputSpec
  • @tiptap/pm@3.30.3

@tiptap/react

Patch Changes

  • f434577: Fix ReactNodeViewRenderer crash when contentComponent is not available
  • Updated dependencies [f434577]

@tiptap/ai-toolkit

Minor Changes

  • f434577: Add the AiInsertReveal extension (@tiptap/ai-toolkit/streaming-reveal) to fade in text as the AI streams it into a collaborative document.

@tiptap/extension-color

Patch Changes

@tiptap/extension-details

Patch Changes

@tiptap/extension-file-handler

Patch Changes

@tiptap/extension-font-family

Patch Changes

@tiptap/extension-invisible-characters

Patch Changes

@tiptap/extension-audio

Patch Changes

@tiptap/extension-blockquote

Patch Changes

@tiptap/extension-bold

Patch Changes

@tiptap/extension-bubble-menu

Patch Changes

@tiptap/extension-code

Patch Changes

@tiptap/extension-code-block

Patch Changes

@tiptap/extension-code-block-lowlight

Patch Changes

@tiptap/extension-collaboration

Patch Changes

@tiptap/extension-collaboration-caret

Patch Changes

@tiptap/extension-document

Patch Changes

@tiptap/extension-drag-handle

Patch Changes

@tiptap/extension-emoji

Patch Changes

@tiptap/extension-find-and-replace

Patch Changes

@tiptap/extension-floating-menu

Patch Changes

@tiptap/extension-hard-break

Patch Changes

@tiptap/extension-heading

Patch Changes

@tiptap/extension-highlight

Patch Changes

@tiptap/extension-horizontal-rule

Patch Changes

@tiptap/extension-image

Patch Changes

@tiptap/extension-italic

Patch Changes

Patch Changes

@tiptap/extension-list

Patch Changes

@tiptap/extension-mathematics

Patch Changes

@tiptap/extension-mention

Patch Changes

@tiptap/extension-node-range

Patch Changes

@tiptap/extension-paragraph

Patch Changes

@tiptap/extension-ruby-text

Patch Changes

@tiptap/extension-strike

Patch Changes

@tiptap/extension-subscript

Patch Changes

@tiptap/extension-superscript

Patch Changes

@tiptap/extension-table

Patch Changes

@tiptap/extension-table-of-contents

Patch Changes

@tiptap/extension-text

Patch Changes

@tiptap/extension-text-align

Patch Changes

@tiptap/extension-twitch

Patch Changes

@tiptap/extension-typography

Patch Changes

@tiptap/extension-underline

Patch Changes

@tiptap/extension-unique-id

Patch Changes

@tiptap/extensions

Patch Changes

@tiptap/html

Patch Changes

@tiptap/markdown

Patch Changes

@tiptap/starter-kit

Patch Changes

@tiptap/static-renderer

Patch Changes

@tiptap/suggestion

Patch Changes

@tiptap/vue-2

Patch Changes

@tiptap/vue-3

Patch Changes

@tiptap/extension-drag-handle-react

Patch Changes

@tiptap/server-ai-toolkit

Patch Changes

  • Updated dependencies [f434577]
    • @tiptap/ai-toolkit@0.4.0

@tiptap/extension-drag-handle-vue-2

Patch Changes

@tiptap/extension-drag-handle-vue-3

Patch Changes

@tiptap/extension-list-item

Patch Changes

@tiptap/extension-list-keymap

Patch Changes

@tiptap/extension-task-item

Patch Changes

@tiptap/extension-task-list

Patch Changes

@tiptap/extension-bullet-list

Patch Changes

@tiptap/extension-ordered-list

Patch Changes

@tiptap/extension-table-cell

Patch Changes

@tiptap/extension-table-header

Patch Changes

@tiptap/extension-table-row

Patch Changes

@tiptap/extension-character-count

Patch Changes

@tiptap/extension-dropcursor

Patch Changes

@tiptap/extension-focus

Patch Changes

@tiptap/extension-gapcursor

Patch Changes

@tiptap/extension-history

Patch Changes

@tiptap/extension-placeholder

Patch Changes

v3.30.2

@tiptap/core

Patch Changes

  • 214a140: Keep mixed JSX children as separate siblings in DOM output.
  • 214a140: Fixed a bug where editor.chain and editor.can can not be accessed on editor initialization
  • @tiptap/pm@3.30.2

@tiptap/extension-image

Patch Changes

  • 214a140: Fix resizable images staying hidden when the image is cached or fails to load.
  • Updated dependencies [214a140]
  • Updated dependencies [214a140]

@tiptap/extension-audio

Patch Changes

  • Updated dependencies [214a140]
  • Updated dependencies [214a140]

@tiptap/extension-blockquote

Patch Changes

@tiptap/extension-bold

Patch Changes

  • Updated dependencies [214a140]
  • Updated dependencies [214a140]

@tiptap/extension-bubble-menu

Patch Changes

@tiptap/extension-code

Patch Changes

  • Updated dependencies [214a140]
  • Updated dependencies [214a140]

@tiptap/extension-code-block

Patch Changes

@tiptap/extension-code-block-lowlight

Patch Changes

@tiptap/extension-collaboration

Patch Changes

@tiptap/extension-collaboration-caret

Patch Changes

@tiptap/extension-details

Patch Changes

@tiptap/extension-document

Patch Changes

  • Updated dependencies [214a140]
  • Updated dependencies [214a140]

@tiptap/extension-drag-handle

Patch Changes

@tiptap/extension-emoji

Patch Changes

@tiptap/extension-file-handler

Patch Changes

@tiptap/extension-find-and-replace

Patch Changes

@tiptap/extension-floating-menu

Patch Changes

@tiptap/extension-hard-break

Patch Changes

  • Updated dependencies [214a140]
  • Updated dependencies [214a140]

@tiptap/extension-heading

Patch Changes

  • Updated dependencies [214a140]
  • Updated dependencies [214a140]

@tiptap/extension-highlight

Patch Changes

  • Updated dependencies [214a140]
  • Updated dependencies [214a140]

@tiptap/extension-horizontal-rule

Patch Changes

@tiptap/extension-invisible-characters

Patch Changes

@tiptap/extension-italic

Patch Changes

  • Updated dependencies [214a140]
  • Updated dependencies [214a140]

Patch Changes

@tiptap/extension-list

Patch Changes

@tiptap/extension-mathematics

Patch Changes

@tiptap/extension-mention

Patch Changes

@tiptap/extension-node-range

Patch Changes

@tiptap/extension-paragraph

Patch Changes

  • Updated dependencies [214a140]
  • Updated dependencies [214a140]

@tiptap/extension-ruby-text

Patch Changes

@tiptap/extension-strike

Patch Changes

  • Updated dependencies [214a140]
  • Updated dependencies [214a140]

@tiptap/extension-subscript

Patch Changes

@tiptap/extension-superscript

Patch Changes

@tiptap/extension-table

Patch Changes

@tiptap/extension-table-of-contents

Patch Changes

@tiptap/extension-text

Patch Changes

  • Updated dependencies [214a140]
  • Updated dependencies [214a140]

@tiptap/extension-text-align

Patch Changes

  • Updated dependencies [214a140]
  • Updated dependencies [214a140]

@tiptap/extension-text-style

Patch Changes

  • Updated dependencies [214a140]
  • Updated dependencies [214a140]

@tiptap/extension-twitch

Patch Changes

  • Updated dependencies [214a140]
  • Updated dependencies [214a140]

@tiptap/extension-typography

Patch Changes

  • Updated dependencies [214a140]
  • Updated dependencies [214a140]

@tiptap/extension-underline

Patch Changes

  • Updated dependencies [214a140]
  • Updated dependencies [214a140]

@tiptap/extension-unique-id

Patch Changes

@tiptap/extension-youtube

Patch Changes

  • Updated dependencies [214a140]
  • Updated dependencies [214a140]

@tiptap/extensions

Patch Changes

@tiptap/html

Patch Changes

@tiptap/markdown

Patch Changes

@tiptap/react

Patch Changes

@tiptap/starter-kit

Patch Changes

@tiptap/static-renderer

Patch Changes

@tiptap/suggestion

Patch Changes

@tiptap/vue-2

Patch Changes

@tiptap/vue-3

Patch Changes

@tiptap/extension-drag-handle-react

Patch Changes

@tiptap/extension-drag-handle-vue-2

Patch Changes

@tiptap/extension-drag-handle-vue-3

Patch Changes

@tiptap/extension-list-item

Patch Changes

@tiptap/extension-list-keymap

Patch Changes

@tiptap/extension-task-item

Patch Changes

@tiptap/extension-task-list

Patch Changes

@tiptap/extension-bullet-list

Patch Changes

@tiptap/extension-ordered-list

Patch Changes

@tiptap/extension-table-cell

Patch Changes

@tiptap/extension-table-header

Patch Changes

@tiptap/extension-table-row

Patch Changes

@tiptap/extension-color

Patch Changes

@tiptap/extension-font-family

Patch Changes

@tiptap/extension-character-count

Patch Changes

@tiptap/extension-dropcursor

Patch Changes

@tiptap/extension-focus

Patch Changes

@tiptap/extension-gapcursor

Patch Changes

@tiptap/extension-history

Patch Changes

@tiptap/extension-placeholder

Patch Changes

v3.30.1

@tiptap/extension-table

Patch Changes

  • abc8828: Fixed table markdown pipe escaping so the extension loads on older Safari and iOS versions (WebKit before Safari 16.4).
  • Updated dependencies [abc8828]

@tiptap/core

Patch Changes

  • abc8828: Added new ProseMirror helpers that check whether a value is a specific ProseMirror type.
  • @tiptap/pm@3.30.1

@tiptap/extension-table-cell

Patch Changes

@tiptap/extension-table-header

Patch Changes

@tiptap/extension-table-row

Patch Changes

@tiptap/extension-audio

Patch Changes

@tiptap/extension-blockquote

Patch Changes

@tiptap/extension-bold

Patch Changes

@tiptap/extension-bubble-menu

Patch Changes

@tiptap/extension-code

Patch Changes

@tiptap/extension-code-block

Patch Changes

@tiptap/extension-code-block-lowlight

Patch Changes

@tiptap/extension-collaboration

Patch Changes

@tiptap/extension-collaboration-caret

Patch Changes

@tiptap/extension-details

Patch Changes

@tiptap/extension-document

Patch Changes

@tiptap/extension-drag-handle

Patch Changes

@tiptap/extension-emoji

Patch Changes

@tiptap/extension-file-handler

Patch Changes

@tiptap/extension-find-and-replace

Patch Changes

@tiptap/extension-floating-menu

Patch Changes

@tiptap/extension-hard-break

Patch Changes

@tiptap/extension-heading

Patch Changes

@tiptap/extension-highlight

Patch Changes

@tiptap/extension-horizontal-rule

Patch Changes

@tiptap/extension-image

Patch Changes

@tiptap/extension-invisible-characters

Patch Changes

@tiptap/extension-italic

Patch Changes

Patch Changes

@tiptap/extension-list

Patch Changes

@tiptap/extension-mathematics

Patch Changes

@tiptap/extension-mention

Patch Changes

@tiptap/extension-node-range

Patch Changes

@tiptap/extension-paragraph

Patch Changes

@tiptap/extension-ruby-text

Patch Changes

@tiptap/extension-strike

Patch Changes

@tiptap/extension-subscript

Patch Changes

@tiptap/extension-superscript

Patch Changes

@tiptap/extension-table-of-contents

Patch Changes

@tiptap/extension-text

Patch Changes

@tiptap/extension-text-align

Patch Changes

@tiptap/extension-text-style

Patch Changes

@tiptap/extension-twitch

Patch Changes

@tiptap/extension-typography

Patch Changes

@tiptap/extension-underline

Patch Changes

@tiptap/extension-unique-id

Patch Changes

@tiptap/extension-youtube

Patch Changes

@tiptap/extensions

Patch Changes

@tiptap/html

Patch Changes

@tiptap/markdown

Patch Changes

@tiptap/react

Patch Changes

@tiptap/starter-kit

Patch Changes

@tiptap/static-renderer

Patch Changes

@tiptap/suggestion

Patch Changes

@tiptap/vue-2

Patch Changes

@tiptap/vue-3

Patch Changes

@tiptap/extension-drag-handle-react

Patch Changes

@tiptap/extension-drag-handle-vue-2

Patch Changes

@tiptap/extension-drag-handle-vue-3

Patch Changes

@tiptap/extension-list-item

Patch Changes

@tiptap/extension-list-keymap

Patch Changes

@tiptap/extension-task-item

Patch Changes

@tiptap/extension-task-list

Patch Changes

@tiptap/extension-bullet-list

Patch Changes

@tiptap/extension-ordered-list

Patch Changes

@tiptap/extension-color

Patch Changes

@tiptap/extension-font-family

Patch Changes

@tiptap/extension-character-count

Patch Changes

@tiptap/extension-dropcursor

Patch Changes

@tiptap/extension-focus

Patch Changes

@tiptap/extension-gapcursor

Patch Changes

@tiptap/extension-history

Patch Changes

@tiptap/extension-placeholder

Patch Changes

v3.30.0

@tiptap/vue-2

Minor Changes

  • ceb0dac: New Decorations API

    Finally the decorations API is here! Even though Decorations itself are nothing new in ProseMirror, the new API makes it much easier to use them in Tiptap without leaving your extensions.

    Decorations change how the document looks without changing the document itself. Highlighting search results, marking spelling mistakes, showing collaborator cursors, putting a drag handle next to every block.

    Until now you had to write a ProseMirror plugin by hand for this, keep the decoration set in plugin state, and map it forward on every transaction. Extensions can now declare decorations directly with a new addDecorations() hook.

    addDecorations() {
      return {
        create: ({ state }) =>
          // findMatches can be any function that returns an array of { from, to } ranges
          findMatches(state.doc).map(match =>
            Decoration.Inline(match.from, match.to, { class: 'highlight' }),
          ),
      }
    }
    

    There are three kinds. Decoration.Inline() styles a range of text. Decoration.Node() puts attributes on a block's DOM element. Decoration.Widget() renders your own element at a single position.

    Every extension that declares decorations is collected into one plugin, so several extensions can decorate the same document without fighting over it.

    Doing less work on every keystroke

    By default decorations are rebuilt whenever the document changes. That is fine for small documents and wasteful for large ones, so there are two ways to narrow it down.

    shouldUpdate() skips transactions you do not care about. If your decorations only depend on headings, ignore everything else.

    update: 'changedRanges' together with createInRange() only rescans the blocks that actually changed. On a long document this is the difference between scanning the whole thing on every keystroke and scanning one paragraph.

    For decorations driven by data outside the editor, like comments loaded from a server, use update: 'manual' and refresh them yourself with editor.commands.updateDecorations().

    React and Vue components as widgets

    ReactWidgetRenderer and VueWidgetRenderer render a real component into a widget decoration, inside your existing app context. Providers, context and stores work as usual.

    Widgets take a key. Reuse the same key and the component instance stays mounted while the document changes around it, so local state such as an open menu, a counter or a half-typed input survives editing. Use a stable id from your own data, not a position or a list index, otherwise the component remounts and loses that state.

    Widgets also accept the ProseMirror options side, relaxedSide, stopEvent and ignoreSelection.

    Documentation

Patch Changes

  • ceb0dac: Fix FloatingMenu not registering when the editor prop is provided synchronously, which prevented the menu from appearing
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-list

Minor Changes

  • ceb0dac: ListKeymap now registers a Tab shortcut that sinks a top-level textblock into the previous list's last item. Pressing Tab at the start of a paragraph right after a bullet/ordered/task list moves the paragraph inside the last list item. The handler does nothing when the cursor is already inside a list item (sinkListItem keeps working), when there is no list before the paragraph, when the caret is mid-textblock, or when the selection is not a text selection (for example a gap cursor).

    @tiptap/core also exposes a new getPreviousBlockSibling($pos) helper that returns the block-level sibling before the cursor's textblock, or null at the first child of the block parent.

Patch Changes

  • ceb0dac: Parse block math that follows an ordered list item without a blank line, both after the list and indented inside the item, instead of pulling it into the item's text.
  • ceb0dac: TaskItem: the checkbox label now also fills the wrapping label element, so accessibility audits no longer flag it as empty.
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/core

Minor Changes

  • ceb0dac: ListKeymap now registers a Tab shortcut that sinks a top-level textblock into the previous list's last item. Pressing Tab at the start of a paragraph right after a bullet/ordered/task list moves the paragraph inside the last list item. The handler does nothing when the cursor is already inside a list item (sinkListItem keeps working), when there is no list before the paragraph, when the caret is mid-textblock, or when the selection is not a text selection (for example a gap cursor).

    @tiptap/core also exposes a new getPreviousBlockSibling($pos) helper that returns the block-level sibling before the cursor's textblock, or null at the first child of the block parent.

  • ceb0dac: New Decorations API

    Finally the decorations API is here! Even though Decorations itself are nothing new in ProseMirror, the new API makes it much easier to use them in Tiptap without leaving your extensions.

    Decorations change how the document looks without changing the document itself. Highlighting search results, marking spelling mistakes, showing collaborator cursors, putting a drag handle next to every block.

    Until now you had to write a ProseMirror plugin by hand for this, keep the decoration set in plugin state, and map it forward on every transaction. Extensions can now declare decorations directly with a new addDecorations() hook.

    addDecorations() {
      return {
        create: ({ state }) =>
          // findMatches can be any function that returns an array of { from, to } ranges
          findMatches(state.doc).map(match =>
            Decoration.Inline(match.from, match.to, { class: 'highlight' }),
          ),
      }
    }
    

    There are three kinds. Decoration.Inline() styles a range of text. Decoration.Node() puts attributes on a block's DOM element. Decoration.Widget() renders your own element at a single position.

    Every extension that declares decorations is collected into one plugin, so several extensions can decorate the same document without fighting over it.

    Doing less work on every keystroke

    By default decorations are rebuilt whenever the document changes. That is fine for small documents and wasteful for large ones, so there are two ways to narrow it down.

    shouldUpdate() skips transactions you do not care about. If your decorations only depend on headings, ignore everything else.

    update: 'changedRanges' together with createInRange() only rescans the blocks that actually changed. On a long document this is the difference between scanning the whole thing on every keystroke and scanning one paragraph.

    For decorations driven by data outside the editor, like comments loaded from a server, use update: 'manual' and refresh them yourself with editor.commands.updateDecorations().

    React and Vue components as widgets

    ReactWidgetRenderer and VueWidgetRenderer render a real component into a widget decoration, inside your existing app context. Providers, context and stores work as usual.

    Widgets take a key. Reuse the same key and the component instance stays mounted while the document changes around it, so local state such as an open menu, a counter or a half-typed input survives editing. Use a stable id from your own data, not a position or a list index, otherwise the component remounts and loses that state.

    Widgets also accept the ProseMirror options side, relaxedSide, stopEvent and ignoreSelection.

    Documentation

Patch Changes

  • ceb0dac: Fixed insertContent, insertContentAt and setContent failing when prosemirror-model is loaded more than once.
  • Updated dependencies [ceb0dac]

@tiptap/starter-kit

Patch Changes

@tiptap/react

Minor Changes

  • ceb0dac: New Decorations API

    Finally the decorations API is here! Even though Decorations itself are nothing new in ProseMirror, the new API makes it much easier to use them in Tiptap without leaving your extensions.

    Decorations change how the document looks without changing the document itself. Highlighting search results, marking spelling mistakes, showing collaborator cursors, putting a drag handle next to every block.

    Until now you had to write a ProseMirror plugin by hand for this, keep the decoration set in plugin state, and map it forward on every transaction. Extensions can now declare decorations directly with a new addDecorations() hook.

    addDecorations() {
      return {
        create: ({ state }) =>
          // findMatches can be any function that returns an array of { from, to } ranges
          findMatches(state.doc).map(match =>
            Decoration.Inline(match.from, match.to, { class: 'highlight' }),
          ),
      }
    }
    

    There are three kinds. Decoration.Inline() styles a range of text. Decoration.Node() puts attributes on a block's DOM element. Decoration.Widget() renders your own element at a single position.

    Every extension that declares decorations is collected into one plugin, so several extensions can decorate the same document without fighting over it.

    Doing less work on every keystroke

    By default decorations are rebuilt whenever the document changes. That is fine for small documents and wasteful for large ones, so there are two ways to narrow it down.

    shouldUpdate() skips transactions you do not care about. If your decorations only depend on headings, ignore everything else.

    update: 'changedRanges' together with createInRange() only rescans the blocks that actually changed. On a long document this is the difference between scanning the whole thing on every keystroke and scanning one paragraph.

    For decorations driven by data outside the editor, like comments loaded from a server, use update: 'manual' and refresh them yourself with editor.commands.updateDecorations().

    React and Vue components as widgets

    ReactWidgetRenderer and VueWidgetRenderer render a real component into a widget decoration, inside your existing app context. Providers, context and stores work as usual.

    Widgets take a key. Reuse the same key and the component instance stays mounted while the document changes around it, so local state such as an open menu, a counter or a half-typed input survives editing. Use a stable id from your own data, not a position or a list index, otherwise the component remounts and loses that state.

    Widgets also accept the ProseMirror options side, relaxedSide, stopEvent and ignoreSelection.

    Documentation

Patch Changes

  • ceb0dac: React node views no longer show the selected state when the selection covers a position the node view has moved away from.
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/markdown

Patch Changes

  • ceb0dac: Markdown with inline HTML such as an unclosed <b> tag no longer parses into an invalid document. The tag is dropped and its text is kept.
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/static-renderer

Patch Changes

  • ceb0dac: Fixed table cell and header spans in the React static renderer.
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/pm

Patch Changes

  • ceb0dac: Fix the ./schema-list export map pointing types at dist/schema/, which is not emitted. Tools that read the types condition directly could not resolve @tiptap/pm/schema-list.

@tiptap/extension-table

Patch Changes

  • ceb0dac: Deleting the last row or column of a table no longer moves the cursor outside the table when there is content below it.
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-drag-handle-react

Patch Changes

  • ceb0dac: Fixed the React DragHandle breaking drag-and-drop when onNodeChange is an inline callback, by no longer re-registering its plugin when a callback's identity changes.
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-mathematics

Patch Changes

  • ceb0dac: Allow KaTeX 0.18 to be installed with the math extension
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-blockquote

Patch Changes

  • ceb0dac: Fixed Backspace freezing after merging a paragraph into a blockquote.
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/vue-3

Minor Changes

  • ceb0dac: New Decorations API

    Finally the decorations API is here! Even though Decorations itself are nothing new in ProseMirror, the new API makes it much easier to use them in Tiptap without leaving your extensions.

    Decorations change how the document looks without changing the document itself. Highlighting search results, marking spelling mistakes, showing collaborator cursors, putting a drag handle next to every block.

    Until now you had to write a ProseMirror plugin by hand for this, keep the decoration set in plugin state, and map it forward on every transaction. Extensions can now declare decorations directly with a new addDecorations() hook.

    addDecorations() {
      return {
        create: ({ state }) =>
          // findMatches can be any function that returns an array of { from, to } ranges
          findMatches(state.doc).map(match =>
            Decoration.Inline(match.from, match.to, { class: 'highlight' }),
          ),
      }
    }
    

    There are three kinds. Decoration.Inline() styles a range of text. Decoration.Node() puts attributes on a block's DOM element. Decoration.Widget() renders your own element at a single position.

    Every extension that declares decorations is collected into one plugin, so several extensions can decorate the same document without fighting over it.

    Doing less work on every keystroke

    By default decorations are rebuilt whenever the document changes. That is fine for small documents and wasteful for large ones, so there are two ways to narrow it down.

    shouldUpdate() skips transactions you do not care about. If your decorations only depend on headings, ignore everything else.

    update: 'changedRanges' together with createInRange() only rescans the blocks that actually changed. On a long document this is the difference between scanning the whole thing on every keystroke and scanning one paragraph.

    For decorations driven by data outside the editor, like comments loaded from a server, use update: 'manual' and refresh them yourself with editor.commands.updateDecorations().

    React and Vue components as widgets

    ReactWidgetRenderer and VueWidgetRenderer render a real component into a widget decoration, inside your existing app context. Providers, context and stores work as usual.

    Widgets take a key. Reuse the same key and the component instance stays mounted while the document changes around it, so local state such as an open menu, a counter or a half-typed input survives editing. Use a stable id from your own data, not a position or a list index, otherwise the component remounts and loses that state.

    Widgets also accept the ProseMirror options side, relaxedSide, stopEvent and ignoreSelection.

    Documentation

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-drag-handle-vue-2

Patch Changes

@tiptap/extension-list-item

Patch Changes

@tiptap/extension-list-keymap

Patch Changes

@tiptap/extension-task-item

Patch Changes

@tiptap/extension-task-list

Patch Changes

@tiptap/extension-bullet-list

Patch Changes

@tiptap/extension-ordered-list

Patch Changes

@tiptap/extension-audio

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-bold

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-bubble-menu

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-code

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-code-block

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-code-block-lowlight

Patch Changes

@tiptap/extension-collaboration

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-collaboration-caret

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-details

Patch Changes

@tiptap/extension-document

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-drag-handle

Patch Changes

@tiptap/extension-emoji

Patch Changes

@tiptap/extension-file-handler

Patch Changes

@tiptap/extension-find-and-replace

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-floating-menu

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-hard-break

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-heading

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-highlight

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-horizontal-rule

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-image

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-invisible-characters

Patch Changes

@tiptap/extension-italic

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-mention

Patch Changes

@tiptap/extension-node-range

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-paragraph

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-ruby-text

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-strike

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-subscript

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-superscript

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-table-of-contents

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-text

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-text-align

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-text-style

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-twitch

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-typography

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-underline

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-unique-id

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-youtube

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extensions

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/html

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/suggestion

Patch Changes

  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]
  • Updated dependencies [ceb0dac]

@tiptap/extension-drag-handle-vue-3

Patch Changes

@tiptap/extension-table-cell

Patch Changes

@tiptap/extension-table-header

Patch Changes

@tiptap/extension-table-row

Patch Changes

@tiptap/extension-color

Patch Changes

@tiptap/extension-font-family

Patch Changes

@tiptap/extension-character-count

Patch Changes

@tiptap/extension-dropcursor

Patch Changes

@tiptap/extension-focus

Patch Changes

@tiptap/extension-gapcursor

Patch Changes

@tiptap/extension-history

Patch Changes

@tiptap/extension-placeholder

Patch Changes

v3.29.2

@tiptap/react

Patch Changes

@tiptap/extension-find-and-replace

Patch Changes

  • 295e220: Ensure only the active find-and-replace result keeps the current-result highlight while navigating matches.
  • @tiptap/core@3.29.2

@tiptap/extension-drag-handle-react

Patch Changes

@tiptap/extension-character-count

Patch Changes

@tiptap/extension-dropcursor

Patch Changes

@tiptap/extension-focus

Patch Changes

@tiptap/extension-gapcursor

Patch Changes

@tiptap/extension-history

Patch Changes

@tiptap/extension-list-item

Patch Changes

@tiptap/extension-list-keymap

Patch Changes

@tiptap/extension-placeholder

Patch Changes

@tiptap/extension-table-cell

Patch Changes

@tiptap/extension-table-header

Patch Changes

@tiptap/extension-table-row

Patch Changes

@tiptap/extension-task-item

Patch Changes

@tiptap/extension-task-list

Patch Changes

@tiptap/core

Patch Changes

@tiptap/extension-audio

Patch Changes

@tiptap/extension-blockquote

Patch Changes

@tiptap/extension-bold

Patch Changes

@tiptap/extension-bubble-menu

Patch Changes

@tiptap/extension-bullet-list

Patch Changes

@tiptap/extension-code

Patch Changes

@tiptap/extension-code-block

Patch Changes

@tiptap/extension-code-block-lowlight

Patch Changes

@tiptap/extension-collaboration

Patch Changes

@tiptap/extension-collaboration-caret

Patch Changes

@tiptap/extension-color

Patch Changes

@tiptap/extension-details

Patch Changes

@tiptap/extension-document

Patch Changes

@tiptap/extension-drag-handle

Patch Changes

@tiptap/extension-drag-handle-vue-2

Patch Changes

@tiptap/extension-drag-handle-vue-3

Patch Changes

@tiptap/extension-emoji

Patch Changes

@tiptap/extension-file-handler

Patch Changes

@tiptap/extension-floating-menu

Patch Changes

@tiptap/extension-font-family

Patch Changes

@tiptap/extension-hard-break

Patch Changes

@tiptap/extension-heading

Patch Changes

@tiptap/extension-highlight

Patch Changes

@tiptap/extension-horizontal-rule

Patch Changes

@tiptap/extension-image

Patch Changes

@tiptap/extension-invisible-characters

Patch Changes

@tiptap/extension-italic

Patch Changes

Patch Changes

@tiptap/extension-list

Patch Changes

@tiptap/extension-mathematics

Patch Changes

@tiptap/extension-mention

Patch Changes

@tiptap/extension-node-range

Patch Changes

@tiptap/extension-ordered-list

Patch Changes

@tiptap/extension-paragraph

Patch Changes

@tiptap/extension-ruby-text

Patch Changes

@tiptap/extension-strike

Patch Changes

@tiptap/extension-subscript

Patch Changes

@tiptap/extension-superscript

Patch Changes

@tiptap/extension-table

Patch Changes

@tiptap/extension-table-of-contents

Patch Changes

@tiptap/extension-text

Patch Changes

@tiptap/extension-text-align

Patch Changes

@tiptap/extension-text-style

Patch Changes

@tiptap/extension-twitch

Patch Changes

@tiptap/extension-typography

Patch Changes

@tiptap/extension-underline

Patch Changes

@tiptap/extension-unique-id

Patch Changes

@tiptap/extension-youtube

Patch Changes

@tiptap/extensions

Patch Changes

@tiptap/html

Patch Changes

@tiptap/markdown

Patch Changes

@tiptap/starter-kit

Patch Changes

@tiptap/static-renderer

Patch Changes

@tiptap/suggestion

Patch Changes

@tiptap/vue-2

Patch Changes

@tiptap/vue-3

Patch Changes

v3.29.1

@tiptap/react

Patch Changes

@tiptap/extension-drag-handle-react

Patch Changes

@tiptap/extension-character-count

Patch Changes

@tiptap/extension-dropcursor

Patch Changes

@tiptap/extension-focus

Patch Changes

@tiptap/extension-gapcursor

Patch Changes

@tiptap/extension-history

Patch Changes

@tiptap/extension-list-item

Patch Changes

@tiptap/extension-list-keymap

Patch Changes

@tiptap/extension-placeholder

Patch Changes

@tiptap/extension-table-cell

Patch Changes

@tiptap/extension-table-header

Patch Changes

@tiptap/extension-table-row

Patch Changes

@tiptap/extension-task-item

Patch Changes

@tiptap/extension-task-list

Patch Changes

@tiptap/core

Patch Changes

@tiptap/extension-audio

Patch Changes

@tiptap/extension-blockquote

Patch Changes

@tiptap/extension-bold

Patch Changes

@tiptap/extension-bubble-menu

Patch Changes

@tiptap/extension-bullet-list

Patch Changes

@tiptap/extension-code

Patch Changes

@tiptap/extension-code-block

Patch Changes

@tiptap/extension-code-block-lowlight

Patch Changes

@tiptap/extension-collaboration

Patch Changes

@tiptap/extension-collaboration-caret

Patch Changes

@tiptap/extension-color

Patch Changes

@tiptap/extension-details

Patch Changes

@tiptap/extension-document

Patch Changes

@tiptap/extension-drag-handle

Patch Changes

@tiptap/extension-drag-handle-vue-2

Patch Changes

@tiptap/extension-drag-handle-vue-3

Patch Changes

@tiptap/extension-emoji

Patch Changes

@tiptap/extension-file-handler

Patch Changes

@tiptap/extension-find-and-replace

Patch Changes

@tiptap/extension-floating-menu

Patch Changes

@tiptap/extension-font-family

Patch Changes

@tiptap/extension-hard-break

Patch Changes

@tiptap/extension-heading

Patch Changes

@tiptap/extension-highlight

Patch Changes

@tiptap/extension-horizontal-rule

Patch Changes

@tiptap/extension-image

Patch Changes

@tiptap/extension-invisible-characters

Patch Changes

@tiptap/extension-italic

Patch Changes

Patch Changes

@tiptap/extension-list

Patch Changes

@tiptap/extension-mathematics

Patch Changes

@tiptap/extension-mention

Patch Changes

@tiptap/extension-node-range

Patch Changes

@tiptap/extension-ordered-list

Patch Changes

@tiptap/extension-paragraph

Patch Changes

@tiptap/extension-ruby-text

Patch Changes

@tiptap/extension-strike

Patch Changes

@tiptap/extension-subscript

Patch Changes

@tiptap/extension-superscript

Patch Changes

@tiptap/extension-table

Patch Changes

@tiptap/extension-table-of-contents

Patch Changes

@tiptap/extension-text

Patch Changes

@tiptap/extension-text-align

Patch Changes

@tiptap/extension-text-style

Patch Changes

@tiptap/extension-twitch

Patch Changes

@tiptap/extension-typography

Patch Changes

@tiptap/extension-underline

Patch Changes

@tiptap/extension-unique-id

Patch Changes

@tiptap/extension-youtube

Patch Changes

@tiptap/extensions

Patch Changes

@tiptap/html

Patch Changes

@tiptap/markdown

Patch Changes

@tiptap/starter-kit

Patch Changes

@tiptap/static-renderer

Patch Changes

@tiptap/suggestion

Patch Changes

@tiptap/vue-2

Patch Changes

@tiptap/vue-3

Patch Changes

v3.29.0

@tiptap/extension-ruby-text

Minor Changes

  • e9942fc: Add official RubyText extension for HTML ruby text annotations with non-editable annotations and mark-based document storage. The click-to-edit annotation editor can be replaced with a custom element via the renderAnnotationEditor option.

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/core

Patch Changes

  • e9942fc: Fix a TypeScript build error in isAndroid() where comparing navigator.platform against the literal 'Android' with === could fail to compile under some lib.dom.d.ts typings ("types have no overlap"). Switched to the same .includes() pattern already used by isiOS(), which is not affected by this TypeScript narrowing issue. No runtime behavior change.
  • e9942fc: Fixed a bug where deleting an AllSelection (for example right after Ctrl/Cmd+A) left a lingering "phantom" selection highlight over the emptied document instead of a text cursor. deleteSelection now collapses the selection to a cursor.
  • e9942fc: Fix input rules crashing when the matched text spans an inline atom node like a mention.
  • e9942fc: Node view getPos() now returns undefined instead of throwing when the position cannot be resolved yet, for example when React 19 renders a node view component while the editor view is still updating.
  • e9942fc: Fixed onContentError throwing when calling editor.commands from inside the handler on initial load with invalid content. The editor now has a usable state (seeded from the stripped fallback document) before onContentError fires.
  • e9942fc: Fix editor.$pos() returning the wrong node inside container nodes, for example the list item instead of the list.
  • e9942fc: Add insertDefaultBlock to insert the default textblock allowed at a position. It accepts an optional position, attributes, content, and selection-update option.
  • Updated dependencies [e9942fc]

@tiptap/extension-find-and-replace

Minor Changes

  • e9942fc: Added a new @tiptap/extension-find-and-replace extension. It searches the document for a term, highlights all matches with decorations, and replaces the current or all matches. Supports case-sensitive, whole-word, and RE2-compatible regex search, plus commands to jump between results. Regex search avoids catastrophic backtracking but does not support lookarounds or backreferences.

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/pm

Patch Changes

  • e9942fc: Bump prosemirror-model to ^1.25.11, fixing pasting content copied from the editor inserting extra empty paragraphs (a regression introduced in prosemirror-view 1.42.0).

@tiptap/extension-hard-break

Patch Changes

  • e9942fc: Fixed a bug where inserted hard breaks would not scroll the view on insertion via commands.
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-code-block

Patch Changes

  • e9942fc: Fixed a bug where pressing ArrowUp in a code block that is the first node in the document did nothing, leaving no way to insert content above it. A new default block is now inserted above the code block, mirroring the existing ArrowDown behavior. The behavior can be disabled via the new exitOnArrowUp option.
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-table

Patch Changes

  • e9942fc: Fix inserting a table with an empty cell or header (e.g. via insertContent/insertContentAt) throwing RangeError: Invalid content for node tableCell/tableHeader: <>. Empty <td>/<th> elements are now backfilled with the cell's default block content, matching the behavior you already get from setContent.
  • e9942fc: Keep line breaks inside table cells when serializing to markdown. Hard breaks and paragraph breaks in a cell are now written as <br> instead of being collapsed into a space, so they survive a parse/serialize round trip.
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/markdown

Patch Changes

  • e9942fc: Fixed blank lines being dropped after block elements (headings, tables, etc.) when parsing markdown. Blank lines were being absorbed into the block token instead of being preserved, causing content to lose a blank line on each parse/serialize cycle.
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/react

Patch Changes

  • e9942fc: Fixed useEditorState not re-rendering components when editor.setEditable() changes the editor's editable state, since that call only emits an update event and never a transaction.
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/vue-3

Patch Changes

  • e9942fc: Fix <node-view-content as="tbody"> (and similar restricted-content elements) rendering with an extra wrapper <div> nested inside them, which broke tables in Vue node views. Note: keep <node-view-content> mounted (use v-show, not v-if) — conditionally remounting it can leave ProseMirror attached to the old element.
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-image

Patch Changes

  • e9942fc: Fix resizable images not synchronizing rendered attributes after updates
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/static-renderer

Patch Changes

  • e9942fc: Fix Markdown table serialization for merged cells by preserving the correct column layout for rowspan and colspan.
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

Minor Changes

  • e9942fc: Typing or pasting Markdown link syntax like [Tiptap](https://tiptap.dev) or [Tiptap](https://tiptap.dev "Rich text editor") can now automatically be converted into a link. The behavior is opt-in, enable it with the new markdownLinks option.

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-audio

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-blockquote

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-bold

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-bubble-menu

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-code

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-code-block-lowlight

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-collaboration

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-collaboration-caret

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-details

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-document

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-drag-handle

Patch Changes

@tiptap/extension-emoji

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-file-handler

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-floating-menu

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-heading

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-highlight

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-horizontal-rule

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-invisible-characters

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-italic

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-list

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-mathematics

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-mention

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-node-range

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-paragraph

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-strike

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-subscript

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-superscript

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-table-of-contents

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-text

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-text-align

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-text-style

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-twitch

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-typography

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-underline

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-unique-id

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-youtube

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extensions

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/html

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/suggestion

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/vue-2

Patch Changes

  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]
  • Updated dependencies [e9942fc]

@tiptap/extension-drag-handle-react

Patch Changes

@tiptap/extension-drag-handle-vue-2

Patch Changes

@tiptap/extension-drag-handle-vue-3

Patch Changes

@tiptap/extension-table-cell

Patch Changes

@tiptap/extension-table-header

Patch Changes

@tiptap/extension-table-row

Patch Changes

@tiptap/extension-list-item

Patch Changes

@tiptap/extension-list-keymap

Patch Changes

@tiptap/extension-task-item

Patch Changes

@tiptap/extension-task-list

Patch Changes

@tiptap/extension-bullet-list

Patch Changes

@tiptap/extension-ordered-list

Patch Changes

@tiptap/extension-color

Patch Changes

@tiptap/extension-font-family

Patch Changes

@tiptap/extension-character-count

Patch Changes

@tiptap/extension-dropcursor

Patch Changes

@tiptap/extension-focus

Patch Changes

@tiptap/extension-gapcursor

Patch Changes

@tiptap/extension-history

Patch Changes

@tiptap/extension-placeholder

Patch Changes

@tiptap/starter-kit

Patch Changes

v3.28.0

@tiptap/extension-details

Patch Changes

@tiptap/extension-list

Patch Changes

  • 8614730: Fix markdown parsing a line like (216) 555-1234 as an ordered list. A number followed by ) mid-line is no longer treated as a list marker.
  • @tiptap/core@3.28.0

@tiptap/react

Patch Changes

  • 8614730: Batch React node view portal store notifications that happen in the same microtask to avoid nested update depth warnings when many node views mount together.
  • 8614730: Bind onMount and onUnmount event handlers when initializing an Editor with useEditor hook.
  • @tiptap/core@3.28.0

@tiptap/extension-collaboration-caret

Patch Changes

@tiptap/extension-collaboration

Patch Changes

@tiptap/extension-drag-handle

Patch Changes

@tiptap/extension-youtube

Minor Changes

  • 8614730: Allow string width and height values like '100%' or '20rem' in the YouTube extension. Non-numeric values in parsed HTML are now preserved instead of being converted to numbers.

Patch Changes

@tiptap/extension-list-item

Patch Changes

@tiptap/extension-list-keymap

Patch Changes

@tiptap/extension-task-item

Patch Changes

@tiptap/extension-task-list

Patch Changes

@tiptap/extension-bullet-list

Patch Changes

@tiptap/extension-ordered-list

Patch Changes

@tiptap/extension-drag-handle-react

Patch Changes

@tiptap/extension-drag-handle-vue-2

Patch Changes

@tiptap/extension-drag-handle-vue-3

Patch Changes

@tiptap/extension-character-count

Patch Changes

@tiptap/extension-dropcursor

Patch Changes

@tiptap/extension-focus

Patch Changes

@tiptap/extension-gapcursor

Patch Changes

@tiptap/extension-history

Patch Changes

@tiptap/extension-placeholder

Patch Changes

@tiptap/extension-table-cell

Patch Changes

@tiptap/extension-table-header

Patch Changes

@tiptap/extension-table-row

Patch Changes

@tiptap/core

Patch Changes

@tiptap/extension-audio

Patch Changes

@tiptap/extension-blockquote

Patch Changes

@tiptap/extension-bold

Patch Changes

@tiptap/extension-bubble-menu

Patch Changes

@tiptap/extension-code

Patch Changes

@tiptap/extension-code-block

Patch Changes

@tiptap/extension-code-block-lowlight

Patch Changes

@tiptap/extension-color

Patch Changes

@tiptap/extension-document

Patch Changes

@tiptap/extension-emoji

Patch Changes

@tiptap/extension-file-handler

Patch Changes

@tiptap/extension-floating-menu

Patch Changes

@tiptap/extension-font-family

Patch Changes

@tiptap/extension-hard-break

Patch Changes

@tiptap/extension-heading

Patch Changes

@tiptap/extension-highlight

Patch Changes

@tiptap/extension-horizontal-rule

Patch Changes

@tiptap/extension-image

Patch Changes

@tiptap/extension-invisible-characters

Patch Changes

@tiptap/extension-italic

Patch Changes

Patch Changes

@tiptap/extension-mathematics

Patch Changes

@tiptap/extension-mention

Patch Changes

@tiptap/extension-node-range

Patch Changes

@tiptap/extension-paragraph

Patch Changes

@tiptap/extension-strike

Patch Changes

@tiptap/extension-subscript

Patch Changes

@tiptap/extension-superscript

Patch Changes

@tiptap/extension-table

Patch Changes

@tiptap/extension-table-of-contents

Patch Changes

@tiptap/extension-text

Patch Changes

@tiptap/extension-text-align

Patch Changes

@tiptap/extension-text-style

Patch Changes

@tiptap/extension-twitch

Patch Changes

@tiptap/extension-typography

Patch Changes

@tiptap/extension-underline

Patch Changes

@tiptap/extension-unique-id

Patch Changes

@tiptap/extensions

Patch Changes

@tiptap/html

Patch Changes

@tiptap/markdown

Patch Changes

@tiptap/starter-kit

Patch Changes

@tiptap/static-renderer

Patch Changes

@tiptap/suggestion

Patch Changes

@tiptap/vue-2

Patch Changes

@tiptap/vue-3

Patch Changes

v0.3.0

@tiptap/ai-toolkit

Minor Changes

  • 0fde1e8: Rename @tiptap/server-ai-toolkit to @tiptap/ai-toolkit. The former package remains available as a deprecated alias; update imports to use @tiptap/ai-toolkit.

@tiptap/server-ai-toolkit

Minor Changes

  • 0fde1e8: Rename @tiptap/server-ai-toolkit to @tiptap/ai-toolkit. The former package remains available as a deprecated alias; update imports to use @tiptap/ai-toolkit.

Patch Changes

  • Updated dependencies [0fde1e8]
    • @tiptap/ai-toolkit@0.3.0

@tiptap/extensions

Patch Changes

  • 0fde1e8: Fixed the Selection extension leaving the native browser selection visible on blur, where it overlapped the selection decoration. The native selection is now cleared on blur and restored on focus.
  • @tiptap/core@3.27.4

@tiptap/extension-blockquote

Patch Changes

  • 0fde1e8: Fix a crash when pressing backspace at the very start of the document with a leading image. The blockquote backspace handler dereferenced an undefined parent at the top (doc) level, throwing TypeError: Cannot read properties of undefined (reading 'type'). It now bails out so backspace is a no-op at the document start.
  • 0fde1e8: Add @tiptap/pm as a peer dependency so bundlers resolve ProseMirror packages from the app instead of duplicating prosemirror-model inside @tiptap/extension-blockquote.
  • @tiptap/core@3.27.4

@tiptap/extension-table

Patch Changes

  • 0fde1e8: Fix <col width> in a table's <colgroup> being ignored when parsing HTML. The width of the first column was always dropped because the cell index 0 failed a truthiness check, and header cells (<th>) never read the colgroup at all. Both table cells and table headers now fall back to the matching <col> element's width attribute when they have no colwidth attribute of their own.
  • 0fde1e8: Fix pipe characters inside backtick inline code spans being incorrectly treated as table column delimiters in both leading-pipe and pipeless (no leading |) GFM tables. Cells containing expressions like `||` or `a || b` now parse correctly instead of splitting into extra columns and losing their code formatting.
  • @tiptap/core@3.27.4

@tiptap/extension-list

Patch Changes

  • 0fde1e8: Fix a markdown parsing bug where a plain bullet (- item) nested under a task-list parent (- [ ]) was silently dropped from the parsed document. The task-list tokenizer's nested parser stopped at the first non-checkbox line and discarded everything after it; that remainder is now lexed and kept as sibling blocks (a bullet list or paragraph inside the parent task item), matching how mixed lists already behave at the top level.
  • @tiptap/core@3.27.4

@tiptap/react

Patch Changes

  • 0fde1e8: Add a use client directive so @tiptap/react can be imported from React Server Components without crashing. Core symbols re-exported through @tiptap/react now cross the client boundary too, so import them from @tiptap/core directly in server code.
  • @tiptap/core@3.27.4

@tiptap/extension-character-count

Patch Changes

@tiptap/extension-dropcursor

Patch Changes

@tiptap/extension-focus

Patch Changes

@tiptap/extension-gapcursor

Patch Changes

@tiptap/extension-history

Patch Changes

@tiptap/extension-placeholder

Patch Changes

@tiptap/extension-table-cell

Patch Changes

@tiptap/extension-table-header

Patch Changes

@tiptap/extension-table-row

Patch Changes

@tiptap/extension-list-item

Patch Changes

@tiptap/extension-list-keymap

Patch Changes

@tiptap/extension-task-item

Patch Changes

@tiptap/extension-task-list

Patch Changes

@tiptap/extension-bullet-list

Patch Changes

@tiptap/extension-ordered-list

Patch Changes

@tiptap/extension-drag-handle-react

Patch Changes

@tiptap/core

Patch Changes

@tiptap/extension-audio

Patch Changes

@tiptap/extension-bold

Patch Changes

@tiptap/extension-bubble-menu

Patch Changes

@tiptap/extension-code

Patch Changes

@tiptap/extension-code-block

Patch Changes

@tiptap/extension-code-block-lowlight

Patch Changes

@tiptap/extension-collaboration

Patch Changes

@tiptap/extension-collaboration-caret

Patch Changes

@tiptap/extension-color

Patch Changes

@tiptap/extension-details

Patch Changes

@tiptap/extension-document

Patch Changes

@tiptap/extension-drag-handle

Patch Changes

@tiptap/extension-drag-handle-vue-2

Patch Changes

@tiptap/extension-drag-handle-vue-3

Patch Changes

@tiptap/extension-emoji

Patch Changes

@tiptap/extension-file-handler

Patch Changes

@tiptap/extension-floating-menu

Patch Changes

@tiptap/extension-font-family

Patch Changes

@tiptap/extension-hard-break

Patch Changes

@tiptap/extension-heading

Patch Changes

@tiptap/extension-highlight

Patch Changes

@tiptap/extension-horizontal-rule

Patch Changes

@tiptap/extension-image

Patch Changes

@tiptap/extension-invisible-characters

Patch Changes

@tiptap/extension-italic

Patch Changes

Patch Changes

@tiptap/extension-mathematics

Patch Changes

@tiptap/extension-mention

Patch Changes

@tiptap/extension-node-range

Patch Changes

@tiptap/extension-paragraph

Patch Changes

@tiptap/extension-strike

Patch Changes

@tiptap/extension-subscript

Patch Changes

@tiptap/extension-superscript

Patch Changes

@tiptap/extension-table-of-contents

Patch Changes

@tiptap/extension-text

Patch Changes

@tiptap/extension-text-align

Patch Changes

@tiptap/extension-text-style

Patch Changes

@tiptap/extension-twitch

Patch Changes

@tiptap/extension-typography

Patch Changes

@tiptap/extension-underline

Patch Changes

@tiptap/extension-unique-id

Patch Changes

@tiptap/extension-youtube

Patch Changes

@tiptap/html

Patch Changes

@tiptap/markdown

Patch Changes

@tiptap/starter-kit

Patch Changes

@tiptap/static-renderer

Patch Changes

@tiptap/suggestion

Patch Changes

@tiptap/vue-2

Patch Changes

@tiptap/vue-3

Patch Changes

v3.27.3

@tiptap/core

Patch Changes

  • 94de762: Fix deleteSelection to delete content across all selection ranges instead of only the first range. This restores multi-cell table selections and other custom selections with multiple ranges.
  • @tiptap/pm@3.27.3

@tiptap/extension-list

Patch Changes

  • 94de762: Fix markdown parsing bugs where block elements right after an ordered list item (with no blank line in between) were wrongly treated as lazy continuation of the list item, instead of terminating the list the way other markdown parsers do:

    • Thematic breaks (---, ***, ___, * * *) were swallowed into the list item as literal paragraph text — along with every line after them. They now terminate the list and become a horizontal rule.
    • Fenced code blocks (``` and ~~~) were nested inside the list item. They now terminate the list and become a top-level code block.
    • Unindented bullet markers (- item) were nested inside the ordered list item. They now terminate the ordered list and start a new top-level bullet list. Indented bullets still nest inside the item as before.

    An indented ***/___ inside item content is now also parsed as a horizontal rule inside the item instead of literal text. A --- line directly below item paragraph text keeps its current behavior because it is a setext heading underline per CommonMark, not a thematic break.

  • 94de762: Fix indented ordered list items (e.g. one leading space before the marker, as happens when a top-level ordered list is itself nested inside another list) losing inline formatting during markdown parsing. The custom ordered-list markdown tokenizer built its nested structure with a hardcoded base indentation of 0, so an item whose actual indentation was non-zero never matched, causing the tokenizer to silently produce zero items and bail out — falling back to a path that left the item's content as literal, unparsed text instead of running it through inline tokenization (bold, italic, etc. were lost). The base indentation is now taken from the first collected item instead of being hardcoded.

  • Updated dependencies [94de762]

@tiptap/extensions

Patch Changes

  • 94de762: Fixed placeholder flickering and disappearance on large documents. Replaced the viewport-based decoration scan with an incremental StateField<DecorationSet> that only re-computes decorations for top-level nodes touched by each transaction. This eliminates the dependency on DOM measurement (posAtCoords), requestAnimationFrame scheduling, and scroll listeners that caused flickering under collaboration, occlusion, and rapid edits.
  • Updated dependencies [94de762]

@tiptap/extension-audio

Patch Changes

@tiptap/extension-blockquote

Patch Changes

@tiptap/extension-bold

Patch Changes

@tiptap/extension-bubble-menu

Patch Changes

@tiptap/extension-code

Patch Changes

@tiptap/extension-code-block

Patch Changes

@tiptap/extension-code-block-lowlight

Patch Changes

@tiptap/extension-collaboration

Patch Changes

@tiptap/extension-collaboration-caret

Patch Changes

@tiptap/extension-details

Patch Changes

@tiptap/extension-document

Patch Changes

@tiptap/extension-drag-handle

Patch Changes

@tiptap/extension-emoji

Patch Changes

@tiptap/extension-file-handler

Patch Changes

@tiptap/extension-floating-menu

Patch Changes

@tiptap/extension-hard-break

Patch Changes

@tiptap/extension-heading

Patch Changes

@tiptap/extension-highlight

Patch Changes

@tiptap/extension-horizontal-rule

Patch Changes

@tiptap/extension-image

Patch Changes

@tiptap/extension-invisible-characters

Patch Changes

@tiptap/extension-italic

Patch Changes

Patch Changes

@tiptap/extension-mathematics

Patch Changes

@tiptap/extension-mention

Patch Changes

@tiptap/extension-node-range

Patch Changes

@tiptap/extension-paragraph

Patch Changes

@tiptap/extension-strike

Patch Changes

@tiptap/extension-subscript

Patch Changes

@tiptap/extension-superscript

Patch Changes

@tiptap/extension-table

Patch Changes

@tiptap/extension-table-of-contents

Patch Changes

@tiptap/extension-text

Patch Changes

@tiptap/extension-text-align

Patch Changes

@tiptap/extension-text-style

Patch Changes

@tiptap/extension-twitch

Patch Changes

@tiptap/extension-typography

Patch Changes

@tiptap/extension-underline

Patch Changes

@tiptap/extension-unique-id

Patch Changes

@tiptap/extension-youtube

Patch Changes

@tiptap/html

Patch Changes

@tiptap/markdown

Patch Changes

@tiptap/react

Patch Changes

@tiptap/static-renderer

Patch Changes

@tiptap/suggestion

Patch Changes

@tiptap/vue-2

Patch Changes

@tiptap/vue-3

Patch Changes

@tiptap/extension-list-item

Patch Changes

@tiptap/extension-list-keymap

Patch Changes

@tiptap/extension-task-item

Patch Changes

@tiptap/extension-task-list

Patch Changes

@tiptap/extension-bullet-list

Patch Changes

@tiptap/extension-ordered-list

Patch Changes

@tiptap/extension-character-count

Patch Changes

@tiptap/extension-dropcursor

Patch Changes

@tiptap/extension-focus

Patch Changes

@tiptap/extension-gapcursor

Patch Changes

@tiptap/extension-history

Patch Changes

@tiptap/extension-placeholder

Patch Changes

@tiptap/extension-drag-handle-react

Patch Changes

@tiptap/extension-drag-handle-vue-2

Patch Changes

@tiptap/extension-drag-handle-vue-3

Patch Changes

@tiptap/extension-table-cell

Patch Changes

@tiptap/extension-table-header

Patch Changes

@tiptap/extension-table-row

Patch Changes

@tiptap/extension-color

Patch Changes

@tiptap/extension-font-family

Patch Changes

@tiptap/starter-kit

Patch Changes

v3.27.2

@tiptap/extension-emoji

Patch Changes

  • ceebb31: Fix arrow key navigation past emoji nodes in Firefox. Previously, pressing ArrowLeft with the cursor adjacent to an inline non-selectable emoji node at a paragraph boundary would not move the cursor in Firefox. The cursor now correctly skips over emoji nodes in both directions.
  • Updated dependencies [ceebb31]

@tiptap/extension-file-handler

Patch Changes

  • ceebb31: Add consumePasteEvent option to the file-handler extension. When true, handlePaste returns true even when HTML content is present in the clipboard, preventing paste rules from other extensions from creating duplicate content. Default is false.
  • Updated dependencies [ceebb31]

@tiptap/extension-drag-handle

Patch Changes

  • ceebb31: Fix NodeRangeSelection not being restored after drag-and-drop when Collaboration (Yjs) is enabled. Drop anchor positions are now tracked with Yjs relative positions and remapped across isChangeOrigin document rebuilds, and selection restore runs via appendTransaction after the drop transaction settles.
  • ceebb31: Fix the drag handle when the editor renders zero-size widget decorations, such as the page chrome injected by the Pages extension. The handle now resolves to the correct block instead of failing to position or aligning to a decoration, and it stays above positioned page chrome so it remains clickable.
  • Updated dependencies [ceebb31]

Patch Changes

  • ceebb31: Coerce undefined HTMLAttributes (target, rel, class) to null so ProseMirror does not emit "No value supplied for attribute" warnings when these options are explicitly set to undefined.
  • Updated dependencies [ceebb31]

@tiptap/extension-list

Patch Changes

  • ceebb31: Fix a markdown parsing bug where a heading right after an ordered list item (with no blank line in between) got pulled into the list item as plain text, so you'd see a literal ### inside the list instead of an actual heading. Headings now end the list and get parsed properly, the way other markdown parsers handle it. Indented headings inside a list item are also parsed as real headings now instead of literal text.
  • Updated dependencies [ceebb31]

@tiptap/extension-mathematics

Patch Changes

@tiptap/react

Patch Changes

  • ceebb31: Change prop types of the Tiptap component so that either the editor or the instance fields are required
  • Updated dependencies [ceebb31]

@tiptap/extension-drag-handle-react

Patch Changes

  • ceebb31: Fix React 19 strict mode compatibility by using useRef instead of useState for the portal element. Changing the className prop now updates the element in place without re-registering the drag handle plugin.
  • Updated dependencies [ceebb31]
  • Updated dependencies [ceebb31]
  • Updated dependencies [ceebb31]
  • Updated dependencies [ceebb31]

@tiptap/static-renderer

Patch Changes

  • ceebb31: Fix the static renderer ignoring unhandledNode and unhandledMark for node or mark types missing from the schema; such content now falls back to those renderers instead of throwing in Node.fromJSON
  • Updated dependencies [ceebb31]

@tiptap/pm

Patch Changes

  • ceebb31: Updated all ProseMirror packages to the latest publicly available versions

@tiptap/extension-drag-handle-vue-2

Patch Changes

@tiptap/extension-drag-handle-vue-3

Patch Changes

@tiptap/extension-list-item

Patch Changes

@tiptap/extension-list-keymap

Patch Changes

@tiptap/extension-task-item

Patch Changes

@tiptap/extension-task-list

Patch Changes

@tiptap/extension-bullet-list

Patch Changes

@tiptap/extension-ordered-list

Patch Changes

@tiptap/core

Patch Changes

@tiptap/extension-bubble-menu

Patch Changes

@tiptap/extension-code-block

Patch Changes

@tiptap/extension-code-block-lowlight

Patch Changes

@tiptap/extension-collaboration

Patch Changes

@tiptap/extension-collaboration-caret

Patch Changes

@tiptap/extension-details

Patch Changes

@tiptap/extension-floating-menu

Patch Changes

@tiptap/extension-horizontal-rule

Patch Changes

@tiptap/extension-invisible-characters

Patch Changes

@tiptap/extension-mention

Patch Changes

@tiptap/extension-node-range

Patch Changes

@tiptap/extension-subscript

Patch Changes

@tiptap/extension-superscript

Patch Changes

@tiptap/extension-table

Patch Changes

@tiptap/extension-table-of-contents

Patch Changes

@tiptap/extension-unique-id

Patch Changes

@tiptap/extensions

Patch Changes

@tiptap/html

Patch Changes

@tiptap/markdown

Patch Changes

@tiptap/suggestion

Patch Changes

@tiptap/vue-2

Patch Changes

@tiptap/vue-3

Patch Changes

@tiptap/extension-audio

Patch Changes

@tiptap/extension-blockquote

Patch Changes

@tiptap/extension-bold

Patch Changes

@tiptap/extension-code

Patch Changes

@tiptap/extension-document

Patch Changes

@tiptap/extension-hard-break

Patch Changes

@tiptap/extension-heading

Patch Changes

@tiptap/extension-highlight

Patch Changes

@tiptap/extension-image

Patch Changes

@tiptap/extension-italic

Patch Changes

@tiptap/extension-paragraph

Patch Changes

@tiptap/extension-strike

Patch Changes

@tiptap/extension-text

Patch Changes

@tiptap/extension-text-align

Patch Changes

@tiptap/extension-text-style

Patch Changes

@tiptap/extension-twitch

Patch Changes

@tiptap/extension-typography

Patch Changes

@tiptap/extension-underline

Patch Changes

@tiptap/extension-youtube

Patch Changes

@tiptap/extension-table-cell

Patch Changes

@tiptap/extension-table-header

Patch Changes

@tiptap/extension-table-row

Patch Changes

@tiptap/extension-character-count

Patch Changes

@tiptap/extension-dropcursor

Patch Changes

@tiptap/extension-focus

Patch Changes

@tiptap/extension-gapcursor

Patch Changes

@tiptap/extension-history

Patch Changes

@tiptap/extension-placeholder

Patch Changes

@tiptap/extension-color

Patch Changes

@tiptap/extension-font-family

Patch Changes

@tiptap/starter-kit

Patch Changes

v3.27.1

@tiptap/extension-drag-handle

Patch Changes

@tiptap/extension-list

Patch Changes

@tiptap/extensions

Patch Changes

  • a16901d: Fix Placeholder flickering while a modal overlay is open. When the editor was occluded during a stream of transactions (e.g. remote collaboration edits), the viewport measurement fell back to a full-document range and repeatedly toggled the data-placeholder attribute on empty blocks. The viewport window is now frozen when the editor can't be measured reliably, so placeholders stay stable.
  • @tiptap/core@3.27.1

@tiptap/extension-drag-handle-react

Patch Changes

@tiptap/extension-drag-handle-vue-2

Patch Changes

@tiptap/extension-drag-handle-vue-3

Patch Changes

@tiptap/extension-list-item

Patch Changes

@tiptap/extension-list-keymap

Patch Changes

@tiptap/extension-task-item

Patch Changes

@tiptap/extension-task-list

Patch Changes

@tiptap/extension-bullet-list

Patch Changes

@tiptap/extension-ordered-list

Patch Changes

@tiptap/extension-character-count

Patch Changes

@tiptap/extension-dropcursor

Patch Changes

@tiptap/extension-focus

Patch Changes

@tiptap/extension-gapcursor

Patch Changes

@tiptap/extension-history

Patch Changes

@tiptap/extension-placeholder

Patch Changes

@tiptap/extension-table-cell

Patch Changes

@tiptap/extension-table-header

Patch Changes

@tiptap/extension-table-row

Patch Changes

@tiptap/core

Patch Changes

@tiptap/extension-audio

Patch Changes

@tiptap/extension-blockquote

Patch Changes

@tiptap/extension-bold

Patch Changes

@tiptap/extension-bubble-menu

Patch Changes

@tiptap/extension-code

Patch Changes

@tiptap/extension-code-block

Patch Changes

@tiptap/extension-code-block-lowlight

Patch Changes

@tiptap/extension-collaboration

Patch Changes

@tiptap/extension-collaboration-caret

Patch Changes

@tiptap/extension-color

Patch Changes

@tiptap/extension-details

Patch Changes

@tiptap/extension-document

Patch Changes

@tiptap/extension-emoji

Patch Changes

@tiptap/extension-file-handler

Patch Changes

@tiptap/extension-floating-menu

Patch Changes

@tiptap/extension-font-family

Patch Changes

@tiptap/extension-hard-break

Patch Changes

@tiptap/extension-heading

Patch Changes

@tiptap/extension-highlight

Patch Changes

@tiptap/extension-horizontal-rule

Patch Changes

@tiptap/extension-image

Patch Changes

@tiptap/extension-invisible-characters

Patch Changes

@tiptap/extension-italic

Patch Changes

Patch Changes

@tiptap/extension-mathematics

Patch Changes

@tiptap/extension-mention

Patch Changes

@tiptap/extension-node-range

Patch Changes

@tiptap/extension-paragraph

Patch Changes

@tiptap/extension-strike

Patch Changes

@tiptap/extension-subscript

Patch Changes

@tiptap/extension-superscript

Patch Changes

@tiptap/extension-table

Patch Changes

@tiptap/extension-table-of-contents

Patch Changes

@tiptap/extension-text

Patch Changes

@tiptap/extension-text-align

Patch Changes

@tiptap/extension-text-style

Patch Changes

@tiptap/extension-twitch

Patch Changes

@tiptap/extension-typography

Patch Changes

@tiptap/extension-underline

Patch Changes

@tiptap/extension-unique-id

Patch Changes

@tiptap/extension-youtube

Patch Changes

@tiptap/html

Patch Changes

@tiptap/markdown

Patch Changes

@tiptap/react

Patch Changes

@tiptap/starter-kit

Patch Changes

@tiptap/static-renderer

Patch Changes

@tiptap/suggestion

Patch Changes

@tiptap/vue-2

Patch Changes

@tiptap/vue-3

Patch Changes

v3.27.0

@tiptap/extension-list

Minor Changes

  • 6270b99: Ordered lists now support the type attribute (a, A, i, I).

    The <ol> type attribute is now fully preserved through the HTML round-trip:

    • type="a" → lowercase alphabetical markers
    • type="A" → uppercase alphabetical markers
    • type="i" → lowercase roman numeral markers
    • type="I" → uppercase roman numeral markers

    Paste from external editors (Google Docs, Word, LibreOffice) now correctly detects the list style — both from the HTML type attribute and from CSS list-style-type properties.

    Plain text paste of typed ordered list markers (e.g. a. Item, I) Item, i. Item\nii. Item) is detected and converted to the correct list type.

    Markdown round-trip preserves typed markers: parsing a. Item creates type: "a", and serializing a typed list back to markdown uses the correct prefix (e.g. I., ii.).

    Joining of adjacent lists now respects type — two lists with different types (e.g. default numeric and type="a") are not merged.

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/core

Patch Changes

  • 6270b99: Ordered lists now support the type attribute (a, A, i, I).

    The <ol> type attribute is now fully preserved through the HTML round-trip:

    • type="a" → lowercase alphabetical markers
    • type="A" → uppercase alphabetical markers
    • type="i" → lowercase roman numeral markers
    • type="I" → uppercase roman numeral markers

    Paste from external editors (Google Docs, Word, LibreOffice) now correctly detects the list style — both from the HTML type attribute and from CSS list-style-type properties.

    Plain text paste of typed ordered list markers (e.g. a. Item, I) Item, i. Item\nii. Item) is detected and converted to the correct list type.

    Markdown round-trip preserves typed markers: parsing a. Item creates type: "a", and serializing a typed list back to markdown uses the correct prefix (e.g. I., ii.).

    Joining of adjacent lists now respects type — two lists with different types (e.g. default numeric and type="a") are not merged.

  • 6270b99: parseAttributes now supports any word characters at the start of classes or id attributes.

  • 6270b99: Fix marksEqual to compare mark arrays as multisets instead of index-by-index, so order of marks no longer affects the result. Broaden the type signature to accept ProseMirror Mark objects (where type is an object with a name property) alongside the existing JSON mark shape ({ type: string }).

  • 6270b99: Fix a edge-case in rewriteUnknownContent to not fail on null-ish values inside marks or nodes.

  • @tiptap/pm@3.27.0

Patch Changes

  • 6270b99: Fix isAllowedUri accepting unknown protocols whose name contains a hyphen (e.g. unknown-protocol://test). The hyphen is a valid scheme character per RFC 3986, but the regex was built from a template literal where \- collapsed to -, leaving the terminator class [^a-z+.-:] to parse .-: as a character range that excluded 0-9 and / rather than -. With the proper double-escape, the regex correctly excludes - and unknown hyphenated schemes are rejected again.
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/suggestion

Minor Changes

  • 6270b99: Add props.mount(element) for fully managed popup positioning. It mounts the popup into the configured container (default document.body), keeps it anchored to the cursor, and automatically repositions on scroll, resize, and layout shifts via Floating UI's autoUpdate — no manual listeners required. It returns an unmount function to call in onExit.

    This is additive and opt-in: mounting and positioning manually with props.floatingUi + props.clientRect remains supported as an escape hatch.

  • 6270b99: Dismiss managed suggestion popups when the user clicks outside both the popup and the editor. Enabled by default for popups mounted via props.mount, and configurable with the new dismissOnOutsideClick option.

  • 6270b99: Expose Floating UI positioning configuration through SuggestionProps. Consumers can now read placement, offset, flip, container, and a resolved floatingUi config to drive their own positioning loop.

  • 6270b99: Add async suggestion lifecycle handling, including debounced async items(), in-flight request aborting, initialItems, a loading state, and a minQueryLength filter.

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/markdown

Patch Changes

  • 6270b99: Fix parsing with injected Marked instances so custom markdown tokenizers registered via marked.use(...) are respected.
  • 6270b99: Fix unrecognized HTML detection during markdown parsing to work without window.DOMParser or HTMLUnknownElement, so angle-bracket placeholders are preserved as literal text in SSR and Node environments.
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-drag-handle

Patch Changes

@tiptap/server-ai-toolkit

Minor Changes

  • 6270b99: Remove legacy exports: GetSchemaAwarenessDataOptions, getSchemaAwarenessData and SchemaAwarenessData

@tiptap/extension-list-item

Patch Changes

@tiptap/extension-list-keymap

Patch Changes

@tiptap/extension-task-item

Patch Changes

@tiptap/extension-task-list

Patch Changes

@tiptap/extension-bullet-list

Patch Changes

@tiptap/extension-ordered-list

Patch Changes

@tiptap/extension-audio

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-blockquote

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-bold

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-bubble-menu

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-code

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-code-block

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-code-block-lowlight

Patch Changes

@tiptap/extension-collaboration

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-collaboration-caret

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-details

Patch Changes

@tiptap/extension-document

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-emoji

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-file-handler

Patch Changes

@tiptap/extension-floating-menu

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-hard-break

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-heading

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-highlight

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-horizontal-rule

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-image

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-invisible-characters

Patch Changes

@tiptap/extension-italic

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-mathematics

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-mention

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-node-range

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-paragraph

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-strike

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-subscript

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-superscript

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-table

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-table-of-contents

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-text

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-text-align

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-text-style

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-twitch

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-typography

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-underline

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-unique-id

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-youtube

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extensions

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/html

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/react

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/static-renderer

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/vue-2

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/vue-3

Patch Changes

  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]
  • Updated dependencies [6270b99]

@tiptap/extension-drag-handle-react

Patch Changes

@tiptap/extension-drag-handle-vue-2

Patch Changes

@tiptap/extension-drag-handle-vue-3

Patch Changes

@tiptap/extension-table-cell

Patch Changes

@tiptap/extension-table-header

Patch Changes

@tiptap/extension-table-row

Patch Changes

@tiptap/extension-color

Patch Changes

@tiptap/extension-font-family

Patch Changes

@tiptap/extension-character-count

Patch Changes

@tiptap/extension-dropcursor

Patch Changes

@tiptap/extension-focus

Patch Changes

@tiptap/extension-gapcursor

Patch Changes

@tiptap/extension-history

Patch Changes

@tiptap/extension-placeholder

Patch Changes

@tiptap/starter-kit

Patch Changes

v3.26.1

@tiptap/extension-node-range

Patch Changes

  • a38c9c0: Fixed drag-and-drop duplicating blocks during collaboration. When a remote collaborator edited the document mid-drag, dropping left an empty copy of the dragged block at its original position. This fix also requires a version of @tiptap/y-tiptap that restores node range selections across remote updates.
  • a38c9c0: Bump @tiptap/y-tiptap to version ^3.0.5
  • @tiptap/core@3.26.1

@tiptap/extension-drag-handle

Patch Changes

@tiptap/extension-collaboration-caret

Patch Changes

@tiptap/extension-collaboration

Patch Changes

@tiptap/extension-drag-handle-react

Patch Changes

@tiptap/extension-drag-handle-vue-2

Patch Changes

@tiptap/extension-drag-handle-vue-3

Patch Changes

@tiptap/extension-character-count

Patch Changes

@tiptap/extension-dropcursor

Patch Changes

@tiptap/extension-focus

Patch Changes

@tiptap/extension-gapcursor

Patch Changes

@tiptap/extension-history

Patch Changes

@tiptap/extension-list-item

Patch Changes

@tiptap/extension-list-keymap

Patch Changes

@tiptap/extension-placeholder

Patch Changes

@tiptap/extension-table-cell

Patch Changes

@tiptap/extension-table-header

Patch Changes

@tiptap/extension-table-row

Patch Changes

@tiptap/extension-task-item

Patch Changes

@tiptap/extension-task-list

Patch Changes

@tiptap/core

Patch Changes

@tiptap/extension-audio

Patch Changes

@tiptap/extension-blockquote

Patch Changes

@tiptap/extension-bold

Patch Changes

@tiptap/extension-bubble-menu

Patch Changes

@tiptap/extension-bullet-list

Patch Changes

@tiptap/extension-code

Patch Changes

@tiptap/extension-code-block

Patch Changes

@tiptap/extension-code-block-lowlight

Patch Changes

@tiptap/extension-color

Patch Changes

@tiptap/extension-details

Patch Changes

@tiptap/extension-document

Patch Changes

@tiptap/extension-emoji

Patch Changes

@tiptap/extension-file-handler

Patch Changes

@tiptap/extension-floating-menu

Patch Changes

@tiptap/extension-font-family

Patch Changes

@tiptap/extension-hard-break

Patch Changes

@tiptap/extension-heading

Patch Changes

@tiptap/extension-highlight

Patch Changes

@tiptap/extension-horizontal-rule

Patch Changes

@tiptap/extension-image

Patch Changes

@tiptap/extension-invisible-characters

Patch Changes

@tiptap/extension-italic

Patch Changes

Patch Changes

@tiptap/extension-list

Patch Changes

@tiptap/extension-mathematics

Patch Changes

@tiptap/extension-mention

Patch Changes

@tiptap/extension-ordered-list

Patch Changes

@tiptap/extension-paragraph

Patch Changes

@tiptap/extension-strike

Patch Changes

@tiptap/extension-subscript

Patch Changes

@tiptap/extension-superscript

Patch Changes

@tiptap/extension-table

Patch Changes

@tiptap/extension-table-of-contents

Patch Changes

@tiptap/extension-text

Patch Changes

@tiptap/extension-text-align

Patch Changes

@tiptap/extension-text-style

Patch Changes

@tiptap/extension-twitch

Patch Changes

@tiptap/extension-typography

Patch Changes

@tiptap/extension-underline

Patch Changes

@tiptap/extension-unique-id

Patch Changes

@tiptap/extension-youtube

Patch Changes

@tiptap/extensions

Patch Changes

@tiptap/html

Patch Changes

@tiptap/markdown

Patch Changes

@tiptap/react

Patch Changes

@tiptap/starter-kit

Patch Changes

@tiptap/static-renderer

Patch Changes

@tiptap/suggestion

Patch Changes

@tiptap/vue-2

Patch Changes

@tiptap/vue-3

Patch Changes

v3.26.0

@tiptap/extension-blockquote

Minor Changes

  • 7fb19eb: Backspace at the start of a non-first child of a blockquote now lifts that child out, splitting the blockquote around it. A second backspace at the start of a top-level textblock whose previous sibling is a blockquote merges the textblock's inline content into the blockquote's last textblock instead of pulling the paragraph back inside.

Patch Changes

@tiptap/server-ai-toolkit

Patch Changes

  • 7fb19eb: Only add hash attributes to nodes, not to marks.

@tiptap/extensions

Patch Changes

  • 7fb19eb: Fix the Selection extension highlighting beyond the selected text on multi-line selections: the native browser selection is now hidden while the editor is blurred, so only the styled .selection decoration is shown.
  • @tiptap/core@3.26.0

tiptap-demos

Patch Changes

  • 7fb19eb: Fix the Selection extension highlighting beyond the selected text on multi-line selections: the native browser selection is now hidden while the editor is blurred, so only the styled .selection decoration is shown.

@tiptap/extension-character-count

Patch Changes

@tiptap/extension-dropcursor

Patch Changes

@tiptap/extension-focus

Patch Changes

@tiptap/extension-gapcursor

Patch Changes

@tiptap/extension-history

Patch Changes

@tiptap/extension-placeholder

Patch Changes

@tiptap/extension-list-item

Patch Changes

@tiptap/extension-list-keymap

Patch Changes

@tiptap/extension-table-cell

Patch Changes

@tiptap/extension-table-header

Patch Changes

@tiptap/extension-table-row

Patch Changes

@tiptap/extension-task-item

Patch Changes

@tiptap/extension-task-list

Patch Changes

@tiptap/core

Patch Changes

@tiptap/extension-audio

Patch Changes

@tiptap/extension-bold

Patch Changes

@tiptap/extension-bubble-menu

Patch Changes

@tiptap/extension-bullet-list

Patch Changes

@tiptap/extension-code

Patch Changes

@tiptap/extension-code-block

Patch Changes

@tiptap/extension-code-block-lowlight

Patch Changes

@tiptap/extension-collaboration

Patch Changes

@tiptap/extension-collaboration-caret

Patch Changes

@tiptap/extension-color

Patch Changes

@tiptap/extension-details

Patch Changes

@tiptap/extension-document

Patch Changes

@tiptap/extension-drag-handle

Patch Changes

@tiptap/extension-drag-handle-react

Patch Changes

@tiptap/extension-drag-handle-vue-2

Patch Changes

@tiptap/extension-drag-handle-vue-3

Patch Changes

@tiptap/extension-emoji

Patch Changes

@tiptap/extension-file-handler

Patch Changes

@tiptap/extension-floating-menu

Patch Changes

@tiptap/extension-font-family

Patch Changes

@tiptap/extension-hard-break

Patch Changes

@tiptap/extension-heading

Patch Changes

@tiptap/extension-highlight

Patch Changes

@tiptap/extension-horizontal-rule

Patch Changes

@tiptap/extension-image

Patch Changes

@tiptap/extension-invisible-characters

Patch Changes

@tiptap/extension-italic

Patch Changes

Patch Changes

@tiptap/extension-list

Patch Changes

@tiptap/extension-mathematics

Patch Changes

@tiptap/extension-mention

Patch Changes

@tiptap/extension-node-range

Patch Changes

@tiptap/extension-ordered-list

Patch Changes

@tiptap/extension-paragraph

Patch Changes

@tiptap/extension-strike

Patch Changes

@tiptap/extension-subscript

Patch Changes

@tiptap/extension-superscript

Patch Changes

@tiptap/extension-table

Patch Changes

@tiptap/extension-table-of-contents

Patch Changes

@tiptap/extension-text

Patch Changes

@tiptap/extension-text-align

Patch Changes

@tiptap/extension-text-style

Patch Changes

@tiptap/extension-twitch

Patch Changes

@tiptap/extension-typography

Patch Changes

@tiptap/extension-underline

Patch Changes

@tiptap/extension-unique-id

Patch Changes

@tiptap/extension-youtube

Patch Changes

@tiptap/html

Patch Changes

@tiptap/markdown

Patch Changes

@tiptap/react

Patch Changes

@tiptap/starter-kit

Patch Changes

@tiptap/static-renderer

Patch Changes

@tiptap/suggestion

Patch Changes

@tiptap/vue-2

Patch Changes

@tiptap/vue-3

Patch Changes

v3.25.0

@tiptap/core

Patch Changes

  • 711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate

    When the Image extension was configured with inline: true or resize enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate dataTransfer.files, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.

  • 711c2e3: Add clearable mark option (default true). unsetAllMarks now skips marks with clearable: false, so semantic marks like comments are not removed by "clear formatting".

  • 711c2e3: Add attrsEqual and marksEqual utility functions to @tiptap/core. attrsEqual compares two attribute objects for equality regardless of key ordering. marksEqual compares two arrays of mark objects by type and attributes using attrsEqual.

  • 711c2e3: Fix plain-text copy of table cell selections including content from unselected cells in between. Each selected range is now serialized independently and joined in document order, so dragging upward (reverse selection) also produces output in document order.

  • Updated dependencies [711c2e3]

@tiptap/extension-file-handler

Patch Changes

  • 711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate

    When the Image extension was configured with inline: true or resize enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate dataTransfer.files, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.

  • Updated dependencies [711c2e3]

  • Updated dependencies [711c2e3]

  • Updated dependencies [711c2e3]

  • Updated dependencies [711c2e3]

  • Updated dependencies [711c2e3]

@tiptap/extension-image

Patch Changes

  • 711c2e3: Fix: dragging an inline/resizable image within the editor no longer creates a duplicate

    When the Image extension was configured with inline: true or resize enabled, dragging an image within the editor could insert a duplicate at the drop position instead of moving it. This happened because the browser's native image drag behavior could populate dataTransfer.files, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.

  • 711c2e3: Fix HTMLAttributes not being applied to the editor DOM when resize is enabled. The addNodeView path was using only the resolved node attributes and skipping the user-configured HTMLAttributes option. Now it merges them consistently with how renderHTML already works.

  • Updated dependencies [711c2e3]

  • Updated dependencies [711c2e3]

  • Updated dependencies [711c2e3]

  • Updated dependencies [711c2e3]

@tiptap/extension-list

Minor Changes

  • 711c2e3: ListKeymap's Backspace handler now lifts the current list item before merging. At the start of a non-first list item, the item is lifted out of its wrapping list (splitting the list around it) instead of immediately joining its content into the previous item. A second Backspace then hits the existing "paragraph after a list" branch and merges the lifted textblock's content into the previous list's last item. Mirrors the two-step behavior introduced for blockquote in #7891.

Patch Changes

  • 711c2e3: Fix delete at the end of a list item with a branching nested sublist. Nested items are hoisted to the parent list instead of being node-selected and deleted on the next keypress.
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/extensions

Minor Changes

  • 711c2e3: Allow emptyNodeClass in the Placeholder extension to accept a function that returns a dynamic CSS class name per node

Patch Changes

  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/static-renderer

Patch Changes

  • 711c2e3: Fix blockquote markdown rendering to add a trailing newline so subsequent content is not incorrectly included in the blockquote
  • 711c2e3: Fix the types of the JSON static renderers (renderJSONContentToReactElement and renderJSONContentToString): you can now pass JSONContent directly and read node fields like node.text in your mappings without type errors or casts.
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/extension-table

Patch Changes

  • 711c2e3: Fix HTMLAttributes not being applied to the <table> element when resizable is disabled (the default). The TableView node view (introduced in 3.23) bypassed renderHTML and never applied user-configured attributes like class or data-* to the rendered table element.
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/pm

Patch Changes

  • 711c2e3: Bump prosemirror-tables to ^1.8.0 so findTable is available from @tiptap/pm, and align the related ProseMirror dependencies with the versions required by prosemirror-tables.

@tiptap/extension-unique-id

Patch Changes

  • 711c2e3: Fix memory leak when destroying an editor before the collaboration provider syncs. The synced listener registered in onCreate was only removed once the event fired, so destroying the editor first left the createIds closure (and the whole editor it captures) referenced by the shared provider. The listener is now also detached on destroy, so the editor can be garbage collected.
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/extension-code

Patch Changes

  • 711c2e3: Fixed a bug where typing a character before an inline code markdown shortcut (e.g. a followed by backtick-delimited code) would delete the preceding character. The preceding character is now preserved.
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/extension-collaboration-caret

Patch Changes

  • 711c2e3: Fix crash when awareness state value is null or undefined (e.g. after a client disconnects)
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/extension-collaboration

Patch Changes

  • 711c2e3: Fixed onContentError not being triggered when invalid collaborative content is detected. The filterTransaction hook now allows the transaction through to keep ProseMirror state in sync with Yjs, ensuring the contentError event fires correctly.
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/markdown

Patch Changes

  • 711c2e3: Fix backslash-escape handling in the Markdown parser and serializer. Parsing a backslash-escaped markdown character (e.g. \*, \_, \\) now correctly produces a literal text node, instead of silently dropping the character. On serialization, characters that have special meaning in markdown inline syntax (*, _, `, [, ], \, ~) are now backslash-escaped in non-code text nodes to prevent them from being misinterpreted as formatting delimiters when the output is parsed again.
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/vue-3

Patch Changes

  • 711c2e3: Fix VueNodeViewRenderer thrashing the DOM when contentDOM is null for non-leaf nodes. The renderer now always creates a contentDOM element for non-leaf nodes (matching React's behavior), so ProseMirror has a valid element to render children into even when the NodeView component does not include NodeViewContent or renders it conditionally.
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/vue-2

Patch Changes

  • 711c2e3: Fix VueNodeViewRenderer thrashing the DOM when contentDOM is null for non-leaf nodes. The renderer now always creates a contentDOM element for non-leaf nodes (matching React's behavior), so ProseMirror has a valid element to render children into even when the NodeView component does not include NodeViewContent or renders it conditionally.
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/extension-audio

Patch Changes

  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/extension-blockquote

Patch Changes

  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/extension-bold

Patch Changes

  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/extension-bubble-menu

Patch Changes

  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/extension-code-block

Patch Changes

  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/extension-code-block-lowlight

Patch Changes

@tiptap/extension-details

Patch Changes

@tiptap/extension-document

Patch Changes

  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/extension-drag-handle

Patch Changes

@tiptap/extension-emoji

Patch Changes

@tiptap/extension-floating-menu

Patch Changes

  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/extension-hard-break

Patch Changes

  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/extension-heading

Patch Changes

  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/extension-highlight

Patch Changes

  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/extension-horizontal-rule

Patch Changes

  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/extension-invisible-characters

Patch Changes

@tiptap/extension-italic

Patch Changes

  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

Patch Changes

  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/extension-mathematics

Patch Changes

  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/extension-mention

Patch Changes

@tiptap/extension-node-range

Patch Changes

  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/extension-paragraph

Patch Changes

  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/extension-strike

Patch Changes

  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/extension-subscript

Patch Changes

  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/extension-superscript

Patch Changes

  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/extension-table-of-contents

Patch Changes

  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/extension-text

Patch Changes

  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/extension-text-align

Patch Changes

  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/extension-text-style

Patch Changes

  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/extension-twitch

Patch Changes

  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/extension-typography

Patch Changes

  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/extension-underline

Patch Changes

  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/extension-youtube

Patch Changes

  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/html

Patch Changes

  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/react

Patch Changes

  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/suggestion

Patch Changes

  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]
  • Updated dependencies [711c2e3]

@tiptap/extension-list-item

Patch Changes

@tiptap/extension-list-keymap

Patch Changes

@tiptap/extension-task-item

Patch Changes

@tiptap/extension-task-list

Patch Changes

@tiptap/extension-bullet-list

Patch Changes

@tiptap/extension-ordered-list

Patch Changes

@tiptap/extension-character-count

Patch Changes

@tiptap/extension-dropcursor

Patch Changes

@tiptap/extension-focus

Patch Changes

@tiptap/extension-gapcursor

Patch Changes

@tiptap/extension-history

Patch Changes

@tiptap/extension-placeholder

Patch Changes

@tiptap/extension-table-cell

Patch Changes

@tiptap/extension-table-header

Patch Changes

@tiptap/extension-table-row

Patch Changes

@tiptap/extension-drag-handle-react

Patch Changes

@tiptap/extension-drag-handle-vue-2

Patch Changes

@tiptap/extension-drag-handle-vue-3

Patch Changes

@tiptap/extension-color

Patch Changes

@tiptap/extension-font-family

Patch Changes

@tiptap/starter-kit

Patch Changes

v3.24.0

@tiptap/extension-collaboration-caret

Patch Changes

  • 7bd09b7: Fix memory leak when destroying an editor while the collaboration provider stays alive (e.g. multiple editors sharing one provider). The extension's awareness update listener is now removed on destroy, so the editor can be garbage collected.
  • Updated dependencies [7bd09b7]

@tiptap/extension-collaboration

Patch Changes

  • 7bd09b7: Fix a memory leak where destroying an editor while its Y.Doc/provider stays alive (e.g. multiple editors sharing one provider) left the editor uncollectable. Yjs' UndoManager registered a doc.on('destroy', ...) listener that was never removed, keeping the UndoManager — and through it the whole editor — reachable from the long-lived doc. Fixed upstream in @tiptap/y-tiptap; this bumps the dependency to pull in the fix.
  • Updated dependencies [7bd09b7]

@tiptap/server-ai-toolkit

Patch Changes

  • 7bd09b7: Exclude toText property when serializing the schema into a JSON object, because it is a function and functions are not serializable.

@tiptap/pm

Patch Changes

  • 7bd09b7: Add missing @tiptap/pm/inputrules export

@tiptap/extension-details

Patch Changes

@tiptap/markdown

Patch Changes

  • 7bd09b7: Fix text inside unknown angle-bracket tags being silently swallowed during markdown parsing. HTML-like content such as <enter existing CID here if available> that does not map to any known element is now preserved as literal text instead of disappearing, which also prevents downstream contentMatchAt errors when complex schemas (Mention, Variable, Table) are in use.
  • Updated dependencies [7bd09b7]

@tiptap/static-renderer

Patch Changes

  • 7bd09b7: Honor the textDirection editor option in renderToHTMLString, renderToMarkdown, and renderToReactElement, and omit null/undefined attribute values instead of serializing them as the literal string "null".
  • Updated dependencies [7bd09b7]

@tiptap/extensions

Patch Changes

  • 7bd09b7: Fix placeholder flickering during collaborative editing and reduce scroll-time CPU usage by deferring viewport recomputation to rAF, adding an overscan margin, and throttling scroll updates
  • Updated dependencies [7bd09b7]

@tiptap/extension-table-of-contents

Minor Changes

  • 7bd09b7: Add generateTocIds, a server-side utility that assigns id and data-toc-id attributes to anchor nodes in a Tiptap JSON document without needing an Editor instance.

Patch Changes

@tiptap/extension-drag-handle

Patch Changes

@tiptap/core

Patch Changes

@tiptap/extension-bubble-menu

Patch Changes

@tiptap/extension-code-block

Patch Changes

@tiptap/extension-code-block-lowlight

Patch Changes

@tiptap/extension-drag-handle-react

Patch Changes

@tiptap/extension-drag-handle-vue-2

Patch Changes

@tiptap/extension-drag-handle-vue-3

Patch Changes

@tiptap/extension-emoji

Patch Changes

@tiptap/extension-file-handler

Patch Changes

@tiptap/extension-floating-menu

Patch Changes

@tiptap/extension-horizontal-rule

Patch Changes

@tiptap/extension-invisible-characters

Patch Changes

Patch Changes

@tiptap/extension-list

Patch Changes

@tiptap/extension-mathematics

Patch Changes

@tiptap/extension-mention

Patch Changes

@tiptap/extension-node-range

Patch Changes

@tiptap/extension-subscript

Patch Changes

@tiptap/extension-superscript

Patch Changes

@tiptap/extension-table

Patch Changes

@tiptap/extension-unique-id

Patch Changes

@tiptap/html

Patch Changes

@tiptap/react

Patch Changes

@tiptap/suggestion

Patch Changes

@tiptap/vue-2

Patch Changes

@tiptap/vue-3

Patch Changes

@tiptap/extension-character-count

Patch Changes

@tiptap/extension-dropcursor

Patch Changes

@tiptap/extension-focus

Patch Changes

@tiptap/extension-gapcursor

Patch Changes

@tiptap/extension-history

Patch Changes

@tiptap/extension-placeholder

Patch Changes

@tiptap/extension-audio

Patch Changes

@tiptap/extension-blockquote

Patch Changes

@tiptap/extension-bold

Patch Changes

@tiptap/extension-code

Patch Changes

@tiptap/extension-document

Patch Changes

@tiptap/extension-hard-break

Patch Changes

@tiptap/extension-heading

Patch Changes

@tiptap/extension-highlight

Patch Changes

@tiptap/extension-image

Patch Changes

@tiptap/extension-italic

Patch Changes

@tiptap/extension-paragraph

Patch Changes

@tiptap/extension-strike

Patch Changes

@tiptap/extension-text

Patch Changes

@tiptap/extension-text-align

Patch Changes

@tiptap/extension-text-style

Patch Changes

@tiptap/extension-twitch

Patch Changes

@tiptap/extension-typography

Patch Changes

@tiptap/extension-underline

Patch Changes

@tiptap/extension-youtube

Patch Changes

@tiptap/extension-list-item

Patch Changes

@tiptap/extension-list-keymap

Patch Changes

@tiptap/extension-task-item

Patch Changes

@tiptap/extension-task-list

Patch Changes

@tiptap/extension-bullet-list

Patch Changes

@tiptap/extension-ordered-list

Patch Changes

@tiptap/extension-table-cell

Patch Changes

@tiptap/extension-table-header

Patch Changes

@tiptap/extension-table-row

Patch Changes

@tiptap/extension-color

Patch Changes

@tiptap/extension-font-family

Patch Changes

@tiptap/starter-kit

Patch Changes

v3.23.6

@tiptap/extension-drag-handle

Patch Changes

@tiptap/core

Patch Changes

  • 937ff2e: Fix deleteSelection to properly handle inline nodes with text* content. The selection is now expanded to include the entire inline node boundaries when deleting, preventing incorrect collapse of inline text nodes.
  • @tiptap/pm@3.23.6

@tiptap/extensions

Patch Changes

  • 937ff2e: Placeholder: Replaced full-document doc.descendants() traversal with a cursor-resolved fast path for the default config and viewport-limited scanning for the non-default config, significantly reducing decoration overhead on large documents.
  • Updated dependencies [937ff2e]

@tiptap/extension-drag-handle-react

Patch Changes

@tiptap/extension-drag-handle-vue-2

Patch Changes

@tiptap/extension-drag-handle-vue-3

Patch Changes

@tiptap/extension-audio

Patch Changes

@tiptap/extension-blockquote

Patch Changes

@tiptap/extension-bold

Patch Changes

@tiptap/extension-bubble-menu

Patch Changes

@tiptap/extension-code

Patch Changes

@tiptap/extension-code-block

Patch Changes

@tiptap/extension-code-block-lowlight

Patch Changes

@tiptap/extension-collaboration

Patch Changes

@tiptap/extension-collaboration-caret

Patch Changes

@tiptap/extension-details

Patch Changes

@tiptap/extension-document

Patch Changes

@tiptap/extension-emoji

Patch Changes

@tiptap/extension-file-handler

Patch Changes

@tiptap/extension-floating-menu

Patch Changes

@tiptap/extension-hard-break

Patch Changes

@tiptap/extension-heading

Patch Changes

@tiptap/extension-highlight

Patch Changes

@tiptap/extension-horizontal-rule

Patch Changes

@tiptap/extension-image

Patch Changes

@tiptap/extension-invisible-characters

Patch Changes

@tiptap/extension-italic

Patch Changes

Patch Changes

@tiptap/extension-list

Patch Changes

@tiptap/extension-mathematics

Patch Changes

@tiptap/extension-mention

Patch Changes

@tiptap/extension-node-range

Patch Changes

@tiptap/extension-paragraph

Patch Changes

@tiptap/extension-strike

Patch Changes

@tiptap/extension-subscript

Patch Changes

@tiptap/extension-superscript

Patch Changes

@tiptap/extension-table

Patch Changes

@tiptap/extension-table-of-contents

Patch Changes

@tiptap/extension-text

Patch Changes

@tiptap/extension-text-align

Patch Changes

@tiptap/extension-text-style

Patch Changes

@tiptap/extension-twitch

Patch Changes

@tiptap/extension-typography

Patch Changes

@tiptap/extension-underline

Patch Changes

@tiptap/extension-unique-id

Patch Changes

@tiptap/extension-youtube

Patch Changes

@tiptap/html

Patch Changes

@tiptap/markdown

Patch Changes

@tiptap/react

Patch Changes

@tiptap/static-renderer

Patch Changes

@tiptap/suggestion

Patch Changes

@tiptap/vue-2

Patch Changes

@tiptap/vue-3

Patch Changes

@tiptap/extension-character-count

Patch Changes

@tiptap/extension-dropcursor

Patch Changes

@tiptap/extension-focus

Patch Changes

@tiptap/extension-gapcursor

Patch Changes

@tiptap/extension-history

Patch Changes

@tiptap/extension-placeholder

Patch Changes

@tiptap/extension-list-item

Patch Changes

@tiptap/extension-list-keymap

Patch Changes

@tiptap/extension-task-item

Patch Changes

@tiptap/extension-task-list

Patch Changes

@tiptap/extension-bullet-list

Patch Changes

@tiptap/extension-ordered-list

Patch Changes

@tiptap/extension-table-cell

Patch Changes

@tiptap/extension-table-header

Patch Changes

@tiptap/extension-table-row

Patch Changes

@tiptap/extension-color

Patch Changes

@tiptap/extension-font-family

Patch Changes

@tiptap/starter-kit

Patch Changes

v3.23.5

@tiptap/markdown

Patch Changes

  • 7bf0e73: Fix extra mark tokens after inline atom nodes during Markdown serialization
  • 7bf0e73: Fix adjacent marks of the same type with different attributes being merged during Markdown serialization
  • Updated dependencies [7bf0e73]
  • Updated dependencies [7bf0e73]

@tiptap/core

Patch Changes

  • 7bf0e73: Fix $pos() returning correct node for non-text atom nodes instead of doc node

  • 7bf0e73: fix(nodeview): eliminate unnecessary re-renders, add opt-in position tracking

    NodeViews no longer re-render when decorations or position change without content changes. Added trackNodeViewPosition option — when enabled, the component re-renders on every position shift so calls to getPos() stay current in render output. Removed the internal nodeViewPositionRegistry. Added shallow prop comparison in ReactRenderer.updateProps().

  • @tiptap/pm@3.23.5

@tiptap/react

Patch Changes

  • 7bf0e73: Respect explicit immediatelyRender: true in client-side Next.js. Previously, when running under Next.js (window.next present), the immediatelyRender option was forced to false even when the user explicitly passed true, breaking client-only Next.js apps that rely on the editor existing on the first render. The hook now only forces false when actual SSR is detected (typeof window === 'undefined'), or when running under Next.js with no explicit value.

  • 7bf0e73: fix(nodeview): eliminate unnecessary re-renders, add opt-in position tracking

    NodeViews no longer re-render when decorations or position change without content changes. Added trackNodeViewPosition option — when enabled, the component re-renders on every position shift so calls to getPos() stay current in render output. Removed the internal nodeViewPositionRegistry. Added shallow prop comparison in ReactRenderer.updateProps().

  • Updated dependencies [7bf0e73]

  • Updated dependencies [7bf0e73]

@tiptap/vue-2

Patch Changes

  • 7bf0e73: fix(nodeview): eliminate unnecessary re-renders, add opt-in position tracking

    NodeViews no longer re-render when decorations or position change without content changes. Added trackNodeViewPosition option — when enabled, the component re-renders on every position shift so calls to getPos() stay current in render output. Removed the internal nodeViewPositionRegistry. Added shallow prop comparison in ReactRenderer.updateProps().

  • Updated dependencies [7bf0e73]

  • Updated dependencies [7bf0e73]

@tiptap/vue-3

Patch Changes

  • 7bf0e73: fix(nodeview): eliminate unnecessary re-renders, add opt-in position tracking

    NodeViews no longer re-render when decorations or position change without content changes. Added trackNodeViewPosition option — when enabled, the component re-renders on every position shift so calls to getPos() stay current in render output. Removed the internal nodeViewPositionRegistry. Added shallow prop comparison in ReactRenderer.updateProps().

  • Updated dependencies [7bf0e73]

  • Updated dependencies [7bf0e73]

@tiptap/extension-drag-handle-react

Patch Changes

@tiptap/extension-audio

Patch Changes

  • Updated dependencies [7bf0e73]
  • Updated dependencies [7bf0e73]

@tiptap/extension-blockquote

Patch Changes

  • Updated dependencies [7bf0e73]
  • Updated dependencies [7bf0e73]

@tiptap/extension-bold

Patch Changes

  • Updated dependencies [7bf0e73]
  • Updated dependencies [7bf0e73]

@tiptap/extension-bubble-menu

Patch Changes

@tiptap/extension-code

Patch Changes

  • Updated dependencies [7bf0e73]
  • Updated dependencies [7bf0e73]

@tiptap/extension-code-block

Patch Changes

@tiptap/extension-code-block-lowlight

Patch Changes

@tiptap/extension-collaboration

Patch Changes

@tiptap/extension-collaboration-caret

Patch Changes

@tiptap/extension-details

Patch Changes

@tiptap/extension-document

Patch Changes

  • Updated dependencies [7bf0e73]
  • Updated dependencies [7bf0e73]

@tiptap/extension-drag-handle

Patch Changes

@tiptap/extension-emoji

Patch Changes

@tiptap/extension-file-handler

Patch Changes

@tiptap/extension-floating-menu

Patch Changes

@tiptap/extension-hard-break

Patch Changes

  • Updated dependencies [7bf0e73]
  • Updated dependencies [7bf0e73]

@tiptap/extension-heading

Patch Changes

  • Updated dependencies [7bf0e73]
  • Updated dependencies [7bf0e73]

@tiptap/extension-highlight

Patch Changes

  • Updated dependencies [7bf0e73]
  • Updated dependencies [7bf0e73]

@tiptap/extension-horizontal-rule

Patch Changes

@tiptap/extension-image

Patch Changes

  • Updated dependencies [7bf0e73]
  • Updated dependencies [7bf0e73]

@tiptap/extension-invisible-characters

Patch Changes

@tiptap/extension-italic

Patch Changes

  • Updated dependencies [7bf0e73]
  • Updated dependencies [7bf0e73]

Patch Changes

@tiptap/extension-list

Patch Changes

@tiptap/extension-mathematics

Patch Changes

@tiptap/extension-mention

Patch Changes

@tiptap/extension-node-range

Patch Changes

@tiptap/extension-paragraph

Patch Changes

  • Updated dependencies [7bf0e73]
  • Updated dependencies [7bf0e73]

@tiptap/extension-strike

Patch Changes

  • Updated dependencies [7bf0e73]
  • Updated dependencies [7bf0e73]

@tiptap/extension-subscript

Patch Changes

@tiptap/extension-superscript

Patch Changes

@tiptap/extension-table

Patch Changes

@tiptap/extension-table-of-contents

Patch Changes

@tiptap/extension-text

Patch Changes

  • Updated dependencies [7bf0e73]
  • Updated dependencies [7bf0e73]

@tiptap/extension-text-align

Patch Changes

  • Updated dependencies [7bf0e73]
  • Updated dependencies [7bf0e73]

@tiptap/extension-text-style

Patch Changes

  • Updated dependencies [7bf0e73]
  • Updated dependencies [7bf0e73]

@tiptap/extension-twitch

Patch Changes

  • Updated dependencies [7bf0e73]
  • Updated dependencies [7bf0e73]

@tiptap/extension-typography

Patch Changes

  • Updated dependencies [7bf0e73]
  • Updated dependencies [7bf0e73]

@tiptap/extension-underline

Patch Changes

  • Updated dependencies [7bf0e73]
  • Updated dependencies [7bf0e73]

@tiptap/extension-unique-id

Patch Changes

@tiptap/extension-youtube

Patch Changes

  • Updated dependencies [7bf0e73]
  • Updated dependencies [7bf0e73]

@tiptap/extensions

Patch Changes

@tiptap/html

Patch Changes

@tiptap/static-renderer

Patch Changes

@tiptap/suggestion

Patch Changes

@tiptap/extension-drag-handle-vue-2

Patch Changes

@tiptap/extension-drag-handle-vue-3

Patch Changes

@tiptap/extension-list-item

Patch Changes

@tiptap/extension-list-keymap

Patch Changes

@tiptap/extension-task-item

Patch Changes

@tiptap/extension-task-list

Patch Changes

@tiptap/extension-bullet-list

Patch Changes

@tiptap/extension-ordered-list

Patch Changes

@tiptap/extension-table-cell

Patch Changes

@tiptap/extension-table-header

Patch Changes

@tiptap/extension-table-row

Patch Changes

@tiptap/extension-color

Patch Changes

@tiptap/extension-font-family

Patch Changes

@tiptap/extension-character-count

Patch Changes

@tiptap/extension-dropcursor

Patch Changes

@tiptap/extension-focus

Patch Changes

@tiptap/extension-gapcursor

Patch Changes

@tiptap/extension-history

Patch Changes

@tiptap/extension-placeholder

Patch Changes

@tiptap/starter-kit

Patch Changes

v0.1.3

@tiptap/server-ai-toolkit

Patch Changes

  • 48ddc1e: Relax peer dependency requirements so that the library is compatible with any version of Tiptap 3

v3.23.4

@tiptap/extensions

Patch Changes

  • 0f05ae7: Add a new autoTrim option to CharacterCount which can be used to allow exceeding the character limit and either trim or validate the content length manually
  • @tiptap/core@3.23.4

@tiptap/extension-character-count

Patch Changes

@tiptap/extension-dropcursor

Patch Changes

@tiptap/extension-focus

Patch Changes

@tiptap/extension-gapcursor

Patch Changes

@tiptap/extension-history

Patch Changes

@tiptap/extension-placeholder

Patch Changes

@tiptap/extension-list-item

Patch Changes

@tiptap/extension-list-keymap

Patch Changes

@tiptap/extension-table-cell

Patch Changes

@tiptap/extension-table-header

Patch Changes

@tiptap/extension-table-row

Patch Changes

@tiptap/extension-task-item

Patch Changes

@tiptap/extension-task-list

Patch Changes

@tiptap/core

Patch Changes

@tiptap/extension-audio

Patch Changes

@tiptap/extension-blockquote

Patch Changes

@tiptap/extension-bold

Patch Changes

@tiptap/extension-bubble-menu

Patch Changes

@tiptap/extension-bullet-list

Patch Changes

@tiptap/extension-code

Patch Changes

@tiptap/extension-code-block

Patch Changes

@tiptap/extension-code-block-lowlight

Patch Changes

@tiptap/extension-collaboration

Patch Changes

@tiptap/extension-collaboration-caret

Patch Changes

@tiptap/extension-color

Patch Changes

@tiptap/extension-details

Patch Changes

@tiptap/extension-document

Patch Changes

@tiptap/extension-drag-handle

Patch Changes

@tiptap/extension-drag-handle-react

Patch Changes

@tiptap/extension-drag-handle-vue-2

Patch Changes

@tiptap/extension-drag-handle-vue-3

Patch Changes

@tiptap/extension-emoji

Patch Changes

@tiptap/extension-file-handler

Patch Changes

@tiptap/extension-floating-menu

Patch Changes

@tiptap/extension-font-family

Patch Changes

@tiptap/extension-hard-break

Patch Changes

@tiptap/extension-heading

Patch Changes

@tiptap/extension-highlight

Patch Changes

@tiptap/extension-horizontal-rule

Patch Changes

@tiptap/extension-image

Patch Changes

@tiptap/extension-invisible-characters

Patch Changes

@tiptap/extension-italic

Patch Changes

Patch Changes

@tiptap/extension-list

Patch Changes

@tiptap/extension-mathematics

Patch Changes

@tiptap/extension-mention

Patch Changes

@tiptap/extension-node-range

Patch Changes

@tiptap/extension-ordered-list

Patch Changes

@tiptap/extension-paragraph

Patch Changes

@tiptap/extension-strike

Patch Changes

@tiptap/extension-subscript

Patch Changes

@tiptap/extension-superscript

Patch Changes

@tiptap/extension-table

Patch Changes

@tiptap/extension-table-of-contents

Patch Changes

@tiptap/extension-text

Patch Changes

@tiptap/extension-text-align

Patch Changes

@tiptap/extension-text-style

Patch Changes

@tiptap/extension-twitch

Patch Changes

@tiptap/extension-typography

Patch Changes

@tiptap/extension-underline

Patch Changes

@tiptap/extension-unique-id

Patch Changes

@tiptap/extension-youtube

Patch Changes

@tiptap/html

Patch Changes

@tiptap/markdown

Patch Changes

@tiptap/react

Patch Changes

@tiptap/starter-kit

Patch Changes

@tiptap/static-renderer

Patch Changes

@tiptap/suggestion

Patch Changes

@tiptap/vue-2

Patch Changes

@tiptap/vue-3

Patch Changes

@tiptap/server-ai-toolkit

Patch Changes

v3.23.3

Patch Changes

  • 968675d: Bumped linkify to ^4.3.3 to improve link recognition & fix a bug with chinese character encoding breaking the links when followed by parentheses
  • @tiptap/core@3.23.3

@tiptap/extension-character-count

Patch Changes

@tiptap/extension-dropcursor

Patch Changes

@tiptap/extension-focus

Patch Changes

@tiptap/extension-gapcursor

Patch Changes

@tiptap/extension-history

Patch Changes

@tiptap/extension-list-item

Patch Changes

@tiptap/extension-list-keymap

Patch Changes

@tiptap/extension-placeholder

Patch Changes

@tiptap/extension-table-cell

Patch Changes

@tiptap/extension-table-header

Patch Changes

@tiptap/extension-table-row

Patch Changes

@tiptap/extension-task-item

Patch Changes

@tiptap/extension-task-list

Patch Changes

@tiptap/core

Patch Changes

@tiptap/extension-audio

Patch Changes

@tiptap/extension-blockquote

Patch Changes

@tiptap/extension-bold

Patch Changes

@tiptap/extension-bubble-menu

Patch Changes

@tiptap/extension-bullet-list

Patch Changes

@tiptap/extension-code

Patch Changes

@tiptap/extension-code-block

Patch Changes

@tiptap/extension-code-block-lowlight

Patch Changes

@tiptap/extension-collaboration

Patch Changes

@tiptap/extension-collaboration-caret

Patch Changes

@tiptap/extension-color

Patch Changes

@tiptap/extension-details

Patch Changes

@tiptap/extension-document

Patch Changes

@tiptap/extension-drag-handle

Patch Changes

@tiptap/extension-drag-handle-react

Patch Changes

@tiptap/extension-drag-handle-vue-2

Patch Changes

@tiptap/extension-drag-handle-vue-3

Patch Changes

@tiptap/extension-emoji

Patch Changes

@tiptap/extension-file-handler

Patch Changes

@tiptap/extension-floating-menu

Patch Changes

@tiptap/extension-font-family

Patch Changes

@tiptap/extension-hard-break

Patch Changes

@tiptap/extension-heading

Patch Changes

@tiptap/extension-highlight

Patch Changes

@tiptap/extension-horizontal-rule

Patch Changes

@tiptap/extension-image

Patch Changes

@tiptap/extension-invisible-characters

Patch Changes

@tiptap/extension-italic

Patch Changes

@tiptap/extension-list

Patch Changes

@tiptap/extension-mathematics

Patch Changes

@tiptap/extension-mention

Patch Changes

@tiptap/extension-node-range

Patch Changes

@tiptap/extension-ordered-list

Patch Changes

@tiptap/extension-paragraph

Patch Changes

@tiptap/extension-strike

Patch Changes

@tiptap/extension-subscript

Patch Changes

@tiptap/extension-superscript

Patch Changes

@tiptap/extension-table

Patch Changes

@tiptap/extension-table-of-contents

Patch Changes

@tiptap/extension-text

Patch Changes

@tiptap/extension-text-align

Patch Changes

@tiptap/extension-text-style

Patch Changes

@tiptap/extension-twitch

Patch Changes

@tiptap/extension-typography

Patch Changes

@tiptap/extension-underline

Patch Changes

@tiptap/extension-unique-id

Patch Changes

@tiptap/extension-youtube

Patch Changes

@tiptap/extensions

Patch Changes

@tiptap/html

Patch Changes

@tiptap/markdown

Patch Changes

@tiptap/react

Patch Changes

@tiptap/starter-kit

Patch Changes

@tiptap/static-renderer

Patch Changes

@tiptap/suggestion

Patch Changes

@tiptap/vue-2

Patch Changes

@tiptap/vue-3

Patch Changes

@tiptap/server-ai-toolkit

Patch Changes

v3.23.2

@tiptap/extension-twitch

Patch Changes

  • 8b210e7: Fix Twitch and YouTube embeds losing their canonical video, clip, channel, or playlist URL when HTML content is loaded back into the editor.
  • Updated dependencies [8b210e7]

@tiptap/extension-youtube

Patch Changes

  • 8b210e7: Fix Twitch and YouTube embeds losing their canonical video, clip, channel, or playlist URL when HTML content is loaded back into the editor.
  • Updated dependencies [8b210e7]

@tiptap/core

Patch Changes

  • 8b210e7: Fix &quot; HTML entity encoding in getHTML() output for inline style attributes. Adds a getStyleProperty utility to @tiptap/core and migrates Color, BackgroundColor, FontFamily, FontSize, LineHeight, and Highlight extensions to use it (#7016)
  • @tiptap/pm@3.23.2

@tiptap/extension-text-style

Patch Changes

  • 8b210e7: Fix &quot; HTML entity encoding in getHTML() output for inline style attributes. Adds a getStyleProperty utility to @tiptap/core and migrates Color, BackgroundColor, FontFamily, FontSize, LineHeight, and Highlight extensions to use it (#7016)
  • Updated dependencies [8b210e7]

@tiptap/extension-highlight

Patch Changes

  • 8b210e7: Fix &quot; HTML entity encoding in getHTML() output for inline style attributes. Adds a getStyleProperty utility to @tiptap/core and migrates Color, BackgroundColor, FontFamily, FontSize, LineHeight, and Highlight extensions to use it (#7016)
  • Updated dependencies [8b210e7]

@tiptap/react

Patch Changes

  • 8b210e7: Default immediatelyRender to false in SSR environments instead of throwing an error

    Previously, omitting immediatelyRender in an SSR environment (e.g. Next.js) would throw an error in development and silently return null in production. This was a common source of crashes, especially when AI-generated code set up the editor without explicitly passing immediatelyRender: false. The hook now defaults immediatelyRender to true, but automatically sets it to false when SSR is detected, logging a warning in development instead of throwing.

  • Updated dependencies [8b210e7]

@tiptap/vue-3

Patch Changes

  • 8b210e7: Fix a useEditor unmount crash by avoiding replacement of Vue-managed DOM nodes during teardown.
  • Updated dependencies [8b210e7]

@tiptap/server-ai-toolkit

Minor Changes

  • 8b210e7: Initial open-source release of the Server AI Toolkit package

Patch Changes

@tiptap/extension-audio

Patch Changes

@tiptap/extension-blockquote

Patch Changes

@tiptap/extension-bold

Patch Changes

@tiptap/extension-bubble-menu

Patch Changes

@tiptap/extension-code

Patch Changes

@tiptap/extension-code-block

Patch Changes

@tiptap/extension-code-block-lowlight

Patch Changes

@tiptap/extension-collaboration

Patch Changes

@tiptap/extension-collaboration-caret

Patch Changes

@tiptap/extension-details

Patch Changes

@tiptap/extension-document

Patch Changes

@tiptap/extension-drag-handle

Patch Changes

@tiptap/extension-emoji

Patch Changes

@tiptap/extension-file-handler

Patch Changes

@tiptap/extension-floating-menu

Patch Changes

@tiptap/extension-hard-break

Patch Changes

@tiptap/extension-heading

Patch Changes

@tiptap/extension-horizontal-rule

Patch Changes

@tiptap/extension-image

Patch Changes

@tiptap/extension-invisible-characters

Patch Changes

@tiptap/extension-italic

Patch Changes

Patch Changes

@tiptap/extension-list

Patch Changes

@tiptap/extension-mathematics

Patch Changes

@tiptap/extension-mention

Patch Changes

@tiptap/extension-node-range

Patch Changes

@tiptap/extension-paragraph

Patch Changes

@tiptap/extension-strike

Patch Changes

@tiptap/extension-subscript

Patch Changes

@tiptap/extension-superscript

Patch Changes

@tiptap/extension-table

Patch Changes

@tiptap/extension-table-of-contents

Patch Changes

@tiptap/extension-text

Patch Changes

@tiptap/extension-text-align

Patch Changes

@tiptap/extension-typography

Patch Changes

@tiptap/extension-underline

Patch Changes

@tiptap/extension-unique-id

Patch Changes

@tiptap/extensions

Patch Changes

@tiptap/html

Patch Changes

@tiptap/markdown

Patch Changes

@tiptap/static-renderer

Patch Changes

@tiptap/suggestion

Patch Changes

@tiptap/vue-2

Patch Changes

@tiptap/extension-color

Patch Changes

@tiptap/extension-font-family

Patch Changes

@tiptap/extension-drag-handle-react

Patch Changes

@tiptap/extension-drag-handle-vue-3

Patch Changes

@tiptap/extension-drag-handle-vue-2

Patch Changes

@tiptap/extension-list-item

Patch Changes

@tiptap/extension-list-keymap

Patch Changes

@tiptap/extension-task-item

Patch Changes

@tiptap/extension-task-list

Patch Changes

@tiptap/extension-bullet-list

Patch Changes

@tiptap/extension-ordered-list

Patch Changes

@tiptap/extension-table-cell

Patch Changes

@tiptap/extension-table-header

Patch Changes

@tiptap/extension-table-row

Patch Changes

@tiptap/extension-character-count

Patch Changes

@tiptap/extension-dropcursor

Patch Changes

@tiptap/extension-focus

Patch Changes

@tiptap/extension-gapcursor

Patch Changes

@tiptap/extension-history

Patch Changes

@tiptap/extension-placeholder

Patch Changes

@tiptap/starter-kit

Patch Changes

v3.23.1

@tiptap/extension-drag-handle-react

Patch Changes

@tiptap/extension-character-count

Patch Changes

@tiptap/extension-dropcursor

Patch Changes

@tiptap/extension-focus

Patch Changes

@tiptap/extension-gapcursor

Patch Changes

@tiptap/extension-history

Patch Changes

@tiptap/extension-list-item

Patch Changes

@tiptap/extension-list-keymap

Patch Changes

@tiptap/extension-placeholder

Patch Changes

@tiptap/extension-table-cell

Patch Changes

@tiptap/extension-table-header

Patch Changes

@tiptap/extension-table-row

Patch Changes

@tiptap/extension-task-item

Patch Changes

@tiptap/extension-task-list

Patch Changes

@tiptap/core

Patch Changes

@tiptap/extension-audio

Patch Changes

@tiptap/extension-blockquote

Patch Changes

@tiptap/extension-bold

Patch Changes

@tiptap/extension-bubble-menu

Patch Changes

@tiptap/extension-bullet-list

Patch Changes

@tiptap/extension-code

Patch Changes

@tiptap/extension-code-block

Patch Changes

@tiptap/extension-code-block-lowlight

Patch Changes

@tiptap/extension-collaboration

Patch Changes

@tiptap/extension-collaboration-caret

Patch Changes

@tiptap/extension-color

Patch Changes

@tiptap/extension-details

Patch Changes

@tiptap/extension-document

Patch Changes

@tiptap/extension-drag-handle

Patch Changes

@tiptap/extension-drag-handle-vue-2

Patch Changes

@tiptap/extension-drag-handle-vue-3

Patch Changes

@tiptap/extension-emoji

Patch Changes

@tiptap/extension-file-handler

Patch Changes

@tiptap/extension-floating-menu

Patch Changes

@tiptap/extension-font-family

Patch Changes

@tiptap/extension-hard-break

Patch Changes

@tiptap/extension-heading

Patch Changes

@tiptap/extension-highlight

Patch Changes

@tiptap/extension-horizontal-rule

Patch Changes

@tiptap/extension-image

Patch Changes

@tiptap/extension-invisible-characters

Patch Changes

@tiptap/extension-italic

Patch Changes

Patch Changes

@tiptap/extension-list

Patch Changes

@tiptap/extension-mathematics

Patch Changes

@tiptap/extension-mention

Patch Changes

@tiptap/extension-node-range

Patch Changes

@tiptap/extension-ordered-list

Patch Changes

@tiptap/extension-paragraph

Patch Changes

@tiptap/extension-strike

Patch Changes

@tiptap/extension-subscript

Patch Changes

@tiptap/extension-superscript

Patch Changes

@tiptap/extension-table

Patch Changes

@tiptap/extension-table-of-contents

Patch Changes

@tiptap/extension-text

Patch Changes

@tiptap/extension-text-align

Patch Changes

@tiptap/extension-text-style

Patch Changes

@tiptap/extension-twitch

Patch Changes

@tiptap/extension-typography

Patch Changes

@tiptap/extension-underline

Patch Changes

@tiptap/extension-unique-id

Patch Changes

@tiptap/extension-youtube

Patch Changes

@tiptap/extensions

Patch Changes

@tiptap/html

Patch Changes

@tiptap/markdown

Patch Changes

@tiptap/react

Patch Changes

@tiptap/starter-kit

Patch Changes

@tiptap/static-renderer

Patch Changes

@tiptap/suggestion

Patch Changes

@tiptap/vue-2

Patch Changes

@tiptap/vue-3

Patch Changes

v3.23.0

@tiptap/extension-floating-menu

Patch Changes

  • 40327ab: Added a safeguard to avoid TypeError: Cannot read properties of null (reading 'domFromPos') being thrown when the editor was being destroyed
  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]

@tiptap/markdown

Patch Changes

  • 40327ab: Fix editor becoming unresponsive when initialized with empty markdown content and contentType: 'markdown'
  • 40327ab: Fix markdown parsing for bullet list items whose text looks like an ordered-list marker, such as - 123., so extraction no longer loses the item content.
  • 40327ab: Fixed two Markdown serialization bugs: overlapping marks (e.g. bold+italic that start and end at different positions) now serialize with the correct delimiter order, and marks that all close on the same node now close in LIFO order to produce valid nesting.
  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]

@tiptap/extension-drag-handle

Patch Changes

@tiptap/extension-table

Patch Changes

  • 40327ab: Fix colgroup not updating when adding or deleting columns in non-resizable tables (#7015)
  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]

@tiptap/extension-mathematics

Patch Changes

  • 40327ab: Fix $$$...$$$ input rule leaving an empty paragraph above the inserted block math node when the match consumes the entire host paragraph.
  • 40327ab: Fix updateBlockMath silently ignoring latex: ''. The command used a falsy fallback (latex || node.attrs.latex) that treated an explicit empty string the same as undefined, leaving the node unchanged. It now uses latex ?? node.attrs.latex, so callers can clear the rendered LaTeX with an empty string.
  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]

@tiptap/core

Minor Changes

  • 40327ab: Add configurable tabindex option to allow customizing the tabindex attribute on the editor element via coreExtensionOptions

Patch Changes

  • 40327ab: Fix markdown parsing for bullet list items whose text looks like an ordered-list marker, such as - 123., so extraction no longer loses the item content.
  • 40327ab: Fixed a memory leak where Editor.destroy() did not release the Extension parent/child graph. Module-scope extension singletons retained references to configured extensions, preventing garbage collection of extension options (including DOM closures). The fix also cleans up ExtensionManager, schema, and commandManager references on destroy.
  • @tiptap/pm@3.23.0

@tiptap/extension-list

Patch Changes

  • 40327ab: Fix markdown parsing for bullet list items whose text looks like an ordered-list marker, such as - 123., so extraction no longer loses the item content.
  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]

@tiptap/extension-unique-id

Patch Changes

  • 40327ab: Update uuid dependency to version 13.23.0
  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]

@tiptap/extension-table-of-contents

Patch Changes

  • 40327ab: Update uuid dependency to version 13.23.0
  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]

@tiptap/extension-drag-handle-react

Patch Changes

@tiptap/extension-drag-handle-vue-2

Patch Changes

@tiptap/extension-drag-handle-vue-3

Patch Changes

@tiptap/extension-table-cell

Patch Changes

@tiptap/extension-table-header

Patch Changes

@tiptap/extension-table-row

Patch Changes

@tiptap/extension-audio

Patch Changes

  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]

@tiptap/extension-blockquote

Patch Changes

  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]

@tiptap/extension-bold

Patch Changes

  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]

@tiptap/extension-bubble-menu

Patch Changes

@tiptap/extension-code

Patch Changes

  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]

@tiptap/extension-code-block

Patch Changes

@tiptap/extension-code-block-lowlight

Patch Changes

@tiptap/extension-collaboration

Patch Changes

@tiptap/extension-collaboration-caret

Patch Changes

@tiptap/extension-details

Patch Changes

@tiptap/extension-document

Patch Changes

  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]

@tiptap/extension-emoji

Patch Changes

@tiptap/extension-file-handler

Patch Changes

@tiptap/extension-hard-break

Patch Changes

  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]

@tiptap/extension-heading

Patch Changes

  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]

@tiptap/extension-highlight

Patch Changes

  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]

@tiptap/extension-horizontal-rule

Patch Changes

@tiptap/extension-image

Patch Changes

  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]

@tiptap/extension-invisible-characters

Patch Changes

@tiptap/extension-italic

Patch Changes

  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]

Patch Changes

@tiptap/extension-mention

Patch Changes

@tiptap/extension-node-range

Patch Changes

@tiptap/extension-paragraph

Patch Changes

  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]

@tiptap/extension-strike

Patch Changes

  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]

@tiptap/extension-subscript

Patch Changes

@tiptap/extension-superscript

Patch Changes

@tiptap/extension-text

Patch Changes

  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]

@tiptap/extension-text-align

Patch Changes

  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]

@tiptap/extension-text-style

Patch Changes

  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]

@tiptap/extension-twitch

Patch Changes

  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]

@tiptap/extension-typography

Patch Changes

  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]

@tiptap/extension-underline

Patch Changes

  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]

@tiptap/extension-youtube

Patch Changes

  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]
  • Updated dependencies [40327ab]

@tiptap/extensions

Patch Changes

@tiptap/html

Patch Changes

@tiptap/react

Patch Changes

@tiptap/static-renderer

Patch Changes

@tiptap/suggestion

Patch Changes

@tiptap/vue-2

Patch Changes

@tiptap/vue-3

Patch Changes

@tiptap/extension-list-item

Patch Changes

@tiptap/extension-list-keymap

Patch Changes

@tiptap/extension-task-item

Patch Changes

@tiptap/extension-task-list

Patch Changes

@tiptap/extension-bullet-list

Patch Changes

@tiptap/extension-ordered-list

Patch Changes

@tiptap/starter-kit

Patch Changes

@tiptap/extension-color

Patch Changes

@tiptap/extension-font-family

Patch Changes

@tiptap/extension-character-count

Patch Changes

@tiptap/extension-dropcursor

Patch Changes

@tiptap/extension-focus

Patch Changes

@tiptap/extension-gapcursor

Patch Changes

@tiptap/extension-history

Patch Changes

@tiptap/extension-placeholder

Patch Changes

v3.22.5

@tiptap/react

Patch Changes

  • 13b5894: Add selectedOnTextSelection option to node view renderers. When enabled, the selected prop also becomes true when a TextSelection is fully inside the node's range, not only on NodeSelection.
  • Updated dependencies [13b5894]

@tiptap/vue-2

Patch Changes

  • 13b5894: Add selectedOnTextSelection option to node view renderers. When enabled, the selected prop also becomes true when a TextSelection is fully inside the node's range, not only on NodeSelection.
  • Updated dependencies [13b5894]

@tiptap/vue-3

Patch Changes

  • 13b5894: Add selectedOnTextSelection option to node view renderers. When enabled, the selected prop also becomes true when a TextSelection is fully inside the node's range, not only on NodeSelection.
  • Updated dependencies [13b5894]

@tiptap/core

Patch Changes

  • 13b5894: Add selectedOnTextSelection option to node view renderers. When enabled, the selected prop also becomes true when a TextSelection is fully inside the node's range, not only on NodeSelection.
  • @tiptap/pm@3.22.5

@tiptap/extension-table-of-contents

Patch Changes

  • 13b5894: Fix duplicate onUpdate invocation per document change in the TableOfContents extension.
  • Updated dependencies [13b5894]

@tiptap/static-renderer

Patch Changes

  • 13b5894: Escape HTML string renderer text content and attribute values to prevent injected markup from untrusted content.
  • Updated dependencies [13b5894]

@tiptap/extension-drag-handle-react

Patch Changes

@tiptap/extension-drag-handle-vue-2

Patch Changes

@tiptap/extension-drag-handle-vue-3

Patch Changes

@tiptap/extension-audio

Patch Changes

@tiptap/extension-blockquote

Patch Changes

@tiptap/extension-bold

Patch Changes

@tiptap/extension-bubble-menu

Patch Changes

@tiptap/extension-code

Patch Changes

@tiptap/extension-code-block

Patch Changes

@tiptap/extension-code-block-lowlight

Patch Changes

@tiptap/extension-collaboration

Patch Changes

@tiptap/extension-collaboration-caret

Patch Changes

@tiptap/extension-details

Patch Changes

@tiptap/extension-document

Patch Changes

@tiptap/extension-drag-handle

Patch Changes

@tiptap/extension-emoji

Patch Changes

@tiptap/extension-file-handler

Patch Changes

@tiptap/extension-floating-menu

Patch Changes

@tiptap/extension-hard-break

Patch Changes

@tiptap/extension-heading

Patch Changes

@tiptap/extension-highlight

Patch Changes

@tiptap/extension-horizontal-rule

Patch Changes

@tiptap/extension-image

Patch Changes

@tiptap/extension-invisible-characters

Patch Changes

@tiptap/extension-italic

Patch Changes

Patch Changes

@tiptap/extension-list

Patch Changes

@tiptap/extension-mathematics

Patch Changes

@tiptap/extension-mention

Patch Changes

@tiptap/extension-node-range

Patch Changes

@tiptap/extension-paragraph

Patch Changes

@tiptap/extension-strike

Patch Changes

@tiptap/extension-subscript

Patch Changes

@tiptap/extension-superscript

Patch Changes

@tiptap/extension-table

Patch Changes

@tiptap/extension-text

Patch Changes

@tiptap/extension-text-align

Patch Changes

@tiptap/extension-text-style

Patch Changes

@tiptap/extension-twitch

Patch Changes

@tiptap/extension-typography

Patch Changes

@tiptap/extension-underline

Patch Changes

@tiptap/extension-unique-id

Patch Changes

@tiptap/extension-youtube

Patch Changes

@tiptap/extensions

Patch Changes

@tiptap/html

Patch Changes

@tiptap/markdown

Patch Changes

@tiptap/suggestion

Patch Changes

@tiptap/extension-list-item

Patch Changes

@tiptap/extension-list-keymap

Patch Changes

@tiptap/extension-task-item

Patch Changes

@tiptap/extension-task-list

Patch Changes

@tiptap/extension-bullet-list

Patch Changes

@tiptap/extension-ordered-list

Patch Changes

@tiptap/extension-table-cell

Patch Changes

@tiptap/extension-table-header

Patch Changes

@tiptap/extension-table-row

Patch Changes

@tiptap/extension-color

Patch Changes

@tiptap/extension-font-family

Patch Changes

@tiptap/extension-character-count

Patch Changes

@tiptap/extension-dropcursor

Patch Changes

@tiptap/extension-focus

Patch Changes

@tiptap/extension-gapcursor

Patch Changes

@tiptap/extension-history

Patch Changes

@tiptap/extension-placeholder

Patch Changes

@tiptap/starter-kit

Patch Changes

v3.22.4

@tiptap/extension-drag-handle

Patch Changes

@tiptap/core

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • 032f8f1: Fix text selection collapsing after toggling off a list with AllSelection
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-audio

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-blockquote

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-bold

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-bubble-menu

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-bullet-list

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-code

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-code-block

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-code-block-lowlight

Patch Changes

@tiptap/extension-collaboration

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-collaboration-caret

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-color

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]

@tiptap/extension-details

Patch Changes

@tiptap/extension-document

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-drag-handle-react

Patch Changes

@tiptap/extension-drag-handle-vue-2

Patch Changes

@tiptap/extension-drag-handle-vue-3

Patch Changes

@tiptap/extension-emoji

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-file-handler

Patch Changes

@tiptap/extension-floating-menu

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-font-family

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]

@tiptap/extension-hard-break

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-heading

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-highlight

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-horizontal-rule

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-image

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-invisible-characters

Patch Changes

@tiptap/extension-italic

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-list

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts

  • 032f8f1: Treat non-indented continuation lines following an ordered list marker as part of the same list item.

    This aligns ordered list parsing with CommonMark behavior: lines immediately after a list item (before a blank line) are considered lazy continuation and remain inside the list item rather than ending it.

  • Updated dependencies [032f8f1]

  • Updated dependencies [032f8f1]

  • Updated dependencies [032f8f1]

@tiptap/extension-mathematics

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-mention

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-node-range

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-ordered-list

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-paragraph

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-strike

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-subscript

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-superscript

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-table

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-table-of-contents

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-text

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-text-align

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-text-style

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-twitch

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-typography

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-underline

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-unique-id

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-youtube

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extensions

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/html

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/markdown

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/pm

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • 032f8f1: Remove unused ProseMirror packages from @tiptap/pm to reduce bundle size

@tiptap/react

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/starter-kit

Patch Changes

@tiptap/static-renderer

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/suggestion

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/vue-2

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/vue-3

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-character-count

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]

@tiptap/extension-dropcursor

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]

@tiptap/extension-focus

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]

@tiptap/extension-gapcursor

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]

@tiptap/extension-history

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]

@tiptap/extension-list-item

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-list-keymap

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-placeholder

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]

@tiptap/extension-table-cell

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]

@tiptap/extension-table-header

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]

@tiptap/extension-table-row

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]

@tiptap/extension-task-item

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

@tiptap/extension-task-list

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]

v3.22.3

@tiptap/core

Patch Changes

  • ac994c5: Fixed insertContentAt corrupting the document when inserting inline content with marks at the start of a paragraph. The from - 1 position adjustment now only applies to block-level content.

@tiptap/extension-node-range

Patch Changes

  • ac994c5: Add an option to control whether node ranges extend when a selection only touches a node boundary.

@tiptap/html

Patch Changes

  • ac994c5: Remove unnecessary xmlns="http://www.w3.org/1999/xhtml" attribute from generateHTML output by using innerHTML instead of XMLSerializer for HTML serialization.

@tiptap/extension-drag-handle

Patch Changes

  • ac994c5: Fix drag selections so crossing a node boundary does not incorrectly include the next node.

@tiptap/starter-kit

Patch Changes

v3.22.2

@tiptap/core

Patch Changes

  • 22b1527: Fix incorrect selection placement when pasting at the end of a marked text node, ensuring inclusive marks are respected
  • 22b1527: Fixes list toggling when the entire document is selected

@tiptap/extension-floating-menu

Patch Changes

  • 22b1527: Add new transaction meta handlers to programmatically show & hide the floating & bubble menus via transaction.setMeta('menuKey', 'show') and transaction.setMeta('menuKey', 'hide')

@tiptap/extension-bubble-menu

Patch Changes

  • 22b1527: Add new transaction meta handlers to programmatically show & hide the floating & bubble menus via transaction.setMeta('menuKey', 'show') and transaction.setMeta('menuKey', 'hide')

@tiptap/extension-typography

Patch Changes

  • 22b1527: Added RTL smart quote support

@tiptap/react

Patch Changes

  • 22b1527: Fixed an error where flushSync() would run in <EditorContent /> lifecycle

@tiptap/extension-drag-handle-vue-3

Patch Changes

  • 22b1527: Fixed an issue causing drag handle visibility not to update dynamically in Vue 3 components.

@tiptap/starter-kit

Patch Changes

v3.22.1

@tiptap/extension-drag-handle

Patch Changes

  • Fixed drag handle ghost image for RTL and mixed-direction content: the ghost wrapper now uses the dragged block’s computed direction (via domAtPos), and the drag image hotspot uses the cursor position relative to the ghost wrapper so the preview aligns with the pointer in both LTR and RTL.

@tiptap/core

Patch Changes

  • Fix NodeView not re-rendering when a node's position changes without content or decoration changes (e.g. when a sibling node is moved within the same parent)
  • Don't stop dragover/dragenter events in NodeViews, to prevent spurious drag-copy cursors

@tiptap/react

Patch Changes

  • Fix NodeView not re-rendering when a node's position changes without content or decoration changes (e.g. when a sibling node is moved within the same parent)
  • Prevent React node views from crashing during deferred selection updates when ProseMirror has already detached the node view position lookup.

@tiptap/vue-3

Patch Changes

  • Fix NodeView not re-rendering when a node's position changes without content or decoration changes (e.g. when a sibling node is moved within the same parent)

@tiptap/vue-2

Patch Changes

  • Fix NodeView not re-rendering when a node's position changes without content or decoration changes (e.g. when a sibling node is moved within the same parent)

v3.22.0

@tiptap/extension-emoji

Patch Changes

  • Use a named import for Suggestion from @tiptap/suggestion to avoid bundler ESM/CJS interop wrapping (__toESM) that caused CJS consumers to receive a module object instead of the callable plugin factory.

    This is a non-breaking internal fix identical to the one applied to @tiptap/extension-mention in #6994.

@tiptap/extension-collaboration

Patch Changes

  • Moved content validation from Yjs beforeTransaction (whose return value was ignored) to ProseMirror filterTransaction, so invalid collaborative changes are now properly blocked.

@tiptap/extension-bubble-menu

Patch Changes

  • Prevent hidden bubble menus from reappearing during scroll and resize updates. Bubble menu positioning now only runs for menus that are already shown, so default text-selection menus stay hidden until they should actually open.

@tiptap/core

Patch Changes

  • Fix HTML character escaping in markdown roundtrip. HTML entities (&lt;, &gt;, &amp;, &quot;) are now decoded to literal characters when parsing markdown into the editor. <, >, and & are re-encoded when serializing back to markdown, while " is preserved as a literal character since double quotes are ordinary in markdown. Code detection for skipping encoding now uses the code: true extension spec instead of hardcoded type names. Literal characters inside code blocks and inline code are always preserved.
  • Fix ResizableNodeView ignoring node's inline setting by using inline-flex for inline nodes and flex for block nodes
  • extendMarkRange defaults to using the attributes of the first mark of the given type, instead of attributes = {}. In particular, extendMarkRange('link') no longer extends to adjacent links with different hrefs; restore the previous behavior with extendMarkRange('link', {}).
  • Fix getMarkRange attributes default to consider the first mark of the given type
  • Guard mark delete event handling when unsetMark removes a mark from inline content that starts at position 0, preventing a RangeError during the before-node lookup.

@tiptap/markdown

Patch Changes

  • Fix HTML character escaping in markdown roundtrip. HTML entities (&lt;, &gt;, &amp;, &quot;) are now decoded to literal characters when parsing markdown into the editor. <, >, and & are re-encoded when serializing back to markdown, while " is preserved as a literal character since double quotes are ordinary in markdown. Code detection for skipping encoding now uses the code: true extension spec instead of hardcoded type names. Literal characters inside code blocks and inline code are always preserved.

@tiptap/extension-mathematics

Patch Changes

  • Prevent inline math input rule from capturing previous character. Changed input rule to utilize negative lookbehind to prevent matching previous character. Ensures the range's from position is correctly at the start of the double $ signs.

@tiptap/suggestion

Patch Changes

  • Suggestions dismissed via Escape no longer reappear when the user keeps typing in the same word — they only come back after inserting whitespace, a newline, or moving the cursor to a different trigger.

@tiptap/extension-details

Patch Changes

  • Fix a rerender loop in the Details node view when the toggle button updates its DOM attributes through renderToggleButton.

@tiptap/html

Patch Changes

  • Updated happy-dom to 20.8.9

@tiptap/extension-table

Minor Changes

  • Added Markdown table alignment support. The TableCell and TableHeader nodes now have an align attribute (left, center, right) that is parsed from Markdown column alignment markers (:---, ---:, :---:) and serialized back when rendering to Markdown. Alignment is also parsed from and rendered to HTML via style="text-align: ...".

v3.21.0

@tiptap/extension-details

Minor Changes

  • Add a renderToggleButton option to customize the details toggle button, including its accessible label.

@tiptap/markdown

Patch Changes

  • Fix custom markdown tokenizer helper lexing to use Marked's active lexer so ordered list parsing no longer breaks inline tokenization in following paragraphs.

@tiptap/extension-drag-handle

Patch Changes

  • Updated findElementNextToCoords to fall back to view.posAtCoords when elementsFromPoint returns no matching block, resolving the position to the top-level block node.

@tiptap/extension-emoji

Patch Changes

  • Update emoji dataset to include latest Unicode emojis.

v3.20.6

@tiptap/extension-drag-handle

Patch Changes

  • Fix drag preview cleanup so cloned drag images are also removed when dragging ends without a valid drop.

v3.20.5

@tiptap/extensions

Patch Changes

  • Add support for skipping trailing node insertion on transactions by setting the skipTrailingNode meta flag.

v3.20.4

@tiptap/core

Patch Changes

  • Fixed Tiptap not publishing with build dist artifacts

v3.20.3

@tiptap/react

Patch Changes

  • Forward BubbleMenu and FloatingMenu HTML props to the actual menu element so attributes like className, style, data-*, and event handlers bind to the positioned menu container.
  • Generate a stable per-instance menu plugin key automatically when pluginKey is omitted, so multiple BubbleMenu or FloatingMenu components can be mounted without colliding.

@tiptap/vue-2

Patch Changes

  • Forward BubbleMenu and FloatingMenu HTML props to the actual menu element so attributes like className, style, data-*, and event handlers bind to the positioned menu container.
  • Generate a stable per-instance menu plugin key automatically when pluginKey is omitted, so multiple BubbleMenu or FloatingMenu components can be mounted without colliding.

@tiptap/core

Patch Changes

  • Fixed isNodeEmpty() so multi-line text with non-whitespace content is no longer treated as empty when ignoreWhitespace is enabled.
  • Fixed overlapping bold and italic markdown serialization and round-tripping.

@tiptap/extension-unique-id

Patch Changes

  • Fixed a bug where empty paragraphs accumulated in the document on every page reload when using the UniqueID extension with the Collaboration extension and an externally created Yjs provider.

@tiptap/extension-youtube

Patch Changes

  • Export missing getEmbedUrlFromYoutubeUrl and isValidYoutubeUrl embed URL utility functions

@tiptap/vue-3

Patch Changes

  • Generate a stable per-instance menu plugin key automatically when pluginKey is omitted, so multiple BubbleMenu or FloatingMenu components can be mounted without colliding.

@tiptap/extension-placeholder

Patch Changes

  • Skip placeholder decorations on non-textblock nodes when includeChildren is enabled to prevent duplicate placeholders on wrapper nodes like lists.

@tiptap/extension-bold

Patch Changes

  • Fixed overlapping bold and italic markdown serialization and round-tripping.

@tiptap/extension-italic

Patch Changes

  • Fixed overlapping bold and italic markdown serialization and round-tripping.

@tiptap/markdown

Patch Changes

  • Fixed overlapping bold and italic markdown serialization and round-tripping.

v3.20.2

@tiptap/core

Patch Changes

  • Improved markdown empty-paragraph roundtripping across top-level and nested block content. Empty paragraphs now serialize with natural blank-line spacing for the first paragraph in a run and &nbsp; markers for subsequent empty paragraphs at the same level, while parsing preserves those empty paragraphs when converting markdown back to JSON.

@tiptap/extension-blockquote

Patch Changes

  • Improved markdown empty-paragraph roundtripping across top-level and nested block content. Empty paragraphs now serialize with natural blank-line spacing for the first paragraph in a run and &nbsp; markers for subsequent empty paragraphs at the same level, while parsing preserves those empty paragraphs when converting markdown back to JSON.

@tiptap/extension-list

Patch Changes

  • Improved markdown empty-paragraph roundtripping across top-level and nested block content. Empty paragraphs now serialize with natural blank-line spacing for the first paragraph in a run and &nbsp; markers for subsequent empty paragraphs at the same level, while parsing preserves those empty paragraphs when converting markdown back to JSON.

@tiptap/extension-paragraph

Patch Changes

  • Improved markdown empty-paragraph roundtripping across top-level and nested block content. Empty paragraphs now serialize with natural blank-line spacing for the first paragraph in a run and &nbsp; markers for subsequent empty paragraphs at the same level, while parsing preserves those empty paragraphs when converting markdown back to JSON.

@tiptap/markdown

Patch Changes

  • Improved markdown empty-paragraph roundtripping across top-level and nested block content. Empty paragraphs now serialize with natural blank-line spacing for the first paragraph in a run and &nbsp; markers for subsequent empty paragraphs at the same level, while parsing preserves those empty paragraphs when converting markdown back to JSON.

v3.20.1

@tiptap/extension-code-block

Patch Changes

  • Fix tilde-fenced code blocks (~~~) being silently dropped when parsing markdown

@tiptap/extension-drag-handle

Patch Changes

  • Fix Drag event listener is removed when a plugin is registered after the DragHandle plugin.

@tiptap/extension-unique-id

Patch Changes

  • Add support for types: 'all' in UniqueID to target every node type except doc and text.

@tiptap/core

Patch Changes

  • Fix inline style parsing in mergeAttributes for values containing : or ; (e.g. url(https://...) or url(data:...;charset=...,)) and skip incomplete declarations

v3.20.0

@tiptap/core

Minor Changes

  • Add transformPastedHTML extension API that allows extensions to transform pasted HTML content before it's parsed into the editor, enabling cleanup of styles, removal of dangerous content, and modification of pasted HTML through a chainable transform system.

Patch Changes

  • Fix checking if mark is active and toggling off marks when part of the selection does not allow the mark (e.g. a code block)
  • Global attributes now support shorthand string values for types: use '*' to apply to all nodes and marks, 'nodes' for all nodes (excluding text), or 'marks' for all marks.
  • Fixed a typo in the documentation of editor.view

@tiptap/extension-drag-handle

Patch Changes

  • Fix drag handle not appearing for atom/leaf nodes like images in both nested and non-nested modes
  • Add table structure rules to prevent drag handle on table rows, cells, and headers, and fix ghost table rows when dragging tables
  • Fix drag position resolving outside the document when dragging an empty text node at the end of the document

@tiptap/markdown

Patch Changes

  • Fixed getMarkdown() returning &nbsp; instead of empty string when editor is empty

@tiptap/extension-bubble-menu

Patch Changes

  • Fix BubbleMenu/FloatingMenu to use pluginKey as the transaction meta key so that multiple instances can be updated independently without affecting each other

@tiptap/extension-floating-menu

Patch Changes

  • Fix BubbleMenu/FloatingMenu to use pluginKey as the transaction meta key so that multiple instances can be updated independently without affecting each other

@tiptap/react

Minor Changes

  • Moved BubbleMenu and FloatingMenu to separate @tiptap/react/menus entrypoint to keep floating-ui optional
  • Simplified Tiptap component API with guaranteed non-null editor instance from useTiptap hook

Patch Changes

  • Fix BubbleMenu/FloatingMenu to use pluginKey as the transaction meta key so that multiple instances can be updated independently without affecting each other

@tiptap/extension-code-block-lowlight

Patch Changes

  • Fixed a runtime error when initializing CodeBlockLowlight by switching the CodeBlock import to a named export. This prevents extend is not a function errors caused by ESM/CJS interop issues.

@tiptap/extension-invisible-characters

Patch Changes

  • Added missing storage typings

v3.19.0

Patch Changes

  • Add title attribute to Link extension. The title can now be set via setLink and toggleLink commands and is rendered as an HTML title attribute.
  • Add title attribute support for markdown rendering. Links with titles are now serialized to markdown format [text](url "title").

@tiptap/react

Minor Changes

  • Moved BubbleMenu and FloatingMenu to separate @tiptap/react/menus entrypoint to keep floating-ui optional
  • Simplified Tiptap component API with guaranteed non-null editor instance from useTiptap hook

v3.18.0

@tiptap/extension-bubble-menu

Patch Changes

  • Fix BubbleMenu and FloatingMenu props not updating after initialization

@tiptap/extension-floating-menu

Patch Changes

  • Fix BubbleMenu and FloatingMenu props not updating after initialization

@tiptap/react

Minor Changes

  • Introduce a new, optional React integration that provides a declarative <Tiptap /> component for setting up editors in React apps.

    Summary

    • Add a new, ergonomic way to initialize and use Tiptap editors in React via <Tiptap /> components. This is an additive change and does not remove or change existing APIs.

    Why this change

    • Improves ergonomics for React users by offering a component-first API that pairs well with React patterns (hooks, JSX composition and props-driven configuration).

    Migration and usage

    • The old programmatic setup remains supported for this major version — nothing breaks. We encourage consumers to try the new <Tiptap /> component and migrate when convenient.

    Example

    import { Tiptap, useEditor } from '@tiptap/react'
    
    function MyEditor() {
      const editor = useEditor({ extensions: [StarterKit], content: '<h1>Hello from Tiptap</h1>' })
    
      return (
        <Tiptap instance={editor}>
          <Tiptap.Content />
          <Tiptap.BubbleMenu>My Bubble Menu</Tiptap.BubbleMenu>
          <Tiptap.FloatingMenu>My Floating Menu</Tiptap.FloatingMenu>
          <MenuBar /> {/* MenuBar can use the new `useTiptap` hook to read the editor instance from context */}
        </Tiptap>
      )
    }
    

    Deprecation plan

    • The old imperative setup will remain fully backward-compatible for this major release. We plan to deprecate (and remove) the legacy setup in the next major version — a deprecation notice and migration guide will be published ahead of that change.

Patch Changes

  • Fix BubbleMenu and FloatingMenu props not updating after initialization
  • Fixed extension storage not updating in React and Vue node views

@tiptap/vue-3

Patch Changes

  • Fixed extension storage not updating in React and Vue node views

@tiptap/markdown

Patch Changes

  • Upgrade marked.js from v15.0.12 to v17.0.1. Note that **)** requires whitespace when adjacent to alphanumeric text per CommonMark specification.

@tiptap/extensions

Patch Changes

  • Added a new dataAttribute to the extension option to control which attribute name will be used for the placeholder label.

v3.17.1

@tiptap/extension-paragraph

Patch Changes

  • Fixed markdown serialization doubling newlines and parsing collapsing multiple blank lines

@tiptap/markdown

Patch Changes

  • Fixed markdown serialization doubling newlines and parsing collapsing multiple blank lines
  • Fixed markdown HTML parsing when window object is unavailable in server-side environments
  • Fixed ordered list numbering when list has a non-default start value

@tiptap/vue-3

Patch Changes

  • Fixed IME input (Chinese, Japanese, Korean) in Vue 3 mark views by preventing DOM element destruction during composition events

@tiptap/extension-collaboration-caret

Patch Changes

  • Fixed CollaborationCaret crash with "Cannot read properties of undefined (reading 'doc')" error by updating to @tiptap/y-tiptap@3.0.2, which includes a guard against undefined state during editor initialization. This issue affected editors initialized with HTML content, particularly when using tables.

@tiptap/extension-collaboration

Patch Changes

  • Fixed CollaborationCaret crash with "Cannot read properties of undefined (reading 'doc')" error by updating to @tiptap/y-tiptap@3.0.2, which includes a guard against undefined state during editor initialization. This issue affected editors initialized with HTML content, particularly when using tables.

@tiptap/extension-drag-handle

Patch Changes

  • Fixed CollaborationCaret crash with "Cannot read properties of undefined (reading 'doc')" error by updating to @tiptap/y-tiptap@3.0.2, which includes a guard against undefined state during editor initialization. This issue affected editors initialized with HTML content, particularly when using tables.

@tiptap/html

Patch Changes

  • Fixed server-side HTML parsing crash when content contains link, script, or style tags with resource references.
  • Fixed server exports failing in Node.js test environments with jsdom/happy-dom

@tiptap/extension-bubble-menu

Patch Changes

  • Fixed bubble and floating menus to properly handle hide middleware data, hiding menus when reference element is scrolled out of view

@tiptap/extension-floating-menu

Patch Changes

  • Fixed bubble and floating menus to properly handle hide middleware data, hiding menus when reference element is scrolled out of view

@tiptap/core

Patch Changes

  • Fixed $nodes() method to correctly return inline nodes (like text, mention, etc.) by fixing the children getter in NodePos class
  • Fixed ResizableNodeView contentDOM getter to return null instead of undefined for proper TypeScript compatibility

@tiptap/extension-list

Patch Changes

  • Fixed ordered list numbering when list has a non-default start value

v3.17.0

@tiptap/extension-bubble-menu

Patch Changes

  • Added a safeguard to avoid TypeError: Cannot read properties of null (reading 'domFromPos') being thrown when the editor was being destroyed

@tiptap/extension-drag-handle

Minor Changes

  • Added nested drag handle support, allowing drag handles to appear for nested content like list items and blockquotes with configurable edge detection and custom rules.

Patch Changes

  • Fixed Firefox bug where the text caret becomes invisible after drag and drop.

@tiptap/core

Patch Changes

  • Added isFirefox utility to core

@tiptap/extension-drag-handle-react

Minor Changes

  • Added nested drag handle support, allowing drag handles to appear for nested content like list items and blockquotes with configurable edge detection and custom rules.

@tiptap/extension-drag-handle-vue-2

Minor Changes

  • Added nested drag handle support, allowing drag handles to appear for nested content like list items and blockquotes with configurable edge detection and custom rules.

@tiptap/extension-drag-handle-vue-3

Minor Changes

  • Added nested drag handle support, allowing drag handles to appear for nested content like list items and blockquotes with configurable edge detection and custom rules.

v3.16.0

@tiptap/extension-audio

Minor Changes

  • Add a native audio extension with demos and tests.

@tiptap/markdown

Patch Changes

  • Fix incorrect Markdown output when underline is mixed with bold or italic and their ranges do not fully overlap.
  • Fix overlapping underline/bold/italic serialization and add tests

Patch Changes

  • Fixed an issue where clicking on non-link elements (like images) required multiple clicks to select them. The link click handler now properly returns early when the clicked element is not a link, allowing other node handlers to process the click event.

@tiptap/extension-floating-menu

Minor Changes

  • Add updateEvent support for FloatingMenu to allow programmatic position updates via setMeta('floatingMenu', 'updatePosition')

@tiptap/react

Minor Changes

  • Add updateEvent support for FloatingMenu to allow programmatic position updates via setMeta('floatingMenu', 'updatePosition')

@tiptap/vue-2

Minor Changes

  • Add updateEvent support for FloatingMenu to allow programmatic position updates via setMeta('floatingMenu', 'updatePosition')

@tiptap/vue-3

Minor Changes

  • Add updateEvent support for FloatingMenu to allow programmatic position updates via setMeta('floatingMenu', 'updatePosition')

@tiptap/extension-unique-id

Patch Changes

  • Improved findDuplicates helper performance from O(n²) to O(n) by using Set-based lookups instead of Array.indexOf

v3.15.3

@tiptap/core

Patch Changes

  • Fix Safari scrolling to top when using editor.chain().focus() commands

v3.15.2

Patch Changes

  • Prevent auto-linking of bare hostnames (e.g., localhost) and IP addresses without a protocol prefix

@tiptap/extension-list

Patch Changes

  • Fix lost HTML attributes in TaskItem node view updates

@tiptap/vue-2

Patch Changes

  • Fix Vue prop validation warning for appendTo prop in BubbleMenu and FloatingMenu

@tiptap/vue-3

Patch Changes

  • Fix Vue prop validation warning for appendTo prop in BubbleMenu and FloatingMenu

@tiptap/extension-youtube

Patch Changes

  • Fix YouTube Shorts embed URLs using incorrect query parameter separator

@tiptap/react

Patch Changes

  • Fix race conditions in ReactRenderer causing destroyed renderers to be re-added in Strict Mode

v3.15.1

@tiptap/suggestion

Patch Changes

  • Add a new shouldShow callback to the Suggestion utility. This allows developers to filter when suggestions are displayed, which is especially useful for collaborative environments to prevent suggestions from popping open for remote users.

v3.15.0

@tiptap/core

Minor Changes

  • Add a new dispatchTransaction hook to extensions, allowing developers to intercept, modify, or block transactions before they are applied to the editor state.

@tiptap/extension-unique-id

Patch Changes

  • Fix unique ID assignment when handling empty nodes by checking next node's attribute state in the transaction document before modifying it, preventing incorrect ID assignments.

v3.14.0

@tiptap/extension-twitch

Minor Changes

  • Add new Twitch extension for embedding Twitch videos, clips, and live channels in the editor. Supports customizable parameters like autoplay, muted, and start time, with attribute-level overrides for per-embed configuration.

@tiptap/react

Patch Changes

  • Append all children of editors parent node to element

    Fixes a regression introduced by #6972, that resulted in elements that got appended to the editors parent node staying detached. E.g. the drag handle plugin is affected by this regression.

@tiptap/vue-2

Patch Changes

  • Append all children of editors parent node to element

    Fixes a regression introduced by #6972, that resulted in elements that got appended to the editors parent node staying detached. E.g. the drag handle plugin is affected by this regression.

@tiptap/vue-3

Patch Changes

  • Append all children of editors parent node to element

    Fixes a regression introduced by #6972, that resulted in elements that got appended to the editors parent node staying detached. E.g. the drag handle plugin is affected by this regression.

@tiptap/extension-drag-handle

Patch Changes

  • Fix findElementNextToCoords to resolve the parent when nodeAt(pos) is null (e.g., inside an atom node that allows inline content)

v3.13.0

@tiptap/extension-drag-handle

Patch Changes

  • Added data-dragging attribute to drag handle elements to track drag state.

@tiptap/extension-drag-handle-react

Patch Changes

  • Added data-dragging attribute to drag handle elements to track drag state.

@tiptap/extension-drag-handle-vue-2

Patch Changes

  • Added data-dragging attribute to drag handle elements to track drag state.

@tiptap/extension-drag-handle-vue-3

Patch Changes

  • Added data-dragging attribute to drag handle elements to track drag state.

Patch Changes

  • Ensure enableClickSelection works regardless of the openOnClick option by always registering the link click handler plugin.

@tiptap/extension-table-of-contents

Patch Changes

  • Skip the table of contents update logic during IME input method composition to avoid interference with input.

@tiptap/markdown

Patch Changes

  • Fixed trailing and leading whitespace handling in markdown serialization for inline marks

@tiptap/extension-mention

Patch Changes

  • Add 'mentionSuggestionChar' to allowedAttributes for Markdown serialization in multi-mention setups. The attribute is only serialized when it differs from the default '@' character, keeping markdown output clean for single-mention users.

@tiptap/core

Minor Changes

    1. Added an optional createCustomHandle callback to ResizableNodeView, allowing developers to fully customize resize handles. When provided, it replaces the default handle creation and bypasses the built-in positionHandle logic, giving complete control over markup, styling, and positioning while preserving backward compatibility.
    2. Removed predefined inline styles from the wrapper element to better support dynamic alignment. This eliminates the need for !important overrides in user styles.
    3. Added an editor update event listener to dynamically attach or remove resize handles based on the editor’s editable state. The implementation tracks the previous editable state to avoid unnecessary re-renders.

Patch Changes

  • Add 'mentionSuggestionChar' to allowedAttributes for Markdown serialization in multi-mention setups. The attribute is only serialized when it differs from the default '@' character, keeping markdown output clean for single-mention users.

@tiptap/extension-image

Minor Changes

    1. Added an optional createCustomHandle callback to ResizableNodeView, allowing developers to fully customize resize handles. When provided, it replaces the default handle creation and bypasses the built-in positionHandle logic, giving complete control over markup, styling, and positioning while preserving backward compatibility.
    2. Removed predefined inline styles from the wrapper element to better support dynamic alignment. This eliminates the need for !important overrides in user styles.
    3. Added an editor update event listener to dynamically attach or remove resize handles based on the editor’s editable state. The implementation tracks the previous editable state to avoid unnecessary re-renders.

v3.12.1

@tiptap/extension-table-of-contents

Patch Changes

  • Fixed a bug that mutated the ProseMirror document during server-side rendering, which could cause "Invalid content for node doc" errors.

v3.12.0

@tiptap/extension-collaboration

Minor Changes

  • Implement position mapping using the MappablePosition class. This enables position mapping in collaborative editing scenarios.

    • Introduce MappablePosition class in core with position, fromJSON, and toJSON methods
    • Add editor.utils property with getUpdatedPosition(position, transaction) and createMappablePosition() methods
    • Create CollaborationMappablePosition subclass that extends MappablePosition with Y.js relative position support

@tiptap/core

Minor Changes

  • Implement position mapping using the MappablePosition class. This enables position mapping in collaborative editing scenarios.

    • Introduce MappablePosition class in core with position, fromJSON, and toJSON methods
    • Add editor.utils property with getUpdatedPosition(position, transaction) and createMappablePosition() methods
    • Create CollaborationMappablePosition subclass that extends MappablePosition with Y.js relative position support

@tiptap/extension-collaboration-caret

Patch Changes

  • Avoid mutating this.options in the updateUser command. this.options can be a getter and is not writable; the command now updates the provider awareness directly so user updates are applied correctly.

@tiptap/react

Minor Changes

  • Replaced unmaintained fast-deep-equal dependency with maintained fast-equals

Patch Changes

  • Fix a bug where React node views could receive invalid positions from this.getPos() when ProseMirror and React render cycles got out of sync, which could cause errors during updates.

v3.11.1

@tiptap/core

Patch Changes

  • Improve TypeScript generics for Node.extend

    The Node.extend method's TypeScript signature was updated so that ExtendedConfig can extend NodeConfig and MarkConfig, improving type inference when extending Node and Mark classes with additional config properties.

    This is a type-only change — there are no runtime behavior changes.

@tiptap/extensions

Patch Changes

  • Fixed a bug where the TrailingNode extension would not use the node option to assume the default node type

v3.11.0

@tiptap/core

Minor Changes

  • Add native text direction support for RTL and bidirectional content. The editor now includes a textDirection option that can be set to 'ltr', 'rtl', or 'auto' to control the direction of all content globally. Additionally, new setTextDirection and unsetTextDirection commands allow for granular control of text direction on specific nodes. This enables proper rendering of right-to-left languages like Arabic and Hebrew, as well as bidirectional text mixing multiple languages.

v3.10.8

@tiptap/core

Patch Changes

  • Fixed a bug that caused extra characters to be inserted after a parsed, nestable content block by accounting for leading newlines
  • Add documentation comments to Tiptap JSON types
  • allow undefined as a value for the default attribute key
  • Fix updateAttributes and resetAttributes commands to return accurate results when used with .can(). Previously, these commands would always return true even when they couldn't perform the operation. Now they correctly return false when no matching nodes or marks are found in the selection.

@tiptap/extension-text-align

Patch Changes

  • Fix setTextAlign and unsetTextAlign commands to work correctly with .can() checks. Changed logic from .every() to .some() to return true when at least one configured node type matches, rather than requiring all types to match.

@tiptap/static-renderer

Patch Changes

  • Fix static HTML renderer incorrectly generating self-closing tags for HTML elements that require proper closing tags (iframe, script, style, etc.).

@tiptap/markdown

Patch Changes

  • Fixed CommonJS compatibility by downgrading marked dependency from v16 to v15.

v3.10.7

@tiptap/vue-2

Patch Changes

  • Fix BubbleMenu plugin registration not triggering due to missing element reference during component initialization.

v3.10.6

@tiptap/vue-2

Patch Changes

  • Fix BubbleMenu and FloatingMenu component runtime errors in Vue 2.

v3.10.5

@tiptap/extension-collaboration

Patch Changes

  • Fixed collaborative editing errors with certain emoji combinations (like 🔴🟢, 😎🐈, 🟣🔵) by updating @tiptap/y-tiptap to stable v3.0.0.

@tiptap/extension-collaboration-caret

Patch Changes

  • Fixed collaborative editing errors with certain emoji combinations (like 🔴🟢, 😎🐈, 🟣🔵) by updating @tiptap/y-tiptap to stable v3.0.0.

@tiptap/extension-drag-handle

Patch Changes

  • Fixed collaborative editing errors with certain emoji combinations (like 🔴🟢, 😎🐈, 🟣🔵) by updating @tiptap/y-tiptap to stable v3.0.0.

@tiptap/core

Patch Changes

  • Fixed ProseMirror schema generation to properly respect isRequired attribute configuration. Previously, attributes marked with isRequired: true were incorrectly treated as optional because a default property was always included in the schema specification. ProseMirror determines attribute requirements by the absence of the default property, so now the default is only included when the attribute is not required and a default value is explicitly defined.

@tiptap/extension-unique-id

Patch Changes

  • Fixed infinite transaction loop that caused browser tabs to freeze when using UniqueID and TrailingNode extensions together.

@tiptap/extensions

Patch Changes

  • Fixed infinite transaction loop that caused browser tabs to freeze when using UniqueID and TrailingNode extensions together.

v3.10.4

@tiptap/core

Patch Changes

  • Fix autofocus behavior to prevent unwanted scrolling when disabled

@tiptap/extension-blockquote

Patch Changes

  • Fixed nested blockquote markdown serialization to properly handle multi-level nesting

v3.10.3

@tiptap/markdown

Patch Changes

  • Fix markdown serialization to prevent marks from continuing after hard breaks. Previously, marks like bold would incorrectly persist across hard breaks in the markdown output.
  • Fixed a bug where marks were resolved in incorrect orders, breaking markdown rendering for nested marks.
  • Fix parsing of mixed bullet lists and task lists. Previously, Marked.js would group consecutive bullet list items and task list items into a single list token, causing incorrect parsing. Now the parser detects mixed lists and splits them into separate bulletList and taskList nodes.

v3.10.2

@tiptap/markdown

Patch Changes

  • Fix parsing of mixed inline HTML within Markdown content so that inline HTML fragments are parsed correctly.

@tiptap/extension-table

Patch Changes

  • Allow setting custom table widths by respecting user-provided style attributes instead of always overriding them with calculated widths.

v3.10.1

@tiptap/core

Patch Changes

  • Use correct ResizableNodeView class name

v3.10.0

@tiptap/core

Minor Changes

  • Add a new ResizableNodeview NodeView to core that wraps elements (images, videos, iframes) with configurable resize handles. It provides live onResize/onCommit callbacks, min/max constraints, aspect-ratio support, and styling hooks (class names + data attributes) to improve UX when resizing media inside the editor.

  • the addNodeView function can now return null to dynamically disable rendering of a node view

    While this should not directly cause any issues, it's noteworthy as it still could affect some behavior in some edge cases.

@tiptap/extension-image

Minor Changes

  • Added a new resize option that allows images to be resized. The option adds resize handlers to images allowing users to manually resize images via drag and drop or touch

v3.9.1

@tiptap/extension-table

Patch Changes

  • Add a renderWrapper option to the Table extension so consumers can customize whether the table wrapper for the resizable node view should be rendered in non-editable mode as well.

v3.9.0

@tiptap/vue-3

Patch Changes

  • Fix attribute forwarding for BubbleMenu and FloatingMenu Vue 3 components to allow setting z-index and other HTML attributes

@tiptap/extension-hard-break

Patch Changes

  • Ensure that markdown hard breaks (two spaces followed by a newline) are parsed so they render as line breaks (<br>) in the editor when using contentType: 'markdown'.

    Fixes #7107

@tiptap/extension-unique-id

Minor Changes

  • Add updateDocument option to disable document updates caused by the Unique ID extension.

@tiptap/core

Patch Changes

  • Only remove injected CSS on unmount if no other editors are in the document (fixes #6836)

@tiptap/extension-drag-handle

Patch Changes

  • Replace DOM traversal with browser's native elementsFromPoint for better performance.

    • Use elementsFromPoint instead of querySelectorAll
    • Add clampToContent helper for coordinate boundary validation
    • Add findClosestTopLevelBlock helper for efficient block lookup
    • Future-proof for root-level mousemove listeners

@tiptap/react

Patch Changes

  • Prevent Bubble Menu plugin from re-loading every time the BubbleMenu component re-renders. Reverts a regression introduced in v3.6.3, in PR #7028.

v3.8.0

@tiptap/extension-unique-id

Minor Changes

  • Add updateDocument option to disable document updates caused by the Unique ID extension.

@tiptap/react

Patch Changes

  • Prevent Bubble Menu plugin from re-loading every time the BubbleMenu component re-renders. Reverts a regression introduced in v3.6.3, in PR #7028.

v3.7.2

@tiptap/html

Patch Changes

v3.7.1

@tiptap/markdown

Patch Changes

  • Editors will not throw an error anymore when content is an empty string and contentType is markdown
  • Remove invalid server configuration from package.json

v3.7.0

@tiptap/core

Minor Changes

  • All commands and their corresponding TypeScript types are now exported from @tiptap/core so they can be imported and referenced directly by consumers. This makes it easier to build typed helpers, extensions, and tests that depend on the command signatures.

    Why:

    • Previously some command option types were only available as internal types or scattered across files, which made it awkward for downstream users to import and reuse them.
    import { commands } from '@tiptap/core'
    

    Notes:

    • This is a non-breaking, additive change. It improves ergonomics for TypeScript consumers.
    • If you rely on previously private/internal types, prefer the exported types from @tiptap/core going forward.
  • Add comprehensive bidirectional markdown support to Tiptap through a new @tiptap/markdown package and Markdown utilities in @tiptap/core.

    New Package: @tiptap/markdown - A new official extension that provides full Markdown parsing and serialization capabilities using MarkedJS as the underlying Markdown parser.

    Core Features:

    Extension API

    • Markdown Extension: Main extension that adds Markdown support to your editor
    • MarkdownManager: Core engine for parsing and serializing Markdown
      • Parse Markdown strings to Tiptap JSON: editor.markdown.parse(markdown)
      • Serialize Tiptap JSON to Markdown: editor.markdown.serialize(json)
      • Access to underlying marked.js instance: editor.markdown.instance

    Editor Methods

    • editor.getMarkdown(): Serialize current editor content to Markdown string
    • editor.markdown: Access to MarkdownManager instance for advanced operations

    Editor Options:

    • contentType: Control the type of content that is inserted into the editor. Can be json, html or markdown - defaults to json and will automatically detect invalid content types (like JSON when it is actually Markdown).
      new Editor({
        content: '# Hello World',
        contentType: 'markdown',
      })
      

    Command Options: All content commands now support an contentType option:

    • setContent(markdown, { contentType: 'markdown' }): Replace editor content with markdown
    • insertContent(markdown, { contentType: 'markdown' }): Insert markdown at cursor position
    • insertContentAt(position, markdown, { contentType: 'markdown' }): Insert Markdown at specific position

    For more, check the documentation.

Patch Changes

  • The extension manager now provides a new property baseExtensions that contains an unflattened array of extensions

@tiptap/markdown

Minor Changes

  • Add comprehensive bidirectional markdown support to Tiptap through a new @tiptap/markdown package and Markdown utilities in @tiptap/core.

    New Package: @tiptap/markdown - A new official extension that provides full Markdown parsing and serialization capabilities using MarkedJS as the underlying Markdown parser.

    Core Features:

    Extension API

    • Markdown Extension: Main extension that adds Markdown support to your editor
    • MarkdownManager: Core engine for parsing and serializing Markdown
      • Parse Markdown strings to Tiptap JSON: editor.markdown.parse(markdown)
      • Serialize Tiptap JSON to Markdown: editor.markdown.serialize(json)
      • Access to underlying marked.js instance: editor.markdown.instance

    Editor Methods

    • editor.getMarkdown(): Serialize current editor content to Markdown string
    • editor.markdown: Access to MarkdownManager instance for advanced operations

    Editor Options:

    • contentType: Control the type of content that is inserted into the editor. Can be json, html or markdown - defaults to json and will automatically detect invalid content types (like JSON when it is actually Markdown).
      new Editor({
        content: '# Hello World',
        contentType: 'markdown',
      })
      

    Command Options: All content commands now support an contentType option:

    • setContent(markdown, { contentType: 'markdown' }): Replace editor content with markdown
    • insertContent(markdown, { contentType: 'markdown' }): Insert markdown at cursor position
    • insertContentAt(position, markdown, { contentType: 'markdown' }): Insert Markdown at specific position

    For more, check the documentation.

Patch Changes

  • Paste Handlers and onPaste plugin now respect shouldAutoLink/validate options

@tiptap/extensions

Patch Changes

  • Make the TrailingNode extension's node option optional and derive the default node type from the editor schema when available.

    Previously the extension used a hard-coded 'paragraph' default and the node option was required in the TypeScript definitions. This change:

    • makes node optional in the options type,
    • prefers the editor schema's top node default type when resolving the trailing node, and
    • falls back to the configured option or 'paragraph' as a last resort.

    This fixes cases where projects use a different top-level default node and prevents the extension from inserting an incorrect trailing node type.

v3.6.7

@tiptap/html

Patch Changes

  • Fix CVE-2025-61927 by bumping happy-dom to 20.0.0

    Bumps the transitive/dev dependency happy-dom from ^18.0.1 → ^20.0.0 in @tiptap/html to address CVE-2025-61927. This is a dependency/security-only change and does not modify any public APIs.

    Why:

    • happy-dom released a security fix for CVE-2025-61927; updating prevents the vulnerability being pulled into consumers that depend on @tiptap/html.

v3.6.6

@tiptap/extension-floating-menu

Patch Changes

  • Fixed a problem where the position of a menu is not updated on creation when shouldShow is true

@tiptap/extension-bubble-menu

Patch Changes

  • Fixed a problem where the position of a menu is not updated on creation when shouldShow is true

@tiptap/vue-3

Patch Changes

  • Fixed a bug that caused conditionally rendered bubble menus not to be attached to the DOM correctly

v3.6.5

@tiptap/extension-horizontal-rule

Patch Changes

  • Added nextNodeType option to horizontal-rule extension, allowing users to specify which node type should be inserted after a horizontal rule

@tiptap/html

Patch Changes

  • Fix: Clean up happy-dom window instance fixing a memory leak caused by unclosed happy-dom windows

@tiptap/core

Patch Changes

  • Editors can now emit transaction and update events before being mounted. This means smoother state handling and instant feedback from editors, even when they're not in the DOM.

v3.6.4

@tiptap/html

Patch Changes

  • Fix: Clean up happy-dom window instance fixing a memory leak caused by unclosed happy-dom windows

v3.6.3

@tiptap/react

Patch Changes

  • Updated the React FloatingMenu plugin hook dependencies to match the BubbleMenu behavior. The FloatingMenu will now respond to changes in appendTo, pluginKey, shouldShow, and options.
  • Resolved an issue where the React BubbleMenu did not update when FloatingUI option props changed after initial mount. The BubbleMenu now correctly responds to updated option props.
  • Improved the BubbleMenu's usability by ensuring the appendTo prop passed to the React BubbleMenu component is now correctly forwarded to the underlying bubble menu plugin. This fix allows developers to customize where the BubbleMenu is attached in the DOM, helping resolve issues with positioning and portal setups in React apps.

@tiptap/extensions

Patch Changes

  • The Selection extension now uses the correct SelectionOptions type, providing accurate typings for its options.

@tiptap/extension-code-block

Patch Changes

  • Configuration options for the CodeBlock extension now support null and undefined values. This makes custom setups more flexible and avoids unnecessary type errors when omitting optional overrides. All existing default values and fallback logic remain in place - no breaking changes for existing code.

@tiptap/core

Patch Changes

  • Refined the JSONContent.attrs definition to exactly mirror the structure returned by editor.getJSON(). This ensures strict type safety and consistency between the editor output and the expected type, eliminating errors caused by mismatched attribute signatures.

@tiptap/extension-table-of-contents

Patch Changes

  • Improve typings by inferring the storage type for the Table of Contents extension

@tiptap/extension-floating-menu

Patch Changes

  • You can now pass a callback to the appendTo option in the floating and bubble menu extensions. The callback must return an element synchronously, so menus can be appended to elements that are created dynamically.

@tiptap/extension-bubble-menu

Patch Changes

  • You can now pass a callback to the appendTo option in the floating and bubble menu extensions. The callback must return an element synchronously, so menus can be appended to elements that are created dynamically.

v3.6.2

@tiptap/extension-bubble-menu

Patch Changes

  • Fix a bug where the bubble menu could throw an error if the editor was destroyed while the plugin was cleaning up.

v3.6.1

@tiptap/react

Patch Changes

  • Hotfix: Fix a crash in the React package that could occur during mounting/unmounting when the editor wasn't fully initialized. This prevents a runtime error and improves stability.

v3.6.0

@tiptap/core

Patch Changes

  • Improve typing and docs for EditorOptions.element to reflect all supported mounting modes and align behavior across adapters.

    • element now accepts:
      • Element: the editor is appended inside the given element.
      • { mount: HTMLElement }: the editor is mounted directly to mount (no extra wrapper).
      • (editorEl: HTMLElement) => void: a function that receives the editor element so you can place it anywhere in the DOM.
      • null: no automatic mounting.

@tiptap/extension-table

Patch Changes

  • Parse cell colwidth from nearest <colgroup> when missing on the cell

    When importing HTML, table column widths are often declared on a surrounding <colgroup> rather than on each <td>. Previously, tableCell only read the colwidth attribute from the cell itself and would lose width information in that case. The implementation now falls back to reading the corresponding <col>'s width from the table's <colgroup> using the cell's index.

    This is a non-breaking bugfix that preserves layout information when HTML uses <colgroup>. Consider adding a small demo or unit test to assert colwidth is preserved for cells when only the <colgroup> contains width attributes.

  • Fixes table wrapper replacement and lost selections when resizable: true.

    TableView.ignoreMutation now ignores attribute/childList/characterData mutations that occur inside the table wrapper but outside the editable contentDOM, preventing wrapper re-creation during resize interactions so selections (e.g. mergeCells()) are preserved.

    No API or breaking changes.

@tiptap/extension-bubble-menu

Patch Changes

  • Remove recently added updateBubbleMenuPosition method because it would not work in the React and Vue versions of the BubbleMenu, only in the vanilla extension. And that would confuse developers.

    Write the transactionHandler method as an arrow function because arrow functions have no this, so the this remains the instance of the BubbleMenuView class.

@tiptap/extension-unique-id

Minor Changes

  • Create a utility to add unique IDs to a document in the server

    The utility is called generateUniqueIds and is exported from the @tiptap/extension-unique-id package.

    It has the same functionality as the UniqueID extension, but without the need to create an Editor instance. This lets you add unique IDs to the document in the server.

    It takes the following parameters:

    • doc: The Tiptap JSON document to add unique IDs to.
    • extensions: The extensions to use. Must include the UniqueID extension.

    It returns the updated Tiptap JSON document, with the unique IDs added to the nodes.

@tiptap/vue-3

Minor Changes

  • Pass attrs through Vue 3 menus

v3.5.3

@tiptap/extension-text-style

Patch Changes

  • Merge nested span styles only for immediate child spans and guard style values.

    • Replace non-standard/fragile selector approach and avoid re-processing nested <span> elements.
    • Read parent style once, merge with child style only when present, and remove empty style attributes.
    • Improves parsing performance and robustness in browsers, Node/JSDOM and tests.

    This change fixes a bug that could cause exponential work when parsing deeply nested <span> elements - in extreme cases that could make the tab unresponsive or crash the renderer. It is a bugfix / performance improvement with no public API changes.

v3.5.2

@tiptap/react

Patch Changes

  • Tiptap will now correctly insert a React MarkViews' content into the correct element within MarkViewContent component

v3.5.1

@tiptap/extension-floating-menu

Patch Changes

  • Add appendTo support to FloatingMenu and pass it through in React/Vue 2/Vue 3 for both BubbleMenu and FloatingMenu to allow fixing clipping/z-index issues.

@tiptap/react

Patch Changes

  • Add appendTo support to FloatingMenu and pass it through in React/Vue 2/Vue 3 for both BubbleMenu and FloatingMenu to allow fixing clipping/z-index issues.

@tiptap/vue-2

Patch Changes

  • Add appendTo support to FloatingMenu and pass it through in React/Vue 2/Vue 3 for both BubbleMenu and FloatingMenu to allow fixing clipping/z-index issues.

@tiptap/vue-3

Patch Changes

  • Add appendTo support to FloatingMenu and pass it through in React/Vue 2/Vue 3 for both BubbleMenu and FloatingMenu to allow fixing clipping/z-index issues.

2.4.0 (2024-05-14)

Bug Fixes

  • core: configure should use the parent of the current instance, to avoid duplication (#5147) (4db463c)
  • fix ts error for BubbleMenu and FloatingMenu in @tiptap/react (#5126) (baff4af)

Features

2.3.2 (2024-05-08)

Bug Fixes

2.3.1 (2024-04-30)

Note: Version bump only for package tiptap

2.3.0 (2024-04-09)

Bug Fixes

Features

  • core: apply input and paste rules when using insertContent methods (#5046) (96b6abc)

2.2.6 (2024-04-06)

Bug Fixes

  • unexpected renderText() for contentful nodes (#3410) (d6c71a8)

2.2.5 (2024-04-05)

Bug Fixes

  • Disallow only whitespace between markdown shortcuts delimiters (#4866) (aa029fe)
  • extension-link: Avoid auto-linking partial text for invalid TLDs (#4865) (4474d05)

2.2.4 (2024-02-23)

Bug Fixes

  • mark nocookie youtube url as valid when parsing html (#4883) (099e10d)
  • typecheck drag and clipboard events for testing environments (bbee9a3)

2.2.3 (2024-02-15)

Bug Fixes

2.2.2 (2024-02-07)

Bug Fixes

  • react: use ref instead of state in useEditor to prevent rerenders (#4856) (56a5737)

2.2.1 (2024-01-31)

Note: Version bump only for package tiptap

2.2.0 (2024-01-29)

Bug Fixes

2.2.0-rc.8 (2024-01-08)

Bug Fixes

  • core: fix options now being empty (fc67cb1)

2.2.0-rc.7 (2023-11-27)

Bug Fixes

  • core: set defaultOptions to undefined by default (448b433)

2.2.0-rc.6 (2023-11-23)

Reverts

  • Revert "fix/react-renderer-node-attrs (#4321)" (a4af83c), closes #4321
  • Revert "autolink improvement" (ef10ae5)

2.2.0-rc.4 (2023-10-10)

Bug Fixes

  • add missing attributes in extension-link (#4429) (0578265)
  • history: use correct shortcuts for undo/redo (520ce79)

Features

  • extension/youtube: Allow youtube shorts urls to be embedded (4d79cb8)

2.2.0-rc.3 (2023-08-18)

2.2.0-rc.1 (2023-08-18)

2.2.0-rc.0 (2023-08-18)

Features

  • placeholder: allow editor-is-empty class on any node (#4335) (ff929b1)

2.1.16 (2024-01-10)

Bug Fixes

  • core: fix new lines being added via elementFromString (#4767) (2235908)

Reverts

  • Revert "fix(extension-link): fix link not being kept when pasting url with link (#3975)" (1b34271), closes #3975

2.1.15 (2024-01-08)

Bug Fixes

  • core: fix insertContentAt keeping new lines in html content (#4465) (135a12f)
  • link: fix tests (d495d92)

Reverts

  • Revert "update package-lock" (faead69)

2.1.14 (2024-01-08)

Bug Fixes

  • typography: require spaces after divisions to not break date formats (#4696) (f6d7e00)

2.1.13 (2023-11-30)

Bug Fixes

  • react: fix performance regression because of select/deselect (#4661) (ad7f659)

2.1.12 (2023-10-11)

Bug Fixes

  • link: restore pasteHandler and add existing url check (#4523) (1a7b428)

2.1.11 (2023-09-20)

Reverts

2.1.10 (2023-09-15)

Note: Version bump only for package tiptap

2.1.9 (2023-09-14)

Bug Fixes

  • add missing attributes in extension-link (#4429) (74b6444)

2.1.8 (2023-09-04)

Note: Version bump only for package tiptap

2.1.7 (2023-09-04)

Bug Fixes

  • horizontal-rule: fix insertion being broken on empty docs (#4375) (2a83166)

2.1.6 (2023-08-18)

Bug Fixes

  • core: fix broken export (4227f32)

2.1.5 (2023-08-18)

Bug Fixes

2.1.4 (2023-08-18)

Bug Fixes

2.1.3 (2023-08-18)

Bug Fixes

  • fix autolink when code is not enabled for editor (#4344) (f2ac7b9)

2.1.2 (2023-08-17)

Bug Fixes

  • core: fix error when merging class attributes (#4340) (a251946)

2.1.1 (2023-08-16)

Note: Version bump only for package tiptap

2.1.0 (2023-08-16)

Note: Version bump only for package tiptap

2.1.0-rc.14 (2023-08-11)

Note: Version bump only for package tiptap

2.1.0-rc.13 (2023-08-11)

Bug Fixes

2.1.0-rc.12 (2023-07-14)

2.1.0-rc.11 (2023-07-07)

Bug Fixes

  • core: fix cut and insertContentAt functions (#4187) (6b65af8)
  • tests: fix link rel tests (c1d1854)

2.1.0-rc.10 (2023-07-07)

Bug Fixes

  • do not use window.open for links in readonly mode (#4073) (4bca77e)
  • extension-link: fixes link going to wrong url (#4078) (3053865)
  • link: Prevent auto-linking when typing URL inside inline code mark (#4160) (b24df3a)
  • react: check props.clientRect before creating ReactRenderer (#4138) (d710846)
  • react: update select state when text selection is around node (#4148) (5bd5bd4)

Features

2.1.0-rc.9 (2023-06-15)

2.1.0-rc.8 (2023-05-25)

2.1.0-rc.7 (2023-05-25)

2.1.0-rc.5 (2023-05-25)

Bug Fixes

  • extension-link: fix paste handling (d19267e)
  • typo in commands.md (a2a9822)

Features

2.1.0-rc.4 (2023-04-27)

Bug Fixes

  • link: fix links autolinking when not needed (#3989) (71946c1)

2.1.0-rc.3 (2023-04-26)

Bug Fixes

  • core: remove configure from extend functionality (4af54da)

2.1.0-rc.2 (2023-04-26)

Bug Fixes

  • extension-link: fix link not being kept when pasting url with link (#3975) (e7d7d49)

2.1.0-rc.1 (2023-04-12)

Bug Fixes

  • bubble-menu: fix debounce not working with collab/collaboration cursor (#3956) (e8cef04)

2.1.0-rc.0 (2023-04-05)

Bug Fixes

  • clear nodes when cursor at start of empty isolating parent (#3943) (7278ee2)
  • list-item: improve delete behaviour (09782a5)
  • lists: improve list behaviour (684e48a)
  • Update peerDependencies to fix lerna version tasks (#3914) (0c1bba3)

2.1.0-rc.12 (2023-07-14)

Note: Version bump only for package tiptap

2.1.0-rc.11 (2023-07-07)

Bug Fixes

  • core: fix cut and insertContentAt functions (#4187) (6b65af8)
  • tests: fix link rel tests (c1d1854)

2.1.0-rc.10 (2023-07-07)

Bug Fixes

  • do not use window.open for links in readonly mode (#4073) (4bca77e)
  • extension-link: fixes link going to wrong url (#4078) (3053865)
  • link: Prevent auto-linking when typing URL inside inline code mark (#4160) (b24df3a)
  • react: check props.clientRect before creating ReactRenderer (#4138) (d710846)
  • react: update select state when text selection is around node (#4148) (5bd5bd4)

Features

2.1.0-rc.9 (2023-06-15)

Bug Fixes

  • list-item: improve delete behaviour (09782a5)
  • lists: improve list behaviour (684e48a)

2.1.0-rc.8 (2023-05-25)

Note: Version bump only for package tiptap

2.1.0-rc.7 (2023-05-25)

Note: Version bump only for package tiptap

2.1.0-rc.6 (2023-05-25)

Note: Version bump only for package tiptap

2.1.0-rc.5 (2023-05-25)

Bug Fixes

  • extension-link: fix paste handling (d19267e)
  • typo in commands.md (a2a9822)

Features

2.1.0-rc.4 (2023-04-27)

Bug Fixes

  • link: fix links autolinking when not needed (#3989) (71946c1)

2.1.0-rc.3 (2023-04-26)

Bug Fixes

  • core: remove configure from extend functionality (4af54da)

2.1.0-rc.2 (2023-04-26)

Bug Fixes

  • extension-link: fix link not being kept when pasting url with link (#3975) (e7d7d49)

2.1.0-rc.1 (2023-04-12)

Bug Fixes

  • bubble-menu: fix debounce not working with collab/collaboration cursor (#3956) (e8cef04)

2.1.0-rc.0 (2023-04-05)

Bug Fixes

  • clear nodes when cursor at start of empty isolating parent (#3943) (7278ee2)
  • Update peerDependencies to fix lerna version tasks (#3914) (0c1bba3)

2.1.0-rc.0 (2023-04-05)

Bug Fixes

  • clear nodes when cursor at start of empty isolating parent (#3943) (7278ee2)
  • Update peerDependencies to fix lerna version tasks (#3914) (0c1bba3)
  • bubble-menu: fix debounce not working with collab/collaboration cursor (#3956) (a78f8cd)

2.0.3 (2023-04-13)

Bug Fixes

  • bubble-menu: fix debounce not working with collab/collaboration cursor (#3956) (e8cef04)

2.0.2 (2023-04-03)

Bug Fixes

  • react: fix rebinding events not overwriting editor.on (#3935) (64ab357)

Features

2.0.1 (2023-03-30)

Bug Fixes

  • Update peerDependencies to fix lerna version tasks (#3914) (0534f76)

2.0.0 (2023-03-29)

What's Changed