v0.29.0

facebook/lexicalv0.29.0Mar 25, 2025by lilshady

AI Summary

Lexical v0.29.0 introduces several breaking changes including a refactored LexicalNestedComposer with new skipEditableListener prop, deprecated initialNodes prop, improved markdown character escaping, and updated table frozen class application. The release also adds a fallback selection to InsertTableCommand, fixes RootNode selection behavior, and improves accessibility in the playground.

Key Highlights

  • LexicalNestedComposer refactored with new skipEditableListener prop and deprecated initialNodes prop
  • Table frozen column/row classes now only applied to scrollable table wrapper
  • Added fallback selection to InsertTableCommand for better table creation
  • Input events from decorators are now properly ignored
  • Fixed equation rendering in Safari and table action menu visibility with cell overflow

Breaking Changes

  • Only select RootNode on removal of last child if there was an existing selection (#7351)
  • Support escaping markdown characters (#7353)
  • LexicalNestedComposer add skipEditableListener prop and deprecate initialNodes prop and implicit namespace setting (#7357)
  • Set tableFrozenColumn and tableFrozenRow classes only on the scrollable table wrapper (#7372)

New Features

  • New skipEditableListener prop for LexicalNestedComposer to control editable state listener behavior
  • Support for escaping markdown characters in markdown parsing
  • Fallback selection added to InsertTableCommand
  • Improved accessibility for DraggableBlockPlugin add block button
  • Excalidraw updated to v0.18.0 in playground

Full Release Notes

## Breaking Changes
https://github.com/facebook/lexical/pull/7351 :  Only select RootNode on removal of last child if there was an existing selection
https://github.com/facebook/lexical/pull/7353:  Support escaping markdown characters
https://github.com/facebook/lexical/pull/7357:   Refactor: LexicalNestedComposer add skipEditableListener prop and deprecate initialNodes prop and implicit namespace setting
https://github.com/facebook/lexical/pull/7372: Set tableFrozenColumn and tableFrozenRow classes only on the scrollable table wrapper
## Highlights
React: 
🆕 https://github.com/facebook/lexical/pull/7357: LexicalNestedComposer add skipEditableListener prop and deprecate initialNodes prop and implicit namespace setting

Table:
✅https://github.com/facebook/lexical/pull/7372:  Set tableFrozenColumn and tableFrozenRow classes only on the scrollable table wrapper
✅https://github.com/facebook/lexical/pull/7316: Add fallback selection to InsertTableCommand

Core editor:
✅https://github.com/facebook/lexical/pull/7351: Only select RootNode on removal of last child if there was an existing selection
✅https://github.com/facebook/lexical/pull/7354: Ignore input event from inside decorators 

Markdown:
🆕 https://github.com/facebook/lexical/pull/7353: Feature: Support escaping markdown characters

Playground:
🆕 https://github.com/facebook/lexical/pull/7352 : Chore: Improve accessibility of DraggableBlockPlugin add block button 
✅https://github.com/facebook/lexical/pull/7334:  Table action menu visibility with cell overflow 
✅https://github.com/facebook/lexical/pull/7362:  Fix equation rendering in Safari 
🆕 https://github.com/facebook/lexical/pull/7371:  Chore: Update excalidraw to v0.18.0 
Doc:
✅https://github.com/facebook/lexical/pull/7365: Update react.md, fix typo 
## What's Changed
* v0.28.0 by @etrepum in https://github.com/facebook/lexical/pull/7348
* [lexical-playground] Chore: Improve accessibility of DraggableBlockPlugin add block button by @etrepum in https://github.com/facebook/lexical/pull/7352
* [Breaking Change][lexical] Bug Fix: Only select RootNode on removal of last child if there was an existing selection by @etrepum in https://github.com/facebook/lexical/pull/7351
* [lexical-playground] Bug Fix: Table action menu visibility with cell overflow by @kirandash in https://github.com/facebook/lexical/pull/7334
* [Breaking Change][lexical-markdown] Feature: Support escaping markdown characters by @AlessioGr in https://github.com/facebook/lexical/pull/7353
* [lexical-table] Bug Fix: Add fallback selection to InsertTableCommand by @patrick-atticus in https://github.com/facebook/lexical/pull/7316
* Update react.md, fix typo by @bohdanbirdie in https://github.com/facebook/lexical/pull/7365
* [lexical-playground] Bug Fix: Fix equation rendering in Safari by @kirandash in https://github.com/facebook/lexical/pull/7362
* [Breaking Change][lexical-react] Refactor: LexicalNestedComposer add skipEditableListener prop and deprecate initialNodes prop and implicit namespace setting by @etrepum in https://github.com/facebook/lexical/pull/7357
* [lexical] Bug Fix: Ignore input event from inside decorators by @etrepum in https://github.com/facebook/lexical/pull/7354
* [Breaking Change][lexical-table][lexical-playground] Bug Fix: Set tableFrozenColumn and tableFrozenRow classes only on the scrollable table wrapper by @etrepum in https://github.com/facebook/lexical/pull/7372
* [lexical-playground] Chore: Update excalidraw to v0.18.0 by @etrepum in https://github.com/facebook/lexical/pull/7371

## New Contributors
* @bohdanbirdie made their first contribution in https://github.com/facebook/lexical/pull/7365

**Full Changelog**: https://github.com/facebook/lexical/compare/v0.28.0...v0.29.0