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

# Version 9.2.3.79579 Changelog (June 15th, 2022)

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

Version: 9.2.3.79579

Release Date: June 15th, 2022

## Breaking Changes

* \[tools] ToolManager class: property refactored

|       | Declaration                                                                    |
| ----- | ------------------------------------------------------------------------------ |
| From: | double ToolManager.INK\_TIME\_BEFORE\_INK\_SAVES\_ANNOTATION\_IN\_MILLISECONDS |
| To:   | uint ToolManager.InkTimeIntervalBeforeSaving                                   |

## New features

* \[tools] Document progressive printing support with adds status, feedback, and cancellation of the current print job

![](https://3246663708-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Frgmys2szYV2Z567Zu3vi%2Fuploads%2Fgit-blob-8e431afbc11b77ba2252a9a0a3bce2baee35e2fd%2Fdc647b7f54419b29b324096cc37941cb4492153f-881x793.gif?alt=media)

## Improvements

* \[tools] FreeText annotation: added support to edit free text annotation by double clicking it
* \[tools] Stylus: improved hand writing by better handling palm rejection for longer texts
* \[tools] \[control] Annotation Toolbar: expanded UI customization support to allow re-ordering of the tools
* \[tools] \[control] Annotation Toolbar: improved UX by removing redundant Save option on some of the sub-toolbar (Ink, Advanced Shapes, and Measurement)
* \[tools] \[control] ViewerControl: Added ability to open multiple extra windows
* \[tools] \[control] ViewerControl: adds support for ContextMenu suppression which introduces the ability to prevent the context menu from being shown
* \[tools] \[control] ViewerControl: improved cleanup of temporary files when ViewerControl component is no longer in use by the application
* \[tools] \[control] ViewerControl: optimized performance by disabling the save of changes on every doc tab change (it relies only on save on every change instead)
* \[tools] \[control] ViewerControl: added helper call to reset all settings to default in programmatically
* \[tools] \[control] ViewerControl: spacebar keyboard shortcut now moves to next page

## Bug Fixes

* \[tools] FreeText annotation: fixed possible exception when closing the style dialog/popup
* \[tools] FreeText annotation: fixed editing rich text with CJK characters
* \[tools] \[control] Reflow: fixed crash when attempting to open certain internal links
* \[tools] \[control] ViewerControl: fixed possible exception when opening certain PDF files as a new tab in the viewer
* \[tools] \[control] ViewerControl: Overall UX improvements

## New APIs - Core SDK

*New* Methods

* `static RubberStamp RubberStamp.CreateCustom(SDF.SDFDoc, PDF.Rect, SDF.Obj)`

*New* Properties

* `bool PDFPrintManager.UseProgressivePrinting`
* `int PDFPrintTask.PageCount`

## New APIs - Tools Package SDK

*New* Methods

* `async Task TabControlViewModel.CloseAllTabsAsync()`
* `static void ViewerControl.ResetSettings()`
* `static void ViewerSettings.ResetSettingsToDefault()`
* `void AnnotationCommandBar.SetOptions(AnnotationToolbarOptions)`
* `void AnnotationToolbarViewModel.SetToolbarOpen(bool)`
* `static Color HTMLUtilities.GetFirstColorValue(string)`
* `string HTMLUtilities.ReplaceFontSize(string, double)`
* `string HTMLUtilities.ReplaceFontFamily(string, string)`

*New* Properties

* `bool ViewerViewModel.IsRichTextEnabled`
* `bool ViewerViewModel.IsContextMenuEnabled`
* `bool ViewerViewModel.IsProgressivePrinterEnabled`
* `bool ViewerControl.IsContextMenuEnabled`
* `bool ViewerControl.IsProgressivePrinterEnabled`
* `bool ToolManager.IsContextMenuEnabled`
* `bool AnnotationCommandBar.ShowLabels`
* `bool AnnotationToolbarViewModel.ShowLabels`
* `bool AnnotationToolbarViewModel.IsLabelVisible`
* `bool AppBarTabButton.IsFixed`
* `ToolbarButtonType AppBarTabButton.ToolType`
* `uint ViewerSettings.TimeBetweenPenStrokesMilliseconds`

*New* Enums

* `ToolType.e_undo`
* `ToolType.e_redo`

*New* Class pdftron.PDF.Tools.Controls.AnnotationToolbarOptions

* *New* Constructor
* `AnnotationToolbarOptions()`
* *New* Property
* `List<ToolbarButtonType> MainToolbarItems`

*New* Class pdftron.PDF.Tools.Controls.PrintStatusUserControl

* *New* Constructor
* `PrintStatusUserControl(PDFPrintTask)`
* *New* Method
* `void Dispose()`
* *New* Properties
* `PrintStatusViewModel ViewModel`
* *New* Event
* `event PrintStatusViewModel.PrintStatusHandler PrintStatusUpdated`

*New* Class pdftron.PDF.Tools.Controls.ViewModels.PrintStatusViewModel

* *New* Constructor
* `PrintStatusViewModel(PDFPrintTask)`
* *New* Method
* `void Dispose()`
* *New* Properties
* `int TotalPagesToPrint`
* `int CompletePagesToPrint`
* `string FeedbackText`
* `bool IsProgressIndeterminate`
* `bool IsProgressError`
* *New* Delegate
* `delegate PrintStatusHandler(PrintStatus)`
* *New* Event
* `event PrintStatusHandler PrintStatusUpdated`

*New* Enum pdftron.PDF.Tools.Controls.ViewModels.PrintStatus

* `Submitting`
* `Completed`
* `Failed`
* `Cancelled`

*New* Enum pdftron.PDF.Tools.Controls.ToolbarButtonType

* `Close`
* `StickyNote`
* `TextHighlight`
* `TextUnderline`
* `TextStrikeout`
* `TextSquiggly`
* `ImageStamp`
* `Signature`
* `Ink`
* `Eraser`
* `InkMarker`
* `TextAnnot`
* `Rect`
* `Oval`
* `Line`
* `Arrow`
* `Measure`
* `Shapes`
* `MultiRectSelect`
* `Lasso`
* `MarqueeZoom`
* `Redact`
* `Pan`
* `Expand`
* `Undo`
* `Redo`

*New* Converter pdftron.PDF.Tools.Converters.EnumToIntConverter


---

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