2.19.2
New-toolbar.toggleBlockSettings()API method added #1442.Improvements- A generic type for Tool config added #1516Improvements- Remove unusedforceoption inCaret.navigateNext()andCaret.navigatePrevious()#857.Improvements- Remove bundles from the repo #1541.Improvements- Document will be scrolled when blocks are selected withSHIFT+UPorSHIFT+DOWN#1447Improvements- The caret will be set on editor copy/paste #1470Improvements- Added generic types to OutputBlockData #1551.Fix- Fix BlockManager.setCurrentBlockByChildNode() with multiple Editor.js instances #1503.Fix- Fix an unstable block cut process #1489.Fix- Type definition of the Sanitizer config: the sanitize function now contains param definition #1491.Fix- Fix unexpected behavior on an empty link pasting #1348.Fix- Fix SanitizerConfig type definition #1513Refactoring- The Listeners module now is a util.Refactoring- The Events module now is a util.Fix- Editor Config now immutable #1552.Refactoring- Shortcuts module is util now.Fix- Fix bubbling on BlockManagers' listener #1433.
2.19.1
Improvements- The Cypress was integrated as the end-to-end testing frameworkImprovements- Nativetypeofreplaced with custom utils methodsImprovements- Bind shortcuts listeners on the editor wrapper instead of document #1391Fix- The problem with destroy() method #1380.Fix- add getter keyword toblock.mergeablemethod #1415.Fixβ Fix problem with entering to Editor.js by Tab key #1393Fix- Sanitize pasted block data #1396.Fix- Unnecessary block creation after arrow navigation at last non-default block#1414
2.19
New- Read-only mode π₯³ #837New- RTL mode added #670New- Allows users to provide commoninlineToolbarproperty which will be used for all tools whoseinlineToolbarproperty is set totrue. It can be overridden by the tool's owninlineToolbarproperty. Also, inline tools will be ordered according to the order of the inline tools in array provided in theinlineToolbarproperty. #1056New- Tool'sresetstatic method added to the API to clean up any data added by Tool on initializationImprovements- TheinitialBlockproperty of Editor config is deprecated. Use thedefaultBlockinstead. #993Improvements- BlockAPIcall()method now returns the result of calling method, thus allowing it to expose arbitrary data as needed #1205Improvements- Unuseful log about missed i18n section has been removed #1269Improvements- Allowed to setfalseastoolboxconfig in order to hide Toolbox button #1221Fixβ Fix problem with types usage #1183Fix- Fixed issue with Spam clicking the "Click to tune" button duplicates the icons on FireFox. #1273Fix- Fixed issue witheditor.blocks.delete(index)method which throws an error when Editor.js is not focused, even after providing a valid index. #1182Fix- Fixed the issue of toolbar not disappearing on entering input in Chinese, Hindi and some other languages. #1196Fix- Do not stop events propagation if not needed (essential for React synthetic events) #1051 #946Fix- Tool'sdestroymethod is not invoked wheneditor.destroy()is called. #1047Fix- Fixed issue with enter key in inputs and textareas #920Fix- blocks.getBlockByIndex() API method now returns void for indexes out of range #1270Fix- Fixed theTabkey behavior when the caret is not set inside contenteditable element, but the block is selected #1302.Fix- Fixed theonChangecallback issue. This method didn't be called for native inputs before some contentedtable element changed #843Fix- Fixed theonChangecallback issue. This method didn't be called after the callback throws an exception #1339Fix- The internalshortcutgetter of Tools classes will work now.Deprecatedβ The Inline Toolclear()method is deprecated because the new instance of Inline Tools will be created on every showing of the Inline Toolbar
2.18
NewI18n API β Ability to provide internalization for Editor.js core and tools. #751Newβ Block API that allows you to access certain Block properties and methodsImprovements- TSLint (deprecated) replaced with ESLint, old config changed to CodeX ESLint Config.Improvements- Fix many code-style issues, add missed annotations.Improvements- Adjusted GitHub action for ESLint.Improvements- Blocks API: ifblocks.deletemethod is called, but no Block is selected, show warning instead of throwing an error #1102Improvements- Blocks API: allow deletion of blocks by specifying block index viablocks.delete(index).Improvements- UX: Navigate next Block from the last non-initial one creates new initial Block now #1103Improvements- Improve performance of DOM traversing at theisEmpty()method #1095Improvements- CODE OF CONDUCT addedImprovements- Disabled useCapture flag for a block keydown handling. That will allow plugins to override keydown and stop event propagation, for example, to make own Tab behavior.Improvements- All modules now might havedestroymethod called on Editor.js destroyImprovements- Block settings can contain text inputs, focus will be restored after settings closed #1090Fix- Editor's styles won't be appended to the<head>when another instance have already do that #1079Fix- Fixed wrong toolbar icon centering in Firefox #1120Fix- Toolbox: Tool's order in Toolbox now saved in accordance withtoolsobject keys order #1073Fix- Settingautofocusconfig property totruecause adding.ce-block--focusedfor the autofocused block #1073Fix- Public gettershortcutnow works for Inline Tools #1132Fix-CMD+Ahandler removed after Editor.js destroy #1133
Breaking changes
blocks.getBlockByIndexmethod now returns BlockAPI object. To access old value, use BlockAPI.holder property
2.17
Improvements- Editor's onchange callback now accepts an API as a parameterFix- Some mistakes are fixed in installation.mdFix- Fixed multiple paste callback triggering in a case when several editors are instantiated #1011Fix- Fixed inline toolbar flipper activation on closing conversion toolbar #995Improvements- New window tab is opened by clicking on anchor with ctrl #1057Fix- Fix block-tune buttons alignment in some CSS-resetors that forcesbox-sizing: border-boxrule #1003Improvements- New style of a Block Settings button. Focused block background removed.Newβ Add in-house copy-paste support throughapplication/x-editor-jsmime-typeNewBlock lifecycle hookmovedDeprecatedβblocks.swap(fromIndex, toIndex)method is deprecated. Useblocks.move(toIndex, fromIndex)instead.Fixβ Improve plain text paste #1012Fixβ Fix multiline paste #1015
2.16.1
Fixβ Fix Firefox bug with incorrect height and cursor position of empty content editable elements #947 #876 #608 #876Fixβ Set initial hidden Inline Toolbar position #979Fixβ Fix issue with CodeX.Toolips TypeScript definitions #978Fixβ Fix some issues with Inline and Tunes toolbars.Fix- FixminHeightoption with zero-value issue #724Improvementsβ Disable Conversion Toolbar if there are no Tools to convert #984
2.16
Improvementsβ Inline Toolbar design improvedImprovementsβ Conversion Toolbar now included in the Inline Toolbar #853Improvementsβ All buttons now have beautiful Tooltips provided by CodeX TooltipsNewβ new Tooltips API for displaying tooltips near your custom elementsNewAPI β Block lifecycle hooksNewInline Tools API β Ability to specify Tool's title viatitlestatic getter.Fixβ On selection from end to start backspace is working as expected now #869Fixβ Fix flipper with empty dom iterator #926Fixβ Normalize node before walking through children atisEmptymethod #943Fixβ Fixed Grammarly conflict #779Improvementsβ Module Listeners now correctly removes events with options #904Improvementsβ Styles API:.cdx-blockdefault vertical margins decreased from 0.7 to 0.4 ems.Fixβ FixedgetRangeCountcall if range count is 0 #938Newβ Log levels now available to suppress Editor.js console messages #962Fixβ Fixed wrong navigation on block deletion
2.15.1
Refactoringβ Constants of tools settings separated by internal and external to correspond APIRefactoringβ Created universal Flipper class that responses for navigation by keyboard inside of any ToolbarsFixβ First CMD+A on block with now uses default behaviour. Fixed problem with second CMD+A after selection clearing #827Improvementsβ Style of inline selection and selected blocks improvedFix- Fixed problem when property 'observer' in modificationObserver is not defined
2.15
Newβ Newblocks.insert()API method #715.NewConversion Toolbar β Ability to convert one block to another #704NewCross-block selection β Ability to select multiple blocks by mouse and with SHIFT+ARROWS #703Deprecatedβblocks.insertNewBlock()method is deprecated. Useblocks.insert()instead.Improvementsβ Inline Toolbar now works on mobile devices #706Improvementsβ Toolbar looks better on mobile devices #706Improvementsβ NowpasteConfigcan returnfalseto disable paste handling on your Tool #801Fixβ EditorConfig'sonChangecallback now fires when native inputs` content has been changed #794Fixβ Resolve bug with deleting leading new lines #726Fixβ Fix inline link Tool to support different link types likemailtoandtel#809Fixβ Addedtypeofutil method to check exact object type #805Fixβ Remove internalenableLineBreaksoption from external Tool settings type description #825
2.14
FixConfig β User config now has higher priority than internal settings #771Newβ Ability to work with Block Actions and Inline Toolbar from the keyboard by Tab. #705Fixβ Fix error thrown by click on the empty editor afterblocks.clear()method calling #761Fixβ Fix placeholder property appearance. Now you can assign it viaplaceholderproperty of EditorConfig. #714Fixβ Add API shorthands to TS types #788
2.13
ImprovementsBlockSelection β Block Selection allows to select single editable element via CMD+ANewAPI β Added API methods to open and close inline toolbar #665NewConfig - Added new property in EditorConfigholder, use this property for append Editor insteadholderId.holderproperty now support reference on dom element. #696DeprecatedConfig -holderIdproperty now is deprecated and will removed in next major release. Useholderinstead.FixTypes β Fixed error withcodex-notifierpackage #713Improvementsβ Close inline toolbar after creating a new link.NewConfig β OptionminHeightfor customizing Editor's bottom zone height added.
2.12.4
Improvementsβ CodeX.Shortcuts version updated to the v1.1 #684Fixβ Do not start multi-block selection on Toolbox and Inline Toolbar #646Fixβ Minor fixes of caret behaviour #663Fixβ Fix inline-link icon position in Firefox #674
2.12.3
Fixβ Make Toolbox tooltip position font-size independent
2.12.2
- New Inline Tools β pass tool settings from configuration to Tool constructor
2.12.1
Fixβ Fix processingcolor-modfunction in styles
2.12.0
NewAPI - newblocksAPI methodrenderFromHTML
2.11.11
Newβ Add ability to pass configuration for internal Tools
2.11.10
Fix- Fix editor view on mobile devices
2.11.9
Fix- Fix inline toolbar buttons margin. Update dependencies list. Update tools for example page.
2.11.8
Fixβ Block tunes margins now better works with more than 3 buttons
2.11.7
FixPaste β Fix pasting into non-initial Blocks
2.11.6
FixPaste β Polyfill for Microsoft Edge
2.11.5
FixRectangeSelection β Redesign of the scrolling zones
2.11.4
Fix- Clear focus when click is outside the Editor instance
2.11.3
Fixβ Fix CMD+A Selection on multiple Editor instances
2.11.2
Improvementsβ Docs updated and common enhancements
2.11.1
FixRectangeSelection β Selection is available only for the main mouse button
2.11.0
Newβ Add API methods shorthands
2.10.0
Newβ Rename from CodeX Editor to Editor.js
2.9.5
Newβ Toolbox now have beautiful helpers with Tool names and shortcuts
2.9.4
Improvementsβ Prevent navigating back on Firefox when Block is removing by backspace
2.9.3
Fixβ Handle paste only on initial Block
2.9.2
Newβ Blocks selected with Rectangle Selection can be also removed, copied or cut
2.9.1
Improvementsβ Migrate frompostcss-cssnexttopostcss-preset-envand disablepostcss-custom-propertieswhich conflicts withpostcss-preset-env
2.9.0
NewRectangeSelection β Ability to select Block or several Blocks with mouse
2.8.1
FixCaret β Fix "History back" call on backspace in Firefox
2.8.0
ImporvementsAPI β Added API methods to manage caret position
2.7.32
ImprovementsTypes β TypeScript types sre updated
2.7.31
Fixβ Caret now goes through elements withouttypeattribute
2.7.30
Fixβ Fixed selection behavior when text has modifiers form Inline Toolbar
2.7.29
Fixβ cmd+x works only for custom selection now
2.7.28
NewTools Validation is added.
2.2.27
NewMobile view β Editor now adopted for mobile devicesNewNarrow mode β Editor now adopted for narrow containers
2.2.26
ImprovementsCaret β Improvements of the caret behaviour: arrows, backspace and enter keys better handling.
2.2.25
NewAutofocus β Now you can set focus at Editor after page has been loaded
2.2.24
ImprovementsPaste handling β minor paste handling improvements
2.2.23
NewShortcuts β copy and cut Blocks selected by CMD+A
2.2β2.7
NewSanitize API β Sanitize Config ofBlock Toolsnow automatically extends by tags ofInline Toolsthat is enabled by current Tool byinlineToolbaroption. You don't need more to specifya, b, mark, codemanually. This feature will be added to fields that supports inline markup.NewBlock Selection β Ability to select Block byCMD+A, and the whole Editor by doubleCMD+A. After that, you can copy (CMD+C), remove (Backspace) or clear (Enter) selected Blocks.NewStyles API β Addedbuttonclass for stylization of any buttons provided by Tools with one unified style.NewNotifier API β methods for showing user notifications: on success, errors, warnings, etc.NewBlock Tool β Table constructor πͺNewIf one of the Tools is unavailable on Editor initialization, its Blocks will be rendered with Dummy Block, describing that user can not edit content of this Block. Dummy Blocks can be moved, removed and saved as normal Blocks. So saved data won't be lost if one of the Tools is failedNewPublic TS-types are presented.ChangesTools API β optionsirreplaceableandcontentlesswas removed.ChangesTools API β Paste API: tags, patterns and mime-types now should be specified by Tool'spasteConfigstatic property. Custom Paste Event should be handled byonPaste(event)that should not be static from now.ChangesTools API β optionsdisplayInToolboxandtoolboxIconwas removed. Usetoolboxinstead, that should return object withiconandtitlefield, orfalseif Tool should not be placed at the Toolbox. Also, there are a way to overridetoolbox {icon, title}settings provided by Tool with you own settings at the Initial Config.Improvementsβ All Projects code now on TypeScriptImprovementsβ NPM package size decreased from 1300kb to 422kbImprovementsβ Bundle size decreased from 438kb to 252kbImprovementsβInline Toolbar: when you add a Link to the selected fragment, Editor will highlight this fragment even when Caret is placed into the URL-input.Improvementsβ Block Settings won't be shown near empty Blocks ofinitialTypeby default. You should click on them instead.ImprovementsβonChange-callback now will be fired even with children attributes changing.Improvementsβ HTMLJanitor package was updated due to found vulnerabilityImprovementsβ Logging improved: now all Editor's logs will be preceded by beautiful label with current Editor version.Improvementsβ InternalisEmptychecking was improved for Blocks with many children nodes (200 and more)Improvementsβ Paste improvements: tags that can be substituted by Tool now will matched even on deep-level of pasted DOM three.Improvementsβ There is no more Β«unavailableΒ» sound on copying Block byCMD+Con macOSImprovementsβ Dozens of bugfixes and small improvements
See a whole Changelog
2.1-beta changelog
NewTools API β support pasted content via drag-n-drop or from the Buffer. See documentation and example at the Simple Image Tool.NewTools API β newsanitizegetter for Tools for automatic HTML sanitizing of returned data. See documentation and example at the Paragraph ToolNewAddedonChange-callback, fired after any modifications at the Editor. See documentation.NewNew Inline Tool example β MarkerNewNew Inline Tool example β CodeNewNew Editor.js PHP β example of server-side implementation with HTML purifying and data validation.Improvements- Improvements of Toolbar's position calculation.Improvementsβ Improved zero-configuration initialization.- and many little improvements.