Releases: ueberdosis/tiptap
v3.15.3
v3.15.2
@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
appendToprop in BubbleMenu and FloatingMenu
@tiptap/vue-3
Patch Changes
- Fix Vue prop validation warning for
appendToprop 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
shouldShowcallback to theSuggestionutility. 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
dispatchTransactionhook 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
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
findElementNextToCoordsto resolve the parent whennodeAt(pos)is null
(e.g., inside an atom node that allows inline content)
v3.13.0
@tiptap/extension-drag-handle
Patch Changes
- Added
data-draggingattribute to drag handle elements to track drag state.
@tiptap/extension-drag-handle-react
Patch Changes
- Added
data-draggingattribute to drag handle elements to track drag state.
@tiptap/extension-drag-handle-vue-2
Patch Changes
- Added
data-draggingattribute to drag handle elements to track drag state.
@tiptap/extension-drag-handle-vue-3
Patch Changes
- Added
data-draggingattribute to drag handle elements to track drag state.
@tiptap/extension-link
Patch Changes
- Ensure
enableClickSelectionworks regardless of theopenOnClickoption 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
-
- Added an optional
createCustomHandlecallback toResizableNodeView, allowing developers to fully customize resize handles. When provided, it replaces the default handle creation and bypasses the built-inpositionHandlelogic, giving complete control over markup, styling, and positioning while preserving backward compatibility. - Removed predefined inline styles from the
wrapperelement to better support dynamic alignment. This eliminates the need for!importantoverrides in user styles. - Added an editor
updateevent 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.
- Added an optional
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
-
- Added an optional
createCustomHandlecallback toResizableNodeView, allowing developers to fully customize resize handles. When provided, it replaces the default handle creation and bypasses the built-inpositionHandlelogic, giving complete control over markup, styling, and positioning while preserving backward compatibility. - Removed predefined inline styles from the
wrapperelement to better support dynamic alignment. This eliminates the need for!importantoverrides in user styles. - Added an editor
updateevent 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.
- Added an optional
v3.12.1
v3.12.0
@tiptap/extension-collaboration
Minor Changes
-
Implement position mapping using the
MappablePositionclass. This enables position mapping in collaborative editing scenarios.- Introduce
MappablePositionclass in core withposition,fromJSON, andtoJSONmethods - Add
editor.utilsproperty withgetUpdatedPosition(position, transaction)andcreateMappablePosition()methods - Create
CollaborationMappablePositionsubclass that extendsMappablePositionwith Y.js relative position support
- Introduce
@tiptap/core
Minor Changes
-
Implement position mapping using the
MappablePositionclass. This enables position mapping in collaborative editing scenarios.- Introduce
MappablePositionclass in core withposition,fromJSON, andtoJSONmethods - Add
editor.utilsproperty withgetUpdatedPosition(position, transaction)andcreateMappablePosition()methods - Create
CollaborationMappablePositionsubclass that extendsMappablePositionwith Y.js relative position support
- Introduce
@tiptap/extension-collaboration-caret
Patch Changes
- Avoid mutating
this.optionsin theupdateUsercommand.this.optionscan 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-equaldependency with maintainedfast-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
Releases
v3.11.0
@tiptap/core
Minor Changes
- Add native text direction support for RTL and bidirectional content. The editor now includes a
textDirectionoption that can be set to'ltr','rtl', or'auto'to control the direction of all content globally. Additionally, newsetTextDirectionandunsetTextDirectioncommands 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.