Collaboration features

Collaboration features release notes

All the updates, changes and bug fixes for collaboration features.

Changelog

All changes in the package are documented at https://github.com/ckeditor/ckeditor5/blob/master/CHANGELOG.md.

Changes for the past releases are available below.

26.0.0 (2021-03-03)

Bug fixes

Other changes

Localization updates

Translations to the Dutch language were updated.

Released packages

Check out the Versioning policy guide for more information.

Released packages (summary)

Other releases:

25.0.0 (2021-01-27)

MAJOR BREAKING CHANGES ℹ️

See Changes in the Annotations API for more information.

MINOR BREAKING CHANGES ℹ️

See Changes in the Annotations API for more information.

Features

Other changes

Localization updates

Translations to the Dutch language were updated.

Released packages

Check out the Versioning policy guide for more information.

Released packages (summary)

Major releases (contain major breaking changes):

Other releases:

Changes in the Annotations API

The entire annotations API was redesigned in order to support multiple annotation UIs at the same time. A good example of this is an idea of displaying comments in the sidebar while showing suggestions from track changes in inline balloons when their corresponding suggestions are active. Due to that, some architectural changes were made and quite a lot of breaking changes were introduced with this release. See the migration guide below to check how to adapt to the changes.

Annotations migration guide

Conceptual and architectural changes

  • The new annotations API allows for activating (attaching) multiple annotation UIs at the same time. To allow multiple UIs at the same time, the annotation filtering function must be registered during the annotation UI activation. Though, still, one annotation can be handled only by one annotation UI at the same time.
  • New annotations API allows for setting multiple active annotations at the same time (max one per each annotation UI), so at some point more than one annotation can be active for various annotation UIs.
  • An annotation UI is now activated with its own collection of filtered annotations and became responsible for reacting to more events. This allows for more customization possibilities, however, unfortunately, it comes with more code needed to be written for the custom annotation UI class. After the changes, an annotation UI is responsible for:
    • Displaying the annotation.
    • Marking the annotation as active when it should be activated and propagating this change via an observable property.
    • Reacting to editor events (though this is planned to be changed and simplified in the future).
    • Reacting to focus changes in the annotation collection.
    • Handling newly added and removed annotations.
    • Handling the annotation activation and deactivation from external places via the setActiveAnnotation() method.
  • The Annotations class was split to the new Annotations class, which is a global collection of annotations, and the new AnnotationsUIs class, which is mainly responsible for registering and activating annotation UIs.
  • In place where the AnnotationView had been used, the new Annotation class instance is used and it exposes mainly the following properties:
    • target - The target element to which the annotation should be bound. It can be a Rect instance or an HTML Element.
    • view - The AnnotationView instance.
    • type - The type of the annotation.
    • isActive - A property that determines if the annotation view and annotation inner views are active or not. It should be changed by the annotation UI when it changes the active annotation.

The Sidebar class stopped operating on the global collection of annotations. From now, the Annotation UI that is responsible for displaying the sidebar should provide the sidebar with its collection of annotations and inform about possible actions with the new rearrange() and refresh() methods.

The EditorAnnotations started firing events instead of manipulating the global collection of annotations. From now on, every annotation UI needs to create its own integration with this class. This may change in the future as it complicates the implementation of the custom UI.

Code migration examples

Registering and activating annotation UIs

Before:


    

After:


    
Using global collection of annotations and active annotations

Before:


    

After:


    
Creating a custom Annotations UI

Before:

\n				
		

After:

\n						
				

24.0.0 (2020-12-09)

Features

Bug fixes

Other changes

Localization updates

New translations are available for the following languages:

Hungarian, German, Australian English, French, Estonian, Ukrainian, Galician, Italian, Slovak, Serbian, Serbian (Latin), Chinese

Released packages

Check out the Versioning policy guide for more information.

Released packages (summary)

23.1.0 (2020-10-26)

Features

Bug fixes

Other changes

Localization updates

New translations are available for the following languages:

Chinese, French, Italian, Persian

23.0.0 (2020-09-25)

Features

Bug fixes

Other changes

22.0.0 (2020-08-25)

Features

Other

Localization updates

New translations are available for the following languages:

Dutch, Korean, Russian, Ukrainian

21.0.0 (2020-07-24)

BREAKING CHANGES

Features

Bug fixes

Other changes

Localization updates

New translations are available for the following languages:

Brazilian Portuguese, Chinese, Polish, Turkmen, Uighur

20.0.1 (2020-06-26)

Bug fixes

Fixed an error that occurred under certain conditions when opening a document with comments and real-time collaboration enabled. It could lead to losing all comments added to the document.

This was a regression that occurred only in version 20.0.0. It is strongly recommended to upgrade this package to version 20.0.1.

20.0.0 (2020-06-23)

BREAKING CHANGES

Features

Bug fixes

Notes

At the moment, multi-cell selection and multi-cell comments are supported only without real-time collaboration and when track changes is turned off.

Localization updates

New translations are available for the following languages:

Chinese (China), Slovak.

19.1.0 (2020-05-25)

Features

Localization updates

New translations are available for the following languages:

Australian English, Brazilian Portuguese, Croatian, French, Galician, German, Hungarian, Italian, Japanese, Norwegian, Russian, Serbian, Serbian (Latin), Turkish.

We would like to thank everyone who contributed to these translations!

19.0.1 (2020-04-30)

BREAKING CHANGES

Features

Bug fixes

Other changes

18.0.0 (2020-03-19)

Features

Bug fixes

Other

17.0.0 (2020-02-20)

BREAKING CHANGES

Comments

Trusted and approved by

MIT
Microsoft
IBM
Novartis
Siemens
Volvo
Thomson
Disney
Citi
Drupal
Mozilla
Unicef
Accenture
TATA
Deloitte

Subscribe to our newsletter

Twitter Facebook Facebook Instagram Medium Linkedin GitHub Arrow down Phone Menu Close icon Check