Skip to content

Commit fb15999

Browse files
chore(sdk): 1.6.0 [skip ci]
### What's New **Math equation rendering** — Convert OMML to native MathML for accents, radicals, limits, equations arrays, matrix tables, group characters, phantoms, n-ary operators, and pre-subscripts. **Odd/even header-footer support** — Enable alternating headers and footers per page via OOXML `w:evenAndOddHeaders` with correct margin calculation across sections. **Toolbar headless API** — Query toolbar state and execute formatting commands programmatically via `state()` and `execute()` methods without visual rendering. **Document extract API** — Export all document content as `doc.extract()` with stable IDs for RAG workflows — blocks with text, comments with anchored references, tracked changes with excerpts. **Content control text range wrapping** — Wrap arbitrary text selections in content controls via `contentControls.create({ at })` without dropping to editor internals. **Independent track changes mode** — Add `modules.trackChanges.replacements: 'independent'` to treat each insertion and deletion as separate revisions matching Word's ECMA-376 model (default: paired for Google Docs behavior). **Column line separators** — Render column dividers (`w:sep`) per region on pages with multi-column sections and continuous breaks. ### Improvements **Track changes configuration** — Consolidate track changes config under `modules.trackChanges` with automatic backward compatibility for legacy `config.trackChanges` and `config.layoutEngineOptions.trackedChanges` keys. **Word-level text diffing** — Granular text change tracking for collaborative editing with accurate representation of what changed. **Math in function-wrapped limits** — Preserve italic styling on variables inside limit expressions when wrapped in function names (e.g., `lim_(n→∞)`). **Tab alignment for TOC styles** — Compute tab stops correctly on TOC1 paragraphs so leaders and page numbers align as authored. **Justified text with hanging indents** — Fix character overlap and selection drift when first-line indent combines with paragraph justification. **Collaboration WebSocket parameters** — Forward custom query parameters to y-websocket and Hocuspocus providers via `collaboration.params` field. **Toolbar font option styling** — Auto-derive `fontFamily` from label or key so minimal `{ label, key }` font definitions render in their own typeface without explicit `props.style`. **Export type safety** — Browser consumers now get `Promise<Blob>` by default from `exportDocx()`, Node headless consumers opt in with `exportDocx<Buffer>()`. **CSS isolation** — Wrap all bundled SuperDoc CSS in `@layer superdoc` cascade layer so consumer styles always win regardless of import order. ### Fixes **Footnote overflow on multi-page sections** — Fix footnote fragments rendering past page bottoms (150+ pixels into footers) when multiple footnotes compete for space with oscillating reserve vectors. **Column separator regions** — Render per-region separators on pages with continuous breaks changing column layout mid-page instead of a single full-page overlay. **Centered inline images in indented paragraphs** — Account for paragraph indents in centering math so `w:jc=center` on shapes inside indented text positions them correctly. **Table cell selection in collaboration** — Fix table cell redraw and block cache invalidation when typing inside cells in SDTs during active editing. **Image containment in cells** — Ensure images stay within table cell boundaries instead of overflowing. **evenAndOddHeaders parsing** — Parse `w:evenAndOddHeaders ST_OnOff` values correctly and use document page number (not section-relative) for even/odd selection. **Serif fallback fonts** — Apply serif fallback for serif-like fonts in font stacks. **Comment bubble replacement text** — Display replacement text correctly in comment bubbles for tracked changes. **Tracked changes sync on collab undo/redo** — Resync comment bubbles when peer undo/redo replays tracked change marks. **Collaboration export data loss** — Persist `settings.xml`, custom XML parts, and endnotes after export in collab sessions. **Math edge cases** — Handle surrogate pairs in math text (astral-plane alphanumerics), respect function-name italic suppression per ECMA-376, strip alignment markers from equation arrays, parse all ST_OnOff variants on phantom/nary/borderBox elements. **Python async transport buffer** — Raise asyncio `StreamReader` buffer to 64 MiB so responses exceeding 64 KiB don't fail with `StreamReader limit exceeded` error. **Async transport teardown** — Fix residual races in async reader cleanup and orphaned host processes on buffer overflow or connection failure.
1 parent 82e1026 commit fb15999

14 files changed

Lines changed: 19 additions & 19 deletions

File tree

packages/sdk/langs/node/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@superdoc-dev/sdk",
3-
"version": "1.5.1",
3+
"version": "1.6.0",
44
"private": false,
55
"type": "module",
66
"main": "./dist/index.cjs",

packages/sdk/langs/node/platforms/sdk-darwin-arm64/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@superdoc-dev/sdk-darwin-arm64",
3-
"version": "1.5.1",
3+
"version": "1.6.0",
44
"os": [
55
"darwin"
66
],

packages/sdk/langs/node/platforms/sdk-darwin-x64/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@superdoc-dev/sdk-darwin-x64",
3-
"version": "1.5.1",
3+
"version": "1.6.0",
44
"os": [
55
"darwin"
66
],

packages/sdk/langs/node/platforms/sdk-linux-arm64/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@superdoc-dev/sdk-linux-arm64",
3-
"version": "1.5.1",
3+
"version": "1.6.0",
44
"os": [
55
"linux"
66
],

packages/sdk/langs/node/platforms/sdk-linux-x64/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@superdoc-dev/sdk-linux-x64",
3-
"version": "1.5.1",
3+
"version": "1.6.0",
44
"os": [
55
"linux"
66
],

packages/sdk/langs/node/platforms/sdk-windows-x64/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@superdoc-dev/sdk-windows-x64",
3-
"version": "1.5.1",
3+
"version": "1.6.0",
44
"os": [
55
"win32"
66
],

packages/sdk/langs/python/platforms/superdoc-sdk-cli-darwin-arm64/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "superdoc-sdk-cli-darwin-arm64"
7-
version = "1.5.1"
7+
version = "1.6.0"
88
description = "SuperDoc CLI binary for macOS ARM64 (Apple Silicon)"
99
readme = "README.md"
1010
requires-python = ">=3.9"

packages/sdk/langs/python/platforms/superdoc-sdk-cli-darwin-x64/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "superdoc-sdk-cli-darwin-x64"
7-
version = "1.5.1"
7+
version = "1.6.0"
88
description = "SuperDoc CLI binary for macOS x64 (Intel)"
99
readme = "README.md"
1010
requires-python = ">=3.9"

packages/sdk/langs/python/platforms/superdoc-sdk-cli-linux-arm64/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "superdoc-sdk-cli-linux-arm64"
7-
version = "1.5.1"
7+
version = "1.6.0"
88
description = "SuperDoc CLI binary for Linux ARM64"
99
readme = "README.md"
1010
requires-python = ">=3.9"

packages/sdk/langs/python/platforms/superdoc-sdk-cli-linux-x64/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "superdoc-sdk-cli-linux-x64"
7-
version = "1.5.1"
7+
version = "1.6.0"
88
description = "SuperDoc CLI binary for Linux x64"
99
readme = "README.md"
1010
requires-python = ">=3.9"

0 commit comments

Comments
 (0)