Today we’re thrilled to introduce PSPDFKit for Web 2021.4! In this release, we’re adding undo and redo capabilities to the SDK, extending the customizability of our Document Editor UI, improving our TypeScript support, and so much more!
Undo and Redo Support
Our latest feature consists of full undo and redo capabilities. There are new toolbar controls available to allow users to discard and reapply their performed actions. In addition to the toolbar controls, we included support for the standard keyboard shortcuts for undo and redo as well.
You can also programmatically control the actions history via new dedicated APIs. Please check out our Undo and Redo guide to learn more about integrating undo and redo on PSPDFKit for Web.
If you’re curious about our experience when implementing this feature, we shared many technical details about our journey and choices in our Approaches to Undo and Redo blog post.
Document Editor Customization
It’s now possible to customize the UI for both the toolbar and footer of the Document Editor. You can adjust the appearance of existing items, add custom ones, or change their order.
Please check out our Customized Document Editor example for a glimpse of what’s possible. You can also read our Customizing the Document Editor Toolbar and Footer guide to learn more about how to implement these customizations.
Improved TypeScript Support
As a result, this release ships with revamped TypeScript type declarations so that you can integrate PSPDFKit into your TypeScript applications with more reliable type guarantees at compile time and improved autocomplete support for our APIs.
This release also includes numerous bug fixes and minor improvements. For a complete list of changes, see the PSPDFKit for Web 2021.4 and PSPDFKit Server 2021.4 changelogs, as well as the migration guides for PSPDFKit for Web 2021.4 and PSPDFKit Server 2021.4.
Please email us at firstname.lastname@example.org if you’re interested in PSPDFKit for Web. For a complete list of features, please visit our product page. We’d love to hear about your use case and discuss how to best implement it.