9.4.0 (2024-11-25)
- Align integration to work with the future self-service plan. Read more in the CKEditor 5 repository. (commit)
- Call
onChangeInitializedEditors
on startup ofCKEditorContext
if there are ready editors. (commit)
9.4.0-alpha.0 (2024-11-13)
- Align integration to work with the future self-service plan. Read more in the CKEditor 5 repository. (commit)
- Call
onChangeInitializedEditors
on startup ofCKEditorContext
if there are ready editors. (commit)
9.3.1 (2024-10-16)
- Behavior of
useCKEditorCloud
hook is now consistent withVite
andNext
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)
- Experimental: Better error messages in
useCKEditorCloud
. It now detects existing editor installations and gives migration info from NPM to CDN. (commit)
- Remove
ckeditor5-premium-features
frompeerDependencies
. (commit)
9.2.0 (2024-09-19)
- Experimental: Improve result type of
useCKEditorCloud
to makeCKEditorPremiumFeatures
andCKBox
non-nullable when proper configuration is passed. (commit)
- Experimental: Rename the
languages
configuration property totranslations
inuseCKEditorCloud
. (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:
- First log:
{ editor1: ... }
- Second log:
{ editor1: ..., editor2: ... }
editor2
might be initialized before editor1
.
- 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)
- 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 theuseMultiRootEditor
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
toCKEDITOR_REACT
.
- Change the global name used in the UMD build from
CKEditor
toCKEDITOR_REACT
.
- Adjusted
CKEditorContext
format to prevent race conditions in theCKEditor
component. (commit) - Change JSX runtime to
classic
so thatreact-jsx-runtime
is not bundled. (commit) - Change the global name used in the UMD build from
CKEditor
toCKEDITOR_REACT
to match the new convention. See ckeditor/ckeditor5#16736. (commit)
9.0.0-alpha.1 (2024-07-17)
- Change the global name used in the UMD build from
CKEditor
toCKEDITOR_REACT
.
- Change JSX runtime to
classic
so thatreact-jsx-runtime
is not bundled. (commit) - Change the global name used in the UMD build from
CKEditor
toCKEDITOR_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 theuseMultiRootEditor
hook should no longer throw errors.
- Migrate to ESM. See ckeditor/ckeditor5#16616.
- Adjusted
CKEditorContext
format to prevent race conditions in theCKEditor
component. (commit)
- 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.
- Add a new required
contextWatchdog
prop to the<CKEditorContext>
component.
- 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)
- 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)
- Introduced the
disableTwoWayDataBinding
flag which disabled the two-way binding between the multi-editor and React state. Please read a new guide explainig theuseMultiRootEditor()
hook. Closes #457. (commit)
- 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 thedist/
directory. See #470. (commit)
6.2.0 (2023-11-21)
- Introduced the integration with multi-root editor by providing
useMultiRootEditor
hook. See the new samples to learn more. Closes #257. (commit)
- Updated the required version of Node.js to 18 when developing the repository. See ckeditor/ckeditor5#14924. (commit)
6.1.0 (2023-06-27)
- Added the
disableWatchdog
property to the<CKEditor>
component that allows disabling integration with the watchdog feature. Closes ckeditor/ckeditor5-react#373. (commit)
6.0.0 (2023-04-07)
- 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.
- Migrate package to TypeScript. Closes ckeditor/ckeditor5#13542. (commit)
- Updated the required version of Node.js to 16. (commit)
- Changed the package entry point file name from
ckeditor.js
toindex.js
. The structure of thedist/
directory looks likesrc/
. (commit)
6.0.0-alpha.0 (2023-03-29)
- 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.
- Migrate package to TypeScript. Closes ckeditor/ckeditor5#13542. (commit)
- Updated the required version of Node.js to 16. (commit)
- Changed the package entry point file name from
ckeditor.js
toindex.js
. The structure of thedist/
directory looks likesrc/
. (commit)
5.1.0 (2023-02-23)
- Added the
watchdogConfig
property that allows defining configuration for the Watchdog feature. Closes #360. (commit)
5.0.6 (2023-01-09)
5.0.5 (2022-12-22)
- Addes a missing postinstall script to published files. (commit)
5.0.4 (2022-12-22)
- The
<CKEditor>
component does not emit an error when destroying the context feature. Closes #349, #339. (commit)
5.0.3 (2022-11-23)
-
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)
- Upgraded the
@ckeditor/ckeditor5-watchdog
package to the latest version. (commit)
5.0.1 (2022-05-18)
5.0.0 (2022-04-12)
- 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.
- 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)
4.0.0 (2022-02-09)
- Upgraded the minimal versions of Node.js to
14.0.0
due to the end of LTS.
- Use
async/await
inCKEditorContext#_destroyContext()
to handle context destruction properly. Closes #283. (commit)
- Updated the required version of Node.js to 14. See ckeditor/ckeditor5#10972. (commit)
3.0.3 (2021-10-05)
Internal changes only (updated dependencies, documentation, etc.).
3.0.2 (2021-03-08)
3.0.1 (2021-02-09)
- Added
React@^17
as allowed version inpeerDependencies
. (commit)
3.0.0 (2020-10-28)
-
The
onInit
property was renamed toonReady
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';
-
Support for the
config.initialData
option in the configuration object when creating the<CKEditor>
component. When passing the[data]
property and theinitialData
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. theonChange
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
- Whentrue
, it means that the editor component will restart itself. -
{Boolean} willContextRestart
- Whentrue
, it means that the context component will restart itself.The
willEditorRestart
property will not appear when the error has occurred in the context feature. ThewillContextRestart
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)
-
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)
<CKEditor>
React component will be distributed in ES6 instead of ES5. Closes #105. (ec34041)- Removed the BrowserStack integration from this repository. See ckeditor/ckeditor5#1742. (2379fbf)
<CKEditor>
React component is now distributed in ES6 instead of ES5. See #105.
1.1.3 (2019-04-01)
1.1.2 (2019-03-26)
- The
<CKEditor>
component will not be updated by theReact
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)
- 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 theeditor.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)
- Added minimal versions of Node and npm. See: ckeditor/ckeditor5#1507. (7b1777c)
1.1.0 (2018-11-29)
- Introduced
onFocus
andonBlur
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)
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.