@platejs/basic-nodes@53.0.0

udecode/plate@platejs/basic-nodes@53.0.0Apr 23, 2026by github-actions[bot]

AI Summary

Major changes to blockquote structure and block manipulation behaviors.

Key Highlights

  • Store blockquotes as container blocks with block children
  • Lift every selected nested quoted block one level on Shift+Tab
  • Reset headings to paragraphs on Backspace at block start before any merge

Breaking Changes

  • Blockquote structure changed to nested block children
  • editor.tf.blockquote.toggle() now wraps or unwraps blocks instead of retagging text
  • Backspace at heading start resets to paragraph before merge

Full Release Notes

### Major Changes

-   [#4941](https://github.com/udecode/plate/pull/4941) by [@zbeyens](https://github.com/zbeyens) – Store blockquotes as container blocks with block children.
    Lift every selected nested quoted block one level on `Shift+Tab`.
    Reset headings to paragraphs on `Backspace` at block start before any merge.

    **Migration:**

    1.  Update persisted values, fixtures, and tests to use block children instead of direct text children.
    2.  Expect `editor.tf.blockquote.toggle()` to wrap or unwrap blocks instead of retagging one text block in place.
    3.  Empty later quoted paragraphs delete in place on `Backspace` instead of jumping out of the quote.
    4.  `Backspace` at the start of a heading now resets the heading to a paragraph before any merge.
    5.  Legacy flat blockquote values still normalize on load, but persisted snapshots and fixtures should move to the new shape.

    ```tsx
    // Before
    { type: 'blockquote', children: [{ text: 'Quote' }] }

    // After
    {
      type: 'blockquote',
      children: [{ type: 'p', children: [{ text: 'Quote' }] }],
    }
    ```