Major Changes
-
#4941 by @zbeyens – Round-trip blockquotes as nested block content instead of flat newline-packed text.
Serialize image titles fromnode.titleinstead of copying the caption into the markdown title slot.
Preserve MDX media attribute expressions during markdown serialization instead of stringifying them into JSON text.
Serialize plain URL links back to bare URL markdown instead of bracket-link form.
Round-trip footnote references and definitions as dedicated footnote nodes instead of collapsing them to plain-text fallback.Migration:
- Update snapshots and direct value assertions to expect
blockquote.childrento contain block nodes such as paragraphs and lists. - If you generate initial editor values from markdown, hydrate blockquotes with paragraph children instead of flat text.
- If you want markdown output like
, setnode.title. Images without a title now serialize as. - If you serialize MDX media nodes with expression attributes like
width={640}, expect those expressions to stay as expressions instead of turning into quoted JSON. - Plain URL links such as
https://platejs.orgnow serialize as bare URLs instead of[https://platejs.org](https://platejs.org). - If you enable footnote-aware markdown input, install
@platejs/footnoteand includeBaseFootnoteReferencePluginandBaseFootnoteDefinitionPluginso footnote nodes have real editor semantics instead of falling back to unknown node types.
// Before { type: 'blockquote', children: [{ text: 'Quote\\nNext line' }] } // After { type: 'blockquote', children: [ { type: 'p', children: [{ text: 'Quote' }] }, { type: 'p', children: [{ text: 'Next line' }] }, ], }
- Update snapshots and direct value assertions to expect