unstale

npm / @tiptap/markdown

@tiptap/markdown

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

1 breaking1 behavior and defaults27 fixes and other

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

npx @unstale/cli init

@unstale/cli on npm

@tiptap/markdown 329 changes

Breaking changes 1

  • The parser splits mixed bullet and task lists into separate bulletList and taskList nodes.

    3.10.3release notes

Behavior and default changes 1

  • Code detection for skipping encoding uses the extension spec’s code: true property instead of hardcoded type names, supporting custom code extensions.

    3.22.0release notes

Fixes and other changes 27

  • Markdown containing an unclosed inline HTML tag such as <b> no longer produces an invalid document; the tag is dropped and its text is kept.

    3.30.0release notes

  • Parsing markdown now preserves blank lines after block elements such as headings and tables, preventing content from losing a blank line on each parse/serialize cycle.

    3.29.0release notes

  • Unrecognized HTML detection works without window.DOMParser or HTMLUnknownElement, preserving angle-bracket placeholders as literal text in SSR and Node environments.

    3.27.0release notes

  • Parsing with injected Marked instances now respects custom markdown tokenizers registered via marked.use(...).

    3.27.0release notes

  • Parsing a backslash-escaped Markdown character now produces a literal text node instead of silently dropping the character.

    3.25.0release notes

  • Serialization now backslash-escapes Markdown inline syntax characters in non-code text nodes so reparsing the output does not misinterpret them as formatting delimiters.

    3.25.0release notes

  • Text inside unknown HTML-like tags is preserved as literal text during markdown parsing instead of being silently swallowed, preventing downstream contentMatchAt errors with complex schemas.

    3.24.0release notes

  • Fixes extra mark tokens appearing after inline atom nodes during Markdown serialization.

    3.23.5release notes

  • Prevents adjacent marks of the same type with different attributes from being merged during Markdown serialization.

    3.23.5release notes

  • Fixes peer dependency resolution conflicts when installing dependencies after package updates.

    3.22.4release notes

  • Markdown parsing decodes HTML entities to literal characters, and serialization re-encodes <, >, and & while preserving double quotes; code content remains literal.

    3.22.0release notes

  • Custom markdown tokenizer helper lexing now uses Marked's active lexer, preventing ordered list parsing from breaking inline tokenization in following paragraphs.

    3.21.0release notes

  • Fixed serialization and round-tripping of overlapping bold and italic markdown.

    3.20.3release notes

  • Empty paragraphs now serialize with natural blank-line spacing for the first paragraph in a run and &nbsp; markers for subsequent empty paragraphs at the same level; parsing preserves them when converting markdown back to JSON.

    3.20.2release notes

  • Fixed getMarkdown() returning &nbsp; instead of an empty string when the editor is empty.

    3.20.0release notes

  • When adjacent to alphanumeric text, **)** requires whitespace under the CommonMark specification.

    3.18.0release notes

  • Fixed markdown HTML parsing when the window object is unavailable in server-side environments.

    3.17.1release notes

  • Fixed parsing collapsing multiple blank lines.

    3.17.1release notes

  • Fixed serialization doubling newlines.

    3.17.1release notes

  • Fixed ordered list numbering when a list has a non-default start value.

    3.17.1release notes

  • Fixes incorrect Markdown output when underline is mixed with bold or italic whose ranges do not fully overlap.

    3.16.0release notes

  • Fixed handling of trailing and leading whitespace when serializing inline marks to Markdown.

    3.13.0release notes

  • Fixed CommonJS compatibility by downgrading the marked dependency from v16 to v15.

    3.10.8release notes

  • Marks no longer incorrectly continue after hard breaks in markdown output.

    3.10.3release notes

  • Marks are resolved in the correct order so nested marks render correctly in markdown.

    3.10.3release notes

  • Fixes parsing of mixed inline HTML within Markdown content so inline HTML fragments are parsed correctly.

    3.10.2release notes

  • Editors no longer throw an error when content is an empty string and contentType is markdown.

    3.7.1release notes