7th developer preview of CKEditor 5 available
We would like to let you know that the 7th developer preview of CKEditor 5 has just been tagged as version v0.7.0.
The 7th preview follows the 5th preview directly since iteration 6 resulted in an internal release. Last December we started a long process of rebuilding the project infrastructure which took us more than one month to finish. Hence, the 7th developer preview concludes 2 months of our work.
Project infrastructure
The work on the project infrastructure (the multi-repository architecture, translation service, release tools, etc.) was described in the January's "News and Updates" and we recommend reading that post for more details. Here, we will only focus on an update and conclusions.
We are using the new development environment, which features mgit2 and Lerna, since the middle of January. You can check out the updated Development environment guide for more information. It works great for us, especially since the major improvement for Lerna which sped up the installation time about 2-3x.
So far, we are very satisfied with the new setup and proud of our new tool called mgit2, which beautifully and quickly handles our multi-repo architecture. We hope that it will be adopted by more projects.
Finally, we see now in practice how a Webpack configuration that allows you to build in CKEditor 5 into your website or web application looks and works. We were also really happy to learn that it was possible for the community to actually figure out how to build CKEditor 5 even before we wrote any documentation :) (thanks, @IlyaSemenov!).
Other changes
During the last two months, we worked on so many features and improvements that only the more important or interesting ones are listed below.
Image styles
The image styles feature lets the developer configure what kind of styles are available to the user. By default, the feature is configured to provide the "full size" and "side image" styles, which we consider the most common scenario. We had some doubts whether the conceptual change from image alignment to a far more semantic and general image styles won't be too confusing, but we decided that this is the right way to go since content quality is our main goal.
Image alternate text balloon
Starting from this release it is also possible to add alternate texts for images via a dedicated balloon panel to satisfy an important accessibility requirement.
Button tooltips
Last but not least, toolbar button tooltips (showing relevant keyboard shortcuts, too) are now available to make it easier to distinguish features in case the icons representing them are not clear enough :)
Keyboard navigation
One of the most important aspects of accessibility is providing keyboard navigation support for the UI. We plan to work on full accessibility after version 1.0.0, but features like focus cycling need to be predicted in the UI library architecture so we have already started working on them. The current implementation is not complete, but we can be sure that it can be completed after 1.0.0 without introducing breaking changes.
Markers
Engine markers allow tracking meta information (like comments, other users' selections, etc.) in the editor content. The feature took us quite a lot of time and tickets to implement correctly because, as usual, the collaborative aspect made it incomparably more complex than how it would need to work in a normal editor.
We think, though, that this is the last big piece of the entire editor engine puzzle. This means that for version 1.0.0 the engine needs only garbage collection, some refactoring and stabilization.
Last but not least
- Translation service is on review.
- Release tools are already used by mgit2 and we are now working on polishing them for a more complex use case in CKEditor 5. They include automatic changelog generation, automated semantic version bumping (based on the changelog) and synchronising dependency versions.
- Keyboard support for widgets was improved (also ckeditor/ckeditor5-engine#696).
- The paragraph feature's converter behaves like a wildcard now, which is important for handling pasting content that contains markup with no existing converters.
- Editor and plugin events for initialisation steps were added.
- Rect utils were extracted from
BalloonPanelView
to enable code reuse. - Delta transformation utilities were implemented in order to allow processing other users changes.
- A wireframe theme was extracted from the Lark theme in order to allow building your own themes in an easier way.
- And many bugs were fixed :)
Sample
We updated the basic CKEditor 5 sample that you can play with. Check out the developer preview of CKEditor 5 (version 0.7.0) on the CKEditor 5 GitHub.io page.
What’s next — Iteration 8
Iteration 8 has already started. We will continue working on the image captioning feature and block quote support. In addition to that, we are finishing the release tools and the translation service. Last but not least, we are going to work on defining presets and builds.
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.