> 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-7/v11-7-0.md).

# Version 11.7.0 Changelog (2025-08-20)

View the changelog for our 11.7.0 release of the Apryse WebViewer SDK.

## WebViewer Core

### New

**Spreadsheet Editor**

* SpreadsheetEditorManager
  * Added a new `SpreadsheetEditorManager.Events.SHEET_CHANGED` event that fires when sheet visibility, count, or active state changes, providing `getVisibleSheets()` and `getActiveSheetIndex()` methods for comprehensive sheet state tracking.

**DOCX Editor**

* Added `TrackedChange.getPagePositions` API to tracked changes.

**AnnotationManager**

* Added `updateAnnotationId` API for updating an Annotation's ID value.

**Document**

* Events
  * `Document.Events.PAGE_TEXT_LOADED` event fires when the text information is ready on the page for the first time.
* APIs
  * `Document.getPageTextDirection` API to get the text direction for a specific page.
  * `Document.setPageTextDirection` API to sets the text direction for a specific page.

**General**

Added `Core.resetToLeanAPI` API to reset PDFNet to Lean default state.

### Fixes

**Spreadsheet Editor**

* Fixed an issue where resizing columns/rows in view mode would cause images to disappear.
* Fixed an issue where opening a new file and then opening/closing the developer console would not resize the spreadsheet canvas.
* Fixed an issue to validate sheet name correctly to avoid duplication.

**DOCX Editor**

* Fixed an issue where editing a document would unexpectedly reset the selected search options.
* Fixed an issue with improper event listener cleanup when rapidly loading sequential documents.
* Fixed an issue in the `setSectionMargins` API where unspecified margin sides were incorrectly defaulted to `0` instead of preserving their existing values.
* Fixed an issue that caused text search to stop working after editing the document content.
* Improved indentation behavior for the TAB keypress and indent buttons.
* Fixed an issue with copying and pasting content from external editors into DOCX Editor.

**Annotations**

* Fixed an issue for Free Text annotations where toggling Scale Font Size Dynamically did not trigger an `annotationChanged` event.
* Fixed signature widget positioning and sizing issues on rotated pages, ensuring proper signature appearance and container positioning across all rotation angles.
* Fixed an issue where the Sign Here text of the signature widget overflowed the container at a small zoom percentage.
* Fixed an issue with tabs not rendering correctly for free text annotations.
* Fixed an issue that prevented annotations from being prematurely loaded when loading a linearized document.
* Fixed an issue where the widget annotation copy did not display when imported from XFDF.
* Fixed an issue where languages written with IME composition were not processed correctly in `FreeText` Annotation.
* Fixed an issue with `FreeHandHighlight` annotations having the incorrect ToolName when imported.

**Form Builder**

* Fixed an issue where moving rotated widgets around a page would cause a flickering issue.
* Fixed an issue where dragging a rotated widget across pages would set its rotation property to zero.

**PDF Editing**

* Fixed an issue when specifying absolute paths in `Core.ContentEdit.setWorkerPath` and `Core.ContentEdit.setResourcePath`.
* Fixed an issue where any license was able to use PDF Editing functionality, even if it did not have permission.
* Fixed an issue on certain documents where styling new paragraph text would not work as expected.

**Text Selection**

* Fixed an issue where selecting text from right to left would be incorrect.

**Redactions**

* Fixed an issue with redacting content in the multithreaded worker.
* Fixed an issue where the partial redaction preview hid the entire block.

**Digital Signatures**

* Fixed an issue where the lock subelement on widgets was not parsed and re-exported by WebViewer causing signature validation failures.

**Embedded JS**

* Fixed an issue with `popUpMenu` not working in embeddedJS code.

**FreeText**

* Fixed an issue with copied text changing size after downloading/flattening.

**General**

* Fixed a regression in the single threaded downloader running out of cache space.
* Fixed a partial memory leak when unmounting WebViewer as a web component.
* Fixed an issue where bookmarks with no action set did not display a color.

**Accessible Reading Order**

* Improved speed and performance of Accessible Reading Order. Deprecated `setPreProcessingLevel` and `getPreProcessingLevel` as they are no longer necessary. Also added support for structured elements like Lists and Tables.

## WebViewer UI

