> 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/uwp/changelogs/version-9/v9-0-0-77701.md).

# Version 9.0.0.77701 Changelog (May 5, 2021)

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

Version: 9.0.0.77701

Release Date: May 5, 2021

## Notes

This release of Apryse's Tools SDK for UWP adds the following new dependencies:

* [Microsoft Win2D library](https://microsoft.github.io/Win2D/WinUI2/html/Introduction.htm) version 1.25.0
* [System.Security.Cryptography.ProtectedData](https://www.nuget.org/packages/System.Security.Cryptography.ProtectedData/) version 5.0.0

## Breaking Changes

* \[tools] AnnotationList control: property name change

|       | Declaration                |
| ----- | -------------------------- |
| From: | AnnotationList.\_ViewModel |
| To:   | AnnotationList.ViewModel   |

## New Features

### Lasso PDF Annotation Selection Tool

Multi-selection Lasso Tool allows to precisely select different objects on a PDF page

![](https://3246663708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Frgmys2szYV2Z567Zu3vi%2Fuploads%2Fgit-blob-7816cd70130157673b3a8b4c69bf208c661d3db2%2F368e8e0378bb7187f684775d0e8d7b4b02ebf1b0-865x799.gif?alt=media)

### Text Link Annotation

Now it is possible to add Hyperlinks and GoTo Page action to the selected text

![](https://3246663708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Frgmys2szYV2Z567Zu3vi%2Fuploads%2Fgit-blob-cca602f0c821d721197299e5fdfc9d97d45fdaf0%2F2ccd094c4dd2935f2362e6fe604137efafd43833-818x743.gif?alt=media)

### Multi-language support for UWP Controls

Now the Apryse's UWP Tools SDK supports 6 new languages: German, Italian, French, Portuguese, Spanish, and Simplified Chinese

![](https://3246663708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Frgmys2szYV2Z567Zu3vi%2Fuploads%2Fgit-blob-82555a36b55bc6153031d1dde4a591ab916a9dd6%2F94c639c6e3fd6fad90413b270444e0f5e102f185-878x531.png?alt=media)

![](https://3246663708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Frgmys2szYV2Z567Zu3vi%2Fuploads%2Fgit-blob-30552cc97e68c592839bed28fa06ba5467f4ebe7%2F73f78fee1a4977aa484adbfd3f1392cca249309a-876x532.png?alt=media)

The code snippet below demonstrate how to set the language in the UWP App's constructor:

{% tabs %}
{% tab title="C#" %}
{% code lineNumbers="true" %}

```csharp
public App()
{
    InitializeComponent();

    // Set language to Simplified Chinese
    Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride = "zh-CN";
}
```

{% endcode %}
{% endtab %}
{% endtabs %}

## Improvements

* \[pdf] Added PDF Text Difference - compare text differences between two PDF documents
* \[pdf] Exposed internal PDFViewCtrl's ScrollViewer
* \[tools] Added Text Link Annotation
* \[tools] Added Multi-selection Lasso tool to the annotation toolbar
* \[tools] Ink / Freehand annotation now supports page scrolling while annotating
* \[tools] \[control] Added multi-language support: German, French, Simplified Chinese, Portugues, Spanish and Italian
* \[tools] \[control] ViewerControl: Updated UI of the Outline / Side panel
* \[tools] \[control] ViewerControl: Added ability to export XFDF (PDF Annotations)
* \[tools] \[control] ViewerControl: Improved loading time performance by not loading not used UI Elements
* \[tools] \[control] ViewerControl: Added option to switch between different tab scrolling mode
* \[tools] \[control] Thumbnails Viewer: UI/Style Improvements
* \[tools] \[control] Thumbnails Viewer: user protected PDF document can now be merged as long password is provided
* \[tools] \[control] Signature Dialog: UI/Style Improvements and added the options to display full screen or compact dialog
* \[tools] \[control] PopupCommandMenu: UI Updated by replacing texts by icons
* \[tools] \[control] Overall UI/Style improvements
* \[tools] \[utility] Added PDFDocCreator to allow the creation of formatted lined, dotted, music, isometric, and graph PDF page types.
* \[tools] \[dependency] Added Win2D.uwp v1.25.0
* \[tools] \[dependency] Added System.Security.Cryptography.ProtectedData v5.0.0
* \[tools] \[analytics] Added AppCenter support
* \[tools] \[resources] Updated glyph-icon.ttf with new icons

## Bug Fixes

* \[pdf] PDFPrintManager - fixed issue where standard custom page range/filter would not work
* \[tools] Measurement Tools: Fixed visibility of the feedback value while editing area or perimeter
* \[tools] Measurement Tools: Fixed wrong math for the Area Measurement Tool
* \[tools] AdvancedShapeCreate: Fixed exception when CommitAnnotation() is called too many times
* \[tools] Fixed an exception in AnnotEditGroupCreate.PointerReleasedHandler()
* \[tools] ImageStamper: Fixed unhandled exceptions
* \[tools] \[control] Annotation Toolbar: Fixed improper switch of tools after using Undo or Redo when Continuous Annotation is activated
* \[tools] \[control] ViewerControl: Fixed Pin/Unpin command bar
* \[tools] \[control] ViewerControl: Fixed resize crash what would happen when Screen resolution is set to 125% or greater
* \[tools] \[control] ViewerControl: Fixed exception when using Ctrl+W to close tabs
* \[tools] \[control] ViewerControl: Adjusted the Zoom level when opening a new document
* \[tools] \[control] ViewerControl: Fixed Auto-Save calls not working properly
* \[tools] \[control] ViewerControl: Fixed to allow moving sticky note and advanced shape annotations on touch devices
* \[tools] \[control] ViewerControl: Fixed opening new document on the tab view control
* \[tools] \[control] ViewerControl: Fixed issue with shortcuts not working properly
* \[tools] \[control] ViewerControl: Fixed issue when adding password protection and protected doc not opening back in the viewer
* \[tools] \[control] ViewerControl: Fixed Opening PDF and Converting PDF dialogs in Dark Mode
* \[tools] \[control] Reflow: fixed Pin/Unpin Command Bar not being displayed on touch devices

## New APIs - PDF SDK

*New* enum: `ExternalAnnotManagerMode`

*New* Methods

* `PDFDoc.AppendTextDiff(Page^, Page^)`
* `PDFDoc.AppendTextDiff(PDFDoc^, PDFDoc^)`
* `PDFViewCtrl.GetScrollViewer()`
* `PDFViewCtrl.CanUndo()`
* `PDFViewCtrl.CanRedo()`
* `PDFViewCtrl.EnableExternalAnnotManager(String, ExternalAnnotManagerMode)`
* `OfficeToPDFOptions.GetApplyPageBreaksToSheet()`
* `OfficeToPDFOptions.SetApplyPageBreaksToSheet()`
* `OfficeToPDFOptions.GetExcelMaxAllowedCellCount()`
* `OfficeToPDFOptions.SetExcelMaxAllowedCellCount()`
* `OfficeToPDFOptions.GetTemplateParamsJson()`
* `OfficeToPDFOptions.SetTemplateParamsJson()`
* `OfficeToPDFOptions.GetDisplayChangeTracking()`
* `OfficeToPDFOptions.SetDisplayChangeTracking()`
* `OfficeToPDFOptions.GetLocale()`
* `OfficeToPDFOptions.SetLocale(String)`

## New APIs - Tools Package SDK

*New* enum: `PaperType`

*New* class: `GridLengthToDoubleConverter`

*New* class: `LightColorToThicknessConverter`

*New* class: `PaperTypeHolder`

*New* class: `LassoCreate`

*New* class: `PasswordCancelCommand`

*New* class: `PasswordChangedCommand`

*New* class: `PasswordEnteredCommand`

*New* class: `PasswordKeyDownCommand`

*New* class: `PasswordKeyUpCommand`

*New* class: `FlipViewIndicator`

*New* class: `TextLinkDialog`

*New* interface: `IPasswordUserControl`

*New* class: `PdfPasswordUserControl`

*New* class: `PdfPasswordViewModel`

*New* class: `TextLinkViewModel`

*New* class: `DataProtection`

*New* class: DispatcherTaskExtensions

* *New* Method: `static async Task<T> RunTaskAsync<T>(CoreDispatcher, Func<Task<T>>, CoreDispatcherPriority)`
* *New* Method: `static async Task RunTaskAsync(CoreDispatcher, Func<Task>, CoreDispatcherPriority)`

*New* class: AppCenterHandlerBase

* *New* Method: `public virtual void SendEvent(string)`
* *New* Method: `public virtual void SendEvent(string, IDictionary<string,string>)`
* *New* Method: `public virtual void SendEvent(ToolType, IDictionary<string,string>)`

*New* class: PDFDocCreator

* *New* Method: `static PDFDoc Create(PaperType, double, double, int)`

*New* Methods

* `SignagureDialog.SignatureDialog(bool)`

*New* Properties

* `AnnotationCommandBar.InkMultiStroke`
* `TabControlViewModel.TabViewWidthMode`
* `ViewerSettings.SaveCopyExplained`
* `ViewerSettings.RedactionExplained`
* `ViewerSettings.TabScrolling`
* `ViewerSettings.SignatureFullScreenOption`
* `ToolManager.IsSignatureDialogFullScreen`
* `AnnotationToolbarBase.IsLassoToolButtonVisible`
* `AnnotationToolbarViewMode.IsLassoToolButtonVisible`

*New* language resources

Portuguese

* `strings\pt-BR\Printing.resw`
* `strings\pt-BR\Resources.resw`

French

* `strings\fr-FR\Printing.resw`
* `strings\fr-FR\Resources.resw`

Chinese

* `strings\zh-CN\Printing.resw`
* `strings\zh-CN\Resources.resw`

German

* `strings\de-DE\Printing.resw`
* `strings\de-DE\Resources.resw`

Spanish

* `strings\es-ES\Printing.resw`
* `strings\es-ES\Resources.resw`

Italian

* `strings\it-IT\Printing.resw`
* `strings\it-IT\Resources.resw`


---

# 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/uwp/changelogs/version-9/v9-0-0-77701.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.
