Skip to content

v2.26.0

Choose a tag to compare

@chittolinag chittolinag released this 23 Oct 19:00
Immutable release. Only release title and notes can be modified.

What's New

  • format.readSelection — Read formatting across any selection to detect uniform, mixed, or unset values for each format property.
  • Inline background colors in HTML — Preserve background colors and shading on inline text through round-trip.
  • Inline HTML backgrounds — Preserve exact inline background styling independent of block-level shading.
  • Section breaks before or after paragraphs — Create section breaks at document positions instead of document-end only; the section copies final properties and applies margin overrides.
  • Suggesting mode for table operations — Track resize, merge, and split gestures as suggested changes for review and approval.
  • Document review APIs unified — Move document review into Orbit; unify native and preview review surfaces under one API.
  • Public document integration hooks — New entry points for hosts to coordinate selection, context menus, and review anchors without bypassing the Document API.
  • Typed clause numbering support — Recognize tab-separated typed clause markers; preserve numbering, relettering, and caption formatting through edits.

Fixes

  • Selection preservation through bookmarks — Keep pointer selections intact when bookmarks wrap across line breaks; zero-width markers no longer shift endpoints past paragraph ends.
  • Textbox preservation in body creation — Route textbox creation to the correct story and partition shared catalogs atomically.
  • Rowspan formatting in HTML — Preserve cell rowspan attributes and reusable fragments on round-trip.
  • Malformed HTML list rejection — Validate and reject malformed list nesting before composition.
  • Inline controls across text boundaries — Create inline controls that span proofing marks, hyperlinks, and other text boundaries.
  • Print semantics incrementality — Keep semantic block rebuilding local when typing after a section break instead of rebuilding the whole document.
  • Remote rebase receipt handling — Skip local receipts already included by a remote rebase so typing paints on first keystroke.
  • Table span preservation in collaboration — Restore clipboard span normalization and preserve newly pasted block controls.
  • Symbol spacing in collaboration — Normalize separator spacing between authored symbols across peers.
  • Format painter target-only formatting — Replace formatting on cells or selections without copying from a source.
  • BOM note recovery — Preserve note content when documents open in rooms after BOM corruption; recover persisted notes from authenticated originals.
  • Repeating item edits in collaboration — Admit repeating item edits in shared rooms while refusing unsupported tracked changes.
  • Partial tracked change decisions — Accept or reject selections inside a tracked change in collaboration rooms; route partial decisions through bounded paragraph sync.
  • Times New Roman natural line spacing — Restore glyph calibration for Times faces; pitch no longer inflates on natural spacing.
  • Deleted-row AutoFit widths in Final view — Retain AutoFit column widths for deleted rows in tracked-change Final view.
  • Endnotes and compound table borders — Render endnotes with implicit Roman format and explicit overrides; paint compound borders on table frames and continuations.
  • Deletion band alignment for mixed fonts — Align deletion backgrounds across cells with different font metrics.
  • Note and hyphen quote coordinates — Preserve note and nonbreaking-hyphen selection anchors through edits; hide move-source carriers in public geometry.
  • Typing after opaque inline carriers — Allow typing after inline controls and bookmarks without stalling.
  • Settings part creation — Create settings.xml when a package has none; support odd/even headers and footnote configuration without a pre-existing part.
  • Section break implicit final section handling — Split the implicit default section at a body paragraph before/after section breaks.
  • Whole-word replacement plans — Tokenize tracked replacements as complete words instead of splitting every punctuation mark.
  • Theme fallback for styles without theme parts — Mint styles into packages without a theme part using Office theme literals instead of theme references.
  • Comment anchors beside tracked wrappers — Place comment range markers outside tracked insertion/deletion wrappers instead of inside them.
  • Revision identity export portability — Normalize non-portable revision IDs at export; prevent ID reuse across atomic review.
  • Field deletion with locks — Honor revision and content-control locks when deleting fields by search reference.

Improvements

  • Document API boundary enforcement — Reject pull requests that add Document API bypasses; UI code now uses only the Document API.
  • TypeScript coverage expansion — Convert comment-small-screen, translate-diagnostic, use-find-replace, use-comment, superdoc-store, and normalize-interaction-config to TypeScript.
  • Object guard consolidation — Replace 26 hand-written typeof guards with one helper per package; local oxlint rule prevents new copies.
  • Dead code cleanup — Remove v1 editor paths, unused v1 modules, find-and-replace driver, and 43 other dead symbols.
  • Lint strictness — Fail on TypeScript suppressions, unused code, any warning, new @ts-ignore directives, and new JavaScript files in superdoc/src.
  • Comment ratchet enforcement — Reject pull requests adding code comments; reasoning lives in commit messages and tests.
  • Review and typing performance — Defer ancestry rebuilds, reuse XML analysis, bound review work for large documents, and consolidate bulk review fixtures.
  • Scroll and viewport prefetch — Preserve page ownership and scroll motion across editing; defer rendering distant pages.