---
title: "1.18 release notes"
canonical_url: "https://www.nutrient.io/guides/web/release-notes/1-18/"
md_url: "https://www.nutrient.io/guides/web/release-notes/1-18.md"
last_updated: "2026-07-17T00:00:00.000Z"
description: "Lists important changes for Nutrient Web SDK 1.18"
---

Nutrient 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](https://www.nutrient.io/guides/web/changelog.md#1.18.0) 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 with `getCurrentStyle()`.

- Set paragraph alignment and line spacing via `instance.contentEditor.setLayout()`, reported through `getCurrentStyle()` and `getBlock()`.

```js

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.

- `autoResolve` accepts `"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, `autoResolve` takes precedence over a slot’s `render` and over the hide applied by the `minimal` UI preset.

- It’s supported on `annotations.deleteConfirm`, `contentEditor.exitConfirm`, `contentEditor.downloadConfirm`, and `reloadConfirm`.

```js

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](https://www.nutrient.io/guides/dotnet/changelog.md#14.4.5.1) 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 `noToggleToOff` is disabled, and a deselected radio reports the value `Off` in 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](https://www.nutrient.io/guides/web/changelog.md#1.18.0).

Minimum Document Engine version required: [1.5.6](https://www.nutrient.io/guides/document-engine/changelog.md#1.5.6)

For a complete list of changes, bug fixes, and improvements, refer to the [changelog](https://www.nutrient.io/guides/web/changelog.md#1.18.0). For previous release notes, refer to the [Web SDK 1.17 release notes](https://www.nutrient.io/guides/web/release-notes/1-17.md). We appreciate your feedback and contributions as we continue to enhance Nutrient Web SDK.
---

## Related pages

- [1 0](/guides/web/release-notes/1-0.md)
- [1 1](/guides/web/release-notes/1-1.md)
- [1 10](/guides/web/release-notes/1-10.md)
- [1 11](/guides/web/release-notes/1-11.md)
- [1 12](/guides/web/release-notes/1-12.md)
- [1 13 1](/guides/web/release-notes/1-13-1.md)
- [1 13](/guides/web/release-notes/1-13.md)
- [1 14](/guides/web/release-notes/1-14.md)
- [1 15](/guides/web/release-notes/1-15.md)
- [1 16](/guides/web/release-notes/1-16.md)
- [1 17](/guides/web/release-notes/1-17.md)
- [1 2](/guides/web/release-notes/1-2.md)
- [1 3](/guides/web/release-notes/1-3.md)
- [1 4](/guides/web/release-notes/1-4.md)
- [1 5](/guides/web/release-notes/1-5.md)
- [1 6](/guides/web/release-notes/1-6.md)
- [1 7](/guides/web/release-notes/1-7.md)
- [1 8](/guides/web/release-notes/1-8.md)
- [1 9](/guides/web/release-notes/1-9.md)
- [2017 3](/guides/web/release-notes/2017-3.md)
- [2017 6](/guides/web/release-notes/2017-6.md)
- [Update your PSPDFKit for Web to version 2017.7](/guides/web/release-notes/2017-7.md)
- [Upgrade annotations in PSPDFKit Web 2017.8](/guides/web/release-notes/2017-8.md)
- [Explore new features in PSPDFKit for Web 2017.9](/guides/web/release-notes/2017-9.md)
- [New features in the 2018.1 migration guide](/guides/web/release-notes/2018-1.md)
- [PSPDFKit for Web 2018.2 migration insights](/guides/web/release-notes/2018-2.md)
- [Discover the new features in PSPDFKit for Web 2018.3](/guides/web/release-notes/2018-3.md)
- [Explore PSPDFKit for Web 2018.4 features](/guides/web/release-notes/2018-4.md)
- [Explore new features in PSPDFKit 2018.5](/guides/web/release-notes/2018-5.md)
- [Explore PSPDFKit for Web 2018.6 enhancements](/guides/web/release-notes/2018-6.md)
- [Explore the new features in PSPDFKit 2018.7](/guides/web/release-notes/2018-7.md)
- [Key updates in PSPDFKit for Web 2019.1](/guides/web/release-notes/2019-1.md)
- [2019 2](/guides/web/release-notes/2019-2.md)
- [PSPDFKit for Web 2019.3 migration highlights](/guides/web/release-notes/2019-3.md)
- [Essential updates in PSPDFKit for Web 2019.4](/guides/web/release-notes/2019-4.md)
- [PSPDFKit for Web 2019.5 migration insights](/guides/web/release-notes/2019-5.md)
- [Key changes in PSPDFKit for Web 2020.1](/guides/web/release-notes/2020-1.md)
- [Seamless migration to PSPDFKit for Web 2020.2](/guides/web/release-notes/2020-2.md)
- [Upgrade to PSPDFKit Web 2020.3 seamlessly](/guides/web/release-notes/2020-3.md)
- [PSPDFKit Web and Server 2020.4 migration update](/guides/web/release-notes/2020-4.md)
- [Unified CRUD API enhancements for easy migration](/guides/web/release-notes/2020-5.md)
- [PSPDFKit Web 2020.6 migration insights](/guides/web/release-notes/2020-6.md)
- [Upgrade to PSPDFKit for Web 2021.1 with ease](/guides/web/release-notes/2021-1.md)
- [Seamlessly migrate to PSPDFKit for Web 2021.2](/guides/web/release-notes/2021-2.md)
- [2021 3](/guides/web/release-notes/2021-3.md)
- [PSPDFKit 2021.4 migration guide for seamless updates](/guides/web/release-notes/2021-4.md)
- [Migration guide for PSPDFKit 2021.5](/guides/web/release-notes/2021-5.md)
- [2021 6](/guides/web/release-notes/2021-6.md)
- [PSPDFKit 2022.1.1 migration changes](/guides/web/release-notes/2022-1.md)
- [Enhancements in PSPDFKit for Web 2022.2](/guides/web/release-notes/2022-2.md)
- [Explore the new features of PSPDFKit for Web 2022.3](/guides/web/release-notes/2022-3.md)
- [PSPDFKit for Web 2022.4 migration overview](/guides/web/release-notes/2022-4.md)
- [Key improvements in PSPDFKit for Web 2022.5](/guides/web/release-notes/2022-5.md)
- [Discover the key updates in PSPDFKit for Web 2023.1](/guides/web/release-notes/2023-1.md)
- [PSPDFKit 2023.2 migration and updates](/guides/web/release-notes/2023-2.md)
- [Key updates in PSPDFKit for Web 2023.3](/guides/web/release-notes/2023-3.md)
- [Explore key updates in PSPDFKit for Web 2023.4](/guides/web/release-notes/2023-4.md)
- [Key updates in PSPDFKit for Web 2023.5](/guides/web/release-notes/2023-5.md)
- [Essential Nutrient Web SDK 2024.1 migration tips](/guides/web/release-notes/2024-1.md)
- [2024 2](/guides/web/release-notes/2024-2.md)
- [2024 3](/guides/web/release-notes/2024-3.md)
- [2024 4](/guides/web/release-notes/2024-4.md)
- [2024 5](/guides/web/release-notes/2024-5.md)
- [2024 7](/guides/web/release-notes/2024-7.md)
- [2024 8](/guides/web/release-notes/2024-8.md)
- [Upgrading Nutrient Web SDK](/guides/web/release-notes/upgrading.md)

