Skip to content

Latest commit

 

History

History
469 lines (245 loc) · 28.2 KB

CHANGELOG.md

File metadata and controls

469 lines (245 loc) · 28.2 KB

Changelog

9.4.0 (2024-11-25)

Features

Bug fixes

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

9.4.0-alpha.0 (2024-11-13)

Features

Bug fixes

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

9.3.1 (2024-10-16)

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)

9.3.0 (2024-09-26)

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)

9.2.0 (2024-09-19)

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)

9.1.0 (2024-09-05)

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)

9.0.0 (2024-08-07)

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.

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)

9.0.0-alpha.1 (2024-07-17)

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)

9.0.0-alpha.0 (2024-07-15)

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)

8.0.0 (2024-06-26)

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.

8.0.0-alpha.0 (2024-06-05)

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

This release is intended to allow the integration to work with existing and new installation methods announced in this post.

Please refer to our nightly documentation build for the installation instructions.

BREAKING CHANGES

  • Add a new required contextWatchdog prop to the <CKEditorContext> component.

Features

  • Change the implementation to only depend on types from the ckeditor5 package and not runtime code to make the integration work with existing and new installation methods. (commit)

7.0.0 (2024-05-20)

Bug fixes

  • The quick re-rendering, especially in React.StrictMode, will no longer cause the editor errors. Closes #442, #469, #471, #476. (commit)

6.3.0 (2024-04-25)

Features

Bug fixes

  • The toolbar element will be rendered correctly after changing the reference (in the rerendering process). Closes #434. (commit)
  • Sources of peer dependencies of the @ckeditor/ckeditor5-react package are no longer built-in when preparing the dist/ directory. See #470. (commit)

6.2.0 (2023-11-21)

Features

  • Introduced the integration with multi-root editor by providing useMultiRootEditor hook. See the new samples to learn more. Closes #257. (commit)

Other changes

6.1.0 (2023-06-27)

Features

6.0.0 (2023-04-07)

BREAKING CHANGES

  • Due to rewriting to TypeScript, the component requires CKEditor 5 typings that are available in version 37 or higher. See ckeditor/ckeditor5#11704.
  • Upgraded the minimal versions of Node.js to 16.0.0 due to the end of LTS.

Features

Other changes

  • Updated the required version of Node.js to 16. (commit)
  • Changed the package entry point file name from ckeditor.js to index.js. The structure of the dist/ directory looks like src/. (commit)

6.0.0-alpha.0 (2023-03-29)

BREAKING CHANGES

  • Due to rewriting to TypeScript, the component requires CKEditor 5 typings that are available in version 37 or higher. See ckeditor/ckeditor5#11704.
  • Upgraded the minimal versions of Node.js to 16.0.0 due to the end of LTS.

Features

Other changes

  • Updated the required version of Node.js to 16. (commit)
  • Changed the package entry point file name from ckeditor.js to index.js. The structure of the dist/ directory looks like src/. (commit)

5.1.0 (2023-02-23)

Features

  • Added the watchdogConfig property that allows defining configuration for the Watchdog feature. Closes #360. (commit)

5.0.6 (2023-01-09)

Bug fixes

  • Fixed destroy process of a single editor instance working within Context. Closes #354. (commit)

5.0.5 (2022-12-22)

Bug fixes

  • Addes a missing postinstall script to published files. (commit)

5.0.4 (2022-12-22)

Bug fixes

  • The <CKEditor> component does not emit an error when destroying the context feature. Closes #349, #339. (commit)

5.0.3 (2022-11-23)

Bug fixes

  • Fixed the component initialization procedure to enforce cleanup completion before subsequent editor initialization. Closes #321, #338. (commit)

    Thanks to @corymharper.

5.0.2 (2022-05-26)

Other changes

5.0.1 (2022-05-18)

Bug fixes

  • Fixed component double rendering in StrictMode. Closes #294. (commit)

5.0.0 (2022-04-12)

BREAKING CHANGES

  • Due to introducing the lock mechanism for the Editor#isReadOnly property, the <CKEditor> component uses the new way of enabling the read-only mode in the editor. The component requires an instance of CKEditor 5 in version 34 or higher. See ckeditor/ckeditor5#10496.

Other changes

  • Aligned the <CKEditor> component API to use the new lock mechanism when enabling/disabling the read-only mode. (commit)

