> 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/ios/changelogs/version-6/v6-10-0-69865.md).

# Version 6.10.0 Changelog (March 4th, 2019)

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

* Version: 6.10.0
* Release Date: March 4th, 2019
* Built with Xcode 10.1 (10B61)

## New

* The [`PTDocumentViewController`](/ios/basic-operations/open/doc-view.md) document opening API has been expanded to support more file formats. It is now possible to open PDF, Microsoft Office, iWork (Pages, Keynote, Numbers), image, markdown, and other file formats in the document viewer. The files can be located locally or remotely and are downloaded by the viewer as necessary. For more information on the supported file formats, please see the [document conversion guide](/ios/conversion/convert-to-pdf.md).

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

```swift
// Open a PDF, .docx, .pptx, .xlsx, .doc, and more.
documentViewController.openDocument(with: documentURL)
```

{% endcode %}
{% endtab %}

{% tab title="Obj-C" %}
{% code lineNumbers="true" %}

```objc
// Open a PDF, .docx, .pptx, .xlsx, .doc, and more.
[documentViewController openDocumentWithURL:documentURL];
```

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

* The readonly and locked permissions on annotations defined within the PDF (see [`PTAnnotFlag`](https://sdk.apryse.com/api/ios/Enums/PTAnnotFlag.html) for more information) can optionally be respected when attempting to select and edit annotations. This [option](https://sdk.apryse.com/api/ios/Classes/PTToolManager.html#/c:objc\(cs\)PTToolManager\(py\)annotationPermissionCheckEnabled) is found on the [`PTToolManager`](https://sdk.apryse.com/api/ios/Classes/PTToolManager.html) class.
* The [`PTPDFViewCtrl`](https://sdk.apryse.com/api/ios/Classes/PTPDFViewCtrl.html) class has a new [`GetThumbAsync:completion:`](https://sdk.apryse.com/api/ios/Classes/PTPDFViewCtrl.html#/c:objc\(cs\)PTPDFViewCtrl\(im\)GetThumbAsync:completion:) method for requesting page thumbnails that executes a completion block when the thumbnail is ready.
* Improved [annotation author API](https://sdk.apryse.com/api/ios/Classes/PTToolManager.html#/c:objc\(cs\)PTToolManager\(py\)annotationAuthor), now accessible on the [`PTToolManager`](https://sdk.apryse.com/api/ios/Classes/PTToolManager.html) class.
* A new PDF visual compare/diff API, available on the `PTPDFDoc` class's [`AppendVisualDiff:p2:opts:`](https://sdk.apryse.com/api/ios/Classes/PTPDFDoc.html#/c:objc\(cs\)PTPDFDoc\(im\)AppendVisualDiff:p2:opts:) method. Please see our [File comparison](/ios/compare-files/file-comparison-i.md) guide for more information and examples.

## Bug fixes

* Improved memory usage in the `PTPDFViewCtrl` and thumbnail browser (`PTThumbnailsViewController`).
* A number of miscellaneous bug fixes and improvements.

## API diff

* The signature of the [`openDocument(with:)`](https://sdk.apryse.com/api/ios/Classes/PTDocumentViewController.html#/c:objc\(cs\)PTDocumentViewController\(im\)openDocumentWithURL:) method on the `PTDocumentViewController` class has changed and no longer throws in Swift. Errors are now reported via the [`PTDocumentViewControllerDelegate`](https://sdk.apryse.com/api/ios/Protocols/PTDocumentViewControllerDelegate.html) protocol.
* Nullability specifiers have been added to the `PTPDFViewCtrl` class and the `PTPDFViewCtrlDelegate` and `PTPDFViewCtrlToolDelegate` protocols.
* The [`PTAnalyticsHandlerAdapter`](https://sdk.apryse.com/api/ios/Classes/PTAnalyticsHandlerAdapter.html#/c:objc\(cs\)PTAnalyticsHandlerAdapter\(cm\)getInstance) class has been deprecated in favor of the new [`PTAnalyticsManager`](https://sdk.apryse.com/api/ios/Classes/PTAnalyticsManager.html) API.
* The `PTLocalizedString` macro is now a \[function]\(<https://sdk.apryse.com/api/ios/Other> Functions.html#/c:@F\@PTLocalizedString) that is accessible from Swift.


---

# 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/ios/changelogs/version-6/v6-10-0-69865.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.
