> 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-2/v10-2-3.md).

# Version 10.2.3 Changelog (2023-06-26)

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

## Beta WebViewer as a Web Component

Starting in 10.2 you will have the option to instantiate WebViewer as a Web Component instead of an Iframe. Not all features may be supported at this time, but we recommend you start testing your application with the Web Component to ensure a smooth transition when we deprecate the iframe constructor in a future release.

To try out the Web Component all you need to do is switch your WebViewer constructor:

<pre class="language-sh" data-line-numbers><code class="lang-sh">import WebViewer from '@pdftron/webviewer'

WebViewer.WebComponent({
  path: '/public/webviewer',
  licenseKey: '<code class="expression">visitor.claims.wvKey || "YOUR_LICENSE_KEY"</code>',
}, document.getElementById('viewer'))
 ..........
</code></pre>

For more information on Web Components and their advantages over Iframes please refer to this [guide](/web/ui-customization/web-component-vs-iframe.md).

## WebViewer Core

### Fixes

* Fixed issue with Content Edit mode not cleaning up events listeners properly, leading to issues when trying to edit the PDF.
* Fixed issue where Redo text deletion leaves cursor to the left of inserted text
* Fixed issue where the undo/redo in Content Edit mode throws an error when a content box is added
* Fixed issues like the errors about the doc variable being null and the content edit box not working on double click

## WebViewer UI

### Fixes

* Fixed issue where annotations are not visible when documents are in compare mode


---

# 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-2/v10-2-3.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.
