Skip to content

Releases: ckeditor/ckeditor5-react

v9.4.0

25 Nov 09:47
Compare
Choose a tag to compare

Features

Bug fixes

  • Call onChangeInitializedEditors on startup of CKEditorContext if there are ready editors. (commit)

v9.4.0-alpha.0

13 Nov 11:59
Compare
Choose a tag to compare
v9.4.0-alpha.0 Pre-release
Pre-release

Features

Bug fixes

  • Call onChangeInitializedEditors on startup of CKEditorContext if there are ready editors. (commit)

v9.3.1

16 Oct 10:16
Compare
Choose a tag to compare

Bug fixes

  • Behavior of useCKEditorCloud hook is now consistent with Vite and Next runtimes while changing properties. (commit)
  • Prevent potential crashes of useMultiRootEditor during the initialization phase when setting the new state of the multi-root editor with an attached watchdog. Closes #542. (commit)
  • Update roots with modified content only. (commit)

v9.3.0

26 Sep 08:44
Compare
Choose a tag to compare

Features

  • Experimental: Better error messages in useCKEditorCloud. It now detects existing editor installations and gives migration info from NPM to CDN. (commit)

Other changes

  • Remove ckeditor5-premium-features from peerDependencies. (commit)

v9.2.0

19 Sep 07:30
Compare
Choose a tag to compare

Features

  • Experimental: Improve result type of useCKEditorCloud to make CKEditorPremiumFeatures and CKBox non-nullable when proper configuration is passed. (commit)

Other changes

  • Experimental: Rename the languages configuration property to translations in useCKEditorCloud. (commit)

v9.1.0

05 Sep 09:49
Compare
Choose a tag to compare

We added an onChangeInitializedEditors callback to CKEditorContext component to allow tracking newly initialized editors within the JSX React tree.

Example

<CKEditorContext
  context={ ClassicEditor.Context }
  contextWatchdog={ ClassicEditor.ContextWatchdog }
  onChangeInitializedEditors={ editors => {
    console.log( editors );
  }}
>
  <CKEditor
    editor={ ClassicEditor }
    data="<h2>Editor</h2>"
    contextItemMetadata={{
      name: 'editor1',
      user: { id: '2' }
    }}
  />

  <CKEditor
    editor={ ClassicEditor }
    data="<h2>Another Editor</h2><p>... in a common Context</p>"
    contextItemMetadata={{
      name: 'editor2'
    }}
  />
</CKEditorContext>

onChangeInitializedEditors will be called twice in the example above:

  1. First log: { editor1: ... }
  2. Second log: { editor1: ..., editor2: ... }

⚠️ Order of initialization is not guaranteed. editor2 might be initialized before editor1.

Features

  • Add an onChangeInitializedEditors callback to CKEditorContext to allow tracking of newly initialized editors within the JSX React tree. Closes #513. (commit)
  • Experimental: Added useCKEditorCloud hook for managing asynchronous loading of CKEditor from a CDN. (commit)
  • Experimental: Added withCKEditorCloud HOC to simplify CKEditor integration with CDN in React components. (commit)

Bug fixes

  • Image upload should be now possible in demos. (commit)
  • Indent button is no longer disabled in manual demos. (commit)
  • Manual demos should point to existing documentation links. (commit)

v9.0.0

07 Aug 10:28
Compare
Choose a tag to compare

We are excited to announce a new major release of the React integration.

In this release, we have introduced the following breaking changes that should make using the integration more intuitive and easier.

  • ESM-first: Besides the UMD build, the integration is now available in ESM format. In most projects, the new ESM build should be automatically prioritized by bundlers and other tools.
  • Support for React 19: We improved support for using the integration in React 19. As a result, the <CKEditorContext> component and the useMultiRootEditor hook should no longer throw errors.
  • New name of the global variable: The name of the global variable used in the UMD build changed from CKEditor to CKEDITOR_REACT.

BREAKING CHANGES

  • Change the global name used in the UMD build from CKEditor to CKEDITOR_REACT.
  • onReady in the CKEditorContext behavior has been changed after fixing race conditions in our integration introduced with the newest React versions. Presently, onReady is called after initialization of Context, and then we attach editors to it.

Bug fixes

  • Adjusted CKEditorContext format to prevent race conditions in the CKEditor component. (commit)
  • Change JSX runtime to classic so that react-jsx-runtime is not bundled. (commit)
  • Change the global name used in the UMD build from CKEditor to CKEDITOR_REACT to match the new convention. See ckeditor/ckeditor5#16736. (commit)

Other changes

  • Added support for React 19. (commit)
  • Updated yarn.lock to fix dependabot alert. (commit)

v9.0.0-alpha.1

17 Jul 11:24
Compare
Choose a tag to compare
v9.0.0-alpha.1 Pre-release
Pre-release

BREAKING CHANGES

  • Change the global name used in the UMD build from CKEditor to CKEDITOR_REACT.

Bug fixes

  • Change JSX runtime to classic so that react-jsx-runtime is not bundled. (commit)
  • Change the global name used in the UMD build from CKEditor to CKEDITOR_REACT to match the new convention. See ckeditor/ckeditor5#16736. (commit)

v9.0.0-alpha.0

15 Jul 08:11
Compare
Choose a tag to compare
v9.0.0-alpha.0 Pre-release
Pre-release

We are excited to announce the alpha release of the next major version of the React integration.

In this release, we have introduced the following breaking changes that should make using the integration more intuitive and easier.

  • ESM-first: Besides the UMD build, the integration is now available in ESM format. In most projects, the new ESM build should be automatically prioritized by bundlers and other tools.
  • Support for React 19: We improved support for using the integration in React 19. As a result, the <CKEditorContext> component and the useMultiRootEditor hook should no longer throw errors.

BREAKING CHANGES

Bug fixes

  • Adjusted CKEditorContext format to prevent race conditions in the CKEditor component. (commit)

Other changes

  • Added support for React 19. (commit)

v8.0.0

26 Jun 08:35
Compare
Choose a tag to compare

We are excited to announce the next major version of the React integration.

This release is intended to allow the integration to work with the latest version of new installation methods.