> 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-8/v8-5/v8-5-0.md).

# Version 8.5.0 Changelog (2022-05-12)

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

## WebViewer Core

### New

* Added optimized PDF WebAssembly workers which increase rendering and search performance by 20% on average
* Improved performance of loading documents with many pages in continuous mode. These documents are no longer automatically opened in single page mode. To disable this functionality and revert to the previous behavior you can use the `disableVirtualDisplayMode: true` constructor option.
* Added the ability to snap caption positions of a distance measurement annotation to the left, right and center. The related APIs are [`getCaptionSnapPostion`](https://sdk.apryse.com/api/web/Core.Annotations.LineAnnotation.html#getCaptionSnapPosition__anchor) and [`setCaptionSnapPostion`](https://sdk.apryse.com/api/web/Core.Annotations.LineAnnotation.html#setCaptionSnapPosition__anchor)
* Added new APIs [`getScales`](https://sdk.apryse.com/api/web/Core.MeasurementManager.html#getScales__anchor), [`createAndApplyScale`](https://sdk.apryse.com/api/web/Core.MeasurementManager.html#createAndApplyScale__anchor), [`replaceScale`](https://sdk.apryse.com/api/web/Core.MeasurementManager.html#repalceScale__anchor), and [`deleteScale`](https://sdk.apryse.com/api/web/Core.MeasurementManager.html#deleteScale__anchor) to MeasurementManager for managing scales
* Added performance optimizations for loading images. By default images will be loaded direct to the DOM and only converted to a PDF on demand. This also allows support for .gif/.apng/.avif/.bmp/.webp formats. To load them as a PDF immediately the `loadAsPDF: true` option can be used.
* Added support for loading TIFF files directly
* Updated `setAssociatedSignatureAnnotation` so that it would automatically show/hide the "sign here" button
* Added the `Core.Scale` class to make it easier to work with measurement scales
* Updated `lodash` to version 4.17.21

### Fixes

* Fixed issue where the [layoutChanged](https://sdk.apryse.com/api/web/Core.DocumentViewer.html#event:layoutChanged) event would not have all the changed information accurately when using WebViewer Server
* Fixed snap mode functionality issues when drawing right to left with a distance measurement tool
* Fixed callout annotation text box size when the annotation is resized then duplicated
* Fixed callout annotation size when the annotation was moved and then the change was undone
* Fixed issue where dragging annotations at high zoom levels was unusable
* Fixed TypeScript definition for [`registerAnnotation`](https://sdk.apryse.com/api/web/Core.AnnotationManager.html#registerAnnotationType__anchor) and [`deregisterAnnotation`](https://sdk.apryse.com/api/web/Core.AnnotationManager.html#deregisterAnnotationType__anchor)
* Fixed issue where signature annotations were incorrectly drawn underneath other types of annotations
* Fixed issue where searching does not work with Edge Legacy and WebViewer Server
* Fixed issue where zooming in really far onto the page and setting the fit mode would change the page
* Fixed issue with loading "initialDoc" that has a comma in it
* Fixed text selection issues with various files
* Fixed issue where an empty string was not accepted as a valid input for AFRange\_Validate in embedded JavaScript
* Fixed issue where XOD file requests added an extra header which causes issues with cross origin requests
* Fixed issue with loading encrypted XOD files
* Fixed issue with snapping in the Arc tool
* Fixed WebViewer instantiation error in Salesforce
* Fixed issue with loading an office document with an error prevented the fixed document from being loaded until you refreshed the page
* Fixed issue where page rotation did not work properly with WebViewer Server
* Fixed issue where the `includeAnnotations` option wasn't respected when calling `getFileData` with WebViewer Server
* Fixed issue where searching the document one result at a time caused issues
* Fixed issue where the radio form field placeholder could be moved across the pages
* Fixed issue where deleted page's bookmarks were not removed
* Fixed issue where a custom polygon selection model would not be used after importing a polygon
* Fixed issue where using the "extractPages" API fails if the document is opened as a PDF with the `loadAsPDF` option
* Fixed issue where a particular link's URL didn't open correctly
* Fixed issue with dark sticky annotations not changing color in dark mode

## WebViewer UI

### New

* Added support for rich text for all comments in the Notes Panel. Keyboard shortcuts can be used to change the text style.
* Added APIs to collapse long annotation comments in the Notes Panel. `UI.NotesPanel.enable/disableTextCollapse` and `UI.NotesPanel.enable/disableReplyCollapse`.
* Added an input field for changing stroke thickness and opacity in the style popup
* Added support for setting a stroke thickness less than 1 in the style popup
* Added new API `UI.addDateTimeFormat` to change the available date and time formats in UI dropdowns
* Added [`UI.addRedactionSearchPattern`](https://sdk.apryse.com/api/web/UI.html#.addRedactionSearchPattern__anchor) and [`UI.removeRedactionSearchPattern`](https://sdk.apryse.com/api/web/UI.html#.removeRedactionSearchPattern__anchor) to add and remove redaction search patterns
* Added custom apply redaction function API `UI.setCustomApplyRedactionsHandler` for custom behavior when the apply redactions button is pressed
* Added new options for font customization on custom stamps
* Added new `UI.ThumbnailsPanel` namespace and new `UI.ThumbnailsPanel.enableMultiselect` and `UI.ThumbnailsPanel.disableMultiselect` APIs for controlling multiselect capability in the thumbnail panel.
* Added `UI.ThumbnailsPanel.selectPages`, `UI.ThumbnailsPanel.unselectPages` and `UI.ThumbnailsPanel.getSelectedPageNumbers`. This should be used instead of `selectThumbnailPages`, `unselectThumbnailPages`, and `getSelectedThumbnailPageNumbers` which have been deprecated.
* Added dark mode support for the redaction panel
* Added accessibility support for the TAB hotkey for the Language Modal
* Added support for the center alignment for signatures on fields

### Fixes

* Fixed issue where crop popup not opening in different languages
* Fixed issue where the redaction panel was not displaying the annotations correctly in a language other than English
* Fixed issue where VISIBILITY\_CHANGED was not being fired for the Left Panel tabs
* Fixed issue where a link wasn't able to be added by pressing Enter in the link modal
* Removed thumbnail and search panel elements from tabbing order when they are hidden
* Fixed issue where Redaction Panel controls were being cut-off when viewing in tablets
* Fixed issue with tab state not being saved and throwing an error in multitab mode
* Fixed issues related to the language modal with the mobile UI
* Fixed issue where the search text was overlapping the clear button if it was too long
* Fixed issue with the crop popup taking up the entire screen size on mobile devices
* Fixed issue where document crop popup was not appearing properly on Internet Explorer
* Fixed issue where there distance measurement annotations with the FontSize property wouldn't show the font size slider
* Fixed printing issue in Chrome and Firefox browsers on iOS devices
* Fixed issue where the Add New Signature button did not show up in the UI when the tool was active


---

# 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-8/v8-5/v8-5-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.
