github facebook/lexical v0.12.3

latest releases: v0.20.1-nightly.20241115.0, v0.20.1-nightly.20241114.0, v0.20.1-nightly.20241113.0...
12 months ago

v0.12.3 (2023-11-17)

This minor release is not so minor! New stuff and a scroll of bugfixes.

Overriding HTML serialization from the editor config (#4254)

Some months ago we introduced Node Overrides as a way to fully customize your Node. While this feature gives you the most flexibility, we realized (based on Discord's feedback) that most overrides are fairly simple and move around HTML. For this reason, we're bringing this closer to you and without the need to introduce new Nodes.

    html: {
      export: new Map([[TextNode, () => ({ element: document.createElement('figure') })]]),
      import: { 'figure': () => ({ conversion: () => ({ node: $createTextNode('yolo') }), priority: 4 }) }
    },

$insertNodes rewrite (#5002)

$insertNodes is arguably the most complex function in the Lexical codebase. Or at least it was until @GermanJablo succesfully rewrote it from scratch!

For those of you who haven't had a chance to play with $insertNodes yet, it places one or multiple Nodes at your selection, and is responsible for intelligently determining the end hiearchy (i.e. merged together or moved up to tree).

@GermanJablo's rewrite not only resolves some immediate issues but also the reduced complexity now enables us to perfect this function (and indirectly the clipboard paste behavior), previously blocked by its complexity.

Tables reliability

We closed more than 70% of the open tables issues since the last release. Kudos to @icrosil for being the main driver behind this effort!

What's Changed

New Contributors

Full Changelog: v.0.12.2...v0.12.3

Don't miss a new lexical release

NewReleases is sending notifications on new releases.