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

# Version 10.0.0 Changelog (2023-03-29)

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

## Breaking changes

See [v10 migration guide](/web/migration-guides/migrating-to-v10.md) for information on breaking changes.

## WebViewer Core

### Beta Office Editor:

WebViewer 10 includes a new beta feature that allows users to edit DOCX documents in WebViewer. To enable this feature, you must set the `enableOfficeEditing` option to `true` when initializing WebViewer.

The following features are part of this beta:

* Added DOCX editing without MS Office or server-side backend needed
* Open, edit and save DOCX document without having to convert to intermediate format
* Create new DOCX documents
* Text style modification (bold, underline, italic, color)
* Text font size and font modification
* Paragraph style modification (justification, line height)
* Numbered and ordered list creation
* Ability to save edits

### New

* Update web workers to Apryse SDK 10.0.0. Going forward the Apryse SDK version will match the WebViewer version.
* Updated the behaviour of sync scrolling when in compare mode to provide a better experience.
* Update Office conversion workers to the latest version, which includes a number of fixes and improvements.
* Update FreeText appearance generation so that it is high quality for vertical alignment and horizontal justification.
* Updated semantic comparison to show a yellow highlight for words that have moved.
* Added documentation and type definition for `CustomStampData.Id`.
* Updated Perimeter measurement to not use custom appearances.
* Changed incorrect capitalization of function names. Deprecation warnings have been added to note which ones to use.
* Improved input validation to neutralize embedded Javascript contained in PDF Link Annotations.
* Changed link XFDF deserialization to replace existing actions with the incoming actions.
* Added missing types for cropcreatetool and cropapplied events.

### Fixes

* Fixed a bug where the underlying points of an Arc annotation would change when a new page is inserted.
* Fixed issue where performance drops after creating hundreds of distance measurement annotations.
* Fixed issue where zooming with the mouse wheel immediately after loading a document could fail.
* Fixed issue where resizing a very small stamp annotation could throw an error.
* Fixed issue where the `disableObjectURLBlobs` constructor option was not working correctly.
* Fixed issue where images could be pasted into FreeText annotations.
* Fixed error was thrown in ViewerSnapToNearestTest sample for a complex file.
* Fixed an issue where file attachments annotations with a custom appearance were not being rendered properly after changing their position, downloading the file, and changing its position again.
* Fixed an issue with Ellipse annotations where measurement captions would not appear if fill colour was set.
* Fixed issue where updating the start or end style of a polyline annotation embedded in a PDF would not be reflected in the exported XFDF.
* Fixed an issue with Signature annotations when trying to upload a square image or a rectangle image with a height larger than the width.
* Fixed an issue in WebViewer Server where if `forceClientSideInit` is set to true, when replacing a page the annotations of the old page are copied over to the new page.
* Fixed an issue where embeddedJS triggered twice on some text form-fields.
* Fixed an issue where downloader enabled documents have broken hyperlink when jumping to a random page.
* Fixed documentation for [setAutoSizeType](https://sdk.apryse.com/api/web/Core.Annotations.FreeTextAnnotation.html#setAutoSizeType)
* Fixed issue where updating the start or end style of a line annotation embedded in a PDF would not be reflected in the exported XFDF.
* Fixed an issue where performing a Double Click while drawing an Arc would prevent the Arc from being drawn correctly.
* Fix issue where fonts used in form fields were not being exported correctly.

## WebViewer UI

### New

* Added the new inline commenting feature that allows users to quickly review and catch up on the comment history directly on the annotation. To enable this feature you can call: `instance.UI.enableFeatures([instance.Feature.InlineComment]);`.
* Improved the right-click menu which now presents different options depending on which object is clicked.
* Added a console warning to explain that Search and Replace is not supported in older browsers.
* Added support to search text in both documentViewers when in semantic comparing mode.
* Updated the UI.dispose function to return a promise that resolves when it completes.
* Added unchangeable rotate and zoom hotkey combinations with the number pad.
* Adjusted icons in the notes panel for lines and arrows so that the icon will only be arrow if the LineArrow intent is set
* Updated documentation the for UI event: `visibilityChanged`

### Fixes

* Fixed issue where the new scale button text would overflow in certain languages.
* Fixed issue where images could be pasted into the notes panel as comments.
* Fixed an issue where the document would jump to an incorrect location in Multiviewer mode.
* Fixed an issue where checkboxes in the thumbnails panel were difficult to be checked when clicked on.
* Fixed issue where too many events were firing when commenting on an annotation.
* Fixed issue where recreating a WebViewer instance would sometimes display an error in the console.
* Fixed potential memory leak in the diff sample if recreating the WebViewer instances.
* Fixed an issue where the input in the signature modal lost focus after clicking the clear button.
* Fixed a bug with the 'Comment' button in the Annotation Popup causing the comment input box in the Notes Panel to lose focus.
* Fixed bug where the password modal could not be closed when using WebViewer Server.


---

# 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-10/v10-0/v10-0-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.
