mcp-v0.15.0
What's New
Footnotes and endnotes β Double-click reference markers to navigate between notes and body text; delete from either side removes both marker and note; insert via editor.commands.insertFootnote(); caret and arrow navigation track correctly in multi-paragraph notes; font sizing respects document defaults.
Textbox selection and transforms β Click within 6px of a textbox border to select it; resize with corner handles and live feedback; drag to move with margin-offset preservation in body, headers, and footers.
Document API β image manipulation β crop, rotate, scale, flip, replace-source operations; full control over alt text, captions, z-order, wrapping, and anchor position; TIFF support added.
Document API β hyperlinks β insert, wrap, list, patch, remove operations; pasted URLs automatically convert to real DOCX link elements instead of plain text.
Document API β list operations β apply, continue, restart, remove, getState operations; level-specific control over bullets, numbering, alignment, marker fonts, and indentation.
Document API β block operations β merge preserves first paragraph properties; split and move return affected ranges and transaction IDs for transaction tracking.
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 REF or NOTEREF fields pointing at footnotes or endnotes to jump to those notes.
Mutations planning β mutations.planExecute plans and executes mutations in a single operation with per-entry transactions and defined failure semantics.
HTML extraction β New getHtml operation to read document content as HTML.
Vector shape shadows β Outer shadow effects on preset and custom shapes; shadows respect blur radius, distance, direction, and color; rendering via SVG filters with Word-compatible paint extents.
Vector shape group transforms β Shape-group transforms now support rotation and flipping; nested groups compose correctly with child-local orientation and affine transformation.
Shape-clipped images β Images masked by preset shape geometry carry shape clipping and object-fit properties; stretched fills map correctly to cover or fill modes.
Improvements
List rendering β First-line indent lists now compute marker suffix tab width from actual rendered tab stops; justified text width is correct.
Footnote performance β Warm-start reserve convergence reduces keystroke cost on 25-footnote documents from 75ms to 12ms; single 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 to eliminate redundant rebuilds.
IME composition β Defer layout rerender and track-changes rewriting during input method editing to prevent conflicts.
Font configuration β Malformed fonts.bundled configuration no longer crashes; defaults to full bundled pack with warning.
Track changes β 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 β Auto-linking now requires explicit URL intent (www., http(s)://, mailto:, tel:, sms:) to prevent plain text or relative paths from being mistakenly linked.
Paragraph spacing in shapes β Textbox paragraph spacing (before/after) renders per logical paragraph; line breaks distinguish paragraph breaks from intra-paragraph breaks.
Vector shape geometry β Arrow shapes regenerated with Word-compatible proportions; roundRect paths generated in target coordinate space; stroke width preserved on large-coordinate-scale shapes.
Anchored object positioning β Page-relative anchors now participate in text wrap; section-marker paragraphs preserve anchored objects at marker origin; header/footer anchored wrapNone media render as page-level overlays.
Z-order stacking β Page-background decorations stack by authored OOXML z-index instead of document order.
Fixes
Footnotes rendering β Terminal-page reserve bump ensures footnotes render when body fills last page.
Note caret and selection β Multi-paragraph notes now track caret and selection correctly; arrow navigation no longer skips lines; goal-column preserved across arrow presses.
Note paragraph styles β FootnoteText style now preserved on Enter, paste, and all paragraph-creation paths.
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 unexpectedly or leaves the UI in inconsistent states.
Comment behavior β Repaired regressions in comment behavior after recent refactors.
Format persistence β w:caps now persists on export via text transform.
List export β Document XML syncs before numbering pruning to preserve list definitions.
Image resize handles β Alignment with actual image position corrected.
Link popover rendering β Popovers mount outside overflow:hidden containers to prevent clipping.
Passthrough nodes β Inline passthrough nodes no longer attach content; instruction text lives in attrs.originalXml to fix MERGEFIELD export.
Security β Remediated critical and high penetration test findings.