v0.16.0
facebook/lexicalv0.16.0Jun 4, 2024by ivailop7
AI Summary
Major release with a breaking change regarding deprecated public default exports. Includes significant table fixes (selection, copy-paste, resizing) and support for pasting checklists from external sources.
Key Highlights
- BREAKING CHANGE: Deprecated public default exports
- Support for copying checklists from Google Docs and GitHub
- Fixes for table selection, resizing merged cells, and column width export
- React 19 unit test support
- DevTools full Safari support
Breaking Changes
- Deprecated public default exports
New Features
- Checklist paste support (Google Docs/GitHub)
- React 19 unit tests
- Safari DevTools support
Full Release Notes
## Highlights * **BREAKING CHANGE: Deprecated public default exports** in https://github.com/facebook/lexical/pull/6088 * Tables Fixes around selection, copy-paste behaviours between external editors and resizing * Support for copy-pasting checklists from Google Docs and GitHub * Dispatch the correct events when the editor is in read-only mode * Developer experience and overall stability improvements ## What's Changed * [lexical][TextNode] Feature: improve supporting multiple format on importDOM of TextNode by @2wheeh in https://github.com/facebook/lexical/pull/6087 * [lexical-playground][file] Feature: Playground link sharing by @etrepum in https://github.com/facebook/lexical/pull/6028 * [lexical] Feature: error checking for node key re-use with type mismatch in __DEV__ by @etrepum in https://github.com/facebook/lexical/pull/6014 * [lexical-playground][TableCellResizer] Feature: Center the drag zone over the edge of the cell by @apella in https://github.com/facebook/lexical/pull/6071 * [lexical][TextNode] Feature: Add test for #6087 by @2wheeh in https://github.com/facebook/lexical/pull/6091 * [Lexical][Table Formatting Copy Paste] Move test from e2e to unit as followup on #5855 by @Sahejkm in https://github.com/facebook/lexical/pull/6093 * Only run CI e2e tests on approved PRs by @necolas in https://github.com/facebook/lexical/pull/6080 * [lexical-playground] Bug Fix: Emoji menu item not getting targeted styles by @daltondowning in https://github.com/facebook/lexical/pull/6055 * [@lexical/devtools] Bug Fix: Reduce requested permissions as we don't use them atm by @StyleT in https://github.com/facebook/lexical/pull/6099 * [Lexical] #6097 run extended tests on merge_group event by @Sahejkm in https://github.com/facebook/lexical/pull/6100 * [Lexical] Move some codeblock tests from e2e to unit by @Sahejkm in https://github.com/facebook/lexical/pull/6094 * [lexical-devtools] Feature: Reflect picker state on inspector button ui by @2wheeh in https://github.com/facebook/lexical/pull/6077 * [Lexical] Add label to run e2e tests on approve by @Sahejkm in https://github.com/facebook/lexical/pull/6120 * Fix: Bug - 6000: Changing the font size when inputting does not take … by @pixelbyaj in https://github.com/facebook/lexical/pull/6102 * [lexical-react] Breaking change: Deprecate public default exports by @etrepum in https://github.com/facebook/lexical/pull/6088 * [lexical-playground][lexical-react][lexical] Feature: Theme class added to horizontal rule node by @daltondowning in https://github.com/facebook/lexical/pull/6090 * [lexical-markdown][lexical-playground] Feature: Option to include blanklines in markdown render by @potatowagon in https://github.com/facebook/lexical/pull/6020 * [Lexical] Replace code with key to check KeyboardEvents by @Sahejkm in https://github.com/facebook/lexical/pull/6110 * [Lexical] Add flow for eslint by @Sahejkm in https://github.com/facebook/lexical/pull/6127 * fix(lexical): #6132 react build size regression from #6088 by @StyleT in https://github.com/facebook/lexical/pull/6133 * [Lexical] Fix size limit workflow git hub action bot not able to create comment for PRs from fork by @Sahejkm in https://github.com/facebook/lexical/pull/6130 * [Lexical] Use classic mode for jsx runtime for meta build by @Sahejkm in https://github.com/facebook/lexical/pull/6134 * Fix the label-on-approval workflow by @necolas in https://github.com/facebook/lexical/pull/6136 * Bug Fix: Add check for `DecoratorNode` for horizontal table navigation. by @serey-roth in https://github.com/facebook/lexical/pull/6129 * Remove 'legacy-events' from mac & linux e2e matrix by @necolas in https://github.com/facebook/lexical/pull/6135 * [Lexical] Fix meta sync build failing due to recent changes in LexicalErrorBoundary.tsx by @Sahejkm in https://github.com/facebook/lexical/pull/6140 * [lexical-playground][image-node] Bug Fix: Load image error UI by @MaxPlav in https://github.com/facebook/lexical/pull/6111 * [Lexical] add null check for key undefined before calling toLowerCase function by @Sahejkm in https://github.com/facebook/lexical/pull/6154 * Deprecate unused methods on ElementNode by @thorn0 in https://github.com/facebook/lexical/pull/5782 * Bug Fix: Insert paragraph at table's edge inside a collapsible by @serey-roth in https://github.com/facebook/lexical/pull/6159 * Add tbody and thead tags to TableObserver by @Piechota in https://github.com/facebook/lexical/pull/6139 * [lexical-react] Feature: React 19 unit tests by @etrepum in https://github.com/facebook/lexical/pull/6048 * [lexical-selection] Bug Fix / Fixes text formatting with segmented and token nodes #6059 by @lacroixdavid1 in https://github.com/facebook/lexical/pull/6062 * [lexical-markdown] Bug Fix: add missing shouldPreserveNewLines to markdown flow by @potatowagon in https://github.com/facebook/lexical/pull/6165 * [Lexical] Attempt to fix after approval workflow by @Sahejkm in https://github.com/facebook/lexical/pull/6153 * [Lexical] Feature: Merging PR closes auto-linked issue by @2wheeh in https://github.com/facebook/lexical/pull/6124 * [lexical-react] Bug Fix: Use automatic jsx runtime with react/jsx-runtime -> react alias in www by @etrepum in https://github.com/facebook/lexical/pull/6143 * [@lexical/devtools] Feature: Added full Safari support by @StyleT in https://github.com/facebook/lexical/pull/6105 * [CI] fix: status badge by @potatowagon in https://github.com/facebook/lexical/pull/6170 * docs: explain installing browsers for e2e tests by @thorn0 in https://github.com/facebook/lexical/pull/6163 * Fixed Uncommented Code in Getting Started with React Docs by @sbsangu in https://github.com/facebook/lexical/pull/6172 * [Lexical] Move more tests related to Copy Paste from e2e to unit by @Sahejkm in https://github.com/facebook/lexical/pull/6181 * [Lexical] use lexical bot for adding label by @Sahejkm in https://github.com/facebook/lexical/pull/6183 * [lexical-dev-tools-core] Feature: Index tree view cmds by @potatowagon in https://github.com/facebook/lexical/pull/6182 * [lexical] Bug Fix: delete line for selections ending with elements by @DraXu3 in https://github.com/facebook/lexical/pull/6160 * Revert "[lexical-plaintext] Feature: add escape key handler" by @StyleT in https://github.com/facebook/lexical/pull/6185 * Remove emojis from emoticons plugins by @zurfyx in https://github.com/facebook/lexical/pull/6188 * [lexical-playground] Chore: add test for pasting over mentions by @potatowagon in https://github.com/facebook/lexical/pull/6024 * Update CODEOWNERS by @Sahejkm in https://github.com/facebook/lexical/pull/6192 * Collapsible as div by @zurfyx in https://github.com/facebook/lexical/pull/6179 * [lexical] Bug Fix: mutation listener set for original node should work with the replaced node by @StyleT in https://github.com/facebook/lexical/pull/6189 * [lexical-devtools] Feature: Improved usage and maintenance documentation by @StyleT in https://github.com/facebook/lexical/pull/6186 * [LexicalTextNode] Refactor: remove unnecessary type casting by @potatowagon in https://github.com/facebook/lexical/pull/6201 * [lexical-list][lexical-playground] Bug fix: support pasting google doc checklist by @potatowagon in https://github.com/facebook/lexical/pull/6191 * Remove noisy running time signal mentioned in #6137 by @Sahejkm in https://github.com/facebook/lexical/pull/6208 * [lexical-code] Refactor: remove unnecessary type casting by @potatowagon in https://github.com/facebook/lexical/pull/6202 * [lexical-list] Bug fix: support pasting github checklist by @potatowagon in https://github.com/facebook/lexical/pull/6195 * [lexical-react][lexical-dev-tools-core] Feature: Allow TreeView custom print output by @irahopkinson in https://github.com/facebook/lexical/pull/6180 * [lexical-list] Refactor: remove unnecessary type casting by @potatowagon in https://github.com/facebook/lexical/pull/6203 * [Lexical][CI] Add more packages for size limit regressions check by @Sahejkm in https://github.com/facebook/lexical/pull/6209 * [lexical-devtools] Chore: Safari App Store review fixes by @StyleT in https://github.com/facebook/lexical/pull/6213 * [lexical-devtools] Documentation Update: Added link to the Mac App Store by @StyleT in https://github.com/facebook/lexical/pull/6218 * [lexical-playground][lexical-table] Bug Fix: Resizing table with merged cells by @AlexanderReznik in https://github.com/facebook/lexical/pull/6200 * [lexical-website] Documentation Update: Validate stackblitz URLs in documentation by @etrepum in https://github.com/facebook/lexical/pull/6215 * Refactor import paths in LexicalEditorState by @vuki365 in https://github.com/facebook/lexical/pull/6178 * [Lexical][Size-Checks] Measure both cjs/esm builds for regression checks by @Sahejkm in https://github.com/facebook/lexical/pull/6219 * [*] Fix: Resolve Windows regression caused by upgrading glob by @etrepum in https://github.com/facebook/lexical/pull/6227 * Revert PR 1st causing some new added tests fail in collab mode and webkit mode by @Sahejkm in https://github.com/facebook/lexical/pull/6224 * Fix programmatic clipboard copy on non-editable by @zurfyx in https://github.com/facebook/lexical/pull/6232 * [Lexical ] run tests on approval if there is no extended-tests label manually added by @Sahejkm in https://github.com/facebook/lexical/pull/6198 * [*] Fix: size-limit report for esm modules by @etrepum in https://github.com/facebook/lexical/pull/6234 * [Lexical][CI] Add more ||ism in e2e tests to decrease overall run time by @Sahejkm in https://github.com/facebook/lexical/pull/6237 * [Lexical][CI] Fix approval workflow to ignore e2e tests run on labelled PRs again by @Sahejkm in https://github.com/facebook/lexical/pull/6239 * [lexical-playground] CI: fix flaky collab test by @potatowagon in https://github.com/facebook/lexical/pull/6240 * refactor: refactored InlineImageNode - spans for correct HTML by @58bits in https://github.com/facebook/lexical/pull/6214 * [lexical-selection] Bug Fix: Selection is removed when changing style of 2 different nodes by @nzigopis in https://github.com/facebook/lexical/pull/6223 * [lexical-react] Bug Fix: checklist cannot be toggled in sub-editors by @AlessioGr in https://github.com/facebook/lexical/pull/6216 * [lexical-table] CI: Remerge PR 6200 Resizing table with merged cells by @potatowagon in https://github.com/facebook/lexical/pull/6235 * [lexical-table] Bug Fix: Change exported table column width by @AlexanderReznik in https://github.com/facebook/lexical/pull/6243 * [lexical-playground] CI: fix flaky headings e2e test by @potatowagon in https://github.com/facebook/lexical/pull/6245 ## New Contributors * @apella made their first contribution in https://github.com/facebook/lexical/pull/6071 * @necolas made their first contribution in https://github.com/facebook/lexical/pull/6080 * @daltondowning made their first contribution in https://github.com/facebook/lexical/pull/6055 * @pixelbyaj made their first contribution in https://github.com/facebook/lexical/pull/6102 * @MaxPlav made their first contribution in https://github.com/facebook/lexical/pull/6111 * @Piechota made their first contribution in https://github.com/facebook/lexical/pull/6139 * @lacroixdavid1 made their first contribution in https://github.com/facebook/lexical/pull/6062 * @sbsangu made their first contribution in https://github.com/facebook/lexical/pull/6172 * @DraXu3 made their first contribution in https://github.com/facebook/lexical/pull/6160 * @irahopkinson made their first contribution in https://github.com/facebook/lexical/pull/6180 * @vuki365 made their first contribution in https://github.com/facebook/lexical/pull/6178 * @nzigopis made their first contribution in https://github.com/facebook/lexical/pull/6223 **Full Changelog**: https://github.com/facebook/lexical/compare/v0.15.0...v0.16.0