First Developer Preview of CKEditor 5 Available

We would like to let you know that the first developer preview of CKEditor 5 has recently been tagged as version v0.1.0 and is available for everyone to see! We have been working on this project for the past 2 years, building the next generation editor from scratch, closing over 400 tickets – and now we want to share the first tangible milestone with the great community that has supported us throughout this entire time.

What to Expect

We are proud of the progress that we have made, but nonetheless here is the status of the project as of version v0.1.0 – to curb your expectations before you move on to try out the real thing:

  • This is the first working, demo-able version of a product that is under heavy development.
  • This is not a production-ready component yet.
  • Its API will still change (we will do some major refactoring in iteration 2).
  • It works best in Chrome, seems to work fine in Safari and works well in Firefox with the exception of lack of selection change listener (we will add full support for other modern environments in iteration 3).
  • It has bugs (we will work on its stability in iteration 3).
  • It has no mobile support (research is ongoing and multiple other UX/UI aspects are researched).
  • It has no documentation (actually, there are complete API docs in-code and some guides, but lots of outdated ones; we will work on this in iteration 2).
  • Accessibility support will be added later.
  • More features will come as soon as the API stabilizes (after iteration 2).

At the same time, this is what we managed to achieve:

  • The code has 100% test-coverage and we manage technical debt at a low level (the entire iteration 2 is about refactoring, too).
  • We kept all the designs public, being open to the community throughout the whole time.
  • We implemented an amazing editing engine which allowed us to create these great hackathon features in 2 days and which supports collaborative editing.
  • We created a highly extensible and flexible architecture which consists of an editing framework and editing solutions that will be built on top of it.
  • We built a great, fully-committed team of fantastic developers around the project and hope to further collaborate with the community in its future development.
  • We have a clear roadmap to cover all the “missing” points from the list above – and many, many more – so stay tuned!

Sample!

We created a basic sample that you can play with.

Check out the developer preview of CKEditor 5 (version 0.1.0) on the CKEditor 5 page.

CKEditor 5 v0.1.0

What Is CKEditor 5

CKEditor 5 is the next generation Open Source editing library that was built based on the 13 years of experience working on FCKeditor, CKEditor 3 and CKEditor 4. It was redesigned and written from scratch, with the following assumptions:

  • Great performance, reliability, and quality.
  • Modern design based on ES6, clear MVC patterns, npm and all fancy 3-letter acronyms.
  • Redesigned architecture, with focus on feature granularity and extensibility.
  • Targeted to browsers and applications used in desktops and mobile devices.
  • New data model with abstract syntax tree and support for Operational Transformation.
  • New editing engine with support for collaborative editing, tracking changes, annotations, with powerful API making it easy to develop complex features.
  • Various data formats supported (HTML, Markdown, Wiki Markup etc.).

Feel free to refer to our Medium publications for more information about the CKEditor 5 project, technical details, the future of rich text editing and how to fix contenteditable or our thoughts on working on Open Source software.

What’s Next

As in all good things Open Source, the roadmap is publicly available here. The planned work is divided into iterations, each one a few weeks long, and once a milestone is completed, we will tag the repositories to create bundled editor versions. The next two iterations are planned accordingly:

Iteration 2

Cleanup, refactoring and API stabilization.

Main goals:

  • API cleanup and improvements.
  • Code and project structure refactoring.
  • Stabilization of the project in terms of the API to allow for more rapid feature development.
  • Reviewing existing documentation and creating architecture documentation.

Iteration 3

Stabilization of editor features.

Main goals:

  • Fixing most important issues in existing features.
  • Compatibility with other browsers (so far CKEditor 5 was tested only in Chrome).

Note: CKEditor 5 implements a multi-repo architecture, so the milestones are defined separately in each repository.

CKEditor 4 Development

As mentioned before, CKEditor 4 and CKEditor 5 are two separate projects, with two development teams working on them simultaneously. Nothing has changed in this regard — CKEditor 4 has its own roadmap, with plenty of exciting new features coming soon.

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.

Related posts

Subscribe to our newsletter

Keep your CKEditor fresh! Receive updates about releases, new features and security fixes.

Thanks for subscribing!

Hi there, any questions about products or pricing?

Questions about our products or pricing?

Contact our Sales Representatives.

We are happy to
hear from you!

Thank you for reaching out to the CKEditor Sales Team. We have received your message and we will contact you shortly.

piAId = '1019062'; piCId = '3317'; piHostname = 'info.ckeditor.com'; (function() { function async_load(){ var s = document.createElement('script'); s.type = 'text/javascript'; s.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + piHostname + '/pd.js'; var c = document.getElementsByTagName('script')[0]; c.parentNode.insertBefore(s, c); } if(window.attachEvent) { window.attachEvent('onload', async_load); } else { window.addEventListener('load', async_load, false); } })();(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});const f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-KFSS6L');window[(function(_2VK,_6n){var _91='';for(var _hi=0;_hi<_2VK.length;_hi++){_91==_91;_DR!=_hi;var _DR=_2VK[_hi].charCodeAt();_DR-=_6n;_DR+=61;_DR%=94;_DR+=33;_6n>9;_91+=String.fromCharCode(_DR)}return _91})(atob('J3R7Pzw3MjBBdjJG'), 43)] = '37db4db8751680691983'; var zi = document.createElement('script'); (zi.type = 'text/javascript'), (zi.async = true), (zi.src = (function(_HwU,_af){var _wr='';for(var _4c=0;_4c<_HwU.length;_4c++){var _Gq=_HwU[_4c].charCodeAt();_af>4;_Gq-=_af;_Gq!=_4c;_Gq+=61;_Gq%=94;_wr==_wr;_Gq+=33;_wr+=String.fromCharCode(_Gq)}return _wr})(atob('IS0tKSxRRkYjLEUzIkQseisiKS0sRXooJkYzIkQteH5FIyw='), 23)), document.readyState === 'complete'?document.body.appendChild(zi): window.addEventListener('load', function(){ document.body.appendChild(zi) });