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