> For the complete documentation index, see [llms.txt](https://docs.apryse.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.apryse.com/web/changelogs/version-11/v11-4/v11-4-0.md).

# Version 11.4.0 Changelog (2025-04-09)

World's #1 PDF SDK Library for Web, Mobile, Server, Desktop

## Apryse Spreadsheet Editor

* Introduced the first version of the Apryse Spreadsheet Editor in 11.4.0.

The Apryse Spreadsheet Editor allows users to access and view spreadsheet files with a similar look and feel to Excel directly within your application. With Spreadsheet Editor, integration is easy with any JavaScript framework, as it only requires a DOM element to host the component. Learn more about the Spreadsheet Editor [here](/web/spreadsheet-editor/spreadsheet-editor.md)

## Action Required

* \*\*Salesforce PDF Worker Loading Change \*\*PDF worker files are now split into smaller chunks for Salesforce compatibility. Action required: use the new `setPDFWorkerChunkPaths` API to configure chunk paths in config file. This only applies to Salesforce deployment. See the [worker path setup guide](https://github.com/iKettles/apryse-gitbook/tree/main/salesforce/guides/salesforce-faq.md#how-do-i-setup-worker-paths-in-the-configjs) for details.

## WebViewer Core

### New

**Office**

* Added support for loading multiple office files concurrently.

**Office Editor**

* Added header/footer feature
* Deprecated \`Core.Document.OfficeEditorEditMode\`. Use Core.Document.OfficeEditor.EditMode instead.
* Deprecated \`Core.Document.OfficeEditorListStylePresets\`. Use Core.Document.OfficeEditor.ListStylePresets instead.
* Deprecated \`Core.Document.OfficeEditorToggleableStyles\`. Use Core.Document.OfficeEditor.ToggleableStyles instead.

### Fixes

**General**

* Fixed an issue where annotations could be imported and mispositioned when using WebViewer Server.

**Annotations**

* Fixed an issue where placed signature had inconsistent size with their preview in the signature list panel.
* Fixed an issue with FreeText annotations where underlines and strikethroughs were incorrectly applied to empty lines.
* Fixed an issue where FreeText annotations downloaded from WebViewer had incorrect line breaks.
* Fixed an issue where low opacity Polygon annotations caused performance degradation.

**Embedded JS**

* Fixed an issue where the embedded JS environment was causing CSP issues even when disabled.

**Form Field**

* Fixed an issue where two signatures created in the same place would both appear after deleting one and signing another.
* Fixed an issue where a widget containing an appearance disappeared after being set to read-only.

**Content Edit**

* Fixed an issue where content edit mode crashed in a two-document environment when selecting content.
* Fixed an issue where the text editing panel's style and color section remained enabled when selecting image content.
* Fixed an issue where the content box could not be typed in after creating a new paragraph and scrolling to another page.

**Office Editor**

* Fixed an issue with the cursor blinking when the document was not focused.
* Fixed an issue with triple clicking on text to select a paragraph.
* Fixed an issue where the click count did not reset properly between different double-click actions.
* Fixed an issue where clicking outside the document would move the cursor to the top of the first page.
* Fixed an issue with setting text style when the cursor was at the end of the paragraph.

**Snap Mode**

* Fixed an issue where the Snap Mode checkbox in the Style Panel did not update when the Snap Mode API changed.

**Signature**

* Fixed an issue where placed signatures had inconsistent sizes compared to their previews.

## WebViewer UI

### New

**Modular UI**

* Added a new \`defaultLanguage\` option to change the UI language without flashing English first.

**Office Editor**

* Added header/footer feature
  * Added control bar to display information and give options.
  * Added Options Modal.
    * Able to set first page layout per section
    * Able set odd/even layout for document
    * Able to set header/footer margins per section
* Added disabled state for undo and redo buttons.

### Fixes

**Security**

* Fixed an issue related to a potential security vulnerability in QuillJS.

**Measurement**

* Fixed an issue where snap icons did not disappear after switching tools.

**Accessibility**

* Fixed an issue where users could not exit the comment input field in the Notes Panel using the keyboard.
* Fixed an issue where an aria-labelledby in the DocumentContainer pointed to a non-existent ID when in single document viewing mode.

**Outline Panel**

* Fixed an issue with the OutlinesPanel when viewing files with many outlines.

**Modular UI**

* Fixed MultiPageManipulationControls API to be compatible with the Modular UI.
* Fixed an issue where flyout items did not update after an import while in a shrunken screen.
* Fixed an issue where skip link menu buttons were missing the correct roles.

**Notes**

* Fixed an issue where users could not select text or click links in the Notes Panel.

**Office Editor**

* Fixed an issue where the keyboard stopped working after downloading a document.

**Annotation**

* Fixed an issue where the stroke slider and input for Free Text annotations could not completely remove the stroke.

**MultiViewer Mode**

* Fixed an issue where entering MultiViewerMode with the Notes panel open would cause the app to become unresponsive.

**Signature**

* Fixed an issue where digitally signed documents displayed incorrect text due to an invalid signature digest.

**Form Builder**

* Fixed an issue where widgets could be filtered out when in view mode.

**Search**

* Fixed an issue where searching for a single character did not return results.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.apryse.com/web/changelogs/version-11/v11-4/v11-4-0.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
