v1.42.0
What's New
Footnotes and endnotes β full editor integration β Double-click a reference marker to navigate to the note; delete from either side removes both marker and note; staged Backspace selects then removes; insert via editor.commands.insertFootnote(); caret and arrow navigation now track correctly in multi-paragraph notes; Font sizing respects document defaults.
Textbox selection, resize, and move β Click within 6px of a textbox border to select it (ProseMirror NodeSelection); resize via corner handles with live feedback; drag to move with margin-offset preservation; works in body, headers, and footers.
Document API β image manipulation β images.crop, images.rotate, images.scale, images.flip, images.replace-source; full control over alt text, captions, z-order, wrapping, and anchor; TIFF support added.
Document API β hyperlinks β hyperlinks.insert, hyperlinks.wrap, hyperlinks.list, hyperlinks.patch, hyperlinks.remove; pasted URLs automatically convert to real DOCX link elements.
Document API β list operations β lists.apply, lists.continue, lists.restart, lists.remove, lists.getState; level-specific formatting; control bullets, numbering, alignment, marker fonts, and indentation.
Document API β block operations (v2 sessions) β blocks.merge preserves first paragraph properties; blocks.split; blocks.move; returns affected ranges and transaction IDs.
Document API β paragraph numbering β format.paragraph.setNumbering attaches numbering to paragraphs; blocks.list surfaces list state; format.paragraph.setMarkRunProps controls marker appearance.
Search in tracked deletions β Find & Replace now searches text within deleted tracked changes, not just insertions.
Cross-reference navigation β Double-click a REF or NOTEREF field pointing at a footnote/endnote to navigate to that note.
Mutations planning β mutations.planExecute plans and executes mutations in a single operation with per-entry transactions and failure semantics.
HTML extraction β New getHtml operation to read document content as HTML.
V2 package and runtime β Unified v2 editor runtime with improved performance; v1 compatibility wiring for backward compatibility.
Improvements
List rendering fidelity β First-line indent lists now compute marker suffix tab width from actual rendered tab stops instead of stale targets; justified text width is now correct.
Footnote performance β Warm-start reserve convergence reduces keystroke cost on 25-footnote documents from 75ms to 12ms; ONE pagination per keystroke instead of nine.
Editor performance β Block-node metadata transactions no longer trigger full-document numbering diffs; saves ~16ms per keystroke on 776-paragraph documents.
Toolbar refresh β Coalesce headless toolbar snapshots per microtask; eliminates redundant rebuilds on transaction + selectionUpdate bursts.
IME composition β Defer layout rerender and track-changes rewriting during input method editing to prevent conflicts.
Font configuration robustness β Malformed fonts.bundled configuration no longer crashes; defaults to full bundled pack with warning.
Track changes β deletion handling β Cross-paragraph deletes no longer split paragraphs in suggesting mode; position mapping no longer crashes; accept/reject now reports which decision was taken.
URL paste intent detection β Auto-linking now requires explicit URL intent (www., http(s)://, mailto:, tel:, sms:) to prevent plain text or relative paths from being mistakenly linked.
Passthrough nodes β Inline passthrough nodes no longer attach content; instruction text lives in attrs.originalXml to fix MERGEFIELD export.
Fixes
Footnotes rendering β Terminal-page reserve bump now ensures footnotes render when body fills last page (was silently dropping 0 of 6).
Note caret and selection β Multi-paragraph notes now track caret and selection correctly; arrow navigation no longer skips lines; goal-column preserved across presses; resolves against stale painted ranges via block identity.
Note paragraph styles β FootnoteText style now preserved on Enter, paste, and every paragraph-creation path; appendTransaction guard stamps missing styles after async mutations.
Header/footer activation β Double-click resolves note references only in body fragments; header/footer with behindDoc textboxes no longer break.
Tracked-change review navigation β Navigation no longer jumps and leaves the UI in inconsistent states.
Comment behavior regressions β Repaired regression in comment behavior after recent refactors.
Format persistence β w:caps now persists on export via text transform.
List export β Sync document XML before numbering pruning to preserve list definitions on export.
Image resize handles β Alignment with actual image position corrected.
Link popover rendering β Mount external popovers outside overflow:hidden containers to prevent clipping.
Orphan references β Removed orphan function calls that left the codebase in an inconsistent state.
Security findings β Remediated critical and high penetration test findings.