1.0 release notes
We’re pleased to announce Nutrient Web SDK 1.0, formerly known as PSPDFKit for Web. Alongside our rebranding, we adopted a new versioning scheme: (<major>.<minor>.<patch>)
. This release resets our version number to 1.0.0.
The legacy pspdfkit
NPM package is now deprecated. Switch to the new @nutrient-sdk/viewer
package by updating your application’s package.json
file:
npm uninstall pspdfkit npm install @nutrient-sdk/viewer
Beyond the renaming, 1.0.0 ships with numerous fixes, performance enhancements, and UI improvements. Refer to the changelog for full details.
Below, we highlight important changes you may need to address when upgrading, including several API updates and deprecations.
Breaking API changes
The PSPDFKit.ViewState#enableAlwaysScrollToZoom
property is deprecated in favor of the more flexible ViewState.zoom API
. This improves zoom behavior control and aligns with our modern API design.
Current behavior
Existing implementations using enableAlwaysScrollToZoom
will continue to work in 1.0.0 but will log warnings in the console.
Future behavior
In 2.0.0, enableAlwaysScrollToZoom
will be removed entirely. Any code referencing it must be updated to use the new zoom API.
Before:
instance.setViewState((viewState) => viewState.set("enableAlwaysScrollToZoom", true) );
After:
instance.setViewState((viewState) => viewState.set("zoom", { // Configure scroll wheel zoom behavior. wheelZoomMode: PSPDFKit.WheelZoomMode.ALWAYS // ... other zoom options. }) );
Toolbars UI migration
Annotation toolbars have undergone a significant overhaul to improve accessibility and customization capabilities, leveraging our in-house Baseline UI design system. These changes bring them in line with the updated look of other UI components, such as the sidebar and main toolbar, while also enhancing support for users’ accessibility requirements.
Text Comparison API changes
Several updates have been made to the Text Comparison API to ensure consistency with documentation and to unify data handling.
-
TextBlock.rects
renamed toTextBlock.rect
Previous behavior: TextBlock.rects
was documented, but no rects were returned.
Impact: Use TextBlock.rect
instead of TextBlock.rects
.
-
TextBlock.rect
coordinates format updated
Previous behavior: Coordinates were returned using a PDF coordinate system.
Impact: If your application relied on PDF-style coordinates, update your logic to accommodate the new x
, y
, width
, height
format.
-
Operation.originalTextBlocks
andOperation.changedTextBlocks
return arrays
Previous behavior: Only one TextBlock
object was documented to be returned.
Impact: These now return an array of TextBlock
objects. Make sure your code handles multiple items.
-
PageComparisonResult.originalPageIndex
andPageComparisonResult.changedPageIndex
are optional
Previous behavior: These properties were always present. Impact: Your code should now handle the possibility that these values may be undefined — particularly when comparing documents with differing page counts.
Signing document hashes via DWS Processor API and Document Engine
This release adds a new signing API, which enables direct hash signing with Document Engine and DWS Processor API when Web SDK operates client-side in the browser. An access token just needs to be passed to the signDocument
method. Learn more in our guides on how to sign via DWS Processor API and how to sign via Document Engine.
Attachments sidebar and preview
A new attachments sidebar has been added. It displays a list of all files embedded in a PDF, and users can preview these files directly in the viewer or download them if the file format is unsupported. Previewing files is unavailable when using Document Engine — in this case, files can only be downloaded.
For a complete list of changes, bug fixes, and performance improvements, refer to the changelog. For the previous release notes, see Web SDK 2024.7 release notes. We appreciate your feedback and contributions as we continue to enhance Nutrient Web SDK.