Release notes · Updated September 2026 · 31 releases

What’s new in RichTextEditor

A running log of releases for the RichTextEditor JavaScript library and the @richscripts/richtexteditor npm package. Pick a release for the full detail, including the reasoning behind each change.

  1. 2.14.1Latest

    Fixes only: saved HTML no longer carries editor markup or grows on every save, smart quotes and recent colours work, and heading anchors appear. Core 2.6.8 → 2.6.9 (637,938 bytes).

    Read the 2.14.1notes →
  2. 2.14.0

    Markdown export no longer turns tag-like text into live HTML, two new options make saved output predictable, and keyboard shortcuts work under Caps Lock and on non-Latin layouts. Core 2.6.7 → 2.6.8 (627,756 bytes).

    Read the 2.14.0notes →
  3. 2.13.0

    Chrome pastes no longer lose the spaces beside formatting, cutting and pasting a heading works, and the accessibility checker grows from 12 rules to 18. Core 2.6.6 → 2.6.7 (621,442 bytes).

    Read the 2.13.0notes →
  4. 2.12.1

    Pictures pasted from Word now arrive, pasted images follow the upload and base64 settings, and the Enter-after-a-centred-image fix no longer misses. Core 2.6.5 → 2.6.6 (620,460 bytes).

    Read the 2.12.1notes →
  5. 2.12.0

    Base64 images are resized and capped instead of filling your database, a failed upload no longer leaves a full-size copy behind, uploads stop coming out centred, and Markdown import is fixed. Core 2.6.4 → 2.6.5 (617,290 bytes).

    Read the 2.12.0notes →
  6. 2.11.1

    Edits to rte-config.jsnow take effect, the colour picker works where storage is blocked, and every file shipped next to the editor is brought up to date. Core 2.6.3 → 2.6.4 (608,367 bytes).

    Read the 2.11.1notes →
  7. 2.11.0

    Uploads you can cancel and retry, images already in the content uploaded for you, file_upload_url for uploads without writing JavaScript, and config.autoSavefixed — it had never run in an earlier release. Also a size limit for uploads and a Border collapse option. Core build 2.6.3 (607,899 bytes).

    Read the 2.11.0notes →
  8. 2.10.0

    Formatted content now renders under a strict Content-Security-Policy: alignment, colour and size stay visible while editing, whether they come from loaded content, a command, a paste or undo. Pasting paragraphs no longer breaks the paragraph you paste into. The two plugins 2.9.0 missed are converted. Core build 592,031 → 594,890.

    Read the 2.10.0notes →
  9. 2.9.0

    The editor now works under a strict Content-Security-Policy. Under style-src 'self' the browser was discarding the rules of every <style>element the editor injects, so the editing surface lost its typography, gutters, table borders and cell-selection highlight, and 41 plugin UIs rendered unstyled — with nothing thrown and nothing obviously broken. Core build 589,759 → 592,031.

    Read the 2.9.0notes →
  10. 2.8.0

    Three new plugins: a state inspector devtool that checks your document against 12 structural rules, a custom node type registry that lets you declare your own content and how it converts on export, and ruby annotationsfor furigana and phonetic guides. No core change — the editor build is byte-identical to 2.7.2.

    Read the 2.8.0notes →
  11. 2.7.2

    The editor no longer needs script-src 'unsafe-eval' in your Content-Security-Policy. One line of licensing code was building a call as a string and handing it to the dynamic-code global; it is a direct call now, and a strict policy that used to break the editor works.

    Read the 2.7.2notes →
  12. 2.7.1

    Core 2.5.9: the editor had no live region at all, so screen readers heard none of its outcomes; read-only mode was invisible to assistive technology; the accessibility checker gains two rules.

    Read the 2.7.1notes →
  13. 2.7.0

    Core 2.5.8: bold, italic and strikethrough can choose their tag; indentation stops pretending to be a blockquote; a new inline-code button.

    Read the 2.7.0notes →
  14. 2.6.4

    Core 2.5.7: an undo bug that looked like data loss, IME composition handling, a paste parser fix, and the sanitizer keeping comments.

    Read the 2.6.4notes →
  15. 2.6.3

    Markdown task lists round-trip, and escaped characters import as themselves.

    Read the 2.6.3notes →
  16. 2.6.2

    Round-trip fixes found by dogfooding export then import.

    Read the 2.6.2notes →
  17. 2.6.0

    Layout tables, crash recovery, shadow-DOM support, a web component — and stylesheets that are finally minified.

    Read the 2.6.0notes →
  18. 2.5.4

    A one-line CSS fix that had reached both websites but neither the npm package nor the download zips.

    Read the 2.5.4notes →
  19. 2.5.3

    Found by checking the shipped 2.5.2 build on the live site rather than trusting the release notes.

    Read the 2.5.3notes →
  20. 2.5.2

    Two rendering fixes for Chrome’s editing-frame reseat, plus refreshed default editing typography.

    Read the 2.5.2notes →
  21. 2.5.1

    A fix release: verified accessibility repairs across the editor chrome, two long-standing dialog and review-mode bugs closed, and code blocks that survive a save/reload round trip.

    Read the 2.5.1notes →
  22. 2.5.0

    Two new plugins from a full cross-map of the complete CKEditor 5 and TinyMCE 8 feature lists, a caret that can reach anywhere, and a round of verified accessibility fixes in the core.

    Read the 2.5.0notes →
  23. 2.4.0

    Twenty-nine plugins covering long-document authoring, real document export, security and accessibility — with no changes to the editor core. Three of these entries fix things about our own product that were not true, and we have written them up rather than quietly patching them.

    Read the 2.4.0notes →
  24. npm 2.3.0

    Major editor-capability release closing the largest Notion / Google Docs / CKEditor feature gaps. Every feature is editor-native (no server required) and round-trips through getHTMLCode / getJSON. No breaking changes; each is opt-out via config.

    Read the npm 2.3.0notes →
  25. npm 2.2.3

    Editing-experience push — 88 small-to-medium UX features added in one wave. No breaking changes; everything opt-out via config.

    Read the npm 2.2.3notes →
  26. npm 2.2.0

    RichTextBox.AspNetCore: bundled plugins/crdt-engine.min.js auto-injected via the <richtextbox> tag helper.

    Read the npm 2.2.0notes →
  27. npm 2.0.6

    RichTextBox.AspNetCore: 1.0.0-preview.12

    Read the npm 2.0.6notes →
  28. npm 2.0.5

    Read the npm 2.0.5notes →
  29. npm 2.0.4

    Read the npm 2.0.4notes →
  30. npm 2.0.3

    Read the npm 2.0.3notes →
  31. npm 2.0.0&ndash;2.0.2

    Read the npm 2.0.0&ndash;2.0.2notes →

Install or upgrade

Grab the latest via npm:

npm install @richscripts/richtexteditor@latest

Need the ASP.NET Core Tag Helper wrapper? See richtextbox.com release notes.

Feedback & issues: support@richtexteditor.com