Skip to content

Releases: codex-team/editor.js

v2.29.0-rc.6

08 Nov 19:38
5e8fe06

Choose a tag to compare

v2.29.0-rc.6 Pre-release
Pre-release

fix: errors caused by events fired while editor is not initialized yet #2532

v2.29.0-rc.5

22 Oct 22:10
ee188bf

Choose a tag to compare

v2.29.0-rc.5 Pre-release
Pre-release
  • New β€” Editor Config now has the style.nonce attribute that could be used to allowlist editor style tag for Content Security Policy "style-src"

v2.29.0-rc.4

18 Oct 21:45
3533774

Choose a tag to compare

v2.29.0-rc.4 Pre-release
Pre-release
  • Fix β€” Editor wrapper element growing on the Inline Toolbar close

v2.29.0-rc.3

17 Oct 16:18
d936bf0

Choose a tag to compare

v2.29.0-rc.3 Pre-release
Pre-release
  • Fix β€” blocks.render() won't lead the onChange call in Safari

v2.28.1

11 Oct 16:46
ca2bc80

Choose a tag to compare

  • Fix β€” Some Block were be skipped on saving after pasting them as HTML

v2.29.0-rc.1

20 Sep 08:22
c9014e6

Choose a tag to compare

v2.29.0-rc.1 Pre-release
Pre-release
  • Fix β€” Layout did not shrink when a large document cleared in Chrome
  • Fix β€” Multiple Tooltip elements creation fixed
  • Fix β€” When the focusing Block is out of the viewport, the page will be scrolled.

v2.29.0-rc.0

05 Sep 08:36
77eb320

Choose a tag to compare

v2.29.0-rc.0 Pre-release
Pre-release

Fix β€” Passing an empty array via initial data or blocks.render() won't break the editor

v2.28.0

24 Aug 21:36
59c8d28

Choose a tag to compare

2 28

New features

  • Block ids now displayed in DOM via a data-id attribute. Could be useful for plugins that want to access a Block's element by id.
  • Blocks API β€” The blocks.convert(blockId, newType) API method was added. It allows to convert existing Block to a Block of another type.
  • Blocks API β€” The blocks.insertMany() API method added. It allows to insert several Blocks to the specified index.

Improvements

  • UX β€” The Delete keydown at the end of the Block will now work opposite a Backspace at the start. Next Block will be removed (if empty) or merged with the current one.
  • UX β€” The Delete keydown will work like a Backspace when several Blocks are selected.
  • UX β€” If we have two empty Blocks, and press Backspace at the start of the second one, the previous will be removed instead of the current.
  • Shortcuts β€” Tools shortcuts could be used to convert one Block to another.
  • UI β€” Tools shortcuts displayed in the Conversion Toolbar
  • UI β€” Initialization Loader has been removed.
  • Styles β€” Selection style won't override your custom style for ::selection outside the editor.
  • Performance β€” Performance optimizations: initialization speed increased, blocks.render() API method optimized. Big documents will be displayed 8x faster.
  • DX β€” "Editor saving" log removed
  • DX β€” "I'm ready" log removed
  • UI β€” The stub-block style is simplified.
  • UI β€” If some Block's tool throws an error during construction, we will show Stub block instead of skipping it during render
  • onChange β€” Call of blocks.clear() now will trigger onChange with "block-removed" event for all removed blocks.
  • Blocks API β€” The blocks.clear() now can be awaited.
  • Types β€” BlockMutationType and BlockMutationEvent types exported
  • Blocks API β€” blocks.update(id, data) now can accept partial data object β€” it will update only passed properties, others will remain the same.
  • onChange β€” blocks.update(id, data) now will trigger onChange with only block-change event.
  • Blocks API β€” blocks.update(id, data) will return a promise with BlockAPI object of the changed block.

v2.28.0-rc.4

21 Aug 09:32
f8e9414

Choose a tag to compare

v2.28.0-rc.4 Pre-release
Pre-release
  • Improvement - The blocks.clear() now can be awaited.
  • Improvement - The blocks.render() won't lead onChange call

v2.28.0-rc.3

20 Aug 14:32
be0d33c

Choose a tag to compare

v2.28.0-rc.3 Pre-release
Pre-release
  • Improvement - BlockMutationType and BlockMutationEvent types exported
  • Improvement - blocks.update(id, data) now can accept partial data object β€” it will update only passed properties, others will remain the same.
  • Improvement - blocks.update(id, data) now will trigger onChange with only block-change event.
  • Improvement - blocks.update(id, data) will return a promise with the BlockAPI object of the changed block.