4.0.1 (2022-04-01)

Other changes

  • Bumped Karma test runner to v6.x. Closes #292. (commit)
  • Support for React 18. Closes #297. (commit)

4.0.0 (2022-02-09)

BREAKING CHANGES

  • Upgraded the minimal versions of Node.js to 14.0.0 due to the end of LTS.

Bug fixes

  • Use async/await in CKEditorContext#_destroyContext() to handle context destruction properly. Closes #283. (commit)

Other changes

3.0.3 (2021-10-05)

Internal changes only (updated dependencies, documentation, etc.).

3.0.2 (2021-03-08)

Bug fixes

  • Make sure that the watchdog instance exists before destroying itself. Closes #197. (commit)

3.0.1 (2021-02-09)

Other changes

  • Added React@^17 as allowed version in peerDependencies. (commit)

3.0.0 (2020-10-28)

BREAKING CHANGES

  • The onInit property was renamed to onReady and can be called multiple times (after the initialization and after the component is ready when an error occurred).

  • The entry point of the package has changed. The default import was removed since the package provides more than a single component now. Use

    import { CKEditor } from '@ckeditor/ckeditor5-react';

    instead of

    import CKEditor from '@ckeditor/ckeditor5-react';

Features

  • Support for the config.initialData option in the configuration object when creating the <CKEditor> component. When passing the [data] property and the initialData value in the configuration object, the later one will take precedence and a warning message will be logged on the console. (commit)

  • The <CKEditor> component contains the built-in watchdog feature. Closes #118. (commit)

  • Introduced the <CKEditorContext> component that supports the context feature. (commit)

  • Added the id property which is used to distinguish different documents. When this property changes, the component restarts the underlying editor instead of setting data on it, which allows e.g. for switching between collaboration documents and fixes a couple of issues (e.g. the onChange event no longer fires during changing the document). Closes #168, #169. (commit)

  • The onError() callback will be called with two arguments. The first one will be an error object (as it was before the release 3+). A second argument is an object that contains two properties:. (commit)

    • {String} phase: 'initialization'|'runtime' - Informs when the error has occurred (during the editor/context initialization or after the initialization).

    • {Boolean} willEditorRestart - When true, it means that the editor component will restart itself.

    • {Boolean} willContextRestart - When true, it means that the context component will restart itself.

      The willEditorRestart property will not appear when the error has occurred in the context feature. The willContextRestart property will not appear when the error has occurred in the editor.

Both components (<CKEditor> and <CKEditorContext>) will internally use the Watchdog class that restarts the editor or context when an error occurs.

2.1.0 (2020-01-16)

Features

  • Introduced support for onError callback that is being called if an error occurred during the editor's initialization. Closes #123. (becf9f7)

    Thanks to @ansorensen.

2.0.0 (2019-11-22)

Other changes

BREAKING CHANGE

  • <CKEditor> React component is now distributed in ES6 instead of ES5. See #105.

1.1.3 (2019-04-01)

Bug fixes

  • The <CKEditor> component will not update anything until it is not ready. Closes #83. (63cb97d)

1.1.2 (2019-03-26)

Bug fixes

  • The <CKEditor> component will not be updated by the React itself. The editor won't freeze if the #data property was specified as a static string. Closes #75. Closes #78. (bdb2ce3)

1.1.1 (2019-02-28)

Bug fixes

  • Fixed integration with collaboration features by changing the way how the initial data are passed to an editor instance. Previously the <ckeditor> component had been using the editor.setData() method which produces invalid results in collaboration. Now the initial data are injected directly into the container on which the editor will be created. Closes #68. (1c93b3e)

Other changes

1.1.0 (2018-11-29)

Features

  • Introduced onFocus and onBlur properties to the <CKEditor> component. Closes #49. (97d05c9)
  • Introduced the disabled property which allows switching the editor to the read-only mode. Closes #53. (6765006)

Bug fixes

  • Prevented an infinite loop when the data property is missing. Closes #39. (e16430a)

1.0.0 (2018-10-09)

Internal changes only (updated dependencies, documentation, etc.).

1.0.0-beta.1 (2018-07-26)

First developer preview. It contains a ready-to-use <CKEditor> component that allows using CKEditor 5 Builds and CKEditor 5 Framework in React applications.