NEWCKEditor AI is here!
Sign up (with export icon)

Technology upgrades policy

Contribute to this guideShow the table of contents

This document describes how CKEditor 5 handles upgrades of its core technologies. The goal is to provide a stable, predictable upgrade path for everyone who builds with CKEditor 5 or contributes to it.

It covers the following technical areas:

  • JavaScript and CSS (browser support),
  • TypeScript,
  • Node.js,
  • Framework integrations (Vue, Angular, React).

Our primary goal

Copy link

Adopt the established best practices of each technology’s community, instead of inventing our own rules. We believe that aligning with well-known standards makes the development process more transparent and easier for plugin authors and for projects that consume CKEditor 5.

Why this policy exists

Copy link

This policy will help you:

  • Understand when CKEditor 5 introduces breaking changes,
  • Prepare your plugins and applications for major upgrades,
  • Follow stable patterns instead of learning each change in isolation.

Upgrade frequency and release cadence

Copy link
  • CKEditor 5 updates its technology baselines only in major releases.
  • Minor and patch releases do not introduce breaking changes related to tooling or browser support.
  • This predictable cycle lets the developers plan ahead and avoid unexpected breakages.

What this means for plugin authors and applications

Copy link

When you upgrade to a new major version of CKEditor 5:

  • Check the updated minimum version of TypeScript,
  • If you use our tooling or forked one of our repositories, check the updated minimum version of Node,
  • Review browser support changes,
  • Update framework integrations to supported versions,
  • Follow the corresponding migration guide for detailed instructions.

Detailed rules

Copy link

Impact matrix

Copy link

The table below summarizes how technology-baseline updates affect three key groups: end-users of the editor, projects consuming CKEditor 5, and plugin authors.

Area End-users of the editor Projects consuming CKEditor 5 Plugin authors
JavaScript and CSS (Browser Support) Yes Yes Yes
TypeScript No Yes Yes
Node.js No No Yes
Framework integrations (Vue, Angular, React) No Yes No

JavaScript and CSS (Browser Support)

Copy link

Approach: Once a year, we will update the build target to align with the “Widely available” category defined by the Baseline web platform standard.

Reasoning: Driven by major browser vendors like Google and Mozilla, Baseline provides a clear definition of web features that are mature and safe to use. The “Widely available” category, which we will target, includes features stable across all major browsers for at least 30 months. This approach allows us to balance progress with stability, ensuring CKEditor 5 works for the vast majority of users while leveraging modern web platform features. Its status as a reliable standard is reinforced by growing support from developer tools like MDN, caniuse, Vite, ESLint, and Angular.

TypeScript

Copy link

Approach: We will follow the DefinitelyTyped support window. This means the minimum supported TypeScript version will be the oldest version that is less than 2 years old, updated approximately every 6 months.

Reasoning: DefinitelyTyped is the de facto standard for TypeScript’ (@types/... packages) type definitions in the entire JavaScript ecosystem. Virtually every typed project relies on it, including CKEditor 5. By mirroring their support policy, we ensure maximum compatibility and interoperability.

Node.js

Copy link

Approach: We will update the development environment to the latest Active Long-Term Support (LTS) version of Node.js approximately every 6 months. We may update more often if Node releases critical security fixes that impact development or CI environments.

Reasoning: The Node.js community recommends using either Active LTS or Maintenance LTS for production environments. We chose Active LTS because it provides high stability and security of an LTS release while giving us access to more modern features than versions in the older Maintenance LTS phase.

Framework integrations (Vue, Angular, React)

Copy link

Approach: We will support all officially supported and actively maintained versions of each integration framework. If a library does not publish a clear support window, we will base our decision on usage data, such as community adoption trends and download statistics.

Reasoning: Our goal is to ensure that CKEditor 5 integrations are compatible with the versions that most developers use without stretching our resources to maintain legacy frameworks that are no longer relevant or safe. This strikes a balance between stability and staying current with modern development practices.