> 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-8-0.md).

# Version 6.8.0 Changelog (April 4, 2018)

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

Version: 6.8.0.64821

Release Date: April 4, 2018

## New features

* New [annotation style picker](/android/annotation/style-editor-dialog.md)
* New [`CustomRelativeLayout`](/android/ui-customization/custom-relative-layout.md) that allows UI views to be put on [`PDFViewCtrl`](/android/open-save-document/open/view.md)
* Introducing new `com.pdftron:demo`(demo.aar or pdfnet-demo-utils project) open source library package with various utility UI and APIs along with ready to use Activities. [Try out com.pdftron:demo library package here](/android/samples/cookbook/try-demo.md).
* New [`SimpleReaderActivity`](/android/open-save-document/open.md) that allows easy integration with a ready to go viewer, and [highly configurable](/android/viewer/fragment-config.md)
* Different tool modes can be easily [disabled through public API](/android/ui-customization/set-tool-to-toolmanager.md), this will remove icons from the [`QuickMenu`](/android/ui-customization/quick-menu.md) and the [`AnnotationToolbar`](/android/annotation/annotation-toolbar-a.md)
* All UI components now support [day and night mode](/android/viewer/themes.md)
* New [annotation syncing API](/android/annotation/sync.md) that allows easy real time collaboration among different clients
* Introducing three new form field creation tools: [`TextFieldCreate`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/tools/TextFieldCreate.html), [`CheckboxFieldCreate`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/tools/CheckboxFieldCreate.html), and [`SignatureFieldCreate`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/tools/SignatureFieldCreate.html)
* New ways to have [custom behavior in response to tool events](/android/annotation/intercept-annotation-handling.md)
* Adding [custom annotation creation tool](/android/ui-customization/custom-tool.md) with ease
* [Bookmarks dialog](/android/ui-customization/list-container.md) UI and [annotation list dialog](/android/annotation/annotation-list-a.md) UI have been updated

## Breaking changes

