fix(deps): update tiptap to v3 (main) (major)#7437
Merged
github-actions[bot] merged 9 commits intomainfrom Nov 12, 2025
Merged
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
7679afc to
9595fb6
Compare
9595fb6 to
d8585cc
Compare
d8585cc to
dc2babf
Compare
dc2babf to
aa56981
Compare
aa56981 to
91a5778
Compare
91a5778 to
1247e88
Compare
1247e88 to
0751826
Compare
0751826 to
a7dd18e
Compare
ca885fe to
529104f
Compare
95f10cc to
136d900
Compare
136d900 to
3a90739
Compare
2f686c6 to
d88a9ab
Compare
d88a9ab to
e0f1220
Compare
e0f1220 to
b9c3329
Compare
b9c3329 to
45a813d
Compare
45a813d to
cd66f32
Compare
The extension got renamed upstream. Signed-off-by: Jonas <jonas@freesources.org>
The default changed in Tiptap v3 from false to true. Signed-off-by: Jonas <jonas@freesources.org>
Use user from awareness localState instead of `this.options.user` as `this.options` is a getter these days and doesn't get updated after the initialization. Signed-off-by: Jonas <jonas@freesources.org>
447a35a to
a548a88
Compare
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #7437 +/- ##
==========================================
- Coverage 45.96% 45.93% -0.03%
==========================================
Files 141 141
Lines 3964 3964
Branches 747 747
==========================================
- Hits 1822 1821 -1
- Misses 1838 1840 +2
+ Partials 304 303 -1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Otherwise prosemirror throws with "Only non-generatable nodes (codeBlock) in a required position [...] (in content expression 'block')" Signed-off-by: Jonas <jonas@freesources.org>
Signed-off-by: Jonas <jonas@freesources.org>
We provide a default for the property already, so no need to mark it as required. Throws "RangeError: No value supplied for attribute bullet" otherwise. Signed-off-by: Jonas <jonas@freesources.org>
Signed-off-by: Jonas <jonas@freesources.org>
Some upstream change resulted in tables with thead and tbody tags being split into two tables with Tiptap v3. Adds additional tests to make sure parsing different HTML structures we always end with the first row being the header row and subsequent ones being body rows, even if thead/tbody and th/td tags are missing or mixed up. Signed-off-by: Jonas <jonas@freesources.org>
a548a88 to
eda03bf
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.
This PR contains the following updates:
^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5^2.27.1->^3.10.5Release Notes
ueberdosis/tiptap (@tiptap/core)
v3.10.5Compare Source
Patch Changes
92fae18: Fixed ProseMirror schema generation to properly respectisRequiredattribute configuration. Previously, attributes marked withisRequired: truewere incorrectly treated as optional because adefaultproperty was always included in the schema specification. ProseMirror determines attribute requirements by the absence of thedefaultproperty, so now thedefaultis only included when the attribute is not required and a default value is explicitly defined.v3.10.4Compare Source
Patch Changes
64561c4: Fix autofocus behavior to prevent unwanted scrolling when disabledv3.10.3Compare Source
Patch Changes
v3.10.2Compare Source
Patch Changes
v3.10.1Compare Source
Patch Changes
3564e7c: Use correctResizableNodeViewclass namev3.10.0Compare Source
Minor Changes
4aa9f57: 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.4aa9f57: the addNodeView function can now returnnullto dynamically disable rendering of a node viewWhile this should not directly cause any issues, it's noteworthy as it still could affect some behavior in some edge cases.
Patch Changes
v3.9.1Compare Source
Patch Changes
v3.9.0Compare Source
Patch Changes
bbb8e16: Only remove injected CSS on unmount if no other editors are in the document (fixes #6836)v3.8.0Compare Source
Releases
v3.8.0
@tiptap/extension-unique-id@3.8.0
Minor Changes
23e516e: AddupdateDocumentoption to disable document updates caused by the Unique ID extension.@tiptap/react@3.8.0
Patch Changes
f3770af: 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.2Compare Source
Releases
v3.7.2
@tiptap/html
Patch Changes
v3.7.1Compare Source
Releases
v3.7.1
@tiptap/markdown
Patch Changes
contentis an empty string andcontentTypeismarkdownv3.7.0Compare Source
Releases
v3.7.0
@tiptap/core
Minor Changes
All commands and their corresponding TypeScript types are now exported from
@tiptap/coreso 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:
Notes:
@tiptap/coregoing forward.Add comprehensive bidirectional markdown support to Tiptap through a new
@tiptap/markdownpackage 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
MarkdownExtension: Main extension that adds Markdown support to your editorMarkdownManager: Core engine for parsing and serializing Markdowneditor.markdown.parse(markdown)editor.markdown.serialize(json)editor.markdown.instanceEditor Methods
editor.getMarkdown(): Serialize current editor content to Markdown stringeditor.markdown: Access to MarkdownManager instance for advanced operationsEditor Options:
contentType: Control the type of content that is inserted into the editor. Can bejson,htmlormarkdown- defaults tojsonand will automatically detect invalid content types (like JSON when it is actually Markdown).Command Options: All content commands now support an
contentTypeoption:setContent(markdown, { contentType: 'markdown' }): Replace editor content with markdowninsertContent(markdown, { contentType: 'markdown' }): Insert markdown at cursor positioninsertContentAt(position, markdown, { contentType: 'markdown' }): Insert Markdown at specific positionFor more, check the documentation.
Patch Changes
baseExtensionsthat contains an unflattened array of extensions@tiptap/markdown
Minor Changes
Add comprehensive bidirectional markdown support to Tiptap through a new
@tiptap/markdownpackage 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
MarkdownExtension: Main extension that adds Markdown support to your editorMarkdownManager: Core engine for parsing and serializing Markdowneditor.markdown.parse(markdown)editor.markdown.serialize(json)editor.markdown.instanceEditor Methods
editor.getMarkdown(): Serialize current editor content to Markdown stringeditor.markdown: Access to MarkdownManager instance for advanced operationsEditor Options:
contentType: Control the type of content that is inserted into the editor. Can bejson,htmlormarkdown- defaults tojsonand will automatically detect invalid content types (like JSON when it is actually Markdown).Command Options: All content commands now support an
contentTypeoption:setContent(markdown, { contentType: 'markdown' }): Replace editor content with markdowninsertContent(markdown, { contentType: 'markdown' }): Insert markdown at cursor positioninsertContentAt(position, markdown, { contentType: 'markdown' }): Insert Markdown at specific positionFor more, check the documentation.
@tiptap/extension-link
Patch Changes
@tiptap/extensions
Patch Changes
Make the
TrailingNodeextension'snodeoption optional and derive thedefault node type from the editor schema when available.
Previously the extension used a hard-coded
'paragraph'default and thenodeoption was required in the TypeScript definitions. This change:nodeoptional in the options type,trailing node, and
'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.7Compare Source
Patch Changes
v3.6.6Compare Source
Patch Changes
v3.6.5Compare Source
Patch Changes
1e4caea: Editors can now emittransactionandupdateevents before being mounted.This means smoother state handling and instant feedback from editors, even when they're not in the DOM.
v3.6.4Compare Source
Patch Changes
v3.6.3Compare Source
Patch Changes
67f7b4a: Refined theJSONContent.attrsdefinition to exactly mirror the structure returned byeditor.getJSON(). This ensures strict type safety and consistency between the editor output and the expected type, eliminating errors caused by mismatched attribute signatures.v3.6.2Compare Source
Patch Changes
v3.6.1Compare Source
Patch Changes
v3.6.0Compare Source
Patch Changes
c0190bd: Improve typing and docs forEditorOptions.elementto reflect all supported mounting modes and align behavior across adapters.elementnow accepts:Element: the editor is appended inside the given element.{ mount: HTMLElement }: the editor is mounted directly tomount(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.v3.5.3Compare Source
Patch Changes
v3.5.2Compare Source
Patch Changes
v3.5.1Compare Source
Patch Changes
v3.5.0Compare Source
Patch Changes
v3.4.6Compare Source
Patch Changes
968016f: Added support for theundoableoption in InputRules (matching ProseMirror’s implementation).false, the change will not be tracked as undoable.truefor backward compatibility.This brings Tiptap’s InputRules behavior in line with ProseMirror and gives developers finer control over undo functionality.
v3.4.5Compare Source
Patch Changes
0226d42: Fix an issue where injected CSS was not mounted correctly when the editor instance was mounted. The fix ensures CSS injected by the editor is attached to the document when the editor mounts, preventing missing styles in some mount/unmount scenarios.37af83b: refactor: replacemap(...).flat()withflatMapfor simpler, more efficient array flatteningf598ac7: Fix bug ininsertContentAtcommand where extra content would get deleted when the selection was at the beginning of the document and a node was insertedv3.4.4Compare Source
Patch Changes
00cf1d7: Fix bug ininsertContentAtcommand where extra content would get deleted when the selection was at the beginning of the document and a node was insertedv3.4.3Compare Source
Patch Changes
1ea8906: When the editor view is created, it now will also includenodeViewsandmarkViewsproperties instead of setting them afterward. This avoids serialization of the editor state to HTML which will be replaced by node views anyway.v3.4.2Compare Source
Patch Changes
v3.4.1Compare Source
Patch Changes
v3.4.0Compare Source
Minor Changes
ad51daa: Addmountandunmountevents to theEditorinstance for tracking mounts and unmountsPatch Changes
895c73f: Fixcan().toggleMark()returning incorrect result when cursor is inside nodes that disallow marksFixed an issue where
can().toggleMark('bold')incorrectly returnedtruewhen the cursor was positioned inside a code block (with no selection), even though marks are not allowed in code blocks. The method now correctly returnsfalsein this scenario by checking if the parent node allows the mark type when the selection is a cursor.v3.3.1Compare Source
Patch Changes
v3.3.0Compare Source
Minor Changes
5423726: Make input rules and paste rules respect extensionpriorityby registeringthem per-extension instead of aggregating them into a single global plugin.
v3.2.2Compare Source
Patch Changes
v3.2.1Patch Changes
6a2873f: Ensure drag previews for node views work correctly in Safari by attachingan offscreen clone of the node to the DOM while calling
setDragImage, and by preserving the original element's pixelwidth/heightso the preview matches the original. This preventsSafari from immediately cancelling the drag when a detached element is
used as the drag image.
v3.2.0Minor Changes
5056e3e: Fix Editor.unmount() failing in test environments due to missing DOM remove() methodPatch Changes
v3.1.0Compare Source
Patch Changes
v3.0.9Compare Source
Patch Changes
v3.0.8Compare Source
Patch Changes
v3.0.7Compare Source
Patch Changes
v3.0.6Compare Source
Patch Changes
2e71d05: Fix: Fix broken types for function chaining when calling extendv3.0.5Compare Source
Patch Changes
v3.0.4Compare Source
Patch Changes
7ed03fa: Fix: Add correct overload for extension extend types"v3.0.3Compare Source
Patch Changes
75cabde: Fix: Avoid the JSX Runtime to globally overwrite React's Element types when/** @​jsxImportSource @​tiptap/core */is not usedv3.0.2Compare Source
Patch Changes
v3.0.1Compare Source
Major Changes
a92f4a6: We are now building packages with tsup which does not support UMD builds, please repackage if you require UMD builds5e957e5: This resolves in issue with SSR where the isDestroyed property could not be read while in SSR37913d5:getPosinNodeViewRendererPropstype now includesundefinedas possible return valueBefore
After
32958d6:Node,MarkandExtensionconfig options now are strongly typed and do not allow arbitrary keys on the options object.To add keys, like when using
extendNodeSchemaorextendMarkSchema, you can do this:12bb31a:insertContentandinsertContentAtcommands should not split text nodes like paragraphs into multiple nodes when the inserted content is at the beginning of the text to avoid empty nodes being created062afaf:clearContentcommand defaults to emitting updates now062afaf: Change signature ofsetContentcommand to(content, options)and default to emitting updates32958d6:editor.storageis now strongly typedStorageinstances, using a similar pattern as commands, where you can define the type of the storage value using namespaces like:32958d6:editor.storageis instantiated per editor rather than per extension.Previously, the storage value was a singleton per extension instance, this caused strange bugs when using multiple editor instances on a single page.
Now, storage instances are per editor instance, so changing the value on one
editor.storageinstance will not affect another editor's value.Minor Changes
8de8e13: The editor instance now supports anunmountmethod which allows for mounting and unmounting the editor to the DOM. This encourages re-use of editor instances by preserving all the same options between instances. This is different from thedestroymethod, which will unmount, emit thedestroyevent, and remove all event listeners.d0fda30: Add config option to emit content error when content check is disabled0e3207f: Add support for markviews, which allow you to render custom views for marks within the editor. This is useful for rendering custom UI for marks, like a color picker for a text color mark or a link editor for a link mark.Here is a plain JS markview example:
v3.0.0Compare Source
Patch Changes
ueberdosis/tiptap (@tiptap/extension-blockquote)
v3.10.5Compare Source
Patch Changes
92fae18]v3.10.4Compare Source
Patch Changes
5d17140: Fixed nested blockquote markdown serialization to properly handle multi-level nesting64561c4]v3.10.3Compare Source
Patch Changes
v3.10.2Compare Source
Patch Changes
v3.10.1Compare Source
Patch Changes
3564e7c]v3.10.0Compare Source
Patch Changes
4aa9f57]4aa9f57]v3.9.1Compare Source
Patch Changes
v3.9.0Compare Source
Patch Changes
bbb8e16]Configuration
📅 Schedule: Branch creation - "every weekend" in timezone Europe/Berlin, Automerge - At any time (no schedule defined).
🚦 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.