From 7f76d11ec15c53133d5e60c6696fd8fb974a0740 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Fri, 12 Jun 2026 16:20:50 +0000 Subject: [PATCH 1/7] chore(cli): 0.17.0 [skip ci] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Based on the commit messages, here are the release notes: ### What's New - **Textbox editing** — Edit text content inside VML and DrawingML textboxes with full interaction support; clicks map to content positions. - **Font family combobox** — Browse and select fonts directly from the toolbar. - **Font size options** — UI API exposes font size choices for custom toolbars. - **Comments API expansion** — `ui.comments.setActive()` highlights a comment without scrolling; pending-comments-update event carries `pendingSelection`. - **Viewport scroll container** — `ui.viewport.getScrollContainer()` returns the editor's resolved scroll element. - **Text range viewport geometry** — `ui.viewport.getRect()` now accepts Document API text addresses and targets. - **Sidebar viewport observation** — `ui.viewport.observe` fires when comments rail opens or closes. - **Zoom modes** — Manual and fit-width zoom with observable transitions, viewport metrics, `useSuperDocZoom` React hook, and toolbar command. - **Table of contents hover** — Hovering TOC entries highlights corresponding sections. ### Improvements - **Multi-column section balancing** — Continuous sections balance correctly with explicit per-column widths preserved throughout layout. - **Column spacing precision** — Per-column gaps drive separator positions per ECMA-376; unequal-width columns honor per-column `w:space`. - **Font substitutes** — Metric-compatible fallbacks load for Calibri, Cambria, Arial, Times New Roman, and Courier New before measurement. - **Tracked table changes** — Inline cell edits consolidate into single review items instead of separate entries. ### Fixes - Paragraphs with pageBreakBefore style no longer add blank pages when directly following explicit page breaks. - Textbox text alignment matches Word when tables are inside textboxes. - Table cell selection highlights appear over empty space; multiline selection interior lines render at full width. - Plan engine recovers from stale block identities on recompile without crashes. - Tab carets anchor to line top instead of bottom; soft-break continuation carets position alignment-aware at line start. - DOCX export preserves generated line breaks as `` elements instead of raw newlines. - Font toolbar no longer races on editor handoff; combobox selection flow handles edge cases. - Viewport geometry invalidates on sidebar toggle without px-level jitter. - Zoom state — PDF documents contribute to viewport metrics; mode-only transitions emit correctly. - TOC anchor navigation preserves bookmark start/end order. - Image alpha modifiers process correctly on import and export. - Font picker keyboard behavior consistent across selection modes. - Formatting preserved when typing text over toolbar font selections. --- apps/cli/package.json | 2 +- apps/cli/platforms/cli-darwin-arm64/package.json | 2 +- apps/cli/platforms/cli-darwin-x64/package.json | 2 +- apps/cli/platforms/cli-linux-arm64/package.json | 2 +- apps/cli/platforms/cli-linux-x64/package.json | 2 +- apps/cli/platforms/cli-windows-x64/package.json | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/cli/package.json b/apps/cli/package.json index fa5b6c5847..995be5f378 100644 --- a/apps/cli/package.json +++ b/apps/cli/package.json @@ -1,6 +1,6 @@ { "name": "@superdoc-dev/cli", - "version": "0.16.0", + "version": "0.17.0", "type": "module", "bin": { "superdoc": "./dist/index.js" diff --git a/apps/cli/platforms/cli-darwin-arm64/package.json b/apps/cli/platforms/cli-darwin-arm64/package.json index 454186b9ab..80dfc38363 100644 --- a/apps/cli/platforms/cli-darwin-arm64/package.json +++ b/apps/cli/platforms/cli-darwin-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@superdoc-dev/cli-darwin-arm64", - "version": "0.16.0", + "version": "0.17.0", "os": [ "darwin" ], diff --git a/apps/cli/platforms/cli-darwin-x64/package.json b/apps/cli/platforms/cli-darwin-x64/package.json index e73012fe24..da36337445 100644 --- a/apps/cli/platforms/cli-darwin-x64/package.json +++ b/apps/cli/platforms/cli-darwin-x64/package.json @@ -1,6 +1,6 @@ { "name": "@superdoc-dev/cli-darwin-x64", - "version": "0.16.0", + "version": "0.17.0", "os": [ "darwin" ], diff --git a/apps/cli/platforms/cli-linux-arm64/package.json b/apps/cli/platforms/cli-linux-arm64/package.json index f99a13af25..5924526d3b 100644 --- a/apps/cli/platforms/cli-linux-arm64/package.json +++ b/apps/cli/platforms/cli-linux-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@superdoc-dev/cli-linux-arm64", - "version": "0.16.0", + "version": "0.17.0", "os": [ "linux" ], diff --git a/apps/cli/platforms/cli-linux-x64/package.json b/apps/cli/platforms/cli-linux-x64/package.json index b96157e6dc..6073f0162d 100644 --- a/apps/cli/platforms/cli-linux-x64/package.json +++ b/apps/cli/platforms/cli-linux-x64/package.json @@ -1,6 +1,6 @@ { "name": "@superdoc-dev/cli-linux-x64", - "version": "0.16.0", + "version": "0.17.0", "os": [ "linux" ], diff --git a/apps/cli/platforms/cli-windows-x64/package.json b/apps/cli/platforms/cli-windows-x64/package.json index 8507e93fd4..8da2323f0e 100644 --- a/apps/cli/platforms/cli-windows-x64/package.json +++ b/apps/cli/platforms/cli-windows-x64/package.json @@ -1,6 +1,6 @@ { "name": "@superdoc-dev/cli-windows-x64", - "version": "0.16.0", + "version": "0.17.0", "os": [ "win32" ], From 9306083755b25379ecd4d902e7b999dcaad96130 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Fri, 12 Jun 2026 16:27:43 +0000 Subject: [PATCH 2/7] chore(sdk): 1.16.0 [skip ci] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### What's New - **Textbox editing** — Edit text content inside VML and DrawingML textboxes; clicks map to content positions with full interaction support. - **Font family combobox** — Browse and select fonts directly from the toolbar. - **Font size options** — UI API exposes font size choices for custom toolbars. - **Comments API: activate-only highlight** — `ui.comments.setActive()` marks a comment active without scrolling. - **Pending selection on comments event** — `pending-comments-update` event carries `pendingSelection` captured before the live selection clears. - **Scroll container getter** — `ui.viewport.getScrollContainer()` returns the editor's resolved scroll element for overlay consumers. - **Text range viewport geometry** — `ui.viewport.getRect()` accepts Document API text addresses and targets, not just entities. - **Sidebar viewport observation** — `ui.viewport.observe` fires when the comments rail opens or closes. - **Zoom modes** — Manual and fit-width zoom with observable mode transitions, viewport metrics, `useSuperDocZoom` React hook, and toolbar command. - **Table of contents hover** — Hovering TOC entries highlights corresponding sections in the document. ### Improvements - **Multi-column section balancing** — Continuous sections balance correctly with explicit per-column widths preserved throughout layout. - **Column spacing precision** — Per-column gaps drive separator positions per ECMA-376; unequal-width columns honor per-column `w:space`. - **Font substitutes** — Metric-compatible fallbacks load for Calibri, Cambria, Arial, Times New Roman, and Courier New before measurement; no reflow. - **Tracked table changes** — Inline cell edits consolidate into single review items instead of separate entries. ### Fixes - Paragraphs with `pageBreakBefore` style no longer add blank pages when directly following explicit page breaks. - Textbox text alignment now matches Word when tables are inside textboxes. - Table cell selection highlights appear over empty space; multiline selection interior lines render at full width. - Plan engine recovers from stale block identities on recompile without crashes. - Tab carets anchor to line top instead of bottom; soft-break continuation carets position alignment-aware at line start. - DOCX export preserves generated line breaks as `` elements instead of raw newlines. - Font toolbar no longer races on editor handoff; combobox selection flow handles edge cases. - Viewport geometry invalidates on sidebar toggle without px-level jitter. - Zoom state — PDF documents contribute to viewport metrics; mode-only transitions emit correctly. - TOC anchor navigation preserves bookmark start/end order. - Image alpha modifiers process correctly on import and export. - Font picker keyboard behavior consistent across selection modes. - Formatting preserved when typing text over toolbar font selections. --- packages/sdk/langs/node/package.json | 2 +- .../node/platforms/sdk-darwin-arm64/package.json | 2 +- .../langs/node/platforms/sdk-darwin-x64/package.json | 2 +- .../node/platforms/sdk-linux-arm64/package.json | 2 +- .../langs/node/platforms/sdk-linux-x64/package.json | 2 +- .../node/platforms/sdk-windows-x64/package.json | 2 +- .../superdoc-sdk-cli-darwin-arm64/pyproject.toml | 2 +- .../superdoc-sdk-cli-darwin-x64/pyproject.toml | 2 +- .../superdoc-sdk-cli-linux-arm64/pyproject.toml | 2 +- .../superdoc-sdk-cli-linux-x64/pyproject.toml | 2 +- .../superdoc-sdk-cli-windows-x64/pyproject.toml | 2 +- packages/sdk/langs/python/pyproject.toml | 12 ++++++------ packages/sdk/package.json | 2 +- packages/sdk/version.json | 2 +- 14 files changed, 19 insertions(+), 19 deletions(-) diff --git a/packages/sdk/langs/node/package.json b/packages/sdk/langs/node/package.json index 6ca098bd20..45afda8812 100644 --- a/packages/sdk/langs/node/package.json +++ b/packages/sdk/langs/node/package.json @@ -1,6 +1,6 @@ { "name": "@superdoc-dev/sdk", - "version": "1.15.0", + "version": "1.16.0", "private": false, "type": "module", "main": "./dist/index.cjs", diff --git a/packages/sdk/langs/node/platforms/sdk-darwin-arm64/package.json b/packages/sdk/langs/node/platforms/sdk-darwin-arm64/package.json index 54a61cd289..e34a2b4565 100644 --- a/packages/sdk/langs/node/platforms/sdk-darwin-arm64/package.json +++ b/packages/sdk/langs/node/platforms/sdk-darwin-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@superdoc-dev/sdk-darwin-arm64", - "version": "1.15.0", + "version": "1.16.0", "os": [ "darwin" ], diff --git a/packages/sdk/langs/node/platforms/sdk-darwin-x64/package.json b/packages/sdk/langs/node/platforms/sdk-darwin-x64/package.json index b8cf6d87f5..0330ba2d77 100644 --- a/packages/sdk/langs/node/platforms/sdk-darwin-x64/package.json +++ b/packages/sdk/langs/node/platforms/sdk-darwin-x64/package.json @@ -1,6 +1,6 @@ { "name": "@superdoc-dev/sdk-darwin-x64", - "version": "1.15.0", + "version": "1.16.0", "os": [ "darwin" ], diff --git a/packages/sdk/langs/node/platforms/sdk-linux-arm64/package.json b/packages/sdk/langs/node/platforms/sdk-linux-arm64/package.json index d4edc3e642..f08b8a4adf 100644 --- a/packages/sdk/langs/node/platforms/sdk-linux-arm64/package.json +++ b/packages/sdk/langs/node/platforms/sdk-linux-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@superdoc-dev/sdk-linux-arm64", - "version": "1.15.0", + "version": "1.16.0", "os": [ "linux" ], diff --git a/packages/sdk/langs/node/platforms/sdk-linux-x64/package.json b/packages/sdk/langs/node/platforms/sdk-linux-x64/package.json index f75e2f7f58..9814f3d95a 100644 --- a/packages/sdk/langs/node/platforms/sdk-linux-x64/package.json +++ b/packages/sdk/langs/node/platforms/sdk-linux-x64/package.json @@ -1,6 +1,6 @@ { "name": "@superdoc-dev/sdk-linux-x64", - "version": "1.15.0", + "version": "1.16.0", "os": [ "linux" ], diff --git a/packages/sdk/langs/node/platforms/sdk-windows-x64/package.json b/packages/sdk/langs/node/platforms/sdk-windows-x64/package.json index c4caf40b3f..55287528c3 100644 --- a/packages/sdk/langs/node/platforms/sdk-windows-x64/package.json +++ b/packages/sdk/langs/node/platforms/sdk-windows-x64/package.json @@ -1,6 +1,6 @@ { "name": "@superdoc-dev/sdk-windows-x64", - "version": "1.15.0", + "version": "1.16.0", "os": [ "win32" ], diff --git a/packages/sdk/langs/python/platforms/superdoc-sdk-cli-darwin-arm64/pyproject.toml b/packages/sdk/langs/python/platforms/superdoc-sdk-cli-darwin-arm64/pyproject.toml index ef28e2e688..d0fa17d630 100644 --- a/packages/sdk/langs/python/platforms/superdoc-sdk-cli-darwin-arm64/pyproject.toml +++ b/packages/sdk/langs/python/platforms/superdoc-sdk-cli-darwin-arm64/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "superdoc-sdk-cli-darwin-arm64" -version = "1.15.0" +version = "1.16.0" description = "SuperDoc CLI binary for macOS ARM64 (Apple Silicon)" readme = "README.md" requires-python = ">=3.9" diff --git a/packages/sdk/langs/python/platforms/superdoc-sdk-cli-darwin-x64/pyproject.toml b/packages/sdk/langs/python/platforms/superdoc-sdk-cli-darwin-x64/pyproject.toml index 9cdf270eec..f72b3a4b7b 100644 --- a/packages/sdk/langs/python/platforms/superdoc-sdk-cli-darwin-x64/pyproject.toml +++ b/packages/sdk/langs/python/platforms/superdoc-sdk-cli-darwin-x64/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "superdoc-sdk-cli-darwin-x64" -version = "1.15.0" +version = "1.16.0" description = "SuperDoc CLI binary for macOS x64 (Intel)" readme = "README.md" requires-python = ">=3.9" diff --git a/packages/sdk/langs/python/platforms/superdoc-sdk-cli-linux-arm64/pyproject.toml b/packages/sdk/langs/python/platforms/superdoc-sdk-cli-linux-arm64/pyproject.toml index c1f4b54499..697f980161 100644 --- a/packages/sdk/langs/python/platforms/superdoc-sdk-cli-linux-arm64/pyproject.toml +++ b/packages/sdk/langs/python/platforms/superdoc-sdk-cli-linux-arm64/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "superdoc-sdk-cli-linux-arm64" -version = "1.15.0" +version = "1.16.0" description = "SuperDoc CLI binary for Linux ARM64" readme = "README.md" requires-python = ">=3.9" diff --git a/packages/sdk/langs/python/platforms/superdoc-sdk-cli-linux-x64/pyproject.toml b/packages/sdk/langs/python/platforms/superdoc-sdk-cli-linux-x64/pyproject.toml index ae3d95a3e5..9936dc6a89 100644 --- a/packages/sdk/langs/python/platforms/superdoc-sdk-cli-linux-x64/pyproject.toml +++ b/packages/sdk/langs/python/platforms/superdoc-sdk-cli-linux-x64/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "superdoc-sdk-cli-linux-x64" -version = "1.15.0" +version = "1.16.0" description = "SuperDoc CLI binary for Linux x64" readme = "README.md" requires-python = ">=3.9" diff --git a/packages/sdk/langs/python/platforms/superdoc-sdk-cli-windows-x64/pyproject.toml b/packages/sdk/langs/python/platforms/superdoc-sdk-cli-windows-x64/pyproject.toml index 88b0e3015b..c4417fcc19 100644 --- a/packages/sdk/langs/python/platforms/superdoc-sdk-cli-windows-x64/pyproject.toml +++ b/packages/sdk/langs/python/platforms/superdoc-sdk-cli-windows-x64/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "superdoc-sdk-cli-windows-x64" -version = "1.15.0" +version = "1.16.0" description = "SuperDoc CLI binary for Windows x64" readme = "README.md" requires-python = ">=3.9" diff --git a/packages/sdk/langs/python/pyproject.toml b/packages/sdk/langs/python/pyproject.toml index e929aaf68c..c308c6c350 100644 --- a/packages/sdk/langs/python/pyproject.toml +++ b/packages/sdk/langs/python/pyproject.toml @@ -4,18 +4,18 @@ build-backend = "setuptools.build_meta" [project] name = "superdoc-sdk" -version = "1.15.0" +version = "1.16.0" description = "SuperDoc SDK (CLI-backed)" readme = "README.md" requires-python = ">=3.9" license = "AGPL-3.0" authors = [{ name = "SuperDoc" }] dependencies = [ - "superdoc-sdk-cli-darwin-arm64==1.15.0; platform_system == 'Darwin' and (platform_machine == 'arm64' or platform_machine == 'aarch64' or platform_machine == 'ARM64')", - "superdoc-sdk-cli-darwin-x64==1.15.0; platform_system == 'Darwin' and (platform_machine == 'x86_64' or platform_machine == 'AMD64' or platform_machine == 'amd64')", - "superdoc-sdk-cli-linux-x64==1.15.0; platform_system == 'Linux' and (platform_machine == 'x86_64' or platform_machine == 'AMD64' or platform_machine == 'amd64')", - "superdoc-sdk-cli-linux-arm64==1.15.0; platform_system == 'Linux' and (platform_machine == 'arm64' or platform_machine == 'aarch64' or platform_machine == 'ARM64')", - "superdoc-sdk-cli-windows-x64==1.15.0; platform_system == 'Windows' and (platform_machine == 'x86_64' or platform_machine == 'AMD64' or platform_machine == 'amd64')", + "superdoc-sdk-cli-darwin-arm64==1.16.0; platform_system == 'Darwin' and (platform_machine == 'arm64' or platform_machine == 'aarch64' or platform_machine == 'ARM64')", + "superdoc-sdk-cli-darwin-x64==1.16.0; platform_system == 'Darwin' and (platform_machine == 'x86_64' or platform_machine == 'AMD64' or platform_machine == 'amd64')", + "superdoc-sdk-cli-linux-x64==1.16.0; platform_system == 'Linux' and (platform_machine == 'x86_64' or platform_machine == 'AMD64' or platform_machine == 'amd64')", + "superdoc-sdk-cli-linux-arm64==1.16.0; platform_system == 'Linux' and (platform_machine == 'arm64' or platform_machine == 'aarch64' or platform_machine == 'ARM64')", + "superdoc-sdk-cli-windows-x64==1.16.0; platform_system == 'Windows' and (platform_machine == 'x86_64' or platform_machine == 'AMD64' or platform_machine == 'amd64')", ] [tool.setuptools] diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 6d430269be..4c4449bcc4 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@superdoc-dev/sdk-workspace", - "version": "1.15.0", + "version": "1.16.0", "private": true, "type": "module", "scripts": { diff --git a/packages/sdk/version.json b/packages/sdk/version.json index 107ebf79c4..f774c59589 100644 --- a/packages/sdk/version.json +++ b/packages/sdk/version.json @@ -1,3 +1,3 @@ { - "sdkVersion": "1.15.0" + "sdkVersion": "1.16.0" } From bc7e216a038ddc58306db5b73ffb82aaca645d92 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Fri, 12 Jun 2026 16:33:35 +0000 Subject: [PATCH 3/7] chore(mcp): 0.12.0 [skip ci] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### What's New - **Textbox editing** — Click, type, and select text directly inside VML and DrawingML textboxes; full caret and selection support. - **Font family combobox** — Browse and select fonts from the toolbar; font selection flows through custom UI. - **Font size API** — `ui.viewport` exposes available font sizes for custom toolbars and programmatic queries. - **Comments API: activate-only highlight** — `ui.comments.setActive()` marks a comment active without scrolling or moving selection. - **Pending selection on comment events** — `pending-comments-update` event carries `pendingSelection` captured before the live DOM selection clears. - **Scroll container access** — `ui.viewport.getScrollContainer()` returns the editor's resolved scroll element for overlay consumers. - **Text range viewport geometry** — `ui.viewport.getRect()` now accepts Document API text addresses and targets, not just entities. - **Sidebar viewport observation** — `ui.viewport.observe` fires when the comments rail opens or closes. - **Zoom modes** — Manual and fit-width zoom modes with observable transitions, viewport metrics, `useSuperDocZoom` React hook, and toolbar command. - **Table of contents hover** — Hovering TOC entries highlights corresponding document sections. ### Improvements - **Multi-column section balancing** — Continuous sections now balance correctly; explicit per-column widths preserved throughout layout. - **Column spacing precision** — Per-column gaps drive separator positions per ECMA-376; unequal-width columns honor per-column `w:space` values. - **Font substitutes load before measurement** — Metric-compatible fallbacks for Calibri, Cambria, Arial, Times New Roman, and Courier New load upfront; no reflow. - **Tracked table changes consolidation** — Inline cell edits fold into a single review item instead of separate entries; one decision applies to the whole table. ### Fixes - Paragraphs styled with `pageBreakBefore` no longer insert blank pages when directly following explicit page breaks. - Textbox text alignment now matches Word behavior when tables are nested inside textboxes. - Table cell selection highlights render over empty space; multiline selections show full-width interior lines. - Plan engine recovers from stale block identities on recompile without crashes. - Tab carets anchor to line top (not bottom); soft-break continuation carets position at line start with alignment-aware offset. - DOCX export preserves generated line breaks as `` elements instead of raw newlines. - Font toolbar no longer races on editor handoff; combobox selection handles edge cases correctly. - Viewport geometry invalidates on sidebar toggle without pixel-level jitter. - Zoom state — PDF documents contribute to viewport metrics; mode-only transitions emit correctly. - TOC anchor navigation preserves `bookmarkStart`/`bookmarkEnd` order. - Image alpha modifiers process correctly on import and export. - Font picker keyboard behavior consistent across selection modes. - Formatting is preserved when typing text over a toolbar font selection. --- apps/mcp/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/mcp/package.json b/apps/mcp/package.json index 197785da20..a91cf6cdd1 100644 --- a/apps/mcp/package.json +++ b/apps/mcp/package.json @@ -1,6 +1,6 @@ { "name": "@superdoc-dev/mcp", - "version": "0.11.0", + "version": "0.12.0", "type": "module", "engines": { "node": ">=20" From e80feb67474522e03edc46ad59b3ea582ec3aade Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Fri, 12 Jun 2026 16:37:07 +0000 Subject: [PATCH 4/7] chore(release): 1.40.0 [skip ci] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Now I have enough context. Let me write the release notes based on the actual changes: ### What's New - **Textbox content editing** — Click, type, and edit text inside VML and DrawingML textboxes. Selection, caret rendering, and text updates work across body, header/footer, and table cell contexts. - **Zoom modes and fit-width** — Set zoom as `manual` or `fit-width` (auto-fit to container). `ui.zoom` exposes mode, value, calculated fit-zoom, bounds, and viewport metrics; PDF documents measure at their rendered scale. - **Viewport metrics and responsive layout events** — `viewport-change` event fires on container resize with measurements (document width, available width, fit-zoom). Consume viewport metrics from `getViewportMetrics()` to implement responsive zoom without polling. - **Font family combobox** — Typeahead-enabled font picker in toolbar with per-document font options and substitution evidence (metric-safe vs. visual-only); dropdown stays in viewport. - **Comments API expansion** — `ui.comments.setActive()` highlights a comment without scrolling; `pendingSelection` on pending comment events gives consumers the captured selection to pass to comment creation APIs. - **Text range viewport targets** — `ui.viewport.getRect()` now accepts Document API text targets (addresses and segments), resolving to painted DOM rects for custom overlay and floating-UI anchoring. - **Scroll container exposure** — `ui.viewport.getScrollContainer()` returns the actual scrollable ancestor (or null for document/window scroll), letting overlay consumers attach scroll listeners to the right element. - **Sidebar geometry signals** — `ui.viewport.observe` fires when the comments rail opens/closes, invalidating cached viewport geometry. - **TOC interactions** — Hover highlighting and section-link navigation for table of contents. ### Improvements - **Column balancing at continuous breaks** — Multi-column sections now balance correctly at continuous section breaks, matching Word's layout. Explicit column widths (equal or unequal) and per-column spacing extract accurately. - **Tracked change granularity** — Inline cell changes within a whole-table tracked change consolidate into one logical change in the review API (groupTrackedChanges), mirroring the comments containment rule. - **Line break handling in mutations** — Generated newlines in text-mode mutations serialize as Word-native `` elements; read model treats lineBreak nodes as `\n` so search/query/rewrite stay consistent. - **Caret geometry for tabs and soft breaks** — Tab carets anchor to line top; soft-break continuation carets position at line start with alignment-aware offset instead of the page right edge. - **Page break suppression** — Style-driven pageBreakBefore directly after an explicit page break no longer renders a redundant blank page, matching Word's structural rule. - **Textbox table content rendering** — Tables inside textboxes render with correct alignment and text flow. - **Plan-engine block identity repair** — Runtime self-healing of duplicate block identities on compile, preventing stale cross-document references. - **Font substitution evidence** — Font reports carry per-face evidence (metric-safe, visual-only, glyph exceptions) from the docfonts registry, giving consumers the fidelity detail behind each substitution. ### Fixes - **Table cell selection collapse** — Dragging a body selection into an empty table cell no longer collapses the selection; prosemirror-tables normalization guard keeps the extended range. - **Multiline selection rendering** — Interior lines of multi-line selections now render the full width highlight instead of slivers; per-line rect computation handles absolutely-positioned `.superdoc-line` elements across browsers. - **Empty cell geometry** — Empty table cell paragraphs (no runs) resolve to their PM start instead of null, preventing frozen selections during active drags. - **Image alpha export** — Process alphaModFix for images on export, preserving transparency properties. - **Text selection in generated lineBreak contexts** — Search and offset resolution now treat lineBreak nodes as `\n`, so a match spanning text+lineBreak+text coalesces to one contiguous range. - **Font toolbar updates** — Document font toolbar rebuilds and layout re-renders on fonts-changed events; dropdown state persists through editor handoff. - **UV-deprecated legacy visual testing infrastructure** — Removed `/devtools/visual-testing`; layout validation now runs in the standard test suite. --- packages/superdoc/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/superdoc/package.json b/packages/superdoc/package.json index 5c2648d27f..3674e29d6c 100644 --- a/packages/superdoc/package.json +++ b/packages/superdoc/package.json @@ -1,7 +1,7 @@ { "name": "superdoc", "type": "module", - "version": "1.39.0", + "version": "1.40.0", "license": "AGPL-3.0", "repository": { "type": "git", From 550d4bee4f26d38dff12d71ee158dee528564870 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Fri, 12 Jun 2026 16:43:23 +0000 Subject: [PATCH 5/7] chore(react): 1.11.0 [skip ci] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### What's New - **Textbox content editing** — Click to edit text inside textboxes in body, headers, footers, and table cells with full selection and caret support. - **Zoom modes and fit-width** — Choose zoom mode (`manual` or `fit-width` for auto-fit) and read state, calculations, bounds, and viewport metrics from `ui.zoom`. - **Viewport change events** — Listen for `viewport-change` when the container resizes to receive document width, available width, and calculated fit-zoom. - **Font family combobox** — Search for fonts in the toolbar by name and see per-document options with substitution evidence. - **Comments activation API** — Highlight comments without scrolling using `ui.comments.setActive()`, and access the captured selection from pending comment events. - **Text range viewport rects** — Pass Document API text targets to `ui.viewport.getRect()` to get painted rects for overlay positioning. - **Scroll container access** — Call `ui.viewport.getScrollContainer()` to find the element that actually scrolls, or null for window scroll. - **Sidebar geometry updates** — `ui.viewport.observe` fires when the comments rail opens or closes. - **TOC interactions** — Hover highlights sections in the table of contents, and click navigates to them. ### Improvements - **Column balancing** — Multi-column sections balance at continuous section breaks, matching Word's behavior. - **Grouped tracked changes** — Inline cell changes inside a whole-table tracked change now group as one review item. - **Line break serialization** — Newlines in text mutations serialize as `` and round-trip without loss. - **Tab and soft-break carets** — Tab carets anchor to line top, and soft-break carets position at line start with alignment awareness. - **Page break suppression** — Removed blank pages when `pageBreakBefore` appears directly after an explicit page break. - **Textbox table rendering** — Tables inside textboxes render with correct alignment and text flow. - **Block identity repair** — Duplicate block identities fix automatically on compile. - **Font substitution evidence** — Font reports carry per-face evidence (metric-safe, visual-only, glyph exceptions). ### Fixes - **Empty table cell selection** — Dragging a selection into an empty cell no longer collapses. - **Multiline selection rendering** — Interior lines of multi-line selections render full-width highlights. - **Empty cell geometry** — Empty cell paragraphs resolve to a valid position for interaction. - **Image alpha on export** — Images with transparency now preserve alpha on DOCX export. - **Linebreak text selection** — Search spans and selections spanning text+linebreak+text now coalesce correctly. - **Font toolbar updates** — Toolbar rebuilds when document fonts change or editor switches. --- packages/react/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react/package.json b/packages/react/package.json index 49ec4c81cf..62aec5c54e 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@superdoc-dev/react", - "version": "1.10.0", + "version": "1.11.0", "description": "Official React wrapper for the SuperDoc document editor", "type": "module", "main": "./dist/index.cjs", From cc4402d98aa73a4faf36a7b3c78437bcb381dd72 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Fri, 12 Jun 2026 16:46:35 +0000 Subject: [PATCH 6/7] chore(vscode): 2.12.0 [skip ci] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### What's New - **Textbox content editing** — Click, type, and edit text inside VML and DrawingML textboxes. Selection, caret rendering, and text updates work across body, header/footer, and table cell contexts. - **Zoom modes and fit-width** — Set zoom as `manual` or `fit-width` (auto-fit to container). `ui.zoom` exposes mode, value, calculated fit-zoom, bounds, and viewport metrics; PDF documents measure at their rendered scale. - **Viewport metrics and responsive layout events** — `viewport-change` event fires on container resize with measurements (document width, available width, fit-zoom). Consume viewport metrics from `getViewportMetrics()` to implement responsive zoom without polling. - **Font family combobox** — Typeahead-enabled font picker in toolbar with per-document font options and substitution evidence (metric-safe vs. visual-only); dropdown stays in viewport. - **Comments API expansion** — `ui.comments.setActive()` highlights a comment without scrolling; `pendingSelection` on pending comment events gives consumers the captured selection to pass to comment creation APIs. - **Text range viewport targets** — `ui.viewport.getRect()` now accepts Document API text targets (addresses and segments), resolving to painted DOM rects for custom overlay and floating-UI anchoring. - **Scroll container exposure** — `ui.viewport.getScrollContainer()` returns the actual scrollable ancestor (or null for document/window scroll), letting overlay consumers attach scroll listeners to the right element. - **Sidebar geometry signals** — `ui.viewport.observe` fires when the comments rail opens/closes, invalidating cached viewport geometry. - **Table of contents interactions** — Hover highlighting and section-link navigation for table of contents. ### Improvements - **Column balancing at continuous breaks** — Multi-column sections now balance correctly at continuous section breaks, matching Word's layout. Explicit column widths (equal or unequal) and per-column spacing extract accurately. - **Tracked change granularity** — Inline cell changes within a whole-table tracked change consolidate into one logical change in the review API, mirroring the comments containment rule. - **Line break handling in mutations** — Generated newlines in text-mode mutations serialize as Word-native `` elements; read model treats lineBreak nodes as `\n` so search/query/rewrite stay consistent. - **Caret geometry for tabs and soft breaks** — Tab carets anchor to line top; soft-break continuation carets position at line start with alignment-aware offset instead of the page right edge. - **Page break suppression** — Style-driven pageBreakBefore directly after an explicit page break no longer renders a redundant blank page, matching Word's structural rule. - **Textbox table content rendering** — Tables inside textboxes render with correct alignment and text flow. - **Plan-engine block identity repair** — Runtime self-healing of duplicate block identities on compile, preventing stale cross-document references. - **Font substitution evidence** — Font reports carry per-face evidence (metric-safe, visual-only, glyph exceptions) from the docfonts registry, giving consumers the fidelity detail behind each substitution. ### Fixes - **Table cell selection collapse** — Dragging a body selection into an empty table cell no longer collapses the selection; prosemirror-tables normalization guard keeps the extended range. - **Multiline selection rendering** — Interior lines of multi-line selections now render the full width highlight instead of slivers; per-line rect computation handles absolutely-positioned `.superdoc-line` elements across browsers. - **Empty cell geometry** — Empty table cell paragraphs (no runs) resolve to their ProseMirror start instead of null, preventing frozen selections during active drags. - **Image alpha export** — Process alphaModFix for images on export, preserving transparency properties. - **Text selection in generated lineBreak contexts** — Search and offset resolution now treat lineBreak nodes as `\n`, so a match spanning text+lineBreak+text coalesces to one contiguous range. - **Font toolbar updates** — Document font toolbar rebuilds and layout re-renders on fonts-changed events; dropdown state persists through editor handoff. --- apps/vscode-ext/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/vscode-ext/package.json b/apps/vscode-ext/package.json index 89d5bac910..089952001a 100644 --- a/apps/vscode-ext/package.json +++ b/apps/vscode-ext/package.json @@ -2,7 +2,7 @@ "name": "superdoc-vscode-ext", "displayName": "SuperDoc - Word Document Editor", "description": "Open and edit Word documents (.docx) directly in VS Code using SuperDoc", - "version": "2.11.0", + "version": "2.12.0", "publisher": "superdoc-dev", "icon": "logo.png", "homepage": "https://superdoc.dev", From 44aceda4e82e1ed981668baee0ec5dd032d7baa7 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Fri, 12 Jun 2026 16:55:22 +0000 Subject: [PATCH 7/7] chore(esign): 2.7.2 [skip ci] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Based on my analysis of the commits and changes, here are the release notes: ### Fixes - **Page breaks** — Removed redundant blank pages when a paragraph with pageBreakBefore style follows an explicit page break. Word's rule is structural, not geometric; we now match that behavior exactly. - **Table cell selection** — Fixed selection highlight disappearing over empty space inside table cells. Also fixed multiline selection rendering and empty cell hit detection. - **Textbox rendering** — Corrected rendering and text alignment for textboxes containing tables. - **Image alpha transparency** — Process `alphaModFix` attributes correctly during import and export to preserve image transparency settings. - **Block identity repair** — Runtime self-healing for duplicate block identities on compile, preventing stale references from breaking document operations. ### What's New - **Textbox editing** — Phase 0 and 1 of textbox content editing. Render and edit VML and DrawingML textbox content. Full support for textboxes in headers, footers, and table cells with proper position preservation through import/export. ### Improvements - **Font system** — Bundle docfonts 0.15 and 0.16 with expanded census rows and legal-cleared fallback fonts for better coverage. - **Documentation** — Updated examples for custom UI APIs and clarified viewport geometry behavior. --- packages/esign/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/esign/package.json b/packages/esign/package.json index 2e402e9d2e..bd97389649 100644 --- a/packages/esign/package.json +++ b/packages/esign/package.json @@ -1,6 +1,6 @@ { "name": "@superdoc-dev/esign", - "version": "2.7.1", + "version": "2.7.2", "description": "React eSignature component for SuperDoc", "type": "module", "main": "./dist/index.js",