github facebook/lexical v0.39.0

one day ago

v0.39.0 is a monthly release primarily focusing on bug fixes

Breaking Changes

JSON serialization for ElementNode only includes textFormat and textStyle when necessary #7971

Previously the derived properties textFormat and textStyle would always be serialized to JSON if not set to the default values. These should only be useful when the ElementNode does not currently have any TextNode children, to preserve formatting choices, and will be recomputed when reconciled. Now they are only reconciled when they are determined to be useful (in an ElementNode with no direct TextNode children that is not a root or shadow root).

Highlights

Code:

  • #7970 Fix: Scope highlight cache by editor

Core:

  • #7971 Fix: Only serialize ElementNode textFormat and textStyle when necessary
  • 🆕 #7964 Feature: Add commands for beforeinput, input, compositionstart/end events
  • #7978 Fix: $dfsCaretIterator should be able to stop at its last descendant

Selection:

  • #8003 Fix: Text styles are now applied to empty ElementNodes in a selection (typically the empty paragraphs contained in empty table cells)

Extension:

  • #7961 Fix: Defer node class references to potentially work around webpack issues

Table:

  • 🧪 #7983 Experiment: add config for opting in to nested tables (note that this does not fix their behavior)
  • #7986 Fix: Ensure colWidths has length equal to number of columns
  • #7998 Fix: Include first cell contents in partial backwards table selection

React:

  • #7987 Prevent typeahead menu from closing during IME composition

Collab:

  • #7990 Fix: Don't rewrite unchanged non-primitive property/state values to yjs in collab v2

Playground:

  • 🆕 #8002 Feature: Shadows when table is scrollable
  • #8015 Fix: Show draggable block target line when dragging images

What's Changed

  • v0.38.2 by @etrepum in #7962
  • [scripts] Allow export-froms in Flow files to be transformed for www build by @takuyakanbr in #7967
  • [examples] Chore: Update examples for v0.38.2 by @etrepum in #7963
  • [lexical-code] Bug fix: Add editor key in highlighted nodes cache by @takuyakanbr in #7970
  • [lexical] Feature: Only serialize ElementNode textFormat and textStyle when necessary by @etrepum in #7971
  • [lexical-extension][lexical-*] Bug Fix: Defer node class references to potentially work around webpack issues by @etrepum in #7961
  • [lexical] Chore: Update flow-bin (to 0.289.0) and LexicalLink Flow types by @takuyakanbr in #7973
  • [lexical] Feature: add commands for beforeinput, input, compositionstart/end events by @james-atticus in #7964
  • [lexical] Chore: Update flow-bin (to 0.290.0) and fix incompatible-variance issues by @takuyakanbr in #7975
  • [lexical] Bug fix: $dfsCaretIterator should be able to stop at its last descendant by @nigelgutzmann in #7978
  • [lexical-table] Feature: add config for opting in to nested tables by @james-atticus in #7983
  • [lexical-react] [lexical-playground] Bug Fix: Prevent typeahead menu from closing during IME composition (#7985) by @kykim00 in #7987
  • [lexical-table] Bug Fix: ensure colWidths has length equal to number of columns by @james-atticus in #7986
  • [lexical-react] [lexical-playground] Remove old ContextMenu, consolidate LexicalMenu render by @ivailop7 in #7984
  • [lexical-yjs] Bug fix: don't rewrite unchanged non-primitive property/state values to yjs in collab v2 by @james-atticus in #7990
  • [lexical-website] Documentation Update: Add @y/websocket-server package dependency by @mattcline in #7996
  • Revert "[lexical-react] [lexical-playground] Remove old ContextMenu, consolidate LexicalMenu render" by @ivailop7 in #7997
  • [lexical-website] Documentation Update: Add missing getDocFromMap fn to docs by @mattcline in #8000
  • [lexical-table] Bug Fix: include first cell contents in partial backwards table selection by @patrick-atticus in #7998
  • Doc nit by @zurfyx in #8010
  • [lexical-mark][flow][chore] Add flowfix me after flow 0.292.0 was deployed to www. This fixes the sync between github and www by @thatmichael85 in #8019
  • [lexical-playground]: Shadows when table is scrollable by @ivailop7 in #8002
  • [lexical-selection]: Fix applying styles for empty table cells by @ivailop7 in #8003
  • [lexical-playground] Bug Fix: Show draggable block target line when dragging images by @paigekim29 in #8015

New Contributors

Full Changelog: v0.38.2...v0.39.0

Don't miss a new lexical release

NewReleases is sending notifications on new releases.