🏁 Release: Iteration 4 – 4th developer preview #167

Reinmar opened this Issue Nov 8, 2016 · 0 comments


None yet
1 participant

Reinmar commented Nov 8, 2016

We would like to let you know that the 4th developer preview of CKEditor 5 was tagged as version v0.4.0 last week.

You can read about the initial goals of this iteration in #163. We have not managed to do everything but this release contains important fixes and some new features anyway.

Engine Improvements

Selection handling improvements:

  • Handling selection in mutations – The typing feature is now able to correctly place the selection after the typed text in certain problematic cases (like doubled letters or spell checking). See also ckeditor/ckeditor5-typing#51.
  • Selection direction is now correctly rendered. This fixed a lot of issues with resetting the backward selection.
  • Selection attributes are now correctly rendered. This solves some edge cases in rendering the selection inside empty inline elements (like <strong>[]</strong>) and is another step towards a full support for text composition (IME).
  • Selection change events were cleaned up β€” they are now fired only when something has really changed.

Other improvements:

Last but not least, we implemented fake selection support which is important for widgets. We planned to also implement our first widget (in the form of the image feature), but this has to be moved to the next iteration.

Clipboard Support

We implemented the clipboard feature which brings basic support for pasting. The feature uses the new DataController.insert() method which, of course ;), filters out the content before inserting it into the data model.

Since the clipboard feature uses DataTransfer, there is no support for pasting HTML in Safari yet. However, we asked the WebKit team to fix this issue and it was closed immediately. Thanks!

In the next iteration we plan to work on the stability of the content filtering mechanism. Filtering is based on the view-to-model conversion logic (which is meant to drop everything that a certain feature does not handle) and so far we have been writing converters only with allowed content in mind. It is now time to write tests and improvements for the pessimistic scenarios.

Package: https://github.com/ckeditor/ckeditor5-clipboard


We implemented the autoformat feature which has two engines:

  • One which supports block formatting (like headings and lists).
  • The other one which handles inline formatting (bold, italic, etc).

This feature is predefined to create e.g. a heading when you type # at the beginning of a block or bold the text between ** characters. The engines can also be configured to apply different formats on different "triggers".

The change done by the autoformatter can, of course, be undone if the user did not intend to make it.

Autoformat feature screencast

Package: https://github.com/ckeditor/ckeditor5-autoformat

Other Changes

  • We exposed a useful entry point to the compiler.
  • Focus tracker was implemented. Tracking focus is an important aspect of an accessible UI. The editor must control whether the focus is still inside it or was moved out.
  • It is now possible to use views in templates. It is an important UI framework improvement which lead us to a refactoring that we have just finished in iteration 5.
  • There are no better changes than removing the code so we removed the load module. It was meant to simplify loading features, but it has been working around different module system limitations, so it was a bigger problem than gain.


We updated the basic CKEditor 5 sample that you can play with. Check out the developer preview of CKEditor 5 (version 0.4.0) on the CKEditor 5 GitHub.io page.

@Reinmar Reinmar added the announcement label Nov 8, 2016

@Reinmar Reinmar changed the title from 🏁 Release: Iteration 4 – 4th Developer Preview to 🏁 Release: Iteration 4 – 4th developer preview Nov 30, 2016

@Reinmar Reinmar changed the title from 🏁 Release: Iteration 4 – 4th developer preview to 🏁 Release: Iteration 4 – 4th Developer Preview Nov 30, 2016

@Reinmar Reinmar changed the title from 🏁 Release: Iteration 4 – 4th Developer Preview to 🏁 Release: Iteration 4 – 4th Developer preview Feb 7, 2017

@Reinmar Reinmar changed the title from 🏁 Release: Iteration 4 – 4th Developer preview to 🏁 Release: Iteration 4 – 4th developer preview Feb 7, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment