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.
Content sanitizer Security
An allowlist filter on input, output and the live document. It closed three real holes: an <iframe srcdoc> that survived into saved HTML and executed downstream; a paste path that cleaned up 70 ms after the payload had already run; and content arriving from a collaborator, which a CRDT writes straight into the document without passing through paste or setHTMLCode — letting any participant run script in every other participant’s browser. Unknown elements are unwrapped rather than deleted, so nobody’s words are silently lost. You can run these checks yourself.
Keyboard and state accessibility Accessibility
An audit of the running editor found four open issues, three at WCAG Level A: a keyboard trap — focus could enter the editing area and never leave — plus missing aria-pressed on every toggle button, missing aria-expanded on every menu button, and 53 toolbar tab stops. Escape now leaves the editing area (Tab keeps its editing meaning), and each toolbar has a single roving tab stop. Our accessibility statement had described all of this before it was true; it now describes what the code does.
PDF export with real text and accessibility tags New
The PDF is written directly: the text is selectable and searchable, and it carries a full structure tree (headings, paragraphs, lists, tables with header scope, figures, decoration marked as artifacts) so it stands up to a Section 508 / EN 301 549 review rather than only a copy-paste test. The raster path remains for when pixel fidelity matters more.
.docx export in the browser New
A genuine OOXML package assembled client-side — no library, no server, no upload. It emits exactly what the importer reads, so HTML → .docx → HTML round-trips. Import gained text boxes, endnotes, equations (OMML ↔ LaTeX), SmartArt and WMF placeholders; nothing is dropped silently.
Long-document authoring New
Page view (pagination), legal numbering (1, 1.1, 1.1.1), footnotes with automatic renumbering, cross-references that survive editing around them, a self-updating table of contents, margin line numbers, document outline and minimap, and watermarks. CKEditor and Tiptap sell pagination as a paid add-on; contents and footnotes are premium in both majors.
Right-to-left text and chrome New
Direction commands, toolbar items and language strings for Arabic, Hebrew, Persian and Urdu — which the editor previously had no way to express at all — plus a mirrored toolbar, dropdowns, menus and dialogs, so an RTL user is not typing right-to-left inside a left-to-right frame.
Editing and productivity New
Format painter, change case, autocorrect and typography, permanent pen, block drag handles, table sorting and row numbering, merge fields, a link checker that needs no vendor service, formatting marks, character limits, readability statistics, and Word-style restricted editing. Several of these are gated behind paid plans elsewhere.