v0.34.0
v0.34.0 is a monthly release with several bug fixes and a new experimental Shiki based code highlighter engine for @lexical/code
(the existing prismjs highlighter is still the default)
Core:
- ✅ #7724 Fix trigger of reconciliation on nested editor.read
- ✅ #7725 Clamp DOM selection offsets to valid lexical TextNode offsets in
$internalResolveSelectionPoint
Code:
- 🆕 #7662 Experimental Shiki support for code highlighting
Selection:
- ✅ #7686 Correct backward inversion for RTL
Utils:
- ✅ #7737 Backwards selection was not being retained
React:
- ✅ #7705 Clean up old mouseup events from context menu
- 🆕 #7697 Context Menu icons
- ✅ #7723 Prevent race condition in CollaborationPlugin during rapid mount/unmount cycles
Playground:
- ✅ #7693 Image links lose link state when dragged
- 🆕 #7719 Parse font sizes in pt as well as px in
parseAllowedFontSize
- ✅ #7707 DateTime plugin
- v0.33.1 by @etrepum in https://github.com/facebook/lexical/pull/7684
- [lexical-selection] Bug Fix: Correct backward inversion for RTL by @noamzaks in https://github.com/facebook/lexical/pull/7686
- [lexical-code][lexical-code-shiki][lexical-markdown][lexical-playground][lexical-devtools] Feature: Experimental Shiki support for code highlighting by @jeromew in https://github.com/facebook/lexical/pull/7662
- [lexical-react] Clean up old mouseup events from context menu by @ivailop7 in https://github.com/facebook/lexical/pull/7705
- [lexical-react] feat: Context Menu icons by @ivailop7 in https://github.com/facebook/lexical/pull/7697
- [lexical-website][docs] Documentation Update: Fix typo by @JTRNS in https://github.com/facebook/lexical/pull/7713
- [lexical-playground]Bug Fix: Image links lose link state when dragged by @lilshady in https://github.com/facebook/lexical/pull/7693
- Fix trigger reconcilation on nested read by @zurfyx in https://github.com/facebook/lexical/pull/7724
- [lexical] Bug Fix: Clamp DOM selection offsets to valid lexical TextNode offsets in $internalResolveSelectionPoint by @etrepum in https://github.com/facebook/lexical/pull/7725
- [lexical-react] Bug Fix: prevent race condition in CollaborationPlugin during rapid mount/unmount cycles by @tobiasandersen in https://github.com/facebook/lexical/pull/7723
- [lexical-playground] Bug Fix: include font sizes in pt as well in parseAllowedFontSize by @harshmetkel24 in https://github.com/facebook/lexical/pull/7719
- Fix Key Arrow Down Documentation by @zamorai in https://github.com/facebook/lexical/pull/7733
- [lexical-utils] fix: Backward selection was not being retained by @jvithlani in https://github.com/facebook/lexical/pull/7737
- [lexical-playground] DateTime Plugin by @ivailop7 in https://github.com/facebook/lexical/pull/7707
- [lexical-examples] Bug Fix: missing dependency @lexical/utils at examples/react-rich-collab by @debuggingfuture in https://github.com/facebook/lexical/pull/7743
- [*] Chore: Add a post-release action to update the examples by @etrepum in https://github.com/facebook/lexical/pull/7744
- Update examples for v0.33.1 by @etrepum in https://github.com/facebook/lexical/pull/7745
- @JTRNS made their first contribution in https://github.com/facebook/lexical/pull/7713
- @tobiasandersen made their first contribution in https://github.com/facebook/lexical/pull/7723
- @zamorai made their first contribution in https://github.com/facebook/lexical/pull/7733
- @debuggingfuture made their first contribution in https://github.com/facebook/lexical/pull/7743
Full Changelog: https://github.com/facebook/lexical/compare/v0.33.1...v0.34.0
v0.33.1
This is a patch release with a fix for the new $config
flat NodeState API
Core
- ✅ #7683 Implement missing
updateJSON
support for$config
flatNodeState
- 🆕 #5829
RangeSelection.setFormat
setter
- v0.33.0 by @etrepum in https://github.com/facebook/lexical/pull/7672
- [lexical-link] Chore: Fix test names by @noamzaks in https://github.com/facebook/lexical/pull/7666
- Add a setter for the format property on RangeSelection by @HyperVS in https://github.com/facebook/lexical/pull/5829
- [lexical] Bug Fix: Implement missing deserialization for flat $config NodeState by @etrepum in https://github.com/facebook/lexical/pull/7683
- @HyperVS made their first contribution in https://github.com/facebook/lexical/pull/5829
Full Changelog: https://github.com/facebook/lexical/compare/v0.33.0...v0.33.1
v0.33.0
This is a monthly release with some major new features and lots of bug fixes
If you have code that assumes that newNode.afterCloneFrom(prevNode)
will not be called as a result of $copyNode(prevNode)
, and would no longer work if it was, then it will need some refactoring. This is a very unlikely scenario.
The role
attribute is no longer removed from readonly LexicalContentEditableElement for better accessibility compliance. This may require application and/or CSS changes in rare cases.
There's a new protocol for creating new node classes, that's more concise, automatically generates the boilerplate for the static methods (getType
, clone
, importJSON
) and has additional features for NodeState.
See the Creating custom nodes with $config and NodeState documentation.
Core
- 🆕 #7258
$config
protocol + NodeState registration/flattening (also #7659 #7661 #7667 #7671) - ✅ #7641 Copy NodeState in
TextNode.splitText
- ✅ #7654 Allow the same mutation listener function to be registered to multiple nodes
Clipboard
- 🆕 #7657 Inherit the style of the last pasted TextNode in the block after pasting rich text
Code
- 🆕 #7613 Code diff highlighting
Devtools
- 🆕 #7642 Add NodeState to TreeView
List
- 🆕 #7638 Add a command to change an ordered list's start number
- ✅ #7655 Make tap target for checklists bugger for touch input
React
- ✅ #7633 Make ref types mutable
- ✅ #7644 Handle DraggableBlockPlugin in scrollable editors
- ✅ #7647 Do not remove role from read-only LexicalContentEditableElement
- ✅ #7669 Fix an issue with dangling div portals with non-empty style in LexicalMenu (regressed in v0.25)
Table
- ✅ #7637 Ignore
SELECTION_INSERT_CLIPBOARD_NODES_COMMAND
dispatched from child editors - ✅ #7656 Table selection now only occurs when dragging on touch devices
Playground
- ✅ #7627 Update alignment state for image selection
- ✅ #7636 Allow deleting an empty column layout via backspace
- ✅ #7670 Close FloatingLinkEditor popup when user clicks out of it
- v0.32.1 by @etrepum in https://github.com/facebook/lexical/pull/7605
- [lexical][Breaking Change] Bug Fix: Change $copyNode to use afterCloneFrom by @etrepum in https://github.com/facebook/lexical/pull/7609
- [lexical-react] Chore: Remove confusing return value by @eliottvincent in https://github.com/facebook/lexical/pull/7607
- [lexical-code][lexical-markdown][lexical-playground] Feature: Add code diff highlighting by @jeromew in https://github.com/facebook/lexical/pull/7613
- [lexical-devtools-core] Bug Fix: Allow CustomPrintNodeFn to return undefined by @achaljhawar in https://github.com/facebook/lexical/pull/7619
- [lexical-playground] Bug Fix: Update alignment state for image selection by @kirandash in https://github.com/facebook/lexical/pull/7627
- Add in favor for to deprecated tag by @sofiane-dj in https://github.com/facebook/lexical/pull/7634
- [lexical-react] Chore: make ref types mutable by @findoo in https://github.com/facebook/lexical/pull/7633
- [lexical-headless-test] Enhance navigator environment check with object type and structure validation by @0xobedient in https://github.com/facebook/lexical/pull/7626
- Feature: $config protocol + NodeState registration/flattening by @etrepum in https://github.com/facebook/lexical/pull/7258
- [Lexical]Refactor: Change UnionToIntersection flow type by @lilshady in https://github.com/facebook/lexical/pull/7643
- [lexical-table] Bug Fix: Ignore SELECTION_INSERT_CLIPBOARD_NODES_COMMAND dispatched from child editors by @etrepum in https://github.com/facebook/lexical/pull/7637
- [lexical] Bug Fix: copy NodeState when splitting text nodes by @randal-atticus in https://github.com/facebook/lexical/pull/7641
- [lexical-devtools-core] Chore: add NodeState to TreeView by @randal-atticus in https://github.com/facebook/lexical/pull/7642
- [lexical-react] Bug Fix: handle DraggableBlockPlugin in scrollable editors by @randal-atticus in https://github.com/facebook/lexical/pull/7644
- [lexical-playground] Bug Fix: Allow deleting empty column layouts via backspace by @Lakshmanshankar in https://github.com/facebook/lexical/pull/7636
- [lexical] Bug Fix: allow same mutation listener fn to be registered to multiple nodes by @james-atticus in https://github.com/facebook/lexical/pull/7654
- [lexical-playground] [lexical-list] add ability to change ordered list start number by @achaljhawar in https://github.com/facebook/lexical/pull/7638
- [lexical] Bug Fix: Workarounds in $config protocol for loose inheritance by @etrepum in https://github.com/facebook/lexical/pull/7659
- [lexical-react] Bug Fix: aria-prohibited-attr violation on LexicalContentEditableElement by @so99ynoodles in https://github.com/facebook/lexical/pull/7647
- [lexical-website] Documentation Update: Update some doc links by @lilshady in https://github.com/facebook/lexical/pull/7660
- [lexical] Bug Fix: Workarounds for import json by @lilshady in https://github.com/facebook/lexical/pull/7661
- [lexical-website] Chore: Fix typo in transforms by @noamzaks in https://github.com/facebook/lexical/pull/7664
- [lexical-list] Bug Fix: Make tap target for checklists bigger so touch inputs register by @circlingthesun in https://github.com/facebook/lexical/pull/7655
- [lexical-clipboard] Inherit style when typing after pasting rich text by @achaljhawar in https://github.com/facebook/lexical/pull/7657
- [lexical-table] Bug Fix: Fix table selection for touch devices by @circlingthesun in https://github.com/facebook/lexical/pull/7656
- [lexical-playground] Chore: Fix AutocompleteNode importDOM warning by @etrepum in https://github.com/facebook/lexical/pull/7667
- [lexical-react] Bug Fix: LexicalMenu position menu immediately regression by @etrepum in https://github.com/facebook/lexical/pull/7669
- [lexical-playground] fix: close link popup when user clicks out of it by @achaljhawar in https://github.com/facebook/lexical/pull/7670
- [lexical] Bug Fix: LexicalNode.getType() fallback to $config protocol by @etrepum in https://github.com/facebook/lexical/pull/7671
- @achaljhawar made their first contribution in https://github.com/facebook/lexical/pull/7619
- @sofiane-dj made their first contribution in https://github.com/facebook/lexical/pull/7634
- @findoo made their first contribution in https://github.com/facebook/lexical/pull/7633
- @0xobedient made their first contribution in https://github.com/facebook/lexical/pull/7626
- @randal-atticus made their first contribution in https://github.com/facebook/lexical/pull/7641
- @Lakshmanshankar made their first contribution in https://github.com/facebook/lexical/pull/7636
- @so99ynoodles made their first contribution in https://github.com/facebook/lexical/pull/7647
- @noamzaks made their first contribution in https://github.com/facebook/lexical/pull/7664
Full Changelog: https://github.com/facebook/lexical/compare/v0.32.1...v0.33.0
v0.32.1
This is an ad-hoc patch release to include #7602 - which fixes an issue that could corrupt a document if a TabNode was at the anchor or focus of a selection when text is inserted under certain circumstances.
Core
- ✅ #7602 Treat all TabNode as if they are in token mode
- ✅ #7579 Firefox now handles Select All (Ctrl+A) the same way as other browsers
- [Monthly Release] v0.32.0 by @lilshady in https://github.com/facebook/lexical/pull/7599
- [lexical][lexical-selection] Bug Fix: Treat all TabNode as if they are in token mode by @etrepum in https://github.com/facebook/lexical/pull/7602
- [scripts] update next version in lexical-esm-nextjs by @lilshady in https://github.com/facebook/lexical/pull/7604
- [tests] Chore: Update table test to use locator API instead of page.evaluate by @etrepum in https://github.com/facebook/lexical/pull/7603
- [lexical] Fix: ctrl+a doesn't work well in plain text mode on Firefox by @wataru-chocola in https://github.com/facebook/lexical/pull/7579
- @wataru-chocola made their first contribution in https://github.com/facebook/lexical/pull/7579
Full Changelog: https://github.com/facebook/lexical/compare/v0.32.0...v0.32.1
v0.32.0
Core
- ✅ #7544 2 Tabs on single line selection should indent
- 🆕 #7573 Feature: Improve Tab/Indent/Outdent to match VSCode
- ✅ #7568 unbulleting an image doesn't work #5698 ([lexical-selection][lexical-playground])
- 🆕 #7593 Type: Add flow export type for LexicalUpdateTags
Playground
- ✅ #7556 Change list, strikethrough and quoteblock shortcuts to match Google Docs for Windows compatibility
- ✅ #7545 Support Apple Pencil
- 🆕 #7567 Chore: source command priority from package
- ✅ #7572 Preserve row striping in frozen table columns
- ✅ #7568 unbulleting an image doesn't work #5698
- ✅ #7558 Made checklist icon fully scalable, clickable, and properly spaced at large font sizes
- 🆕 #7590 Refactor: simplify ExcalidrawModal
- 🆕 #7509 FloatingUI Context Menu
- 🆕 #7596 Chore: source command priority from package
Markdown
- ✅ #7560 Link Transformer URL Protocol Han…
- ✅ #7564 Prevent transform from removing nodes if the replace function returns false
- ✅ #7594 Don't select nodes when importing
React
- ✅ #7589 page freezes when typing a link in an overflow area
- 🆕 #7584 Feature: allow whitespaces in search keyword in useBasicTypeaheadTriggerMatch
Website
- ✅ #7569 fix documentation typos
- ✅ #7574 Fix docusaurus build by adding removeLegacyPostBuildHeadAttribute flag
- v0.31.2 by @etrepum in https://github.com/facebook/lexical/pull/7550
- Revert "[lexical-markdown] Bug Fix: Link Transformer URL Protocol Han… by @zurfyx in https://github.com/facebook/lexical/pull/7560
- [lexical-playground] Bug Fix: Change list, strikethrough and quoteblock shortcuts to match Google Docs for Windows compatibility by @harshmetkel24 in https://github.com/facebook/lexical/pull/7556
- [lexical-code] Bug Fix: 2 Tabs on single line selection should indent by @jeromew in https://github.com/facebook/lexical/pull/7544
- [lexical-list] Bug Fix: Removed the hardcoded checkbox width in checklist onclick helper by @jvithlani in https://github.com/facebook/lexical/pull/7559
- [lexical][lexical-playground] Bug Fix: Support Apple Pencil by @circlingthesun in https://github.com/facebook/lexical/pull/7545
- [lexical-markdown] Bug fix: Prevent transform from removing nodes if the replace function returns false by @rodrigomotion in https://github.com/facebook/lexical/pull/7564
- [lexical-website] Chore: fix documentation typos by @noritaka1166 in https://github.com/facebook/lexical/pull/7569
- [lexical-playground] Chore: source command priority from package by @eliottvincent in https://github.com/facebook/lexical/pull/7567
- [lexical-playground] Bug Fix: Preserve row striping in frozen table columns by @kirandash in https://github.com/facebook/lexical/pull/7572
- [Update] Fix docusaurus build by adding removeLegacyPostBuildHeadAttribute flag by @lilshady in https://github.com/facebook/lexical/pull/7574
- [lexical-selection][lexical-playground] Bug Fix: unbulleting an image doesn't work #5698 by @kamilpitula in https://github.com/facebook/lexical/pull/7568
- [lexical-playground][lexical-list] Bug Fix: Made checklist icon fully scalable, clickable, and properly spaced at large font sizes by @swrsaini in https://github.com/facebook/lexical/pull/7558
- [lexical-table] Bug Fix: error when deleting multiple rows with merged row cells by @kamilpitula in https://github.com/facebook/lexical/pull/7582
- [lexical-link] Feature: Move URL formatting from #7499 to LinkNode sanitizeUrl by @etrepum in https://github.com/facebook/lexical/pull/7585
- [lexical-react][lexical-playground] FloatingUI Context Menu by @ivailop7 in https://github.com/facebook/lexical/pull/7509
- [lexical-playground] Refactor: simplify ExcalidrawModal by @thorn0 in https://github.com/facebook/lexical/pull/7590
- [lexical-react] Bug Fix: page freezes when typing a link in an overflow area by @kamilpitula in https://github.com/facebook/lexical/pull/7589
- [lexical-react][lexical-playground] Feature: allow whitespaces in search keyword in useBasicTypeaheadTriggerMatch by @harshmetkel24 in https://github.com/facebook/lexical/pull/7584
- [lexical-code] Feature: Improve Tab/Indent/Outdent to match VSCode by @jeromew in https://github.com/facebook/lexical/pull/7573
- [Lexical] Type: Add flow export type for
LexicalUpdateTags
by @ttzztztz in https://github.com/facebook/lexical/pull/7593 - [lexical-playground][lexical-rich-text][lexical-website][tests][examples] Chore: source command priority from package by @eliottvincent in https://github.com/facebook/lexical/pull/7596
- [lexical-markdown] Bug Fix: Don't select nodes when importing by @juusolain in https://github.com/facebook/lexical/pull/7594
- @jeromew made their first contribution in https://github.com/facebook/lexical/pull/7544
- @circlingthesun made their first contribution in https://github.com/facebook/lexical/pull/7545
- @rodrigomotion made their first contribution in https://github.com/facebook/lexical/pull/7564
- @noritaka1166 made their first contribution in https://github.com/facebook/lexical/pull/7569
- @eliottvincent made their first contribution in https://github.com/facebook/lexical/pull/7567
- @kamilpitula made their first contribution in https://github.com/facebook/lexical/pull/7568
- @swrsaini made their first contribution in https://github.com/facebook/lexical/pull/7558
- @ttzztztz made their first contribution in https://github.com/facebook/lexical/pull/7593
- @juusolain made their first contribution in https://github.com/facebook/lexical/pull/7594
Full Changelog: https://github.com/facebook/lexical/compare/v0.31.2...v0.32.0
v0.31.2
Patch release for #7549, this is a bug fix release
Core:
- ✅ #7549 Fix infinite loop in indexPath
- ✅ #7536 Do not export empty textAlign styles
Code:
- ✅ #7538 Allow code highlighter to be used in headless mode
Markdown:
- ✅ #7539 Do not export auto-link nodes
Playground:
- ✅ #7534 Use babel MatchPatterns that work correctly on Windows
- v0.31.1 by @etrepum in https://github.com/facebook/lexical/pull/7525
- [lexical-playground] Bug Fix: Use babel MatchPatterns that work correctly on windows by @etrepum in https://github.com/facebook/lexical/pull/7534
- [lexical-website] Chore: Update docusaurus-plugin-internaldocs-fb and reorg serialization docs by @etrepum in https://github.com/facebook/lexical/pull/7533
- [lexical] Bug Fix : Prevent from adding element.style.textAlign when formatType is unset by @baptistejamin in https://github.com/facebook/lexical/pull/7536
- [lexical-code] Bug Fix: Allow Code Highlighter to be working in headless mode by @baptistejamin in https://github.com/facebook/lexical/pull/7538
- [lexical-markdown]: Bug fix: Do not export auto-link nodes by @baptistejamin in https://github.com/facebook/lexical/pull/7539
- [lexical] Bug Fix: Fix loop in indexPath by @etrepum in https://github.com/facebook/lexical/pull/7549
- @baptistejamin made their first contribution in https://github.com/facebook/lexical/pull/7536
Full Changelog: https://github.com/facebook/lexical/compare/v0.31.1...v0.31.2
v0.31.1
This is a patch release primarily to address a dev tools build regression (#7522)
Rich Text
- ✅ #7516 Backspace now only dedents at the start of first descendant of an indented block
List
- ✅ #7504 Marker styles are now inherited on indent
Markdown
- ✅ #7499 Link transformer now explicitly adds a protocol to URLs
React
- 🆕 #7520
useBasicTypeaheadTriggerMatch
punctuation regex fragment is now configurable
Table
- ✅ #7498 TableNode DOM import now supports frozen rows and columns
Playground
- ✅ #7506 LexicalTypeaheadMenuPlugin is now positioned correctly when scrolled
- ✅ #7508 Change text capitalization keyboard shortcuts on macOS to avoid conflicts
- ✅ #7520 Emoji typeahead search now permits underscore and dashes
Dev Tools
- ✅ #7522 Vite configuration fix for devtools build
Docs
- 🆕 #7294 New NodeState documentation and example
- Monthly Release: v0.31.0 by @lilshady in https://github.com/facebook/lexical/pull/7502
- [lexical-table] Bug Fix: Add missing DOM import for TableNode frozen rows and columns by @Iaotle in https://github.com/facebook/lexical/pull/7498
- [lexical-markdown] Bug Fix: Link Transformer URL Protocol Handling by @AashishRichhariya in https://github.com/facebook/lexical/pull/7499
- [lexical-list] Bug Fix: Inherit marker styles when indenting list items by @kirandash in https://github.com/facebook/lexical/pull/7504
- [lexical-playground] Bug Fix: LexicalTypeaheadMenuPlugin Positioning When Scrolled by @AashishRichhariya in https://github.com/facebook/lexical/pull/7506
- [lexical][lexical-website] Documentation: Start on NodeState docs and examples by @etrepum in https://github.com/facebook/lexical/pull/7294
- [lexical-rich-text] Bug Fix: Backspace should only dedent at first descendant of indented block by @etrepum in https://github.com/facebook/lexical/pull/7516
- [lexical-playground] Bug Fix: capitalize shortcut not working in macos fix by @harshmetkel24 in https://github.com/facebook/lexical/pull/7508
- [lexical-react][lexical-playground] Bug Fix: Make typeahead punctuation configurable; allow underscores and dashes in emoji queries by @kirandash in https://github.com/facebook/lexical/pull/7520
- [lexical-devtools] Bug Fix: Update devtools vite config for process.env.LEXICAL_VERSION by @etrepum in https://github.com/facebook/lexical/pull/7522
- @Iaotle made their first contribution in https://github.com/facebook/lexical/pull/7498
- @AashishRichhariya made their first contribution in https://github.com/facebook/lexical/pull/7499
Full Changelog: https://github.com/facebook/lexical/compare/v0.31.0...v0.31.1
v0.31.0
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
- 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
- @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
v0.30.0
#7378 changed the internal updateEditorSync
implementation to always use the correct active editor when triggering a listener. This only affects how nested editors delegate their events to listeners attached to a parent editor. If you have listeners attached to the parent editor that expect to be called with the context of the nested editor then you'll have to either also attach the listener to the nested editor, or change the behavior to check the editor argument of the command listener to see which editor the command was originally dispatched to.
#7386 changed the behavior of the markdown import's paragraph merging logic to align with GitHub's markdown editor behavior for list and common markdown formatting expectations when shouldPreserveNewlines
is true.
#7400 changed the markdown encoder to replace leading or trailing whitespace of formatted strings with the corresponding HTML entities
Core
- ✅ #7378 Ensure updateEditorSync is always synchronous and use it when triggering listeners
- ✅ #7393 Fix right and up arrow key navigation with decorator nodes
- ✅ #7401 Clone the selection and use $setSelection instead of assigning dirty to true directly
- ✅ #7397 Change
$getTextNodeOffset
invariant to warn in prod (error in__DEV__
) - ✅ #7412 Fix forward line deletion when using control+K
- 🆕 #7438 Add text-transform styles to exported HTML
Rich Text
- ✅ #7411 Prevent indentation from becoming negative
Collab
- ✅ #7330 Don't sync ElementNode
__dir
property - ✅ #7398 Fix scroll position getting changed when someone else makes a change in collab
Markdown
- ✅ #7386 Preserve paragraph separation after block elements
- ✅ #7395 Prevent Markdown shortcuts from applying to code-formatted text
- ✅ #7400 Replace whitespace with code point when the string has leading and trailing whitespaces
List
- ✅ #7380 Empty list item type change
- ✅ #7420 Enforce strict list indentation
- 🆕 #7429 Export
registerCheckList
Link
- ✅ #7366 Add support for image links via NodeSelection
Devtools
- ✅ #7403 Update debug view to show KEY_ESCAPE_COMMAND immediately
React
- 🆕 #7404 Add option to disable first item auto-selection in menus
Table
- 🆕 #7408 Improve logic for pasting table into table
- 🆕 #7415 Rename and deprecate some table utils
Playground
- 🆕 #7384 Clear block ElementNode formatting along with TextNode
- 🆕 #7417 Clear formatting should also clear any indent/outdent if applied
- ✅ #7368 Remove shared imports from playground for easier re-use
- ✅ #7388 Use natural dimensions for inherited image size
- ✅ #7405 Fix floating toolbar position for end-aligned text
- ✅ #7431 Fix immediate broken image display on load failure
- v0.29.0 by @lilshady in https://github.com/facebook/lexical/pull/7375
- [tests] Update next version by @lilshady in https://github.com/facebook/lexical/pull/7374
- [lexical-playground] Chore: Remove shared imports from playground by @etrepum in https://github.com/facebook/lexical/pull/7368
- [lexical-list] Bug Fix: empty list item type change by @fantactuka in https://github.com/facebook/lexical/pull/7380
- [Breaking Change][lexical] Bug Fix: Ensure updateEditorSync is always synchronous and use it when triggering listeners by @etrepum in https://github.com/facebook/lexical/pull/7378
- Update dependencies: vite,@babel/runtime,prismjs,@babel/helpers by @lilshady in https://github.com/facebook/lexical/pull/7381
- update codeowners by @potatowagon in https://github.com/facebook/lexical/pull/7389
- [lexical-playground] Feature: clear blockelement formatting along with textNode by @harshmetkel24 in https://github.com/facebook/lexical/pull/7384
- [lexical-playground] Bug Fix: Use natural dimensions for inherited image size by @kirandash in https://github.com/facebook/lexical/pull/7388
- [Breaking Change][lexical-markdown] Bug Fix: Preserve paragraph separation after block elements by @kirandash in https://github.com/facebook/lexical/pull/7386
- [lexical-link][lexical-playground] Feature: Add support for image links via NodeSelection by @kirandash in https://github.com/facebook/lexical/pull/7366
- [lexical-yjs] Bug Fix: don't sync ElementNode __dir property by @james-atticus in https://github.com/facebook/lexical/pull/7330
- [lexical-rich-text] Bug Fix: Fix right and up arrow key navigation with decorator nodes by @kirandash in https://github.com/facebook/lexical/pull/7393
- [lexical-markdown] Bug Fix: Prevent Markdown shortcuts from applying to code-formatted text by @takuyakanbr in https://github.com/facebook/lexical/pull/7395
- [lexical-yjs] Bug Fix: Fix scroll position getting changed when someone else makes a change in collab by @amanharwara in https://github.com/facebook/lexical/pull/7398
- [RFC][lexical-markdown] Replace whitespace with code point when the string has leading and trailing whitespaces by @lilshady in https://github.com/facebook/lexical/pull/7400
- [Bug Fix] Clone a node and use
$setSelection
instead of assigning dirty to true directly. by @lilshady in https://github.com/facebook/lexical/pull/7401 - [lexical-devtools-core] Bug Fix: Update debug view to show KEY_ESCAPE_COMMAND immediately by @kirandash in https://github.com/facebook/lexical/pull/7403
- [lexical-react] Feature: Add option to disable first item auto-selection in menus by @kirandash in https://github.com/facebook/lexical/pull/7404
- [lexical] Chore: Change $getTextNodeOffset invariant to warn in prod (error in DEV) by @etrepum in https://github.com/facebook/lexical/pull/7397
- [lexical-playground] Bug Fix: Floating toolbar position for end-aligned text by @kirandash in https://github.com/facebook/lexical/pull/7405
- [lexical] Bug Fix: Fix forward line deletion when using control+K by @takuyakanbr in https://github.com/facebook/lexical/pull/7412
- [lexical-rich-text] Bug Fix: Prevent indentation from becoming negative by @takuyakanbr in https://github.com/facebook/lexical/pull/7411
- [lexical-table] Feature: Improve logic for pasting table into table by @takuyakanbr in https://github.com/facebook/lexical/pull/7408
- [lexical-table] Refactor: Rename and deprecate some table utils by @takuyakanbr in https://github.com/facebook/lexical/pull/7415
- [lexical-playground] Bug: clear formatting should also clear any indent/outdent if applied by @harshmetkel24 in https://github.com/facebook/lexical/pull/7417
- [lexical-list] Feature: Enforce strict list indentation by @dineug in https://github.com/facebook/lexical/pull/7420
- [lexical-playground] Bug Fix: Immediate broken image display on load failure by @kirandash in https://github.com/facebook/lexical/pull/7431
- Chore: Improve spelling consistency across codebase by @kirandash in https://github.com/facebook/lexical/pull/7437
- [lexical] Feature: Add text-transform styles to exported HTML by @kirandash in https://github.com/facebook/lexical/pull/7438
- [lexical-list] Feature: export registerCheckList by @atsjo in https://github.com/facebook/lexical/pull/7429
- @harshmetkel24 made their first contribution in https://github.com/facebook/lexical/pull/7384
- @takuyakanbr made their first contribution in https://github.com/facebook/lexical/pull/7395
- @atsjo made their first contribution in https://github.com/facebook/lexical/pull/7429
Full Changelog: https://github.com/facebook/lexical/compare/v0.29.0...v0.30.0
v0.29.0
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
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
- 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
- @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