Skip to content

Commit 8aa68db

Browse files
chore(release): 1.27.0 [skip ci]
### What's New **CDN Bundle Distribution** - Distribute IIFE bundle as `superdoc.min.js` with `window.SuperDoc` global (replaces UMD format) - Bundle size reduced 44%: 8.8 MB unminified → 4.9 MB minified (1.46 MB gzipped) - Named exports attach as static properties on SuperDoc constructor (Quill pattern) - Yjs and Hocuspocus inlined in IIFE; pdfjs-dist stays external for ESM-only use **Math Equation Converters** - Implement OMML-to-MathML converters for radical/sqrt, group character, phantom, n-ary operators, equation arrays, accents, pre-subscripts, and limit operators - Word mathematical expressions now render as web-standard MathML - Support all ST_OnOff value variants and spec-compliant defaults per ECMA-376 §22.1.2 **Document API Enhancements** - `doc.extract()` returns all document content with stable IDs for RAG workflows — blocks with text, comments with anchored references, tracked changes with excerpts - `contentControls.create()` now accepts `at` field to wrap arbitrary text ranges without dropping to editor internals - Every extracted ID works with `scrollToElement()` for citation navigation **Toolbar State and Execute** - Unified toolbar API with `state()` and `execute()` methods for headless toolbar - Toolbar automatically synchronizes with document-mode changes ### Improvements **Text Layout and Selection** - Fix overlapping text in justified paragraphs with first-line/hanging indents; availableWidth now calculated consistently across resolver, painter, selection, and hit-testing - Fix centered and right-aligned inline images (wpg groups) in indented paragraphs — centering math now accounts for paragraph indents - Fix hit-testing for multi-block table cells spanning pages with block-local first-line computation - Fix list marker width adjustments to use consistent measured text width signal **CSS Isolation** - Wrap all bundled SuperDoc CSS in `@layer superdoc` cascade layer for consistent override behavior - Consumer CSS (unlayered) always wins over SuperDoc styles regardless of import order **Track Changes** - Add word-level diffing for granular text change representation during editing - Add `pairReplacements` config option (default: true) to group insertion+deletion as single paired change **Editing Experience** - Fix table cell redraw when typing inside table in SDT - Improve table cell block cache invalidation alignment with renderer versioning - Fix redline bubbles to resync on collaboration undo/redo **Type Safety** - Narrow `exportDocx()` default return type — browser consumers get `Promise<Blob>`, Node headless consumers opt in with `exportDocx<Buffer>()` - Define `ContextMenuItem`, `ContextMenuSection`, `ContextMenuConfig` types for context menu API - Allow context menu `menuProvider` callback to return null/undefined ### Fixes **Collaboration** - Fix documents opened in collaboration becoming corrupted after export - Fix `settings.xml` and custom XML parts not persisting after export on collab sessions - Sync tracked change comments on peer undo/redo replay **Document Rendering** - Fix endnotes handling in round-trip exports - Fix watermark layout and imported comment metadata handling - Fix comment bubble text replacement display in tracked changes - Fix selection rectangles rendering in headers/footers **Test Coverage** - Add unit tests for cdn-entry namespace attachment with Function intrinsic collision handling - Extend package coverage to 90%+ with new tests for PDF adapter, comments, AI writer, composables, and Whiteboard canvas interactions - Add Codecov integration for automated coverage reporting
1 parent 34ffb33 commit 8aa68db

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

packages/superdoc/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "superdoc",
33
"type": "module",
4-
"version": "1.26.0",
4+
"version": "1.27.0",
55
"license": "AGPL-3.0",
66
"repository": {
77
"type": "git",

0 commit comments

Comments
 (0)