Repository navigation
fix(deps): update tiptap packages to v3 - #1139
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
✅ Deploy Preview for doist-typist ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
renovate
Bot
force-pushed
the
renovate/major-tiptap-packages
branch
5 times, most recently
from
November 5, 2025 04:41
48e8ae2 to
c46108f
Compare
renovate
Bot
force-pushed
the
renovate/major-tiptap-packages
branch
6 times, most recently
from
November 15, 2025 15:04
ada4d5b to
af59d1e
Compare
renovate
Bot
force-pushed
the
renovate/major-tiptap-packages
branch
5 times, most recently
from
November 24, 2025 06:08
1915930 to
b853b7a
Compare
renovate
Bot
force-pushed
the
renovate/major-tiptap-packages
branch
3 times, most recently
from
December 8, 2025 16:13
0310336 to
3cd5fe6
Compare
renovate
Bot
force-pushed
the
renovate/major-tiptap-packages
branch
2 times, most recently
from
December 10, 2025 17:27
97878c9 to
e73b36b
Compare
renovate
Bot
force-pushed
the
renovate/major-tiptap-packages
branch
from
December 24, 2025 11:03
e73b36b to
99377aa
Compare
renovate
Bot
force-pushed
the
renovate/major-tiptap-packages
branch
from
December 31, 2025 18:29
99377aa to
7db26d4
Compare
renovate
Bot
force-pushed
the
renovate/major-tiptap-packages
branch
4 times, most recently
from
January 12, 2026 14:52
5e8f6f8 to
593587f
Compare
renovate
Bot
force-pushed
the
renovate/major-tiptap-packages
branch
from
January 19, 2026 20:24
593587f to
c6382a2
Compare
renovate
Bot
force-pushed
the
renovate/major-tiptap-packages
branch
from
March 13, 2026 13:12
fe55480 to
996d824
Compare
renovate
Bot
force-pushed
the
renovate/major-tiptap-packages
branch
from
March 20, 2026 18:48
996d824 to
be57159
Compare
renovate
Bot
force-pushed
the
renovate/major-tiptap-packages
branch
4 times, most recently
from
March 27, 2026 15:55
68323bf to
2edf02e
Compare
renovate
Bot
force-pushed
the
renovate/major-tiptap-packages
branch
from
March 29, 2026 18:07
2edf02e to
55ab72f
Compare
renovate
Bot
force-pushed
the
renovate/major-tiptap-packages
branch
2 times, most recently
from
April 18, 2026 00:28
779bc52 to
5f87cc4
Compare
renovate
Bot
force-pushed
the
renovate/major-tiptap-packages
branch
2 times, most recently
from
April 29, 2026 17:40
83786fb to
7472638
Compare
renovate
Bot
force-pushed
the
renovate/major-tiptap-packages
branch
from
May 3, 2026 10:54
7472638 to
80c7414
Compare
renovate
Bot
force-pushed
the
renovate/major-tiptap-packages
branch
from
May 12, 2026 13:38
80c7414 to
0387979
Compare
renovate
Bot
force-pushed
the
renovate/major-tiptap-packages
branch
5 times, most recently
from
May 18, 2026 22:43
f86eaee to
4872cff
Compare
renovate
Bot
force-pushed
the
renovate/major-tiptap-packages
branch
6 times, most recently
from
May 28, 2026 23:07
c114f97 to
fdea415
Compare
renovate
Bot
force-pushed
the
renovate/major-tiptap-packages
branch
3 times, most recently
from
June 3, 2026 08:37
fcf031b to
8e74c88
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note
This PR body was truncated due to platform limits.
This PR contains the following updates:
2.27.3→3.32.02.27.3→3.32.02.27.3→3.32.02.27.3→3.32.02.27.3→3.32.02.27.3→3.32.02.27.3→3.32.02.27.3→3.32.02.27.3→3.32.02.27.3→3.32.02.27.3→3.32.02.27.3→3.32.02.27.3→3.32.02.27.3→3.32.02.27.3→3.32.02.27.3→3.32.02.27.3→3.32.02.27.3→3.32.02.27.3→3.32.02.27.3→3.32.02.27.3→3.32.02.27.3→3.32.02.27.3→3.32.02.27.3→3.32.02.27.3→3.32.02.27.3→3.32.02.27.3→3.32.02.27.3→3.32.02.27.3→3.32.02.27.3→3.32.02.27.3→3.32.02.27.3→3.32.02.27.3→3.32.02.27.3→3.32.02.27.3→3.32.0Release Notes
ueberdosis/tiptap (@tiptap/core)
v3.32.0Compare Source
@tiptap/markdown
Patch Changes
!directly before a link is now escaped when serializing to Markdown, so the link is no longer parsed back as an image.@tiptap/pm
Patch Changes
@tiptap/react
Patch Changes
useEditorStateoverflowing the stack when a selector returns a value with circular references, such aseditor.stateafter one stored mark replaces another.@tiptap/core
Minor Changes
schemaSpeceditor option to use an external ProseMirror schema structure with local extension behavior.Patch Changes
@tiptap/y-tiptap
Patch Changes
Keep relative text and node positions attached through structural edits, node moves, and undo or redo across collaborating clients.
Improve TypeScript definitions for document synchronization, shared cursors, undo, redo, and document conversions.
Improve collaboration performance and keep comments, highlights, caret positions, and remote caret details intact during remote edits.
Preserve shared content when a client cannot display its nodes or marks, and pause that client's editing until compatible content is available.
Headless document creation rejects empty content when the schema requires child nodes.
@tiptap/extension-collaboration
Patch Changes
@tiptap/y-tiptapbinding.@tiptap/extension-collaboration-caret
Patch Changes
@tiptap/y-tiptapbinding.@tiptap/extension-drag-handle
Patch Changes
@tiptap/y-tiptapbinding.@tiptap/ai-toolkit
Patch Changes
@tiptap/y-tiptapbinding.v3.31.4Compare Source
@tiptap/extension-mathematics
Patch Changes
@tiptap/core
Patch Changes
TypeErrorthrown when the source editor is destroyed right after dragging content into another editor.splitBlockno longer throwsTransformError: Inserted content deeper than insertion positionwhen the selection spans block boundaries (for example from the start of one paragraph into another block, or across an isolating node). The command now returnsfalsewhen the split is not possible.:::name {…} :::) indented by up to 3 spaces are now tokenized, matching CommonMark indentation rules for block constructs.&#​39;,') are now decoded when parsing markdown, instead of showing up as literal text in the editor.role="textbox"aftersetOptions()wheneditorProps.attributesis set. Before, a re-render in React replaced the default role with the user attributes. Attributes passed as a function now get the default role as well.parseMarkdownandrenderMarkdownto the configured extension so hooks can readthis.optionsandthis.namewithout an Editor.keepOnSplit: falsenow reset on the new item, not on the one that keeps the text.contentDOMno longer ignore selection mutations, so ProseMirror moves the caret back to a valid position when the browser places it inside the node view.@tiptap/markdown
Patch Changes
parseMarkdownandrenderMarkdownto the configured extension so hooks can readthis.optionsandthis.namewithout an Editor.@tiptap/extension-code
Patch Changes
@tiptap/extension-table
Patch Changes
colspan="1"androwspan="1"attributes. Cells that actually span still render them, matching how prosemirror-tables serializes spans.@tiptap/extension-list
Patch Changes
@tiptap/extension-collaboration-caret
Patch Changes
@tiptap/extension-highlight
Patch Changes
@tiptap/extension-text-align
Patch Changes
@tiptap/extension-text-style
Patch Changes
@tiptap/extension-link
Patch Changes
@tiptap/react
Patch Changes
@tiptap/static-renderer
Patch Changes
<audio>and<video>with a closing tag instead of self-closing them, so browsers no longer nest the following content inside the first audio element.renderHTMLreturns several nested child elements no longer adds stray commas between them in the HTML string output.@tiptap/extension-collaboration
Patch Changes
@tiptap/vue-2
Patch Changes
@tiptap/vue-3
Patch Changes
v3.31.3Compare Source
@tiptap/extension-collaboration-caret
Patch Changes
@tiptap/react
Patch Changes
skipLibCheckis turned off.v3.31.2Compare Source
@tiptap/pm
Patch Changes
prosemirror-viewto^1.42.3, which fixes an XSS vulnerability where pasting crafted HTML could run arbitrary JavaScript (GHSA-c8x8-7fp4-3x9w).v3.31.1Compare Source
@tiptap/core
Patch Changes
v3.31.0Compare Source
@tiptap/react
Minor Changes
e7bf804: Alignselectedwith ProseMirror node selections by default, expose text selections throughselectionInside, and keepselectedOnTextSelectioncompatible.v3.30.6Compare Source
@tiptap/core
Patch Changes
@tiptap/extension-list
Patch Changes
@tiptap/extension-youtube
Patch Changes
srcattribute no longer crashes the editor. The embed is kept without a source.@tiptap/markdown
Patch Changes
@tiptap/react
Patch Changes
v3.30.5Compare Source
@tiptap/core
Patch Changes
v3.30.4Compare Source
@tiptap/core
Patch Changes
mergeAttributes.v3.30.3Compare Source
Patch Changes
965a880: Fix JSX runtime to properly render nested sibling elements by spreading children arrays into DOMOutputSpecv3.30.2Compare Source
Patch Changes
3dffed5: Keep mixed JSX children as separate siblings in DOM output.214a140: Fixed a bug whereeditor.chainandeditor.cancan not be accessed on editor initializationv3.30.1Compare Source
Patch Changes
abc8828: Added new ProseMirror helpers that check whether a value is a specific ProseMirror type.v3.30.0Compare Source
Minor Changes
0247d39:ListKeymapnow registers aTabshortcut 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 (sinkListItemkeeps 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/corealso exposes a newgetPreviousBlockSibling($pos)helper that returns the block-level sibling before the cursor's textblock, or null at the first child of the block parent.3099eef: New Decorations APIFinally 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.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 withcreateInRange()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 witheditor.commands.updateDecorations().React and Vue components as widgets
ReactWidgetRendererandVueWidgetRendererrender 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,stopEventandignoreSelection.Documentation
Patch Changes
51909d3: FixedinsertContent,insertContentAtandsetContentfailing when prosemirror-model is loaded more than once.58a8953]v3.29.2Compare Source
Patch Changes
v3.29.1Compare Source
Patch Changes
v3.29.0Compare Source
Patch Changes
d26840f: Fix a TypeScript build error inisAndroid()where comparingnavigator.platformagainst the literal'Android'with===could fail to compile under somelib.dom.d.tstypings ("types have no overlap"). Switched to the same.includes()pattern already used byisiOS(), which is not affected by this TypeScript narrowing issue. No runtime behavior change.935e63f: Fixed a bug where deleting anAllSelection(for example right after Ctrl/Cmd+A) left a lingering "phantom" selection highlight over the emptied document instead of a text cursor.deleteSelectionnow collapses the selection to a cursor.b4c5a2d: Fix input rules crashing when the matched text spans an inline atom node like a mention.a963d48: Node viewgetPos()now returnsundefinedinstead 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.51f45b6: FixedonContentErrorthrowing when callingeditor.commandsfrom inside the handler on initial load with invalid content. The editor now has a usable state (seeded from the stripped fallback document) beforeonContentErrorfires.0f63969: Fixeditor.$pos()returning the wrong node inside container nodes, for example the list item instead of the list.9acaa65: AddinsertDefaultBlockto insert the default textblock allowed at a position. It accepts an optional position, attributes, content, and selection-update option.e150ee0]v3.28.0Compare Source
Patch Changes
v3.27.4Compare Source
Patch Changes
v3.27.3Compare Source
Patch Changes
023f98c: FixdeleteSelectionto 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.v3.27.2Compare Source
Patch Changes
ceebb31]v3.27.1Compare Source
Patch Changes
v3.27.0Compare Source
Patch Changes
0d0094d: Ordered lists now support thetypeattribute (a,A,i,I).The
<ol>typeattribute is now fully preserved through the HTML round-trip:type="a"→ lowercase alphabetical markerstype="A"→ uppercase alphabetical markerstype="i"→ lowercase roman numeral markerstype="I"→ uppercase roman numeral markersPaste from external editors (Google Docs, Word, LibreOffice) now correctly detects the list style — both from the HTML
typeattribute and from CSSlist-style-typeproperties.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. Itemcreatestype: "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 andtype="a") are not merged.795033c:parseAttributesnow supports any word characters at the start of classes or id attributes.0e0c4f9: FixmarksEqualto 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 ProseMirrorMarkobjects (wheretypeis an object with anameproperty) alongside the existing JSON mark shape ({ type: string }).6d12bb9: Fix a edge-case inrewriteUnknownContentto not fail on null-ish values inside marks or nodes.v3.26.1Compare Source
Patch Changes
v3.26.0Compare Source
Patch Changes
v3.25.0Compare Source
Patch Changes
ec291dd: Fix: dragging an inline/resizable image within the editor no longer creates a duplicateWhen the
Imageextension was configured withinline: trueorresizeenabled, 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 populatedataTransfer.files, causing the FileHandler extension to intercept the drop before ProseMirror's internal move logic could run.454e9b8: Addclearablemark option (defaulttrue).unsetAllMarksnow skips marks withclearable: false, so semantic marks like comments are not removed by "clear formatting".9cf8db0: AddattrsEqualandmarksEqualutility functions to@tiptap/core.attrsEqualcompares two attribute objects for equality regardless of key ordering.marksEqualcompares two arrays of mark objects by type and attributes usingattrsEqual.3d4f94c: 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 [
c1a2ce8]v3.24.0Compare Source
Patch Changes
7c0499b]v3.23.6Compare Source
Patch Changes
d168376: Fix deleteSelection to properly handle inline nodes withtext*content. The selection is now expanded to include the entire inline node boundaries when deleting, preventing incorrect collapse of inline text nodes.v3.23.5Compare Source
Patch Changes
835caf5: Fix $pos() returning correct node for non-text atom nodes instead of doc node95e138c: fix(nodeview): eliminate unnecessary re-renders, add opt-in position trackingNodeViews no longer re-render when decorations or position change without
content changes. Added
trackNodeViewPositionoption — when enabled, thecomponent re-renders on every position shift so calls to
getPos()staycurrent in render output. Removed the internal
nodeViewPositionRegistry.Added shallow prop comparison in
ReactRenderer.updateProps().v3.23.4Compare Source
Patch Changes
v3.23.2Compare Source
Patch Changes
f98eaaf: Fix"HTML entity encoding ingetHTML()output for inline style attributes. Adds agetStylePropertyutility to@tiptap/coreand migratesColor,BackgroundColor,FontFamily,FontSize,LineHeight, andHighlightextensions to use it (#7016)v3.23.1Compare Source
Patch Changes
v3.22.5Compare Source
Patch Changes
a375002: AddselectedOnTextSelectionoption to node view renderers. When enabled, theselectedprop also becomes true when a TextSelection is fully inside the node's range, not only on NodeSelection.v3.22.4Compare Source
Patch Changes
27ea931: Fix dependencies installation after packages updates producing peer dependency resolution conflicts64f36b8: Fix text selection collapsing after toggling off a list with AllSelection27ea931]032f8f1]v3.22.3Patch Changes
cb28e7b: FixedinsertContentAtcorrupting the document when inserting inline content with marks at the start of a paragraph. Thefrom - 1position adjustment now only applies to block-level content.v3.22.2Patch Changes
f1d504c: Fix incorrect selection placement when pasting at the end of a marked text node, ensuring inclusive marks are respected404c683: Fixes list toggling when the entire document is selectedv3.22.1Compare Source
Patch Changes
ee03ac0: 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)b88f9ed: Don't stop dragover/dragenter events in NodeViews, to prevent spurious drag-copy cursorsv3.22.0Compare Source
Patch Changes
912a49b: Fix HTML character escaping in markdown roundtrip. HTML entities (<,>,&,") 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 thecode: trueextension spec instead of hardcoded type names. Literal characters inside code blocks and inline code are always preserved.7d4fb9a: Fix ResizableNodeView ignoring node's inline setting by usinginline-flexfor inline nodes andflexfor block nodes0c1c112: extendMarkRange defaults to using the attributes of the first mark of the given type, instead ofattributes = {}. In particular,extendMarkRange('link')no longer extends to adjacent links with different hrefs; restore the previous behavior withextendMarkRange('link', {}).0c1c112: Fix getMarkRange attributes default to consider the first mark of the given typef99bdc2: Guard mark delete event handling whenunsetMarkremoves a mark from inline content that starts at position0, preventing aRangeErrorduring the before-node lookup.v3.21.0Compare Source
Patch Changes
v3.20.6Compare Source
Patch Changes
v3.20.5Patch Changes
v3.20.4Patch Changes
0bcf3c2: Fixed Tiptap not publishing with build dist artifactsv3.20.3Compare Source
Patch Changes
c94fac4: FixedisNodeEmpty()so multi-line text with non-whitespace content is no longer treated as empty whenignoreWhitespaceis enabled.6b9ea92: Fixed overlapping bold and italic markdown serialization and round-tripping.v3.20.2Compare Source
Patch Changes
269823d: 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 markers for subsequent empty paragraphs at the same level, while parsing preserves those empty paragraphs when converting markdown back to JSON.v3.20.1Compare Source
Patch Changes
25f57e4: Fix inlinestyleparsing inmergeAttributesfor values containing:or;(e.g.url(https://...)orurl(data:...;charset=...,)) and skip incomplete declarationsv3.20.0Compare Source
Minor Changes
57624a1: AddtransformPastedHTMLextension 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
4b731e2: Fix chConfiguration
📅 Schedule: (UTC)
* * * * 1-5)🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.