> 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/android/changelogs/version-6/v6-9-2.md).

# Version 6.9.2 Changelog (December 10, 2018)

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

Version: 6.9.2.68755

Release Date: December 10, 2018

## New features

* [`RectRedactionCreate`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/tools/RectRedactionCreate.html) tool for creating redaction annotations as well redact content, see guide here: [use redaction tool](/android/redaction/redact.md#ui-component)
* New signature UI and flow has been applied to the digital signature tool. In addition, you can now pass in your own keystore and password to sign, see guide here: [use digital signature](/android/digital-signature/digi-sig-tool.md)
* Adds style picker for redaction annotation, now with ability to change redaction color as well as overlay text
* It is now possible to change the character casing for the quick menu, for example:

{% tabs %}
{% tab title="XML" %}
{% code lineNumbers="true" %}

```xml
<style name="QuickMenuButton" parent="Widget.AppCompat.Button.Borderless"> <item name="android:background">?attr/selectableItemBackground</item> <item name="android:textAllCaps">false</item> </style>
```

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

## Dependency changes

* [Butter Knife](https://github.com/JakeWharton/butterknife/) is now **removed** from the Demo package and all samples

## Permission changes

* `DocumentActivity` no longer asks for storage permission. However if you are opening files from local storage, you will need to request storage permission in your application prior to opening the `DocumentActivity`, for example:

{% tabs %}
{% tab title="Java" %}
{% code lineNumbers="true" %}

```java
if (!Utils.hasStoragePermission(this)) {
    Utils.requestStoragePermissions(this, null, RequestCode.STORAGE_1);
}
```

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

## Fixed

* Fixed issue where same file might show up multiple times in All Documents tab in `AdvancedReaderActivity`
* Fixed issue where system bar is not hidden when rotating the device in full screen mode
* Fixed issue where previously closed tab would show up again when switching to/from night mode from/to day mode
* Fixed issue where `PrintAnnotationsSummaryDialogFragment` cannot be used in an Activity
* Fixed issue where flatten annotation and redact annotation not working correctly when `annotationLayerEnabled` is set to true
* Fixed issue where export annotation not working for non local/SD card files
* Fixed issue where office files from URI are getting duplicated multiple times when using `PdfViewCtrlTabHostFragment`
* Fixed potential crash in `PDFViewCtrl::onScroll`

## APIs

### Added

* A new [`DigitalSignature`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/tools/DigitalSignature.html) class has been added with the new signature UI, along with APIs to set the keystore file path as well as password
* A new [`RectRedactionCreate`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/tools/RectRedactionCreate.html) class for content redaction
* [`ToolManagerBuilder::setUseDigitalSignature`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/config/ToolManagerBuilder.html#setUseDigitalSignature\(boolean\))
* [`ToolManagerBuilder::setDigitalSignatureKeystorePath`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/config/ToolManagerBuilder.html#setDigitalSignatureKeystorePath\(java.lang.String\))
* [`ToolManagerBuilder::setDigitalSignatureKeystorePassword`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/config/ToolManagerBuilder.html#setDigitalSignatureKeystorePassword\(java.lang.String\))
* [`ToolManager::setDigitalSignatureKeystorePath`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/tools/ToolManager.html#setDigitalSignatureKeystorePath\(java.lang.String\))
* [`ToolManager::getDigitalSignatureKeystore`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/tools/ToolManager.html#getDigitalSignatureKeystore\(\))
* [`ToolManager::setDigitalSignatureKeystorePassword`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/tools/ToolManager.html#setDigitalSignatureKeystorePassword\(java.lang.String\))
* [`ToolManager::getDigitalSignatureKeystorePassword`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/tools/ToolManager.html#getDigitalSignatureKeystorePassword\(\))

### Changed

* The original `DigitalSignature` class has been renamed to `DigitalSignatureLegacy` and marked as deprecated


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.apryse.com/android/changelogs/version-6/v6-9-2.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
