Skip to content

Releases: ueberdosis/tiptap

v3.22.4

18 Apr 11:46
dec9735

Choose a tag to compare

@tiptap/extension-drag-handle

Patch Changes

  • 032f8f1: Fix drag handle ghost image alignment when dragging blocks inside offset layouts, and preserve correct ghost image behavior for RTL content.
  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
    • @tiptap/core@3.22.4
    • @tiptap/extension-collaboration@3.22.4
    • @tiptap/extension-node-range@3.22.4
    • @tiptap/pm@3.22.4

@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/pm@3.22.4

@tiptap/extension-audio

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
    • @tiptap/core@3.22.4

@tiptap/extension-blockquote

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
    • @tiptap/core@3.22.4

@tiptap/extension-bold

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
    • @tiptap/core@3.22.4

@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/core@3.22.4
    • @tiptap/pm@3.22.4

@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-list@3.22.4

@tiptap/extension-code

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
    • @tiptap/core@3.22.4

@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/core@3.22.4
    • @tiptap/pm@3.22.4

@tiptap/extension-code-block-lowlight

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
    • @tiptap/core@3.22.4
    • @tiptap/extension-code-block@3.22.4
    • @tiptap/pm@3.22.4

@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/core@3.22.4
    • @tiptap/pm@3.22.4

@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/core@3.22.4
    • @tiptap/pm@3.22.4

@tiptap/extension-color

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
    • @tiptap/extension-text-style@3.22.4

@tiptap/extension-details

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
    • @tiptap/core@3.22.4
    • @tiptap/extension-text-style@3.22.4
    • @tiptap/pm@3.22.4

@tiptap/extension-document

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
    • @tiptap/core@3.22.4

@tiptap/extension-drag-handle-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/extension-drag-handle@3.22.4
    • @tiptap/pm@3.22.4
    • @tiptap/react@3.22.4

@tiptap/extension-drag-handle-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/extension-drag-handle@3.22.4
    • @tiptap/pm@3.22.4
    • @tiptap/vue-2@3.22.4

@tiptap/extension-drag-handle-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-drag-handle@3.22.4
    • @tiptap/pm@3.22.4
    • @tiptap/vue-3@3.22.4

@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/core@3.22.4
    • @tiptap/pm@3.22.4
    • @tiptap/suggestion@3.22.4

@tiptap/extension-file-handler

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
    • @tiptap/core@3.22.4
    • @tiptap/extension-text-style@3.22.4
    • @tiptap/pm@3.22.4

@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/core@3.22.4
    • @tiptap/pm@3.22.4

@tiptap/extension-font-family

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
    • @tiptap/extension-text-style@3.22.4

@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/core@3.22.4

@tiptap/extension-heading

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
    • @tiptap/core@3.22.4

@tiptap/extension-highlight

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
    • @tiptap/core@3.22.4

@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/core@3.22.4
    • @tiptap/pm@3.22.4

@tiptap/extension-image

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
    • @tiptap/core@3.22.4

@tiptap/extension-invisible-characters

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
    • @tiptap/core@3.22.4
    • @tiptap/extension-text-style@3.22.4
    • @tiptap/pm@3.22.4

@tiptap/extension-italic

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
    • @tiptap/core@3.22.4

@tiptap/extension-link

Patch Changes

  • 032f8f1: Fix dependencies installation after packages updates producing peer dependency resolution conflicts
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
  • Updated dependencies [032f8f1]
    • @tiptap/core@3.22.4
    • @tiptap/pm@3.22.4

@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 ...

Read more

v3.22.3

08 Apr 10:56
626b052

Choose a tag to compare

@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

  • Updated dependencies [ac994c5]
    • @tiptap/core@3.22.3
    • @tiptap/extension-dropcursor@3.22.3
    • @tiptap/extension-gapcursor@3.22.3
    • @tiptap/extension-list-item@3.22.3
    • @tiptap/extension-list-keymap@3.22.3
    • @tiptap/extension-blockquote@3.22.3
    • @tiptap/extension-bold@3.22.3
    • @tiptap/extension-bullet-list@3.22.3
    • @tiptap/extension-code@3.22.3
    • @tiptap/extension-code-block@3.22.3
    • @tiptap/extension-document@3.22.3
    • @tiptap/extension-hard-break@3.22.3
    • @tiptap/extension-heading@3.22.3
    • @tiptap/extension-horizontal-rule@3.22.3
    • @tiptap/extension-italic@3.22.3
    • @tiptap/extension-link@3.22.3
    • @tiptap/extension-list@3.22.3
    • @tiptap/extension-ordered-list@3.22.3
    • @tiptap/extension-paragraph@3.22.3
    • @tiptap/extension-strike@3.22.3
    • @tiptap/extension-text@3.22.3
    • @tiptap/extension-underline@3.22.3
    • @tiptap/extensions@3.22.3
    • @tiptap/pm@3.22.3

v3.22.2

04 Apr 13:31
99e204c

Choose a tag to compare

@tiptap/core

Patch Changes

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

@tiptap/extension-floating-menu

Patch Changes

  • 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

  • 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

  • Added RTL smart quote support

@tiptap/react

Patch Changes

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

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

Patch Changes

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

@tiptap/starter-kit

Patch Changes

  • Updated dependencies
    • @tiptap/core@3.22.2
    • @tiptap/extension-dropcursor@3.22.2
    • @tiptap/extension-gapcursor@3.22.2
    • @tiptap/extension-list-item@3.22.2
    • @tiptap/extension-list-keymap@3.22.2
    • @tiptap/extension-blockquote@3.22.2
    • @tiptap/extension-bold@3.22.2
    • @tiptap/extension-bullet-list@3.22.2
    • @tiptap/extension-code@3.22.2
    • @tiptap/extension-code-block@3.22.2
    • @tiptap/extension-document@3.22.2
    • @tiptap/extension-hard-break@3.22.2
    • @tiptap/extension-heading@3.22.2
    • @tiptap/extension-horizontal-rule@3.22.2
    • @tiptap/extension-italic@3.22.2
    • @tiptap/extension-link@3.22.2
    • @tiptap/extension-list@3.22.2
    • @tiptap/extension-ordered-list@3.22.2
    • @tiptap/extension-paragraph@3.22.2
    • @tiptap/extension-strike@3.22.2
    • @tiptap/extension-text@3.22.2
    • @tiptap/extension-underline@3.22.2
    • @tiptap/extensions@3.22.2
    • @tiptap/pm@3.22.2

v3.22.1

02 Apr 11:37
8ee6d9a

Choose a tag to compare

@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

31 Mar 18:15
7834835

Choose a tag to compare

@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

27 Mar 14:52
91c51be

Choose a tag to compare

@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

27 Mar 11:05
9a6d574

Choose a tag to compare

@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

24 Mar 15:54
18f9afe

Choose a tag to compare

@tiptap/extensions

Patch Changes

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

v3.20.3

16 Mar 17:14
48e0289

Choose a tag to compare

@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

15 Mar 17:50
cbc999f

Choose a tag to compare

@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.