unstale

npm / @tiptap/core

@tiptap/core

What changed in @tiptap/core 2 to 3, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-19.

3 breaking19 new APIs and options1 performance3 behavior and defaults6 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.2.0 on npm

@tiptap/core 323 changes

New APIs and options 15

  • New helpers check whether a value is a specific ProseMirror type.

    3.30.1release notes

  • Extensions can declare decorations directly through a hook, avoiding a hand-written ProseMirror plugin and plugin-state mapping.

    3.30.0release notes

  • With update set to 'changedRanges', rescans only blocks that actually changed instead of rebuilding decorations across the whole document.

    3.30.0release notes

  • Adds inline decorations for styling a range of text.

    3.30.0release notes

  • Adds node decorations for putting attributes on a block’s DOM element.

    3.30.0release notes

  • Adds widget decorations that render a custom element at a single position.

    3.30.0release notes

  • Adds a helper that returns the block-level sibling before the cursor’s textblock, or null at the first child of the block parent.

    3.30.0release notes

  • Widgets accept the ProseMirror ignoreSelection option.

    3.30.0release notes

  • Adds a renderer for React components in widget decorations that keeps them inside the existing app context.

    3.30.0release notes

  • Widgets accept the ProseMirror relaxedSide option.

    3.30.0release notes

  • Lets decoration implementations skip transactions that do not affect the data they depend on.

    3.30.0release notes

  • Widgets accept the ProseMirror side option.

    3.30.0release notes

  • Widgets accept the ProseMirror stopEvent option.

    3.30.0release notes

  • With update set to 'manual', decorations driven by external data can be refreshed through an editor command.

    3.30.0release notes

  • Adds a renderer for Vue components in widget decorations that keeps them inside the existing app context.

    3.30.0release notes

Behavior and default changes 2

  • Reusing a widget key keeps the component instance mounted while the document changes around it, preserving local state.

    3.30.0release notes

  • ListKeymap registers a Tab shortcut that moves a top-level textblock at the start of the paragraph into the previous list’s last item.

    3.30.0release notes

Fixes and other changes 6

  • Nested sibling elements now render properly by spreading children arrays into DOMOutputSpec.

    3.30.3release notes

  • editor.chain and editor.can can now be accessed during editor initialization.

    3.30.2release notes

  • Mixed JSX children are kept as separate siblings in DOM output.

    3.30.2release notes

  • Fixes failures when prosemirror-model is loaded more than once.

    3.30.0release notes

  • Fixes failures when prosemirror-model is loaded more than once.

    3.30.0release notes

  • Fixes failures when prosemirror-model is loaded more than once.

    3.30.0release notes

@tiptap/core 29 changes

Breaking changes 3

  • The command now emits updates by default.

    2.0.0upgrade guide

  • The command no longer splits text nodes at the beginning.

    2.0.0upgrade guide

  • The signature is now (content, options), and the command emits updates by default.

    2.0.0upgrade guide

New APIs and options 4

  • Mark.create can define a mark view to render custom views for marks within the editor.

    2.0.0upgrade guide

  • New delete event tracking is available.

    2.0.0upgrade guide

  • Setting element to null opts into creating an editor on the server without rendering.

    2.0.0upgrade guide

  • Support for validating node and mark attributes is added.

    2.0.0upgrade guide

Performance 1

  • Transaction handling has performance improvements.

    2.0.0upgrade guide

Behavior and default changes 1

  • The NodeViewRendererProps function can now return undefined, so callers should handle that case.

    2.0.0upgrade guide