New— Tools API — Introducing new feature — toolbox now can have multiple entries for one tool! Due to that API changes: tool'stoolboxgetter now can return either a single config item or an array of config itemsNew— Blocks API —composeBlockData()method was added.
Fix— Scrolling issue when opening toolbox on mobile fixedFix— Typo in toolbox empty placeholder fixedFix— The issue with scroll jumping on block hovering have fixed 2036Improvement— Dev Example Page - Add popup example pageImprovement— UI - The Toolbox will restore the internal scroll on every opening
New— UI — The Toolbox became vertical🥳 Improvement— UI — the Plus button will always be shown (previously, it appears only for empty blocks)Improvement— Dev Example Page - Server added to allow opening example page on other devices in network.Fix—UI— the Toolbar won't move on hover at mobile viewports. Resolves #1972Fix—OnChangeevent invocation after block insertion. #1997Fix—ReadOnly— thereadonly.isEnabledAPI getter now works correctly afterreadonly.toggle()calling. Resolves #1822Fix—Paste— the inline HTML tags now will be preserved on pasting. #1686
Improvement— UI — Block Tunes toggler moved to the leftImprovement— UI — Block Actions (BT toggler + Plus Button) will appear on block hovering instead of clickImprovement— UI — Block Tunes toggler icon and Plus button icon updatedImprovement— Dev Example Page — The menu with helpful buttons added to the bottom of the screenImprovement— Dev Example Page — The 'dark' theme added. Now we can code at night more comfortably.Improvement— Rectangle Selection — paint optimizedFix— Rectangle Selection — the first click after RS was not clear selection state. Now does.Improvement— Blocks API — toolbar moving logic removed fromblocks.move()andblocks.swap()methods. Instead, you should use Toolbar API (it was used by MoveUp and MoveDown tunes, they were updated).New— Blocks API — ThegetBlockIndex()method addedNew— Blocks API — theinsert()method now has thereplace: booleanparameterNew— Blocks API — theinsert()method now returns the insertedBlock APINew— Listeners API — theon()method now returns the listener id.New— Listeners API — the newoffById()method addedNew—API— The newUiApisection was added. It allows accessing some editor UI nodes and methods.Refactoring— Toolbox became a standalone class instead of a Module. It can be accessed only through the Toolbar module.Refactoring— CI flow optimized.
Improvement— TheonChangecallback now accepts two arguments: EditorJS API and the CustomEvent withtypeanddetailallowing to determine what happened with a BlockNewBlock API — The newdispatchChange()method allows to manually trigger the 'onChange' callback. Useful when Tool made a state mutation that is invisible for editor core.



