Skip to content

Releases: ueberdosis/tiptap

v3.15.3

07 Jan 14:43
3a64925

Choose a tag to compare

@tiptap/core

Patch Changes

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

v3.15.2

07 Jan 12:28
88fedcd

Choose a tag to compare

@tiptap/extension-link

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

06 Jan 11:19
824e5bd

Choose a tag to compare

@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

05 Jan 19:21
559cadb

Choose a tag to compare

@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

19 Dec 10:32
1ea0133

Choose a tag to compare

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.

    Documentation: https://tiptap.dev/docs/editor/extensions/nodes/twitch

@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

05 Dec 11:50
9d7ea8d

Choose a tag to compare

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

@tiptap/extension-link

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

03 Dec 16:25
c710fdc

Choose a tag to compare

@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

02 Dec 17:12
7c72d24

Choose a tag to compare

@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

27 Nov 17:58
0860c60

Choose a tag to compare

@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

19 Nov 02:14
e4b95fa

Choose a tag to compare

Releases

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.