1.14 release notes

RSS

Nutrient Web SDK 1.14 enables linearized PDF loading by default, introduces UI customization slots, and expands accessibility and keyboard support. See the changelog for full details.

Linearized PDF loading enabled by default

Starting with 1.14, linearized PDF downloading works without any extra configuration when your server supports range requests. Existing integrations no longer need to pass allowLinearizedLoading: true in NutrientViewer.load().

If you need to opt out, set allowLinearizedLoading: false. For setup details and server requirements, refer to the linearized downloads guide.

UI customization slots

This release introduces a slot-based UI customization system that gives fine-grained control over every part of the viewer interface. Components are organized by feature domain (tools, annotations, content editor, signatures, stamps, measurements, document comparison, form creator, and sidebar). Each slot supports sub-slot customization (header, body, footer) for partial replacement without overriding the entire component.

To get started quickly, use the new minimal preset to hide all UI and selectively restore only the components you need:

await NutrientViewer.load({
// ...your existing configuration
ui: { preset: "minimal" },
});

For full control, configure individual slots to replace, extend, or hide specific components. See the UI Configuration API reference for the complete list of available slots. This is a significant new system and we’re excited to get it in front of real integrations. We’d love to hear your feedback on what works, what doesn’t, and which slots you’d like to see extended in future releases.

Accessibility and keyboard support

This release adds keyboard support for creating widget annotations in form designer mode and for selecting multiple annotations via rectangular area selection. Combined with the Content Editor shortcuts for bold (Ctrl/Cmd+B) and italic (Ctrl/Cmd+I), keyboard-driven workflows continue to improve across the SDK.

Temporary storage for PDF downloads

When loading a PDF from a URL in standalone mode, Nutrient can now use the browser’s origin private file system (OPFS)(opens in a new tab) as temporary storage for the downloaded document data instead of keeping it entirely in browser memory. This reduces peak RAM usage for larger documents.

This behavior is automatic by default. Use the new tempStorage configuration option to control it. Set "memory" to keep the previous behavior, or "opfs" to prefer OPFS regardless of file size. Refer to the temporary storage guide for details.

Programmatic OCG layer creation

A new instance.createLayer() API lets you create optional content group (OCG) layers programmatically, and flattenAnnotations now accepts a targetLayerId option. Together, these enable exporting PDFs with per-user togglable annotation layers.

Rich stamp annotations

Stamp annotations now support multiline text with custom font styling and embedded images. New properties include multiline, font, fontSize, fontColor, isBold, isItalic, imageAttachmentId, imageContentType, and imagePosition for controlling image placement within the stamp text flow.

Server-backed rendering of rich stamp properties requires Document Engine 1.16.0 or later. On earlier Document Engine versions, the new properties are ignored and stamps fall back to basic rendering. Standalone mode supports rich stamps immediately.

Strict Content Security Policy support

For environments with strict Content Security Policy rules that require nonce-based style-src and script-src directives, a new nonce configuration option lets you pass a nonce value that Nutrient applies to its injected styles and scripts.

Performance and stability

  • Content Editor text block movement is noticeably faster for complex documents.
  • PDF redaction stability improves for documents with nested shared forms, reducing memory spikes and incomplete redactions.
  • Rendering performance improves for PDFs with large content streams.
  • A progressive memory leak when repeatedly loading and unloading documents is fixed.
  • Several race conditions around document loading and unloading are resolved, including a standalone deadlock when load() is called twice in quick succession.

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.13 release notes. We appreciate your feedback and contributions as we continue to enhance Nutrient Web SDK.