Skip to content

Docx Editor

v@eigenpal/[email protected] Feature

This release adds 1 notable feature for engineering teams evaluating rollout.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

docx docx-editor editor javascript msword next
+7 more
prosemirror react vite vue word word-editor wysiwyg

Summary

AI summary

Updates Patch Changes, ff6dbe8, and a2f6342 across a mixed release.

Full changelog

Patch Changes

  • 4425996: Fix apply_formatting tool schema rejection by Gemini. The marks.highlight enum no longer contains an empty string, which Gemini's GenerateContentRequest rejects. Pass "none" to clear the highlight.

  • 2442eb4: Fix footer overflowing into body content on documents with tracked-change footers (or any footer taller than the authored bottom margin). The auto-extend that pushes body content up to make room for an oversized footer was applied to the document-level fallback margins but not to per-section margins carried on section breaks. The layout engine prefers section-break margins, so the extension was getting overridden and the footer rendered on top of body text. Section-break and final-section margins now also extend.

  • ff6dbe8: Fix header/footer interactions in the inline editor: toolbar now reflects table state when the cursor is in a header/footer table cell, right-click shows the table context menu, and the horizontal/vertical rulers stay above the inline HF editor on scroll instead of being painted over. Fixes #384, #385.

  • 811bf2c: Fix layout for documents with mixed sections and complex tables. Fixes #319.

    • Documents that mix portrait and landscape sections render with each section's own page size, margins, and columns instead of forcing every page to the body default.
    • Paragraphs that follow <w:lastRenderedPageBreak/> (the marker Word writes when it lays out a doc) no longer collapse onto the previous page on first load. The marker survives save+reload at its original position.
    • A section break immediately followed by a pageBreakBefore paragraph (e.g. an "Attachment" heading after a section change) no longer leaves a blank page between the body and the heading.
    • Tables with auto-fit grids, zero-width grid columns, or sparse single-cell rows render with correct column widths instead of collapsing or stretching.
    • Tables with vertically merged columns (vMerge) or explicit gridSpan no longer have continuation cells incorrectly expanded to span the full row.
    • A section override of only marginRight or marginBottom is now honored; unset sides inherit from the prior section instead of resetting to the OOXML 1440 default.
    • Paragraph spacing inside table cells is applied during measurement and rendering.
    • An oversized paragraph or image (taller than the page content area, possibly after a continuous section break to a smaller page size) is placed with overflow instead of hanging the paginator.
  • a2f6342: Trim verbose comments and dead test scaffolding left over from #334.

  • e32ebed: Fix list numbering when multiple <w:num> elements share one <w:abstractNum>. Per ECMA-376 §17.9.18 they share counter state and a <w:lvlOverride>/<w:startOverride> only resets the shared counter the first time its numId appears. Counter state is now keyed by abstractNumId; first-encounter resets are honored. Also fixes a related justification bug where list-level indents written with <w:ind w:start="0"/> were ignored, causing a 720-twip fallback indent to be applied and table-cell text to render 48px short of the cell width.

  • 7a2665c: Fix font reset on save when a paragraph style explicitly sets <w:rFonts ascii="Arial"> while document defaults supply a paired asciiTheme="minorHAnsi". The OOXML render layer treats the theme attribute as overriding the explicit name, so a stale asciiTheme from docDefaults was silently turning Arial headings into Calibri. The font merge now treats explicit/theme attribute pairs as a unit per ECMA-376 §17.3.2.27. Fixes #387.

  • f42ad91: Fix paragraph default font family resolution when a paragraph's pPr/rPr sets only one slot of <w:rFonts> (e.g. w:eastAsia="Calibri"). Previously the entire fontFamily object was replaced on merge, wiping out other slots inherited from the basedOn chain (e.g. w:ascii="Arial Narrow"). Per ECMA-376 §17.3.2.27, each ascii/hAnsi/eastAsia/cs slot — and its theme pair — must merge independently. Identical paragraphs now resolve to the same default font family and render at the same height.

  • e89e859: Translate the floating page indicator (the "current of total" widget that appears next to the scrollbar while scrolling a multi-page document). It was rendering the literal string " of " regardless of the active locale. Fixes #399. New viewer.pageIndicator translation key ("{current} of {total}") routes through the same i18n prop as the rest of the UI. Also fills in the four remaining null keys in he.json (toolbar.open, toolbar.openShortcut, toolbar.save, toolbar.saveShortcut) so all six shipped locales (de, en, he, pl, pt-BR, zh-CN) are at 100% coverage.

  • 5454bb2: Fix paragraph wrappers double-counting spaceBefore/spaceAfter in the renderer. The paginator already positions fragment.y with the gap baked in, but the renderer was also applying it as wrapper padding. Wrapper height is set to line-height only, so the padding pushed text below the wrapper bottom and the next paragraph's background covered the bottom half of the heading text. Symptom on real-world docs: top half of Dev setup heading missing — covered by the lavender background of the code block immediately following.

  • 1259fa0: Unify header/footer rendering with the body pipeline. Header tables now render in the normal paginated view (previously they were silently dropped on the paginated render path while showing in edit mode), and headers/footers gain full block-kind support — paragraphs, tables, images, text boxes, and PAGE/NUMPAGES fields — by routing through the same headerFooterToProseDoc → toFlowBlocks → measureBlocks → renderFragment chain the body uses. Fixes #356, #357, #358.

  • f6703d0: Add Simplified Chinese (zh-CN) translation.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track Docx Editor

Get notified when new releases ship.

Sign up free

About Docx Editor

All releases →

Related context

Earlier breaking changes

Beta — feedback welcome: [email protected]