Every WordPress core block and the full Gutenberg trunk block library now compose cleanly through the write API. Each insert is validated against the block's inline HTML attribute definitions, so malformed input is caught up front with a clear, actionable error before becoming an "invalid content" warning in the editor.
✨ Improved
- Full compatibility coverage across every block in WordPress core and the entire Gutenberg trunk block library — each release verifies the write API works against the shipping block catalogue, so when a new block type lands it's usable immediately.
insert_blocks reads each block's own inline HTML attribute definitions from its block.json schema and validates inserts against them. When an attribute that lives in saved HTML arrives without matching innerHTML, the API responds with a clear inner_html_required error that names the field and shows the canonical form to use — covering core/paragraph, core/heading, core/image, core/button, core/html, core/shortcode, and every other block whose data is stored in markup.
- Legacy-block errors fire with a replacement suggestion even on sites that never had the source plugin installed, surfacing actionable guidance instead of a generic "not registered" error.
🐛 Fixed
- Strips empty
class="" attributes from innerHTML on save — they previously surfaced as "Block contains unexpected or invalid content" warnings the next time the page was edited.