v0.31.0

facebook/lexicalv0.31.0Apr 30, 2025by lilshady

AI Summary

Lexical v0.31.0 is a minor release focused on improving developer experience and fixing bugs across core, React, Table, and Collaboration plugins. Key improvements include better caret movement in vertical-rl writing mode, configurable entity boundary checks in the typeahead menu plugin, custom cursor sync support in collaboration, and documentation enhancements for commands and update tags.

Key Highlights

  • Correct caret movement in vertical-rl writing mode (Core)
  • Support custom cursor sync in CollaborationPlugin (React)
  • Make entity boundary check configurable in LexicalTypeaheadMenuPlugin (React)
  • Handle backspace deletion of tables with merged cells (Table)
  • Improve createCommand developer experience and document common update tags (Website)

New Features

  • Add keyboard shortcut for comments in playground
  • Support custom cursor sync in CollaborationPlugin
  • Make check for entity boundary configurable in LexicalTypeaheadMenuPlugin
  • Document and export common update tags
  • Add import support for backslash escape sequences in Markdown
  • Simplify removeFromParent internal operations in Collab

Full Release Notes

## Highlights

Core
* ✅ #7439 Correct caret movement in vertical-rl writing mode
* ✅ #7450 Migrate string literals to update tag constants
* ✅ #7471 Chore: Update sveltejs dependency
* ✅ #7479 Revert Enter command to use inexact matching
* ✅ #7481 Update KEY_ENTER_COMMAND API docs
Website
* 🆕 #7442 Improve createCommand developer experience
* 🆕 #7441 Document and export common update tags
* 🆕 #7448 Documentation Update: Add detailed guides for key and clone concepts

Playground
* 🆕 #7464 Add keyboard shortcut for comments
* ✅ #7462 Stabilize text format dropdown width in toolbar
* ✅ #7478 Disable flaky "Can expand table to fit content when pasting table into table" in collab
* 🆕 #7482 Refactor autolink tests for reliability

React
* 🆕 #7477 Make check for entity boundary configurable in LexicalTypeaheadMenuPlugin
* ✅ #7488 Re-render tables when the hasHorizontalScroll setting is changed
* ✅ #7486 Support custom cursor sync in CollaborationPlugin

Collab
* 🆕 #7453 Simplify removeFromParent internal operations

Table
* ✅ #7447 Handle backspace deletion of tables with merged cells

Markdown
* ✅ #7476 Add import support for backslash escape sequences

## What's Changed
* v0.30.0 by @etrepum in https://github.com/facebook/lexical/pull/7440
* [lexical][lexical-website] Feature: Improve createCommand developer experience by @kirandash in https://github.com/facebook/lexical/pull/7442
* [lexical][lexical-website] Feature: Document and export common update tags by @kirandash in https://github.com/facebook/lexical/pull/7441
* [lexical-selection] Bug Fix: Correct caret movement in vertical-rl writing mode by @kirandash in https://github.com/facebook/lexical/pull/7439
* [lexical-table][lexical-playground] Bug Fix: Handle backspace deletion of tables with merged cells by @kirandash in https://github.com/facebook/lexical/pull/7447
* Chore: migrate string literals to update tag constants by @kirandash in https://github.com/facebook/lexical/pull/7450
* [lexical-playground] fix: clarify EquationComponent inputRef type by @navidmafi in https://github.com/facebook/lexical/pull/7460
* [lexical] Chore: Update internalMarkNodeAsDirty TODO comment by @kirandash in https://github.com/facebook/lexical/pull/7457
* [lexical-playground] Feature: Add keyboard shortcut for comments by @kirandash in https://github.com/facebook/lexical/pull/7464
* [lexical-playground] Bug Fix: Stabilize text format dropdown width in toolbar by @kirandash in https://github.com/facebook/lexical/pull/7462
* [lexical-yjs][lexical] Refactor: Simplify removeFromParent internal operations by @kirandash in https://github.com/facebook/lexical/pull/7453
* Chore: Update sveltejs dependency by @Garvit244 in https://github.com/facebook/lexical/pull/7471
* [lexical] Bug Fix exact modifier matching for built-in keyboard shortcuts by @10tacion in https://github.com/facebook/lexical/pull/7443
* [lexical][lexical-playground] Chore: Deprecate KEY_MODIFIER_COMMAND and use KEY_DOWN_COMMAND for playground shortcuts by @etrepum in https://github.com/facebook/lexical/pull/7472
* [lexical-markdown] Bug Fix: Add import support for backslash escape sequences by @etrepum in https://github.com/facebook/lexical/pull/7476
* [lexical-playground] Chore: Disable flaky "Can expand table to fit content when pasting table into table" in collab by @etrepum in https://github.com/facebook/lexical/pull/7478
* [lexical] Chore: Revert Enter command to use inexact matching by @takuyakanbr in https://github.com/facebook/lexical/pull/7479
* [lexical] Chore: Update KEY_ENTER_COMMAND API docs by @etrepum in https://github.com/facebook/lexical/pull/7481
* [lexical-playground] Chore: Refactor autolink tests for reliability by @etrepum in https://github.com/facebook/lexical/pull/7482
* [lexical-react] Feature: make check for entity boundary configurable in LexicalTypeaheadMenuPlugin by @asevich in https://github.com/facebook/lexical/pull/7477
* [lexical-website] Documentation Update: Add detailed guides for key and clone concepts by @kirandash in https://github.com/facebook/lexical/pull/7448
* [lexical-react][lexical-table] Bug Fix: Re-render tables when the hasHorizontalScroll setting is changed by @etrepum in https://github.com/facebook/lexical/pull/7488
* [lexical-react][lexical-yjs] Feature: Support custom cursor sync in CollaborationPlugin by @simonecervini in https://github.com/facebook/lexical/pull/7486

## New Contributors
* @navidmafi made their first contribution in https://github.com/facebook/lexical/pull/7460
* @Garvit244 made their first contribution in https://github.com/facebook/lexical/pull/7471
* @10tacion made their first contribution in https://github.com/facebook/lexical/pull/7443
* @asevich made their first contribution in https://github.com/facebook/lexical/pull/7477
* @simonecervini made their first contribution in https://github.com/facebook/lexical/pull/7486

**Full Changelog**: https://github.com/facebook/lexical/compare/v0.30.0...v0.31.0