1.18 release notes
RSSNutrient Web SDK 1.18 adds a programmatic content editor API, an auto-resolve option for confirmation dialog slots, and snapping for measurement creation. It also improves loading, printing, and rendering performance, updates GdPicture and Immutable.js, simplifies the SDK’s TypeScript import surface, and ships a broad round of comments, forms, and stability fixes. See the changelog for full details.
Advanced content editor APIs
This release adds a programmatic content editor API so you can drive editing from your own code instead of only through the UI.
- Create and delete blocks, enter create-mode, set the selection programmatically, and insert text.
- Apply list formatting, and introspect undo availability and fonts.
- Set text styles, including native strikethrough, via
instance.contentEditor.setTextStyle({ strikethrough }), and read the active style withgetCurrentStyle(). - Set paragraph alignment and line spacing via
instance.contentEditor.setLayout(), reported throughgetCurrentStyle()andgetBlock().
const instance = await NutrientViewer.load({ /* ...your existing configuration. */});
// Apply strikethrough to the current selection.instance.contentEditor.setTextStyle({ strikethrough: true });
// Set paragraph alignment and line spacing.instance.contentEditor.setLayout({ alignment: "center", lineSpacing: 1.5 });Auto-resolve for confirmation dialogs
Confirmation dialog slots now accept an additive autoResolve option that skips the prompt and answers it programmatically.
autoResolveaccepts"accept"or"reject", which name the answer to the dialog rather than a button label, so"reject"is uniformly safe and never discards or deletes work.- When set,
autoResolvetakes precedence over a slot’srenderand over the hide applied by theminimalUI preset. - It’s supported on
annotations.deleteConfirm,contentEditor.exitConfirm,contentEditor.downloadConfirm, andreloadConfirm.
NutrientViewer.load({ // ...your existing configuration. ui: { contentEditor: { // Download and continue without showing the prompt. downloadConfirm: { autoResolve: "accept" }, }, annotations: { // Keep the annotation instead of deleting it, with no prompt shown. deleteConfirm: { autoResolve: "reject" }, }, },});Per slot, "accept"/"reject" resolve to:
| Slot | "accept" | "reject" |
|---|---|---|
annotations.deleteConfirm | delete the annotation | keep it |
contentEditor.exitConfirm | save & exit | keep editing (do not discard) |
contentEditor.downloadConfirm | download & continue | dismiss without downloading |
reloadConfirm | reload the document | keep the current document |
Snapping for measurement creation
Creating measurements is now more precise. Measurement tools snap while you draw, a snap indicator shows where the point will land, and you can hold a modifier key to temporarily bypass snapping when you need a freehand placement.
Performance improvements
This release reduces latency across loading, printing, and document operations.
- DOM printing against Document Engine now renders all pages in a single batched request instead of one request per page.
- Initial document loading is faster because configuration requests are parallelized during
load(). - Text extraction, content tree retrieval, and rendering operations have lower latency.
Simpler TypeScript imports
The SDK’s type declarations now use export default instead of export =, so importing the SDK no longer requires enabling the allowSyntheticDefaultImports or esModuleInterop compiler flags. A missing type definition for officeConversionSettings in the NutrientViewer.load() configuration object has also been added.
Other additions
- GdPicture is updated to 14.4.5.1. Refer to the GdPicture changelog for details.
- Immutable.js is updated to version 5.
Form field changes
- The multi-select option is removed from combo box form fields, and vertical alignment controls are removed from list box widgets in Form Creator.
- List box widgets now use their configured explicit font size.
- In Standalone mode, radio buttons are deselectable when
noToggleToOffis disabled, and a deselected radio reports the valueOffin both Standalone and Document Engine.
Comments, rendering, and stability
- Fixes a range of comment editing issues, including drafts and edits losing intentional whitespace or saving empty content, content being lost when switching surfaces or deleting comments, edits closing when a reply is saved in the same thread, and typed or pasted URLs (including bare
www.links) not becoming clickable. - Fixes several text annotation issues, including a font-size jump when entering edit mode after resizing, reimported rich-text (XFDF/Instant JSON) annotations not auto-fitting, cancel behavior discarding programmatic updates, and pending formatting being lost when editing empty text.
- Fixes scrolling getting trapped on the current page in Safari while selecting a text block in the content editor or editing a text or callout annotation, and built-in dialogs being unresponsive on compact mobile viewports inside a shadow DOM.
- Fixes content editor font issues, including CJK text disappearing or rendering as tofu after a font-family change, incorrect glyphs for embedded subset fonts, and matching for CID Identity-H subset fonts.
- Fixes forms and export handling, including form field values not being committed before export and save, copy-and-paste of a field throwing a duplicate-name error, text form field widget styles being lost or restored incorrectly across export and reload, and checkbox, radio, and push button widget appearances and font sizes not being preserved.
- Fixes rendering issues, including rotated pages remaining blurry after zooming with next-generation page rendering, CMYK PDFs with Multiply-blended transparency groups rendering washed out, and partially erased ink annotations rendering a stale appearance stream.
- Fixes server-backed sync losing image and signature annotations when a concurrent change coincided with an attachment re-upload, and unhandled rejections when rapidly switching standalone documents.
- Fixes next-generation rendering issues after Content Editor use, including tiles failing to decode in Server mode and pages staying blurry after saves, and fixes invalid text selection fonts for documents with unusually large glyph advances.
For a full list of fixes, refer to the changelog.
Minimum Document Engine version required: 1.5.6
For a complete list of changes, bug fixes, and improvements, refer to the changelog. For previous release notes, refer to the Web SDK 1.17 release notes. We appreciate your feedback and contributions as we continue to enhance Nutrient Web SDK.