v0.41.1
Summary
Patch release: custom nodes keep their Lexical $ state (including blockId) across serialize/parse round trips, and the AI diff overlay no longer loses its whole update when the caret sits in a replaced block.
Bug Fixes
- rich-editor, rich-ext-*, rich-renderer-*, rich-headless: every custom node's
importJSONnow chainsupdateFromJSON, so$node state (blockIdfromBlockIdPlugin) survives a reload instead of being re-minted. Persisted agent review batches and LiteXML block ids stay addressable. - rich-ext-ai-agent:
DiffReviewOverlayPluginclears aRangeSelectionleft on detached nodes after replacing the block that held the caret. Previously Lexical (dev) threwselection has been lostand discarded the reconcile update, so no diff nodes rendered.
Breaking Changes
None.
Bump Rationale
Internal bug fixes only; no public export changes → patch. Published as the tri-directional workspace closure of the changed packages (36 of 42).