* \[`PDFNet.initialize`]\(<https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFNet.html#initialize(android.content.Context>, int, java.lang.String))**no longer** accepts null or empty license keys. **A valid demo or commercial license key is required at all times.**
* **Apryse core** library has been repackaged to a single `pdftron.aar` file (`full/pdftron.aar` and `standard/pdftron.aar`). To learn more about how to integrate with latest Apryse library, see the [manual integration guide](/android/get-started/integration.md). The following files that were required from previous release are no longer needed and should be removed from your project:
  * `libs/PDFNet.jar`
  * `jniLibs/arm64-v8a/libPDFNetC.so`
  * `jniLibs/armeabi/libPDFNetC.so`
  * `jniLibs/armeabi-v7a/libPDFNetC-v7a.so`
  * `jniLibs/x86/libPDFNetC.so`
  * `jniLibs/x86_64/libPDFNetC.so`
  * `res/raw/pdfnet.res`
  * `res/raw/pdftron_layout_resources.plugin`
  * `res/raw/pdftron_smart_substitution.plugin`
* **PDFViewCtrlTools** (`tools.aar`) project is using vector drawables from the support library, if your application does not have this yet, add the following to your module Gradle file (usually `app/build.gradle`):

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

```groovy
android {
    defaultConfig {
        ...
        vectorDrawables.useSupportLibrary = true
    }
}
```

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

* The minimum API requirement has been changed to API 16, your app will run on approximately 99.2% of devices.
* Dependency AAR files have been renamed and now available to [integrate via Gradle package manager](/android/get-started/integration.md):
  * `PDFViewCtrlTools.aar` -> `tools.aar`
  * `FloatingActionButton.aar` -> `floatingactionbutton.aar`
  * `PageCropper.aar` -> `pagecropper.aar`
* A number of static integers in [`PDFViewCtrl`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFViewCtrl.html) and [`ToolManager`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/tools/ToolManager.html) are now changed to enum class to better represent the data:
  * [`SDFDoc.SaveMode`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/sdf/SDFDoc.SaveMode.html)
  * [`PDFDoc.ActionTriggerMode`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFDoc.ActionTriggerMode.html)
  * [`PDFDoc.FlattenMode`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFDoc.FlattenMode.html)
  * [`PDFDoc.InsertBookmarkMode`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFDoc.InsertBookmarkMode.html)
  * [`PDFViewCtrl.ConversionState`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFViewCtrl.ConversionState.html)
  * [`PDFViewCtrl.DownloadState`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFViewCtrl.DownloadState.html)
  * [`PDFViewCtrl.OverPrintMode`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFViewCtrl.OverPrintMode.html)
  * [`PDFViewCtrl.PageChangeState`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFViewCtrl.PageChangeState.html)
  * [`PDFViewCtrl.PagePresentationMode`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFViewCtrl.PagePresentationMode.html)
  * [`PDFViewCtrl.PageViewMode`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFViewCtrl.PageViewMode.html)
  * [`PDFViewCtrl.PriorEventMode`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFViewCtrl.PriorEventMode.html)
  * [`PDFViewCtrl.TextSearchResult`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFViewCtrl.TextSearchResult.html)
  * [`PDFViewCtrl.TextSelectionMode`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFViewCtrl.TextSelectionMode.html)
  * [`PDFViewCtrl.ZoomLimitMode`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFViewCtrl.ZoomLimitMode.html)
  * [`RequestHandler.JobRequestResult`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/RequestHandler.JobRequestResult.html)
  * [`ToolManager.ToolMode`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/tools/ToolManager.ToolMode.html)
* Removed APIs
  * PDFViewCtrl.openURL: use \[`PDFViewCtrl.openUrlAsync`]\(<https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFViewCtrl.html#openUrlAsync(java.lang.String>, java.lang.String, java.lang.String, com.pdftron.pdf.PDFViewCtrl.HTTPRequestOptions)) instead
  * ToolManager.setBuiltInPanModeToolbarEnable: for search, see text search guide, for page slider, see [thumbnail slider](/android/ui-customization/thumbnail-slider-a.md) instead
  * ToolManager.showBuiltInTopToolbar: see text search guide
  * ToolManager.showBuiltInBottomToolbar: see [thumbnail slider](/android/ui-customization/thumbnail-slider-a.md)

## Deprecated

* All static integers with a corresponding enum representation are now deprecated, use the enum version instead.

## Changed

* \[`PDFViewCtrl.setZoomLimits`]\(<https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFViewCtrl.html#setZoomLimits(com.pdftron.pdf.PDFViewCtrl.ZoomLimitMode>, double, double))
* \[`PDFViewCtrl.setRelativeZoomLimits`]\(<https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFViewCtrl.html#setRelativeZoomLimits(com.pdftron.pdf.PDFViewCtrl.PageViewMode>, double, double))
* [`PDFViewCtrl.getZoomForViewMode`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFViewCtrl.html#getZoomForViewMode\(com.pdftron.pdf.PDFViewCtrl.PageViewMode\))
* [`PDFViewCtrl.isContinuousPagePresentationMode`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFViewCtrl.html#isContinuousPagePresentationMode\(com.pdftron.pdf.PDFViewCtrl.PagePresentationMode\))
* [`PDFViewCtrl.isFacingPagePresentationMode`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFViewCtrl.html#isFacingPagePresentationMode\(com.pdftron.pdf.PDFViewCtrl.PagePresentationMode\))
* [`PDFViewCtrl.setTextSelectionMode`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFViewCtrl.html#setTextSelectionMode\(com.pdftron.pdf.PDFViewCtrl.TextSelectionMode\))
* [`PDFViewCtrl.setPagePresentationMode`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFViewCtrl.html#setPagePresentationMode\(com.pdftron.pdf.PDFViewCtrl.PagePresentationMode\))
* [`PDFViewCtrl.getPagePresentationMode`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFViewCtrl.html#getPagePresentationMode\(\))
* [`PDFViewCtrl.setPageViewMode`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFViewCtrl.html#setPageViewMode\(com.pdftron.pdf.PDFViewCtrl.PageViewMode\))
* [`PDFViewCtrl.getPageViewMode`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFViewCtrl.html#getPageViewMode\(\))
* [`PDFViewCtrl.setPageRefViewMode`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFViewCtrl.html#setPageRefViewMode\(com.pdftron.pdf.PDFViewCtrl.PageViewMode\))
* [`PDFViewCtrl.getPageRefViewMode`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFViewCtrl.html#getPageRefViewMode\(\))
* [`PDFViewCtrl.setPreferredViewMode`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFViewCtrl.html#setPreferredViewMode\(com.pdftron.pdf.PDFViewCtrl.PageViewMode\))
* [`PDFViewCtrl.getPreferredViewMode`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFViewCtrl.html#getPreferredViewMode\(\))
* [`PDFViewCtrl.setOverprint`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFViewCtrl.html#setOverprint\(com.pdftron.pdf.PDFViewCtrl.OverPrintMode\))
* PDFViewCtrl.setDocumentDownloadListener -> [`PDFViewCtrl.addDocumentDownloadListener`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFViewCtrl.html#addDocumentDownloadListener\(com.pdftron.pdf.PDFViewCtrl.DocumentDownloadListener\)) and [`PDFViewCtrl.removeDocumentDownloadListener`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFViewCtrl.html#removeDocumentDownloadListener\(com.pdftron.pdf.PDFViewCtrl.DocumentDownloadListener\))
* PDFViewCtrl.setUniversalDocumentConversionListener -> [`PDFViewCtrl.addUniversalDocumentConversionListener`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFViewCtrl.html#addUniversalDocumentConversionListener\(com.pdftron.pdf.PDFViewCtrl.UniversalDocumentConversionListener\)) and [`PDFViewCtrl.removeUniversalDocumentConversionListener`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFViewCtrl.html#removeUniversalDocumentConversionListener\(com.pdftron.pdf.PDFViewCtrl.UniversalDocumentConversionListener\))
* PDFViewCtrl.setDocumentDownloadListener -> [`PDFViewCtrl.addPageChangeListener`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFViewCtrl.html#addPageChangeListener\(com.pdftron.pdf.PDFViewCtrl.PageChangeListener\)) and [`PDFViewCtrl.removePageChangeListener`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/PDFViewCtrl.html#removePageChangeListener\(com.pdftron.pdf.PDFViewCtrl.PageChangeListener\))
* Polygon.createPolygon -> \[`Polygon.create`]\(<https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/annots/Polygon.html#create(com.pdftron.sdf.Doc>, com.pdftron.pdf.Rect))
* PolyLine.createPolyLine -> \[`PolyLine.create`]\(<https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/annots/PolyLine.html#create(com.pdftron.sdf.Doc>, com.pdftron.pdf.Rect))
* Markup.SetPadding -> [`Markup.setPadding`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/annots/Markup.html#setPadding\(double\))
* Line.setCapPos -> [`Line.setCaptionPosition`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/annots/Line.html#setCaptionPosition\(int\))

## Bug fixes

* Miscellaneous bug fixes and improvements


---

# 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-8-0.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.
