Second Developer Preview of CKEditor 5 Available
We would like to let you know that the second developer preview of CKEditor 5 has recently been tagged as version v0.2.0.
The first developer preview of CKEditor 5 was the first demo-able version. Its development took us 2 years and resulted in over 400 closed tickets and, most importantly, the creation of a powerful editing engine, editor architecture and a few basic features.
Such intensive initial development period had to lead to many unclosed businesses and a lot of ideas for refactoring. Hence, in iteration 2 (v0.2.0) we were focused on the most important architecture changes and project cleanup. As a result, in iteration 3 we will be able to focus on rapid feature development.
Most Important Changes
Thanks to 100% code coverage we were able to perform a huge amount (170 tickets!) of smaller and bigger changes. Here are some more significant ones:
- We totally reorganised the ckeditor5 repository, leaving there only the project configuration. All source code and gulp tasks were moved to other repositories which made it possible to use CKEditor 5 and its build and dev utils as dependencies in your project. This resulted in the creation of new packages (ckeditor5-core, ckeditor5-dev-utils, ckeditor5-dev-compiler, ckeditor5-dev-bundler-rollup, ckeditor5-dev-env, ckeditor5-dev-lint) and a general cleanup of existing gulp tasks.
- Engine:
- We simplified text node implementation which needed the biggest PR that we have seen so far.
- A research on multi-byte characters support in the engine was conducted and we made necessary changes.
- We finished working on utilities for testing features.
- UI library:
- We created an API to bind collections with views.
- A few improvements were made:
- We used the event delegation API to simplify components code.
- Some shorthands were created: 1, 2.
- And a few bugs were fixed: 1, 2.
- Utilities:
- We introduced named priorities in the EmitterMixin.
- We implemented event delegation mechanism between observables.
- The ckeditor5-delete package was merged into ckeditor5-typing.
- We created a gulp task for running commands on all repositories and a few commands were already implemented to speed up the work with all CKEditor 5 repositories.
- We got rid of all circular dependencies.
- And we renamed a lot of things: 1, 2, 3, 4, 5, 6, 7, 8, 9.
Sample
We updated the basic CKEditor 5 sample that you can play with. Check out the developer preview of CKEditor 5 (version 0.2.0) on the CKEditor 5 GitHub.io page.
What’s Next – Iteration 3
Cleanup that we made in iteration 2 (v0.2.0) will allow us to work on new features in a more stable environment. We already started working on the link, list and clipboard packages. We also plan to work on support for more browsers and fixes for most important bugs.
Feel free to ask questions and join the discussion about iteration 3.
Feedback and Collaboration
We are most excited about the project and would love to get some feedback about this early preview.
You can report all general issues in the main CKEditor 5 repository. Specific issues, like those related to the editing engine, should be reported in their respective repositories. Very general ideas and questions can be reported in the design repository.