Releases
vuev2.32.0LatestOctober 21, 2026
Minor Changes
- 244fa30: Let
DocxEditorhosts supply an image decoder throughimageDecodePortin both adapters.
Patch Changes
- 4804ef6: Changing the
fontsprop now replaces the fonts without remounting the editor, so edits, selection, and undo history are kept, and the current fonts stay in use until the new ones are ready. - Updated dependencies: @docx-editor.dev/core@2.32.0, @docx-editor.dev/i18n@2.32.0
telemetryv2.32.0October 21, 2026
Patch Changes
- Updated dependencies: @docx-editor.dev/core@2.32.0, @docx-editor.dev/pro@2.32.0
reactv2.32.0October 21, 2026
Minor Changes
- 244fa30: Let
DocxEditorhosts supply an image decoder throughimageDecodePortin both adapters.
Patch Changes
- dcc2295: Keep unsupported-content placeholders visible when React renderers return empty fragments, arrays, or whitespace.
- 4804ef6: Changing the
fontsprop now replaces the fonts without remounting the editor, so edits, selection, and undo history are kept, and the current fonts stay in use until the new ones are ready. - Updated dependencies: @docx-editor.dev/core@2.32.0, @docx-editor.dev/i18n@2.32.0
prov2.32.0October 21, 2026
Minor Changes
- 81831a7: Add
createCollaborationState, which seeds a new collaboration room on the server, so no participant uploads the document or receives its own seed back. A seed document whose expanded size is over the limit now reportsbaseline-too-largeinstead ofinvalid-baseline, an aborted join now rejects withinitialization-aborted, also when the room is already present or the server still loads it, and a server refusal after a join keeps the server's reason in the failure detail. Fixes #1383 - 5442d87: Collaboration sessions add
beginUndoGroup(), so a server agent can make each operation exactly one undo step and undo exactly that operation. An undo of typing that another participant moved by splitting its paragraph now removes only that typing, also without undo groups. Fixes #1385 - 3bcca6e: In collaboration, accepting or rejecting a tracked change applies to all of that change while another participant types or deletes inside or right after it, and the editing API no longer refuses those edits with
edit.tracked-foreign-revision-unsupported. Breaking collaboration upgrade: this ships with collaboration format 1.5.2.1; see Upgrade rooms to format 1.5.2.1. Fixes #1363
Patch Changes
- dcc2295: Fix stale rewrite results, report a failed rollback when another edit moves the rewritten paragraph, and preserve collaboration undo group checks after host callbacks. Undo group refusals now say what to do in their message.
- 52ee66b: The review list no longer lists property changes that leave the formatting unchanged, lists one change for the same paragraph formatting applied to consecutive paragraphs, and joins insertions and deletions across a tracked paragraph mark whatever their dates. Fixes #1377
- Updated dependencies: @docx-editor.dev/core@2.32.0, @docx-editor.dev/react@2.32.0, @docx-editor.dev/vue@2.32.0
i18nv2.32.0October 21, 2026
fontsv2.32.0October 21, 2026
fonts-cjkv2.32.0October 21, 2026
editor-apiv2.32.0October 21, 2026
Minor Changes
- 490a4c2: Add the
@docx-editor.dev/editor-api/agententry withprepareRewrite, which reads a paragraph for a model and proposes the model's new text as the fewest tracked changes, keeping fields, equations, and locked controls whole. - 408204e: The editing API proposes paragraph splits, fields, and equations as tracked changes through
insertTextwith line feeds,insertField,Field.result, andinsertOoxmlfor one equation. A proposed or struck paragraph mark now lists inrevisions.itemsas anInsertorDeleterevision instead ofParagraphProperty.
Patch Changes
- Updated dependencies: @docx-editor.dev/core@2.32.0
docx-to-pdfv2.32.0October 21, 2026
Patch Changes
- Updated dependencies: @docx-editor.dev/core@2.32.0, @docx-editor.dev/fonts-cjk@2.32.0, @docx-editor.dev/fonts@2.32.0
docx-to-markdownv2.32.0October 21, 2026
Patch Changes
- Updated dependencies: @docx-editor.dev/core@2.32.0, @docx-editor.dev/fonts@2.32.0
corev2.32.0October 21, 2026
Minor Changes
- b16195d: Packages ship task recipes in
docs/,DocxEditorReview.Drafttakes the host's position and can render inside custom cards, and review writes such as accept, reject, and comment no longer scroll the page. Editing API tracked changes save their dates to the second like editor edits, and refusals and toolbar reasons name the API to use instead. - bad7784: Add compound UnsupportedElement renderers in React and Vue for generic unsupported OOXML content and existing drawing/equation fallbacks. Match source metadata, reserve layout dimensions, and preserve custom component state across repaints without changing saved content.
- b27446d: The editing API adds
Range.getTextRanges,Paragraph.getTextRanges,Range.expandTo, andRange.getRange, so an agent can split a paragraph into word ranges and replace, delete, or insert after a run of words.Range.getReviewedTextandParagraph.getReviewedTextread text as if every pending tracked change were accepted or rejected, andRange.contentControlsandParagraph.contentControlslist the content controls a range or paragraph overlaps. - e63b697: Add
setFonts()to replace host fonts without resetting document edits, selection, or undo history. - 9770e78: Merge and split table cells from the context menu, the table toolbar, and the automation object model through
Table.mergeCellsandTableCell.split. Column insertion, deletion, and resizing work on tables with merged cells. - fb28d79: The
insertInlineContentControloperation accepts arevisionto propose the control as a tracked insertion, andinsertCustomNodeproposes the node as a tracked insertion in suggesting mode. - 59e913c: Readers can select and copy text in viewing mode, and
snapshot().selection, theselectedTextquery, andgetSelectionPlacement()report that selection. Edits stay refused. Fixes #1455
Patch Changes
- 017aaab: Fix missing embedded pictures in cached complex field results, including nested results.
- c85001c: Fix table pagination around wrapping pictures, oversized rows, captions, repeated headers, and empty header frames.
- 6df9b17: Preserve authored paragraph spacing at later column starts in continued regions.
- b192207: An inline
contentLockedcontrol can now be removed as a whole: by deleting its paragraph or table, by a selection across paragraphs, by typing over it, or by rejecting the insertion that holds it. In suggesting mode and through tracked editing, deleting the whole control proposes its removal. Joining two paragraphs next to a locked inline control is no longer refused. Fixes #1425, fixes #1427 - e658e4b: Fix extra or missing blank pages around continuous section restarts and restarted odd-page or even-page breaks.
- 0b9a319: Text typed right before or after a locked inline control, such as a custom node, now takes the formatting of the text beside the control instead of the control's own, and the toolbar shows that formatting at the caret.
- a91ff98: Copied pictures with an extension-style content type, such as
image/.png, now carry the standard image type, so earlier editor versions also paste them. - 1b19b22: Fix documents that stay gray and reject clicks after an external file refresh.
- 8759fed: Preserve empty-paragraph line height and wrapping below full-width floating tables.
- 7fda473: Restore paragraph spacing in continued columns and empty-paragraph placement below full-width floating tables.
- 8f541b3: Pictures whose content type carries the file extension, such as
image/.jpg, now survive copy and paste, and documents that also declare a conflicting standard type still open. - 017aaab: Fix extra pages after continuous sections with multiple columns. Keep paragraphs below preceding content when they move between columns.
- 9d171a6: Correct table border spacing, floating-table wrapping, rotated inline picture dimensions, and header drawing positions and text clearance.
- 90d101e: Text formatting over a selection that includes a content-locked control is now reported as unavailable by
can()and the toolbar, andexecreturnsok: falseinstead of reporting success with no change. Fixes #1426 - 3464f5e: Long documents take input as soon as their first pages show while the rest lays out in the background, and typing, new paragraphs, and accepting or rejecting all tracked changes are faster in long documents. A cross-reference whose target appears later in the document now updates after edits made right after opening.
- 7701301: Start continuous sections below all in-flow columns on the final page of a preceding multi-page section.
- 90370ef: Honor authored footer PAGE frame positions and keep supported exact-height floating frames out of normal footer flow.
- e14f744: A custom node inserted into a paragraph that held no control now appears in the review list at once. Fixes #1428
- c85001c: Fix blank pages and header selection after section numbering restarts, and missing borders beside omitted table cells.
- 73169ac: A tracked deletion or replacement that covers an equation now proposes removing the whole equation. Before, it struck the text around the equation and left the equation in place. Fixes #1424
- 500a5f0:
@docx-editor.dev/core/editorexportsobserveUnsupportedElementsand the unsupported-element types, which the React and Vue adapters now import from there. - b6625f4: Lines now break after zero-width spaces and after a dash that starts a run, and Khmer and Myanmar stacked consonants and Myanmar spacing vowels stay together on one line.
- Updated dependencies: @docx-editor.dev/i18n@2.32.0
vuev2.31.0October 15, 2026
Minor Changes
- f2b71d4: Add
useReviewRailMetricsfor React and Vue to position custom review columns.
Patch Changes
- Updated dependencies: @docx-editor.dev/core@2.31.0, @docx-editor.dev/i18n@2.31.0
telemetryv2.31.0October 15, 2026
Patch Changes
- Updated dependencies: @docx-editor.dev/core@2.31.0, @docx-editor.dev/pro@2.31.0
reactv2.31.0October 15, 2026
Minor Changes
- f2b71d4: Add
useReviewRailMetricsfor React and Vue to position custom review columns.
Patch Changes
- Updated dependencies: @docx-editor.dev/core@2.31.0, @docx-editor.dev/i18n@2.31.0
prov2.31.0October 15, 2026
Minor Changes
- f2b71d4: Add
useReviewRailMetricsfor React and Vue to position custom review columns. - 73ae2fa: Require explicit WebRTC
signalingsettings as a security compatibility exception; configure your servers or explicitly select demo endpoints. Isolate each room's signaling connections. Fixes #1345
Patch Changes
- ec393d3: Support undo and redo shortcuts with selected pictures. Close the context menu before requesting clipboard access.
- aaebb18: A paragraph with a tracked formatting change now tints while the pointer is over it and while its review balloon is open, so you can see which paragraph the balloon describes.
- a15181f: Preserve header text, fields, and pictures when removing or replacing a watermark.
- Updated dependencies: @docx-editor.dev/core@2.31.0, @docx-editor.dev/react@2.31.0, @docx-editor.dev/vue@2.31.0
i18nv2.31.0October 15, 2026
Patch Changes
- 2c318e3: Translate the equation popover messages that explain why an equation cannot be changed with linear editing or in suggesting mode.
fontsv2.31.0October 15, 2026
fonts-cjkv2.31.0October 15, 2026
Minor Changes
- aaebb18: Add
cjkFonts()in@docx-editor.dev/fonts-cjk/browser, a font resolver that renders Chinese, Japanese, and Korean text in the editor with the packaged Noto Sans CJK JP font when a document names a font such as SimSun or MS Mincho.
editor-apiv2.31.0October 15, 2026
Minor Changes
- dbb88d0: Add
Paragraph.search(), collection property loads throughitems/<property>, and diagnostics for removed automation targets. - fc603b3: Add
runtime.preview(callback)to preview edits before committing them as one undo step or discarding them. - 9e8bf15: Add
Range.revisionsand methods to retrieve revisions and ranges by review item key. - 62d7df3: Allow supported tracked edits inside another author’s pending text and report specific refusal reasons. Collaboration rejects unsupported revision overlaps.
Patch Changes
- a15181f: Preserve undo and redo history when a preview rebase refuses changed document content.
- Updated dependencies: @docx-editor.dev/core@2.31.0
docx-to-pdfv2.31.0October 15, 2026
Patch Changes
- 02b31d7: Long documents with justified text, footnotes, tables, and SimSun text now break lines and pages more accurately. PDF export now completes long documents and uses installed Garamond and large CJK fonts.
- 784b7d7: Preserve authored vector line caps and round or bevel joins in SVG and PDF output.
- Updated dependencies: @docx-editor.dev/core@2.31.0, @docx-editor.dev/fonts-cjk@2.31.0, @docx-editor.dev/fonts@2.31.0
docx-to-markdownv2.31.0October 15, 2026
Patch Changes
- Updated dependencies: @docx-editor.dev/core@2.31.0, @docx-editor.dev/fonts@2.31.0
corev2.31.0October 15, 2026
Minor Changes
- f19be09: Add bookmarks: show, insert, delete, and go to bookmarks in the editor and the automation API.
- 61aa80e: Support picture insertion in collaborative automation runtimes and expose specific refusal reasons for scripted edits and review actions. Fixes #1348
- ffbe8cf: The Add comment control is disabled until something can open a comment draft, and the
useCommentDraftRequesthook lets your own comment UI serve it. - bc6b51a: Render text and picture watermarks in the editor and PDF export, and add a Watermark dialog.
- 2741998: Support pop-out windows and iframes while preserving edits, selection, undo history, and collaboration when the editor moves. Fixes #1312
- 02b31d7: Long documents with justified text, footnotes, tables, and SimSun text now break lines and pages more accurately. PDF export now completes long documents and uses installed Garamond and large CJK fonts.
- 173b73c: Show the applied paragraph spacing in the line-spacing menu. Expose the active language through
useTranslation().lang. - e42431e: Explain document opening failures in a customizable React and Vue dialog with stable error codes.
- bc6b51a: Show picture insertion failures in a customizable editor dialog.
- f94c8a5: The
replaceMatchcommand now replaces a found match without moving the selection or the page, and records a tracked replacement in suggesting mode. Activating a review item withreveal: falseno longer scrolls the page. - 1bf0015: Group tracked replacements into one review item and navigation stop by default. Set
pairReplacements: falseto list each change separately. - 72f2cc3: Group review decisions into one undo step. Keep note and comment removal with its related text edit during undo.
- 784b7d7: Preserve authored vector line caps and round or bevel joins in SVG and PDF output.
Patch Changes
- 23b9fcf: Comments and replies created through the editing API now record when they were written, so
creationDatereads a date and saved files keep it. - a15181f: Preserve bookmark copies outside replaced text, and remove old copies when you move a bookmark across document stories.
- a15181f: Preserve protected bookmarks when a move or deletion targets locked or bound content controls.
- 722e648: Export the
TextMatchtype from@docx-editor.dev/core/editor, next to the other editor search and highlight types. - 504a0e2: Allow equation editing with shared default control properties and preserve size, language, and complex-script italic during layout. Fixes #1335
- 504a0e2: Allow equation editing with shared default run formatting and apply run sizes during layout. Fixes #1340
- adee88a: Show merged cell text through every fixed-height row it covers and clip it at the bottom of the last row. Fixes #1305
- 8f68066: Report font shaping byte-limit refusals through the host font-error callback while retaining fallback measurement.
- 3c6a0d3: Inline pictures can change their text wrapping, and a floating wrap keeps the picture in place on the page.
- aaebb18: Open long documents faster and keep editing, review decisions, comments, and scrolling responsive in documents with thousands of pages, tracked changes, and footnotes. Pages with footnotes now paginate the same after edits as when the saved document is opened again.
- a15181f: Fix early line breaks before Latin punctuation in paragraphs with an East Asian run language.
- b5f9eff: Refuse control removal in suggesting mode. Support Ctrl+Backspace and selection deletion for selected content-locked controls.
- 29accef: Select adjacent content-locked controls before deletion, and refuse removal when the control itself is locked. Fixes #1299
- 68ee15c: Render equation structures with control properties and preserve those properties on save. Fixes #1306
- aaebb18: A font that is not available now falls back to a face of the same kind (serif, sans-serif, or monospace), and the editor draws that text with the same face it measures, including with a fixed font configuration such as
defaultFonts. - d92a3ac: Align text separately on each side of floating pictures and honor largest-side wrapping. Fixes #1351
- 05e53d3: Keep full-width punctuation pairs compressed when a full-width colon moves a line break.
- 17a2495: Compress full-width punctuation pairs only within one line and restrict hanging punctuation to justified paragraphs. Fixes #1302
- 7cd3776: Save long documents in short tasks and reuse unchanged paragraphs and table rows.
- Updated dependencies: @docx-editor.dev/i18n@2.31.0
vuev2.30.0October 14, 2026
Minor Changes
- f09b44b: Add the
fontShapingoption, which sets the largest font file that text shaping accepts, separately from font loading limits.
Patch Changes
- Updated dependencies: @docx-editor.dev/core@2.30.0, @docx-editor.dev/i18n@2.30.0
telemetryv2.30.0October 14, 2026
Patch Changes
- 5a9bc6a: Log records from
toLogRecordcarryoccurrencesandfailurescounts, andfailureCounttotals failures including deduplication summaries. Events with numbers the editor cannot produce are dropped. - b0abf51: Editors report session starts and ends, active editing time, committed edits by origin, and each
save()call, and telemetry records them as events and metrics for session counts, edit failure rates, and save success rates. - Updated dependencies: @docx-editor.dev/core@2.30.0, @docx-editor.dev/pro@2.30.0
reactv2.30.0October 14, 2026
Minor Changes
- f09b44b: Add the
fontShapingoption, which sets the largest font file that text shaping accepts, separately from font loading limits.
Patch Changes
- Updated dependencies: @docx-editor.dev/core@2.30.0, @docx-editor.dev/i18n@2.30.0
prov2.30.0October 14, 2026
Patch Changes
- Updated dependencies: @docx-editor.dev/core@2.30.0, @docx-editor.dev/react@2.30.0, @docx-editor.dev/vue@2.30.0
i18nv2.30.0October 14, 2026
Minor Changes
- 5a463b5: Add Russian (ru) translations through the
ruexport and the@docx-editor.dev/i18n/rusubpath.
fontsv2.30.0October 14, 2026
fonts-cjkv2.30.0October 14, 2026
editor-apiv2.30.0October 14, 2026
Patch Changes
- Updated dependencies: @docx-editor.dev/core@2.30.0
docx-to-pdfv2.30.0October 14, 2026
Minor Changes
- f09b44b: Add the
fontShapingoption, which sets the largest font file that text shaping accepts, separately from font loading limits.
Patch Changes
- Updated dependencies: @docx-editor.dev/core@2.30.0, @docx-editor.dev/fonts-cjk@2.30.0, @docx-editor.dev/fonts@2.30.0
docx-to-markdownv2.30.0October 14, 2026
Minor Changes
- f09b44b: Add the
fontShapingoption, which sets the largest font file that text shaping accepts, separately from font loading limits.
Patch Changes
- Updated dependencies: @docx-editor.dev/core@2.30.0, @docx-editor.dev/fonts@2.30.0
corev2.30.0October 14, 2026
Minor Changes
- 8488733: Set
contentLockPolicy.allowFormattingInLockedContentincreateDocxEditor,createServerAutomationHost, or the React and VuecontentLockPolicyprop to let users format content-locked controls while their text stays protected. - f09b44b: Add the
fontShapingoption, which sets the largest font file that text shaping accepts, separately from font loading limits. - 4d55c5b: Set
lockedControlNavigation: 'atomic'increateDocxEditor, or the React and VuelockedControlNavigationprop, to make arrow keys, Shift selection, and clicks treat a content-locked inline control as one unit. - 0c1b370: Apply both runs’ kerning thresholds and require an East Asian font as the default East Asian face for full-width punctuation compression, while honoring
w:noPunctuationKerningand preserving Latin font kerning. Keep kana advances on non-full lines and preserve authored text, formatting, and collaboration operations. - 306337a: Preserve supported equation run formatting and bars while refusing compact replacements that would discard source properties.
Patch Changes
- bf0eb44: Keep cells inside their row bounds when merged text extends a table with cell spacing.
- 78a6f6a: Keep the visible part of a text line in a fixed-height table row without changing its authored height.
- 7d53f73: Paint the selected TrueType collection face while preserving its tables, including face signature tables.
- b25afe8: Stop stale font error delivery after a listener replaces the document or destroys the editor.
- b25afe8: Discard deferred font errors after document replacement or editor destruction.
- 38ce956: Release offscreen image elements and URLs, then recreate them when you return to the page.
- d5b1fdc: Render Office Math letters with their mathematical style while preserving source text and normal-text runs.
- 926bcdc: Refuse conflicting content control deletion and insertion before changing the document.
- 926bcdc:
insertContentControlwithreturnHandle, and Office.jsrange.insertContentControl(), return a handle to their own control when one batch creates several controls. - 49fe893: Hash complete blocks directly from the caller's byte view and allocate only the 64- or 128-byte padding tail. Preserve digest encoding, native hashing, and caller bytes while avoiding a payload-sized copy in the pure SHA-256 path.
- 7d53f73: Keep complete font collections for first-face painting and preserve selected signature tables for other faces.
- 306337a: Keep equations with unknown run properties or structure children in the bounded fallback.
- b0abf51: Editors report session starts and ends, active editing time, committed edits by origin, and each
save()call, and telemetry records them as events and metrics for session counts, edit failure rates, and save success rates. - f6b64cc: Use the authored hAnsi face for curly quotes without an East Asian font hint, while preserving complex-script overrides.
- 4c9da7e: Use the authored hAnsi face for en and em dashes, ellipses, low quotes, and middle dots beside Han text without an East Asian font hint. Fixes #1301
- bf0eb44: Keep text and cached fields visible when protected vertically merged body cells continue across pages. Measure the carried cursor again after each page cut and grow the last non-exact row for the remaining text.
- Updated dependencies: @docx-editor.dev/i18n@2.30.0
vuev2.29.0October 13, 2026
Patch Changes
- Updated dependencies: @docx-editor.dev/core@2.29.0, @docx-editor.dev/i18n@2.29.0
telemetryv2.29.0October 13, 2026
Minor Changes
- e3f8337: Add
@docx-editor.dev/telemetry, which sends anonymous editor diagnostics, typing performance, and collaboration room metrics, including people and memory per room, to OpenTelemetry, Prometheus, Sentry, or your own exporter. Ready Grafana dashboards for these metrics are available on the Dashboards page.
Patch Changes
- 838394b: Contain asynchronous exporter failures without changing exporter flush and shutdown behavior.
- 838394b: Preserve extension state and hook order when collaboration telemetry wraps frozen extensions or property accessors.
- Updated dependencies: @docx-editor.dev/core@2.29.0, @docx-editor.dev/pro@2.29.0
reactv2.29.0October 13, 2026
Patch Changes
- Updated dependencies: @docx-editor.dev/core@2.29.0, @docx-editor.dev/i18n@2.29.0
prov2.29.0October 13, 2026
Patch Changes
- Updated dependencies: @docx-editor.dev/core@2.29.0, @docx-editor.dev/react@2.29.0, @docx-editor.dev/vue@2.29.0
i18nv2.29.0October 13, 2026
fontsv2.29.0October 13, 2026
fonts-cjkv2.29.0October 13, 2026
editor-apiv2.29.0October 13, 2026
Minor Changes
- e3f8337: Add
debugInfotoDocxEditorErrorin the Office.js shape, withinnerErrornaming the engine's reason as a stable diagnostic code and a fixed hint, and report refused batches as anonymous diagnostics fromcreateServermodules and fromcreateBrowserinto the borrowed editor.
Patch Changes
- Updated dependencies: @docx-editor.dev/core@2.29.0
docx-to-pdfv2.29.0October 13, 2026
Patch Changes
- 3877653: Text copied or searched in exported PDFs now lines up with the painted words after tabs, hidden text, and list markers.
- Updated dependencies: @docx-editor.dev/core@2.29.0, @docx-editor.dev/fonts-cjk@2.29.0, @docx-editor.dev/fonts@2.29.0
docx-to-markdownv2.29.0October 13, 2026
Patch Changes
- Updated dependencies: @docx-editor.dev/core@2.29.0, @docx-editor.dev/fonts@2.29.0
corev2.29.0October 13, 2026
Minor Changes
- e3f8337: Failed opens, refused edits, and skipped tracked changes now carry anonymous failure detail: the engine reason, the role of the part, the class of an unexpected exception, and the kind of tracked change. An open or a command that throws is now reported too.
- e3f8337: Report undo history and custom node payload diagnostics in the anonymous diagnostics stream, add the bucketed document shape to opened documents, and stop including font family and part names in font error messages.
- e3f8337: Report anonymous diagnostics with stable codes and fixed hints when a document fails to open, an edit or tracked change is refused, or a font fails, through
editor.on('diagnostic')and a moduleonDiagnosticlistener. Open failure messages no longer include names from inside the file. - e3f8337: Editors report an anonymous
performancediagnostic once per minute of use, with the time from a key press or click to the next frame and the engine layout and paint times, and the telemetry package records it in a newperformancearea. - b6fdbf5: With paragraph marks shown, page breaks, column breaks, and section breaks show a labeled dotted line that names the break type.
Patch Changes
- e3f8337: A collaboration status diagnostic reports a connect time only when the editor saw the room join, so a room that was ready before the editor attached no longer reports a connect time near zero.
- 75a3ce3: Text after a column break at the start of a paragraph now gets the paragraph's space before in the next column or page.
- f90ab3a: Copying a selected computed field now copies its whole result as plain text. Fixes #1245
- 838394b: Fix copied header and footer field results that repeat across pages.
- 7146830: The first paragraph of a document no longer starts below the top margin when it uses automatic space before.
- f397ea3: A table row with an exact height taller than the page now fills a page instead of failing the whole layout. Fixes #1220
- 3741111: Table rows no longer grow by an extra line when a cell hides its end mark and ends with an empty paragraph.
- 6dd82b5: Justified lines keep a word that contains a no-break space on the line when its spaces can shrink to fit.
- 6dd82b5: Justified lines that contain a tab keep their last word on the line when the spaces after the tab can shrink to fit.
- 4270ac9: Exact line spacing keeps the font baseline under
w:noExtraLineSpacingin every compatibility mode, including mode 15. Fixes #1205 - 15bcf38: Lay out documents whose nested table rows, cell pictures, balanced column sections, or chains of wrapped floating objects do not fit on one page, instead of rejecting them. Separate table rows by their cell spacing, and drop hidden empty paragraphs before tables.
- 2f60b53: A page break directly followed by a line break no longer starts a new page, and a paragraph that opens with a column break keeps that break on a full page or column. Fixes #1219. Fixes #1222
- e3f8337: Inserting a picture while a picture is selected is refused with a clear reason, the toolbar button explains it, and refused picture inserts and replacements now reach diagnostics.
- 388c278: Table rows keep a minimum height when you drag their border, so a resized row can always be dragged back. Fixes #1270
- a16db3a: Selecting text next to a tracked change or comment no longer highlights that change as active.
- a768653: Formatting a selection that includes a generated table of contents now formats the rest of the selection instead of refusing the whole change.
- c78d733: Underlines, including tracked insertion underlines, now draw as one unbroken line across spaces and descenders.
- Updated dependencies: @docx-editor.dev/i18n@2.29.0
vuev2.28.0October 12, 2026
Minor Changes
- 9535470: The navigation pane now works inside
DocxEditor.Viewport, covers the page on narrow screens, and captures the browser's find shortcut (Ctrl+F, or Cmd+F on macOS) while focus is in the editor; setfindShortcuttofalseon the pane, or in thenavigationprop, to leave the shortcut to the browser. - 9535470: Toolbar and menu popups close when focus moves elsewhere, such as to the find field, and the navigation pane stays docked beside a scrolling review column.
Toolbar.Button,Menu.Item, andContextMenu.SlottakeslotId;slotis deprecated and still works with a development warning, and onMenuItemPropsandMenuSubmenuPropsbothslotandlabelKeyare optional, becauseslotIdandlabelcan take their place. - 9535470: Add toolbar host groups, slot replacement, an Add comment control, and a table-size grid for the toolbar's table button, and make the menu bar move menus that do not fit into one "⋯" menu instead of wrapping by default (set
overflow={false}to keep wrapping). The context-menu row idreview.commentsis deprecated in favor ofreview.addComment, and the old id still works with a development warning.
Patch Changes
- 9535470: The page number indicator now stays in view when you place it inside the viewport instead of beside it.
- 9535470: Editor popups close when focus moves into a host's own modal dialog, and the Vue table toolbar keeps its menus in server-rendered apps after the selection leaves a table and returns.
- 9535470: Close toolbar dropdowns, pickers, and the More panel when you press Escape in the document, and keep Escape in your own inputs working. Fixes #1151
- Updated dependencies: @docx-editor.dev/core@2.28.0, @docx-editor.dev/i18n@2.28.0
reactv2.28.0October 12, 2026
Minor Changes
- 9535470: The navigation pane now works inside
DocxEditor.Viewport, covers the page on narrow screens, and captures the browser's find shortcut (Ctrl+F, or Cmd+F on macOS) while focus is in the editor; setfindShortcuttofalseon the pane, or in thenavigationprop, to leave the shortcut to the browser. - 9535470: Toolbar and menu popups close when focus moves elsewhere, such as to the find field, and the navigation pane stays docked beside a scrolling review column.
Toolbar.Button,Menu.Item, andContextMenu.SlottakeslotId;slotis deprecated and still works with a development warning, and onMenuItemPropsandMenuSubmenuPropsbothslotandlabelKeyare optional, becauseslotIdandlabelcan take their place. - 9535470: Add toolbar host groups, slot replacement, an Add comment control, and a table-size grid for the toolbar's table button, and make the menu bar move menus that do not fit into one "⋯" menu instead of wrapping by default (set
overflow={false}to keep wrapping). The context-menu row idreview.commentsis deprecated in favor ofreview.addComment, and the old id still works with a development warning.
Patch Changes
- 63dde82: Fix keyboard access and enabled states for composed menu actions in React and Vue.
- 9535470: The page number indicator now stays in view when you place it inside the viewport instead of beside it.
- 9535470: Close toolbar dropdowns, pickers, and the More panel when you press Escape in the document, and keep Escape in your own inputs working. Fixes #1151
- Updated dependencies: @docx-editor.dev/core@2.28.0, @docx-editor.dev/i18n@2.28.0
prov2.28.0October 12, 2026
Minor Changes
- 9535470: Add
collaborationMigrationNeedandmigrateCollaborationRoom, which move a saved room of an earlier collaboration format to the current format from its export, keep the room's document ID, and return the new room only when it matches the export. See Upgrade saved rooms. - 9535470: Add
DocxEditorCollaboration.Status, which tells users when the document is connecting, offline, waiting for changes, out of sync, or refused an edit. The collaboration hooks also reportwaiting,recovering, andfailureCount, and the Hocuspocus and WebRTC hooks reportunsyncedChangesso you can warn before a page with unsent edits closes. - 9535470: Add
compactCollaborationStateandcheckCollaborationRoomGeneration, so a Hocuspocus server keeps each room's size bounded by compacting it into a new generation when it loads the room. A replica that still holds the previous generation reportsroom-generation-changedand rejoins. - 9535470: Keep collaboration rooms working when people edit the same paragraphs at the same time, keep your caret in place while others type, and recover from a bad remote update without leaving the room. Editing continues while disconnected by default, and
offlineEditing: falsepauses it. Fixes #579 - 9535470: Text one participant deletes now stays deleted when another participant moves it or undoes a change around it at the same time.
CollaborationResourceUsagereportsformattingMarkers, so hosts can see a room's formatting history grow. - 9535470: Collaboration keeps every participant's typing and formatting when edits conflict, including typing in text another participant deletes, reformats, splits, or joins at the same time. Breaking collaboration upgrade: rooms of earlier formats must be exported and reseeded; see Upgrade rooms to format 1.4.2.1.
- 9535470: Add
prepareCollaborationServerDocumentfor servers that hold a room's document, such as Hocuspocus. Call it when the server creates or loads the document, so the server never removes formatting from text that participants type. - 9535470: Change the author, and optionally the date, of pending tracked changes without accepting or rejecting them, with
useReview().adopt(), thesetReviewChangesAuthoreditor command, orRevisionCollection.setAuthor(). Fixes #1145 - 9535470: Remove the experimental
createTextCollaborationfactory; usecreateDocumentCollaboration, which now refuses an insert longer than the shared text limit before the edit applies, instead of dropping it. - 9535470: Add tracked change balloons, comment marker styles, and horizontal review pane scrolling. Comment markers use icons by default; set
commentMarkers: 'initials'to show author initials and reply counts. - 63dde82: Keep comment icons as the default markers, move Track changes options to the Review menu, and open comments when you click their text. Preserve text selection and handled link clicks.
- 9535470: Add review pane settings,
getReviewItemsAt,getReviewItemRects,getActivatedReviewItemKey, replacement pairing, andscrollToBlockscroll options for hosts that draw their own review interface. Fix the compact review card template, reply author colors, anduseReviewAuthoroutside the review rail.
Patch Changes
- 9535470: Keep one collaboration room for each hook call, so pages with several hydrated React roots, or Vue stores that hold a room for each tenant, no longer close each other's rooms.
- 9535470: Typing in a collaboration room writes each keystroke to shared state directly, which makes typing faster in long documents. Fixes #1168
- 9535470: Collaborative documents hold less memory for each paragraph, and a room migration needs less heap.
- 63dde82: Validate current-format rooms before the migration example reports success, and document recovery after partial migrations.
- 63dde82: Preserve deprecated public text-only collaboration constants and the session type for existing imports.
- 9535470: With
revisionsIn: 'balloons', comments that reply to tracked changes no longer open an empty review pane, and the newreviewPaneListsItemexport tells a custom review pane which items to list. PDF export marks text in tracked table rows inside text boxes. - 63dde82: Refuse incompatible or damaged saved rooms in the server review example.
- Updated dependencies: @docx-editor.dev/core@2.28.0, @docx-editor.dev/react@2.28.0, @docx-editor.dev/vue@2.28.0
i18nv2.28.0October 12, 2026
fontsv2.28.0October 12, 2026
fonts-cjkv2.28.0October 12, 2026