### New

**Spreadsheet Editor**

* Added the ability to undo/redo spreadsheet editor actions.
* Added comprehensive keyboard shortcut support for spreadsheet editor mode with 20+ navigation and editing shortcuts including cell movement, selection extension, and standard editing operations.

**DOCX Editor**

* Added point to layout measurements in header/footer, column, and margin modals.
* Added support for the margin dropdown to display presets in the current layout unit.

**Customize UI**

* Added popups to Modular UI config files allowing for easy customization of popups in the app. All existing Popup APIs will continue working with both Legacy and Modular UI.
* Added support for rendering the Style Panel in a Flyout which can be opened from a custom Toggle button or the Annotation Popup.
* Added support for rendering the Rubber Stamp Panel in a Flyout, which can be opened from the Rubber Stamp tool.
* Updated the Notes Panel MultiSelect to use the modular style panel flyout instead of the legacy style popup.
* Enhanced Style Panel with data-element attributes for all sections and dividers, enabling programmatic control and disabling of individual UI components.
* Added the ability to override the default PresetButton image, title, and data element properties.

**Notes Panel**

* Added support for the AnnotationNoteConnector Line on the Left side and in RTL.

**Flyouts**

* Added support for Items in flyouts to trigger `UI.setClickMiddleware`.
* Added support for Items in flyouts so they can be updated using `UI.updateElement`.

**Outlines Panel**

* Add outline prompt was moved to the top of the outlines panel.

**Accessibility**

* Hid icons from accessibility tree, by default, to prevent confusion.
* Fixed an issue where announcements were not triggered when selecting a tool or a preset button.

**Icons**

* Changed icon of `AreaMeasurementCreateTool` to make it consistent with Scale Modal.

**React Quill**

* Updated dependencies to now use Quill 2.0 in the UI.

### Fixes

**General**

* Fixed an issue where the left panel button tooltip was not translated.
* Fixed an issue where search results kept clearing while loading a large linearized document.
* Disabled `LocalStorage` entirely for Webviewer when disabling the `LocalStorage` feature.
* Fixed an issue where deleting a color from the Text Style incorrectly updated Stroke colors in the Style Panel for Redaction, Free Text, and Callout tools.
* Fixed an issue with URL not appearing in the note panel.
* Fixed an issue with inaccurate positioning when using `jumpToAnnotation` on WebComponent.
* Fixed an issue where embedded printing with current view was slightly offset.
* Fixed an issue where Signatures and Stamps were not visible in the panels when using the app in dark mode.
* Fixed an issue where `AnnotationContentOverlay` would display `0` values for Arc Measurement Annotations when imported.

**Spreadsheet Editor**

* Fixed an issue where calling the `hideSheet/unhideSheet/createSheet/removeSheet` APIs didn't update UI `SpreadsheetSwitcher`.
* Fixed an issue where the same sheet name with different casing could be used in Spreadsheet Editor.
* Fixed an issue where zooming with CMD key + touchpad or Windows key + mouse scroll did not work properly.

**Customize UI**

* Fixed an issue where the icons of preset buttons in flyouts didn't use disabled styling.
* Changed the positioning of the Document Crop Popup and the Snipping Popup to match the positioning of the Scale Overlay for consistency. Also added a fix to ensure they can't be dragged off screen.
* Fixed an issue with the style panel where sliders disappeared after adding a custom color.
* Fixed an issue in `RibbonItem's` `groupedItems` property by correcting its TypeScript definition to a string array.
* Fixed an issue causing unused panels to be added to the DOM in the Modular UI.

**Flyouts**

* Fixed flyout content not being scrollable when items didn't fit on screen.
* Fixed stateful button not updating in Flyouts.
* Fixed an issue where flyout modifications would be lost when switching between PDF and Office Editing UIs.

**Form Builder**

* Fixed an issue where FormFieldIndicators would lay on top of headers.

**Text Selection**

* Fixed an issue where calling `instance.Core.Tools.Tool.disableTextSelection()` during an active selection allowed additional text selections.

**Connector Lines**

* Fixed an issue where connector lines didn't reach the note.
* Fixed an issue where connector lines drew over the header in the modular UI.


---

# 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-7/v11-7-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.
