Changelog
Follow us on Twitter for updates. Our blog highlights the best new features and changes.
Newest Release
14.1.1 - 21 Oct 2024
PSPDFKit
- Fixed
Fixes a deadlock that could occur when generating Instant JSON in response to an annotation change notification. (J#IOS-584)
- Fixed
Fixes an issue where too much memory was used when decoding JPEG2000 image masks. (J#CORE-636)
Previous Releases
14.1.0 - 10 Oct 2024
PSPDFKit
- Added
Adds shrinking the measurement label to fit inside elliptical and rectangular area measurement annotations instead of showing the note indicator. (J#IOS-562)
- Fixed
Fixes a regression from PSPDFKit 13.6, where applying Instant JSON to a document didn’t work without the forms feature in the PSPDFKit license. (J#IOS-575)
- Fixed
Fixes the blend mode not being read correctly, resulting in annotations reverting to a normal blend mode. (J#CORE-691)
- Fixed
Fixes PDFs with millions of outline elements using too much memory. (J#CORE-694)
- Fixed
Fixes form contents sometimes being rotated after exporting and then importing from Instant JSON. (J#CORE-647)
- Fixed
Fixes form flags being overwritten when using the processor and when
NeedAppearances
was set in the PDF. (J#CORE-45331) - Fixed
Fixes handwritten signatures sometimes appearing distorted in some page orientations. (J#ANDR-824)
- Fixed
Fixes an incorrect font weight being selected for the Lexend font. (J#CORE-339)
Examples
- Added
Adds the calibration tool to the Measurement Tools example in our Catalog app. (J#IOS-562)
14.0.1 - 19 Sep 2024
PSPDFKit
- Fixed
Fixes some annotations losing their font color when exported to XFDF and imported again. (J#CORE-680)
- Fixed
Fixes undo not tracking the correct annotations when using a document with multiple data providers. (Z#117081)
- Fixed
Fixes PDF JavaScript reporting an error when setting a custom value to a combo box form field. (J#CORE-675)
- Fixed
Fixes parsing timestamp policies with short OIDs in digital signatures. (J#SERVER-1231)
- Fixed
Fixes digitally signing a document sometimes resulting in an error in Adobe Acrobat about a modified page. (J#CORE-45204)
- Fixed
Fixes digitally signing with the SHA384 hashing algorithm not working. (Z#116874)
14.0.0 - 16 Sep 2024
PSPDFKit now requires and is built with Xcode 16.0.
This release adds support for iOS 18, macOS 15 Sequoia, and visionOS 2, while still working back to iOS 15 and macOS 12 Monterey. To concentrate our development and support efforts, we’ll soon raise our deployment targets to iOS 16 and macOS 13 Ventura, removing support for iOS 15 and macOS 12 Monterey.
PSPDFKitUI
- Removed
Deprecates
PDFConfiguration.textSelectionShouldSnapToWord
. PSPDFKit will soon switch to standard system text selection and will no longer support forced snapping. (J#IOS-382) - Changed
Improves performance when entering custom text in choice form fields by not updating the document render until after text editing finishes. (Z#109083)
- Changed
Changes the keyboard type for ‘Go to Page’ to
.numbersAndPunctuation
to enable non-numeric input on iPhone. (#45008) - Fixed
Fixes an issue where the numerical value of
NSNotFound
is displayed in the outline list when the page index can’t be determined for an outline element. (Z#116497)
PSPDFKit
- Changed
Changes the return value of
Document.pageLabelForPage(at:substituteWithPlainLabel:)
tonil
whenNSNotFound
is provided for thepageIndex
parameter. (Z#116497) - Fixed
Fixes a crash when opening certain image files with broken XMP/EXIF headers. (J#CORE-665)
- Fixed
Fixes an issue where annotations exported to XFDF and then imported again may lose their text color. (J#CORE-648)
- Fixed
Fixes an issue where annotations loaded using
XFDFAnnotationProvider
may not be visible right away until you select them. (J#CORE-669) - Fixed
Fixes an issue where signatures on rotated pages were displayed incorrectly. (J#CORE-672)
- Fixed
Fixes an issue where some signatures with Long-Term Validation information may be incorrectly reported as invalid. (J#CORE-654)
- Fixed
Fixes an issue where the same font was embedded multiple times when entering diacritics, leading to a massive file size. (J#CORE-634)
- Removed
Removes the curved edges on text highlights. (J#ANDR-313)
13.9.1 - 30 Aug 2024
- Changed
Improves the evaluation experience. (J#CORE-667)
13.9.0 - 15 Aug 2024
PSPDFKitUI
- Removed
Deprecates
PDFConfiguration.textSelectionMode
. We recommend leaving this at its default value ofautomatic
to provide the best user experience. PSPDFKit will switch to standard system text selection soon and will no longer support alternative modes. (J#IOS-382) - Added
Adds automatically setting the background for tab bars with
PDFView
. (Z#115586) - Changed
Changes
PDFView
’s navigation bar toolbar background from.regularMaterial
to the default, which is less transparent, providing better legibility. (Z#115586) - Changed
Improves performance when first creating a
PDFConfiguration
object. (Z#115578) - Fixed
Fixes default instances of
PDFConfiguration
not being equal, which could have caused infinite update loops withPDFView
. (J#IOS-450) - Fixed
Fixes dragging selected annotations not working consistently while the selection tool is active. (J#IOS-409)
- Fixed
Fixes the scrubber bar not being displayed in vertical configurations on Mac Catalyst. (J#IOS-415)
- Fixed
Fixes the close button not being added by default when
PDFViewController
is presented modally directly in a navigation controller and theuseParentNavigationBar
configuration property istrue
. (#41850)
PSPDFKit
- Changed
Updates HarfBuzz library to 9.0.0. (J#CORE-625)
- Fixed
Fixes an issue where a PDF rendered incorrectly. (J#CORE-643)
- Fixed
Fixes an issue where converting a bitonal TIFF with a lot of pages consumed too much memory. (J#CORE-621)
- Fixed
Fixes an issue where setting a choice form element’s contents could lead to a deadlock. (J#IOS-344)
Examples
- Changed
Improves the E-Reader example and various SwiftUI examples in the Catalog app on iPad in landscape by using
.adaptive
spread fitting instead of.fill
. (#44770) - Changed
Renames the “Highlighting like in Apple Books” Catalog example to “Create Highlights From Selected Text” because the behavior of Apple Books has changed. (J#IOS-382)
13.8.0 - 16 Jul 2024
PSPDFKit now requires and is built with Xcode 15.4.
PSPDFKitUI
- Added
Adds support for managing toolbar button setup while using
PDFView
in SwiftUI. You can now add buttons likeDefaultToolbarButtons
,AnnotationButton
,SearchButton
,OutlineButton
, andThumbnailsButton
using thetoolbar(content:)
modifier to customize the toolbar. See our SwiftUI guide for more information. (J#IOS-401) - Added
Adds
PDFView.showDocumentTitle(_:)
to control where the document title is shown. Also changes the default to not show the document label when usingPDFView
. (J#IOS-428) - Changed
Improves
PDFView
souseParentNavigationBar
is no longer required. (J#IOS-429) - Changed
Updates
PDFView
to add a default styling using regular material for the navigation bar. (J#IOS-429) - Changed
Updates
PDFView
to ignore the safe area internally for better user interface animations. (J#IOS-429)
PSPDFKit
- Added
Adds a one-step API to add an annotation to a document from Instant JSON:
PDFDocumentProvider.addAnnotation(fromInstantJSON:attachmentDataProvider:)
. (J#IOS-452) - Added
Adds support for parsing custom colors in PDF JavaScript and for converting colorspaces by using the
color.convert
API. (J#CORE-580) - Changed
Changes the quality of service for loading
ImageDocument
from utility to user initiated. (Z#114180) - Changed
Updates the Botan library to version 2.19.5. (J#CORE-633)
- Changed
Updates the STB library to version 2.30. (J#CORE-570)
- Fixed
Fixes a crash when editing the content of some documents. (J#CORE-601)
- Fixed
Fixes an issue where a comment status may not show when a saved file is open in third-party software like Adobe Acrobat. (J#CORE-610)
- Fixed
Fixes an issue where redaction didn’t handle certain text objects correctly, resulting in some displaced text. (J#CORE-612)
- Fixed
Fixes an issue where signed form fields may not display correctly on rotated pages. (J#CORE-608)
- Fixed
Fixes an issue where text in form elements appeared smaller during editing when the field specifies a font size slightly larger than would fit within the height of the form element. (J#IOS-324)
- Fixed
Fixes the
priority
ofRenderTask
being ignored, which would have led to page view rendering being delayed until tasks at the default quality of service finished. (Z#114180)
Examples
- Added
Adds a new example,
SwiftUIDefaultToolbarExample
, which demonstrates how to use the default the toolbar buttons withPDFView
. (J#IOS-418) - Changed
Updates all the SwiftUI examples to use the new SwiftUI APIs for customizing the toolbar of a
PDFView
. See our SwiftUI guide for more information. (J#IOS-418) - Changed
Updates
CustomizingFormAppearanceExample
to correctly reposition labels over form fields when the page view’s frame updates. (Z#113920)
13.7.0 - 18 Jun 2024
PSPDFKitUI
- Added
Adds showing an error message on the page when there isn’t enough memory to render that page. (J#IOS-377)
- Fixed
Fixes modally presented
PDFViewController
s from being dismissed when completing or canceling the sharing process initiated fromopenInButtonItem
. (Z#112873)
PSPDFKit
- Added
Adds a new
PDFViewControllerDelegate
method,pdfViewController(_:didFinishRenderTaskFor:error:)
, to get information about if an error occurs while rendering for a page view. (J#IOS-466) - Changed
Changes
Document.renderPage(at:context:size:clippedTo:annotations:options:)
to render an error placeholder and the annotations into the context even when an error occurs. (J#IOS-377) - Fixed
Fixes a crash related to dynamically linking SQLite when debugging on iOS 18 with the Thread Performance Checker enabled. This didn’t impact release builds and can be worked around in earlier PSPDFKit versions by disabling the Thread Performance Checker in your Xcode scheme settings. (Z#113568)
- Fixed
Fixes an issue where exporting and importing Instant JSON may incorrectly move annotations or forms. (J#CORE-589)
- Fixed
Fixes an issue where some digital signatures may incorrectly report as invalid. (J#CORE-597)
- Fixed
Fixes an issue where some digital signatures may not be validated correctly. (J#CORE-607)
- Fixed
Fixes an issue where the
value
property of theField
object in JavaScript may return an incorrect type in some cases. (J#CORE-582) - Fixed
Fixes an issue where too many fonts were added to the PDF in certain rare circumstances, causing crashes. (J#CORE-605)
- Fixed
Fixes an issue where, in some cases, PDF JavaScript that changes the value of a form field was not executed correctly. (J#CORE-590)
13.6.0 - 30 May 2024
PSPDFKitUI
- Added
Adds support for
.noZoom
flag for stamp annotations. (J#IOS-431) - Changed
Improves the menu behavior by keeping it presented after selecting Ungroup. (J#QA-160)
- Fixed
Fixes incorrect placement of the annotation selection menu for note and sound annotations when zoomed in. (#44193)
- Fixed
Fixes long-pressing to select and drag annotations, deselecting other annotations in the same group after the gesture ended. (J#IOS-445)
- Fixed
Fixes overlay annotations not getting rendered in the document images generated for sharing with the flatten annotations option. (#44266)
- Fixed
Fixes sound annotation icons being not visible on pages on visionOS. (J#IOS-446)
- Fixed
Fixes the length of the rotation stick shown for selected rotatable annotations when zoomed into a page. (#44193)
- Fixed
Fixes the selection view for fixed-size annotations appearing larger while using the selection annotation tool. (#44193)
- Fixed
Fixes the menus for text selection, annotation selection, and annotation creation not being available when running an iOS app on an Apple silicon Mac. Just like on Mac Catalyst, these menus are only shown on secondary click. In general, using PSPDFKit in an iOS app running on a Mac is unsupported and untested. We recommend using Mac Catalyst instead. (J#IOS-63)
PSPDFKit
- Added
Adds support for RegExp.$1 to RegExp.$9 to access regular expression capturing groups from PDF scripts. (J#CORE-567)
- Changed
Improves TIFF image document quality by respecting the any embedded DPI values. (J#CORE-522)
- Changed
Improves the performance of the snapping tool with construction documents. (J#CORE-536)
- Changed
Renames the internal
OutOfMemory
thread toMemoryHandling
to reduce confusion in stack traces. (J#CORE-581) - Changed
Updates the HarfBuzz library to version 8.5.0. (J#CORE-583)
- Fixed
Fixes an issue where, after redacting, some images were displaying wrong (e.g. black instead of white). (J#CORE-561)
- Fixed
Fixes an issue where redaction annotations could not be applied by third-party software like Adobe Acrobat. (J#CORE-555)
- Fixed
Fixes an issue where the SDK could freeze when importing Instant Document JSON into a document with a lot of form fields. (J#IOS-444)
- Fixed
Fixes an issue where the line dash pattern was rendered differently from other PDF readers. (J#CORE-540)
- Fixed
Fixes an issue where the page labels may be incorrect in some documents. (J#CORE-560)
- Fixed
Fixes an issue where the redaction tool may redact a bigger area than necessary in some documents. (J#CORE-562)
Examples
- Changed
Updates the
FloatingStampsExample
to use the.noZoom
annotation flag to get the floating behavior. (J#IOS-434)
13.5.0 - 23 Apr 2024
PSPDFKitUI
- Changed
Disables an assertion, “Your license does not include Redaction,” that could occur when the
redactionInfoButton
’s action was called in unknown circumstances. (Z#110952) - Fixed
Fixes a crash on Mac Catalyst in Optimized for Mac mode when changing the scale of a measurement in measurement settings. (J#IOS-405)
- Fixed
Fixes the scrubber bar being visible when in the thumbnails view mode on visionOS. (J#IOS-327)
PSPDFKit
- Added
Adds support for editing the content of PDF documents that use Type3 fonts. (J#CORE-478)
- Changed
Improves the content editing functionality in documents that contain tables. (J#CORE-506)
- Changed
Avoids out-of-memory terminations when opening documents with very complex pages by canceling rendering when receiving critical memory warnings. PSPDFKit will retry the rendering if sufficient memory becomes available. Otherwise, the page will display as a blank rectangle. (J#IOS-82)
- Changed
Updates the HarfBuzz library to version 8.3.1. (J#CORE-524)
- Fixed
Fixes a crash when calling the measurement value configuration API on an invalid
Document
. (Z#110775) - Fixed
Fixes a rendering issue causing pages to appear too small. (J#CORE-550)
- Fixed
Fixes a rendering issue where pages may display upside down. (J#CORE-545)
- Fixed
Fixes an issue where text highlights were split when there was a tiny gap in the sentence. (J#CORE-510)
- Fixed
Fixes an issue where the text in a callout annotation may appear in the wrong position. (J#CORE-466)
- Fixed
Fixes an issue where the text selection rectangle was too big, resulting in squashed text. (J#CORE-496)
- Fixed
Fixes an issue where validating some documents with LTV information may incorrectly return that the revocation status couldn’t be checked. (J#WEB-1042)
- Fixed
Fixes an issue with PDF comparison when the content stream didn’t contain any stroke color commands. (J#CORE-533)
- Fixed
Fixes deleting the value of a form field incorrectly showing the previous value in some situations. (J#CORE-531)
- Fixed
Fixes measurement labels on rotated pages not being exported correctly. (J#CORE-529)
- Fixed
Fixes the appearance of unsigned signature form fields ignoring some property changes, like their border width. (J#CORE-417)
Instant
- Fixed
Fixes a deadlock when syncing annotations on a certain document containing stamp annotations in PSPDFKit Instant. (J#ANDR-277)
- Fixed
Fixes image attachments losing transparency information when synced. Now images will use PNG if they have alpha information. (J#IOS-346)
13.4.1 - 29 Mar 2024
- Added
Adds empty entries for
NSPrivacyTrackingDomains
andNSPrivacyCollectedDataTypes
in the privacy manifest files for all frameworks. (Z#110709)
PSPDFKitUI
- Added
Adds support for changing the title of the sharing screen using
PDFDocumentSharingViewController.title
. (#43760) - Changed
Improves the title of the sharing screen (
PDFDocumentSharingViewController
) by matching it to the sharing destination if only one destination is provided. (#43760) - Fixed
Fixes an empty scrubber bar being shown for password protected files on visionOS. (J#IOS-326)
PSPDFKit
- Fixed
Fixes a regression in 13.4.0 that could lead to
EXC_BAD_ACCESS (KERN_INVALID_ADDRESS)
crashes, particularly when opening resource intensive documents. (J#CORE-530) - Fixed
Fixes an issue where opening some kind of forms in a tabbed document interface may hang the app. (J#CORE-460)
- Fixed
Fixes licensing alerts not being shown in development builds on Mac Catalyst. (#43745)
13.4.0 - 15 Mar 2024
See the announcement post.
PSPDFKit now requires and is built with Xcode 15.3.
PSPDFKitUI
- Removed
Deprecates
PDFView
initializers with anObservedObject<Document>
as a parameter. Use the initializers with aDocument
parameter instead. (J#IOS-285) - Added
Adds
@MainActor
to protocols and some other API to improve support for Swift concurrency checks. (J#IOS-339) - Added
Adds a
prefersAssistiveTechnologySettings
property onSpeechController
to configure if assistive technology (like VoiceOver) settings are preferred over existingSpeechController
properties likespeakRate
andpitchMultiplier
. (J#IOS-58) - Added
Adds support for deselecting annotations by tapping them when the selection tool is active. (J#IOS-337)
- Added
Adds support for selecting and deselecting annotations while holding the Shift key on a hardware keyboard. (J#IOS-338)
- Added
Adds support for selecting annotations by tapping them when the selection tool is active. (J#IOS-336)
- Changed
Improves handling of link annotation and outlines that navigate to specific view ports of a page within the PDF (explicit destinations). (J#IOS-323)
- Added
Add support for jumping to regions of pages with go to actions, which are used for link annotations and the document outline. E.g. if a section begins half way down a page, the page will be scrolled halfway down if the view settings allow this. (J#IOS-202)
- Fixed
Fix view state restoration not working at times when a view controller is pushed and popped on the navigation stack the
PDFViewController
is in. (J#IOS-219) - Changed
Works around a system issue where auto-completion suggestions deleted entered text when running an iOS app on an Apple silicon Mac. In general, using PSPDFKit in an iOS app running on a Mac is unsupported and untested. We recommend using Mac Catalyst instead. (Z#109790)
- Fixed
Fixes an issue where tapping a push button form element could trigger an infinite recursion in certain documents. (J#IOS-140)
PSPDFKit
- Fixed
Fixes a rare crash in certain PDF documents with JavaScript. (J#CORE-500)
- Fixed
Fixes an error message that may appear in the logs when using the snapping tool. (J#CORE-391)
- Fixed
Fixes an issue where font names with certain encodings may not be parsed correctly. (J#CORE-292)
- Fixed
Fixes an issue where opening a document with a digital signature may report additional changes. (J#CORE-473)
- Fixed
Fixes an issue where redacting some kind of documents may corrupt them. (J#CORE-375)
- Fixed
Fixes an issue where refreshing the LTV information of some signed documents may fail. (J#CORE-499)
- Fixed
Fixes an issue where shape annotations imported via Instant JSON may incorrectly show a black border. (J#CORE-392)
- Fixed
Fixes an issue where the appearance of unsigned signature form fields may ignore some property changes, like their border width. (J#CORE-412)
- Fixed
Fixes undo not being possible for edits to annotations that were created from Instant JSON or
XFDFParser
. (J#IOS-347)
Instant
- Changed
When opening a document with form elements, the form elements will be ignored instead of crashing. Instant on iOS doesn’t support forms. (Z#109524)
Examples
- Added
Adds a Catalog example showing a
SignatureStore
backed by Instant JSON (InstantJSONSignatureStoreExample
). (Z#108880) - Changed
Updates the Go dependcies used by the
cryptor-cli
tool that can be used to encrypt and decrypt files on the server. (J#IOS-258)
13.3.3 - 4 Mar 2024
PSPDFKitUI
- Fixed
Fixes reordering signatures in the saved signatures list not always passing the correct order to the
SignatureStore
. (#43548)
PSPDFKit
- Fixed
Fixes a crash when listing embedded files in certain rare PDFs. (J#CORE-493)
Instant
- Fixed
Fixes JWT tokens with Base64 URL-safe encoding in the payload part not parsing correctly. (J#CORE-492)
- Fixed
Fixes sync failing when unsupported objects are received. These objects will be ignored instead. (J#CORE-407)
13.3.2 - 22 Feb 2024
PSPDFKitUI
- Changed
Enables using the Content Editor for any writable single data provider documents. (J#IOS-332)
- Fixed
Fixes Go to Page not showing an alert when entering a number greater than the number of pages in the document. (Z#108795)
- Fixed
Fixes an issue where assigning a custom
PageLabelFormatter
toPageLabelView.labelFormatter
didn’t work. (#43250)
PSPDFKit
- Added
Adds an
invalidURLString
property onURLAction
to read invalid URLs from documents. (Z#108707) - Fixed
Fixes an issue where text with negative font sizes caused the text to vanish in Content Editor. (J#CORE-438)
- Fixed
Fixes an issue where calling
Field.value
in a PDF JavaScript script may return the wrong value. (J#CORE-450) - Fixed
Fixes an issue where calling the PDF JavaScript API
field.setItems
may not change the form’s value. (J#CORE-430) - Fixed
Fixes an issue where intermittent rendering errors occurred while zooming in and out, resulting in incomplete page displays. (J#CORE-447)
- Fixed
Fixes an issue where the user and password provided with the
timestampSource
inSigningConfiguration
was incorrecty percent encoded when contacting the timestamping server when digitally signing. (Z#108336) - Fixed
Fixes an issue where extracted text was garbled due to incomplete reading order information in the PDF. (J#CORE-385)
- Fixed
Fixes an issue where text with the FL and FI ligatures wasn’t extracted correctly. (J#CORE-443)
- Fixed
Fixes an issue where the text selection of italic characters was too large. (J#CORE-444)
13.3.1 - 22 Feb 2024
- Fixed
Fixes the XCFrameworks’ signatures not being valid.
13.3.0 - 23 Jan 2024
See the announcement post.
This release adds support for visionOS. See the Introducing PSPDFKit for visionOS blog post for details.
⚠️ The XCFrameworks in this release no longer have valid signatures. Please update to 13.3.1 or see our framework signature validation failed guide.
PSPDFKit now requires and is built with Xcode 15.2.
- Added
Adds privacy manifests for all our frameworks. (J#IOS-26)
- Removed
Removes APIs that were deprecated in PSPDFKit 11.4 and 11.5. For more information see the migration guide. (#42617)
PSPDFKitUI
- API
Calling
WebViewController.modalWebView(with:)
on a subclass ofWebViewController
no longer attempts to create an instance of the subclass. (Z#39981) - API
Changes timestamps from
DrawView.timePoints
to be relative to the first touch (so they start at zero) instead of using Unix timestamps. This was done to avoid use ofProcessInfo.systemUptime
which is a “required reason” API. (J#IOS-26) - Added
Adds
dashArray
,lineEnd1
,lineEnd2
, andfillColor
(line end color) to the defaultpropertiesForAnnotations
for measurement annotations, which makes these properties editable in the annotation inspector. (Z#107080) - Added
Adds
PDFConfiguration.mainToolbarMode
on visionOS that can be used to display toolbar items such as annotation tool, document editing, etc. in the navigation bar or in an ornament anchored to the top of the main window. See our guide for more details. (#43078) - Added
Adds
PDFViewController.setMainToolbarOrnamentItems(_:for:)
to configure the toolbar items in the ornament anchored to the top of the main window. This can use the new in-built ornament items such asPDFViewController.annotationOrnamentItem
,bookmarkOrnamentItem
. See our guide for more details. (#43080) - Added
Adds annotation and document editor toolbars as ornaments on visionOS. (J#IOS-134)
- Added
Adds hover feedback for visionOS throughout the UI, including in the thumbnail view mode, scrubber bar, and various toolbars. (J#IOS-119, J#IOS-120, J#IOS-121, J#IOS-122)
- Added
Adds tabs to main toolbar ornament when using
PDFTabbedViewController
on visionOS. (J#IOS-149) - Changed
Improves adding Electronic Signatures from the annotation creation menu (long press in empty space on page) by adding the signature annotations at the point that was pressed instead of in the middle of the page. (J#IOS-214)
- Changed
Optimizes annotation and text selection menus for visionOS. (#42658)
- Fixed
Fixes a crash when showing the link annotation editor for a subclass of
Document
. (Z#39981) - Fixed
Fixes annotation resizing knobs being unresponsive while dragging quickly. (J#IOS-254)
- Fixed
Fixes the font selection list unexpectedly closing when adding a signature with the device in landscape orientation. (J#IOS-65)
PSPDFKit
- API
Changes the signature of the
unlockCertificateChain(withPassword:) async
API to be synchronous as it does not carry out any tasks asynchronously. (#42978) - API
Removes
.widthInsensitive
from the default value ofTextSearch.compareOptions
because this option is not compatible with smart search, which is enabled by default. This will have no effect on behavior unless you’re disabling smart search by removing.regularExpression
from this option set. (J#IOS-193) - API
The implementations of
NSCopying
inDocument
,TextSearch
, andPageLabelFormatter
will no longer return instances of subclasses. This was unsafe because subclasses may have additional initialization requirements. (Z#39981) - API
PDFViewController.present(with:options:sender:animated:configurationBlock:)
will no longer present an instance of a subclass ofPDFViewController
. If you need to use your subclass, override this method. (Z#39981) - Removed
Deprecates
PageSize(_:name:)
in favor of the existing equivalent initializerPageSize(size:name:)
. (Z#39981) - Removed
Deprecates
TextSearch.compareOptions
in favor of the newTextSearch.comparisonOptions
. The old property will no longer store unhandled options fromNSString.CompareOptions
such as.anchored
because it is internally backed by the new property. (J#IOS-193) - Added
Adds API for programmatic regular expression (regex) search in a document by using the new
TextSearch.comparisonOptions
property withTextSearch.ComparisonOptions.regularExpression
. (J#IOS-193) - Added
Adds support for adding long term validation when signing a form element using
Document.sign(formElement:configuration:outputDataProvider:)
. (J#IOS-216) - Added
Adds support for adding long term validation when validating a signed form element using
Document.addLongTermValidation(toFormElement:certificates:)
. (J#IOS-217) - Added
Adds support for verifying a signature and checking the revocation status of the used certificates using
PDFSignatureValidator.verifySignatureAndCheckRevocationStatus(withTrustedCertificates:)
. (J#IOS-229) - Changed
Improves Document Editor performance when dealing with large documents. (#42927)
- Changed
When initializing a
Document
with data providers or appending data providers to an existing document, there is now an assertion that all data providers need to be unique. (Z#107544) - Fixed
Fixes a potential crash when generating AP streams. (J#CORE-364)
- Fixed
Fixes a regression from PSPDFKit 13.2 where deadlocks would occur more frequently with immediate document checkpointing. The issue remains, but the frequency should be back to how it was before. (J#IOS-185)
- Fixed
Fixes freetext callout rendering and rich text link render on rotated pages. (J#CORE-297)
- Fixed
Fixes vertical alignment of free text annotations when using rich text. (#42793)
Examples
- Added
Adds
DigitalSignatureConfigurationExample
that allows customizing various options when digitally signing. (#42823) - Fixed
Fixes drawn signatures being very thin in the Sign All Pages Catalog example. (J#IOS-214)
13.2.0 - 20 Dec 2023
See the announcement post.
⚠️ The XCFrameworks in this release no longer have valid signatures. Please update to 13.3.1 or see our framework signature validation failed guide.
- Changed
Improves API safety for apps using Objective-C by removing various uses of
__kindof
(which allows implicit casting to subclasses). (#42436)
PSPDFKitUI
- Changed
Improves contrast of text in the bookmark list in dark mode. (#42655)
- Fixed
Fixes free text annotations arriving via Instant, Instant JSON or XFDF that fitted without clipping on another device sometimes clipping when moved. (J#IOS-190)
PSPDFKit
- API
Improves type safety by changing the return type of
Document.annotations(byDetectingLinkTypes:forPagesAt:options:progress)
from[NSNumber : [Annotation]]
to[NSNumber : [LinkAnnotation]]
. (#42436) - Added
Adds new digital signature API with support for timestamping via
Document.sign(formElement:configuration:outputDataProvider:)
. (J#IOS-195) - Added
Adds additional APIs for digital signature verification on
PDFSignatureStatus
. (J#IOS-210) - Added
Adds a new async API to unlock a PKCS12 archive -
PKCS12.unlockCertficateChain(withPassword:)
. (J#IOS-220) - Added
Adds a
defaultMeasurementValueConfiguration
property onDocument
to set the default units and precision for the Add Scale and Calibrate Length views. (Z#39656) - Fixed
Fixes a crash while looking up character codes. (J#CORE-348)
- Fixed
Fixes an issue where loading link annotations may incorrectly log an error. (J#CORE-281)
- Fixed
Fixes an issue where the cross-reference table may be invalid after saving a file. (J#CORE-321)
- Fixed
Fixes an issue where the wrong rich text was rendered. (J#CORE-315)
- Fixed
Fixes edits made to annotations after they were created being discarded when editing form fields. (J#IOS-135)
- Fixed
Fixes free text annotation callout line ends when importing from XFDF. (J#CORE-297)
Examples
- Added
Adds a new example,
FormCustomDigitalSigningExample
, to illustrate carrying out a custom signing implementation using the new signing APIDocument.sign(formElement:configuration:outputDataProvider:)
. (J#IOS-220) - Changed
Updates
FormDigitalSigningExampleCustomAppearanceExample
andAsynchronousExternalDigitalSignatureExample
to use the new signing APIDocument.sign(formElement:configuration:outputDataProvider:)
. (J#IOS-220) - Changed
Updates
FormDigitalSigningExample
to illustrate adding timestamp from a timestamp server using the new signing APIDocument.sign(formElement:configuration:outputDataProvider:)
. (J#IOS-220)
13.1.0 - 2 Nov 2023
⚠️ The XCFrameworks in this release no longer have valid signatures. Please update to 13.3.1 or see our framework signature validation failed guide.
- Added
Adds code signatures to the distributed XCFrameworks so it’s possible to validate that they haven’t been modified since we built them. (J#iOS-23)
PSPDFKitUI
- Added
Adds UI to scroll to a specific page by typing when tapping the page label. (J#IOS-124)
- Fixed
Fixes
ThumbnailBar
unnecessarily asserting that its collection view layout isn’t changed. (Z#39285) - Fixed
Fixes a crash related to copying pages from an imported document in the document editor. (J#IOS-99)
- Fixed
Fixes a possible crash on iOS 17 when showing the quality picker when adding images. (J#IOS-146)
- Fixed
Fixes text selection being invisible on Mac Catalyst when the Increase contrast accessibility setting is enabled. (#42312)
PSPDFKit
- Added
Adds an
ignorePageRotation
property toXFDFAnnotationProvider
,XFDFParser
, andXFDFWriter
. (J#CORE-93) - Added
Adds support for showing the signer’s timezone in the appearance of signed signature fields. (J#CORE-263)
- Removed
Removes the
strip-framework.sh
script which is not needed anymore since switching to XCFrameworks, as announced in the version 10 migration guide. (#42105) - Changed
Improves performance loading a document if automatic link extraction is enabled. (J#CORE-215)
- Changed
Updates Harfbuzz to 8.2.2. (J#CORE-275)
- Changed
Updates the default signature watermark for signed documents. (J#WEB-308)
- Fixed
Fixes border style selection for shape annotations in Instant JSON when
strokeDashArray
is not present. (J#CORE-270) - Fixed
Fixes rendering of tiling patterns when zooming. (J#CORE-195)
- Fixed
Fixes XFDF export of dashed borders when cloudy borders were previously set. (J#CORE-185)
- Fixed
Fixes an error ‘Assertion failed: Annotation ID is already known’ which may happen when opening a document. (J#WEB-233)
- Fixed
Fixes an issue where measurement properties weren’t correctly applied when importing XFDF. (J#CORE-225)
- Fixed
Fixes an issue where text annotations imported from XFDF may not render correctly. (J#CORE-279)
- Fixed
Fixes an issue with the util.scand and util.printd functions of the Adobe PDF JavaScript API, which in some cases returned the wrong result. (J#CORE-271)
- Fixed
Fixes invalid GoToAction objects having a default page index of 0. (J#IOS-145)
- Fixed
Fixes the unsetting of annotation flags via Instant JSON. (J#CORE-183)
- Fixed
Fixes possible crashes when removing annotations that are being rendered on another thread. (J#IOS-164)
13.0.1 - 29 Sep 2023
PSPDFKitUI
- Fixed
Fixes a regression from PSPDFKit 13 where it wasn’t possible to tap to move the insertion point or select text in text annotations and form fields. (#42128)
PSPDFKit
- Fixed
Fixes an issue where some color was lost when redacting documents. (J#CORE-201)
Examples
- Fixed
Fixes a crash when tapping the Collaborate button in the Board Meeting example or PSPDFKit Instant example in the Catalog app on Mac. (#42050)
13.0.0 - 18 Sep 2023
See the announcement post.
PSPDFKit now requires and is built with Xcode 15.0.
PSPDFKitUI
- Added
Adds a scale calibration annotation tool to create new measurement value configurations. See our guide for more information. (#41866)
- Added
Adds a floating button when a measurement tool or annotation is selected displaying the selected scale to make choosing a scale easier. (#41866)
- Changed
Improves the behavior on Mac for truncated document title text in the tab bar tabs by showing a tooltip with complete document title on pointer hover. (#41707)
- Changed
Improves the document title display behavior of the tab bar tabs to truncate text in the middle. (#41707)
- Changed
Adjusts horizontal values for
UserInterfaceView.pageLabelInsets
. (#41055) - Fixed
Fixes VoiceOver positions of text paragraphs and annotations when the window is not full screen (when using Stage Manager, Split View or Slide Over). (#41824)
- Fixed
Fixes a crash in
TextSelectionLoupe.__deallocating_deinit
. (J#IOS-64) - Fixed
Fixes a crash when rotating and copying pages in the document editor. (#41975)
PSPDFKit
- API
Removes
AnnotationStyle.Key.measurementScale
,.measurementCalibration
,.measurementPrecision
and replaces them with.measurementValueConfiguration
. (#41866) - Added
Adds support for storing multiple measurement value configurations (scales and precision) in a document. (#41866)
- Changed
Improves memory usage on pages with a lot of vector graphics. (J#CORE-210)
- Fixed
Fixes an issue where embedded files were not transferred when using
Processor
. (J#CORE-205) - Fixed
Fixes an issue where the font name was incorrectly inherited in certain form hierarchies. (J#CORE-69)
12.4.0 - 28 Aug 2023
In preparation for iOS 17, this version of PSPDFKit drops support for iOS 14. (#39956)
PSPDFKitUI
- Added
Adds SwiftUI
PDFView
modifiersmenuForText
,menuForImage
, andmenuForAnnotations
as replacements for the deprecatedonShouldShowMenuItemsForSelectedText
,onShouldShowMenuItemsForSelectedImage
, andonShouldShowMenuItemsForSelectedAnnotations
. (J#IOS-69) - Added
Adds support for system text autocorrection in Content Editor on iOS 15. (#41127)
- Added
Adds the eyedropper tool in the color picker on iOS 17. (J#IOS-60)
- Changed
Improves deciding whether to use double page mode with
PageMode.automatic
in documents where the first page has a different aspect ratio to subsequent pages. (#40535) - Changed
Updates the title of the page range selection screen when sharing from “Range” to “Page Range”. (#38971)
- Fixed
Fixes SwiftUI
PDFView
using legacy menus by default for text and annotation selection. The legacy menus don’t use icons or the context menu appearance for pointers. Now legacy menus will only be used if using the deprecated menu customization APIs. (J#IOS-69) - Fixed
Fixes a memory leak that would occur when exiting Content Editor after interacting with a text box by selecting or deselecting only. (#41326)
- Fixed
Fixes note annotations not maintaining their relative position when moved in a group. (#24123)
PSPDFKit
- Added
Adds fractional inch precisions for Measurement Tools when using yards, feet or, inches, such as 9 yd 5’-3/4”. (#40628, #40969)
- Added
Adds additional flags
invisible
,readOnly
,locked
,toggleNoView
andlockedContents
to the flags property of annotations in InstantJSON. (#41335) - Added
Adds support for OpenType collection fonts (.otc). (J#CORE-91)
- Added
Adds support for digitally signing a document and include a certificate chain. (#40352)
- Changed
Improves AP stream generation to generate more optimal text rendering commands. (J#CORE-101)
- Changed
Improves embedding of OpenType CFF fonts. (#40481)
- Changed
Improves the performance of the snapping feature in complex documents. (#40414)
- Changed
Updates HarfBuzz to 8.1.1. (J#CORE-169)
- Fixed
Fixes an issue when redacting images with a mask referencing a color. (#41558)
- Fixed
Fixes an issue where
borderColor
wasn’t serialized forpspdfkit/text
annotations in Instant JSON. (#40905) - Fixed
Fixes an issue where certain PDF documents couldn’t be opened in Adobe Acrobat after flattening some form annotations. (J#CORE-79)
- Fixed
Fixes an issue where exporting custom stamp annotations to XFDF and then importing them cause them to show blurry. (J#CORE-113)
- Fixed
Fixes an issue where rich text was converted to plain text incorrectly, missing content after new lines. (J#CORE-136)
- Fixed
Fixes an issue where the cloudy border effect was always set when importing annotations from Instant JSON. (#40472)
- Fixed
Fixes an issue where validating some digital signatures created by DocuSign may incorrectly report additional changes. (#39972)
- Fixed
Fixes some issues where errors signing documents may not be reported correctly. (#40998)
- Fixed
Fixes wrong data being returned when the following steps occur: add an annotation to a document, then set the annotation’s
appearanceStreamGenerator
(and setisDirty
totrue
), then callwriteBinaryInstantJSONAttachment
. As a result of this, PSPDFKit may be stricter about a stamp with an image needing a non-empty bounding box in order to get the image as an Instant JSON attachment. (#41349)
Instant
- Fixed
Fixes fetching of image annotation assets upon initial opening of an Instant document. (J#CORE-12)
Examples
- Changed
Updates some examples to not use configuration options when using a gallery URL in link annotations. (#41651)
12.3.1 - 5 Jul 2023
PSPDFKit now requires and is built with Xcode 14.3.1.
PSPDFKitUI
- Changed
Improves ink annotation rendering to avoid artefacts at line ends. (#21933)
- Changed
Improves limiting text entry for multiline form fields to avoid allowing adding extra characters that may not end up rendering on the page. (#39405)
- Fixed
Fixes 3 finger VoiceOver scroll gesture to switch pages in
.perSpread
page transition mode not changing pages. (#40878) - Fixed
Fixes possible ink annotation jumps after multiple erasure strokes. (#34020)
- Fixed
Fixes the thumbnails sometimes disappearing while switching between the document view mode and thumbnails view mode. (#40507)
PSPDFKit
- Added
Adds the option to specify a format version when generating Instant JSON for an annotation or document. PSPDFKit 12.1 switched from generating version 1 to version 2. (#40611)
- Changed
Apply patch to libtiff to fix CVE-2023-2731. (#40657)
- Fixed
Fixes a crash that occurred when using PSPDFKit without setting a license key without first using the
PSPDFKit.SDK.shared
object. PSPDFKit remains stricter than it was before 12.3 about requiring that the license key is set before any other PSPDFKit API is called. (Z#37253) - Fixed
Fixes a crash when saving after using Content Editor on a page without a font dictionary. (#40803)
- Fixed
Fixes an issue where sometimes the wrong font is used when applying changes with Content Editor. (#40663)
- Fixed
Fixes an issue where the bold or italic attribute of a font got lost when saving changes with Content Editor. (#40663)
- Fixed
Fixes overrides of text markup annotation classes set on a document not being respected for new annotations created in the UI. (#41079)
12.3.0 - 24 May 2023
See the announcement post.
PSPDFKitUI
- API
Adds new
UIMenu
-based API for customizing the menus for selected text and images, which replaces the existingUIMenuItem
-based API. Please see the migration guide for more details. (#37123) - Removed
Deprecates the
.PSPDFAnnotationCreateActionDidInsert
notification. Use.PSPDFAnnotationsAdded
instead. (#37122) - Removed
Deprecates the
TextSelectionView.discardSelection(animated:)
method. UsePDFPageView.discardSelection(animated:)
instead. (#35894) - Added
Adds moving and resizing text boxes when using Content Editor. (#40344)
- Added
Adds a “Search Web” menu item for selected text.
- Added
Adds a magnifying glass when using text markup annotation tools. (#40046)
- Added
Adds support for right-to-left layout in the tabbed bar (
PDFTabbedViewController
). (#30575) - Changed
Improves Content Editor by making text boxes include whole paragraphs rather than single lines. Text boxes now resize downwards instead of rightwards. (#40344)
- Changed
Improves the text selection menu by using a context menu when secondary clicking with a trackpad or mouse.
- Changed
When pasting and the clipboard/pasteboard contains both an image and string representation, the string will now be ignored instead of being set as the
contents
(note/comment) of the new image annotation. (#40038) - Fixed
Fixes accessibility Speak and Pause actions in the text selection menu being duplicated and not doing anything. The Speak action is now only shown if the Speak Selection accessibility setting is enabled. (#31121)
- Fixed
Fixes an issue where creating annotations using the text selection menu would not ask for the author name first. (#11211)
- Fixed
Fixes annotation tool icons not being visible in the text selection menu. (#37564)
- Fixed
Fixes last used opacity not being applied to text markup annotations created using the text selection menu. (#17379)
- Fixed
Fixes nested inline menus appearing as sub-menus without titles on Mac Catalyst. (#40463)
- Fixed
Fixes not being able to select annotations at the same time as deselecting text or images. (#40229)
- Fixed
Fixes selecting images taking a long time when Speak Selection accessibility setting is turned on. (#23932)
- Fixed
Fixes selecting text over a text markup annotation requiring to hold the finger down for too long. (#29693, #40012)
- Fixed
Fixes the Select All menu action selecting text on a different page than the one where the menu was presented from. (#40463)
- Fixed
Fixes the page index bound to
PDFView
sometimes initially being applied incorrectly. (#40431) - Fixed
Fixes free text annotation not entering edit mode on double click on Catalyst apps that don’t set UIApplicationSupportsIndirectInputEvents to YES. (#40531)
PSPDFKit
- Changed
Improves text rendering, particularly for languages that do not use the Latin alphabet. (#39812)
- Changed
Improves label placement for polygon area measurement annotations with very thick borders. (#36784)
- Changed
Changes the
description
ofFileDataProvider
PDFDocumentProvider
to omit the file path to increase privacy in logging and crash reports. Only a hash will be shown. To see the file path for debugging, useFileDataProvider.debugDescription
instead. (#40440) - Changed
Updates the Botan library to version 2.19.3. (#40107)
- Fixed
Fixes XFDF annotations loaded on a rotated page getting embedded incorrectly in a shared document. (#30616, #27884)
- Fixed
Fixes a crash on iOS 14 when initializing licensing. (#40363)
- Fixed
Fixes a crash that occurred when using
Processor
with a document with a customAnnotationProvider
that doesn’t subclassPDFContainerAnnotationProvider
. (#39630) - Fixed
Fixes a crash when entering Content Editor in a document containing Type 3 fonts. (#3)
- Fixed
Fixes a potential crash when parsing the reading order in an invalidly tagged PDF. (#40419)
- Fixed
Fixes a rare crash when loading a PDF using Instant. (#40419)
- Fixed
Fixes an issue where images could be inverted when redacting JBIG2 images. (#40341)
- Fixed
Fixes an issue where processing would endless loop on malformed PDFs. (#40388)
- Fixed
Fixes an issue where redaction annotations applied on pages with rotation may not appear correctly. (#25007)
- Fixed
Fixes an issue where text in multi line form field was cut off after two newlines. (#40504)
- Fixed
Fixes an issue where the ‘updatedAt’ field in annotations wasn’t preserved correctly when importing JSON. (#37490)
- Fixed
Fixes incorrect bounding box of exported Instant JSON from existing annotations in a document with multiple data providers. (#40070)
- Fixed
Fixes PSPDFKit crashing when a license key was not set instead of running in evaluation mode. As a result of this, PSPDFKit may be stricter about requiring that the license key is set before any other PSPDFKit API is called. (#40470)
- Fixed
Fixes an issue with Full-Text Search queries containing
,
characters. (#39309)
Instant
- Changed
Disables
InstantViewController
’sprintButtonItem
,messageButtonItem
andemailButtonItem
because sharing/exporting is not supported with Instant. (#39630)
Examples
- Removed
Removes
TextSelectionMenuExample
as the “Search Web” action is now part of the default menu. (#37123)
12.2.0 - 18 Apr 2023
- API
Removes all APIs that were deprecated between PSPDFKit 11.0 and PSPDFKit 11.3. See the migration guide for more details. (#39903)
PSPDFKitUI
- Added
Adds default annotation toolbar configurations with 5, 7, 9, 11, 12, 13, and 14 groups to make better use of a range of screen sizes by not collapsing so many tools into groups. The 13 and 14 group configurations are only available if the Measurement Tools feature is enabled in the license. (#39608)
- Changed
Improves font auto-sizing behavior in multiline form fields. (#39267)
- Changed
Improves the consistency of ordering of the tools in the annotation toolbar between various configurations. (#39608)
- Changed
Changes the annotation toolbar to show menus even for groups with a single tool to improve discoverability (because the menu shows the tool name). (#39607)
- Changed
Changes the default annotation toolbar configuration when Measurement Tools are enabled to avoid grouping drawing and erasing tools when there is space for 8 or 10 groups. (#39510)
- Fixed
Fixes
DocumentSharingViewController
not calling itsdidCancelSharingAt
delegate method when sharing at the destination view controller is canceled. (#39867) - Fixed
Fixes a regression that disabled pointer effects for text and annotations when using iPad with mouse or trackpad. (#39834)
- Fixed
Fixes content offset flickering that happened when editing multi-line form fields after zooming in. (#36018)
- Fixed
Fixes crashes that could occur when saving after deleting pages in the document editor. (#37325)
- Fixed
Fixes crashes that could occur when saving after deleting, duplicating, or rotating pages in the document editor. (#24718)
- Fixed
Fixes form editing in night mode using colors that were not adapted for night mode. (#32256)
- Fixed
Fixes multiline text form fields with a small height being incorrectly treated as single-line fields while editing. (#37758)
- Fixed
Fixes the zoom of the page view resetting on changing the appearance mode. (#37719)
- Fixed
Fixes vertical scrubber bar reducing horizontal document view size. (#38118)
PSPDFKit
- API
Renames
FileManager
protocol toFileManagerProtocol
so that it doesn’t clash with Foundation’sFileManager
class. (#39815) - Removed
Deprecates
PDFCache.StoragePolicy
as it was no longer being used in the SDK. (#39928) - Added
Adds support for a
fontSize
property for redaction annotations in Instant JSON, which sets the size of the redaction overlay text. (#39017) - Changed
Improves the appearance of the overlay text in redacted documents, adjusting their font size better to fill the available space. (#3017)
- Changed
Improves the display of the annotation summary sharing option by using larger margins in the resulting document. (#38773)
- Changed
Updates the HarfBuzz library to version 7.0.1. (#36924)
- Fixed
Fixes a crash due to a potential race condition when undoing or redoing changes to free text annotations backed by XFDF providers. (#39594)
- Fixed
Fixes a rare crash that can happen when importing Instant JSON if an annotation has a non-default blend mode. (#39457)
- Fixed
Fixes an exception that occurred when the
progress
of a data provider outlived the data provider and was used again. For example, when opening an Instant document being downloaded, then closing and reopening that same document before the download finished. (#36369) - Fixed
Fixes an issue where some annotations added to a document are not correctly exported to Instant Document JSON. (#39014)
- Fixed
Fixes an issue where the redaction tool may incorrectly displace text in some situations. (#38642)
- Fixed
Fixes night mode rendering for form elements, underline, squiggle, strikethrough, and redaction annotation. (#32256)
- Fixed
Fixes warnings that occurred when unarchiving annotations with the
fontAttributes
set. (#39503)
Instant
- Added
Adds the ability to change text markup annotation type using context menus. (#39063)
Examples
- Added
Adds a Catalog example showing side-by-side tools for creating straight rectangles and cloudy rectangles by setting up a custom tool variant. (Z#35363)
- Fixed
Fixes the bottom-right knob missing in
SelectionKnobsExample
in the Catalog app. (#39463)
12.1.3 - 16 Mar 2023
PSPDFKitUI
- Changed
Improves the interactivity of the page range picker in the document sharing options on iOS 14 and 15. (#38586)
- Changed
Improves Dynamic Type support in the document sharing options (
PDFDocumentSharingViewController
). (#38997) - Fixed
Fixes annotation edits sometimes being lost when changing pages via the outline or bookmarks when using a custom annotation provider. (#34786)
- Fixed
Fixes an assertion about a negative offset while laying out zero-sized scrubber bin view. (#39114)
- Fixed
Fixes a crash when showing
UIPickerView
on Mac Catalyst (either in the document sharing options or in the annotation inspector for measurements) when using the Optimize for Mac interface setting. (#39344) - Fixed
Fixes annotation and page range options incorrectly being shown in the document sharing options when sharing the original file. These options are not shown in the UI as they are ignored in this case. (#36951)
- Changed
Works around a system issue where using the eyedropper tool in the color picker could cause the system to freeze on iOS 16 by hiding the button. This has been submitted to Apple as Feedback FB12017635. (#38655)
PSPDFKit
- Changed
Changes the fallback font for free text annotations from the system font to Helvetica for better interoperability. (Z#35322)
- Fixed
Fixes incorrect bounding boxes in exported Instant JSON for annotations added to a document with multiple data providers. (#27635)
- Fixed
Fixes an issue where a background image was accidentally inverted when redacting certain PDF pages. (#39342)
- Fixed
Fixes a potential crash in low-memory situations. (#39373)
Instant
- Fixed
Fixes automatic sync retry not behaving as expected in the event of lost connections or network problems. (#38265)
Examples
- Changed
Updates
RemoteDocumentURLExample
to use a remote PDF URL that still exists. (#39339)
12.1.2 - 7 Mar 2023
PSPDFKitUI
- Fixed
Fixes the document state overlay not being added, which is used to unlock password-protected documents, show loading progress for remote documents, and show a message when the document is invalid or no document is set. (Z#35404)
12.1.1 - 1 Mar 2023
PSPDFKit
- Fixed
Fixes an issue where saving a PDF file with an indirect null object could cause a crash. (#39127)
12.1.0 - 17 Feb 2023
This release adds the Content Editor component. You can learn more in the announcement post. If you’d like to add this component to your license, please contact our sales team to receive a quote.
PSPDFKitUI
- API
Changes the subclass of
PDFDocumentSharingViewController
fromPDFStaticTableViewController
toUIViewController
. (#36834) - Removed
Deprecates the
UIAction.Identifier.pspdfkit
namespace alias in favour of directly usingUIAction.Identifier.PSPDFKit
. (#37897) - Added
Adds the new Content Editor feature. This new component allows editing and changing the style of text on PDF pages. (#37583)
- Added
Adds delegate modifiers
onDidShowUserInterface
andonDidHideUserInterface
for the SwiftUI PDFView. (#37885) - Changed
Improves entering an annotation author name by showing the keyboard automatically. (#37875)
- Changed
Improves the UX of the undo/redo button in that annotation toolbar and document editor toolbar by showing a menu on tap instead of requiring a long press. (#35865)
- Changed
Improves the display of font names when picking a font variant within a family in the font picker used for free text annotations. (#38750)
- Changed
Changes the behavior of saving confirmation dialog for Document Editor to only appear when closing the document or switching to a different tab. (#38798)
- Removed
Removes the close button image (named “x”) from the asset catalog in favor of the system close bar button item. (#35415)
- Changed
Updates the UI of
PDFDocumentSharingViewController
giving a complete overhaul to flow of sharing documents. (#36834) - Fixed
Fixes a crash that could occur when reloading the document in a view controller with a scrubber bar. (#38048)
- Fixed
Fixes a possible crash
'rotatableAnnotation.documentProvider' must exist
when long pressing to select a stamp annotation if the annotation became detached from the document. (#38075) - Fixed
Fixes adding scaled image annotations not working for images with 16 bits per component without alpha. Screenshots on some newer devices use this format. (#38607)
- Fixed
Fixes an issue where entering and exiting thumbnail view mode multiple times would produce duplicate thumbnail pages. (#31794)
- Fixed
Fixes an issue where incorrect menu items could have appeared in text fields after showing the text selection or annotation menu. (#26347)
- Fixed
Fixes an issue where the displayed document was not correctly updated while a text view was first responder when changing a document. (#38448)
- Fixed
Fixes an uncommon crash “Fatal error: Use of unimplemented initializer
init(layer:)
for classPSPDFKitUI.PeekLayer
”. (#37923) - Fixed
Fixes flexible toolbar borders not being pixel aligned in the
.top
and.inTopBar
positions. (#37995) - Fixed
Fixes flexible toolbars not showing a top border when in the
.top
position (so there was no separator between the navigation bar or tabbed bar and the flexible toolbar). (#37995) - Fixed
Fixes presentation methods for the annotation inspector, comments and color picker view controllers not being available in Objective-C. This fixes the warning “Parameter ‘annotations’ is already documented”. (#37869)
- Fixed
Fixes thumbnails in the link annotation editor being missing for password protected documents. (#38313)
- Fixed
Fixes thumbnails in the link annotation editor not having accessibility labels. (#38313)
PSPDFKit
- API
Changes the version of generated Instant JSON from 1 to 2. Instant JSON version 2 is not compatible with previous versions of PSPDFKit. This version of PSPDFKit and later can import both Instant JSON version 1 and 2. To generate version 1 again, use the new API added in PSPDFKit 12.3.1.
- Removed
Deprecates
PDFSignatureInfo.byteRange
andPDFDocumentProvider.hashDocumentProviderRange(_:hashAlgorithm:)
in favor of the new APIsPDFSignatureInfo.byteRanges
andPDFDocumentProvider.hashOfData(inRanges:algorithm:)
, which useIndexSet
for better interoperability. (#36879) - Removed
Deprecates
PKCS7.create(_:privateKey:certificate:hashAlgorithm:encryptionAlgorithm:)
in favor of the newPKCS7.init(digest:type:privateKey:certificate:hashAlgorithm:encryptionAlgorithm:)
. (#35616) - Added
Adds
PKCS7.init(digest:type:privateKey:certificate:hashAlgorithm:encryptionAlgorithm:)
to create CMS or PAdES-compatible digital signatures. (#35616) - Added
Adds support for the non-standard imagedata XFDF element in stamp annotations. (#36518)
- Changed
Improves calculation of line height when a line is wrapped in a multi-line text form. (#36385)
- Changed
Improves compatibility with other PDF software when rendering multi-line form field text. (#37072)
- Changed
Improves text parsing and text selection. (#38089)
- Changed
Text markup annotations will now be consistently rendered underneath annotations of other types. (#36279)
- Changed
Update libexpat to version 2.5.0. (#37257)
- Changed
Updates Harfbuzz to 6.0.0. (#38024)
- Fixed
Fixes
isResizable
returningtrue
incorrectly in some cases for free text annotations and ink annotations. (#35280) - Fixed
Fixes an issue where applying a redaction annotation may incorrectly invert the colors of certain documents. (#38722)
- Fixed
Fixes an issue where memory usage was very high when searching large documents. (#37893)
- Fixed
Fixes an issue where paths in content may not be rendered. (#35988)
- Fixed
Fixes an issue where redaction draws invalid black boxes on the page. (#37863)
- Fixed
Fixes an issue where the file size increased too much after adding emojis. (#38393)
- Fixed
Fixes an issue where the font information for annotations wasn’t loaded correctly. (#36933)
- Fixed
Fixes an issue where the unicode checkmark character wasn’t rendered correctly. (#36785)
- Fixed
Fixes some cases where
FreeTextAnnotationView
’sendEditing
would be called multiple times when ending editing. (#37455) - Fixed
Fixes some issues where the redaction tool may incorrectly remove more vector graphics than strictly necessary. (#38295)
- Fixed
Fixes the annotation tools creating annotations with default properties (resulting in them being blue) after the app was terminated within 5 seconds of a fresh installation or an update that changed default annotation styles. (#28351)
Examples
- Added
Adds a new Catalog example,
MultipleSharingDestinationsExample.swift
, to demonstrate setting up multiple destinations for sharing a document. (#36834) - Changed
Improves the Measurement Tools example by showing the measurement tools more prominently. (#35876)
- Changed
Catalog search now searches across Example class names. (#36346)
- Changed
Changes
TabbedBarExample
to use documents at writable locations. (#38891) - Changed
Opening PDFs in Catalog and the Open In Catalog example now show more buttons by using
AdaptivePDFViewController
. (#37938) - Changed
Updates
CustomThumbnailViewControllerFilterExample
to return anil
NSProgress
when using custom filtering. (#31794) - Fixed
Fixes a crash when closing the Floating Stamps example in the Catalog app due to the annotation subclass not overriding
supportsSecureCoding
. (#37985) - Fixed
Fixes a memory management issue in
AsynchronousExternalDigitalSignatureExample
. (#38057)
12.0.3 - 23 Jan 2023
PSPDFKit
- Changed
Potentially fixes a crash that could happen on iOS 14 when initializing the framework. (#36093)
12.0.2 - 30 Nov 2022
PSPDFKitUI
- Changed
Improves the “Current Page” option when sharing/exporting a document by using the first page of the spread in the center of the viewport instead of the first visible page. (#35386)
- Changed
Improves page changes using actions (e.g. links) when using the curl page transition by animating even when the destination is more than 5 pages away. (#37623)
- Changed
Moves the actions for changing color and opacity of text markup annotations to the top-level menu. (#37706)
- Fixed
Fixes page changes using actions (e.g. links) not being animated when the destination page has a lower page index than the current page (as long as the destination is not more than 5 pages away from the current page in which case animations are deliberately not enabled). (#37623)
- Fixed
Fixes rectangular and elliptical area measurement annotations incorrectly showing their measurement label while selected when the annotation was sized at the threshold of having enough space to fit the label. (#37693)
- Fixed
Fixes a crash “Requesting note style view height before view has a usable size” that would occur if the notes/comments UI appeared while the keyboard was already visible. (#37448)
- Fixed
Fixes a crash when dropping multiple PDF documents/pages into the document editor UI. (#36532)
PSPDFKit
- Fixed
Fixes the measurement annotation note icon visibility not being updated after changing the line thickness. (#36718)
- Fixed
Fixes an issue where specific PDFs could cause a crash when you quickly switch between pages. (#37498)
Instant
- Fixed
Fixes an issue where syncing of a newly created annotation in a fresh document would sometimes not work. (#37552)
12.0.1 - 3 Nov 2022
PSPDFKit now requires and is built with Xcode 14.1.
PSPDFKitUI
- Fixed
Fixes a regression where the annotation creation menu would sometimes be presented when trying to select text. (#37114)
- Fixed
Fixes an issue where thumbnails would be highlighted in double page mode incorrectly on Mac Catalyst. (#34205)
- Fixed
Fixes drag-and-drop interrupting selecting text when dragging extremely quickly with a pointing device on iPad and Mac. (#37189)
- Fixed
Fixes presentation methods for the annotation inspector, comments and color picker view controllers not being available in Objective-C. (#37121)
- Fixed
Fixes presenting popovers from bar button items in Mac Catalyst apps on macOS Ventura. (#37108)
- Fixed
Fixes selecting a clear fill color from the annotation inspector using a black fill instead on Mac Catalyst. (#37050)
- Fixed
Fixes text and annotations not being deselected when the annotation creation menu is presented. (#37114)
PSPDFKit
- Added
Adds support for serializing and deserializing annotations with measurement info to the XFDF format. (#36936)
- Fixed
Fixes a crash while redacting documents containing the ’ PDF operator. (#36778)
- Fixed
Fixes an issue where redacting certain documents may render some document pages blank. (#35776)
- Fixed
Fixes crashes related to font loading in specific documents. (#36284)
Examples
- Fixed
Fixes an issue where note annotation would be created on a wrong page in double page mode in
CreateNoteFromTextSelectionExample
. (#37116)
12.0.0 - 18 Oct 2022
See the announcement post.
PSPDFKit now requires and is built with Xcode 14. Bitcode support has been removed, as it’s now deprecated and App Store Connect no longer accepts app submissions that contain it.
PSPDFKit 12 includes a new, modern menu system for annotation creation and selection menu. To learn more about the new menu customization APIs, check out our migration guide for this release.
PSPDFKitUI
- API
Adds new
UIMenu
-based API for customizing the annotation creation and selection menus, which replaces the existingUIMenuItem
-based API. Please see the migration guide for more details. (#26133, #35895) - Removed
Deprecates the
PDFPageView.passthroughViewsForPopoverController
property. Use the.popoverPassthroughViews
presentation option when presenting view controllers instead. (#35895) - Removed
Deprecates the
PDFPageView.select(_:animated:)
method. Useselect(annotations:presentMenu:animated:)
orfocus(formElement:toggleValue:animated:)
instead. (#35895) - Removed
Deprecates the
PDFPageView.showColorPicker(for:animated:)
method. UsepresentColorPicker(for:property:options:animated:completion:)
instead. (#35895) - Removed
Deprecates the
PDFPageView.showFontPicker(for:animated:)
method. UsepresentFontPicker(for:options:animated:completion:)
instead. (#35895) - Removed
Deprecates the
PDFPageView.showInspector(for:options:animated:)
method. UsepresentInspector(for:options:animated:completion:)
instead. (#35895) - Removed
Deprecates the
PDFPageView.showLinkPreviewActionSheet(for:from:animated:)
method. UsepresentLinkActionSheet(for:options:animated:completion:)
instead. (#35895) - Removed
Deprecates the
PDFPageView.showNoteController(for:animated:)
method. UsepresentComments(for:options:animated:completion:)
instead. (#35895) - Removed
Deprecates the
PDFPageView.useAnnotationInspector(for:)
method. UsecanPresentInspector(for:)
instead. (#35895) - Removed
Removes automatic user name suggestion starting with iOS 16, and Mac Catalyst on macOS Ventura. Therefore
UsernameHelper.defaultAnnotationUsername
and theString
parameter in the completion block ofUsernameHelper.ask(forDefaultAnnotationUsernameIfNeeded:completionBlock:)
has been made nullable. (#35025) - Removed
Removes the “pt” option from the annotation inspector UI for real world distances for measurement annotations. (#36014)
- Added
Adds delegate modifiers
onDidConfigurePageView
andonDidCleanupPageView
for the SwiftUIPDFView
. (#36470) - Changed
Modernizes the annotation creation and selection menus to use
UIEditMenuInteraction
with support for context menus on iOS 16 and later. (#26133, #35895) - Changed
Improves the organization of annotation toolbar items for medium screen sizes. (#35778)
- Changed
Changes the design of
NoteAnnotationViewController
. It no longer adjusts its background color to the note annotation. (#35348) - Changed
Updates the appearance of the UI to pick a note annotation’s icon and color for a cleaner, more modern look. (#35372)
- Fixed
Fixes
FreeTextAnnotationView
incorrectly trying to become the first responder while its underlying text view is being edited. (#35895) - Fixed
Fixes a possible crash when adding image annotations. (#36970)
- Fixed
Fixes annotations being pasted on a wrong page when using the three-finger gesture or the ⌘V keyboard shortcut. (#23131)
- Fixed
Fixes changes to measurement calibration, scale and precision in the annotation inspector not being undoable. (#36780)
- Fixed
Fixes images not being shown in annotation creation and selection menus on iOS 16. (#35151)
- Fixed
Fixes link annotation views not resetting their background color when selecting and deselecting them programmatically. (#36428)
- Fixed
Fixes resolution of
.automatic
page mode when rotating the device, transitioning to different size classes and embedding aPDFViewController
in custom containers. (#32344, #34230) - Fixed
Fixes the annotation inspector not being presentable after merging ink annotations. (#22206)
- Fixed
Fixes the lack of visual indication for selected annotations that aren’t editable. (#25555)
- Fixed
Fixes the menu not being presentable and customizable for annotations that aren’t editable. (#16215)
- Fixed
Fixes unnecessary page render operations being scheduled when tapping on annotations that aren’t selectable. (#25555)
PSPDFKit
- Removed
Deprecates
UnitTo.point
for measurement annotations because PDF points aren’t a useful real world unit. (#36014) - Added
Adds Hebrew localization. (#36047)
- Added
Adds support for converting multi-image TIFF files to multi page PDFs. (#36108)
- Added
Adds support for undoing changes of the measurement scale and precision properties. (#36780)
- Changed
Changes the behavior of
LinkAnnotation.copyToClipboard()
to copy the URL instead of copying the annotation object itself. (#36428) - Changed
Updates PDFium to version c3451daffa0e96af95b856406668e6188cb139d0. (#36256)
- Changed
Updates libexpat to version 2.4.9. (#36612)
- Changed
Updates the HarfBuzz library to 5.2.0. (#36547)
- Changed
Updates the icons used for note annotations such that they are not clipped when rendered on a page. (#36013)
- Fixed
Fixes a license issue when importing annotations with measurement information via Instant JSON when the license doesn’t include the Measurement Tools feature. (#36660)
- Fixed
Fixes an exception when importing annotations with measurement information from Instant JSON. (#36537)
- Fixed
Fixes an issue generating PDFs from HTML when checkboxes are defined and customer stylesheets are referenced in the HTML head. (#34453)
- Fixed
Fixes an issue where form field flags weren’t preserved correctly when repairing form fields. (#33878)
- Fixed
Fixes an issue where temporary files could have been written into
/
. (#36239)
Examples
- Fixed
Fixes the invalid signature errors in the
EmebedContainedSignatureExample
andEmebedContainedPadesSignatureExample
examples. (#35616)
11.5.2 - 23 Sep 2022
PSPDFKitUI
- Added
Adds the set of changed properties in the
userInfo
dictionary of the.PSPDFAnnotationChanged
notification that is sent whenever an annotation is appended while drawing. (#36433) - Fixed
Fixes an issue where a custom
ThumbnailFilterSegmentedControl
class override might not be used ifThumbnailGridViewCell
has also been overridden. (#36436)
PSPDFKit
- Fixed
Fixes a crash that occured while loading a document with measurement annotations if the Measurement Tools feature was not enabled in the license. (#36587)
11.5.1 - 11 Sep 2022
PSPDFKitUI
- Changed
Improves the label for area measurements in the annotation inspector. (#35726)
- Fixed
Fixes an issue where tapping form elements with
GoTo
actions would have no effect in documents without the form filling permission. (#36109)
PSPDFKit
- Fixed
Fixes a crash that could occur when resizing a free text annotation with empty contents. (#36326)
- Fixed
Fixes an issue where AP streams weren’t reliably generated for form text fields. That resulted in other readers potentially not showing the text. (#36236)
- Fixed
Fixes an issue where certain documents could cause a crash when opening them. (#36272)
- Fixed
Fixes an issue where colored note annotations would be rendered as black in the saved PDF. (#36283)
11.5.0 - 8 Aug 2022
This release adds the Measurement Tools component. You can learn more in the announcement post. If you’d like to add this component to your license, please contact our sales team to receive a quote.
- API
Removes all API that was deprecated in PSPDFKit 10.5. Please see the migration guide for more details. (#35431, #35432, #35433)
PSPDFKitUI
- API
Changes the type of
DocumentSharingConfiguration.applicationActivities
from[Any]
to[UIActivity]
and changes the default value from an array containing justPSPDFActivityTypeOpenIn
to an empty array. (#17178) - Removed
Deprecates
PSPDFActivityTypeOpenIn
, which has been unused since PSPDFKit 9.3 for iOS becauseUIActivityViewController
now includes “open in” functionality directly. (#17178) - Removed
Deprecates the
PDFConfiguration.scrollViewInsetAdjustment
property because using it had no effect. (#16388) - Removed
Deprecates the
ScrubberBar.barTintColor
andScrubberBar.translucent
legacy styling properties. Please use the modernScrubberBar.standardAppearance
andScrubberBar.compactAppearance
properties instead to style the scrubber bar. (#34914) - Added
Adds the ability to view, create and edit measurement annotations: Distance, Perimeter, Polygon Area, Rectangle Area, and Ellipse Area. These tools are included in the annotation toolbar by default when the Measurement Tools component is enabled. (#35771)
- Changed
Improves the UI icons with a complete set of clearer and bolder new images. (#35289)
- Changed
Improves the appearance of the flexible toolbar, including the annotation and document editor toolbars, with a bolder and more rounded style. (#35148)
- Changed
Improves the appearance of the tabbed bar. This includes colors for the tab title, tab background, close button drawing, and document overview button. It no longer adjusts to the tint color. (#34866)
- Changed
Improves the appearance of the scrubber bar by changing to a slightly larger corner radius for smoother rounded corners, using its
tintColor
as the currently visible page’s thumbnail border color, and updating the defaultScrubberBar.thumbnailBorderColor
to a lighter and a darker shade of gray in light and dark mode respectively. (#34914) - Changed
Improves the settings UI by presenting it in a sheet on iOS 15 and above, instead of in a popover. (#34479)
- Changed
Improves document layout calculations involving safe area insets for
.scrollPerSpread
and.scrollContinuous
page transitions. (#12933) - Changed
Improves the default annotation toolbar configurations on smaller iPads at the narrowest window size by avoiding automatic group collapsing. (#35148)
- Changed
Moves the Edit, Done, and Cancel buttons of
PDFDocumentInfoViewController
andPDFDocumentSecurityViewController
from the navigation bar to the toolbar, and doesn’t show the close button anymore by default, when presented manually. (#34481) - Fixed
Fixes an issue where arrows and line dashes of a line annotation would change in size after deselecting the created annotation. (#24816)
- Fixed
Fixes an issue where double-tapping to zoom out would sometimes scroll the document to a random page. (#30011)
- Fixed
Fixes an issue where performing undo or redo would scroll the document to the top of the visible page. (#14166)
- Fixed
Fixes an issue where updating the configuration of a
PDFViewController
would scroll the document to the top of the visible page. (#30921) - Fixed
Fixes an issue with
PDFDocumentInfoViewController
andPDFDocumentSecurityViewController
where their close button would not be disabled while in edit mode when presentation changes from popover to modal. (#34481) - Fixed
Fixes document layout calculations involving
additionalContentInsets
andadditionalScrollViewFrameInsets
. (#34432, #13164) - Fixed
Fixes documents getting zoomed out when their view state is restored in
viewWillLayoutSubviews
. (#22390) - Fixed
Fixes memory leaks in
DrawView
andAnnotationToolbar
. (#35655) - Fixed
Fixes the smart zoom interaction not taking safe area insets into consideration. (#32452)
- Fixed
Fixes some colors not being correctly localized for accessibility. (#35599)
- Fixed
Fixes spread index calculation for
.scrollContinuous
page transition that could result in spreads being scrolled beyond expected content offset. (#13445, #33198) - Fixed
Fixes spread views not using the correct page mode after rotating the device back and forth. (#34686)
PSPDFKit
- API
Renames the icon used for
NoteAnnotation.annotationIcon
to be same as the icon names forNoteAnnotation.renderAnnotationIcon
in an effort to unify the icon sets used for these purposes. Please refer to the migration guide for the updated icon names. (#35289) - Added
Adds
MeasurementInfo
,MeasurementScale
,MeasurementAnnotation
and extendsLineAnnotation
,PolyLineAnnotation
,PolygonAnnotation
,CircleAnnotation
andSquareAnnotation
with variants to handle distance, perimeter and area measurements. (#35771) - Changed
Improves the icons for annotation rendering with a complete set of clearer and bolder new images. (#35289)
- Changed
Improves readability of log messages by not prefixing each message with function name and line number. (#34773)
- Changed
Updates boost to 1.79.0. (#34723)
- Fixed
Fixes an issue when importing Instant document JSON where both a form field and a form annotation were modified at the same time. (#35454)
- Fixed
Fixes an issue where dates weren’t parsed correctly due to the parser being too strict. (#34079)
- Fixed
Fixes an issue where the wrong text was highlighted when searching. (#33867)
- Fixed
Fixes persistence of log messages with
.info
level by no longer marking them as volatile. (#34773) - Fixed
Fixes an issue where font styles weren’t always discovered correctly. (#35955)
Examples
- Added
Adds
MeasurementsExample
which demonstrates support for various measurement annotations. (#35695) - Changed
Changes the Catalog app’s navigation bar color to an opaque color. (#34964)
- Changed
Updates the accent color of the Catalog app in dark mode, giving it a fresh look. (#34576)
- Fixed
Fixes the internal locking of
CustomAnnotationProviderExample
, showing how to correctly subclassPDFContainerAnnotationProvider
. (#35645)
11.4.1 - 14 Jul 2022
PSPDFKit now requires and is built with Xcode 13.4.1.
PSPDFKitUI
- Fixed
Fixes various activity indicator views (spinners) not being visible against some backgrounds (mostly in dark mode). (#34970)
PSPDFKit
- Fixed
Fixes an issue where the file size of the PDF grew a lot when entering Arabic text into form fields. (#35381)
- Fixed
Fixes an error “The timestamp token couldn’t be parsed” that may appear with some digital signature timestamps. (#35394)
- Fixed
Fixes corruption of CMYK colorspace images in PDFs after redaction. (#34453)
11.4.0 - 30 May 2022
See the announcement post.
- API
Removes all API that was deprecated between PSPDFKit 9.1 and PSPDFKit 10.4. Please see the migration guide for more details. (#33874)
In preparation for iOS 16, this version of PSPDFKit drops support for iOS 13. All devices that support iOS 13 also support iOS 14 and iOS 15. (#33871)
PSPDFKitUI
- API
Changes the superclass of
ThumbnailFilterSegmentedControl
fromSegmentedControl
toUISegmentedControl
sinceSegmentedControl
was deprecated and now removed. (#33874) - API
Removes
KeyPathReferenceWritable
protocol which was an implementation detail that accidentally ended up as public API. (#33626) - API
Removes
UIHostingController.init(rootView:largeTitleDisplayMode:)
initializer. Its implementation has been moved to PSPDFKit Catalog. (#33626) - API
Removes
View.customizeTextFieldOnAppear(customizeBlock:)
function which was an implementation detail that accidentally ended up as public API. (#33626) - Added
Adds
SignatureCreationViewController.isSaveSignatureEnabled
for checking whether the “Save Signature” toggle is enabled in the Electronic Signatures creation UI. Please refer to theDetachedSignatureCreationExample.swift
to see how to use this API when presenting the Electronic Signatures creation UI manually. (#31445) - Added
Adds
SignatureCreationViewController.showSaveToggle
for enabling showing and hiding of “Save Signature” toggle in the Electronic Signatures creation UI. Please refer to theDetachedSignatureCreationExample.swift
to see how to use this API when presenting the Electronic Signatures creation UI manually. (#31445) - Added
Adds
SignatureCreationViewController.signatureAnnotation(forPageWith:)
for creating an annotation from the Electronic Signatures creation UI. (#31445) - Added
Adds a new
DrawViewDelegate
API protocol to observe the drawing interactions of theDrawView
and to persist the annotation changes to a document. Please see the migration guide if you are usingDrawView
outside of PSPDFKit. (#31512) - Added
Adds a new property,
delegate
, onDrawView
of typeDrawViewDelegate
which can be set to observe the interactions with theDrawView
only if theDrawView
is presented outside of PSPDFKit. (#31512) - Changed
Improves the appearance of selectable bar buttons by increasing the selection fill corner radius, fixing the selection fill being 1 point off vertically centred on the icon, and fixing the icon vertical alignment being off relative to other bar buttons by 1 pixel on @2x displays or 2 pixels on @3x displays. (#34458)
- Fixed
Fixes the eraser tool having no effect on an annotation until reactivation of the tool after erasing the annotation completely, undoing the erase, and then trying to erase it again. (#31512)
- Fixed
Fixes labels not appearing in the annotation inspector when two annotations are selected. (#34038)
- Fixed
Fixes the user interface view hiding again on showing it after changing pages on edge tap. (#32341)
PSPDFKit
- API
Changes the type of
ImageDocument.supportedContentTypes
from[String]
to[UTType]
. (#34427) - API
Removes
Dictionary.valueForKey(_:)
function. Please use your own helper for accessing nested dictionary values. (#33626) - API
Removes
LogLevelMask
option set in favor of the newLogLevel
enum. (#33063) - API
Removes
String
initializers withAnnotation.Kind
andAnnotation.Tool
argument types. Please useString(describing:)
instead. (#33626) - API
Removes
UnfairLock
class. Please use your own or system-provided locking mechanism instead. (#33626) - API
Removes multiplication and division operators for
CGSize
. Please use your own helpers for geometry arithmetics. (#33626) - API
Removes the conformance of
Rotation
to theExpressibleByIntegerLiteral
protocol. Please use the enum cases instead. (#33626) - API
Renames
PSPDFRenderDrawBlock
toPDFRenderDrawBlock
in Swift and removes theRenderDrawHandler
type alias. (#33626) - Removed
Deprecates
FormElement.drawHighlight(in:options:multiply:)
. This method has not been used since at least PSPDFKit 10.2 for iOS and therefore accomplishes nothing. (#33975) - Removed
Deprecates support for embedded YouTube and Vimeo videos (
LinkAnnotation.Kind.youTube
). Please load videos with direct sources or embed your own player view instead. (#34024) - Changed
Improves error reporting when an invalid license key is entered. (#33758)
- Changed
Changes
MutableRenderRequest.document
to a read-only property. If you need to request renders for many different documents, please create a new request for each document instead. (#33975) - Changed
Changes the fallback from
http
tohttps
for link annotations with a URL beginning withwww.
without a scheme. (#34567) - Changed
Updates the HarfBuzz library to version 4.2.0. (#33765)
- Fixed
Fixes an issue when trying to run OCR on a blank page. (#33771)
- Fixed
Fixes font lookup causing a crash when fonts weren’t correctly initialized yet. (#33593)
- Fixed
Fixes form fields showing NaN (not a number) if the form value could not be formatted correctly. This returns an empty string now and shows an error message in the console. (#34017)
- Fixed
Fixes issues surrounding rendering Devanagari script. (#33753)
- Fixed
Fixes more problems when accessing a SQLite database concurrently. (#34027)
- Fixed
Fixes the persistence of images in widgets by properly populating
appearanceCharacteristics.normalIcon
. (#28950)
Examples
- Added
Adds
DetachedSignatureCreationExample
, a new Catalog example that demonstrates how to present the Electronic Signatures creation UI manually. (#31445) - Changed
Updates
SignAllPagesExample
to support all signature modes i.edraw
,image
, andtype
for signing the document. (#31445)
11.3.2 - 10 May 2022
PSPDFKit now requires and is built with Xcode 13.3.1.
PSPDFKitUI
- Fixed
Fixes the scroll position not updating when a
GoTo
action leading to a nearby page is activated by the.mouseDown
trigger when using the.scrollPerSpread
page transition. (#33972) - Fixed
Fixes actions for
.mouseUp
trigger events incorrectly being executed when the touch was lifted outside the target region. (#34320)
PSPDFKit
- Added
Adds
trimBox
andbleedBox
properties toPDFPageInfo
to read the corresponding rectangular regions from the PDF. (#33660) - Added
Adds more robust input validation when calculating thumbnail sizes. (Z#31063)
- Changed
Improves XFDF serialization of ink annotations by including their variant. (#34354)
- Changed
Updates the Freetype library to version 2.12.1. (#34326)
- Changed
Updates the Zlib library to version 1.2.12. (#34305)
- Fixed
Fixes an issue where certain form fields weren’t repaired correctly. (#33878)
- Fixed
Fixes fitting size calculation when generating Instant JSON representations of free text annotations. (#34314)
11.3.1 - 6 Apr 2022
PSPDFKitUI
- Fixed
Fixes a crash when showing the color picker from a page view (not from the annotation inspector) on Mac Catalyst. (#33736)
PSPDFKit
- Fixed
Fixes a crash when rendering a specific type of documents on multiple threads at the same time. (#33110)
- Fixed
Fixes a problem where the outline elements of some documents did not point to the correct page. (#32970)
- Fixed
Fixes an issue running OCR on a page that contains an image with no text. (#31709)
- Fixed
Fixes an issue where form buttons weren’t able to import images with buttonImportIcon if they were located on pages other than the first. (#33364)
- Fixed
Fixes parsing of page labels with indirect objects in the number tree. (#33657)
Examples
- Changed
Updates the
RemoteDocumentURLExample
to use a valid URL of a PDF document for displaying. (#33732) - Fixed
Fixes the
TabbedBarExample
to disable the close all tabs button (clear button) when no there are no document tabs open. (#33732)
11.3.0 - 16 Mar 2022
See the announcement post.
This release changes the persistance implementation of Saved Annotations. To learn more about this, check out our migration guide for this release. Please note that this release does not include any breaking changes.
PSPDFKitUI
- Removed
Deprecates
ColorPickerFactory
,ColorPalette
,ColorPatch
,ColorPatch.ColorSet
and color picker customization in favor of using the system color picker. (#32488) - Added
Adds
PersistentAnnotationSetStore
that stores saved annotations on disk and makes it the default store used in Saved Annotations list. (#30969) - Added
Adds cloudy polygon annotation tool. (#32866)
- Changed
Improves performance of ink annotation drawing by optimizing the number of data points collected. (#23736)
- Changed
Changes the polygon annotation tool icon to a triangle. (#32866)
- Changed
Updates
TextStampViewController
to use the built-in color picker when available. (#32511) - Changed
Updates the color picker for the annotation’s fill color with a dedicated button to select a transparent color. (#31580)
- Fixed
Fixes a crash occuring when expanding an outline item after the search bar was focused. (#33323)
- Fixed
Fixes a memory leak where the
PageCurlViewController
was not getting deallocated. (#31169) - Fixed
Fixes a potential rare crash due to infinite layout recursion with
BaseTableViewController
. (#29638) - Fixed
Fixes previously saved annotations disappearing on saving large annotations in the Saved Annotations list. (#30969)
- Fixed
Fixes page content offset issues when switching apps after editing a free text annotation. (#31424)
- Fixed
Fixes rendering screen annotations that have no associated asset by showing the appearance stream instead. (#29265)
- Fixed
Fixes text annotation bounding box calculations when dragging to prevent unnecessary line wrapping or text clipping. (#31688)
PSPDFKit
- Removed
Deprecates
RenderOptions.drawAppearanceStream
, as this property is no longer used. (#28528) - Removed
Deprecates the
annotationSets
property in theAnnotationSetStore
protocol. Use the newfetchAnnotationSets()
andsetAnnotationSets(_:)
functions that offer improved error reporting. (#30969) - Removed
Deprecates the
shared
property of theSavedAnnotationsViewController
class. Use the more appropriately namedsharedAnnotationStore
property instead. This only affects Swift call sites. (#30969) - Added
Adds more detailed logging for signature verification errors during development of custom signing implementations. (Z#28856)
- Added
Adds string representation to clipboard when copying a free text annotation in addition to annotation representation. (Z#30435)
- Added
Adds support for rendering watermark and custom annotations by showing the appearance stream. (#29992)
- Changed
Improves error reporting in some cases when PSPDFKit asserts (crashes) due to invalid configuration or API misuse. (#32157)
- Changed
Changes drawn signatures (ink signatures) to resize with their aspect ratio locked. Override
shouldMaintainAspectRatio
to alter this. (#32752) - Removed
Removes public conformance of the
Result
type toCustomStringConvertible
protocol. Please use the default description instead. (#30969) - Changed
Updates Duktape to version 2.7.0. (#33161)
- Changed
Updates XMP toolkit to version 2022.02. (#32824)
- Changed
Updates libtiff to version 4.3.0. (#33050)
- Changed
Updates the HarfBuzz library to 3.2.0. (#32690)
- Fixed
Fixes a crash when flattening note annotations in compound documents. (#33041)
- Fixed
Fixes form fields with JavaScript formatting scripts which may be incorrectly formatted with thousands separators. (#32596)
- Fixed
Fixes a stability issue accessing the file system that can happen in rare situations. (#32467)
- Fixed
Fixes loading old trailer in PDFs with hybrid cross-reference tables which caused old information to be shown. (#32243)
- Fixed
Fixes an issue where imported stamp annotations wouldn’t be modified. (#33030)
- Fixed
Fixes read-only signature fields sometimes incorrectly showing a “Sign” overlay. (#32310)
- Fixed
Fixes libtiff CVEs
CVE-2022-0561
andCVE-2022-0562
. (#33480)
Instant
- Changed
Instant doesn’t support using file protection on specific directories anymore. Use the data protection entitlement instead. For more information see https://pspdfkit.com/guides/ios/pspdfkit-instant/data-protection/. (#30506)
Examples
- Changed
Updates a subset of sample documents with fresh look and contents. (#32349)
- Fixed
Fixes signatures appearing underneath the white background of the signature field in the PSPDFKit 11 QuickStart Guide in Adobe Acrobat. (#32247)
11.2.4 - 4 Mar 2022
PSPDFKit
- Changed
Updates libexpat to 2.4.6. (#33300)
11.2.3 - 23 Feb 2022
PSPDFKitUI
- Changed
Improves support for right edge page bindings by advancing in the expected direction when tapping on the left or right edge. (#24478)
- Fixed
Fixes a crash when animated GIFs are used in a gallery on a document page. (#33003)
- Fixed
Fixes an issue where overlapping text markup annotations might not merge properly. This could result in darker highlights in certain areas. (#32963)
- Fixed
Fixes clipped labels in the annotation list when using a right-to-left layout direction. (#33153)
PSPDFKit
- Added
Adds support for validating RSA-PSS digital signatures. (#33006)
- Changed
Updates STB to 2.27. (#32326)
- Fixed
Fixes a glyph rendering issue when new lines are used in form fields. (#31733)
- Fixed
Fixes the Sign overlay of unsigned signatures incorrectly appearing in some situations. (#32310)
- Fixed
Fixes a rare crash that happened when loading fonts. (#33110)
- Fixed
Fixes an issue where adding a digital signature may invalidate previous ones because of some spurious rounding-related changes to the page boxes. (#32952)
- Fixed
Fixes a crash when deserializing image annotations from Instant JSON that reference incompatible existing annotations from the PDF. (Z#28946, #32861)
11.2.2 - 8 Feb 2022
PSPDFKit
- Changed
Updates Expat to 2.4.4. (#32841, #32790)
- Fixed
Fixes an issue where the redaction tool may leave some old PDF object references if the page contents are an array of content streams. (#32926)
11.2.1 - 26 Jan 2022
PSPDFKit now requires and is built with Xcode 13.2.1.
PSPDFKitUI
- Changed
Improves VoiceOver accessibility by automatically focusing the relevant paragraph or annotation on the page after selecting a search result. (#31191)
- Changed
Changes the behavior of the thumbnail bar when double page layout is used by centering the whole spread instead of the first page of the spread when selected. (#32313)
- Fixed
Fixes a crash when closing the last document in
PDFTabbedViewController
using the overview list (MultiDocumentListController
). (#32472) - Fixed
Fixes the older signatures UI not storing a signature with an attached certificate despite “Store Signature” being selected when not signing in an existing signature form element. (#32540)
- Fixed
Fixes the behavior of highlight annotations on paragraphs with narrow line spacing: The accuracy of
markedUpString
has been improved so characters from the previous line are no longer falsely captured in common scenarios. (#32170)
PSPDFKit
- Added
Adds the ability to remove an image set on a button form element by setting the
appearanceCharacteristics
or itsnormalIcon
property to nil. (#28949) - Fixed
Fixes objects being rendered with the wrong color due to non-compliant color values. (#30102)
Examples
- Fixed
Fixes a crash occurring while trying to dismissing an Instant example displaying another controller modally or in a popover. (#32542)
11.2.0 - 11 Jan 2022
This release adds Instant Collaboration Permissions. Be sure to check out our Collaboration Permissions guide for more information.
See the announcement post.
PSPDFKitUI
- Added
Adds a magnifying glass when selecting text that matches the system behavior on iOS 15. (#31426)
- Removed
Removes the “Add to Photos” share destination on Mac Catalyst because of a system issue that disables almost all buttons and menu items when this destination is chosen. (FB9727325) (#31320)
- Fixed
Fixes an accessibility issue where the clear buttons in the Document Info view controller would not scale with Dynamic Type. (#31955)
- Fixed
Fixes an issue where custom views added to the page view’s hierarchy would not be accessible despite being accessibility elements. (#31715)
- Fixed
Fixes an issue where page thumbnails would sometimes be scaled down using an incorrect aspect ratio. (#32108)
- Fixed
Fixes an issue where the annotation toolbar might be incorrectly positioned after hiding the annotation inspector half-modal. (#31704)
- Fixed
Fixes an issue where the first thumbnail in the thumbnail bar would be partially invisible when
PDFViewController
appears for the first time. (#32308) - Fixed
Fixes an issue where the image editor didn’t correctly crop pictures when zooming or rotating them. (#31676)
- Fixed
Fixes an issue where the thumbnail selection highlight for the current page would not be rendered correctly when using automatic page mode. (#32300)
- Fixed
Fixes inconsistent rendering when selecting colors from the extended P3 color space in the annotation inspector. (#31967)
- Fixed
Fixes the Electronic Signatures UI navigation bar not picking up title attributes set using
UIAppearance
. This fix only applies on iOS 15 and later. (Z#27959)
PSPDFKit
- Added
Adds methods on
PDFCache
to remove cached images using a document UID to avoid the need to create aDocument
object. (#29557) - Changed
Improves rendering performance for pages with large numbers of annotations that are either partially transparent or have a non-normal blend mode. (#31319)
- Changed
Changes the behavior of
Annotation.isOverlay
such that assigning a new value no longer updatesAnnotation.lastModified
. (#32352) - Removed
Removes references to the macOS version from the public headers. (#30386)
- Changed
Updates the HarfBuzz library to 3.1.0. (#31771)
- Fixed
Fixes
PDFNewPageViewController
reporting aPDFNewPageConfiguration
with aPageTemplate
of.blank
instead of.image
when the user picks an image as the page background. There is no difference in behavior, just a change in the value reported programmatically. (#32113) - Fixed
Fixes a crash when trying to calculate the tab order for documents. (#24082)
- Fixed
Fixes a potential deadlock when reading additional information from
PDFLibrary
in the completion handler of a library search query. (#27953) - Fixed
Fixes an issue where persisting dates or times in forms may be off by one hour in some situations. (#32201)
- Fixed
Fixes importing of Instant Document JSON containing image annotations onto a rotated page. (#32021)
- Fixed
Fixes importing of Instant Document JSON containing multiple radio buttons of the same label. (#31855)
- Fixed
Fixes importing of Instant Document JSON where image annotations have been moved. (#31945)
- Fixed
Fixes memory leak when closing documents with form fields. (#31557)
Instant
- Added
Adds support for Instant Collaboration Permissions. (#30090)
- Fixed
Fixes an issue where
InstantClientDelegate
methods were not called on performing actions using theInstantDocumentDescriptor
s returned by theInstantClient.localDocumentDescriptors
API. (#31629)
Examples
- Added
Adds a new Instant example that allows granting users selective permissions for collaborating while using an Instant Document. (#31740)
- Added
Adds additional bar buttons in the Catalog Playground example on Mac Catalyst. (#31920)
- Removed
Removes 3 Objective-C examples (
PSCDocumentPickerSidebarExample
,PSCTabbedBarExample
andPSCOpenInExample
) in favor of their Swift equivalents. (#31852) - Removed
Removes the language switcher from Catalog since all examples except one are now written in Swift. (#31852)
- Changed
Renames
PSCPlaygroundExample
toPSCObjectiveCExample
. (#31852) - Fixed
Fixes a crash occurring while trying to dismissing an Instant example displaying another controller modally or in a popover. (#32542)
- Fixed
Fixes some navigation bar buttons and titles being resized or truncated on smaller screen sizes in the Catalog industry examples. (#30814)
11.1.1 - 11 Nov 2021
PSPDFKitUI
- Fixed
Fixes the delete key on hardware keyboards being able to delete selected form checkboxes and radio buttons. (#31755)
- Fixed
Fixes applying a view state with an invalid viewport potentially leading to an assertion. (#30361)
- Fixed
Fixes an issue where refreshing pages could lead to an assertion in the thumbnail controller. (#30640)
- Fixed
Fixes an unexpected page sometimes being displayed after rotating an iPad when using the curl page transition. (#30599)
PSPDFKit
- Fixed
Fixes manual alignment for Document Comparison producing incorrect results for rotated pages. (#31681)
- Fixed
Fixes the appearance stream of unsigned signature fields not being rendered. (#31015)
- Fixed
Fixes some annotations not always rendering in the correct z-order. (#31671)
- Fixed
Fixes a memory leak when checking digital signatures. (#31520)
Instant
- Changed
Improves the behavior of reauthentication before accessing the document of an
InstantDocumentDescriptor
. (Z#27871) - Changed
Improves the level of detail in log messages when failing to access the record store to help diagnose obscure I/O errors. (#31815)
11.1.0 - 26 Oct 2021
This release adds support for Mac Catalyst apps built for macOS 12 Monterey. See the announcement post.
PSPDFKit now requires and is built with Xcode 13.1.
This release updates the Document Comparison component with a new document alignment feature. If you’d like to add this component to your license, please contact our sales team to receive a quote.
PSPDFKitUI
- Added
Adds
DocumentAlignmentViewController
that can be used to align two versions of a document and generate a comparison between them. (#30106) - Added
Adds the ability to create text markup annotations in the middle of words when using trackpad or mouse. (#30990)
- Fixed
Fixes an issue where certain colors picked using the system color picker could appear incorrectly. (#30101)
- Fixed
Fixes an issue where the image source picker popover for a form element would be misplaced after rotating the device. (#29036)
- Fixed
Fixes an issue where the note annotation popover would shrink too much when the software keyboard was visible. (#31074)
PSPDFKit
- Added
Adds
ComparisonProcessor
that can be used to generate a comparison between two versions of a document. (#30106) - Added
Adds support for searching form field contents when the option to search annotation contents is enabled. (#26502)
- Removed
Removes
PSPDFVersion.h
, which included thePSPDFVersionDummy
class and preprocessor definitions for the current and previous PSPDFKit versions. We don’t anticipate any need for this file, but if you have one, please contact us. (#31315) - Changed
Updates the FreeType library to version 2.11.0. (#30900)
- Changed
Updates the libjpeg-turbo library to version 2.2.1. (#30900)
- Changed
Updates the HarfBuzz library to version 3.0.0. (#31113)
- Changed
Updates the HarfBuzz library to version 2.9.1. (#30624)
- Fixed
Fixes elevated memory consumption when PDF objects need compressing. (#31317)
- Fixed
Fixes elevated memory consumption when encoding JPEG images. (#31205)
- Fixed
Fixes an issue due to a system regression in iOS 15 where calling
ProcessInfo.processInfo.isLowPowerModeEnabled
in response to aNSProcessInfoPowerStateDidChange
notification could result in a deadlock. (#31180) - Fixed
Fixes a very occasional crash when parsing stamp annotations that contained images references to invalid indirect objects. (#31093)
- Fixed
Fixes an issue where setting
event.value
inside a validation script may not work as expected. (#31286) - Fixed
Fixes a possible undefined behavior when validating digital signature data. (#31179)
- Fixed
Fixes an assertion that would occur when the
rotation
property was removed from an annotation. (#31173)
Instant
- Fixed
Fixes an issue where calling
copy()
on an Instant-backedPDFDocument
would raise an exception. (#31267) - Fixed
Fixes an issue where the objects returned by
InstantClient
fromlocalDocumentDescriptors()
would not be updated properly. (#31367, Z#27576)
Examples
- Changed
Updates
ComparisonExample
to showcase the new document comparison and alignment features. (#30106) - Changed
Updates the Minimal example to use
UIScene
-based app lifecycle. (#30767)
11.0.0 - 20 Sep 2021
This release adds support for iOS 15. See the announcement post.
PSPDFKit now requires and is built with Xcode 13.0.
PSPDFKitUI
- Added
Adds a
colors
property toSignatureViewController.Configuration
to customize the available signature colors the user can pick from. (#29361) - Added
Adds localized names for all recorded undoable commands. (#29454)
- Added
Adds support for transparent bar background changes on iOS 15 when
PDFViewController
is a direct child of aUINavigationController
or aUITabBarController
. For other view controller hierarchies, you should set your bar’sscrollEdgeAppearance
to be the same as itsstandardAppearance
. (#30749) - Added
Adds an
accessibilityIdentifier
to all accessibility elements representing aFormElement
. TheaccessibilityIdentifier
matches thefullyQualifiedName
of the corresponding form element — note that this will differ from the FQN of a form field to disambiguate the unique widgets of radio buttons, checkboxes, etc. (Z#27002) - Removed
Removes the ⌘ ← key command to navigate back in
PDFNavigationController
when running on iOS 15+ because UIKit added its own ⌘[
key command for this. (#30174) - Changed
PDFNavigationController
no longer sets ascrollEdgeAppearance
, which means that the navigation bar has no background when scrolled to the top to match modern iOS design. (#30749) - Changed
PDFViewController
doesn’t try to become first responder when reloading on iOS 15+ since this is no longer necessary and can interfere with the UIKit focus system. (#30923) - Changed
MultiDocumentViewController
(the superclass ofPDFTabbedViewController
) can no longer become first responder because its childPDFViewController
is a better candidate for first responder. (#30923) - Changed
Updates
UIKeyCommand
s provided by PSPDFKit to account for system changes in iOS 15. (#30174) - Fixed
Fixes an issue where a page label in the document editor was not updated during drag and drop reordering. (#30752)
- Fixed
Fixes the
UIViewController
methodaddKeyCommands(_:)
not working onPDFViewController
andPDFTabbedViewController
. (#30552) - Fixed
Fixes
PDFNavigationController
potentially asserting about an invalid interface orientation when presented without any child view controllers. (#30424) - Fixed
Fixes an issue where free text annotations were sometimes being clipped due to incorrect bounding box calculations. (#30649)
- Fixed
Fixes an issue where the user interface view would not become visible after editing an empty free text annotation or when using Scribble. (#30998)
PSPDFKit
- Removed
Deprecates the
PSPDFKit.FileManager
methodsfileHandleForWriting(to:withBlock:)
andfileHandle(forUpdating:withBlock:)
because these are not called by PSPDFKit. (#229939) - Added
Adds support for blend mode in all annotations when using Instant JSON. If
blendMode
is not specified, it defaults tonormal
. (#29582) - Changed
Improves rendering non-Latin text (like Arabic) when selecting specific fonts. (#30517)
- Changed
Updates the HarfBuzz library to 2.8.2. (#30164)
- Fixed
Fixes various completion handler closures not being called in some cases. (#29846)
- Fixed
Fixes
overlappingSignatureAnnotation
sometimes not returning the correct result in annotations that are backed by an XFDF file or other types of custom annotation providers. (#28818) - Fixed
Fixes an issue where a digital signature may incorrectly report a certificate validation error. (#30521)
- Fixed
Fixes an issue where fonts were not correctly included in the PDF resulting in wrongly rendered free text annotations. (#30115)
- Fixed
Fixes an issue where highlight annotations used the wrong blend mode after importing with Instant JSON. (#30537)
- Fixed
Fixes inaccessible files possibly being erroneously reported as corrupted. (#29556)
- Fixed
Fixes an out of bounds page index access that could occur during note annotation saving in multi-provider documents. (#30742)
- Fixed
Fixes annotations being rotated incorrectly when using a custom annotation provider and temporary rotation (
setRotationOffset
) and saving more than once. (#30730)
Examples
- Fixed
Fixes arrow key control not working in the Snake example. (#30552)
10.5.1 - 11 Aug 2021
PSPDFKitUI
- Added
Adds the
clearOrDeleteAllAnnotations
subclassing hook forAnnotationTableViewController
. (#30183) - Added
Adds an accessibility identifier to the page label. (#30158)
- Changed
Improves transition animations to and from the thumbnail view mode. (#30464)
- Fixed
Fixes a crash introduced in 10.5 that occurred when trying to search in the annotation list. (#30411)
- Fixed
Fixes an assertion failure that was hit when reloading the thumbnail controller before it was loaded. (#30384)
- Fixed
Fixes an issue where rotating the device after navigating to a specific page could result in a previously viewed page being shown. (#28561)
- Fixed
Fixes an issue where the search bar in
SearchViewController
could be scrolled past the visible area when there were no search results. (#29721)
PSPDFKit
- API
The
PSPDFDocumentWillSaveAnnotationsNotification
notification has been refined for Swift asDocument.willSaveAnnotations
. (#29518) - Changed
Improves freetext annotation rendering across PSPDFKit platforms by honoring the
isFitting
attribute from Instant JSON. (#28719) - Fixed
Fixes the page render disk cache not inheriting the file protection level of the cache directory and instead using the default protection level of the container as set in the entitlements file. This only applies to newly cached images. To ensure old cached images are not using an incorrect protection level, please either clear the disk cache or enumerate the contents of the cache directory and set the file protection level as desired. (#30430)
- Fixed
Fixes the PDF table of contents (outline) linking to the wrong page in certain documents. (#30070)
- Fixed
Fixes a rare crash that may happen when rendering certain PDFs. (#29843)
- Fixed
Fixes XFDF annotations like lines without an explicit
width
attribute not being rendered. In these cases, PSPDFKit now mimics Acrobat’s behavior and implies a line width of 1 pt. (#30291, Z#25968) - Fixed
Fixes fine-grained page reloading not always calling the correct document provider creation callback method. (#29518)
- Fixed
Fixes undoing removing an annotation resulting in the annotation being added at an incorrect page index when using a document with multiple document providers. (#30329)
Examples
- Added
Adds a new SwiftUI example that demonstrates how to display a custom annotation inspector. (#30099)
- Added
Adds support for fetching thumbnails from a remote source in the streaming document example. (#29518)
- Added
Adds support for external annotation sources and pageIndex-aware downloading in the streaming document example. (#29518)
10.5.0 - 5 Jul 2021
See the announcement post.
In preparation for iOS 15, this version of PSPDFKit now drops support for iOS 12. (#29669)
PSPDFKitUI
- API
Changes a property attribute of
AnnotationStateManager.pencilInteraction
fromnullable
tononnull
, since it will never benil
on iOS versions above 12.1. (#29985) - Removed
Deprecates all API related to page grabber:
PDFViewController.pageGrabberController
,PageGrabber
,PageGrabberView
,PageGrabberController
,PDFConfiguration.pageGrabberEnabled
andPDFView.pageGrabberEnabled
. These are no longer needed because the scroll indicator fromUIScrollView
supports dragging on iOS 13 and later. (#30004) - Removed
Deprecates
appearanceManager(_:applyAppearanceSettingsForMode:)
andappearanceManager(_:updateConfiguration:forMode:)
methods ofAppearanceModeManagerDelegate
since they are replaced by theoverrideUserInterfaceStyle
property on UIView and UIViewController on iOS 13 and later. (#29820) - Removed
Deprecates
tabBarStyle
fromPDFTabbedBar
. (#29820) - Added
Adds
pageDescriptionProvider
andselectedPagesDescriptionProvider
properties onDocumentSharingConfiguration
to enable customizing how pages are described in the sharing UI. See the new PageLabelsInSharingExample.swift example in the Catalog for details. (#27826) - Removed
Removes full-page 3D Touch previews from
AnnotationTableViewController
,BookmarkViewController
,OutlineViewController
andSearchViewController
. 3D Touch will now show a contextual menu instead. (#29892) - Changed
Thumbnail grid cells now automatically scale images if a custom
PDFPageCellImageLoading
image loader is used that returns images that are too large. (#29518) - Fixed
Fixes an issue where redoing the creation of ink annotations would sometimes result in them being rendered on top of each other. (#29800, #29829)
- Fixed
Fixes an issue where some of the UI elements presented a
PDFViewController
did not inherit itsoverrideUserInterfaceStyle
. (#29870) - Fixed
Fixes an issue where the context menu under the Additional Toolbar Buttons did not show up in certain cases. (#29835)
- Fixed
Fixes an issue where the undo and redo toolbar buttons would not be reliably updated in certain scenarios. (#29855)
- Fixed
Fixes choppy page scrolling that could occur in rare cases near the first or last page in continuous scrolling mode. (#29394)
- Fixed
Fixes an issue when picking images from the Photo Library asking for access to the camera, which would cause the image picker to fail the first time. (#29674)
- Fixed
Fixes the cells in the document editor having incorrect top inset when using the
.top
toolbar position and when the toolbar was not positioned exactly at the top of thePDFViewController
’s view. (#29891)
PSPDFKit
- Added
Adds support for rendering pages with a transparent background. (#29867)
- Changed
Changes the scaling mode for button form element images to use aspect fit to prevent images from being clipped. (#17805)
- Changed
Refines
performRead(_:)
,performWrite(_:)
andperformWriteAndWait(_:)
methods ofPDFContainerAnnotationProvider
for Swift. (#29754) - Fixed
Fixes an issue where importing a ‘goToRemote’ without a page index would fail. (#29616)
- Fixed
Fixes an issue where importing unknown actions using Instant JSON failed. (#29814)
- Fixed
Fixes an issue where redactions of paths could fail with “Coordinate outside allowed range” if the path coordinates were very large. (#29791)
- Fixed
Fixes an issue where signing a document in some cases may fail without a specific error object. (Z#25217)
- Fixed
Fixes an issue where the Instant JSON would contain redundant data after removing a form field. (#29671)
- Fixed
Fixes an issue where undo and redo stacks would persist in an invalid state after saving changes in the Document Editor. (#29691)
- Fixed
Fixes an issue where undo and redo stacks would persist in an invalid state after setting a temporary page rotation offset. (#29924)
- Fixed
Fixes an issue where undoing and redoing changes made to annotations would not restore their previous custom appearance streams. (#19523)
Instant
- Added
Adds support for Instant Document Permissions. (#29983)
- Added
Adds support for the (optional)
creator_name
claim in JWTs: Documents managed by Instant now reflect this value in theirdefaultAnnotationUsername
property, if it is encoded in the JWT. As a result, all annotations and comments locally created in thisDocument
will report this value as their creator. (#29507) - Fixed
Fixes a lock inversion that could lead to a deadlock. (#29743)
- Fixed
Fixes an issue where locally created Instant comment markers could end up appearing as regular note annotations. (#30010)
Examples
- Fixed
Fixes the unreachable URL for the document used in the
DocumentProgressExample
which led to the document not loading. (#29619)
10.4.2 - 11 Jun 2021
PSPDFKit
- Changed
Works around a system regression with font downloading on iOS versions between 14.0.0 and 14.4.2 by selectively disabling extended font choices and related lookup code. (#29779)
10.4.1 - 2 Jun 2021
PSPDFKit
- Changed
Improves the reliability of undoing annotation removal. (#29641)
- Changed
Improves the reliability of undoing changes made to text markup and sound annotations. (#29594)
- Fixed
Fixes a crash that could occur when undoing the addition or removal of annotations. (#29594)
- Fixed
Fixes a performance regression, most noticeable during drawing, introduced by overly verbose logging. (#29613)
- Fixed
Fixes a problem where a document signed with a timestamp may not validate correctly. (#29380)
- Fixed
Fixes a problem where an ECDSA signature in IEEE 1363 format may not validate correctly. (#29380)
- Fixed
Fixes a crash that could occur in some cases when undoing resizing an image annotation. (#29595)
- Fixed
Fixes an issue where OCR would fail if no text is on the page. Now the call returns successfully. (#29527)
- Fixed
Fixes an issue with OCR where no text is found if the text on the page is relatively large. (#29512)
Examples
- Added
Adds a new Catalog example that shows how to redact text using a regular expression. (#29528)
- Fixed
Fixes an issue in the
InstantDocumentViewController
where calls to present alerts were not on the main thread. (#29619)
10.4.0 - 20 May 2021
See the announcement post.
To learn more about the breaking changes introduced with the new APIs, check out our migration guide for this release.
PSPDFKitUI
- Removed
Deprecates
annotationStyleController(_:willStartChangingProperty:)
method ofAnnotationStyleViewControllerDelegate
protocol in favor ofannotationStyleController(_:didBeginChangingProperty:)
. (#14301) - Removed
Deprecates
annotationStyleController(_:didEndChangingProperty:)
method ofAnnotationStyleViewControllerDelegate
protocol in favor ofannotationStyleController(_:didEndChangingProperty:affectedProperties:)
. (#14301) - Removed
Deprecates the
showAnnotationMenuAfterCreation
configuration option. This functionality can be replicated by observing thePSPDFAnnotationsAdded
notification and programmatically selecting the new annotation and showing the menu. (#29148) - Added
Adds a
canShowAnnotationReviews
document feature, which may be used to disable viewing and editing annotation reviews (accepted, rejected, cancelled, or completed states) in the comments UI. (#28049) - Added
Adds support for displaying annotation results in the
PDFDocumentPickerController
FTS search UI. (#28587) - Added
Adds support for showing annotation reviews when annotation editing is disabled. (#28049)
- Changed
Improves accessibility in the Electronic Signatures UI (
SignatureCreationViewController
). (#28903) - Changed
Improves license validation when programmatically creating
SignatureCreationViewController
orSignatureViewController
. (#28798) - Changed
Changes the handling of a nil text color when editing single line text fields in forms from using the system label color to using black. This fixes these fields being hard to read in dark mode. (Z#24073)
- Changed
The SwiftUI
PDFView
can now be initialized with a document object in addition to the existing document binding initializer. (#28723) - Fixed
Fixes
ContainerViewController
showing empty segments if a child view controller implementingSegmentImageProviding
provides anil
image. (#28952) - Fixed
Fixes a crash when using the new Signature component on macOS Catalina. (#28878)
- Fixed
Fixes an issue where link preview action sheets were not shown if link annotations were not editable. (#29131)
- Fixed
Fixes an issue where setting a nil
selectedFont
in theFontPickerViewController
would disable font selection. (Z#24686) - Fixed
Fixes an issue where sometimes pages would be incorrectly changed when zooming out in continuous page transition. (#26777)
- Fixed
Fixes an issue where the Wikipedia inline popover would not show a title in the popover when running via Mac Catalyst. (#29014)
- Fixed
Fixes an issue where the optional Wikipedia inline popover would not always be placed exactly on the selected text. (#29014)
- Fixed
Fixes glitches when using the
showAnnotationMenuAfterCreation
configuration option with text markup, note, polygon, and polyline annotations. The menu will not be shown for these annotation types after creation. (#29148) - Fixed
Fixes two Speak menu items being shown for selected text when the Speak Selection accessibility setting is enabled. Only the system menu item will be shown now. (#29169)
PSPDFKit
- API
Adds a new undo architecture, which replaces the existing
UndoController
API. Please refer to the migration guide for more details. (#14301) - API
Removes the initializers of
PDFCache
,DiskCache
, andMemoryCache
because PSPDFKit handles creating these objects. (#24592) - Removed
Deprecates the
ButtonFormElement.ButtonFlag
,TextFieldFormElement.TextFieldFlag
, andChoiceFormElement.ChoiceFlag
option sets because they were not used. (#29395) - Added
Adds support for specifying blend mode for shape annotations in Instant JSON. (#29081)
- Added
Adds the ability to open TIFF images as Image Documents. (#28630)
- Changed
Improves file coordination efficiency during saving. (#28770)
- Changed
Changes the
licenseKey
to be nullable. This initializes the SDK in trial mode. (#28211) - Changed
The scrollable thumbnail bar now updates more efficiently when documents are streamed on-demand. (#28657)
- Changed
Updates FreeType to 2.10.4.179. (#28676)
- Changed
Updates HarfBuzz to 2.8.0. (#28598)
- Changed
Updates the Botan library to 2.18.0. (#29123)
- Fixed
Fixes a crash that could happen when opening documents and image documents at the same time in different threads. (#29468)
- Fixed
Fixes a problem where the ‘name’ property of the PDF JS ‘field’ object may not return a correct value when the field is part of a hierarchy. (#27770)
- Fixed
Fixes a rendering issue for specific documents that have font resources with /Widths that are too small to render. (#28103)
- Fixed
Fixes an issue in the text parser where space characters were being omitted from the returned text. (#28886)
- Fixed
Fixes an issue that caused annotation added via Instant JSON not being added to a document generated with the processor. (#29023)
- Fixed
Fixes an issue where JavaScript code was not executed correctly. (#29283)
- Fixed
Fixes an issue where PSPDFFormField could not be subclassed and overridden. (#28955)
- Fixed
Fixes an issue where an invalid digital signature may return the same error code more than once. (#27512)
- Fixed
Fixes an issue where form fields are not interactive after a document with JavaScript is merged with another document. (#28052)
- Fixed
Fixes an issue where list boxes would not render text when an item is selected if there was no DA field present. (#28536)
- Fixed
Fixes an issue where not all data was shown on a small number of documents containing hybrid cross-reference streams. (#28713, #24258)
- Fixed
Fixes an issue where paths could accidentally be filled in, even though only the border should have been painted. (#28699)
- Fixed
Fixes an issue where some digital signatures with indefinite length structures were not validated correctly. (#26983)
- Fixed
Fixes an issue where some saved documents contained an xref table with more than one subsection. This may have caused problems if the document was signed multiple times, for example. (#28755)
- Fixed
Fixes an issue where some signatures with timestamps couldn’t be parsed correctly and returned an error. (#28642)
- Fixed
Fixes an issue where the framework may write unnecessary entries to the PDF trailer dictionary. (#28755)
- Fixed
Fixes several small leaks of KVO related information through improved setup and handling. (#29026, Z#24171)
Examples
- Added
Adds a Catalog example,
DisableAnnotationReviewsExample
, which showing how annotation reviews can be disabled using Document Features. (#28049) - Added
Adds a new Instant example demonstrating how to display different sets of annotations on a document using Instant Layers. (#28718)
- Added
Adds a new Instant example that shows two instances of the same document to simulate multiple users editing the document. (#28718)
- Added
Adds a SwiftUI version of the streaming document example. (#28723)
- Changed
Updates the PSPDFKit Instant example to directly open an Instant Document and moving the options to start a new session or join an existing session to the Collaborate menu in the example. (#28718)
10.3.0 - 30 Mar 2021
See the announcement post.
This release adds the Electronic Signatures and Instant Comments components. If you’d like to add either component to your license, please contact our sales team to receive a quote. To learn more about the breaking changes introduced with the new APIs, check out our migration guide for this release.
PSPDFKitUI
- API
Changes the type of
PDFConfiguration.signatureStore
property to be optional. Its default value isnil
if you previously had no signature features or when using the new Electronic Signatures component. (#27404) - API
All initializers of
SearchViewController
, exceptinit(document:)
, are now marked unavailable to match the implementation. (#28169) - API
SignatureStore
protocol no longer requires implementinginit(storeName:)
andstoreName
. These requirements have been moved toKeychainSignatureStore
. (#28092) - API
KeychainSignatureStore
may now be initialized without astoreName
to use the default store name. (#28092) - API
Removes
UIHostingView
class. Please use your own helpers for interoperability between SwiftUI and UIKit. (#28229) - Removed
Deprecates
SegmentedControl
class. Please consider creating your own segmented control subclass. (#24801) - Added
Adds
PDFViewController.selectedAnnotations
property to get or set the selected annotations inside a view controller. (#27878) - Added
Adds
signatureButtonItem
property toPDFViewController
that shows the signing UI. Requires the Electronic Signatures feature to be present in your license. This button is enabled by default when Electronic Signatures are enabled and Annotations are not enabled. (#27404) - Added
Adds
Annotation.Tool.iconImage(with:)
function that can be used to get an icon for an annotation type. (#28023) - Added
Adds additional actions to the SwiftUI
ActionEvent
publisher. (#28470) - Added
Adds support for playing back audio from hidden video and audio annotations. (#27488)
- Added
Adds support for adding links to reading list when long-pressing on a link annotation in a Mac Catalyst app on macOS Big Sur. (#28236)
- Added
Adds spread index attributes to the spread change analytics event. (#26690)
- Changed
Improves various UI elements and interactions when “Optimized Interface for Mac” mode is enabled in a Mac Catalyst app. (#28023, #28140)
- Changed
Improves the default color presets for pen ink annotations. Variants that previously set a background color have been replaced with additional line color options. (#28147)
- Changed
Improves
PDFDocumentSharingViewController
by not callingdocumentSharingViewController(_:shouldSave:withOptions:)
delegate method when theDocument
being saved has itsannotationSaveMode
set to.disabled
. (#28432) - Changed
Improves the user experience when switching sections in
PDFDocumentSharingViewController
by disabling the fade animation. (#28140) - Changed
Some icons have been replaced with matching SF Symbols on iOS 13 and later. (#28149)
- Changed
Replaces the color picker with the system
UIColorPickerViewController
on iOS 14 and macOS Big Sur, where applicable. (#27772) - Changed
The window subtitle is set to display the visible page range in a Mac Catalyst app on macOS Big Sur. (#28156)
- Changed
The tint color of toolbars is now set to
.labelColor
by default in a Mac Catalyst app. (#28112) - Changed
The confirmation dialog is no longer shown when deleting a note annotation in a Mac Catalyst app. (#28142)
- Changed
View controllers that are not in the current view mode are now automatically removed from the hierarchy to improve performance. (#28158)
- Added
New page actions without a sender are now better handled by the Document Editor. (#28112)
- Fixed
Fixes a crash that would occur when panning a page while zoomed in using
.curl
page transition. (#26690) - Fixed
Fixes
SignatureViewController
initialization to enable correct override behavior from Swift. (#28321) - Fixed
Fixes an issue where removing an already deleted PDF file that was temporarily generated for sharing purposes would log a warning. (#28382)
- Fixed
Fixes an issue where an ink annotation could sometimes not be erased when zoomed in. (#26829)
- Fixed
Fixes an issue where
PDFViewController
would sometimes stop responding to touches after cancelling a sharing activity. (#28382) - Fixed
Fixes an issue where the button for adding a reply was not disabled whilst editing an annotation reply. (#28342)
- Fixed
Fixes an issue where the search popover would not correctly resize in a Mac Catalyst app on macOS Big Sur. (#28312)
- Fixed
Fixes an issue where selecting multiple annotations would use reverse the order when sorting annotations. (#28311)
- Fixed
Fixes an issue where using
PDFView
in SwiftUI could trigger a runtime warning for state modification during view update. (#28444)
PSPDFKit
- API
DataProviding
protocol has breaking changes to include error propagation on most access methods. (#28530) - API
MenuItem.identifier
must be set during initialization. The property is now read-only to reflect this design. (#28318) - Removed
Deprecates
SignatureContainer.init(annotation:signer:biometricProperties:)
in favor ofinit(signatureAnnotation:signer:biometricProperties:)
that supports image signatures with the new Electronic Signatures component. (#27404) - Removed
Deprecates
SignatureContainer.annotation
property in favor ofsignatureAnnotation
that supports image signatures with the new Electronic Signatures component. (#27404) - Added
Adds
StampAnnotation.isSignature
property to support image signatures with the new Electronic Signatures component. (#27404) - Changed
Logging now uses OSLog by default, which exports the log category next to the message for better filtering in the Console app on macOS. (#28386)
- Changed
Improves the support for sandboxed URLs that require strict security scope calls to be accessed. (#28530)
- Changed
Improves the saving experience in the Document Editor and Redaction components by displaying the system picker immediately if there are no other directory choices available. (#27948)
- Changed
Improves RGB color space conversion for annotation colors to make it more resilient to arbitrary input. (#27652)
- Changed
Improves file coordination when interacting with
NSDocument
in a Mac Catalyst app. (#28555) - Changed
Serializing the standard document configuration now includes bookmark data that can be loaded in a sandboxed Mac Catalyst app. Make sure to set
com.apple.security.files.bookmarks.document-scope
in your Entitlements file so that macOS allows bookmark deserialization. (#28343) - Changed
Updates FreeType to 2.10.4.106. (#27771)
- Changed
Updates libjpeg-turbo to 2.0.90. (#27771)
- Fixed
Fixes a regression where custom blend mode of an annotation would no longer be stored in the PDF when the annotation had the
.invisible
flag set. (#28422, Z#23418) - Fixed
Fixes a performance regression when using
RenderOptions.additionalCIFilters
. When using the same set of filters with different input parameters, please refer to the documentation of this property for more details. (Z#23166) - Fixed
Fixes an incorrect assertion in
PDFViewController
when setting documents that report progress. (Z#23132) - Fixed
Fixes an issue when trying to export a redacted document twice with the same name. (#27948)
- Fixed
Fixes an issue when setting date and time in form fields that have JavaScript formatting. (#27939)
- Fixed
Fixes an issue where calculating the tab order could fail with
database is locked
or similar SQLite errors. (#24082) - Fixed
Fixes an issue where deleting a note annotation could incorrectly cause an error message to be logged. (#28240)
- Fixed
Fixes an issue where negative values didn’t include thousand separators when being formatted by
AFNumber_Format
in JavaScript. (#28188) - Fixed
Fixes an issue where text extracted from an image using OCR was not selectable in the Preview app on macOS. (#28329)
- Fixed
Fixes an issue where dirty state was tracked incorrectly for certain annotation types. (#28289)
- Fixed
Fixes an issue where a path could be resolved incorrectly in a Mac Catalyst app if the bundle was located in a different folder. (#28383)
Instant
- Added
Adds support for the Instant Comments component. (#28345)
Examples
- Added
Adds an example demonstrating how to programmatically add an image signature to a document. (#27404)
- Added
Adds an example demonstrating how to use a custom annotation toolbar in SwiftUI. (#28475)
- Added
Adds Mac Catalyst support to the SwiftUI Document Browser example project. (#28288)
- Changed
Improves PSPDFKit Catalog by converting remaining Objective-C examples to Swift and removing several outdated examples. (#28450)
- Changed
Updates
SignAllPagesExample
to use the new Electronic Signatures component. (#27404) - Removed
Removes
AccessDigitalSignatureBiometricPropertiesExample
,AccessInkSignatureBiometricDataExample
,FormInteractiveDigitalSigningExample
,OnlyAllowDigitalSigningExample
, andOnlyAllowInkSigningExample
because the Electronic Signatures and Digital Signatures functionalities are now separated. (#27404) - Fixed
Fixes an issue in
DocumentInfoSidebarExample
whereleftBarButtonItems
of the view controller in the sidebar were instead placed asrightBarButtonItems
. (#28204)
10.2.1 - 18 Feb 2021
PSPDFKit now requires and is built with Xcode 12.4.
PSPDFKitUI
- Changed
The toolbar in
NoteAnnotationViewController
will no longer be hidden when typing comments on iPad. (#26771) - Fixed
Fixes an issue where a document using
XFDFAnnotationProvider
did not contain the XFDF annotations when sharing. (#27498) - Fixed
Fixes an issue where erasing an ink annotation in night rendering mode did not honor the adjusted annotation colors. (#24621)
- Fixed
Fixes automatic appearance matching between the main navigation bar and the annotation toolbar. (#27897)
- Fixed
Fixes the annotation toolbar not showing certain collapsed buttons on iOS 14. (#27719)
PSPDFKit
- Added
Adds
Equatable
andHashable
conformances toAnnotation.State
. (#28063) - Changed
Improves the experience of rotating annotations by better detecting unsupported configurations. (#26703)
- Changed
Updates OpenJPEG to version 2.4.0. (#27917)
- Fixed
Fixes a regression where visibility flags of annotations were ignored. (#27996)
- Fixed
Fixes an issue where the signature description was cut off in narrow signature fields. (#27540)
- Fixed
Fixes an issue related to subclassing
Document
and order of designated initializer calls. (#27909) - Fixed
Fixes an issue where
Annotation.isDirty
property would get reset incorrectly. (#26629)
Instant
- Changed
Improves error handling when resolving entries in an offline cache that has been tampered with. (#28005)
Examples
- Added
Adds an example demonstrating how to set custom delegates of view controllers presented in SwiftUI. (#27807)
- Fixed
Fixes an issue where our example projects could cause Xcode to crash when clicking on their Swift Packages tab. (#28099)
10.2.0 - 1 Feb 2021
See the announcement post.
PSPDFKitUI
- Added
Adds conformance to
UIScreenshotServiceDelegate
onPDFViewController
. The view controller can be set as thedelegate
of a window scene’sscreenshotService
to allow the user to quickly export the current state of the document by taking a screenshot. (#27524) - Changed
Improves text insertion point visibility for text annotations and form fields on Mac Catalyst. (#26615)
- Changed
Improves the UX when opening embedded files on Mac Catalyst by always showing the system QuickLook UI rather than an iOS-style modal. (#26890)
- Changed
Improves the user experience of repeatedly rotating the device when zoomed in on a page. Rotating the device no longer causes the page to zoom out. (#24004)
- Changed
Changes in selected annotations now animate in more cases. (#26893)
- Changed
Hides the brightness setting in
SettingsViewController
on Mac Catalyst because it has no effect on that platform. (#27651) - Changed
The
PDFViewController.barButtonItemsAlwaysEnabled
array now includes thePDFViewController.closeButtonItem
by default. (#27008) - Changed
Various optimizations for the ‘Optimized for Mac’ Catalyst mode. (#27780)
- Fixed
Fixes an issue where arrow keys would navigate between pages instead of navigating the text cursor when editing text in Mac Catalyst. (#23095)
- Fixed
Fixes an issue where changing the type of a text markup annotation would delete its replies. (#26484)
- Fixed
Fixes an issue where printing a document didn’t work without Annotation Editing enabled. (#27613)
- Fixed
Fixes an issue where printing a password protected document via the print button would not work. (#27615)
- Fixed
Fixes crashing or other incorrect behavior that may occur when deleting comments (Annotation Replies) in a certain order on iOS 14. (#26356)
- Fixed
Fixes an issue where the loading screen for Reader View could flash white. (#24518)
- Fixed
Fixes an issue where the shadow of the floating scrubber bar was not hidden when switching to the docked scrubber bar. (#27577)
- Fixed
Fixes markup annotations being inadvertently auto-selected after creation. (#27344)
PSPDFKit
- API
Renames
VerticalAlignment
toAnnotation.VerticalAlignment
to not cause a name conflict withSwiftUI.VerticalAlignment
. (#27585) - API
Changes the Swift names of notifications posted by
UndoController
to match Swift conventions. (#27165) - Added
Adds new
URLDataProvider
to allowDocument
to show files directly from a HTTP/HTTPS address. See the newRemoteDocumentURLExample.swift
example in the Catalog for details. (#26711) - Added
Adds a render option which allows changing the required form border color. (#26181)
- Added
Adds more diagnostic information details in user info of
PDFSignerError
. Note: The additional information is provided as a debugging aid. It is not localized and not meant for display to end-users. (Z#22316) - Added
Adds new
pointSequencesPublisher
Combine publisher toDrawView
to easily track changes on itspointSequences
property. (#27591) - Added
Adds new version of
sqlite3
used in full text search. Upgrading from version 3.27.0 to 3.34.0. (#27459) - Added
Adds support for parsing multiple certificates inside a single
.pem
file. (#26396) - Added
Adds support for validating PAdES B digital signatures. (#25153)
- Changed
Reduces the memory required to load PDF documents by 15% to 35%, depending on the document. (#27182)
- Changed
Improves document editor validation by allowing editing for more document types and selectively disabling in-place saving when it’s not possible. (#26849)
- Changed
Improves font selection process for bold and italic fonts. (#26719)
- Changed
Improves how certificate expiration in digital signatures is handled. (#27047)
- Changed
Improves memory usage when
LowMemoryMode
is specified. (#27186) - Changed
Improves responsiveness in documents with a large number of link annotations and PDF actions. (#24398)
- Changed
Improves simplified and traditional Chinese font selection. (#26674)
- Changed
Changes the annotation drawing model to only call
Annotation.draw(context:,options:)
when no appearance stream is drawn, and introducesAnnotation.lockAndRender(in:,options:)
which should be used in all cases where an annotation needs to be rendered. (#23269) - Changed
Digital signatures will no longer show the PSPDFKit version number when inspected using third-party software. (#26183)
- Changed
Optimizes the document change process to decrease memory pressure if the main thread is blocked for a prolonged time via API that renders documents. (#26808)
- Changed
Updates Botan to 2.17.1. (#26794)
- Changed
Updates Botan to 2.17.3. (#27469)
- Changed
Updates Duktape to 2.6.0. (#26435)
- Changed
Updates Expat to 2.2.10. (#27472)
- Changed
Updates HarfBuzz to 2.7.4. (#27467)
- Fixed
Fixes a potential thread deadlock during simultaneous reading and saving in
CoordinatedFileDataProvider
. (#26901) - Fixed
Fixes a problem where some DER-encoded signatures may not be validated correctly. (#25757)
- Fixed
Fixes a possible crash when the document editor modifies a file that is being rendered. (#26803)
- Fixed
Fixes an issue where a signature field may appear as unsigned even when an ink annotation is overlapping it. (#27126)
- Fixed
Fixes an issue where certain timestamps would not be preserved because of an incorrect sanitization step. (#27720)
- Fixed
Fixes an issue where loading from a checkpoint for a document failed in certain instances. (#27576)
- Fixed
Fixes an issue where the annotation
point
Swift API overlay could not convertDrawingPoint
structs. (#27061) - Fixed
Fixes an issue where the note icon would not be displayed on markup annotations. (#27164)
- Fixed
Fixes an issue where the signature description was cut off in narrow signature fields. (#27540)
- Fixed
Fixes an issue with Free Text annotations which caused text to sometimes get cut-off when resizing using the bottom right knob. (#22483)
- Fixed
Fixes annotations parsed with
XFDFParser
not being saved when added to a document. (#27551) - Fixed
Fixes discrepancies in annotation rendering between selected and deselected states, particularly in night mode. (#22923)
- Fixed
Fixes target annotation lookup for PDF actions. (#23845)
Instant
- Changed
Improves syncing of
InstantDocumentDescriptor
inInstantClient
by tracking documents with failed authentications due to limited network connectivity. (#26418)
Examples
- Added
Adds new examples to PSPDFKit Catalog illustrating how PSPDFKit is used in various industries like e-learning, board meetings, magazines, e-readers, aviation, and construction. (#26590)
- Added
Adds Swift versions for several PSPDFKit Catalog examples. (#27745, #27748, #27749, #27750, #27753, #27756, #27758)
- Changed
Improves the
PSCLockedAnnotationsExample.m
to also work for programmatically selected annotations. Also adds Swift version of this example calledLockedAnnotationsExample.swift
.(#24972). - Added
Added an example demonstrating how to customize the UI of forms in a PDF file. (#26078)
- Fixed
Fixes an issue in the Document Info Sidebar example where the search bar would not show up in the sidebar. (#26468)
10.1.2 - 6 Jan 2021
PSPDFKit now requires and is built with Xcode 12.3.
PSPDFKitUI
- Fixed
Fixes an issue where a grouped annotations did not show the delete menu item on selection. (#26344)
- Fixed
Fixes an issue where read-only or locked ink annotations could render incorrectly during attempted editing. (Z#22038)
- Fixed
Fixes an issue where where the
PDFPageView
would not render the image if its corresponding document’s render options hadskipAnnotationArray
set. (#27440) - Fixed
Fixes scrolling to selected text form fields in continuous scroll mode. (#26465)
PSPDFKit
- Changed
Improves free text callout rendering by honoring stored appearance streams. (#27118)
- Changed
Improves document change process to decrease memory pressure if the main thread is blocked for a prolonged time via API that renders documents. (#27111)
- Fixed
Fixes an issue where
blendMode
was not set correctly for annotations loaded with legacy versions of theNSCoder
format. (#27061) - Fixed
Fixes an issue where paths could be overdrawn resulting in incorrect shapes. (#27330)
- Fixed
Fixes an issue where the annotation
point
Swift API overlay could not convertDrawingPoint
structs. (#27061) - Fixed
Fixes an issue where the appearance stream was incorrectly ignored for a stamp annotation with its
subject
property set. (#26598) - Fixed
Fixes an issue where using the processor could cause a crash if memory runs out while processing complex documents. (#27253)
Examples
- Changed
Improves the contrast in dark mode for the author name label in Show Author Name On Annotation Selection PSPDFKit Catalog example. (#27191)
- Fixed
Fixes an issue with annotation selection in the Create Text Annotation When Tapping Whitespace PSPDFKit Catalog example. (#27200)
10.1.1 - 1 Dec 2020
PSPDFKitUI
- Changed
Improves Apple Pencil detection so it kicks in when using a text markup tool, as it did before PSPDFKit 9.5. (#26751)
- Changed
Improves
PDFDocumentPickerController
search UI and navigation bar handling. (#27016) - Changed
Disables the UIKit focus system in PSPDFKit table views, which improves various behaviors on Mac Catalyst. (#26799)
- Changed
Hides the brightness slider from
BrightnessViewController
on Mac Catalyst because it has no affect on that platform. (#26910) - Fixed
Fixes a memory leak in the download manager, used in the gallery view controller. (#26962)
- Fixed
Fixes a potential deadlock in the Document Editor component when saving was invoked while rendering pages is still ongoing. (#26896)
- Fixed
Fixes a potential race condition in the Document Editor if saving is invoked while pages are still rendering. (#26901)
- Fixed
Fixes an issue where modal galleries could not be presented with the
.openSafari
link action. (#27006)
PSPDFKit
- Added
Adds a workaround for a system bug in iPhone 12 mini which caused the height of the flexible toolbar to be calculated incorrectly. (#26432)
- Changed
The Swift initializer to
PDFViewController
now has a default value of nil fordocument
. (#26898) - Changed
Works around an issue where Xcode would run the iPad Air (4th gen) Simulator when running on Apple Silicon with an Intel slice in Rosetta 2 emulation instead of arm64. (FB8917095). (#27048)
- Fixed
Fixes a memory leak that occurred when clicking on a dropdown form element. (#26876)
- Fixed
Fixes a potential deadlock when rendering annotations and changing them on multiple threads. (#27088)
- Fixed
Fixes a potential deadlock with form elements under high-load situations. (#26895)
- Fixed
Fixes an issue when converting negative JavaScript numbers on arm64. (#27087)
- Fixed
Fixes an issue where background tasks were not always correctly ended. (#27005)
- Fixed
Fixes an issue where choice form elements might show a cached value on first change if the annotation backing store is an external file. (#26877)
Examples
- Added
Adds a Catalog example that adds a custom overlay views to the
PDFPageView
whenever a user selects an annotation. SeeShowAuthorNameOnAnnotationSelectionExample.swift
. (#26798) - Fixed
Fixes a tap location issue in the Create Text Annotation When Tapping Whitespace example. (#27095)
10.1.0 - 11 Nov 2020
See the announcement post.
PSPDFKit now requires and is built with Xcode 12.2.
PSPDFKitUI
- API
Changes a subclassing hook of
BookmarkViewController
to not return a new cell. (#26287) - Removed
Deprecates the
PSPDFSafePreferredInterfaceOrientation
function. (#25974) - Added
Adds a
pageIndexPublisher
onPDFViewController
to subscribe to page index change events. (#25993)s - Added
Adds a new
PDFView
SwiftUI view that wraps aPDFViewController
and conveniently exposes common configuration and delegate hooks. (#25856) - Added
Adds a new
PDFViewController.reloadPages(indexes:animated:)
method to reload multiple pages in the view hierarchy at once. (#26350) - Added
Adds a new
documentPublisher
property toPDFViewController
to be notified about document changes. (#26513) - Added
Adds the ability to update annotation views on page views after changing render options. (#26655)
- Changed
Improves Free Text callout annotation knee point placement during editing. (#25641)
- Changed
Improves annotation accessibility so it omits types not in the document’s
renderAnnotationTypes
. (#21627) - Changed
Improves focus ring handling on Mac Catalyst. (#26360)
- Changed
Improves outline search performance. (#26661)
- Changed
Improves the scribble user experience and allows users to write anywhere on the page to create a new free text annotation. (#26272)
- Changed
Improves the web link editing UI (
WebsiteLinkAnnotationEditingViewController
) to allow adding custom URL schemes. (#26264) - Changed
Improves trimming leading or trailing punctuation characters when using the Search or Define menu items for selected text. (#25895)
- Changed
The
SearchViewController
now automatically updates the current search after the document is saved to account for potentially removed content. (#26513) - Fixed
Fixes a crash that would occur when attempting to scroll past the available spreads using page curl transition. (#26689)
- Fixed
Fixes an issue where
PDFDocumentViewControllerDelegate
calls were not being invoked under certain circumstances. (#26134) - Fixed
Fixes an issue where link annotations and form elements would become highlighted when drawing. (#26498)
- Fixed
Fixes an issue where selecting and promptly dragging an annotation was not working. (#26370)
- Fixed
Fixes an issue where updating the line end of a callout annotation to none caused its bounding box to get calculated incorrectly. (#26294)
PSPDFKit
- API
Renames
PSPDFDocumentCheckpointSavedNotificationSucessKey
toPSPDFDocumentCheckpointSavedNotificationSuccessKey
. (#26649) - Removed
Deprecates the
subFilter
property ofPDFSigner
. Use thesignatureType
property instead. (#25051) - Added
Adds a new
reload(documentProviders:dataProviderOverride:)
method toDocument
to reload a single document provider with optionally replacing the data provider as well. This is useful for a fine-grained document updating when compound documents are used. (#26350) - Added
Adds new invalidation methods in
PDFCache
to invalidate multiple pages at once. The API has been renamed to reflect this and the old version has been deprecated. (#26350) - Changed
Improves documentation for
TextFormField.isComb
. (#26598) - Changed
Improves performance with path drawing by removing unnecessary path operations. (#25922)
- Changed
Improves rendering performance of documents with lots of image patterns. (#26186)
- Added
Adds new
annotationChangePublisher
to capture added, removed and changed annotation events. (#26105) - Changed
Document now offers a
savePublisher
Combine publisher for save events. (#25963) - Changed
Improves documentation of
PDFLibrary
notifications. (#26040) - Changed
Replaces all instances of
PSPDFValueTransformerName
with the better suitedNSValueTransformerName
. (#26124) - Changed
Updates the CocoaPods artifacts to support the standard Xcode 12 XCFramework format. (#26355)
- Changed
Document
now conforms to theObservableObject
protocol. (#26105) - Changed
OutlineElement
andAnnotation
classes now conform to theIdentifiable
protocol. (#26109) - Fixed
Fixes a problem where the signature reason, name or location may not appear correctly if they contain non-ASCII characters. (#26671)
- Fixed
Fixes an issue where partially redacted curved path objects may be misdrawn. (#26698)
- Fixed
Fixes annotation points and bounding boxes loading as zero when using the external file annotation save mode and calling
setRotationOffset(_:forPageAt:)
before annotations were loaded. Note that this API is intended for temporary rotations. We recommend using the Document Editor for persistent rotations. (#26639) - Fixed
Fixes duplication of newly created pages in the Document Editor. (#26074)
Examples
- Added
Adds a new streaming document Catalog example (
StreamingDocumentExample.swift
) which highlights how a PDF file can be streamed page-by-page for faster display. (#26350) - Added
Adds a new SwiftUIDocumentBrowser example to show integration of the DocumentBrowser and the new SwiftUI PDFView. Requires iOS 14. (#26114)
- Added
Adds a variety of new SwiftUI examples to the Catalog. (#26116)
- Added
Adds an example showing how to toggle visibility of annotations in a document. (#26655)
- Added
Adds an example demonstrating how to remove password protection from a document using the processor. (#26055)
10.0.3 - 2 Nov 2020
PSPDFKitUI
- Added
Adds a new
cancelErase
method onDrawView
. (#24025) - Changed
Improves displaying the print sheet on Mac Catalyst. (#26317)
- Changed
Improves draw view cleanup logic to prevent a possible rendering glitch while exiting drawing mode. (#26485)
- Changed
Improves the drawing experience with Apple Pencil by automatically dismissing visible annotation inspectors or note popovers when drawing begins. (#26257)
- Changed
Improves undo registration by not registering an undo action for subdivided ink annotation lines during erasing, if no points were actually removed. (#26296)
- Changed
The
StatefulTableViewController
now automatically removes unwanted implicit animations create from outside created auto layout constraints. (#26540) - Changed
Works around FB8833942 which can cause a retain cycle when search is not dismissed in various view controllers. (#26645)
- Changed
Works around a regression (FB8865609) in iOS 14.2 where copy: is called multiple times by the accessibility system, slowing down adding and editing image annotations. (#26681)
- Fixed
Fixes an issue if background document JavaScript triggered an alert. (#26650)
- Fixed
Fixes an issue where an existing selected annotation would disappear on creating a new annotation with the
PDFConfiguration.showAnnotationMenuAfterCreation
option enabled. (#24953) - Fixed
Fixes an issue where an ink annotation pasted from clipboard could not be erased using Apple Pencil. (#26224)
- Fixed
Fixes an issue where clearing the contents of a form field using a swipe action in the
AnnotationTableViewController
did not work. (#26364) - Fixed
Fixes an issue where loading a document which hasn’t been loaded before could trigger an assertion in specific configurations. (#26670)
- Fixed
Fixes an issue where print parameters were not properly used when printing via a JavaScript print action. (#24821)
- Fixed
Fixes an issue where some specific image sizes could not be imported using
ImagePickerController
. (#26491) - Fixed
Fixes an issue where the resizing the app window in split screen mode with a drawable annotation tool enabled would draw an annotation temporarily. (#24025)
- Fixed
Fixes entry of custom values for choice form elements on iOS 14. (#26330)
- Fixed
Fixes momentary presentation of accessory views when choice form elements are selected. (#26405)
PSPDFKit
- Added
Adds support for finding the correct form field type in non-conforming PDF files. (#26459)
- Changed
Improves performance for form elements with an extremely high number of associated annotations. (#26443)
- Changed
Improves the documentation for
AnnotationManager.ChangeBehaviorKey.suppressNotifications
. (#26431) - Fixed
Fixes a problem where signing a document again after filling a form field may invalidate existing digital signatures. (#25637)
- Fixed
Fixes an assert that was triggered by malformed documents that contained fonts that were not indirect objects. (#26450)
- Fixed
Fixes an issue in the Document Editor when adding an item to a imported page. (#25837)
- Fixed
Fixes an issue where form calculation was triggered when setting an empty string on a form field that didn’t have a value. (#26345)
- Fixed
Fixes an issue where the note icon for markup annotations sometimes render farther than the marked up text. (#25740)
- Fixed
Fixes an issue where using additional filters for rendering the PDF pages could crash the app. (#25957)
- Fixed
Fixes rendering a wrong color if the color was using a ICC color profile and the color was out of bounds. (#26535)
- Fixed
Fixes setting the
TextFormField
propertiesisMultiLine
,isPassword
,isComb
,doNotScroll
,isRichText
,doNotSpellCheck
, andfileSelect
and theChoiceFormField
propertiesisEdit
,isMultiSelect
,commitOnSelChange
, anddoNotSpellCheck
to false not behaving as expected. (#25498) - Fixed
Fixes text clipping for form fields exceeding their maxLen due to programatic changes. (#26340)
Examples
- Added
Adds a Catalog example that shows how to store annotations in JSON files for multiple users. (#26352)
- Fixed
Fixes errors in some Catalog examples when calling
write(toFileURL:)
on Processor with a URL where a file already exists. (#26588)
10.0.2 - 27 Oct 2020
PSPDFKit
- Fixed
Fixes CVE-2020-15999 in upstream dependency FreeType. (#26610)
10.0.1 - 7 Oct 2020
PSPDFKitUI
- API
The default value for
SearchViewController.useOutlineForPageNames
was changed fromtrue
tofalse
since the option can lead to performance issues with certain complex documents. (#20924) - Changed
Improves accuracy of grabbing text selection handles. (#26032)
- Changed
Improves compatibility with view controller initialization with a 3rd-party SDK that swizzles
UIViewController.didMove(toParent:)
. (#26018) - Fixed
Fixes a crash that would occur when changing pages using page curl transition. (#23068)
- Fixed
Fixes a retain cycle that could lead to documents not getting deallocated until their presenting
PDFViewController
got deallocated as well. (#26100) - Fixed
Fixes an issue that could result in the annotation toolbar not correctly reflecting the selected annotation state when first appearing. (#25980)
- Fixed
Fixes an issue where scrolling a page while zoomed in was not possible when using page curl transition. (#26143)
- Fixed
Fixes an issue where the Additional Toolbar Items button in the annotation toolbar wouldn’t show all collapsed buttons. (#25929)
- Fixed
Fixes an issue where the button to decrease the count of new pages to add in the
PDFNewPageViewController
would get disabled if the count went over 99. (#26064) - Fixed
Fixes view controllers presented full screen from the
PDFViewController
being dismissed immediately if thePDFViewController
was inside a parent view controller such asPDFTabbedViewController
. This was noticeable with the camera picker. (#25997)
PSPDFKit
- Changed
Improves outline parsing performance by lazy loading outline element actions on demand. (#20924)
- Changed
Improves performance loading some documents with broken internal links (named destinations). (#24398, #26099)
- Changed
Improves the documentation for
Processor.Configuration.merge(item:onPage:)
. (#26199) - Fixed
Fixes a crash in the
AddFreeTextAnnotationProgrammaticallyExample
in the Catalog sample project. (#25940) - Fixed
Fixes a crash on preparing a form element for signing that has just been added to the document. (#25739)
- Fixed
Fixes an issue where OCR could not be performed on certain images due to an incorrect render scale. (#26118)
- Fixed
Fixes an issue where an app would crash on trying to load an embedded file in a PDF document created using multiple data providers. (#26023)
- Fixed
Fixes an issue where appearance streams weren’t re-generated when using the processor even though ‘NeedAppearances’ was set in the PDF. (#26123)
- Fixed
Fixes an issue where documents with high object numbers were identified as corrupt. (#26062)
- Fixed
Fixes an issue where the Simulator slice from CocoaPods XCFrameworks was incorrect. (#26198)
- Fixed
Fixes an issue where trying to convert
Annotation.Kind
to aString
led to an infinite loop. (#25949) - Fixed
Fixes an issue where warning messages were displayed in other readers when flattening a signature form field. (#25923)
- Fixed
Fixes form field JavaScript actions in the generated documents when merging two or more documents together. (#25603)
- Fixed
Fixes the PDF JavaScript function
getNthFieldName
to return the FQN of the form field. (#26144)
10.0.0 - 21 Sep 2020
See the announcement post.
PSPDFKit now requires and is built with Xcode 12.0.
PSPDFKit, Instant, and PSPDFKitOCR can now be integrated into your projects via Swift Package Manager. To learn more check out our new Swift Package Manager integration guide.
Xcode 12 automatically handles the dSYMs
and BCSymbolMaps
in XCFrameworks, therefore the strip-framework.sh
script is no longer required. It will be removed in a future update. Please see our PSPDFKit 10 for iOS migration guide to learn about the appropriate migration strategy.
PSPDFKitUI
- Added
Adds accessibility elements for annotations on pages. (#21627)
- Added
Adds fine-grained VoiceOver accessibility support by making paragraphs on pages individual accessibility elements. (#21627)
- Added
Adds modern
UIButton
contextual menus on iOS 14 where appropriate. (#25001) - Added
Adds showing the user’s name in the suggestions bar when entering the annotation username. (#25065)
- Added
Adds support for opening links in
ReaderViewController
. (#24301) - Added
Adds the ability to select and copy text from additional fields on the document info UI. (#25513)
- Added
Adds tooltips to the annotation and document editor toolbar for Mac Catalyst. (#25716)
- Added
Adds support for modern text selection gestures on iOS 13 and later to more closely resemble the system style across all versions of iOS and Mac Catalyst. (#21012)
- Changed
Improves VoiceOver accessibility support when using the scroll per spread page transition by not automatically scrolling across pages when swiping left/right to change the focused element so that the behavior is more predictable. (#25693)
- Changed
Improves accessibility of the signature popup’s color buttons. (#21627)
- Changed
Improves automatic merging of highlight annotations with the same color. (#24636)
- Changed
Improves cell sizing and layout in
AnnotationGridViewController
(used for adding stamps and saved annotations). (#24820) - Changed
Improves the behavior when adding the first document to
PDFTabbedViewController
usingPDFTabbedViewController.addDocument(_ document:, makeVisible:, animated:)
. TheshouldMakeDocumentVisible
parameter will be ignored for the first document: The document will be visible even if theshouldMakeDocumentVisible
parameter is false. (#24845) - Changed
Improves the scrubber bar marker placeholder sizing. (#25520)
- Changed
Changes the sharing process to allow sharing the document when
DocumentSharingConfiguration.AnnotationOptions.embed
is selected and the document has itsannotationSaveMode
set to.disabled
. (#23614) - Changed
Various cell buttons use macOS buttons when using Catalyst in the new Optimized for Mac mode. (#24948)
- Fixed
Fixes a crash due to a system issue when scrolling in the annotation list while Voice Control is turned on. (#21627)
- Fixed
Fixes a crash that would occur on some iPad devices running iOS 14 when the app was backgrounded while the annotation tool inspector popover was visible. (#25067)
- Fixed
Fixes a crash when tapping the escape key on a hardware keyboard immediately after tapping the Define text selection menu item. (#25897)
- Fixed
Fixes an issue that resulted in the modal note UI being shown instead of the annotation menu when interacting with note annotations in certain size-class configurations. (#23543)
- Fixed
Fixes an issue where
PDFViewControllerDelegate.pdfViewController(:shouldSave:withOptions:)
was wrongly called even when theannotationSaveMode
of the displayedDocument
in thePDFViewController
was set to.disabled
. (#23614) - Fixed
Fixes an issue where a document would not be saved when a PDF controller was popped from a navigation stack in some cases on iOS 14. (#25168)
- Fixed
Fixes an issue where copying pages after duplicating pages more than once in the document editor could cause a crash. (#25667)
- Fixed
Fixes an issue where links couldn’t be opened when not using Safari as the default browser. (#25869)
- Fixed
Fixes an issue where opening
NoteAnnotationViewController
of any annotation would immediately mark that annotation as dirty. (#25023) - Fixed
Fixes an issue where quickly switching between thumbnail view and document view would sometimes cause the document to become invisible. (#24428)
- Fixed
Fixes an issue where tapping on a bookmark in a
BookmarkViewController
presented by aPDFViewController
in aUISplitViewController
would dismiss all the presented controllers. (#25524) - Fixed
Fixes an issue where tapping on a search result in a
SearchViewController
presented by aPDFViewController
in aUISplitViewController
would dismiss all the presented controllers. (#25816) - Fixed
Fixes an issue where the annotation toolbar would not get tinted correctly when the navigation bar was hidden. (#24326)
- Fixed
Fixes an issue where unsaved changes of a document were not contained in the PDF document shared using a submit form action. (#23614)
- Fixed
Fixes an issue where variable-sized documents were laid out incorrectly. (#21703)
- Fixed
Fixes an issue with Vimeo integration via the gallery feature. (#24737)
- Fixed
Fixes issues with showing multiple document thumbnails in
MultiDocumentViewController
ifthumbnailViewIncludesAllDocuments
is set. (#24861) - Fixed
Fixes superfluous cell selection highlights on the document info UI. (#25513)
- Fixed
Fixes the share sheet popover sometimes being positioned incorrectly when using the Share item in the text selection menu. (#25900)
PSPDFKit
- Added
Adds the ability to integrate PSPDFKit, Instant, and PSPDFKitOCR via Swift Package Manager. (#24590)
- API
The PSPDFIdentifiable protocol was unused and has been removed. (#25685)
- Removed
Deprecates
DrawingPoint.isValid
/PSPDFDrawingPointIsValid
in favor ofDrawingPoint.isFinite
/PSPDFDrawingPointIsFinite
. (#25078) - Added
Adds a new
.signatureOnly
signature appearance setting to create a digital signature with a custom appearance. (#25143) - Added
Adds support for PEM format PKCS#1 private keys for use with digital signatures. (#24919)
- Added
Adds the option to prepare a PAdES signature container with the “ETSI.CAdES.detached” signature sub-filter type. Signature must be created externally. (#24887)
- Changed
Improves
OfficeConversionOperation
API to wait for connectivity before trying to connect to the PSPDFKit Server for the file conversion operation. The converted file downloading task from the server times out after 120 seconds. (#25639) - Changed
Improves font rendering in forms with Chinese, Japanese, Korean and Thai characters. (#24337)
- Changed
Improves log noise in the OCR Library by removing unnecessary log messages in release mode. (#25532)
- Changed
OCR now uses NEON and AVX intrinsics for better performance. (#24870)
- Changed
The
byteRange
property of thePDFSignatureInfo
class has been refined for Swift. (#25143) - Changed
Updates HarfBuzz to version 2.7.2. (#25717)
- Fixed
Fixes a crash that could happen when creating form fields. (#25806)
- Fixed
Fixes an issue where appearance streams of form field widgets weren’t preserved correctly. (#25550)
- Fixed
Fixes an issue where bezier paths were drawn incorrectly when a miter limit was set. (#25758)
- Fixed
Fixes an issue where form elements were included in the page rendering which shouldn’t have been. (#25799)
- Fixed
Fixes an issue where the digital signature advanced properties contained the signature creator twice. (#25611)
Examples
- Added
Adds description for the Local Network usage popup of the Instant-iOS-Example app. (#25639)
- Added
Adds Swift variants of the
PSCGalleryExample
andPSCCustomGalleryExample
PSPDFKit Catalog examples. (#25072) - Added
Adds a Catalog example showing how to show a
PDFViewController
alongside a modern sidebar containing the document info views. SeeDocumentInfoSidebarExample.swift
. This example is a modern and improved example acting as a replacement of “Split View Controller Sidebar” which now has been dropped. (#24981) - Added
Adds description for the Local Network usage popup of the Catalog example app. (#25639)
- Changed
Renames PSPDFCatalog to Catalog to make it more in line with Swift naming style. (#23480)
- Changed
Replaces existing standalone examples with a new minimal Swift integration example. The CustomFontPath example was made part of Custom Fonts guide article in the process. (#25845)
- Fixed
Fixes a potential deadlock that would occur when accessing the
PDFContainerAnnotationProvider
’s description. (#24544)
9.5.2 - 25 Aug 2020
PSPDFKitUI
- API
Changes the return type of
AnnotationToolbar.button(withType:variant:createFromGroup:)
fromUIButton
toUIButton?
, to be nullable. This method could have always returned nil, but this was not reflected in the public method definition. (#24989) - Changed
Improves memory usage while loading image using
ImagePickerController
. WhenImagePickerController
is used in an app extension, a scaled down version of the image is used to avoid exceeding the 120 MB limit of app extensions. (#24809) - Fixed
Fixes a crash which occurred when restoring text selection state after relaunching. (#24898)
- Fixed
Fixes an issue where
PSPDFViewControllerDelegate
’swillBeginDisplayingPageView:forPageAtIndex:
method would get called with apageIndex
of a page that is off-screen in some configurations. (#24018) - Fixed
Fixes an issue where drawing stopped worked when screen mirroring on page changes while a drawing tool was active. (#24975)
- Fixed
Fixes an issue where zoom syncing didn’t work when customizing the view hierarchy when screen mirroring. (#24975)
- Fixed
Fixes scrubbing and visible page display on the scrubber bar for right-bound documents. (#24047)
- Fixed
Fixes the last set annotation styles not being saved for dash array, border and blend mode. To revert to not saving these, remove these property keys from
AnnotationStyleManager
’sstyleKeys
. (#19429) - Fixed
Fixes the scrubber bar position indicator placement for single leading and trailing pages in double page mode when displaying right-bound documents. (#25503)
PSPDFKit
- Changed
Improves the
Processor
behavior when license doesn’t include the forms component. (#24604) - Fixed
Fixes FTS queries with 3 or more words when searching for an exact match when using the unicode tokenizer. (#25068)
- Fixed
Fixes a crash that could happen as a result of a race condition when form fields were repaired and the page was rendered at the same time. (#24885)
- Fixed
Fixes an issue where a thin white bar could be visible along the right edge of a document page in inverted rendering mode. (#21334, #24830)
- Fixed
Fixes an issue where a form field value was lost when using external annotation saving. (#24740)
- Fixed
Fixes an issue where text form fields weren’t displayed correctly after flattening due to their appearance stream being wrong in the original document. (#24918)
- Fixed
Fixes duplicate string occurrences when copy and pasting from documents with duplicate content. (#25108)
- Fixed
Fixes setting the
PDFFormField
propertiesisReadOnly
,isRequired
andisNoExport
to false not behaving as expected. (#25498) - Fixed
Fixes the placement of the popup annotation linked to a note annotation. When a note annotation is moved, the popup annotation will now follow the location and is always placed within the bounds of the page. (#24468)
- Fixed
Fixes the saving of small shapes with large line widths. Shapes with these characteristics in documents saved by PSPDFKit will now be visible on any reader. (#25531)
9.5.1 - 23 Jul 2020
PSPDFKitUI
- Fixed
Fixes a
PDFViewController
’s delegate being reset to nil if this property was set in an Objective-C override of the designated initializerinitWithDocument:configuration:
and the object was initialized with a default nil argument on the Swift convenience initializerinit(document:delegate:configurationBuilder:)
. (#24802) - Fixed
Fixes a paste message being shown to the user each time
SavedAnnotationsViewController
appeared on iOS 14. (#24850) - Fixed
Fixes an incorrect nullability annotation on the return type of
annotationViewClass(for:)
. (#24945) - Fixed
Fixes an issue that prevented the
shouldHideUserInterfaceOnPageChange
flag from being correctly honored when using page curl transition. (#24875, Z#19805) - Fixed
Fixes an issue where
PDFViewControllerDelegate
methodpdfViewController(_:shouldSelect:on:)
wasn’t called when selecting some annotatios. (#24884) - Fixed
Fixes an issue where
PDFViewControllerDelegate
methodspdfViewController(_:didSelect:on:)
andpdfViewController(_:didDeselect:on:)
would be called when selecting or deselecting annotations programmatically. (#24884) - Fixed
Fixes an issue where
SignedFormElementViewController
could not be dismissed when presented as a popover. (#24923) - Fixed
Fixes an issue where a newly added annotation was placed on a previously interacted page even if the page was no longer on screen. (#24583)
- Fixed
Fixes an issue where scrubber bar thumbnail images would not render correctly when quickly switching appearance mode. (#14937)
- Fixed
Fixes an issue where some annotations were added to an incorrect page in double page mode. (#21270)
- Fixed
Fixes the color picker and font picker popovers not being dismissed on tap. The color picker can be shown using the Custom item in the edit menu for text markup annotations. The font picker can be shown from the edit menu for free text annotations if the annotation inspector is disabled. (#24976)
PSPDFKit
- Fixed
Fixes a problem where signing a document with existing digital signatures may invalidate them. (#24780)
- Fixed
Fixes an issue where objects rendered with the Overlay blend mode didn’t always render correctly. (#24298)
- Fixed
Fixes an issue where our text parser returned descending characters from the line above the intended search area. (#24709)
- Fixed
Fixes an issue where text form fields would be rendered with a black fill color for certain documents after saving the annotations in an external file. (#24739)
- Fixed
Fixes an issue where text with word or character spacing is shifted after redaction has been applied. (#24476)
- Fixed
Fixes an issue where umlauts were displayed wrong in certain documents because the wrong encoding was used when shaping the text. (#24465)
- Fixed
Fixes registered subclasses of
AnnotationCell
not being used. (#24545) - Fixed
Fixes partial annotation parsing for sound and link annotations when external annotation storage is used. (#24813)
9.5.0 - 13 Jul 2020
See the announcement post.
This release adds the OCR component. If you would like to add it to your license, ping our sales team to receive a quote. To learn more about our new touch handling API, please consult our migration guide for this release.
PSPDFKitUI
- API
Adds new touch handling API, which replaces certain delegate calls and subclassing hooks. Please refer the migration guide for details. (#9708)
- Added
Adds drag and drop in the document editor for macOS 11.0. (#24669)
- Changed
Improves annotation creation via the annotation state manager by failing gracefully and logging error details, if a page view for annotation insertion isn’t available. (#24558)
- Changed
Improves compatibility with Mac Catalyst on macOS Big Sur. (#24623)
- Changed
SpeechController
now uses settings from assistive technologies if enabled on iOS 14 and macOS 11. (#24658) - Fixed
Fixes
KeychainSignatureStore
failing with a secure coding error. (#24554) - Fixed
Fixes an issue where the custom buttons added to the
UIToolbar
of theScrubberBar
did not receive touch events. (#24211)
PSPDFKit
- Removed
Deprecates the
Processor
class methodcancellAllConversionOperations
in favor of the rename,cancelAllConversionOperations
. (#24630) - Added
Adds a new PSPDFKitOCR framework, to perform optical character recognition (OCR) on a PDF document. (#24248)
- Changed
Improves memory handling for Office file conversion operation. (#24485)
- Changed
Improves performance when removing a unloaded document from cache. (#24669)
- Changed
Improves handling of memory warning notifications for documents with unsaved changes. (#24654)
- Changed
Separates
ConversionOperation
subclasses into their own header and implementation files. (#24562) - Changed
Updates GSL to version 3.1.0. (#24480)
- Changed
Updates HarfBuzz to version 2.6.7. (#24477)
- Fixed
Fixes a problem where some certificates with CRL distribution point extensions may not be validated correctly. (#24660)
- Fixed
Fixes a crash when parsing certain rare documents. (#24599)
- Fixed
Fixes a very rare crash on certain documents when multiple pages were rendered at the same time. (#24598, #24626)
- Fixed
Fixes a possible endless loop while trying to repair form fields in certain documents. (#23901, #24597)
- Fixed
Fixes an issue where form fields may not be editable in some cases. (#23123)
9.4.0 - 16 Jun 2020
See the announcement post.
This release adds the Reader View component, as well as Office Files Support. If you would like to obtain PSPDFKit Server or add either to your license, ping our sales team to receive a quote.
In preparation for iOS 14, this version of PSPDFKit now drops support for iOS 11. It also requires and is built with Xcode 11.5 (11E608c). PSPDFKit and PSPDFKitUI now also come with a stable module interface. This enables linking with PSPDFKit frameworks, even if the Swift compiler version used in your application differs from the one we used to build the frameworks.
This release has some smaller breaking API changes. Please see our migration guide for details.
PSPDFKitUI
- API
Replaces the
LinkAnnotationEditingContainerViewController.init(page:, selectedRects:)
initializer withLinkAnnotationEditingContainerViewController.init(document:, pageIndex:, selectedRects:)
. Page objects cannot be created outside of PSPDFKit so the previous initializer was not usable as public API. (#24413) - API
Changes the type of the
pointSequences
property onDrawView
from[[NSValue]]
to[[DrawingPoint]]
in Swift (#23734) - API
PSPDFDocumentViewLayoutPageMode
has been renamed toPDFDocumentViewLayout.PageMode
in Swift. (#23861) - API
PSPDFDocumentViewLayoutSpreadMode
has been renamed toPDFDocumentViewLayout.SpreadMode
in Swift. (#23861) - Removed
Deprecates the constants used as options in
SpeechController
API in favor of new constants of typeSpeechController.Option
. (#24223) - Removed
Deprecates the
longPressGestureRecognizer
property onBackForwardButton
,ToolbarGroupButton
, andToolbarDualButton
since these are not always used by PSPDFKit itself. (#23878) - Added
Adds Reader View: A new component that reformats document text into an easy-to-read, single-column view that’s optimized for mobile devices. (#23580)
- Added
Adds a workaround for an OS issue where text input on Mac Catalyst could cause a memory race on macOS 10.15.4 and 10.5.5. (#24390)
- Added
Adds contextual menus on tabbed bar to close tabs on iOS 13. Earlier versions show an action sheet on long press as before. The menu or sheet can now be activated from anywhere on the tab rather than just the close button. (#23878)
- Added
Adds explanatory text at the bottom of
PDFDocumentSecurityViewController
whenSDK.Setting.honorDocumentPermissions
is disabled to clarify that restricting permissions will not change behavior in the app. To hide this message, usesetLocalizationDictionary
orsetLocalizationClosure
to use an empty string for the keyDocumentSecurity_PermissionsDisabledExplanation
. (#23857) - Added
Adds showing the annotation inspector’s color preset reset menu immediately in response a secondary click on a trackpad or mouse. This enhancement requires
UIApplicationSupportsIndirectInputEvents
to be enabled in your app’s Info.plist. (#23878) - Added
Adds subtle trackpad and mouse hover effects to many parts of the UI. (#23641)
- Added
Adds support for enabling
UIApplicationSupportsIndirectInputEvents
in the app‘s Info.plist. (#24026) - Added
Adds support for sharing documents with unsaved changes. (#23436)
- Added
Adds trackpad and mouse scrolling on the half modal navigation bar (for the annotation inspector) and the image cropping UI (for adding image annotations). (#24029)
- Changed
Improves accessibility in table view cells that show multiple buttons. (#21627)
- Changed
Improves the UX of present
PDFViewController
bar button items, by disabling instead of hiding them in cases where the button availability can change during the document presentation. (#23345) - Changed
Improves the behavior of the certificate picker in the signature dialog by resizing the popover. (#24095)
- Changed
Improves the history list on the back and forward navigation buttons by using a system contextual menu. (#23878)
- Changed
Improves the snapping behavior of the annotation toolbar in some edge cases. (#23751)
- Changed
Changes the behavior of
FlexibleToolbar
so that it can no longer be dragged ifsupportedToolbarPositions
has only one value. (#23655) - Fixed
Fixed an issue where
TextSelectionView.selectedText
would return an empty string instead ofnil
if no text was selected. (#23946) - Changed
Text to speech now uses a more accurate way to autodetect the document language. (#24223)
- Changed
Works around issue which caused the annotation toolbar to lose its background when the window loses focus on Mac Catalyst. (#21711)
- Fixed
Fixes an issue that could invoke PDF actions from multiple annotations simultaneously during a tap event, if the annotations were in close proximity. (#23456, #23845)
- Fixed
Fixes an issue where switching page transition from continuous to curl caused the page to get zoomed in. (#21266)
- Fixed
Fixes an issue where the scrubber bar page markers were not updated correctly while using double page mode. (#24144, #24149)
- Fixed
Fixes annotation summary sharing (
DocumentSharingConfiguration.AnnotationOptions.summary
) not working if the license does not include the WebKit-based HTML to PDF conversion feature. (#24339) - Fixed
Fixes the window document reference being set even if
allowWindowTitleChange
was disabled on Mac Catalyst. (#23773)
PSPDFKit
- API
Changes the
PSPDFObject
string constants to an extensible enumPSPDFObjectFinderOption
. Also introduces a new extensible enumPSPDFObjectFinderType
to separate the output types from the options. (#24343) - API
Changes the type of the options dictionary keys on the
URLAction
initialiser fromString
toAction.Option
. (Only affects Swift). (#23831) - API
Changes the type of the options parameter of
annotationsByDetectingLinkTypes:forPagesAtIndexes:options:progress:error:
fromNSDictionary<NSString *, NSDictionary<NSNumber *, NSArray<PSPDFAnnotation *> *> *> *
toNSDictionary<PSPDFObjectFinderType, NSDictionary<NSNumber *, NSArray<PSPDFAnnotation *> *> *> *
. (#24343) - API
Changes the type of the options parameter of
objectsAtPDFPoint:pageIndex:options:
andobjectsAtPDFRect:pageIndex:options:
fromNSDictionary<NSString *, NSNumber *> *
toNSDictionary<PSPDFObjectFinderOption, NSValue *> *
. (#24343) - API
In the
PSPDFPageView
class, changes the type of the options param inobjectsAtPoint:options:
andobjectsAtRect:options:
fromNSDictionary<NSString *, NSNumber *> *
toNSDictionary<PSPDFObjectFinderOption, NSValue *> *
and return type fromNSDictionary<NSString *, id> *
toNSDictionary<PSPDFObjectFinderType, id> *
. (#24343) - API
Removes the Swift free function
BoundingBoxFromLines
. (#24435) - API
Removes the
PDFPage
class, as it was not possible to create or obtainPDFPage
objects via public API. (#24413) - API
Renames
PDFFileAnnotationPovider
toPDFFileAnnotationProvider
(only affects Swift). (#24072) - API
Renames
PDFSigner.Error
toPDFSignerError
in Swift. This is a breaking change with no deprecation in order to avoid ambiguity with theSwift.Error
type. (#23912) - API
The
Processor
class methodsgeneratePDF(from ...)
now have a non-optional return type and call their completion handler with an error if the required feature is missing in the license. (#24352) - API
The behavior of the
editable
property ofAnnotation
was changed slightly. It now also depends on thereadOnly
property. (#23868) - Removed
Deprecates the constants used for searching text using
PDFLibrary
API in favor of new constants of typePDFLibrary.Option
. (#24215) - Removed
Deprecates the
BackForwardActionListDelegate
methodsbackForwardList(_:requestedBackActionExecution:)
andbackForwardList(_:requestedForwardActionExecution:)
, and theBackForwardActionList
methodsrequestBack
,requestBack(to:)
,requestForward
, andrequestForward(to:)
in favor of variants with ananimated
parameter. (#23791) - Removed
Deprecates the type aliases
PDFLine
andViewLine
because their names were inaccurate. (#24433) - Removed
Deprecates
AESCryptoInputStreamErrorCode
renaming it toAESCryptoInputStreamError
in Swift. Xcode will provide an automatic fix. (#23912) - Removed
Deprecates
AESCryptoOutputStreamErrorCode
renaming it toAESCryptoOutputStreamError
in Swift. Xcode will provide an automatic fix. (#23912) - Removed
Deprecates
Cryptor.ErrorCode
renaming it toCryptorError
in Swift. (#23912) - Removed
Deprecates
PSPDFError
renaming it toPSPDFKitError
in Swift. Xcode will provide an automatic fix. (#23912) - Removed
Deprecates
PSPDFSignerError
renaming it toPSPDFSignerErrorCode
in Objective-C. (#23912) - Removed
Deprecates all cases of
AESCryptoInputStreamError
, replacing them with more consistent names. (#23912) - Removed
Deprecates all cases of
AESCryptoOutputStreamError
replacing them with more consistent names. (#23912) - Added
Adds a new API for PSPDFKit Server powered Office document conversion to PDF files. (#24304)
- Added
Adds XCFramework support for CocoaPods allowing you to use the CocoaPods integration in Mac Catalyst projects. (#21374)
- Added
Adds
removeSignature()
toSignatureFormElement
to allow removing digital signatures programmatically. (#24094) - Added
Adds new
Annotation.clearAppearanceStream()
helper. (#24114) - Added
Adds support for executing
GoBack
andGoForward
named actions. (#23791) - Added
Adds support for saving into any data provider with a data sink in the document editor. (#24103)
- Changed
Improves error reporting when calling
write(toFileURL:)
onProcessor
with a URL where a file already exists. (#24092) - Changed
Improves quality of fallback font rendering. (#24136)
- Changed
Ensures that note annotations with an unknown icon always use a fallback image. (#23977)
- Changed
Improve style sheet parsing to recognize font names better. (#23968)
- Fixed
Fixes a dangling pointer upon destruction of PSPDFKit. (#24387)
- Fixed
Fixes a problem where the asset name of a screen annotation may not be decoded correctly in some cases. (#24269)
- Fixed
Fixes a problem where the font name of a free text annotation may not be decoded correctly in some cases. (#24269)
- Fixed
Fixes an issue flattening form fields correctly when the artbox of the page contains an offset. (#23385)
- Fixed
Fixes an issue where attempting to access link annotations that reference remote destinations containing certain characters could lead to a failed assertion. (#24212)
- Fixed
Fixes an issue where combo boxes with attached JavaScript actions would fail to execute the attached actions when changing their value. (#23120)
- Fixed
Fixes an issue where text was rendered incorrectly when the ‘comb’ option was used. (#24395)
- Fixed
Fixes an issue where the read-only property of an annotation would get ignored if the annotation had a user, allowing it to be erasable. (#23868)
- Fixed
Fixes an issue where using a custom background color filled the rendered image beyond the page bounds. (#22590)
Instant
- API
PSPDFInstantDocumentState
has been renamed toInstantDocumentState
in Swift. (#24215) - API
PSPDFInstantSyncingLocalChangesDisabled
has been renamed toInstantSyncingLocalChangesDisabled
in Swift. (#24215) - Added
Adds a new error code to
InstantError
for the case where syncing fails due to the size of the sync payload exceeding the server limit:.payloadLimitExceeded
. (#23293) - Removed
Deprecates
PSPDFInstantError
renaming it toPSPDFInstantErrorCode
in Objective-C. (#23912)
Examples
- Added
Adds an example showing how to add hide and reveal areas to the Catalog. (#23772)
- Added
Adds an example showing how to create a teacher / student example to the Catalog. (#23818)
9.3.3 - 11 May 2020
PSPDFKit
- API
The document must now have a file annotation provider when calling the
PDFDocumentProvider
methodsetRotationOffset(_:forPageAt:)
. Calling this method when there is no file annotation provider will have no effect. (#23686) - Changed
Updates
strip-framework.sh
to fix theITMS-90238: Invalid Signature
error which would occur when uploading Mac Catalyst apps to App Store Connect when the dSYMs were not added to the Run Script Phase. (#24172) - Fixed
Fixes an issue in
strip-framework.sh
which would occur where running the app for a second time when the dSYMs were added to the Run Script Phase. (#24172) - Fixed
Fixes a crash that could occur when flattening certain note annotations, created by or edited on other PDF editors. (#24146)
- Fixed
Fixes an assertion failure “Should not be creating new annotations when applying rotation” when calling
setRotationOffset(_:forPageAt:)
to apply temporary before the document has loaded annotations when using a custom annotation provider. We recommend using the Document Editor for persistent rotations. (#23686) - Fixed
Fixes edits to the page binding not being saved in certain documents. (#24115)
9.3.2 - 4 May 2020
PSPDFKit now requires and is built with Xcode 11.4.1 (11E503a).
PSPDFKitUI
- Changed
Improves VoiceOver accessibility by not posting
UIAccessibilityPageScrolledNotification
after the spread changes since this would block reading the page text. (#21627) - Changed
Works around a system issue that could lead to missing pages on iOS 13.4 and later. (#24067)
- Fixed
Fixes a “does not recognize selector” crash that would occur on older iOS 13.4 betas that did not include the new pointer API. (#23894)
- Fixed
Fixes an issue where ink annotations with the locked flag were wrongly allowed to be erased. (#23840)
- Fixed
Fixes an issue where setting
searchResultZoomScale
would cause the selected search result to zoom and fill the whole page. (#23949) - Fixed
Fixes an issue where hit testing could sometimes miss a selected line annotation on Mac Catalyst. (#23989)
- Fixed
Fixes an issue with the color picker where it would end up entirely black after opening for the second time. (#23900)
PSPDFKit
- Removed
Deprecates the
mergePage(from:password:sourcePageIndex:destinationPageIndex:transform:blendMode:)
method ofProcessor.Configuration
and replaces it withmergeAutoRotatedPage(from:password:sourcePageIndex:destinationPageIndex:transform:blendMode:)
which auto-rotates the page to match the rotation of the destination page. (#23858) - Changed
Improves
strip-framework.sh
to prevent theITMS-90238: Invalid Signature
error which could occur when uploading Mac Catalyst apps to App Store Connect. (#23940) - Fixed
Fixes an issue where non-Latin text may not render correctly. (#23287)
- Fixed
Fixes an issue where wrong characters were displayed in multi-line form fields. (#23317)
Instant
- Fixed
Fixes an issue where unsupported annotation types could lead to a crash. (#23752)
9.3.1 - 8 Apr 2020
PSPDFKitUI
- API
PSPDFFormSubmissionController
is now public and has been renamed toPDFFormSubmissionController
in Swift. This class was private initially even though it was referenced inPDFFormSubmissionDelegate
. (#23792) - API
formSubmissionControllerShouldPresentResponse(inWebView:)
method ofPDFFormSubmissionDelegate
protocol has been renamed toformSubmissionControllerShouldPresentResponseInWebView(_:)
in Swift. (#23792) - Changed
Improves design of flexible toolbar placeholders and ensures they don’t overlap when screen space is tight. (#23751)
- Fixed
Fixes an issue where
PSPDFApplePencilDetectedNotification
was not set wheneverApplePencilManager
detected an Apple Pencil. (#23767) - Fixed
Fixes overrides of the
ScrubberBar
APIscrubberBarThumbSize
andemptyThumbnailImageView
not being used. (#23753) - Fixed
Fixes an issue which caused free text annotations on the second page onwards to scroll out of bounds of the page when edited. (#23830)
- Fixed
Fixes an assertion that would occur in
PDFViewController.viewWillAppear(_:)
for licenses without the annotation editing component. (#23905)
PSPDFKit
- Fixed
Fixes an issue where accessing
SDK.Setting.additionalFontDirectories
in Swift would cause an ambiguous use error. (#23774) - Fixed
Fixes potential document corruption when incremental saving encrypted documents. (#23689)
Examples
- Changed
Updates additional Swift example code for PSPDFKit Swift API changes. (#23774)
9.3.0 - 27 Mar 2020
See the announcement post.
PSPDFKit now requires and is built with Xcode 11.4 (11E146).
This release has breaking API changes, especially in Swift. Please see more details in our migration guide..
- API
Changes all types to use Swift-friendly names in Swift, removing the PSPDF prefix. Modules supply an implicit namespace. Please refer the migration guide for details. (#23139)
- API
Changes many sets of related constants such as dictionary keys to use structs and enums in Swift. For example, options for annotation addition/removal, presentation options for
PSPDFPresentationActions
, andPSPDFGalleryItem
property and option keys. See the migration guide for details. (#22962) - API
Further refines various API in Swift. See the migration guide for details.
PSPDFKitUI
- API
The method
-textStampViewController:didCreateAnnotation:
is now required to be implemented by types adopting thePSPDFTextStampViewControllerDelegate
protocol. (#21315) - Removed
Removes the page curl transition from
PSPDFSettingsViewController
on Mac Catalyst. (#23074) - Removed
Deprecates
PSPDFFlexibleToolbarPositionsAll
and replaces it withPSPDFFlexibleToolbarPositionAll
. (#9466) - Removed
Deprecates
PSPDFFlexibleToolbarPositionsVertical
and replaces it withPSPDFFlexibleToolbarPositionVertical
. (#9466) - Removed
Deprecates the
displayAsEllipse
,borderWidth
andindicatorSize
properties ofPSPDFColorButton
in favor of new customization properties. (#21357) - Added
Adds support for the Assemble, Modification, Annotation, Form Milling, and Printing document permissions. Read the announcement blog post for more details. (#1022)
- Added
Adds Dark Mode support to
PSPDFSignatureViewController
andPSPDFSignatureSelectorViewController
. (#21357) - Added
Adds a new optional flexible toolbar position:
PSPDFFlexibleToolbarPositionTop
. SeeToolbarPositionTopExample
in the PSPDFKit Catalog for more details. (#9466) - Added
Adds a new text selection mode,
PSPDFTextSelectionModeAutomatic
, for dynamic text selection handling between different pointer devices. This mode is now the default. (#23674) - Added
Adds support for iOS 13.4 trackpad and mouse hover for text, link annotations and resizing annotations. (#23644)
- Added
Adds trackpad and mouse hover highlighting in the annotation toolbar and document editor toolbar (via the common superclass
PSPDFToolbar
). (#23641) - Changed
Improves Voice Control accessibility in some table views by separating the accessibility value from the accessibility label. (#21627)
- Changed
Improves support for accessibility text sizes and the large content viewer. (#23576)
- Changed
Improves the design of the brightness slider in the advanced color picker in the annotation inspector. (#21356)
- Changed
Changes the icon used for note annotations in the annotation toolbar and menu bar. (#23003)
- Changed
Improves free text annotation bounding box handling. They now update when changing the font size or name in the inspector. (#22961)
- Changed
Free text annotations are now allowed to shrink smaller than the size they were when starting editing. Resize behavior is now consistent between non-edit mode and edit mode. (#22961)
- Fixed
Fixes an issue which caused free text annotations to scroll the page when text reached the right edge of the page. (#23434)
- Fixed
Fixes an issue where overriding
PSPDFFreeTextAnnotation
with a subclass sometimes had no effect. (#23680, Z#18022) - Fixed
Fixes an issue where pages may scroll unexpectedly when using continuous vertical scrolling and the keyboard is shown by another app in Split View or Slide Over. (#23463)
- Fixed
Fixes a potential deadlock when rendering pages with annotations in the document editor. (#23687)
- Fixed
Fixes an issue where the bookmark list edit button would sometimes not receive touches in iOS 13.4 when the views are loaded in a certain order. (#23706)
- Fixed
Fixes an issue where the search results could be duplicated when searching for a second time. (#23152)
- Fixed
Fixes the page view method
canCreateAnnotationsShowMessage
not showing a message. (#23532) - Fixed
Fixes an issue with page curl mode where open popovers would get positioned incorrectly when transitioning from landscape to portrait. (#22805)
PSPDFKit
- API
In Objective-C, the
fields
property ofPSPDFAbstractFormAnnotation
is now typedNSArray<id<PSPDFFormFieldIdentifier>> *
to more clearly document what this property contains. In Swift, this property has been refined asvar fieldIdentifiers: [FormFieldIdentifier]?
. (#23596) - API
Renames the
PSPDFReachability
enum
toPSPDFReachabilityStatus
. (#23636) - API
Updates the update block in
-[PSPDFAnnotationManager updateAnnotationsOnPageAtIndex:error:withUpdateBlock:]
to allow reporting errors occurred in the block. (#23517) - API
PSPDFAnnotationWriteOptions
type has been renamed toPSPDFAnnotationWriteOption
. Along with it, its constantPSPDFAnnotationWriteOptionsGenerateAppearanceStreamForTypeKey
has been renamed toPSPDFAnnotationWriteOptionGenerateAppearanceStreamForType
. (#23539) - Removed
Removes entries for the localized string key
"Could not retrieve the signature contents"
. Use"Could not retrieve the signature contents."
(with period at end) instead. (#23037) - Removed
Removes entries for the localized string key
"Saved Annotations"
. Use"SavedAnnotations"
(no space) instead. (#23037) - Removed
Removes entries for the localized string key
"The certificate has expired"
. Use"The certificate has expired."
(with period at end) instead. (#23037) - Removed
Removes the localized strings entry with the key
"Polyline"
in favor of"PolyLine"
(with capital L), which can be accessed through thePSPDFAnnotationStringPolyLine
constant. The user-facing text is still Polyline. (#23233) - Removed
Removes the localized strings with keys beginning with
PSPDFPolicyEvent
, which were not used by PSPDFKit. (#23493) - Removed
Removes the localized strings with the key
"Page"
. PSPDFKit now uses"Page %@"
instead. (#23493) - Removed
Removes the unused
PSPDFSettings
protocol. (#23226) - Removed
Removes support for very large images in the embedded gallery. Please resize images to a suitable size on a server before loading them on a device. (#23082)
- Removed
Deprecates
-[<PSPDFDataProviding> replaceWithDataSink:error:]
in favor of-replaceContentsWithDataSink:error:
. (#23703) - Removed
Deprecates
PSPDFAnnotationRegisterOverrideClasses
. This functionality should not be needed and will be removed in a future update.PSPDFFileAnnotationProvider
already takes care of registering the appropriate overrides when reading an external annotation file. (#23701) - Added
Adds British English localization. (#23186)
- Added
Adds
PSPDFError.dataProviderIsInFlight
, which is reported when an operation onDataContainerProvider
,FileDataProvider
, orCoordinatedFileDataProvider
fails because the receiver is not yet ready for use. (#23612) - Added
Adds a global override to disable
PSPDFDocument
permissions in the PSPDFKit UI. Configurable via thePSPDFHonorDocumentPermissionsKey
option onPSPDFKitGlobal
. (#1022) - Added
Adds stricter validation to digital signature containers created externally. (#23011)
- Added
Adds support for validating digital signatures created by DocuSign. (#22191)
- Added
Adds documentation for the optional
DataProviding
methods implemented byDataContainerProvider
,FileDataProvider
, andAESCryptoDataProvider
. (#23612) - Changed
Improves the class overriding mechanism and adds
PSPDFOverridable
conformance to all participating classes. (#18178) - Changed
Changes the default value of
enableHorizontalResizing
fromPSPDFFreeTextAnnotation
to be enabled. (#22961) - Fixed
Fixes PDF JavaScript when scripts are encoded in UTF-16. (#23044)
- Fixed
Fixes a potential issue resulting in data loss after saving. (#23474, #23485)
- Fixed
Fixes a rare issue where document checkpointing could assert as a race condition when cleaning up files. (#23699)
- Fixed
Fixes a rare problem where the application may terminate unexpectedly after loading a document or setting a form field value. (#22924)
- Fixed
Fixes a regression where the rotation knobs were incorrectly hidden on selecting a free text annotation. (#23607)
- Fixed
Fixes an issue with flattening form fields when the
ArtBox
of the page contains an offset. (#23385) - Fixed
Fixes a crash when rendering certain pages from multiple threads. (#23209, #23339)
- Fixed
Fixes an issue where clearing the cache could sometimes lead to a deadlock. (#23651, Z#18024)
- Fixed
Fixes an issue where document features could remain stale when the document progress functionality was used (e.g. Instant downloads). (#23330)
- Fixed
Fixes an issue where error information was not propagated properly in
-[PSPDFAnnotationUpdater moveAnnotationAtZIndex:toZIndex:error:]
. (#23517) - Fixed
Fixes an issue where free text annotation could be rotated after resizing with annotation rotation disabled. (#23438)
- Fixed
Fixes an issue where freshly recorded and deleted sound annotations would loose audio after the deletion is undone. (#23389)
- Fixed
Fixes an issue where opening a certain document with form fields caused a crash. (#23001)
- Fixed
Fixes an issue where spacing between words was far too large. (#23439)
- Fixed
Fixes an issue where text on form fields is occasionally rendered with incorrect rotation on rotated pages. (#22854)
- Fixed
Fixes an issue where values of text form fields are only visible when selected. (#23652)
- Fixed
Fixes localized text in some places. (#23493)
- Fixed
Fixes some rare stability issues when filling a form document with JavaScript scripts. (#23443)
Examples
- Added
Adds a Catalog example illustrating how to force the top position for the annotation and document editor toolbars. (#9466)
- Added
Adds an example that showcases how to detect and redact faces from PDF documents. (#23337)
- Added
Added an example that illustrates how to programmatically create a new free text annotation, such that the user can immediately start typing. (Z#17749)
9.2.2 - 18 Feb 2020
PSPDFKitUI
- Fixed
Fixes an issue where the scrollable thumbnail bar didn’t update a page image when annotations were added, changed, or deleted on a page. (#23146)
- Fixed
Fixes an issue where we could assert in
[PSPDFDocumentViewTouchHandler presentationContext]
when the view controller is dismissed while a tap is handled in the same runloop. (#23183)
PSPDFKit
- Fixed
Fixes an issue where Helvetica-Bold wasn’t displayed correctly. (#22664)
- Fixed
Fixes an issue where form field elements would not be fillable even if their backing form field was not readonly. (#21061)
- Fixed
Fixes an issue where some PDF JavaScript calculations may not work correctly. (#23043)
- Fixed
Fixes an issue where the mailDoc and similar JavaScript functions may not parse their arguments correctly. (#23257)
- Fixed
Fixes empty text form fields not rendering their background color. (#23263)
Examples
- Added
Adds a PSPDFKit Catalog example illustrating how to disable digital signatures modification and only allow adding ink signatures. (#23165)
9.2.1 - 29 Jan 2020
PSPDFKitUI
- API
The
PSPDFOutlineCell
subclassing hook has been renamed fromoutlineIntentLeftOffset
tooutlineIndentLeftOffset
. (#23085) - Added
Adds accessibility labels for the back and forward buttons, used for the action stack navigation stack. (#23047)
- Changed
Improves performance for displaying the outline view controller as popover. (#23085)
- Changed
Implicit animations in the
PSPDFOutlineViewController
are now suppressed for initializing cells. (#23085) - Changed
Works around an issue where a popover shown in an input accessory view might have a wrong arrow position on devices with a bottom safe area inset. (#21803)
- Fixed
Fixes a crash that could occur when applying view state with the curl page transition. (#23068)
- Fixed
Fixes an issue that could trigger an assertion if the annotation list controller was dismissed before annotations fully load. (#23109)
- Fixed
Fixes an issue where automatic page mode would incorrectly default to double page mode when used in split screen on an iPad in landscape. (#21706)
- Fixed
Fixes an issue where bookmark icon on scrollable thumbnail bar was rendered semi-transparent on iOS 13. (#22947, Z#16992)
- Fixed
Fixes an issue where the cropped image from the image editor was not the same size as the size that was displayed due to a rounding error. (#23022)
- Fixed
Fixes an issue where the image editor didn’t show the up-to-date size of the resulting image in the title after changing the size. (#23022)
- Fixed
Fixes an issue where user interface was allowed hide after a tabbed bar started dragging, causing an irrecoverable ‘No Document Set’ screen without a navigation bar. (#21707)
- Fixed
Fixes an issue with the image cropping interface which caused the cropped area to be slightly offset than intended. (#23004)
- Fixed
Fixes the custom stamp preview not being visible. (#23061)
PSPDFKit
- Fixed
Fixes
-[PSPDFAnnotationSet initWithAnnotations:copyAnnotations:]
not normalizing bounding boxes like its deprecated variant did. (#23061)
9.2.0 - 21 Jan 2020
See the announcement post and migration guide for this release.
PSPDFKitUI
- API
The
color
property ofPSPDFColorButton
is now correctly marked as optional/nullable. (#22695) - API
Removes support for 3rd-party styluses. (#22628)
- Removed
Deprecates
PSPDFImageQualityHigh
, replacing it withPSPDFImageQualityBest
. (#22763) - Added
Adds Dark Mode support to the notes and comments screen (
PSPDFNoteAnnotationViewController
). (#21333) - Added
Adds a high quality option to the image picker (
PSPDFImageQualityHigher
). (#22763) - Added
Adds support for Page Up / Page Down keys to go to the previous/next page. (#22415)
- Added
Adds support for the Select All menu command on Mac Catalyst. (#22685)
- Changed
Improves
PSPDFAnnotationGridViewController
so it shows more annotations when the view is larger (wider than 700 points). (#21423) - Changed
Improves logic around the image picker to no longer require the
NSPhotoLibraryUsageDescription
permission in your app’sInfo.plist
. (#21778) - Changed
Improves performance and smoothness of animations in
PSPDFAnnotationTableViewController
when annotation updates occur. (#22831) - Changed
Improves some error alert titles. (#22757)
- Changed
Improves the ordering of the key commands exposed by
PSPDFNavigationController
so their order in the discoverability overlay matches the reading order of the bar buttons on screen. (#22635) - Changed
Improves the page selection logic to pick the most recently interacted page when switching from landscape to portrait in page curl mode. (#20452)
- Changed
Improves the stamp annotation creation process by reducing the copying of annotations when creating them via the saved annotations picker or the stamps picker user interface. (#22666)
- Changed
Improves the styling of the accessory view used in the
PSPDFChoiceFormEditorViewController
. (#19936) - Changed
Changes the approximate image size for
PSPDFImageQualityMedium
from 1024 × 768 to 1600 × 1200 because the previous size was very close toPSPDFImageQualityLow
. (#22763) - Changed
Changes the behavior of the popover presenting
PSPDFChoiceFormEditorViewController
to allow dismissing the controller on tapping outside of it. (#22852) - Changed
Changes the hardware keyboard command to select the top/bottom item in a list from command up/down arrow to option up/down arrow in order to match standard Mac behavior. (#22683)
- Changed
Floating keyboards now no longer trigger keyboard avoidance actions on
PSPDFAvoidingScrollView
subclasses apart from free-text annotation avoidance. (#22436) - Changed
Improve contrast, especially in Dark Mode, of some tinted UI elements such as text in the outline and icons in the annotation list. (#22197)
- Changed
Makes the background in the image editor use a translucent color, to see the cut off part of the image. (#22914)
- Changed
Synchronizes the default
borderEffectIntensity
for cloudy borders with other PSPDFKit platforms. The default intensity when switching to cloudy borders via the PSPDFKit UI is now2
instead of3
. (#22611) - Changed
The image quality picker of
PSPDFImagePickerController
is now enabled by default. Set itsallowedImageQualities
toPSPDFImageQualityBest
to disable this. (#22763) - Changed
The thumbnail grid now reloads in a more efficient way when bookmarks are changed while it is displayed. (#22687)
- Changed
Using the keyboard shortcut to select all text or annotations on Mac Catalyst no longer shows the selection menu automatically. (#22651)
- Changed
PSPDFBrightnessManager
has a new mode to disable the idle timer completely. (#22802) - Fixed
Fixes an issue where
-[PSPDFPageView annotationViewForAnnotation:]
might have returned the wrong value, and improves the documentation of this method. (#22578) - Fixed
Fixes an issue where
PSPDFNavigationController
would pass the wrong item in the delegate callbacknavigationBar:shouldPopItem:
when going back using a hardware keyboard. (#22635) - Fixed
Fixes an issue where changing pages would not work on the first and last pages on documents with a right page binding in the curl transition. (#22668)
- Fixed
Fixes an issue where ink annotations drawn using Apple Pencil would create a temporary copy when moved while still in edit mode. (#21833)
- Fixed
Fixes an issue where ink annotations with customized blend mode would flicker when drawing, erasing or zooming. (#21187, Z#16604)
- Fixed
Fixes an issue where the
PSPDFTabbedBar
’s add document and overview buttons could have clear backgrounds. (#21725) - Fixed
Fixes an issue where the image in the image editor might be shown partially behind the navigation bar. It is now centered inside the safe area without being occluded. (#22914)
- Fixed
Fixes an issue where the popover presented in the
PSPDFTabbedViewController
with list of open documents was not dismissed when the button presenting it was hidden. (#22799) - Fixed
Fixes an issue where the scrubber bar would have the wrong page marker set when reacting to a new document being set on the
PSPDFViewController
. (#22739) - Fixed
Fixes the annotation list not updating when annotations change while the list is visible. (#22789)
PSPDFKit
- API
Changes the localized string key
Redact
to be for the redaction annotation type instead of the word “Redact”, which is no longer translated by PSPDFKit. In other words, the keyRedact
was removed and then the keyRedaction
was changed toRedact
to match the PDF specification. The best way to get this localized string key is to use the constantPSPDFAnnotationStringRedaction
. (#21243) - API
Changes the localized string key for the file annotation type from
File
toFileAttachment
to match the PDF specification. The best way to get this localized string key is to use the constantPSPDFAnnotationStringFile
. (#21243) - API
Changes the localized string key for the free text annotation type to only
FreeText
. The duplicate entry with the keyText
is now used for note annotations to match the PDF specification. The best way to get this localized string key is to use the constantPSPDFAnnotationStringFreeText
. (#21243) - API
Changes the localized string key for the note annotation type from
Note
toText
to match the PDF specification. The best way to get this localized string key is to use the constantPSPDFAnnotationStringNote
. (#21243) - API
Changes the parameter type of the
PSPDFDefaultAnnotationStyleManager
methodsdefaultColorPresetsForKey:
anddefaultBorderPresetsForKey:
fromString
/NSString
toAnnotationStateVariantID
/PSPDFAnnotationStateVariantID
. (#22769) - Added
Adds support for incrementally saving encrypted documents. (#22722)
- Added
Adds support for the JavaScript function ‘doc.gotoNamedDest’. (#18957)
- Changed
Improves complex script text rendering. (#22573)
- Changed
Improves error handling for
-[PSPDFFileAnnotationProvider saveAnnotationsWithOptions:error:]
. (#14335) - Changed
Improves image stamp quality and reduces PDF size growth by avoiding unnecessary image re-encoding. (#22828, #20325)
- Changed
Improves license check error message to be more user friendly. (#12904)
- Changed
Improves user-facing descriptions of the types of annotations by considering variants. (#21243)
- Changed
Improve compatibility with macOS 10.15 Preview for annotation notes in the sidebar. (#22791)
- Removed
Removes the localized strings entry with the key
Squiggle
, which was not used. The localized text for the squiggly annotation type has changed to ‘Squiggle’ using the keySquiggly
as before. The best way to get this localized string key is to use the constantPSPDFAnnotationStringSquiggly
. (#22861) - Changed
Uses modern
NSFontDescriptor
enums on macOS for better Swift bindings. (#22678) - Fixed
Fixes a problem where encrypted documents could not be digitally signed correctly. (#22722)
- Fixed
Fixes a problem where some PDF pages may not be rendered correctly. (#22767)
- Fixed
Fixes an issue that caused a blank page after flattening annotations on a certain document. (#22279)
- Fixed
Fixes an issue where characters weren’t escaped correctly when exporting XFDF. (#22844)
- Fixed
Fixes an issue where free-text annotations were not rendered properly on selection when rendered with filter render options. (#20512)
- Fixed
Fixes an issue where multiple form elements that are related to the same form field could not be targeted as a group in JavaScript actions, as described by the PDF Reference. The form elements can still be addressed individually by appending
.x
to the (fully qualified) name of the form field, where x is the index of the form element in theannotations
property of thePSPDFFormField
. (#22755) - Fixed
Fixes an issue where popup annotations were positioned incorrectly. (#22730)
- Fixed
Fixes an issue where text is not displayed in small free-text annotations. (#22514)
- Fixed
Fixes an issue where the file size optimization algorithm didn’t run. (#22809)
- Fixed
Fixes an issue where the outline was overridden if set, before property was accessed. (#22678)
- Fixed
Fixes an issue where toggling eraser on a page with temporary rotation rendered ink annotations in a regressed state. (#22434)
- Fixed
Fixes an issue which led to bookmarks not getting updated when importing InstantJSON. (#22198)
- Fixed
Fixes an issue with creating a Submit Form action from JSON without action flags. (#22784)
- Fixed
Fixes an issue with form calculations if one of the form fields contained multiple form elements. (#22675)
Instant
- Changed
Improves the responsiveness of moving and scaling image annotations by avoiding unnecessary work. (#22578)
- Fixed
Fixes a deadlock that could occur when changes were accumulated while a sync was already in progress. (#22703)
- Fixed
Fixes an issue where stamps created on the iOS device would immediately vanish when deselected, and never synced. (#19742)
- Fixed
Fixes an issue where shape annotations would grow temporarily when another shape annotation was drawn immediately afterwards. (#20236)
Examples
- Changed
Renamed
PSCAddingButtonExample.m
to PSCAddingCustomViewsExample.m and improved the example which now demonstrates how to add overlay views that stay aligned with PDF content. (#21704) - Fixed
Fixes the close button in the document view not always working in the Split View Controller Sidebar example. (#21278)
9.1.1 - 12 Dec 2019
PSPDFKit now requires and is built with Xcode 11.3 (11C29).
PSPDFKitUI
- Changed
Right clicking on Mac Catalyst now selects text or images automatically. (#22626)
- Changed
The image selection context menu now offers a Save option for Mac Catalyst. (#22626)
- Fixed
Fixes a crash that would occur on some iPad devices when the app was backgrounded while the annotation tool inspector popover was visible. (#22472)
- Fixed
Fixes an issue where the image selection was not always visible. (#22626)
- Fixed
Fixes an issue where the keyboard shortcut items for free text annotations were not correctly updated when toggling the accessory view. (#22512)
PSPDFKit
- Changed
Improves font selection and prefers fonts already in the document in more cases. (#22530)
- Fixed
Fixes a race condition in
PSPDFAESCryptoDataProvider
that could result in app termination when Multithreaded Rendering was enabled. (#20011) - Fixed
Fixes an issue where a form field element appearance stream was regenerated accidentally. (#21618)
- Fixed
Fixes an issue where flattened note annotations at the borders of pages would not be rendered correctly. (#22353)
- Fixed
Fixes an issue where symlinks where not properly resolved for the
documentsDirectoryURL
in-[PSPDFLibraryFileSystemDataSource -initWithLibrary:documentsDirectoryURL:documentHandler:]
. (#22518)
Examples
- Added
Adds a Catalog example that shows how to customize the buttons that appear on the free text accessory view. (#22506)
- Added
Adds the ability to load Instant documents from servers protected with HTTP Basic Authentication. (#18960)
- Changed
Improves the list of examples in the Catalog app by making titles and descriptions multi-line. (#22621)
9.1.0 - 3 Dec 2019
See the announcement post.
PSPDFKitUI
- API
Adds
-[PSPDFConfiguration allowWindowTitleChange]
to control window title changes in Mac Catalyst. (#22167) - API
-[PSPDFPageView showMenuForAnnotations:targetRect:allowPopovers:animated:]
has been deprecated in favor ofshowMenuForAnnotations:targetRect:contextMenuOption:animated:
. (#22303) - API
-[PSPDFPageView showMenuIfSelectedAnimated:allowPopovers:]
has been deprecated in favor ofshowMenuWithOption:animated:
. (#22303) - API
Changes the type of the
standardAppearance
andcompactAppearance
properties onPSPDFScrubberBar
fromUIBarAppearance
toUIToolbarAppearance
to be more consistent and specific. (#22479) - Added
Adds support for selecting ranges of pages in the Document Editor UI by dragging with two fingers. This can be disabled by subclassing
PSPDFDocumentEditorViewController
and overridingcollectionView:shouldBeginMultipleSelectionInteractionAtIndexPath:
to return false. (#22536) - Added
Adds a new keyboard shortcut (Command + option + G) to jump to a page. (#22291)
- Added
Adds a subclassing hook to customize document saving when the app is saved for the various autosave reason (backgrounding, terminating, …). (#22077)
- Changed
Improves conflict resolution handling after file deletion by automatically removing deleted documents from built-in view controllers when the documents don’t have any unsaved changes and are not currently being displayed. (#22025)
- Changed
Improves page rendering when a zoomed window is resized. (#21836)
- Changed
Improves smart thumbnail size calculation to show more thumbnails on larger screens. This is especially beneficial with Mac Catalyst. (#21424)
- Changed
Improves the layout of the color presets in the annotation inspector on larger devices. (#21777)
- Changed
Note annotations can now be moved faster on iPad and Mac Catalyst. The detail view animation is now instant. (#22303)
- Changed
The delegate methods on
PSPDFSpeechController
are now always called on the main thread. (#22301) - Changed
The security part of the document info view is now shown as a separate item in the segmented control. See
PSPDFDocumentInfoOptionSecurity
to add or remove this new item. (#21462) - Changed
When context menus are enabled, selecting a note annotation will now present the
PSPDFNoteAnnotationViewController
. (#22303) - Fixed
Fixes an issue that could prevent the annotation list to be dismissed while searching. (#21895)
- Fixed
Fixes an issue where
-[PSPDFResizableView outerKnobOfType:]
would return nil for the last knob type. (#22302) - Fixed
Fixes an issue where deleting selected annotations with the delete key didn’t work. (#22099)
- Fixed
Fixes an issue where the keyboard shortcut items for free text annotations were not correctly updated when toggling the accessory view. (#22512)
PSPDFKit
- API
Changed
PSPDFFreeTextAnnotationView
textViewForEditing
from a property to a method, which changes Swift usage. (#21989) - API
-[PSPDFCache imageForRequest:imageSizeMatching:]
now has an error parameter. (#21836) - API
-[PSPDFCacheInfo cacheInfoForRequest:]
now has an error parameter. (#21836) - API
-[PSPDFRenderTask initWithRequest:]
now has an error parameter. (#21836) - Removed
Deprecates
-attachBinaryInstantJSONAttachmentFromDataProvider:mimeType:error:
and replaces it with-attachBinaryInstantJSONAttachmentFromDataProvider:error:
, omitting themimeType
. (#17813) - Removed
Deprecates the
PSPDFAnnotationProviderRefreshing
protocol.PSPDFContainerAnnotationProvider
now conforms to this protocol, which means that PSPDFKit handles refreshing internally. If you are implementing the refreshing protocol, please contact us to discuss your requirements. (#21885) - Added
Adds support for Image Documents with transparency. (#18907)
- Added
Adds support for copying ink signatures to the clipboard. (#21608)
- Added
Adds support for input file lists (
.xcfilelist
) tostrip-framework.sh
to simplify adding the dSYMs. (#22151) - Added
Adds support for redaction annotations to Instant JSON. (#21389)
- Added
Adds support for setting temporary rotations using
setRotationOffset
when using custom annotation providers that are subclasses ofPSPDFContainerAnnotationProvider
. (#21885) - Added
Adds the ability to initialize
PSPDFImageDocument
with any data provider. (#21140) - Changed
Improves NSSecureCoding support for various classes. (#20696)
- Changed
Improves handling when other apps installed on the system declare new types (UTIs) for standard filename extensions like
.pdf
and.jpg
. (#22418) - Changed
Improves memory usage while searching document with a lot of annotations. (#22367)
- Changed
Improves the performance of the redaction component so that big documents are redacted quicker. (#22102)
- Changed
Improves the rendering of annotations with dashed borders. (#10216)
- Changed
PSPDFKit for Mac Catalyst no longer uses a separate AppKit bundle, fixing issues with App Store Connect. (#21606)
- Changed
Rendering complex annotation appearance streams no longer blocks accessing the annotation object on a different thread. (#21836)
- Changed
State restoration for
PSPDFViewController
and related classes now support secure coding. (#22125) - Changed
Updates HarfBuzz to version 2.6.2. (#21686)
- Fixed
Fixes ISO8601 timezone support in Instant JSON. (#21148)
- Fixed
Fixes a crash related to multi-threading and font loading. (#22387)
- Fixed
Fixes a rare situation where setting form field flags may cause a deadlock. (#19942)
- Fixed
Fixes a regression that caused certain link annotations to not work. (#21709)
- Fixed
Fixes an issue where a deadlock could occur after executing a PDF action or JavaScript. (#22201)
- Fixed
Fixes an issue where annotation additional actions may not be deserialized correctly. (#21983)
- Fixed
Fixes an issue where annotations were updated too often after executing a PDF action or JavaScript. (#22201)
- Fixed
Fixes an issue where deleting or moving pages from a PDF did not update the outline. (#21620, #22048)
- Fixed
Fixes an issue where some filled form fields may not show their content correctly. (#22100)
- Fixed
Fixes an issue where symlinks where not properly resolved for the
documentsDirectoryURL
in-[PSPDFLibraryFileSystemDataSource -initWithLibrary:documentsDirectoryURL:documentHandler:]
. (#22518) - Fixed
Fixes an issue where text after signing had incorrect characters after looking at it in another viewer. (#20930)
- Fixed
Fixes an issue where text entered in certain form fields was rendered garbled. (#21700)
- Fixed
Fixes an issue where the redaction tool may not work correctly in some cases when selecting text. (#22486)
- Fixed
Fixes widget annotation rotation property persistence when coming from Instant JSON. (#21552, #21621)
Instant
- Changed
Reduces network traffic when loading additional layers of the same document. (#21787)
- Fixed
Fixes an issue where purging the local storage of a
PSPDFInstantClient
instance would have it hang on to its existing document descriptors in an unusable state. (#21935)
Examples
- Added
Adds Catalog example that shows how to add copyright notices to documents when sharing. (#21693)
- Added
Adds a PSPDFKit Catalog example that combines a custom annotation provider with setting temporary page rotations. (#21885)
- Added
Adds a PSPDFKit Catalog example that shows how to customize the buttons that appear on the free text accessory view. (#22506)
- Changed
Improves structure of the Catalog project by grouping examples by category and sorting them alphabetically. (#22392)
- Fixed
Fixes the document not being presented automatically after scanning a QR code in the PSPDFKit Instant example in PSPDFKit Catalog. (#21979)
9.0.3 - 14 Nov 2019
PSPDFKit now requires and is built with Xcode 11.2.1 (11B500).
PSPDFKitUI
- API
The scrubber bar now uses gestures for tap detection to block system gestures such as dismissing a modal presentation with a swipe. This lead to the removal of the
-[PSPDFScrubberBar processTouch:]
subclassing hook, which was not being called even before this change. (#22336) - Added
Adds new API to
PSPDFProgressLabelView
to customize the colors of the text and progress indicator. (#21717) - Added
Adds support for system highlight colors for text selection on Mac Catalyst. (#21994)
- Changed
Improves error handling when a document is selected in the redaction view controller. (#22169)
- Changed
Changes the color of the placeholder text and progress view in
PSPDFThumbnailViewController
to use asecondaryLabelColor
on iOS 13 andgrayColor
for older versions. (#21717) - Changed
Scrolling via Space/Shift-Space keyboard now correctly scrolls the active viewport on continuous scrolling, and advances pages for per-page scrolling or page curl transition. (#22118)
- Changed
The inspector is now enabled when multiple annotations of the same type are selected. (#22195)
- Fixed
Fixes an issue where VoiceOver would still read out the search progression
PSPDFSearchViewController
even after searching the document did complete. (Z#15979) - Fixed
Fixes an issue where
PSPDFNoteAnnotationViewController
didn’t correctly set the appearance of its navigation bar and toolbar. (#22000) - Fixed
Fixes an issue where annotation toolbar and inspector didn’t support certain appearance customizations. (#22113)
- Fixed
Fixes an issue where documents wouldn’t be shared correctly on Mac Catalyst. (#21821)
- Fixed
Fixes an issue where note annotations could not be deleted on Mac Catalyst. (#22083)
- Fixed
Fixes an issue where rotating the device in page curl mode could lead to an assertion failure. (Z#16000)
- Fixed
Fixes an issue where tapping on a search result would not necessarily scroll the search result on screen in continuous scrolling mode. (#22011)
- Fixed
Fixes an issue where not all available options on a given
PSPDFChoiceFormEditorViewController
would be selectable when being presented as a popover on iOS 13. (#22247)
PSPDFKit
- Changed
Increases image size limits. (#22029)
- Fixed
Fixes an issue if a TrueType font collection has more than 32 fonts. (#22148)
- Fixed
Fixes an issue where an annotation copied from another document was rendered blurry. (#20070)
- Fixed
Fixes an issue where certain high resolution images weren’t rendered. (#22322)
- Fixed
Fixes an issue where creating an annotation using
+[PSPDFAnnotation annotationFromInstantJSON:documentProvider:error:]
would lead to a crash if the destination document had multiple document providers. (#22207) - Fixed
Fixes an issue where form repairs were done too eagerly. (#20786)
- Fixed
Fixes an issue where pages would be rendered with incorrect background colors when setting
PSPDFRenderOptions.backgroundFill
for any render type. (#21800) - Fixed
Fixes an issue where selecting the Open In option when sharing pages out of a document would not work. (#22209)
- Fixed
Fixes an issue where temporarily rotated annotations were saved incorrectly in
PSPDFAnnotationSaveModeEmbeddedWithExternalFileAsFallback
mode. (#22188) - Fixed
Fixes an issue where using a big size for the digital signature container may abort the digital signing process. (#22130)
- Fixed
Fixes a crash that would occur while rendering a thumbnail for a page which does not have a valid size. (#22365)
- Fixed
Fixes an issue where certificates with multi-value RDNs may not be parsed correctly. (#22221)
Examples
- Changed
Updates
CustomImagePickerControllerExample.swift
illustrating how to customize thePSPDFImagePickerController
’sallowedImageQualities
. (#22002)
9.0.2 - 21 Oct 2019
PSPDFKitUI
- Changed
Improves the annotation popover placement algorithm. (#21851)
- Changed
Sets the highlight text color of the labels in the search result cell to white to improve legibility. (#21964)
- Fixed
Fixes an issue where changing the
compactAppearance
property ofPSPDFScrubberBar
had no effect. (#21927) - Fixed
Fixes an issue where customizing
UINavigationBar
viaUIAppearance
API had no effect in iOS 13. (#21837) - Fixed
Fixes an issue where saved annotations wouldn’t be displayed on
PSPDFSavedAnnotationsViewController
. (#21761)
PSPDFKit
- Added
Adds support for printing array structures from JavaScript code inside a PDF. (#19063)
- Fixed
Fixes a rare deadlock when rendering certain documents. (#21856)
- Fixed
Fixes a rendering error where the font
ArialMT
wasn’t selected correctly. (#21744) - Fixed
Fixes an issue where
PSPDFKit.bundle
’s version number was incorrect on Mac Catalyst. (#21737) - Fixed
Fixes an issue where multiple simultaneous conflict resolution prompts could potentially trigger an internal assertion. (#21694)
- Fixed
Fixes an issue where some Swift API, like
PSPDFKitGlobal.setLogHandler()
, were not accessible when using the CocoaPods integration. (#21846) - Fixed
Fixes a performance regression when rendering with an ICC based color space. (#21776)
- Fixed
Fixes an issue where some properties of a widget annotation were not persisted when the document was saved. (#21546)
Instant
- Fixed
Fixes a regression that would lead to excessive sync activity. (#21847)
- Fixed
Fixes an issue where deleting the local storage for a layer could result in an assertion failure. The situation now fails gracefully. (#21880)
- Fixed
Fixes an issue with the image cache where two layers of the same document would be displayed such that they appear to have identical annotations until after the first annotation update. (#21666)
Examples
- Added
Adds a Catalog example illustrating how to customize the appearance of the navigation bar and annotation toolbar. (#21961)
- Added
Adds a PSPDFKit Catalog example illustrating how to restore a document to its previously opened reading position. (#21904)
- Added
Adds required entitlements to the Catalog example when running on macOS. (#21999)
- Fixed
Fixes a crash that would occur when opening PSPDFKit Catalog on macOS. (#21738)
9.0.1 - 10 Oct 2019
PSPDFKit now requires and is built with Xcode 11.1 (11A1027).
PSPDFKitUI
- Added
Adds new API
standardAppearance
andcompactAppearance
to style thePSPDFToolbar
on iOS 13. (#21665) - Added
Adds
allowReorderingDocuments
onPSPDFTabbedViewController
to support disabling reordering documents in the tabbed bar. (Z#15717) - Fixed
Fixes an issue on iOS 13 where menus would flicker and disappear if they were nested one level deep. This happened for changing properties of text markup annotations. (#21735)
- Fixed
Fixes a crash when using the tab key on a hardware keyboard to navigate form fields on iOS 13. (#21613)
- Fixed
Fixes an issue where sharing a document multiple times with custom page ranges would produce invalid documents. (#21080)
- Fixed
Fixes an issue where the
PSPDFFlexibleToolbar
did not match the appearance of the given navigation bar or a toolbar on iOS 13. (#21665) - Fixed
Fixes an issue where the status HUD was not positioned correctly when a keyboard was visible. (#21636)
- Fixed
Fixes an issue where the thumbnails border color was incorrect in Dark Mode in scrollable thumbnail mode. (#21642)
- Fixed
Fixes a possible crash that would occur when exporting documents as images with flattened annotations. (#21739)
- Fixed
Fixes an issue with certain configurations where documents may initially appear zoomed in. (#21625)
PSPDFKit
- Fixed
Fixes an issue where documents using certain kind fonts (especially Chinese, Japanese, and Korean) would cause the app to crash. (#21626)
- Fixed
Fixes secure coding of
PSPDFRenderOptions
. Before all properties would be encoded as nil or zero, which could lead to rendering pages with black backgrounds. (#21708) - Fixed
Fixes an issue where the z-index wasn’t preserved when flattening annotations. (#21385)
- Fixed
Fixes an issue where a digital signature applied to a certain kind of document may not show correctly in third party PDF readers. (#18943)
- Fixed
Fixes an issue when using multi-threaded rendering. (#18582)
- Fixed
Fixes a crash when using the processor on certain documents with very deep object hierarchies. (#21674)
Instant
- Fixed
Fixes a possible crash when loading annotations failed in certain Instant documents. (#21617, Z#15606)
- Fixed
Fixes an issue where removing the local storage for a document descriptor briefly after loading it could lead to a deadlock. (#21766)
9.0.0 - 19 Sep 2019
See the announcement post.
PSPDFKit now requires and is built with Xcode 11.0.
This release features support for a new platform - Mac Catalyst. Be sure to check out our Introducing PSPDFKit for Mac Catalyst blog post for more information.
Below is a summary of the API changes in this release. For a full list, with our suggested migration strategy for each API that has been changed or removed, please see the migration guide. The guide also provides migration steps for xcframework
integration and the removal of PSPDFKitSwift
.
- Removed
Removes all previously deprecated API. Please see our PSPDFKit 9 for iOS migration guide to learn about the appropriate migration strategy. (#20904)
PSPDFKitUI
- API
Changes
PSPDFStatusHUD
class methods andPSPDFStatusHUDItem
push methods to take a window as parameter, as there now might be multiple status HUDs due to multi-window support on iOS 13. (#21429) - API
PSPDFFlexibleToolbarController
methods for showing/hiding toolbar now include an optional completion block. (#19807) - API
Renames the
PSPDFConfiguration
propertiesscrollOnTapPageEndEnabled
,scrollOnTapPageEndAnimationEnabled
, andscrollOnTapPageEndMargin
toscrollOnEdgeTapEnabled
,animateScrollOnEdgeTaps
, andscrollOnEdgeTapMargin
. (#20923) - API
The designated initializer for
PSPDFViewState
has been replaced in favor of-[PSPDFViewState initWithPageIndex:viewPort:selectionState:selectedAnnotationNames:]
. (#20655) - API
PSPDFUsernameHelperWillDismissAlertNotification
has been replaced withPSPDFUsernameHelperDidDismissViewNotification
. This is posted after the dismissal ends rather than before to work better with sheets on iOS 13 that can be dismissed by swiping down. (#20978) - Removed
Removes
PSPDFPresentationShouldPopoverDismissBlockKey
because API provided by UIKit should be sufficient. (#20978) - Removed
Removes
brightnessManager
property fromPSPDFBrightnessViewController
since brightness is now directly handled on theUIScreen
instance. (#21495) - Removed
Removes brightness related properties from
PSPDFBrightnessManager
. (#21495) - Removed
Removes
interactiveReorderingGestureRecognizer
fromPSPDFTabbedBar
since the tabbed bar uses drag and drop for reordering now. (#20431) - Removed
Removes support for using
UIWebView
inPSPDFWebViewController
. (#19807) - Added
Adds
PSPDFDocumentInfoCoordinator.documentInfoViewController
to enable showing the document info UI in custom ways. (#19807) - Added
Adds
PSPDFPageView
methods for showing contextual menus:showMenuForPoint:animated:
andshowAnnotationMenuAtPoint:animated:
. (#19807) - Added
Adds precise immediate text selection handling on Mac Catalyst. (#21012)
- Added
Adds support for attaching a user activity to a tab dragged from the tabbed bar, to allow the system opening a new window scene on iOS 13. (#20431)
- Added
Adds support for context menus to the annotation toolbar on iOS 13. (#21205)
- Added
Adds support for dragging and dropping tabs across different
PSPDFTabbedViewController
instances. This can be enabled viaallowDraggingTabsToExternalTabbedBar
andallowDroppingTabsFromExternalTabbedBar
. (#20431) - Added
Adds support for iOS 13 Dark Mode. (#20403)
- Added
Adds support for the new Cut/Copy/Paste gestures from iOS 13. (#21293)
- Added
Adds an option for rounded corners to the flexible toolbar and refines the default toolbar design. (#21206)
- Changed
Improves compatibility with iOS 13 sheet presentations, which can be dismissed by swiping downwards. (#20978)
- Changed
Improves logic to place the share activity view controller on the page when sharing an image. (#19807)
- Changed
Improves the annotation line-end selection UI in the annotation style controller. (#21535, #21542)
- Changed
Improves the annotation toolbar and document editor icon designs, so it’s easier to distinguish them. (#21078)
- Changed
Improves toolbar selection and orientation transition animations. (#21206)
- Changed
Changes
PSPDFSignatureViewController
to always use a consistent aspect ratio for the signing area. Previously this was only the case on iPad. (#20978) - Changed
Changes moving tabs in the tabbed bar to use drag and drop instead of interactive reordering. (#20431)
- Changed
Changes some view controllers to always use a form sheet presentation style by default: the signature view, the link annotation editing view, and the privacy access denied view shown from the new page view. (#20978)
- Changed
Changes the
PSPDFNewPageViewController
presented from the document editor to uses a standard form sheet rather than our custom half modal style (in compact widths). (#20978) - Changed
Changes the minimum value of the brightness slider to 0.0 instead of 0.1 to match the range of
UIScreen.brightness
. (#21495) - Changed
File Annotations can now be deleted via the default annotation menu. (#21293)
- Changed
Improved keyboard support: Command-Arrow Up/Down navigates to first/last page. (#20869)
- Changed
PSPDFUndoController canUndo/canRedo now always updates correctly, even if invoked via the undo manager directly. (#19807)
- Changed
Updates default values for text selection properties
textSelectionMode
andshouldShowSelectionHandles
on Mac Catalyst and extends the documentation fortextSelectionShouldSnapToWord
. (#21012) - Fixed
Fixes an iOS 13 specific unsatisfiable constraint warning on
PSPDFAnnotationStyleViewController
. (#21196) - Fixed
Fixes an issue that caused the search UI to be misplaced when using the search button item action with a custom button. (#21409)
- Fixed
Fixes an issue where selection of a page did not persist on reordering using drag and drop interaction in the Document Editor. (#21474)
- Fixed
Fixes an issue where the accessibility label of a page was incorrect after reordering the page in the Document Editor. (#21474)
- Fixed
Fixes editing free text annotations not always showing the keyboard when using multiple windows. (#21341)
- Fixed
Fixes the
PSPDFDocumentSharingViewController
showing incorrect sharing options if the selected destination was set before the controller being presented. (#21410)
PSPDFKit
- API
-[PSPDFDataProviding replaceWithDataSink:]
has been extended to include an error parameter-[PSPDFDataProviding replaceWithDataSink:error:]
. (#14338) - API
Renames the
PSPDFKit
global singleton toPSPDFKitGlobal
to avoid conflicts with thePSPDFKit
module name in Swift. (#21292) - API
Swift-incompatible methods on
PSPDFProcessor
and delegate-based error and completion handling onPSPDFProcessorDelegate
have been removed. (#21233, Z#15373) - API
The
PSPDFProcessor
PDF generation API has been converted to class methods to better isolate it from the PDF processing operations. (#21000) - API
The
PSPDFRenderOption
enumeration has been replaced with thePSPDFRenderOptions
class that now properly supportsNSSecureCoding
. (#17342) - API
The
shouldDeleteAnnotation
property onPSPDFAnnotation
has been replaced withisDeletable
. (#21293) - API
PSPDFAnnotationStyleManager
now usesPSPDFStylePreset
, a new protocol, rather than__kindof PSPDFModel*
to expose preset instances. (#21362) - API
PSPDFLineAnnotation.init(point1:point2:)
is no longer a failable initializer that produces an implicitly unwrapped optional. (#21194) - API
The class property
isDeletable
onPSPDFAnnotation
has been converted to a per-object property to include object flags. (#21293) - Removed
Removes the rendering option to disable text anti-aliasing when using the non-native text rending option. (#21204)
- Removed
Removes the class property
isWritable
onPSPDFAnnotation
. All implemented subclassed annotation and form types are writable. (#21293) - Added
Adds
NSSecureCoding
support toPSPDFAnnotation
and its subclasses. (#12026) - Added
Adds
NSSecureCoding
support toPSPDFColorPreset
andPSPDFBorderStylePreset
. (#21362) - Added
Adds support for setting a user activity on
PSPDFDocument
. (#20431) - Changed
Improves JPEG2000 with transparency support. (#20483)
- Changed
Improves filesystem checking to better handle external storage and file server support on iOS 13. (#21159)
- Changed
Improves font rendering and fixes several edge cases. (#20930)
- Changed
Improves handling and documentation of custom digital signature sizes. Now cases where the signature size exceeds the reserved size in a document will be informed correctly. (#21304)
- Changed
Improves the validation of Instant JSON payloads so that case differences in properties are tolerated. (#21145)
- Changed
Disables generating PDFs from URLs and HTML strings on Mac Catalyst. (#21000)
- Changed
Updates Botan to version 2.11.0. (#20549)
- Changed
Updates Duktape to version 2.4.0. (#20954)
- Fixed
Fixes a bug in redaction rendering where the font size wasn’t consistent. (#21088)
- Fixed
Fixes an issue with transparent
strokeColor
in Instant JSON. (#21391) - Fixed
Fixes an issue when importing XFDF files in specific documents. (#21271)
- Fixed
Fixes an issue where images with the lighten blend mode didn’t get rendered correctly. (#20642)
- Fixed
Fixes an issue where loading a document would fail if it contained JPEG2000 images not specifying a color space. (#21311)
- Fixed
Fixes an issue where text after signing had incorrect characters after looking at it in another viewer. (#20930)
- Fixed
Fixes an issue where the error object was not set in case of a failure in
-[PSPDFDataProviding replaceWithDataSink:error:]
. (#21116) - Fixed
Fixes an issue where using the document editor to merge a document with many pages would lead to an out-of-memory crash. (Z#15277)
- Fixed
Fixes issues with transparent image stamp annotations. (#7646)
- Fixed
Fixes issues with transparent images in XFDF. (#9221)
- Fixed
Fixes some stability issues related to color space management. (#21529)
- Fixed
Fixes some stability issues when fonts are loaded from a document. (#21042)
- Fixed
Fixes some use cases where PDFs with JavaScript validation scripts may not work as expected. (#21291)
Examples
- Added
Adds a PSPDFKit Catalog example illustrating how to show a
PSPDFViewController
in SwiftUI. (#20381) - Added
Adds an example illustrating how to always show dark user interface style on the annotation toolbar. (#20403)
- Added
Adds multi-window support to PSPDFKit Catalog on iOS 13. (#20431)
- Added
Adds support to drag and drop tabs in TabbedBarExample. (#20431)
- Changed
Changes the default appearance of the Catalog app to match Apple recommended styling. (#20211)
- Fixed
Fixes an issue in the catalog
PSCDrawAnnotationsAsOverlayExample
where annotation were not overlaid appropriately. (#21276)
8.5.2 - 6 Sep 2019
PSPDFKitUI
- Added
Adds a new property on
PSPDFConfiguration
calledallowRemovingDigitalSignatures
to control whether a digital signature can be removed or not. SeeDisableRemovingDigitalSignatureExample
in PSPDFKit Catalog for more details. (#20586) - Changed
Changes the designated initializer of
PSPDFSignedFormElementViewController
to the new added initializerinitWithSignatureFormElement:allowRemovingSignature:
. (#20686) - Fixed
Fixes an issue where a sharing action would be executed automatically if the first sharing configuration available has no options to pick from. (#20964)
- Fixed
Fixes an issue where the existing configuration was not preserved while showing a new digitally signed document in a new controller. (#20686)
PSPDFKit
- Changed
Improves error reporting in
+[PSPDFAnnotation annotationFromInstantJSON:documentProvider:error:]
when the document was misconfigured. (#21177) - Changed
Improves memory usage with complex documents. (#20970)
- Changed
Improves the stability of some PDF form operations. (#21032)
- Changed
Improves the validation of InstantJSON in some corner cases. (#20748)
- Fixed
Fixes a problem where some dates may be incorrectly formatted as Sunday. (#20363)
- Fixed
Fixes an issue with annotation hit testing that could result in taps being received by a link annotation that was underneath another link annotation. (#21055)
- Fixed
Fixes an issue where link annotations with a nil border color and a valid dash array were not being rendered. (#20749)
- Fixed
Fixes annotations being misplaced when reopening a document that loads annotations from an external file after
setRotationOffset:forPageAtIndex:
had been used to apply a temporary rotation when that document was saved. (#20976) - Fixed
Fixes annotations sometimes being blurry when reopening a document that loads annotations from an external file after
setRotationOffset:forPageAtIndex:
had been called before that document was saved. (#20976) - Fixed
Fixes annotations sometimes not being saved to an external file after only annotation updates happened and
setRotationOffset:forPageAtIndex:
was called before saving. (#20976) - Fixed
Fixes pasted rotated vector stamps being double rotated which resulted in clipping. (#20916)
- Fixed
Fixes
-[PSPDFProcessorConfiguration drawOnAllCurrentPages:]
producing offset drawing when the page has a MediaBox with a non-zero origin. (#20797) - Fixed
Fixes the
drawingBlock
ofPSPDFFileAppearanceStreamGenerator
not automatically handling page rotation. (#20983) - Fixed
Fixes a possible crash in certain documents due to a null dereference in
isLinkedInAcroForms
. (#21121)
Instant
- Added
Adds a migration to populate the
isFitting
flag for all pre-existing free text annotations when appropriate, preventing the clipping of text on other platforms. This is an extension of the earlier fix which only populated this flag when an annotation was changed again. (#20727) - Changed
The
isFitting
property of free text annotations now properly reflects whether the text did fit on iOS. The text of such annotations will no longer be clipped in documents exported from PSPDFKit Server or in PSPDFKit for Web. (#20727)
Examples
- Fixed
Fixes a crash that would occur when opening the Kiosk Grid example on iOS 13. (#20861)
8.5.1 - 8 Aug 2019
PSPDFKitUI
- Added
Adds
-[PSPDFDocumentSharingViewController initWithDocuments:sharingConfigurations:]
and makes it the designated initializer. (#20842) - Fixed
Fixes an issue where annotations could not be moved in the annotation list when not all annotations were shown (typically when there were links). (#20822)
- Fixed
Fixes an assertion when presenting certain table view controllers on iOS 13. (#20833)
- Fixed
Fixes an assertion when using a custom variant for free text annotations. (#20823)
- Fixed
Fixes the initially selected segment in
PSPDFDocumentSharingViewController
being ‘Share’ instead of the first one when custom configurations are used. (#20842)
PSPDFKit
- Added
Adds
PSPDFDocumentSaveStrategyRewriteAndOptimizeFileSize
to enable file size optimizations when saving documents. (#20826) - Changed
Improves performance when opening documents with many links. (#20786)
- Fixed
Fixes an issue where rotating pages using the document editor would always reset the page binding setting to the left edge. (#20732)
Instant
- Changed
Prevents text clipping on other platforms when a free text annotation was created or updated on iOS such that all text is visible. (#20727)
Examples
- Fixed
Fixes
PSCFormFillingExample
to properly respect specific input formats and validations of the form fields. (#20606)
8.5.0 - 31 Jul 2019
See the announcement post.
PSPDFKit now requires and is built with Xcode 10.3 (10G8).
- Added
Adds an optional JSON Podspec (
podspec.json
) that you can use by appending.json
to your podspec link. Learn more in our CocoaPods guide. (#20335)
PSPDFKitUI
- API
The
PSPDFDocumentInfoCoordinator
’s delegate property is now of typePSPDFDocumentInfoCoordinatorDelegate
, which is a newly introduced protocol. (#20469) - Removed
Deprecates
PSPDFSignatureViewController
’slines
property in favor of itsdrawView.pointSequences
. (#20450) - Added
Adds the ability for users to change the order in which annotations are stacked on the page (the z-index) from either the annotation inspector or the annotation list. (#100)
- Added
Adds the ability for users to change the document’s page binding in
PSPDFDocumentInfoViewController
. (#10603) - Added
Adds a unified color palette. This replaces the rainbow, modern, vintage, and monochrome color palettes in the default color set provided when creating and editing annotations. (#20212)
- Added
Adds a
halfModalStyle
property toPSPDFConfiguration
to allow the use of the annotation inspector without the card design introduced in PSPDFKit 8.4 for iOS. (#19944) - Added
Adds a
PSPDFDocumentInfoViewControllerDelegate
protocol to respond to changes fromPSPDFDocumentInfoViewController
. (#20510) - Changed
Changes links to open in Safari by default, because we believe this provides a better user experience. This can be changed back to
SFSafariViewController
(the in-app browser) by settingPSPDFConfiguration.linkAction
toPSPDFLinkActionInlineBrowser
. (#20692) - Changed
Disables natural drawing for ink annotations by default because it can sometimes produce artifacts at line ends. This can be changed back using
PSPDFConfiguration.naturalDrawingAnnotationEnabled
. (Z#14856) - Changed
Reduces the minimum line width for ink annotations from 0.5 to 0.1 in the annotation inspector. (#20654)
- Fixed
Fixes an issue that caused certain pages to fade from black on iOS 13 when they were moved on-screen. (#20513)
- Fixed
Fixes an issue where the back button of a navigation controller did not work on iOS 13. (#20533)
- Fixed
Fixes an issue where annotations could appear duplicated and flipped after the app goes into the background. (#18695)
- Fixed
Fixes an issue where you could delete a non-editable note annotation. (#20419)
- Fixed
Fixes an issue where text wouldn’t be spoken if a device was in silent mode. (#20392)
- Fixed
Fixes a floating scrubber bar layout issue by correctly ignoring the unsupported
scrubberBarType
values. (#20258) - Fixed
Fixes
PSPDFNavigationController
’s back external keyboard command taking precedence over text input. (Z#14834) - Fixed
Fixes navigating through forms using the tab key on external keyboards not working for multi-line text fields. (#20218)
- Fixed
Fixes a rare issue where bookmark manager initialization could be triggered recursively and assert. (#20566)
PSPDFKit
- Added
Adds API to change the order in which annotations are stacked on the page (the z-index). (#100)
- Added
Adds support for rotating image stamp annotations. (#19692)
- Added
Adds support for rotating vector stamp annotations. (#20345)
- Added
Adds support for rendering emojis in free text annotations and forms. (#20629)
- Added
Adds a
PSPDFObjectsTestIntersectionFractionKey
option for the document object finder, which can be used to filter out objects based on the fraction of their area intersecting with the target rectangle. (#20643) - Added
Adds support for preserving the Instant JSON id in the PDF. (#20572)
- Added
Adds support for serializing and deserializing border properties of link annotations. (#20359)
- Added
Add support for vertical alignment in single-line form fields when exporting or printing PDF files. (#19882)
- Changed
The
pageBinding
property setter ofPSPDFDocument
now saves the page binding into the document instead of just keeping it in memory. (#20327) - Changed
Improves automatic repair of AcroForms when loading documents with a large number of annotations. (#19947)
- Changed
Updates Expat to version 2.2.7. (#20545)
- Changed
Updates libpng to version 1.6.37. (#19851)
- Changed
Updates openjpeg to version 2.3.1. (#20647)
- Fixed
Fixes an issue reading media boxes. (#20592)
- Fixed
Fixes a deadlock that could occur when performing concurrent equality checks on annotation objects. (#20688)
- Fixed
Fixes calling
sizeToFit
on a free text annotation resizing the annotation incorrectly. (#20302, Z#14464) - Fixed
Fixes an issue where annotations could become rotated and distorted in certain documents. (#20267)
- Fixed
Fixes the appearance stream of stamp annotations sometimes not being preserved when the annotation is rotated, which is needed to avoid distorting it. (#15898)
- Fixed
Fixes an assertion when importing annotations outside the page range using XFDF. (#20424)
- Fixed
Fixes page indices being incorrect after the first data provider when exporting Instant JSON from a document with multiple data providers. (#20343)
- Fixed
Fixes a crash that would occur after applying an Instant JSON update to a document where the changes contained form field updates. (#20152)
- Fixed
Fixes an issue where form fields with calculation order may not be flattened correctly by the processor. (#20434)
- Fixed
Fixes an issue where some documents with dropdown fields may show an arrow when the document is flattened. (#9539)
- Fixed
Fixes a problem where overriding the digital signature reserved size may corrupt the signature appearance. (#20496)
- Fixed
Fixes an issue that may prevent documents with certain restrictions from being digitally signed. (#20741)
- Fixed
Fixes an issue where a custom
dataSource
set on aPSPDFSigner
object was overridden sometimes. (#20487) - Fixed
Fixes an issue where some documents signed with invisible signatures could not be validated correctly. (#20277)
Examples
- Added
Adds a Swift counterpart to the example
PSCSaveAsPDFExample.m
calledSaveAsPDFExample.swift
. (#20672)
8.4.2 - 5 Jul 2019
PSPDFKitUI
- Added
Adds the ability to cut or copy pages from the
PSPDFDocumentEditorViewController
and paste them into other applications. Pasting PDFs copied from other applications is now also supported. (#19960) - Changed
Improves the documentation for sharing options related to printing and preset
PSPDFViewController
bar button items. (#18987) - Fixed
Fixes internal document references not being retained when cutting and pasting pages in
PSPDFDocumentEditorViewController
. These are now preserved so PDF GoTo Actions still work after saving. (#19470) - Fixed
Fixes an issue where annotation property changes from the inspector were not preserved when killing the app before exiting the annotation state. (#20232)
- Fixed
Fixes images having a low resolution after being attached to form elements using the
buttonImportIcon
JavaScript API. Images will now be added at full resolution. (Z#14555) - Fixed
Fixes incorrect group spacing and cell layout issues on the sharing UI. (#18987)
- Fixed
Fixes links and text field form elements showing a black border instead of no border when no color was set on the annotation and a non-zero border thickness was set. (#20449)
PSPDFKit
- Added
Adds
-[PSPDFDocumentEditor rotationForPageAtIndex:]
to get the current rotation for a page of the document being edited. (#19960) - Added
Adds a property on
PSPDFBookmarkManager
to access the associatedPSPDFDocument
instance. (#20226) - Changed
Improves the loading performance for complex documents with lots of link annotations. (#19399)
- Changed
PSPDFBookmarksChangedNotification
is no longer posted when loading a document. (#18638) - Fixed
Fixes very occasional text rendering problems. (#20155)
Instant
- Fixed
Fixes markup annotations not syncing reliably. (#20235)
- Fixed
Fixes certain annotation types appearing rotated and distorted on rotated pages. (#20291)
Examples
- Added
Adds a PSPDFKit Catalog example illustrating how to add a square annotation with cloudy borders button to the annotation toolbar. (#20400)
- Fixed
Fixes Swift and Objective-C language detection of the examples on iOS 11. (#19953, Z#13392)
8.4.1 - 20 Jun 2019
PSPDFKitUI
- Changed
Showing the annotation toolbar programmatically is now blocked by default when saving is not possible. (#16816)
- Fixed
Fixes an issue where top-level entries in
PSPDFOutlineViewController
couldn’t be searched. (#20004) - Fixed
Fixes an issue where pages could go blank if an element on them had first responder status while they were moved offscreen. (#19638)
- Fixed
Fixes an issue where
PSPDFTabbedViewController
’s tabbed bar would not appear when the view controller was embedded in a container controller. (#19414, #19826, Z#13332) - Fixed
Fixes an issue where setting the
barTintColor
onPSPDFScrubberBar
did not have any effect. (#20169) - Fixed
Fixes an issue where setting the
tintColor
of the page grabber did not have any effect. (#20081) - Fixed
Fixes an issue where a shape annotation with a large line thickness could disappear when resized to small sizes. (#20022)
- Fixed
Fixes an issue where the document could be modified during saving in the document editor. (#19830)
- Fixed
Fixes an issue where the user could open the inspector of a non-editable annotation by selecting an editable one first. (#20283)
- Fixed
Fixes the undo behavior for free text annotation rotation and resizing so that the annotation does not get distorted. (#20133)
- Fixed
Fixes an issue that caused the document view to be loaded prematurely during
PSPDFViewController
initialization. (#20255) - Fixed
Fixes an issue with the annotation inspector where a
UITableView
separator was incorrectly shown under the last item. (#20109)
PSPDFKit
- Added
Adds support for importing and exporting free text callout annotations using JSON. (#18202)
- Changed
Improves loading performance for documents with complex outlines. (#20279)
- Changed
Improves rendering of text with non-Latin characters. (#20189)
- Fixed
Fixes an issue where image stamp annotations rotated by third-party software may lose their appearance. (#20165)
- Fixed
Fixes video metadata lookup for YouTube videos. (#20180)
Examples
- Added
Adds a PSPDFKit Catalog example illustrating how to persist
PSPDFSettingsViewController
settings inNSUserDefaults
. (#20210) - Changed
Improves
DrawOnPagesExample.swift
to show how to draw multiple watermarks with different attributes. (#18922)
8.4.0 - 30 May 2019
See the announcement post.
PSPDFKitUI
- Removed
Deprecates
-[PSPDFDigitalSignatureCoordinator presentSignedDocument:showingPageIndex:]
in favor ofpresentSignedDocument:showingPageIndex:withPresentationContext:
to make presenting the signed document easier. (Z#13752) - Removed
Deprecates
PSPDFUserInterfaceView.thumbnailBarInsets
, which did not do anything. (#19771) - Removed
Removes the
optionsView
property fromPSPDFNoteAnnotationViewController(SubclassingHooks)
because returning any other value would lead to a crash. (#19841) - Removed
Removes the declarations of
-configureZoomView:forSpreadIndex:
, and-configureScrollView:
fromPSPDFDocumentViewLayout(Subclassing)
. These methods were unimplemented, and not used internally. Calling them would have lead to an “unrecognized selector” crash. (#19841) - Removed
Removes the unimplemented
PSPDFPageLabelView(SubclassingHooks)
category. (#19841) - Removed
Removes the unimplemented subclassing hooks
-cancelDrawingAnimated:
and-doneDrawingAnimated:
fromPSPDFAnnotationStateManager
. (#19841) - Removed
Removes the unimplemented category
PSPDFSavedAnnotationsViewController(SubclassingHooks)
. Calling the method it declared would have lead to an “unrecognized selector” crash. (#19841) - Added
Adds a new look and feel for the scrubber bar, which now appears to be floating in the user interface. To revert to the old design, set
thumbnailBarMode
toPSPDFThumbnailBarModeDockedScrubberBar
inPSPDFConfiguration
. (#16110) - Added
Adds an improved, modern visual design for the annotation inspector. (#19053)
- Added
Adds support for rotating free text annotations to any angle. (#15900)
- Added
Adds the ability to customize the eraser thickness in the UI which can be changed in the Annotation Inspector invoked from the Annotation Toolbar. (#18918)
- Added
Adds the ability to apply redactions in a new file, to not overwrite the current document, from the UI. (#19247)
- Added
Adds support for showing a blend mode menu item to the markup annotations selection menu. (#19985)
- Added
Adds a subclassing hook,
-[PSPDFUserInterfaceView updatePageLabelFrameAnimated:]
, for changing the page label position. (#19217) - Added
Adds
<PSPDFCommonWebView>
. This protocol documents the API requirements for the object returned by thewebView
property ofPSPDFWebViewController
. It acts as an abstraction of the common API ofUIWebView
andWKWebView
, as used by our view controller. (#19841) - Added
Adds biometric properties on
PSPDFDrawView
:pointSequences
,pressureList
,timePoints
,touchRadii
andinputMethod
. Callingclear
onPSPDFDrawView
now also clears any currently collected biometric data. (#19800) - Changed
Marks the inherited initializer
-[PSPDFMenuItem initWithTitle:action:]
as unavailable because it cannot be used with this class. (#19841) - Changed
Moves
PSPDFGalleryItem(Protected)
into a separate header file, and turned it into a class continuation. For subclassingPSPDFGalleryItem
, please use#import <PSPDFKitUI/PSPDFGalleryItem+Subclassing.h>
now. (#19841) - Changed
Promotes the declaration of
-updatePageLabel
inPSPDFThumbnailGridViewCell(SubclassingHooks)
up the class hierarchy toPSPDFPageCell
. (#19841) - Changed
Single-page documents now have the thumbnail bar hidden by default. A new property in
PSPDFConfiguration
(hideThumbnailBarForSinglePageDocuments
) lets you configure this behavior. (#16110) - Fixed
Fixes a crash that could occur in
-[PSPDFThumbnailFlowLayout ensureLayoutAttributesForItemsUpTo:]
when viewing page thumbnails in double page mode. (#19984) - Fixed
Fixes a regression introduced in PSPDFKit 8.3.2 where the header in the thumbnail layout would be misplaced after rotation, and the sticky header would not stick. (Z#13392)
- Fixed
Fixes an issue where an annotation’s
fillColor
returnedUIColor.clearColor
instead ofnil
for a clear color. (#19896) - Fixed
Fixes an issue where annotations drawn in dark mode had a black fill color instead of a clear fill color. (#19831)
- Fixed
Fixes an issue where erasing or undoing an ink annotation changed the alpha of the remainder of the drawn ink annotation on page. (#19900)
PSPDFKit
- API
Replaces the
rotation
property setter ofPSPDFFreeTextAnnotation
withsetRotation:updateBoundingBox:
, which is declared in thePSPDFRotatable
protocol. (#19983) - Added
Adds Welsh localization. (#19923)
- Added
Adds a new
PSPDFPKCS7
class for representing a digital signature PKCS7 container. (#19916) - Added
Adds a way to construct an instance of a
PSPDFPrivateKey
fromNSData
that represents a valid private key in either PKCS1 or PKCS8 encoding format. (#19916) - Added
Adds embedSignatureInFormElement: API to the
PSPDFSigner
, an API that embeds a digital signature in a document already prepared to contain a digital signature. (#19479) - Added
Adds
hashDocumentProviderRange:
API to thePSPDFDocumentProvider
, an API that returns a hashed part of a document provider, indicated by a particular byte range. Useful for creating digital signatures. (#19479) - Added
Adds
prepareFormElementToBeSigned:
API to thePSPDFSigner
, an API that reserves space in a signature form field so that it can be signed later. (#19479) - Added
Adds the ability to set a custom signature watermark. (#19438)
- Added
Adds support for the
Doc.documentFileName
JavaScript API. (#18775) - Changed
Makes enums use
NS_CLOSED_ENUM
so Swift callers don’t need to handle unknown cases. (#18679) - Changed
Improves rendering of text in appearance streams. (#19877)
- Changed
Improves the performance of some JavaScript calculation scripts. (#19234)
- Changed
Embedded goto actions will go to the specified page instead of going to the first page of the embedded target document. (#10963)
- Changed
Improves automatic repair of AcroForms to support more document errors. (#19834)
- Changed
Renames
PSPDFSignatureInputMethod
enum toPSPDFDrawInputMethod
. The previous values have been deprecated. (#19800) - Changed
Updates Expat to version 2.2.6. (#19868)
- Changed
Updates the Botan library version to 2.10.0. (#19767)
- Fixed
Fixes a bug which caused the font picker to scroll to the selected item with a jerky animation. (#19108)
- Fixed
Fixes an issue creating form fields where some fields could not be retrieved later by their original keys. (#19945)
- Fixed
Fixes an issue where JavaScript API
doc.getField()
could get into a state where it wasn’t possible to retrieve newly created form fields. (#20027) - Fixed
Fixes an issue where rotating a page after deleting a note annotation could lead to an assertion failure. (#19853)
- Fixed
Fixes an issue where the line start and end of a polyline annotation didn’t honor a clear fill color. (#20097)
Examples
- Added
Adds a PSPDFKit Catalog example illustrating how to add a Blend Mode menu item to the highlight annotation selection menu. (#19985)
- Added
Adds a PSPDFKit Catalog example illustrating how to customize the annotation inspector to set blend mode for vector stamp annotations. (#19979)
- Added
Adds a PSPDFKit Catalog example illustrating how to access the biometric data of an ink signature from a
-[PSPDFSignatureViewController drawView]
. (#19800) - Added
Adds a PSPDFKit Catalog example illustrating how to access the biometric properties after digitally signing a document. (#19800)
- Added
Adds an Objective-C version of the “Document progress” example where a PDF file is downloaded and displayed using the
PSPDFViewController
. (#19897) - Changed
PSCCustomAnnotationProviderExample
now properly uses thePSPDFContainerAnnotationProvider
. (#20024)
8.3.2 - 15 May 2019
PSPDFKitUI
- Added
Adds
PSPDFTextSelectionMenuActionCopy
,PSPDFTextSelectionMenuActionMarkup
,PSPDFTextSelectionMenuActionRedact
,PSPDFTextSelectionMenuActionCreateLink
, andPSPDFTextSelectionMenuActionAnnotationCreation
toPSPDFTextSelectionMenuAction
to allow for easier customization of allowed menu actions viaPSPDFConfiguration.allowedMenuActions
. (#19817) - Fixed
Fixes a crash within
PSPDFDocumentEditorViewController
that would happen when calling-[PSPDFViewController reloadData]
after setting a new document with a lower page count than the current one. (#19839) - Fixed
Fixes an issue where the annotation state of the
PSPDFAnnotationStateManager
was set to an empty string when no annotation tool was selected. (#19911) - Fixed
Fixes an issue where the thumbnails view would automatically scroll for certain documents when the
stickyHeaderEnabled
property ofPSPDFThumbnailFlowLayout
was set toYES
. (#19437) - Fixed
Fixes the alignment of the indexing status cell in
PSPDFDocumentPickerController
. (#19673)
PSPDFKit
- Added
Adds undo support for link annotations. (#19702)
- Added
Adds a
variant
property onPSPDFAnnotation
. (#19903) - Fixed
Fixes an issue where the redaction text may not be correctly added in some scenarios. (#19703)
- Fixed
Fixes an issue with file conflict resolution which caused incorrect handling of cases where an opened document is renamed, moved, or deleted when the app is backgrounded. (#19782)
8.3.1 - 2 May 2019
PSPDFKitUI
- Fixed
Fixes an issue where the comments indicator icon was misplaced for rotated stamp annotations. (#19652)
- Fixed
Fixes an issue where the flexible toolbar shadow was misplaced during the animation when moving the toolbar to a new position. (#19709)
- Fixed
Fixes an issue where the username alert’s done button would remain disabled when programmatically presenting the alert with an empty suggested name. (#19695)
- Fixed
Fixes an issue with button alignment on the scrubber bar toolbar on devices with bottom safe area insets. (#16254)
- Fixed
Fixes an issue with the page mode not updating when rotating the device while editing a free text annotation. (#19160)
PSPDFKit
- Changed
Improves performance when attempting to load custom fonts on demand. (#19662, #19661)
- Changed
Improves performance when executing JavaScript actions on form fields with complex interdependent validation logic. (#19661)
- Changed
Improves results from
PSPDFLibrary
when thePSPDFLibraryMatchExactPhrasesOnly
option is specified, and a tokenizer other than the default porter tokenizer is used. (#19685) - Changed
Prevents a potential multithreading violation when the sqlite backend is accessed while a low memory notification is broadcasted. (#19750)
- Fixed
Fixes an issue where the
PSPDFRenderDrawBlock
set using-[PSPDFProcessorConfiguration drawOnAllCurrentPages:]
was overridden by thePSPDFRenderDrawBlock
of aPSPDFDocument
’s render options. (#19541) - Fixed
Fixes an issue where an annotation would not be up-to-date when using the processor while using the external file annotation save mode. (#19498)
- Fixed
Fixes an issue where readonly checkboxes may not be rendered correctly. (#19506)
- Fixed
Fixes a crash that could occur when deleting annotations using the menu interface. (#18061)
- Fixed
Fixes a potential crash when processing large documents under low-memory conditions. (#19768)
Examples
- Changed
Updates
PSCPredefinedEmailBodyExample
to use the new Document Sharing API. (#19725) - Fixed
Fixes a crash on the Custom Sharing Options example in Catalog. (#19711)
8.3.0 - 23 Apr 2019
See the announcement post.
PSPDFKit now requires and is built with Xcode 10.2.1 (10E1001).
PSPDFKitUI
- API
Changes the methods on
PSPDFSaveViewControllerDelegate
to better handle saving files, especially for supporting showing the system file picker. Replaces-saveViewControllerDidEnd:shouldSave:
with-saveViewController:saveFileToURL:completionHandler:
,-saveViewController:didFinishWithURL:
, and-saveViewControllerDidCancel:
; and replaces-saveViewControllerShouldSave:toPath:error:
with-saveViewController:saveFileToURL:completionHandler:
. (#16997) - API
Makes the
searchString
parameter in-[PSPDFDocumentPickerControllerDelegate documentPickerController:didSelectDocument:pageIndex:searchString:]
correctly declared as nullable. (#19040) - API
Removes
-[PSPDFViewModePresenter updateInsetsForTopOverlapHeight:]
with dropping support for iOS 10. (#19445) - Removed
Deprecates the document editor specific API (
initWithDocumentEditorConfiguration:
anddocumentEditorConfiguration
) and removesPSPDFDocumentEditorConfigurationConfigurable
conformance onPSPDFSaveViewController
. (#16997) - Removed
Deprecates
-[PSPDFAnnotationPresenting didShowPageView:]
in favor of-[PSPDFAnnotationPresenting willShowPageView:]
to better communicate the timing of this method call. (#19333) - Removed
Deprecates
-[PSPDFSignatureViewController keepLandscapeAspectRatio]
, since showing the signature drawing area in a landscape format is the default. (#18772) - Removed
Deprecates the
PSPDFPresentationPersistentCloseButtonKey
presentation option andPSPDFNavigationController
’spersistentCloseButtonMode
andpersistentCloseButton
properties. Persistent close buttons are no longer used by PSPDFKit itself and support for them will be removed in a future release. (#18867) - Added
Adds new UI for link annotation creation and editing via
PSPDFLinkAnnotationEditingContainerViewController
,PSPDFPageLinkAnnotationEditingViewController
, andPSPDFWebsiteLinkAnnotationEditingViewController
. (#18909) - Added
Adds the link annotation tool to the default Annotation Toolbar configurations. (#18909)
- Added
Adds support for showing link annotations with multiple
rects
, which happens if the link spans multiple lines. (#18909) - Added
Adds a rotation knob to
PSPDFResizableView
that can be used to change the angle of standard stamps and custom text stamps. Its appearance and position can be customized using the newrotationKnob
property andcenterPointForRotationKnobInFrame:
method onPSPDFResizableView
, and thePSPDFKnobTypeRotation
enum value. (#15901) - Added
Adds external keyboard commands to navigate lists (table views) using arrow keys. (#7824)
- Added
Adds external keyboard commands for navigation bar and toolbar buttons when using
PSPDFNavigationController
. (#7824) - Added
Adds external keyboard commands to switch tab in the document info view. (#7824)
- Added
Adds a configuration option to enable adding multiple bookmarks to the same page in the UI. (#16371)
- Added
Adds
shouldResetAppearanceModeWhenViewDisappears
property onPSPDFViewController
, which allows you to disable the appearance mode reset on-[PSPDFViewController viewWillDisappear:]
. (#19562) - Changed
Improves Digital Signature signing experience by presenting the Annotation Toolbar only when it is required. (#18192)
- Changed
Improves signature drawing area sizing to make sure no drawings are cut off when rotating the device or resizing the app. (#18772)
- Changed
Improves the behavior of form fields with autosizing fonts. (#19303)
- Changed
Improves the internal annotation username state handling which caused issues when programmatically dismissing the annotation username alert. (#18905)
- Changed
Improves the performance and reliability of the Document Editor. (#19349)
- Changed
Changes how
editableAnnotationTypes
are set onPSPDFAnnotationTableViewController
when presented by PSPDFKit. Links will be filtered out by default. (#18909) - Changed
Changing the type of markup annotations now sets the style of the changed annotation to the last used style for the new type. (#19255)
- Changed
Enables link annotation editing by default, by adding them to
PSPDFConfiguration.editableAnnotationTypes
. (#18909) - Changed
Improve the logic to properly inset the Annotation Toolbar when the page grabber is used. (#18685)
- Changed
The timing of
-[PSPDFDocumentViewControllerDelegate willBeginDisplayingSpreadView:forSpreadAtIndex:]
as well asPSPDFDocumentViewControllerWillBeginDisplayingNotification
have been changed to be called before displaying the spread, as expected from their names. (#19333) - Changed
PSPDFDocumentPickerController
now handles sandbox restrictions on the Simulator more accurately when trying to delete documents. (#19040) - Fixed
Fixes a memory leak when interacting with sound annotations. (#19295)
- Fixed
Fixes an issue that could result in blank pages after scrolling or device rotation. (#18848, #18682)
- Fixed
Fixes an issue where
PSPDFThumbnailViewController
andPSPDFDocumentEditorViewController
would hold outdated references for documents when calling-[PSPDFViewController reloadData]
, resulting in inconsistencies. (#19363) - Fixed
Fixes an issue where
PSPDFViewController
was not completely reloading after changing the document’spageBinding
property. (#19199) - Fixed
Fixes an issue where a document could not be deleted in
PSPDFDocumentPickerController
. (#19458) - Fixed
Fixes an issue where changing the appearance mode would not be reflected on the currently visible pages in page curl mode unless the page was changed. (#18869, Z#12698)
- Fixed
Fixes an issue where editing permissions was not allowed if the document was opened with user (open) password. (#19188)
- Fixed
Fixes an issue where keyboard was not dismissed in favor of a form field popover. (#6523)
- Fixed
Fixes an issue where the activity indicator on a page was still visible even after the completion of the rendering. (#19529)
- Fixed
Fixes an issue where the Annotation Toolbar was not correctly placed when using the page grabber and the app was resized. (#19334)
- Fixed
Fixes an issue where the wrong preset would be selected in the Annotation Inspector if multiple presets with the same color combination where present. (#19623)
- Fixed
Fixes an issue which caused the line annotation’s start and end color to not persist correctly. (#19535)
- Fixed
Fixes memory leaks when using
PSPDFDocumentSharingViewController
. (#14468) - Fixed
Fixes page change keyboard shortcuts in right-to-left layouts. (#19385)
- Fixed
Fixes the half modal inspector scroll position sometimes jumping after showing the font picker or going back. (#19050, #19052)
- Fixed
Fixes the half modal drag indicator appearing above the font picker search field where it didn’t fit well. (#18881)
PSPDFKit
- API
Replaces the
rotation
property setter ofPSPDFStampAnnotation
withsetRotation:updateBoundingBox:
, which is declared in thePSPDFRotatable
protocol. (#15888) - Removed
Deprecates
-[PSPDFBookmarkManager removeBookmarkForPageAtIndex:]
in favor of the newremoveBookmarksForPageAtIndex:
, which more accurately describes the handling of multiple bookmarks per page. (#16371) - Added
Adds support for rotating stamp annotations to any angle and ensures the visual size is retained when the rotation is changed. (#15899)
- Added
Adds a
customData
property toPSPDFAnnotation
. The contents of this property are saved to the corresponding annotation provider. (#18889) - Added
Adds
PSPDFDirectory.documentPickerDirectory
as a way to show the system file picker for directory selection. (#16997) - Added
Adds a
drawingBlock
property toPSPDFFileAppearanceStreamGenerator
to allow additional custom drawing. SeeAppearanceStreamGeneratorWithCustomDrawingExample
in PSPDFKit Catalog. (#19277) - Added
Adds French (Canadian) localization. (#19686)
- Added
Adds
showWatermark
toPSPDFSignatureAppearance
. This allows hiding the watermark from digital signatures. (#19438) - Added
Adds support for signing PDF documents using P12 keystores that contain CA certificates. (#19448)
- Added
Adds support for modifying form fields and annotation widgets to Instant Document JSON. (#18771)
- Added
Adds
FontStyle
to Instant JSON for widget annotations. (#18083) - Changed
Improves JavaScript error validation and error reporting. (#18899)
- Changed
Improves performance of pages which hold lots of objects. (#19396)
- Changed
Improves the performance of documents with JavaScript interactivity in many common scenarios. (#19119)
- Changed
Automatically triggers a
clearCache
when the data directory is set. (#18898) - Changed
Changes the default
PSPDFDocumentEditorConfiguration.saveDirectories
toPSPDFDirectory.documentPickerDirectory
, to use the system file picker for choosing a save location. (#16997) - Changed
Increases the default levels of undo actions from 40 to 100 to store more history. (#18756)
- Changed
Loading PDF actions is now more reliable. (#18843)
- Changed
Optimizes storage size of Magic Ink template files. (#19453)
- Changed
Suppresses parsing and potential display of unsupported annotation types, such as widget annotations. (#19415)
- Changed
Updates ICU to version 63.1. (#18974)
- Changed
Updates libjpeg-turbo to 2.0.2. (#18973)
- Changed
Updates libpng to 1.6.36. (#18972)
- Changed
Updates zlib to 1.2.11. (#18975)
- Fixed
Fixes a problem where a form field that is made visible by a JavaScript script may not show its formatted appearance. (#19119)
- Fixed
Fixes a rare issue when parsing outlines. (#19469)
- Fixed
Fixes a very occasional crash on editing form elements. (#19595)
- Fixed
Fixes an assertion that could occur when applying certain rotation values in Instant JSON in certain documents. (#19391)
- Fixed
Fixes an issue exporting Instant JSON shape annotations with transparent stroke colors. (#19120)
- Fixed
Fixes an issue when redacting documents with monochrome inline images. (#19579)
- Fixed
Fixes an issue when drawing a path using a pattern with alpha transparency. (#19148)
- Fixed
Fixes an issue when rendering text with an overlay blend mode. (#19151)
- Fixed
Fixes an issue when setting transparent colors in annotations. (#19120)
- Fixed
Fixes an issue when sharing a document that resulted in blank pages. (#19267)
- Fixed
Fixes an issue where the
QuadPoints
of link annotations were saved to the PDF incorrectly. (#19427) - Fixed
Fixes an issue where
-[PSPDFDocument+DataDetection objectsAtPDFRect:pageIndex:options:]
could return a nil annotations array. (#18846) - Fixed
Fixes an issue where a page would sometimes fail to render when scrolling through a document quickly. (#18571)
- Fixed
Fixes an issue where annotations created by Apple Preview may not be copied and pasted correctly. (#19154)
- Fixed
Fixes an issue where border width and border dash array of free-text annotations were not serialized properly to Instant JSON. (#19481)
- Fixed
Fixes an issue where entering text after a PDF document script has executed may not work correctly. (#19119)
- Fixed
Fixes an issue where form field input may not be correctly validated while the user is typing if some form field flags are set. (#19448)
- Fixed
Fixes an issue where link annotations may not work correctly after a document is exported. (#19222)
- Fixed
Fixes an issue where malformed widget annotations weren’t correctly attached to the form. (#19581)
- Fixed
Fixes an issue where opening a document with annotations written by a version of PSPDFKit prior to 8.0 could lead to a deadlock. (#19007)
- Fixed
Fixes an issue where some JPX images may not render correctly. (#18648)
- Fixed
Fixes an issue where some memory may be leaked after running a script. (#19016)
- Fixed
Fixes an issue where stamps with custom AP streams were added with the wrong rotation on rotated PDF pages. (#19351)
- Fixed
Fixes an issue where text edited in form fields was incorrectly set in other form fields as well. (#19236)
- Fixed
Fixes an issue where the
fillColor
property was ignored in Instant JSON for polyline annotations. (#19443) - Fixed
Fixes an issue with instant ink annotation not being sent to clients. (#19325)
- Fixed
Fixes an issue with text markup alignment on accented characters. (#18214)
- Fixed
Fixes some characters being missing from search preview. (#19361)
Instant
- Changed
Demotes an assertion about an unexpected state of the database to a recoverable error when applying changes from the server. (#18698)
- Fixed
Fixes an issue where multiple authentication requests for the same layer could be running concurrently. Under certain circumstances, this could cause multiple concurrent sync requests for the same layer too. (#18698)
Examples
- Changed
All Swift examples have been updated to Swift 5. (#19405)
- Added
Adds a PSPDFKit Catalog example illustrating how to customize the tab title of a
PSPDFTabbedViewController
. (#19590) - Added
Adds a PSPDFKit Catalog example illustrating how to customize the table view cell for a
PSPDFSearchViewController
. (#19572) - Added
Adds an example in Swift to customize the buttons in the Annotation Toolbar. (#19232)
- Fixed
Fixes an issue where the close button was not visible in Custom Sharing Options example. (#19345)
- Fixed
Fixes an issue with the navigation bar’s appearance and visibility in the example catalog. (#19348)
8.2.3 - 21 Mar 2019
PSPDFKitUI
- Fixed
Fixes an issue where
-[PSPDFTabbedViewControllerDelegate tabbedPDFController:didChangeVisibleDocument:]
was not getting called when closing the visible tab. (#19298) - Fixed
Fixes an issue where tall form fields with auto-sizing fonts would behave incorrectly. (#19303)
- Fixed
Fixes scrubber bar flickering when manipulating annotation properties. (#19200, #19210)
PSPDFKit
- Changed
Updates scripts embedded in
PSPDFKit.framework
, so Xcode does not try to sign them for specific setups. All embedded scripts need to be called with bash from now on, e.g.bash PSPDFKit.framework/strip-bitcode.sh
. You can manually delete the#!/bin/sh
line from the script for older versions if you encounter ERROR ITMS-90035: “Invalid Signature. Code object is not signed at all.” pointing to a script embedded in PSPDFKit.framework. (#19190) - Fixed
Fixes an issue where the caps key may be incorrectly enabled on some form fields. (#19246)
- Fixed
Fixes an issue where ink drawings created in macOS Preview and represented as vector stamps could in some cases be incorrectly displayed as a default stamp. (#19157)
Examples
- Fixed
Fixes Swift language detection in the PSPDFKit Catalog on beta versions of Xcode. (#19095)
8.2.2 - 11 Mar 2019
PSPDFKitUI
- Changed
Improves behavior when trying to share invalid documents. (#19102)
- Changed
Improves the behavior for multiline form fields that have autosizing fonts. (#18999)
- Changed
Improves the behavior when interacting with form fields when the page is zoomed in. (#18417)
- Changed
Reduces the number of registered undo actions when dragging an ink annotations, which might have caused main thread freezes previously. (#19169)
- Fixed
Fixes an issue that prevented the
shouldHideUserInterfaceOnPageChange
flag from being correctly honored when using tap to scroll navigation. (#16362) - Fixed
Fixes an issue where document metadata was ignored when sharing through
UIActivityViewController
. (#19056) - Fixed
Fixes an issue where sound annotations could not be played back if they did not have a note attached to it. (#19038)
- Fixed
Fixes an issue where the “Copy” option is shown for annotations that do not support copying. (#15854)
- Fixed
Fixes an issue where undoing free text callout annotation changes did not work properly. (#18197)
PSPDFKit
- Changed
Reduces the numbers of undo actions recorded when modifying the points of free text callout, line, polyline, and polygon annotations. (#18197)
- Removed
Removes the
PSPDFFormElementFlag
enumeration, which was unused. The supported flags can be set through thereadOnly
,required
, andnoExport
properties onPSPDFFormField
. (#19101) - Fixed
Fixes a potential crash when resolving additional downloadable fonts. (#18981)
- Fixed
Fixes a rare deadlock when using undo/redo while a document is being deallocated. (#18977)
- Fixed
Fixes an issue that could result in missing annotation note indicators for notes added in third party editors. (#19039)
- Fixed
Fixes an issue where a form field with custom formatting may not be formatted correctly when its exported XFDF data is imported again. (#18791)
- Fixed
Fixes an issue where annotation note indicators could be clipped when positioned on the edge of the annotation bounding box. (#19039)
- Fixed
Fixes an issue where changes to the
fileURL
property of objects in a document’sdataProviders
array were not reflected in thefileURLs
, orfileURL
property of that document.PSPDFDocument
now uses KVO to reflect changes to thefileURL
property of itsdataProviders
that conform toPSPDFFileDataProviding
in its ownfileURLs
, andfileURL
properties. (#18835) - Fixed
Fixes an issue where some JavaScript keystroke handling scripts may not work as intended. (#19070)
- Fixed
Fixes an issue where the image of a push button may be displaced in some cases. (#18932)
- Fixed
Fixes some issues where certain properties changed by a JavaScript script may not reflect correctly in the UI. (#18125)
- Fixed
Fixes an issue where some layers were hidden incorrectly. (#14439)
8.2.1 - 18 Feb 2019
PSPDFKitUI
- Changed
Improves the internal annotation username state handling which caused issues when programmatically dismissing the annotation username alert. (#18905)
- Changed
Improve the logic to properly inset the annotation toolbar when the page grabber is used. (#18685)
- Fixed
Fixes an issue that could result in blank pages after scrolling or device rotation. (#18848, #18682)
- Fixed
Fixes an issue where changing the appearance mode would not be reflected on the currently visible pages in page curl mode unless the page was changed. (#18869, Z#12698)
- Fixed
Fixes an issue where keyboard was not dismissed in favor of a form field popover. (#6523)
- Fixed
Fixes the half modal drag indicator appearing above the font picker search field where it didn’t fit well. (#18881)
PSPDFKit
- Changed
Improves JavaScript error validation and error reporting. (#18899)
- Changed
Automatically triggers a clearCache when the data directory is set. (#18898)
- Fixed
Fixes an issue where
-[PSPDFDocument+DataDetection objectsAtPDFRect:pageIndex:options:]
could return a nil annotations array. (#18846) - Fixed
Fixes an issues where a page would sometimes fail to render when scrolling through a document quickly. (#18571)
8.2.0 - 7 Feb 2019
See the announcement post. PSPDFKit 8.2 for iOS is the last minor version to support iOS 10. PSPDFKit 8.3 for iOS will raise the deployment target to iOS 11, allowing us to concentrate our development and support efforts.
PSPDFKitUI
- Removed
Deprecates
-[PSPDFDocumentEditorToolbarController toggleSaveActionSheet:presentationOptions:completionHandler:]
in favor of-[PSPDFDocumentEditorToolbarController toggleSavingConfirmationViewController:presentationOptions:completionHandler:]
. (#17589) - Removed
Deprecates
-[PSPDFDocumentSharingViewControllerDelegate documentSharingViewController:willShareFiles:]
and adds a new delegate method to set a custom filename for the generated files when sharing documents. (#18781) - Removed
Deprecates
PSPDFFlexibleToolbarContainerView.flickToCloseEnabled
which allowed to close the toolbar by flicking down on it while dragging. (#17893) - Removed
Deprecates
bookmarkString
onPSPDFBookmarkCell
, since the cell now displays multiple labels. (#10916) - Added
Adds additional bookmark UI features and improves the overall bookmark cell design. (#10916)
- Added
Adds a smoother and more delightful annotation inspector on iPhone that works as a proper sliding panel to better align with modern iOS design. (#17963)
- Added
Adds
shouldStartEditingBookmarkNameWhenAdding
onPSPDFBookmarkViewController
to disable the new behavior where an added bookmarks’ name is automatically made editable. (#10916) - Added
Adds
-[PSPDFConfiguration redactionUsageHintEnabled]
to determine if the redaction usage hint should be shown the first time the redaction tool is selected. (#18437) - Added
Adds
textSelectionMenuItemForCreatingAnnotationWithType:
to get a text selection annotation creation menu item, to make it easier to customize the text selection menu. (#17635) - Added
Adds a new default annotation toolbar configuration, to make the toolbar show an appropriate amount of items, in more cases. (#17322)
- Added
Adds a subclassing hook for customizing the alert controller shown when the document editor is going to be dismissed. (#17589)
- Added
Adds view state restoration support for the document editor toolbar. (#18467)
- Changed
Improves automatic font size calculation for text widgets. (#18095)
- Changed
Improves bounding box calculation used for creating text markup and redaction annotations in the UI to more closely reflect the actual text frames, and to not accidentally mark up adjacent characters. (#17675, #16629)
- Changed
Improves conflict resolution handling while the view controller is not visible. (#18159)
- Changed
Improves memory usage when scrolling through pages quickly in a large document. (#18460)
- Changed
Improves the interaction for form fields that contain both the DoNotScroll and auto-sizing font flags. (#18254)
- Changed
Improves the way default page templates are handled on
PSPDFNewPageViewController
. (#18239) - Changed
Changes the condition for determining if all text selection markup creation menu items should be displayed, from checking if the current device is an iPad, to checking if the view is shown in a regular horizontal size class. (#18117)
- Changed
Changes the condition for determining if the markup style menu items should be shown in a submenu, from checking if the current device is an iPad, to checking if the view is shown in a regular horizontal size class. (#18117)
- Changed
Imposes support for setting the flexible toolbar position via the
toolbarPosition
property. The set value is now prioritized over any preserved user state. (#18467) - Changed
Padding for text selection is no longer applied on the model level for glyphs, but instead only on the UI level for the text selection view. (#18036)
- Changed
The minimum font size is now 4px, the maximum is 200px. (#18485)
- Fixed
Fixes a potential assertion when a HUD toggle is scheduled but the view is removed during that time. (#18670)
- Fixed
Fixes an issue in Document Permissions screen which allowed the user to save modified permissions without setting a Document Owner password. Previously, the permissions were not getting actually updated, however the UI might have led the user to believe so. (#18496)
- Fixed
Fixes an issue in Document Permissions screen which allowed the user to set the same Document Open and Document Owner password. They can’t be the same. For more details, please see /blog/protecting-pdf-documents/. (#18495)
- Fixed
Fixes an issue where a modally presented
PSPDFViewController
could be dismissed after tapping on an annotation from the annotations list. (#18643) - Fixed
Fixes an issue where a warning was needlessly logged when the license did not include the Annotation Editing component. (#18448)
- Fixed
Fixes an issue where backward and forward buttons were not updated correctly. (#18523)
- Fixed
Fixes an issue where drawing in the signature UI was not following the touch location. (#18522)
- Fixed
Fixes an issue where drawing or creating text markups didn’t work when scrolling to the next or previous page after activating the tool. (#18715)
- Fixed
Fixes an issue where form fields that were marked as multiline but had the
doNotScroll
flag set and are really short would fail to accept input. (#16965) - Fixed
Fixes an issue where highlighting text using markup annotations did not work reliably after changing page using the thumbnail scrubber bar. (#18613)
- Fixed
Fixes an issue where image stamp annotations could be inserted in the wrong spread in double page mode. (#18654)
- Fixed
Fixes an issue where merging markup annotations or converting a markup to a different type caused the bounding box to change unexpectedly. (#18092)
- Fixed
Fixes an issue where selected text and annotations were shown on an external screen while screen mirroring, which caused some UI glitches. (#18570)
- Fixed
Fixes an issue where the
UIMenuController
for selected annotations was not positioned correctly. (#18186) - Fixed
Fixes an issue where the
delegate
ofPSPDFSignatureSelectorViewController
was overriden, when set before the view appeared. (#18431) - Fixed
Fixes an issue where the annotation inspector popover was not positioned correctly if the annotation was partially off screen. (#18453)
- Fixed
Fixes an issue where the document on an external screen got stuck while screen mirroring when re-connecting a display while a document was visible. (#18570)
- Fixed
Fixes an issue where the rect of newly added stamp annotations in double page mode was incorrect. (#18654)
- Fixed
Fixes an issue where the user interface view could get stuck in a visible or hidden state, when switching pages while editing a free text annotation. (#18541)
- Fixed
Fixes an issue where unsaved ink annotations were rendered incorrectly after rotating the page. (#18230)
- Fixed
Fixes customization of the subject when sharing documents via email using the system share sheet. (#18099)
- Fixed
Fixes support for dynamic document editor toolbar button layouts by correctly invoking and honoring the
-[PSPDFDocumentEditorToolbar buttonsForWidth:]
subclassing hook. (#18669)
PSPDFKit
- API
Changes the return type of
-[PSPDFBookmarkManager addBookmarkForPageAtIndex:]
fromvoid
toPSPDFBookmark *
. (#10916) - Removed
Deprecates
PSPDFDocumentSaveOptionForceRewrite
in favor of newly addedPSPDFDocumentSaveOptionForceSaving
andPSPDFDocumentSaveOptionStrategy
. (#18142) - Removed
Deprecates
-[PSPDFDocument applyInstantJSONFromDataProvider:toDocumentProvider:error:]
in favor of a version that adds alenient
parameter, that controls the behavior when the JSON is (partially) invalid. (#18630) - Added
Adds
PSPDFOriginalFontNameAttributeName
to improve handling of fonts in free text annotations where the font is not readily available. In addition, setting an annotation’sfontName
now preserves thefontSize
. (#18421) - Added
Adds
localizedActionType
toPSPDFAction
, and changes some of the strings returned fromlocalizedDescriptionWithDocumentProvider:
. (#10916) - Added
Adds support for cloudy borders in shape annotations and free text annotations via Instant JSON. (#18547)
- Added
Adds support for multi-threaded rendering. (#18199)
- Added
Adds support for stamp and free text annotation rotation in Instant JSON. (#18019)
- Added
Adds support for the doc.removeField JavaScript API. (#18621)
- Changed
Improves compatibility with 3rd-party SDKs that use Aspects to hook into message passing. (#18793)
- Changed
Improves handling of a document’s
documentProviders
being recreated, which happens when callingclearCache
and in low-memory situations. (Z#12006) - Changed
Improves handling of failures to add annotations to a given annotation provider. Annotations that could not be attached to the document are now not included in the return value of an annotation provider’s
-addAnnotations:options:
method. (#16326) - Changed
Improves initial text parsing performance. (#18534)
- Changed
Improves performance when looking up fonts. (#17981)
- Changed
Improves the locking mechanism for password-protected documents so that calling
-[PSPDFViewController reloadData]
won’t reload an explicitly-locked document. (#18561) - Changed
Improves the performance of documents which apply masks to text objects. (#15497)
- Changed
Allow the use of
-[PSPDFDocumentProvider setRotationOffset:forPageAtIndex:]
on providers with custom annotation providers like XFDF or PSPDFKit Instant. (#17603) - Changed
Exposes
-[PSPDFAnnotation blendMode]
. See https://pspdfkit.com/guides/ios/annotations/annotation-blend-modes/. (#18410) - Fixed
Fix an issue in full-text search that could cause a deadlock during indexing. (#18750)
- Changed
Padding for glyph frames is no longer applied in
PSPDFBoundingBoxFromGlyphs
andPSPDFRectsFromGlyphs
.PSPDFDefaultTextPaddingFactor
has been removed as well. (#18036) - Changed
The
documentProvider
property onPSPDFAnnotation
is now readonly. (#18578) - Changed
Updates the Botan library to version 2.9.0. (#18271)
- Changed
Use app name in JavaScript alerts. (#18529)
- Fixed
Fixes a bug where annotations parsed from XFDF would be displayed incorrectly on a rotated page. (#17603)
- Fixed
Fixes a problem importing/exporting color values. This could lead to unnecessary appearance stream regeneration. (#18428)
- Fixed
Fixes a rare deadlock when using ink annotations from multiple threads. (#18674)
- Fixed
Fixes an issue when opening a rotated Image Document. (#17791)
- Fixed
Fixes an issue where creating text markup annotations via
+textOverlayAnnotationWithRects:boundingBox:pageIndex:
ignored the bounding box parameter and used the union of the rects as bounding box instead. (#18092) - Fixed
Fixes an issue where rendering a page with lot of annotations on a large zoom scale would cause memory usage to spike. (#18224)
- Fixed
Fixes an issue with Image Documents when images have an orientation. (#17791)
- Fixed
Fixes an issue with Image Documents when saving back to an already rotated image. (#18483)
- Fixed
Fixes an issue with accessing the document metadata after receiving a low memory warning. (#18769)
- Fixed
Fixes an issue with render cancellation when using a document that contains multiple data providers. (#18563)
- Fixed
Fixes delegates not being correctly called for
PSPDFDocumentEditorDelegate
for some editor actions. (#18531) - Fixed
Fixes text markup annotations being created incorrectly on rotated pages with text that appears the right way up. (#18219, Z#11941)
Instant
- Changed
Improves the display of and interaction with image annotations that have not been loaded yet. (#17004)
- Changed
Enables support for creating and modifying stamp annotations. (#18773)
- Changed
Hide Sharing action in
PSPDFInstantViewController
. Instant document cannot be shared. (V#1883) - Fixed
Fixes an issue where stamp annotations would lead to a failed assertion. (#17911)
- Fixed
Fixes an issue where underline annotations would not sync properly. (#18030)
Examples
- Added
Adds a PSPDFKit Catalog example illustrating how to disable bouncing for the document scroll and zoom views. (#18765)
- Added
Adds an example in Swift for using the Apple Maps widget in a PDF page. (#18067)
- Changed
Updates Catalog example to better illustrate how to customize the file names of documents being shared. (#18574)
8.1.3 - 15 Jan 2019
PSPDFKitUI
- Added
Adds a new subclassing hook to
PSPDFDocumentSharingViewController
to customize the mail compose view controller when sharing to the Email destination. (#17955) - Changed
Improves change tracking to prevent
presentedItemDidChange
loops that could prevent saves with certain system file provider extensions. (#18409) - Changed
Publicly declares
PSPDFFlexibleToolbarContainerDelegate
conformance inPSPDFDocumentEditorViewController
. (#18451) - Fixed
Fixes an issue in the Security/Permissions screen where the toolbar buttons changed prematurely. (#18261)
- Fixed
Fixes an issue in the document editor where adding a new page after reordering pages would undo the reordering. (#18492)
- Fixed
Fixes an issue that prevented tapping buttons on the document editor toolbar after long-pressing the thumbnail of a single page document. (#18181)
- Fixed
Fixes an issue where the size of the generated image for sharing changed according to the scale of the device screen. (#18217)
- Fixed
Fixes an issue where the swipe to delete action in the annotations list only worked for the first entry. (#18207)
- Fixed
Fixes an issue where unsaved Free Text annotations did not render correctly after rotation of a page. (#18179)
- Fixed
Fixes an issue that prevented the UI for sharing documents from being presented. (#18039)
- Fixed
Fixes a potential exception when dismissing the document info popover. (#18215)
- Fixed
Fixes an exception when calculating the tab bar index with a width of zero. (#18227)
PSPDFKit
- Added
Adds a unique identifier
uuid
toPSPDFAnnotation
. (#17635) - Changed
Improves error reporting when creating an image for a page of a document fails. (#18212)
- Fixed
Fixes an issue when invalid Image Documents are read back. (#18110)
- Fixed
Fixes an issue where the redaction of a monochrome image may change its color unexpectedly. (#18176)
- Fixed
Fixes an issue with some documents using large amounts of memory when searching and navigating. (#18118)
8.1.2 - 20 Dec 2018
PSPDFKitUI
- Added
Adds
-[PSPDFDocumentSharingViewControllerDelegate documentSharingViewController:shouldShareFiles:toDestination:]
to be able to halt the sharing process in case you want to handle the generated files yourself. (#17957) - Fixed
Fixes a rare exception when doing programmatic scrolling on iOS 10. (#18048)
- Fixed
Fixes an assertion when the page view is about to be reused, but tries to finalize displaying the multimedia gallery. (#18060)
- Fixed
Fixes an exception when trying to invoke share in the web view controller, when no URL is set. (#18026)
- Fixed
Fixes an issue where
PSPDFDrawView
could not be subclassed and overridden. (#18157) - Fixed
Fixes an issue where drawing strokes might have been offset when resizing the app or rotating the device. (#17320)
- Fixed
Fixes an issue where drawings could be offset from the actual touch location on very tall or wide pages. (#17769)
- Fixed
Fixes an issue where the values for
overlayText
andrepeatOverlayText
were not persisted in the Redaction Annotation Inspector. (#17694) - Fixed
Fixes an issue where video preview generation could cause the main thread to stutter. (#17802)
- Fixed
Fixes an issue with closing a tab via the close button and a keyboard shortcut at the same time. (#18104)
- Fixed
Fixes an issue with image cropping when the image is invalid. (#18103)
PSPDFKit
- Changed
Improves file asset handling for invalid PDF documents. (#18102)
- Changed
Improves handling of invalid documents when enqueueing them in
PSPDFLibrary
. (#18106) - Changed
Improves handling of malformed documents when parsing the extended graphics state. (#18057)
- Changed
Improves the API documentation for
PSPDFUsernameHelper
andPSPDFDocument.defaultAnnotationUsername
. (#18031) - Changed
Improves thread handling and exiting when an app termination event is detected. (#18044)
- Changed
Improve app termination handling when background library indexing operations are in flight. (#18056)
- Fixed
Fixes a crash parsing text on a very small number of documents. (#18032)
- Fixed
Fixes an assertion that might be triggered on document deallocation when the undo controller hasn’t been cleaned up yet. (#18062)
- Fixed
Fixes an issue where
PSPDFLibrary
would return incorrect results when searching within documents that contained Unicode surrogate pairs (like Emoji) in their text. (#3292) - Fixed
Fixes an issue where redacting certain kinds of vector graphics may incorrectly redact part of the background. (#18071)
- Fixed
Fixes an issue where redacting certain kinds of vector graphics may result in a lot of memory consumption. (#18065)
- Fixed
Fixes an issue where the JavaScript method Doc.print may not work correctly. (#18111)
- Fixed
Fixes an issue where the signature overlay may show incorrect text in non-Western languages. (#17918)
- Fixed
Fixes an issue with file change tracking that could trigger to multiple conflict resolution messages or a document reload loop. (#18090, #18133)
- Fixed
Fixes some visualization issues with markup annotations, specially on rotated pages. (#12927, #13162, #17713, #17889, #18002, #18024)
8.1.1 - 7 Dec 2018
PSPDFKitUI
- Added
Adds support for unlocking an encrypted document when screen mirroring, as soon as the document is unlocked on the device. (#17990)
- Changed
Makes the draw gesture recognizer resilient against an unexpected number of touches. (#18005)
- Fixed
Fixes a crash that could occur after deleting pages in the document editor. (#17987)
- Fixed
Fixes a potential exception when restoring view state for the document editor, before it is loaded. (#17984)
- Fixed
Fixes an exception that might occur when the document editor loads images in the background while the user removes pages from the document. (#17985)
- Fixed
Fixes an incorrect license check assertion that could be triggered when transitioning between the document and thumbnail view modes. (#17994)
- Fixed
Fixes an issue causing an infinite recursion when unlocking an encrypted document with screen mirroring enabled. (#17990)
PSPDFKit
- Changed
Improves strikeout annotation rendering, by making the line a little bit thicker and the baseline a little bit below the vertical center. (#17889)
- Fixed
Fixes a rare exception when deallocating undoable objects in multiple threads. (#17983)
8.1.0 - 6 Dec 2018
See the announcement post.
PSPDFKitUI
- Removed
Deprecates the
PSPDFPageView
methodsconvertViewPointToPDFPoint:
,convertPDFPointToViewPoint:
,convertViewRectToPDFRect:
, andconvertPDFRectToViewRect:
in favor of the clearer and more versatilepdfCoordinateSpace
property. (#12053) - Removed
Deprecates
PSPDFAnnotationStateManager.drawingInputMode
. Set thestate
toPSPDFAnnotationStringEraser
instead. (#17458) - Added
Adds
-scrollsToPageAtIndex:document:animated
to thePSPDFViewModePresenter
protocol. (#15136) - Added
Adds
allowEditing
,rightActionButtonItems
,leftActionButtonItems
toPSPDFDocumentInfoViewController
andPSPDFDocumentSecurityViewController
to allow customizing the interface. (#16429) - Added
Adds
visiblePageIndexes
property toPSPDFViewModePresenter
. (#15136) - Added
Adds a Cancel button to discard changes in
PSPDFDocumentInfoViewController
andPSPDFDocumentSecurityViewController
. (#16790) - Added
Adds a
PSPDFConfiguration
option,shouldAdjustDocumentInsetsByIncludingHomeIndicatorSafeAreaInsets
, to enable the document view to ignore the home indicator when calculating safe area insets. (#17849) - Added
Adds a
pdfCoordinateSpace
property onPSPDFPageView
as the new preferred way to convert between PDF page and view coordinates. (#12053) - Added
Adds a default conflict resolution UI to
PSPDFViewController
,PSPDFMultiDocumentViewController
andPSPDFTabbedViewController
via a newPSPDFConflictResolutionManager
class. (#13367) - Added
Adds support for all three possible double-tap actions from the second-generation Apple Pencil (
UIPencilInteraction
). (#17458) - Added
Adds support for redacting more elements, like images, paths, annotations and forms. (#17002)
- Added
Adds the ability to share multiple pages of a document as images. (#17020)
- Added
Adds a
pencilInteraction
property andannotationStateManagerDidRequestShowingColorPalette:
delegate method onPSPDFAnnotationStateManager
to customize Apple Pencil double-tap actions. (#17458) - Changed
Improves flexible toolbar behavior, by disabling user interaction on its
contentView
while dragging it, to not cause UI glitches in case a button tap would present UI. (#17714) - Changed
Improves performance when scrolling in the thumbnail list, especially for complex documents. (#17337)
- Changed
Improves the Document Editor experience on iPhones. (#17613)
- Changed
Improves the descriptions for errors that happen when sharing documents. (#17774)
- Changed
Improves the experience on the Document Editor when reordering pages. (#17838)
- Changed
Improves the page selection experience when sharing multiple documents at once. (#17138)
- Changed
Improves the screen mirroring experience and now properly syncs the configuration between the original and the mirrored view controller. (#17484)
- Changed
Improves the sharing experience for documents that don’t have annotations. (#17220)
- Changed
Prevents the annotation toolbar from being visible if the document is invalid after calling
-[PSPDFViewController reloadData]
. (#17624) - Changed
Removing a page on
PSPDFDocumentEditorViewController
no longer briefly displays a random number as the page number. (#17727) - Changed
Switching between the Thumbnails view and the Document Editor now preserves the position of the current page instead of scrolling to the first page. (#15136)
- Changed
PSPDFDocumentSharingViewController
now correctly calls-[PSPDFViewControllerDelegate pdfViewController:shouldSaveDocument:withOptions:]
when sharing a document. (#16488) - Fixed
Fixes a potential exception when calculating collection view scroll offsets on iOS 10. (#17962)
- Fixed
Fixes an issue when deleting pages in some documents on
PSPDFDocumentEditorViewController
. (#17762) - Fixed
Fixes an issue when sharing PDF documents as images. (#17686)
- Fixed
Fixes an issue when sharing single-page documents using certain sharing configurations. (#17705)
- Fixed
Fixes an issue where text markup and redaction selection could mark up whole images. (#17360)
- Fixed
Fixes an issue where the document info and security UI disabled editing for encrypted documents. (#17271)
- Fixed
Fixes an issue where the multi-annotation selection tool started recognizing the pan gesture only after a long swipe when zoomed into the page a lot. (#17565)
PSPDFKit
- API
The distinction between standard stamps and custom text stamps has been clarified with the following deprecations and replacements. If you previously used the stamp
subject
consider whether you want a standard or custom text stamp. For standard stamps,subject
has been deprecated in favor ofstampType
and the value of this property should usually be one of the values defined by the newPSPDFStampType
string enum. PSPDFKit will provide the localized title for standard stamps.localizedSubject
has been deprecated in favor oftitle
. Set thetitle
instead ofstampType
for custom text stamps, where you provide a title that has already been localized or user-generated.subtext
has been deprecated in favor ofsubtitle
. (#15895) - API
-[PSPDFAnnotationSummarizer temporaryPDFFileURLForPages:completionBlock:]
is now only available on iOS. (#17109) - Added
Adds a custom tokenizer (
PSPDFLibraryUnicodeTokenizerName
) that performs full Unicode case folding on the input text. (#16219) - Added
Adds better support for annotations with custom appearance streams. (#15658)
- Added
Adds progress reporting and cancellation support to
PSPDFAnnotationSummarizer
. (#17749) - Added
Adds support for conflict resolution options to
PSPDFCoordinatedFileDataProvider
andPSPDFDocument
. This is achieved by levering APFS to create a lightweight file copy used for safe reading and potential later restoration. (#13367) - Added
Adds support for page bookmarks in compound documents. (#11008)
- Changed
Improves compatibility with forms on malformed PDFs. (#17707)
- Changed
Improves document features to reflect the current state of the document, by automatically updating them once an encrypted document has been unlocked. (#17271)
- Changed
Improves error handling when saving a document fails. (#17685)
- Changed
Improves performance on initializing a data provider. (#17897)
- Changed
Improves tracking of external file changes. (#17946)
- Changed
Changes the type of the keys of
PSPDFDocumentPDFMetadata
toPSPDFMetadataName
. (#16790) - Changed
Log message sent from our render core can now be intercepted with the log handler. (#17732)
- Changed
PSPDFDocumentXMPMetadata
andPSPDFDocumentPDFMetadata
now have failable document initializers and simply return nil if a document is not valid. (#17736) - Changed
PSPDFUndoController
now checks if an undo/redo operation can be performed and fails gracefully, instead of throwing an exception when undo/redo is called on an empty stack. (#17921) - Removed
Removes zooming in on search results on iPads. (#17260)
- Changed
The disk cache is now invalidated when a device locale change is detected. (#17919)
- Changed
The redaction feature now deletes annotations and form fields that intersect with a redaction annotation. (#17390)
- Changed
PSPDFAnnotationSummarizer
no longer returns a nullable on its initializer. (#17109) - Fixed
Fixes a potential race condition when changing annotation properties from multiple threads at the same time. (#17690)
- Fixed
Fixes a problem where some text in a PDF document may be redacted incorrectly. (#17699)
- Fixed
Fixes an issue applying redactions on encrypted documents. (#17722)
- Fixed
Fixes an issue looking up destinations in a names tree. This could lead to unresolvable link/outline destination. (#17206)
- Fixed
Fixes an issue opening certain documents with invalid IRT fields. (#17797)
- Fixed
Fixes an issue that may happen after copying a page using the document editor. (#17825)
- Fixed
Fixes an issue when using
PSPDFAppearanceCharacteristics
without an image. (Z#11409) - Fixed
Fixes an issue where XMP metadata was corrupted when saving password protected documents. This enables saving bookmarks into password protected documents. (#17238)
- Fixed
Fixes an issue where changing the button caption property of a button from JavaScript code may not change the button appearance. (#17719)
- Fixed
Fixes an issue where editing a form field in the middle may incorrectly move the cursor to the end. (#17926)
- Fixed
Fixes an issue where keystroke range replacements were not caught by Javascript correctly. (#17106)
- Fixed
Fixes an issue where some PDF documents may show an indefinite spinner and not render correctly. (#17446)
- Fixed
Fixes an issue where the Javascript VM init sequence prevented errors from bubbling up to the user. (#17745)
- Fixed
Fixes an issue where the overlay text of a redaction may not be in the correct place in some cases. (#17695)
- Fixed
Fixes an issue where the wrong message is return when a certificate is expired. (#16727)
- Fixed
Fixes an issue with importing/exporting vector stamps with InstantJSON. (#16690)
- Fixed
Fixes issues when importing annotations on rotated pages using InstantJSON. (#17814)
Instant
- Added
Adds support for the Magic Ink tool. (#17362)
Examples
- Added
Adds a PSPDFKit Catalog example illustrating how to search and redact text. (#17755)
- Added
Adds a PSPDFKit Catalog example illustrating how to write and attach Instant JSON binary data. (#17778)
- Added
Adds an example on how to create a custom UI to enter a name for a bookmark when adding one. (#17886)
8.0.4 - 28 Nov 2018
PSPDFKitUI
- Changed
Improves handling of annotations with invalid bounding boxes. (#17731)
- Fixed
Fixes an issue with presenting annotation filtering progress during concurrent annotation edits. (#17730)
- Fixed
Fixes an issue with the annotation toolbar and sub menus. (#17716)
PSPDFKit
- Changed
Improves error handling in the text parser for corrupted PDF documents. (#17735)
- Changed
Improves handling of embedded assets in annotations. (#17717)
- Changed
Background library index tasks are now correctly stopped when an application will terminate event is sent. (#17733)
- Changed
Improve NSCoder error handling support for
PSPDFDataContainerProvider
. (#17734) - Fixed
Fixes a potential issue when rendering images. (#17737)
- Fixed
Fixes an issue where
PSPDFImageDocument
’s data provider would reference invalid memory. (#17763) - Fixed
Fixes an issue where text could not be selected in certain documents. (#17759)
- Fixed
Fixes an issue where text for highlighted annotations sometimes didn’t include newline character. (#17595)
- Fixed
Fixes an occasional issue when rendering text. (#17747)
- Fixed
Fixes the
PSPDFAnnotation
APIhasBinaryInstantJSONAttachment
andwriteBinaryInstantJSONAttachmentToDataSink:error:
returning incorrect values in certain situations. (Z#11192) - Fixed
Fixes an issue where underline annotations may not work correctly on rotated pages. (#14252)
Instant
- Fixed
Fixes an issue where attempting to sync an invalid document could lead to an assertion failure. (#17817)
- Fixed
Fixes an issue where image attachments with a more specific MIME-type were rejected as invalid server data. (#17790)
- Fixed
Fixes an issue where incomplete image transfers would lead to missing images and possibly a flood of sync requests. (#17788)
- Fixed
Fixes an issue where the concurrently finishing downloads of image attachments could have lead to a crash or data loss. (#17807)
8.0.3 - 15 Nov 2018
PSPDFKitUI
- Changed
Improves handling of cell layout when parent frame has a size of zero. (#17622)
- Changed
Improves text selection handle behavior in documents with vertical or rotated text. (#14252)
- Fixed
Fixes an issue when switching the annotation tool while selecting text with a markup annotation tool. (#17623)
- Fixed
Fixes an issue where undo could remove an annotation from a previous document. (#17620)
- Fixed
Fixes an issue with selecting a polyline or polygon annotation with the finger, while currently being created with an Apple Pencil. (#17625)
PSPDFKit
- Changed
Improves text selection for documents with rotated pages. (#14252)
- Fixed
Fixes a crash that may happen when trying to generate the appearance stream of a push button. (#17627)
- Fixed
Fixes a potential issue when converting magic ink annotations. (#17618)
- Fixed
Fixes a potential issue when rendering certain PDF documents with note annotations. (#17617)
- Fixed
Fixes an issue in handling documents with partially invalid pages. (#17621)
- Fixed
Fixes an issue with unexpected state when clearing the annotation selection for specific configurations. (#17619)
8.0.2 - 9 Nov 2018
PSPDFKitUI
- Added
Adds support for the new iPad Pros. (#17522)
- Added
Adds
allowEditing
,rightActionButtonItems
,leftActionButtonItems
toPSPDFBookmarkViewController
to allow customize the interface. (#16429) - Changed
Improves annotation deselection behavior when creating new annotations or navigating between pages. (V#1832)
- Changed
Improves annotations list styling while editing. (#17434)
- Changed
Improves customization options of
PSPDFDocumentInfoCoordinator
. (#16429) - Fixed
Fixes an animation glitch with the toolbar in the document info and document security UI. (#17437)
- Fixed
Fixes missing search on annotations list view controller. (#17482)
PSPDFKit
- Added
Adds support for
util.scand
, a JavaScript API that can be used from PDF documents to parse dates from strings. (#17480) - Changed
Improves performance while entering text using a non-latin font into form fields. (#17593)
- Changed
Adjust default values of
PSPDFLibrary
cooldown timer for iOS 12.0 and higher. (#17441) - Changed
Changes the format of the
InstantJSON
bookmark format. The id is now saved inpdfBookmarkId
andskippedBookmarkIds
has been renamed toskippedPdfBookmarkIds
. (#17400) - Fixed
Fixed an issue where the wrong encoding was used for the
Symbol
font. (#17245) - Fixed
Fixes a crash that could occur if an annotation is deleted while a checkpoint is being saved. (#17408)
- Fixed
Fixes a crash that may happen when you add form fields with certain kinds of JavaScript scripts. (#17472)
- Fixed
Fixes an issue where JavaScript dependent calculations may not be executed after a syntax error. (#17025)
- Fixed
Fixes an issue where JavaScript form field validation erroneously used the previous value. (#16462)
- Fixed
Fixes an issue where redacting content in some documents may show validation issues in third party readers. (#17486)
- Fixed
Fixes an issue where rotating a page after adding a note annotation would crash without saving the document prior to rotation. (#17473)
- Fixed
Fixes duplicate annotations when using
PSPDFXFDFAnnotationProvider
together withPSPDFFileAnnotationProvider
. (#17526) - Fixed
Fixes an issue inserting Emoji, Arabic or East Asian text in form fields. (#17574)
Instant
- Fixed
Fixes an issue where incoming changes in the middle of editing the text of a freetext annotation would lead to an assertion failure. (#17377)
Examples
- Added
Adds a PSPDFKit Catalog example illustrating how to convert HTML to PDF with Swift. (#17536)
- Added
Adds a PSPDFKit Catalog example illustrating how to programmatically create a push button form field with a custom image. (#17569)
- Added
Adds the Calculator.pdf JavaScript demo to the Catalog. This example showcases a calculator application implemented completely inside a PDF using JavaScript. (#17547)
8.0.1 - 25 Oct 2018
PSPDFKitUI
- Changed
Improves presentation experience by changing pages without animation when external keyboard is used. (#17346)
- Changed
Improves scrolling performance for very complex documents when zoomed in. (#16655)
- Changed
Changes the fill color set for redaction annotation which now does not include the unsupported clear color option. (#17261)
- Changed
Magic Ink tool now does not convert the detected shape to its corresponding shape annotation if the creation of the detected shape annotation type is not added to the
edtableAnnotationTypes
property of thePSPDFConfiguration
object. (#17241) - Fixed
Fixes a crash when using page curl transition and automatic page mode, during resizing the app in Split View. (#17323)
- Fixed
Fixes a potential crash when having a filter selected in
PSPDFThumbnailViewController
. (#17325) - Fixed
Fixes an issue where tapping on undo while drawing a polygon shape or line annotation lead to a crash. (#17296)
- Fixed
Fixes an issue where the
PSPDFScrubberBar
displayed the wrong thumbnail if the document hadn’t completed rendering and also when replacing the document. (#9387, #17135) - Fixed
Fixes an issue where the page rendering indicator was not animated and positioned properly. (#8524)
- Fixed
Fixes creation of overlapping markup annotations. (#17316)
- Fixed
Fixes height of the search view controller to show all available results when possible. (#17254)
- Fixed
Fixes height of the search view controller when no matches are found. (#17254)
PSPDFKit
- Added
Adds -[PSPDFNamedAction initWithNamedActionType:] as alternative initializer. (#17311)
- Changed
Improves a free text annotation compatibility with Adobe Acrobat and other PDF readers. (#15095)
- Changed
Improves support for
NSSecureCoding
inPSPDFDocument
. (#17273) - Changed
Improve magic ink’s detection of lines and arrows. (#17339)
- Fixed
Fixes an issue rendering certain documents with complex clip paths. (#16683, #17267)
Instant
- Added
Adds support for shape annotations. (#17239, #17263, Z#10922)
- Fixed
Fixes a bug that deleted all local layers of a document instead of just the layer backing a document descriptor. (#17264)
- Fixed
Fixes a deadlock that could occur when deleting a layer or all loaded data. (#17257)
- Fixed
Fixes an issue that could cause open file descriptors to be leaked when deleting the local data for a layer, document, or the entire Instant client. (#17303)
- Fixed
Fixes an issue where remote deletion of the last annotation on a page would not correctly update the display. (#17062)
8.0.0 - 17 Oct 2018
See the announcement post.
This release features two new components - Redaction and Comparison. If you would like to add either to your license, ping our sales team to receive a quote.
Below is a summary of the API changes in this release. For a full list, with our suggested migration strategy for each API that has been changed or removed, please see the migration guide.
- API
Removes all deprecated API. For a full list with suggested migration paths, see the migration guide. (#16157)
PSPDFKitUI
- API
The flow for sharing documents has been revamped to allow the user to first decide what options to apply to the sharing documents and then sharing to a given destination; this change normalizes the sharing experience across PSPDFKit. Please refer the migration guide if you did anything related to sharing, such as overriding
PSPDFDocumentSharingViewController
, or usingPSPDFDocumentSharingCoordinator
or it’s subclasses. (#16453) - API
Changes the return type of
PSPDFPageView
’sshowNoteControllerForAnnotation:animated:
fromPSPDFNoteAnnotationViewController
tovoid
to make it clearer this can show custom UI. If you need the view controller being presented, usepdfViewController:didShowController:options:animated:
. (Z#10488) - API
Removes incorrect usage of
UI_APPEARANCE_SELECTOR
onPSPDFLinkAnnotationView
and improves the documentation for that class. (#16689) - API
Resolves incorrect type usage and improves type safety on
PSPDFConfiguration.propertiesForAnnotations
and related APIs, with the introduction of a new extensible enum -PSPDFAnnotationStyleKey
. (#16501) - API
Removes
PSPDFScrubberBar.isSmallToolbar
since the scrubber bar can have multiple sizes now. OverridescrubberBarHeight
to change its size. (#16017) - API
Removes
PSPDFFlexibleToolbarHeight
,PSPDFFlexibleToolbarHeightCompact
, andPSPDFFlexibleToolbarTopAttachedExtensionHeight
since the flexible toolbar can now have different sizes. (#16017) - API
Renames
PSPDFAnnotationStringRedact
toPSPDFAnnotationStringRedaction
, andPSPDFAnnotationTypeRedact
toPSPDFAnnotationTypeRedaction
. (#2127) - API
Renames
PSPDFBackButtonStyle
toPSPDFButtonStyle
. (#2127) - API
Changes
PSPDFDocumentPermissionsLevel
,PSPDFFormFieldType
, andPSPDFSubmitFormActionFormat
fromNS_OPTIONS
toNS_ENUM
. (#16863) - API
Renames
PSPDFSignatureBiometricPropertiesOptionPressue
toPSPDFSignatureBiometricPropertiesOptionPressure
. (#16863) - Added
Adds
PSPDFConfiguration.documentViewLayoutDirectionalLock
so that the scrolling direction can be locked on the document view. (#16687) - Added
Adds
magicInkReplacementThreshold
toPSPDFConfiguration
. Adjust this property to change the shape detection strictness. (#16839) - Added
Adds
redactionInfoButton
to the user interface view, that is shown when there are uncommitted redaction annotations in the document. This button can be disabled viaPSPDFConfiguration.shouldShowRedactionInfoButton
. (#2127) - Added
Adds a new ‘Spread Fitting’ setting to
PSPDFSettingsViewController
. (#15724) - Added
Adds a new Magic Ink tool that recognizes drawn shapes and converts them to shape annotations. This tool is defined as a new variant of the Ink tool:
PSPDFAnnotationVariantStringInkMagic
. (#3923) - Added
Adds a new
ink_highlighter
image for use with the Highlighter variant of the Ink tool. (#16839) - Added
Adds a section separator to the settings UI. (#16261)
- Added
Adds accessibility labels to the note annotation style view. (#11808)
- Added
Adds support for creating redaction annotations from the annotation toolbar and from the text selection menu. (#2127)
- Added
Adds support for the
CMD-W
command to close a document tab onPSPDFTabbedViewController
. (#16088) - Changed
Improves how the document configuration applies to the visible document by avoiding unnecessary reload. (#16486)
- Changed
Improves state restoration after rotation on
PSPDFThumbnailViewController
. (#16973) - Changed
Improves support for Dynamic Type and self-sizing cells in table views. (#16024)
- Changed
Improves support for following readable width for various table views and cells. (#16013)
- Changed
Improves the playback experience of sound annotations while interacting with documents. (#16422)
- Changed
Improves the rendering support of push buttons. (#16507)
- Changed
Improves the undoing experience for items dropped into
PSPDFDocumentEditorViewController
from other applications via Drag and Drop. (#16048) - Changed
Changes how the presets cell title is displayed in the annotation inspector. (#16674)
- Changed
Changes the flexible toolbar width to 50 points on iPads on iOS 12, to match the system behavior. (#16017)
- Changed
Image Documents now offer smarter defaults for the settings controller. (#16135)
- Changed
Introduces
PSPDFStyleButton
, that is used for the back/forward and redaction info button in the user interface view. (#2127) - Changed
Prevents the menu controller from being displayed when a markup annotation is created using a markup tool. (#16650)
- Changed
Readonly form fields are now tappable and execute actions/additionalActions. (#16865)
- Changed
Shows an alert with a usage description the first time the redaction feature is used. (#2127)
- Changed
The left/right edge tap navigation (
scrollOnTapPageEndEnabled
) now no longer applies in vertical scrolling configurations. (#16530) - Changed
The menu for selected text and selected images now features a Share item. The ‘Save to Camera Roll’ menu on images has been removed, as Share includes this as potential action. We added
PSPDFTextSelectionMenuActionShare
to control this. (#16141) - Fixed
Fixes a crash that could occur when quickly changing the document presentation options. (#16659)
- Fixed
Fixes a logic issue that prevented the highlight annotation type menu from being displayed on some configurations. (#16884)
- Fixed
Fixes a potential UI access on the main thread from
PSPDFDrawView
. (#16414) - Fixed
Fixes a hang of the main thread when certain progress views were updated in an unforeseen manner. (#17147)
- Fixed
Fixes an infinite loop when adjusting the document size after a device rotation. (#16579)
- Fixed
Fixes an issue that could prevent the annotation toolbar from showing, if it was invoked when the user interface was hidden. (Z#10094)
- Fixed
Fixes an issue that could result in an incorrect jump to page behavior in documents with varying page sizes viewed in continuous scrolling mode. (#16627)
- Fixed
Fixes an issue where custom render options using
PSPDFAppearanceModeManager
were not applied whenPSPDFViewController
is initialized with a document. (#16728) - Fixed
Fixes displayed page not updating when changing tabs in page curl mode. (#16788)
- Fixed
Fixes an issue where drawn layers disappeared if the app is backgrounded. (#16795)
- Fixed
Fixes an issue where hidden annotations could temporary become visible during erasing. (#16750)
- Fixed
Fixes an issue where rotating the device while
PSPDFThumbnailViewController
was visible, could have resulted in thumbnails disappearing. (#15527, #16678) - Fixed
Fixes an issue where section footers were sometimes sized incorrectly. (#16146)
- Fixed
Fixes an issue where the close button would disappear when changing segment in the document outline after changing from regular to compact width. (#15910)
- Fixed
Fixes an issue where the color change animation for note annotations on iOS 10 didn’t sync properly. (#16752)
- Fixed
Fixes an issue where the selected text overlay would be misplaced on rotation. (#17139)
- Fixed
Fixes an issue where zooming to a page index might display that page partially off-screen when using continuous page transition. (#16967)
- Fixed
Fixes an where deleting all annotations in list animated the cells to the top right corner. (#16696)
- Fixed
Fixes changes to
PSPDFNoteAnnotationViewController
’sshowColorAndIconOptions
property not being applied immediately while the view is visible. (Z#10487) - Fixed
Fixes page view size when tab bar is visible. (#16474)
- Fixed
Fixes secure unarchiving of
PSPDFViewState
not working. (#16850)
PSPDFKit
- API
PSPDFKit now uses a standardized coordinate system where the page origin is always in the lower-left corner as the page appears on screen. The simplifies interaction with pages that have a rotation or cropbox set in the PDF. Please see the migration guide if you did anything in PDF coordinates or page coordinates, such as reading or writing annotation or glyph positions, or using
PSPDFViewState
. (#15890) - API
Instant JSON binary attachment APIs now take and return a
mime-type
. (#16039) - API
Removes
PSPDFPageInfo
’srect
,rotatedRect
, androtationTransform
. They have been replaced bysize
andtransform
. (#15890) - API
Separates
PSPDFPageInfo
’srotation
property intosavedRotation
androtationOffset
. (#15890) - API
Removes the
externalSignatureDelegate
property ofPSPDFSigner
. Use thedelegate
property instead, as it’s intended to be more flexible. (#15853) - API
Removes the synchronous signing methods in
PSPDFSigner
. It’s more preferred to use the ones that are based on setting a customdataSource
ordelegate
, as they offer more flexibility. (#15853) - API
Changes the parameters of the conversion functions between view and PDF coordinate spaces. (#15890)
- Added
Adds API support for resetting form fields to the
PSPDFFormParser
. (#16808) - Added
Adds API to
PSPDFProcessorConfiguration
to apply redaction annotations. (#2127) - Added
Adds Comparison features. Adds
changeStrokeColorOnPageAtIndex:toColor:
, andmergePageFromDocument:password:sourcePageIndex:destinationPageIndex:transform:blendMode:
toPSPDFProcessorConfiguration
. (#16396) - Added
Adds
PSPDFAdditionalFontDirectories
option to configure additional font directories. (#13991) - Added
Adds
PSPDFDocumentSaveOptionApplyRedactions
to apply redactions when saving the document. (#2127) - Added
Adds
PSPDFSignerDataSource
andPSPDFSignerDelegate
to be able to add digital signatures to documents asynchronously. (#15853) - Added
Adds
maximumContiguousIndexingTime
andautomaticPauseDuration
toPSPDFLibrary
to configure the automatic pause. (#17026) - Added
Adds
outlineColor
toPSPDFAnnotationStateManager
, andPSPDFAnnotationStyleKeyOutlineColor
as a new annotation style key, to allow setting the outline color of redaction annotations. (#2127) - Added
Adds a configurable
privateKey
property toPSPDFSigner
. For convenience, this property is already set for you if you use the most commonPSPDFSigner
subclass,PSPDFPKCS12Signer
, as soon as you unlock the .p12 bundle. (#15853) - Added
Adds a new render option,
PSPDFRenderOptionDrawRedactionsAsRedacted
, to draw redactions in their redacted state. (#2127) - Added
Adds model-level support for redaction annotations via the new
PSPDFRedactionAnnotation
class. (#2127) - Added
Adds the ability to compare document pages via
PSPDFProcessorConfiguration
. Requires the PDF Comparison feature to be enabled in your license. (#16396) - Added
Adds support for bookmarks to Instant Document JSON. (#16165)
- Changed
Improves the performance of documents with a lot of JavaScript calculations. (#11925, #16490)
- Changed
Renames
PSPDFMarkupAnnotation
toPSPDFTextMarkupAnnotation
, and itshighlightedString
property tomarkedUpString
. (#16652) - Fixed
Fixes a bug where the reason or location of a digital signature may not be persisted in the document correctly. (#15853)
- Fixed
Fixes a potential deadlock during document (re-)initialization. (#15005)
- Fixed
Fixes a race condition that could result in an incorrect page count when using documentByAppendingDataProviders:. (#16994)
- Fixed
Fixes a render rounding issue that may happen in PDF documents with a displaced cropbox. (#15169)
- Fixed
Fixes an issue that caused problems saving new annotations in particular documents. (#16717)
- Fixed
Fixes an issue when extracting link annotations. (#16854)
- Fixed
Fixes an issue where JavaScript scripts that hold a strong local reference to event.target may not work correctly. (#16507)
- Fixed
Fixes an issue where documents with a large number of form fields failed to display editing options. (#16911)
- Fixed
Fixes an issue where form elements were not correctly updated. (#16408)
- Fixed
Fixes an issue where importing images in push buttons via JavaScript may add an annotation in some cases. (#16751)
- Fixed
Fixes an issue where not all form fields were listable immediately after opening a document. (#16479)
- Fixed
Fixes an issue where some PDF pages could not be inserted as attachments for images. (#16729)
- Fixed
Fixes an issue where some document outlines may not be persisted correctly after using the document processor. (#16688)
- Fixed
Fixes an issue where some documents with JavaScript may be unresponsive for a great amount of time. (#16886)
- Fixed
Fixes an issue where the blend mode of ink annotations may not be persisted correctly. (#16376)
- Fixed
Fixes an issue where the system sound recorder could invoke messages on already deallocated delegates after recording a sound annotation. (#16743)
- Fixed
Fixes an issue with JPEG2000 images. (#14850)
- Fixed
Fixes an issue with document checkpointing after saving fails. (#16600)
- Fixed
Fixes an issue with free text annotations reducing render quality after moving them around many times. (#16329)
- Fixed
Fixes an locking issue that could result in a deadlock while saving document editor changes. (#16980)
- Fixed
Fixes annotations created from Instant JSON being offset from their correct position in documents with non-uniform page sizes. (#16802, Z#10493)
- Fixed
Fixes a performance problem with documents that contain large clipping paths. (#16481)
- Fixed
Fixes a problem applying Instant Document JSON. (#16004)
- Fixed
Fixes a problem rendering documents with particular fonts. (#16361)
- Fixed
Fixes an issue where the selection indices may not be set correctly during JavaScript keystroke validation. (#17199)
Instant
- Added
Adds support for image annotations. (#11957)
- Added
Adds the ability edit link annotations in
PSPDFInstantViewController
viaeditableAnnotationTypes
. (#16665) - Added
Add handling of
editableAnnotationTypes
inPSPDFInstantViewController
. (#16139, Z#9855)
Examples
- Added
Adds PSPDFKit Catalog example illustrating how to blur specific pages in a document. (#16702)
- Added
Adds a PSPDFKit Catalog example illustrating how to disable auto saving and ask for permission for saving the document while exiting. (#16456)
- Added
Adds an example showcasing how to enforce a fixed style for link annotations. (#16689)
- Added
Adds support for opening files in place to the Catalog example. (#16497)
- Added
Adds a PSPDFKit Catalog example showing show to replace
PSPDFNoteAnnotationViewController
with custom UI. (Z#10488) - Changed
Changes the page rotation examples’ title and description for better distinction.
PSCRotatePageExample.m
changes the orientation of the pages and saves it to the PDF making them permanent whileRotatePageExample.swift
rotates the pages of the document temporarily only for that opened instance. (#16996) - Fixed
Fixes an issue where documents did not open properly in the “Open In” example. (#16616)
7.7.2 - 23 Aug 2018
PSPDFKitUI
- Fixed
Fixes an issue where iOS 12 could throw an exception inside
-[UIAccessibilityInformationLoader _loadAccessibilityInformationOnMainThread:]
. (#16489) - Fixed
Fixes an issue where a reused outline cell could have a custom text color set. (#16355)
- Fixed
Fixes an issue where newly created annotations could have an incorrect fill color assigned in rare cases. (#16562)
Examples
- Added
Adds a PSPDFKit Catalog example illustrating how create free text annotations continuously. (#15825)
7.7.1 - 9 Aug 2018
PSPDFKitUI
- Added
Adds the selection tool to the default image configuration options. (#16109)
- Added
Adds a new
markupAnnotationMergeBehavior
configuration option. (#16425) - Changed
Improves form element behavior when the form field has scrolling disabled. (#13239)
- Changed
Improves top content inset calculations to cover more presentation scenarios. (#16020)
- Changed
Ensures text selection gestures are handled by a single page at a time. (#16374)
- Changed
Form submission actions that have a mailto URL now display the system mail composer with the form in the requested format attached. (#16072)
- Changed
Tapping a search result that changes to a different page now offers a back action to return to the previous page. (#16343)
- Fixed
Fixes
PSPDFDocumentSharingViewController.selectedOptions
not being respected if set before the view controller is presented. (#15832) - Fixed
Fixes Drag and Drop support for
PSPDFDocumentEditorViewController
so that pages are always exported in the correct format if the destination application accepts PDF files. (#16230) - Fixed
Fixes a crash in the inline search manager through better sanitization. (#16226, Z#9937)
- Fixed
Fixes an issue that caused newly added annotations to flicker when switching between drawing tools. (#16128)
- Fixed
Fixes an issue where
PSPDFFontPickerViewController
subclasses did not honor the passedfontFamilyDescriptors
completely. (#16306) - Fixed
Fixes an issue where
selectedPages
was not reset inPSPDFDocumentEditorToolbarController
when setting a newdocumentEditor
and causedselectedPages
to be in an outdated state. (#16213) - Fixed
Fixes an issue where markup annotations were incorrectly created when tapping on an empty space. (#16189)
- Fixed
Fixes an issue where newly created annotations could be inserted into the wrong document when switching tabs. (#16166)
- Fixed
Fixes an issue where the search view controller would sometimes be displayed full-screen without a cancel button instead of being displayed as a popover. (#16378)
- Fixed
Fixes an issue with using the tab bar controller when the document editor component was not licensed. (#16331)
- Fixed
Fixes search results sometimes not being highlighted on page when tapping on a search result that is not on the current page. (#15236)
PSPDFKit
- Added
Adds
-library:didFinishIndexingDocumentWithUID:success:
toPSPDFLibraryDataSource
. (#16185) - Added
Adds
-library:didRemoveDocumentWithUID:
toPSPDFLibraryDataSource
. (#16185) - Added
Adds
PSPDFRotatable
protocol that enables annotations to be rotated. (#16183) - Changed
Annotations that are hidden or have the NoView flag set are no longer part of interactions. (#16344)
- Changed
Clarify requirements for custom
UID
values onPSPDFDocument
. (Z#9936) - Changed
Ensures
PSPDFDocument.title
is updated when the document is unlocked. (V#1599) - Changed
Ensures that
PSPDFLibrary
stops indexing when the application is terminating. (#16212) - Changed
Image documents now correctly report that bookmarks are not supported. (#16138)
- Fixed
Fixes an issue where an assertion is raised when adding an annotation while the underlying file for a
PSPDFDocument
is being changed. (#16276) - Fixed
Fixes
PSPDFDocument.title
not being updated when the title is changed by an instance ofPSPDFDocumentPDFMetadata
. (#16193) - Fixed
Fixes a crash that would occur when trying to edit a document after having duplicated pages. (#16360)
- Fixed
Fixes a race condition during undo registration that could result in a bad memory access. (#16216)
- Fixed
Fixes an issue where
PSPDFLibraryFileSystemDataSource
would remove previously indexed documents when adding a document in explicit mode. (#16185) - Fixed
Fixes an issue where calling JavaScript function AFSpecial_Keystroke with certain arguments may cause an infinite loop in some devices. (#16126)
- Fixed
Fixes an issue where form elements were not detected by
PSPDFDocument
(when usingPSPDFFileAnnotationProvider
). (#16161) - Fixed
Fixes an issue where radio buttons could be unselected. (#16233)
- Fixed
Fixes drawing annotations on rotated pages. (#16183)
- Fixed
Fixes an issue when loading checkpoint files. (#16277)
Examples
- Added
Adds a PSPDFKit Catalog example illustrating how to disable bookmark editing. (#16416)
- Added
Adds a PSPDFKit Catalog example illustrating how to use a custom bookmark cell to disable renaming of bookmarks. (#16358)
7.7.0 - 19 Jul 2018
See the announcement post.
PSPDFKitUI
- API
PSPDFTextMenu
is now an extensible enum string. This changes how Swift imports the strings. (#15789) - Removed
Deprecates
-[PSPDFViewControllerDelegate pdfViewControllerDidChangeControllerState:]
in favor of-[PSPDFViewControllerDelegate pdfViewController:didChangeControllerState:error:]
. (#9087) - Removed
Deprecates
-[PSPDFPageView showSignatureControllerAtRect:withTitle:options:animated:]
. UseshowSignatureControllerAtRect:signatureFormElement:options:animated:
instead. (#15788) - Removed
Deprecates
insertAnnotations:
andinsertAnnotations:forPageAtIndex:inDocument:
onPSPDFPageView
. To know when annotations are inserted, listen forPSPDFAnnotationCreateActionDidInsertNotification
instead. To add annotations, useaddAnnotations:options:
onPSPDFDocument
. Set thepageIndex
on an annotation before adding it to define the page. (#15788) - Removed
Deprecates the filtering API on
PSPDFThumbnailViewController
in favor of a new, more flexible asynchronous API. (#14572) - Removed
Deprecates
showNoteControllerForAnnotation:showKeyboard:animated:
onPSPDFPageView
. UseshowNoteControllerForAnnotation:animated:
instead. (#15788) - Added
Adds Document Info view controller:
PSPDFDocumentInfoViewController
. (#12227) - Added
Adds Document Info view to the outline and annotation list. (#12227)
- Added
Adds Document Security view controller.
PSPDFDocumentSecurityViewController
. (#12227) - Added
Adds Safari Reading List, Copy and Share to the menu shown when long pressing on web links. (#13798)
- Added
Adds
PSPDFAnnotationCreateActionDidInsertNotification
andPSPDFAnnotationCreateActionInsertedAnnotationsKey
to get better timing for newly inserted annotations. (#15788) - Added
Adds
PSPDFDocumentSharingOptionImageWithMetadata
toPSPDFDocumentSharingOptions
, and adds it to the default sharing configurations. This only takes effect when sharingPSPDFImageDocument
s. (#15432) - Added
Adds
PSPDFSegmentImageProviding
protocol implemented by controllers used inPSPDFDocumentInfoCoordinator
, to provide image in place of title. (#13677) - Added
Adds a way to add multiple pages to a document using a specified configuration, via API and user interface. (#13937)
- Added
Adds support for the Info action on documents, which now displays the new document metadata view controller. (#15987)
- Added
Adds the ability to insert new pages at specific indexes with
PSPDFNewPageViewController
. (#13880) - Added
Adds the ability to cut and paste pages when editing a document. (#15754)
- Changed
Improves export flow for image documents. (#15432)
- Changed
Improves page curl to better adapt to documents that don’t match device screen ratio. (#15786)
- Changed
Improves performance during drawing by avoiding unnecessary page re-rendering. (#16032)
- Changed
Improve performance when scrolling page content when zoomed in. (#16029)
- Changed
Pages now use predictive rendering while scroll deceleration is active to improve render performance. (#15542)
- Changed
Replaces title texts with icons in the document info UI. (#13677)
- Changed
Solves flickering on the annotation list for PDF forms. (#14881)
- Changed
The digital signature verification popover now uses a better sizing logic. (#15942)
- Changed
The note editor is now displayed with form presentation mode on an iPhone Plus. (#4488)
- Changed
PSPDFDocumentEditorViewController
now supports importing and exporting images and PDFs from other applications via Drag & Drop in iOS 11 and above. (#15812) - Fixed
Fixes
PSPDFConfiguration.editableAnnotationTypes
not being respected for note annotations. (#15779) - Fixed
Fixes a crash that occurred when rotating in page curl mode. (#15765)
- Fixed
Fixes a crash when using custom page templates on
PSPDFNewPageViewController
. (#15857) - Fixed
Fixes an issue where
PSPDFResizableViewDelegate
methods were not called for customPSPDFResizableView
subclasses. (#15762) - Fixed
Fixes an issue where
PSPDFViewController
would not fully reload when appearing in some uncommon cases. (V#1309, V#1609) - Fixed
Fixes an issue where a page image from a document previously used with
PSPDFViewController
might be shown instead of the page of the current document. (#15932) - Fixed
Fixes an issue where annotations could be displayed mirrored or more than once after drawing. (#15770)
- Fixed
Fixes an issue where changing
PSPDFConfiguration.isFirstPageAlwaysSingle
was not honored after being changed. (#15819) - Fixed
Fixes an issue where newly added image annotations did not respond to touches. (#15667)
- Fixed
Fixes an issue where using buttonImport on forms via JavaScript could break the default image annotation insertion feature. (#15731)
- Fixed
Fixes misalignment of text in
PSPDFNewPageViewController
when presented as full screen. (#15471) - Fixed
Fixes reference cycles in
PSPDFDownloadManager
andPSPDFGalleryViewController
. (#16018) - Fixed
Fixes the “Open In” activity not working when sharing documents using
PSPDFDocumentSharingOptionImage
. (#16028) - Fixed
Fixes the timing for
-[PSPDFDocumentViewControllerDelegate documentViewController:didCleanupSpreadView:forSpreadAtIndex:]
andPSPDFDocumentViewControllerDidCleanupSpreadViewNotification
. They are now correctly dispatched during spread cleanup (reuse) and not when the spreads go offscreen. (#16032)
PSPDFKit
- API
Adds
isUnlockedWithFullAccess
property toPSPDFDocument
. (#12227) - API
Improves type safety of
PSPDFDocumentPDFMetadata
keyed subscript access. (#12227) - API
Introduces dedicated types for annotation variants (
PSPDFAnnotationVariantString
) and state-variant identifiers (PSPDFAnnotationStateVariantID
), and updates all related APIs to correctly consume and vend the new types. (#14238) - Removed
Deprecates
PSPDFDiskCache
’sjpegCompression
in favor ofcompression
. (#14075) - Removed
Deprecates
PSPDFProcessorSkipPDFCreationKey
since it no longer does anything. (#15894) - Removed
Deprecates the rotation property on
PSPDFAnnotation
and adds the same property on the subclassesPSPDFFreeTextAnnotation
andPSPDFStampAnnotation
. (#15894) - Added
Adds
isEncryptedWithUserPassword
,isUnlockedWithFullAccess
,isUnlockedWithUserPassword
properties toPSPDFDocumentProvider
. (#12227) - Added
Adds
permissionsLevel
property toPSPDFDocumentProvider
to indicate access level of opened document. (#12227) - Added
Adds support for JavaScript do not disturb mode. In that mode, if code tries to show an alert message, it will be automatically translated into a console log instead. This is useful in the batch processing of form fields that may have validation scripts attached. You can configure this mode via the
javaScriptStatus
property ofPSPDFDocument
. (#15498) - Added
Adds support for extracting and attaching binary Instant JSON attachments. (#15834)
- Added
Adds support for rendering borders and border colors in link annotations. (#15566)
- Added
Adds image attachments to Instant Document JSON. (#15748)
- Changed
Improves document password support and compatibility with third-party readers. (#15951)
- Changed
Improves the performance of the document searcher, specially in devices with low memory. (#15916)
- Changed
Improves hash call performance for lazily evaluated actions. (#13917)
- Changed
Ensures that the processor always encrypt documents using the 128-bit AES algorithm if the user didn’t change the defaults. (#15946)
- Removed
Removes incorrect
PSPDF_CLASS_AVAILABLE
annotation fromPSPDFDocumentEditorConfiguration
. Subclassing this class is not supported, and has now been marked withPSPDF_CLASS_AVAILABLE_SUBCLASSING_RESTRICTED
. (#15147) - Changed
PSPDFDocumentEditor
now returnsNSProgress
when callingimportPagesTo:fromDocument:withCompletionBlock:queue:
for better status tracking. (#15918) - Fixed
Fixes
PSPDFFile.fileURL
returning an emptyNSURL
when initialized with anil
fileURL
. (#16120) - Fixed
Fixes a crash that could occur after adding an annotation deserialized from Instant JSON. (#14815, Z#9340)
- Fixed
Fixes a problem where a form field may not be automatically formatted in some cases. (#15567)
- Fixed
Fixes a problem where entering text in some form fields with JavaScript validation may not be possible. (#15864)
- Fixed
Fixes a problem where some XFA forms with JavaScript may show an alert message when the document is open. (#16000)
- Fixed
Fixes a race condition that could lead to an assertion failure through improved locking. (#15548)
- Fixed
Fixes a rare issue adding page references with the document editor. (#14705)
- Fixed
Fixes an issue exporting document pages with a rare outline configuration. (#15923)
- Fixed
Fixes an issue where a new digital signature could not be created in some documents. (#15683, #15702)
- Fixed
Fixes an issue where bookmarks may not be saved correctly in certain documents. (#15826)
- Fixed
Fixes an issue where rendering was being incorrectly canceled. (#15685)
- Fixed
Fixes an issue where the library tokenizer was nil after creating the library with
+[PSPDFLibrary libraryWithPath:tokenizer:error:]
. (#15991) - Fixed
Fixes memory leaks that occurred when using
PSPDFProcessor
. (#15767) - Fixed
Fixes serialization and deserialization of the
PSPDFURLAction.unmodifiedURL
URL property. (#13990)
Instant
- Added
Add support for notes on annotations that support them. (#15511)
7.6.2 - 28 Jun 2018
PSPDFKitUI
- Fixed
Fixes
PSPDFConfiguration.editableAnnotationTypes
not being respected for note annotations. (#15779) - Fixed
Fixes a crash that occurred when rotating in page curl mode. (#15765)
- Fixed
Fixes an issue where newly added image annotations did not respond to touches. (#15667)
- Fixed
Fixes an issue where using buttonImport on forms via JavaScript could break the default image annotation insertion feature. (#15731)
PSPDFKit
- Fixed
Fixes a crash that could occur after adding an annotation deserialized from Instant JSON. (#14815, Z#9340)
- Fixed
Fixes an issue where a new digital signature could not be created in some documents. (#15683, #15702)
7.6.1 - 14 Jun 2018
PSPDFKitUI
- Fixed
Fixes an issue that could cause blank pages in per page and continuous page modes. (#15504)
- Fixed
Fixes an issue with
PSPDFImagePickerController
whereallowedImageQualities
was ignored if the image editor was disabled. (#15599)
PSPDFKit
- Changed
Improves image document saving performance. (#15540)
- Added
Adds the ability to print image documents. (#15375)
- Changed
Image quality for JPEG now used in Image Documents. (#15499)
- Changed
Validation errors generated by JavaScript code are now localized in every language that is currently supported. (#14577)
- Fixed
Fixes mistaken API rename for -[PSPDFDocument fileURLs]. (#15660)
- Fixed
Fixes an issue with vector stamp annotations becoming grey when moving or resizing them. (#15345)
- Fixed
Fixes an issue when closing documents with smart form tab orders. (#15580)
- Fixed
Fixes an issue where a form field may be rendered more times than necessary. (#15528)
- Fixed
Fixes an issue where annotation additional actions may not be preserved after a document is saved. (#2185)
- Fixed
Fixes growing image document after save. (#15479)
7.6.0 - 30 May 2018
See the announcement post.
In preparation for iOS 12, this version of PSPDFKit now drops support for iOS 9. It also requires and is built with Xcode 9.4 (9F1027a).
The new Image Documents component, which enables you to keep PSPDFImageDocument
s editable even after saving, requires an updated license.
We prepared a migration guide to help you with some of the API changes in this version.
PSPDFKitUI
- Removed
Deprecates
PSPDFDrawLayer
related public APIs onPSPDFDrawView
. (#14921) - Added
Adds
-pdfViewController:shouldSaveDocument:withOptions:
and-pdfViewController:didSaveDocument:error
toPSPDFViewControllerDelegate
. (#14910) - Added
Adds blend modes to the annotation inspector. The ink highlighter by default now uses a multiply blend mode for clear, black text. (#15080)
- Added
Adds customization options for
PSPDFNoteAnnotationViewController
. (#15305) - Changed
Improves comment author display in
PSPDFCommentCell
to accommodate longer author names. (#15065) - Changed
Improves layout of the buttons on
PSPDFSignatureViewController
by making them respect the safe area and dynamic type. (#15063) - Changed
Improves state restoration to restore and persist selected annotations. (#14935)
- Changed
Improves support for Dynamic Type, particularly for larger accessibility sizes. (#14788)
- Changed
Improves the layout of the stamps grid, to always look reasonably dense, while keeping the stamps big enough to read. (#13675)
- Changed
Changes the default state of the Store Signature checkbox to be disabled to not store the created signature without users explicitly checking it. (#15250)
- Changed
Makes selection experience more consistent across platforms. (#14729)
- Changed
Makes the custom stamp option in the stamps UI more apparent. (#1824)
- Changed
Moves ‘Saved Annotations’ to its own annotation toolbar item, as opposed to being a tab on the stamps UI. (#1824)
- Changed
Setting the
doNotScroll
property on a form text field now works correctly. (#14926) - Changed
Sharing with
UIActivityViewController
now only includes the document, not the title as well. This fixes a Text File being created alongside the PDF when exporting files. (#12782) - Changed
The
userInterfaceViewMode
setting now defaults to.automaticNoFirstLastPage
. (#15077) - Changed
The behavior of
scrollOnTapPageEndEnabled
has been changed to be enabled by default again and reacting immediately, without waiting for a potential double tap gesture. The edge span where taps are acceptedscrollOnTapPageEndMargin
has been reduced to 44 pixels. The default forscrollOnTapPageEndAnimationEnabled
has been changed to NO. This allows fast tapping through a document. (#13098) - Changed
The home indicator on iPhone X is now automatically hidden when the HUD is not visible. (#15006)
- Changed
-[PSPDFTextSelectionView sortedGlyphs:]
now sorts the passed in glyphs in their reading order. (#15400) - Changed
PSPDFConfiguration
’sscrollOnTapPageEndMargin
andscrollOnTapPageEndAnimationEnabled
is now honored when usingPSPDFPageTransitionCurl
. (#15333) - Fixed
Fixes
-[PSPDFConfiguration shadowOpacity]
not being honored for configurations where the page transition was set toPSPDFPageTransitionScrollPerSpread
. (#15369) - Fixed
Fixes a crash in that could occur when selecting text if the initial selection did not contain any valid characters. (#15445)
- Fixed
Fixes a document’s table of contents’ colors not being shown correctly. (#15295)
- Fixed
Fixes a rare issue that could lead to a crash in
PSPDFResizableView
layout when rotating rapidly. (#15410) - Fixed
Fixes an issue where comments would not scroll out from underneath the keyboard or toolbar on iOS 10 in
PSPDFNoteAnnotationViewController
. (#15415) - Fixed
Fixes an issue where drawing a signature area was not possible when digitally signing a document via the
PSPDFPageView
signature API. (#14765) - Fixed
Fixes an issue where embedded videos with autoplay enabled would start playing before their page was visible. (#14662)
- Fixed
Fixes an issue where the font size for a form element was calculated wrong. (#15274)
- Fixed
Fixes an issue where the printing UI wouldn’t prevent interactions with the rest of the application, breaking the printing flow. (#10480)
- Fixed
Fixes issues with pages not being displayed in page curl mode. (#15280)
- Fixed
Fixes layout of saved annotations and stamps UI on iPhone X. (#1824)
- Fixed
Fixes text alignment for text field cells. (#15304)
- Fixed
Fixes the text insertion point not always staying in the visible area while writing comments on annotations. (#14201)
PSPDFKit
- Changed
The minimum deployment target is now iOS 10. Support for iOS 9 has been removed. (#14398)
- API
The configuration builder blocks in
PSPDFBaseConfiguration
are now noescape for better Swift compatibility. (#15077) - API
The constants in
PSPDFAnnotationStyleManager
have been renamed and now better map to Swift. (#15077) - API
PSPDFDocument.annotationsForPageAtIndex:type:
is now guaranteed to never return nil. (#15077) - Removed
Deprecates
PSPDFFileAnnotation
’sappearanceName
in favor oficonName
. (#15319) - Removed
Deprecates class-level methods on
PSPDFProcessor
and introduces new new instance-based API that allows for cancellation. (#10480) - Added
Adds the ability to keep annotations on
PSPDFImageDocument
s editable even after saving. Requires the Image Documents feature to be enabled in your license. See /blog/image-documents/ for more information. (#14894) - Added
Adds an external file source option when adding new pages to a document with the document editor. (V##248)
- Added
Adds blend modes to Annotations. This improves rendering for appearance steams with different blend modes. (#15080)
- Added
Adds the ability to define arbitrary patterns for new pages when editing a document. (#14951)
- Added
Adds the ability to embed files to
PSPDFFileAnnotation
using-[PSPDFEmbeddedFile initWithFileURL:fileDescription:]
. See the newAddFileAnnotationProgrammaticallyExample
andAddFileAnnotationWithEmbeddedFile
in PSPDFKit Catalog. (#15210) - Changed
Improves JavaScript support, including form formatting, calculation, and validation. (#9501)
- Changed
Improves XFDF output by omiting
opacity
if set to the default (1.0). (#15354) - Changed
Improves rendering behavior for stamp annotations. Stamps are keeping their aspect ratio on resizing now. Stamps created with PSPDFKit now always use the same rendering, no matter if they were just created or after being saved in the document. The subject of stamps is now always rendered in uppercase characters. Custom stamps are now sized-to-fit before adding them to the document. (#1824)
- Added
Adds annotation
name
to Instant JSON. Also renamedpspdfkit/file
name
tofilename
to prevent collisions. (#14856) - Added
Adds better detection for standard stamp subjects for Instant JSON. (#14919)
- Changed
Cancelling a
PSPDFRenderTask
now reduces further CPU usage more effectively. (#14218) - Changed
PSPDFPageRenderer
is now deprecated and will be removed in a later update. (#15189) - Fixed
Fixes a crash which occurred when manually searching a protected document. (#15177)
- Fixed
Fixes a potential deadlock situation during document cache invalidation. (#15259)
- Fixed
Fixes an issue where glyph frames were larger than expected due to unexpected values in their fonts. (#14169)
- Fixed
Fixes an issue where newly created note annotations would require two taps for deselection. (#15221)
- Fixed
Fixes security vulnerability CVE-2018-9127 in Botan, where wildcard certificates could be accepted for invalid hostnames. (#15374)
- Fixed
Fixes an issue where some action destinations may not work properly. (#14901)
- Fixed
Fixes a problem where editing some numeric form fields didn’t show a completely numeric keyboard. (#15484)
Instant
- Added
Adds support for Instant Layers: /blog/instant-layers/ (#13834)
- Added
Adds support for exporting and importing stamp annotations with images for Instant JSON. (#15296)
- Changed
Improves error reporting regarding invalid JWTs. (Z#8755)
- Removed
Deprecates all methods in
PSPDFInstantClientDelegate
in favor of renamed methods to improve API clarity and consistency. (#13834, #15464) - Removed
Deprecates
PSPDFInstantDocumentDescriptor
’supdateAuthenticationToken:
anddownloadDocumentUsingAuthenticationToken:error:
in favor of the more specificreauthenticateWithJWT:
anddownloadUsingJWT:error:
. (#13834) - Removed
Deprecates the notifications
PSPDFInstantDidUpdateAuthenticationTokenNotification
,PSPDFInstantDidFailUpdatingAuthenticationTokenNotification
, and relatedPSPDFInstantAuthenticationTokenKey
in favor of the notificationsPSPDFInstantDidReauthenticateNotification
,PSPDFInstantDidFailReauthenticationNotification
, and the relatedPSPDFInstantJWTKey
. (#13834)
Examples
- Added
Adds a PSPDFKit Catalog example illustrating how to use a custom bookmark provider. (#15105)
- Changed
Improves the Catalog’s listing of examples. The Catalog now lists all the examples in the selected language. If an example is not available in the particular language selected, then the example in the other language is listed. (#15100)
7.5.2 - 4 May 2018
PSPDFKitUI
- Fixed
Fixes an issue where selection would work incorrectly if a page was cropped or rotated. (#15042)
- Fixed
Fixes the spread zoom not always being reset when scrolling back to a spread in the
.scrollPerSpread
pageMode
. (#14825)
PSPDFKit
- Fixed
Fixes an issue where glyph frames were incorrectly calculated when the page matrix is not identity. (#13668)
7.5.1 - 25 Apr 2018
PSPDFKitUI
- Added
Adds a
signer
subclassing hook toPSPDFSignatureViewController
, enabling setting the certificate used for digital signing programmatically. This makes it possible to only allow the user to create a digital signature, instead of an ink signature. (#14846) - Fixed
Fixes an issue where a crash could occur if
PSPDFNoteAnnotationViewController
changed size while it was presenting an action sheet. (#14742) - Fixed
Fixes a keyboard avoidance offset issue during interactive keyboard dismissal. (Z#8690)
- Fixed
Fixes document pages not being selected when the thumbnail was tapped on the bottom half. (#14764)
PSPDFKit
- Changed
Improves compatibility of note annotations with certain 3rd-party viewers such as Apple Preview. (#14953)
- Changed
Improves performance when annotations are loaded. (#14983)
- Changed
Improves the logic when note icon indicators should be rendered. (#14961)
- Changed
Saving image documents now keeps any additional extended attributes. (#14905)
- Fixed
Fixes a problem where the text in unsigned form field overlays may be cut off. (#14922)
- Fixed
Fixes an issue where images could be encoded in the PDF without optimization. (#14916)
- Fixed
Fixes an issue where recording couldn’t be started for an existing sound annotation. (#15010)
7.5.0 - 11 Apr 2018
PSPDFKitUI
- API
Adds a
textView
parameter to-[PSPDFNoteAnnotationViewController updateTextView]
. Customize the object passed toupdateTextView:
instead of using thetextView
property. (#5721) - API
Groups
PSPDFKitThumbnailViewFilter*
constants as extensible string enum. (#14571) - API
Removes the
tapGesture
property onPSPDFNoteAnnotationViewController
and the class no longer conforms toUIGestureRecognizerDelegate
. (#5721) - API
PSPDFPageView
is no longer guaranteed to conform toPSPDFNoteAnnotationViewControllerDelegate
. (#5721) - Removed
Deprecates
PSPDFNoteAnnotationViewController
’sallowEditing
,beginEditing
,showCopyButton
,deleteAnnotationActionTitle
,deleteAnnotation:
,deleteOrClearAnnotationWithoutConfirmation
,textView
, andborderColor
. (#5721) - Removed
Deprecates
shouldBeginEditModeWhenPresented
onPSPDFNoteAnnotationViewController
, andshowNoteControllerForAnnotation:showKeyboard:animated:
in favor ofshowNoteControllerForAnnotation:animated:
onPSPDFPageView
, as choosing to show the keyboard is now decided based on heuristics, if the user might want to start editing. (#14205) - Added
Adds UI to
PSPDFNoteAnnotationViewController
that enables the user to see existing reviews for a comment, add their own review status, or change their review status. (#14421) - Added
Adds document type attribute to document load analytics event. (#14732)
- Added
Adds showing and adding annotation replies in
PSPDFNoteAnnotationViewController
. Replies will no longer be shown on the page. (#5721) - Added
Adds support for
-[PSPDFConfiguration scrollOnTapPageEndEnabled]
in page curl layouts. (#13302) - Changed
Improves
PSPDFPageModeAutomatic
behavior in connection withPSPDFPageTransitionScrollContinuous
. This now always prefers single pages to take better use of the available screen real estate. (#14822) - Changed
Improves the layout of the search view controller on devices with bottom safe area insets. (#12969)
- Changed
Improves type safety by removing the
__kindof
type annotation from-[PSPDFDrawView annotations]
,-[PSPDFPageView passthroughViewsForPopoverController]
, and-[PSPDFPageView selectedAnnotations]
. This only affects Objective-C. (#14490) - Changed
Changing page by tapping on page edges is now disabled by default. To enable this, change
PSPDFConfiguration.scrollOnTapPageEndEnabled
toYES
. (#14418) - Changed
Ensures that
PSPDFAnalyticsEventNameAnnotationCreationModeExit
is always logged. (#14839) - Changed
Ensures that the optional analytics provider tracks log deletion for all cases. (#14817)
- Removed
Removes ellipses in menu items (
UIMenuItem
) because there is no standard convention for this on iOS and space can be scarce. For example ‘Inspector…’ is now ‘Inspector’. (#14235) - Fixed
Fixes an issue that could result in a crash when the size class changes while in a page curl layout. (#14555)
- Fixed
Fixes an issue that makes the page curl left or right align pages even though it is in single page mode. (#14555)
- Fixed
Fixes an issue that triggered a page change animation in page curl in some cases even though the page was already visible. (#14528)
- Fixed
Fixes an issue where
PSPDFPageView
would display a wrong page in rare occasions. (#14442) - Fixed
Fixes an issue where annotations with the Invisible, Hidden, or NoView flags set could be tappable. (#14772)
- Fixed
Fixes an issue where pages were not animating into place when showing or hiding the inspector. (#13627)
- Fixed
Fixes an issue where paginated layouts would drift by a fraction of a point with every page if
PSPDFViewController
is set to a non-integer size in the direction of scrolling. (#14543) - Fixed
Fixes annotations shown as overlays (notes) not respecting the Invisible, Hidden, and NoView flags. (#5721)
PSPDFKit
- API
Renames
PSPDFSignatureHashAlgorithmSHA386
toPSPDFSignatureHashAlgorithmSHA384
which is actually the correct name. (#13932) - API
tryLoadAnnotationsFromFileWithError:
has been removed fromPSPDFFileAnnotationProvider
. UseloadAnnotationsWithError:
instead to customize annotation loading. (#14570) - API
Adds
isGenerated
toPSPDFGlyph
to check if the glyph is an autogenerated filler. (#14606) - API
PSPDFGlyph.indexOnPage
is not-1
to indicate that it is a generated filler. UsePSPDFGlyph.isGenerated
instead.indexOnPage
can now be used to uniquely identify a glyph on a page, and is the index of the glyph in thePSPDFTextParser.glyphs
array. (#14606) - Removed
Deprecates
PSPDFAnnotationOptionUserCreatedKey
. (#14669) - Removed
Deprecates
PSPDFTextBlock.glyphs
,PSPDFWord.glyphs
, andPSPDFSelectionState.selectedGlyphs
in favor ofNSRange
-based APIs. (#14606) - Added
Adds
createdAt
,updatedAt
andcreatorName
to Instant JSON. (#14443) - Added
Adds
isReply
andinReplyToAnnotation
properties onPSPDFAnnotation
. (#5721) - Added
Adds properties for author-specific state on
PSPDFNoteAnnotation
. (#5721) - Changed
Improves cleaning up resources in
PSPDFDocument
’sdealloc
. (#14586) - Changed
Improves performance when examining document permission features. (#14747)
- Changed
Improves text selection performance in documents with a lot of text. (#14516)
- Changed
Filters out invalid characters from a page’s text. (#14516)
- Changed
Performance improvements for documents with many data sources. (#14651)
- Changed
Removing an annotation with
removeAnnotations:options:
onPSPDFAnnotationManager
orPSPDFDocument
now also removes replies to that annotation. (#14385) - Changed
The relationship between
PSPDFXFDFAnnotationProvider
andPSPDFFileAnnotationProvider
is now more explicit. If you use XFDF for form filling, you now need to keep around both providers. Furthermore, the annotation manager now only saves into the first annotation provider implementing the save method. Previously all were called, which could have led to incorrect results. (#14323) - Fixed
Fixes a crash that could happen during application termination. (#14483)
- Fixed
Fixes a lock inversion when setting up the document providers. (#14525)
- Fixed
Fixes a potential crash when saving a document. (#14082)
- Fixed
Fixes a potential issue when removing annotations. (#14381)
- Fixed
Fixes an issue that prevented correct caching of rendered pages. (#14390)
- Fixed
Fixes an issue where
-[PSPDFTextParser textWithGlyphs:]
would exclude the last glyph. (#14636) - Fixed
Fixes an issue where a flattened document shows a blank page in Preview. (#13708)
- Fixed
Fixes an issue where action destinations would not be found if sorted incorrectly. (#14412)
- Fixed
Fixes an issue where document checkpoints were not loaded for decoded document instances. (#14624)
- Fixed
Fixes an issue where image data wasn’t properly removed after rewriting the PDF. (#14708)
- Fixed
Fixes an issue where searching for text in a document would return results with empty text blocks. (#14516)
- Fixed
Fixes an issue where some
PSPDFDocumentSecurityOptions
initializers would sometimes return nil. (#14646) - Fixed
Fixes an issue where the documents
features
sometimes returned an incorrect value when called right after creating aPSPDFDocument
. (#14574) - Fixed
Fixes an issue where using a custom bookmark provider with readonly documents disabled adding and editing bookmarks. (#14574)
- Fixed
Fixes animated GIF images support in the gallery. (#13897)
- Fixed
Fixes document corruption issue when document has a header and is incrementally saved. (#14249)
- Fixed
Fixes pages not being centered when zooming is disabled in landscape. (#14091)
Instant
- Changed
Improves type safety by removing the
__kindof
type annotation from-[PSPDFInstantDocumentDescriptor annotationWithIdentifier:forDocument:error:]
. This only affects Objective-C. (#14490)
Examples
- Added
Adds PSPDFKit Catalog example illustrating how to rotate pages in 90 degree steps. (#14445)
- Added
Adds a PSPDFKit Catalog example illustrating how to add a custom filter by subclassing
PSPDFThumbnailViewController
. (#14380) - Fixed
Fixes Catalog “XFDF Annotation Provider, Encrypted” example. (#13912)
- Fixed
Fixes an issue where the Document Editor icon was not visible in
NewPageFromDocumentExample.swift
andProgrammaticDocumentEditingExample.swift
. (#14641)
7.4.1 - 19 Mar 2018
PSPDFKitUI
- Fixed
Fixes an issue where enabling link annotation editing would not work. (#14477)
- Fixed
Fixes an issue where pages had a gap between them in page curl layout. (#13329)
PSPDFKit
- Added
Adds
PSPDFAESCryptoDataSink
. (#13912) - Fixed
Fixes an issue where the deletion of an annotation could not be undone properly. Important: Calling
removeAnnotations:options:
on aPSPDFFileAnnotationProvider
no longer postsPSPDFAnnotationChangedNotification
! Deleted annotations are still being returned fromdirtyAnnotations
until the next save — like before. They are, however, not returned fromannotationsForPageAtIndex:
anymore. This behavior is also far less surprising. (#14305) - Fixed
Fixes a document corruption bug when the document has a header and is incrementally saved. (#14249)
- Fixed
Fixes Catalog “XFDF Annotation Provider, Encrypted” example. (#13912)
- Fixed
Fixes an animation glitch when rearrange pages with the document editor. (#14367)
- Fixed
Fixes an issue where
PSPDFTextParser.glyphs
could be incorrect for certain documents. (#10844) - Fixed
Fixes an issue where dropdown arrow on combo boxes are not seen when box has a small width. (#14326)
- Fixed
Fixes an issue where dropdown arrows are still seen on combo boxes when document is flattened. (#9539)
- Fixed
Fixes issue where
pdfId
was required when importing a Instant JSON document. (#14494) - Fixed
Fixes potential deadlocks during annotation rendering. (#14534)
- Fixed
Fixes an issue where opening large documents with marked content used very large amounts of memory. (#14415)
- Fixed
Fixes potential deadlocks when opening a lot of documents. (#14503)
- Fixed
Fixes an issue where
PSPDFFile.fileData
did not lazily memory map the file data when being called from user code. (#14539)
7.4.0 - 2 Mar 2018
See the announcement post.
PSPDFKitUI
- API
Replaces
firstLineRect
,lastLineRect
, andinnerRect
properties ofPSPDFTextSelectionView
withrectForFirstBlock
,rectForLastBlock
, andselectionRects
. (#9677) - Added
Adds a PSPDFKit Catalog example illustrating how to create a form programmatically. (#14215)
- Added
Adds a PSPDFKit Catalog example illustrating how to use the Instant JSON Annotation and Document APIs. (#14087)
- Added
Adds an overlay message shown when digitally signing a document without a form field. (#13583)
- Added
Adds support for selecting vertical text. (#322)
- Changed
Improves compatibility with the React Native view component. (#14222)
- Changed
Improves performance by only creating the text selection view’s text parser when required. (#14291)
- Changed
Improves performance when sharing file-based documents via the Open In activity. (#14011)
- Changed
Improves visualization of thumbnails, especially when filtering for bookmarked or annotated pages. (#12512)
- Changed
Improves text selection using
PSPDFTextSelectionView
by selecting text in distinct blocks. (#322, #9677) - Changed
Improves performance when editing free text annotations. (#13971)
- Changed
Improves scrolling and zooming performance. (#13971)
- Changed
Changes the inspector to use the annotation type as the title instead of Style. (#14057)
- Changed
Tapping to select an annotation in multi-select mode now works again. (#11432)
- Fixed
Fixes a crash that happened when adding stamp annotations with 3rd party stylus support enabled. (#14086)
- Fixed
Fixes an issue where annotation notes were not editable on iPhone with iOS 9. (#14323)
- Fixed
Fixes an issue where bookmarks could be created but not saved into a document. (#9107)
- Fixed
Fixes an issue where content insets were not respected in searchable choice form elements while searching. (#13987)
- Fixed
Fixes an issue where switching between documents with different page bindings didn’t update the scroll direction correctly. (#13849)
PSPDFKit
- API
-[PSPDFContainerAnnotationProvider clearNeedsSaveFlag]
now asserts that it is called inside a write block! For more details, please refer to the documentation ofPSPDFContainerAnnotationProvider(SubclassingHooks)
. (#14181) - API
Certain types in Swift have been renamed to improve interoperability. (#10491)
- API
PSPDFDocumentSecurityOptions
initializers may return error instead of assert. (#10491) - Removed
Deprecates
encryptionAlgorithm
inPSPDFPrivateKey
, in favor ofsignatureEncryptionAlgorithm
, which is enum-typed. (#13940) - Added
Adds
PSPDFDocumentFeatures
as a central place for checking the availability of various features. (#9107) - Added
Adds a PSPDFKit Catalog example illustrating how to generate a PDF document on a mobile device without any server use. (#13776)
- Added
Adds a new protocol, PSPDFExternalSignature, that can be used to provide a digital signature for a document externally. (#13940)
- Added
Adds an example
UpdateConfigurationWhenRotatingExample.swift
for changing the configuration when rotating the device. (#13820) - Added
Adds support for automatic access tracking for security scoped URLs. (#13863)
- Added
Adds the
shouldTrackDeletions
class property toPSPDFContainerAnnotationProvider
to customize the effect ofremoveAnnotations:options:
ondirtyAnnotations
. SeePSPDFContainerAnnotationProvider.h
for more information. (#8839) - Changed
Adjusts the gap between two pages in continuous scroll mode. (#13877)
- Changed
Changes the localized description of empty note annotations from Text to Note (localized). (#14057)
- Changed
Improve error messages when digitally signing a document failed. (#13741)
- Changed
Shows an error message when digitally signing failed instead of throwing an exception in some cases. (#13741)
- Changed
PSPDFTextParser now respects reading order of text blocks defined in the PDF using Marked Content. (#9677, #322)
- Fixed
Fixes FTS5 search on SQLite versions >= 3.20.0. (#14036)
- Fixed
Fixes a deadlock when calling
removeAllAnnotationsWithOptions:
on an instance ofPSPDFContainerViewController
or a subclass and clarifies locking requirements. (#14178) - Fixed
Fixes an assertion when a non-specified named action was deserialized via Instant JSON. (#13804)
- Fixed
Fixes an issue saving a document with invalid PDF syntax (empty dictionary key). (#14009)
- Fixed
Fixes an issue where
-[PSPDFAnnotation annotationFromInstantJSON:documentProvider:error:]
attached the annotation to the document. (#14140) - Fixed
Fixes an issue where some annotations in a custom annotation provider were not rendered properly. (#12762)
- Fixed
Fixes an issue where some form fields with custom FQNs may not be signed correctly. (#14309)
- Fixed
Fixes an issue where the hash of two equal PSPDFAnnotation objects could be different. (#13852)
- Fixed
Fixes an issue where the wrong font was selected. (#14027)
- Fixed
Fixes crashes on document unload when FormTabOrderCalculator is being processed. (#13976)
- Fixed
Fixes issue with text selection in certain cases. (#13803)
- Fixed
Fixes potential crash when saving files with irregular outlines. (#14116)
- Fixed
Fixes the issue where
PSPDFDocument.hasDirtyAnnotations
would returnNO
after removing an annotation from a custom annotation provider. (#8839, Z#5114)
Instant
- Added
Adds
PSPDFInstantErrorInvalidURL
and stricter validation of the server URL to PSPDFInstantClient’s initializer. (#14158) - Changed
Improves recovery from network failures during sync by monitoring reachability of the Instant server. (#11901, Z#7385)
7.3.1 - 26 Jan 2018
PSPDFKitUI
- Added
Adds the ability to undo clear actions while editing free text annotations. (#13828)
- Changed
Improves touch handling for the scrollable thumbnail bar mode for documents with only a few pages. (#13861)
- Fixed
Fixes a crash that occur if shake to undo is invoked during free text editing. (#13829)
- Fixed
Fixes an issue where presented annotations toolbar was not updated after changing controller’s
PSPDFConfiguration
. (#13858) - Fixed
Fixes an issue where tapping a free text annotation while selected doesn’t start editing on 3D Touch compatible devices, or when using Apple Pencil. (#11424)
- Fixed
Fixes an issue where the displayed page labels were incorrect when switching layouts right after initialization. (#13824)
- Fixed
Fixes an issue which switching to the correct page when rotating from a double to a single page mode. (#13887)
- Fixed
Fixes an issue with restoring the view state when rotating while in a page curl layout. (#13823)
- Fixed
Fixes missing search bar in the outline and annotation list on iOS 11, if the corresponding view controllers were presented without being wrapped in a navigation controller. (Z#7994)
- Fixed
Fixes the last stroke drawn in an ink annotation with opacity below 100% appearing too dark until the annotation is deselected. (#13895)
- Fixed
Fixes
overrideClass:withClass:
in the configuration not working withPSPDFPageView
. (#13881) - Removed
Removes the
PSCUpdateConfigurationWithoutReloadingExample
example, which was using outdated API. (#13801)
PSPDFKit
- Added
Adds a
allowedPathExtensions
property toPSPDFLibraryFileSystemDataSource
to configure the types of files it returns for indexing. (#13967) - Fixed
Fixes an issue where checkbox values were not updated correctly. (#13843)
- Fixed
Fixes an issue where digitally signing a document multiple times may invalidate previous signatures. (#13582)
Instant
- Changed
Improves the Instant Catalog example to support 7 letter codes. (#13858)
7.3.0 - 12 Jan 2018
See the announcement post.
PSPDFKitUI
- API
Introduces
-[PSPDFDocumentEditorDelegate documentEditorRequestsFullReload:]
, which requests a full document editor UI reload. (#13168) - API
Replaces policy event strings on
PSPDFApplicationPolicy
with an extensible enum. (#13722) - API
Adds
+[PSPDFImagePickerController availableImagePickerSourceTypes]
to allow specifying the source types of aPSPDFImagePickerController
subclass. SeeCustomImagePickerControllerExample
in PSPDFKit Catalog for details. (#13724) - Added
Adds a PSPDFKit Catalog example illustrating how to go to a specific outline programmatically. (#13166)
- Added
Adds a PSPDFKit Catalog example illustrating how to customize page labels. (#13343)
- Added
Adds a PSPDFKit Catalog example of how to monitor for touch events. (#13706)
- Added
Adds a new
signatureIntegrityStatus
toPSPDFSignatureStatus
, which shows if the document has been modified in a way that has broken a digital signature. (#13570) - Added
Adds a
PSPDFConfiguration
preset for easy configuration of PDF controllers showing image documents. (#13538) - Changed
Improves detection of the page focused by the user when rotating. (#12558)
- Changed
Improves text selection behavior. It’s now possible to start selecting and marking up text in one direction and then switch to the opposite direction in a single gesture. (#11415)
- Changed
Improves the
PSPDFDocumentPickerController
documentation. (#8417) - Changed
Improves support for document editing inside the tabbed view controller. (#13168)
- Changed
Improves performance of the annotation list view controller. (#13546)
- Changed
Improves saving when the application is backgrounded or terminated. (#13586)
- Changed
Improves support when embedding multiple
PSPDFViewController
instances into aUIPageViewController
instance. (#13702) - Changed
Improves text markup selection behavior when starting a selection outside of text and moving over text afterwards. (#11937)
- Changed
Improves the coloring of the filter segmented control at the top of the thumbnails view. It now has higher contrast against light backgrounds and uses the tint color if it provides sufficient contrast. (V#1369)
- Changed
Improves the accuracy of the information about the digital signature validation process by demoting some non-critical errors to warnings. (#13570)
- Changed
Improves the page grabber layout in various configurations. (#13465)
- Changed
Improves the annotation toolbar layout when using the page grabber or a vertical scrubber bar. (#13465)
- Changed
Improves the sound annotation player layout when using a vertical scrubber bar on iPhone X. (#13465)
- Changed
Improves language detection for text to speech. (#8939)
- Changed
Hide the annotation section in
PSPDFDocumentSharingViewController
for documents which do not have annotations. (#13179) - Changed
The
showsScrollIndicator
properties onPSPDFDocumentView
andPSPDFDocumentViewController
now default toNO
in scroll per spread mode. (#13506) - Fixed
Fixes an issue where the scrubber bar was unable to switch to the first or last page in some documents. (#13258)
- Fixed
Fixes an issue where an assert could be triggered when replacing a file while it is being displayed. (#13362)
- Fixed
Fixes an issue with the page view label formatter where the custom formatter was not used. (#13343)
- Fixed
Fixes an issue where rotating from double to single page spreads leads to the wrong page when editing a note annotation. (#9524)
- Fixed
Fixes an issue with transparent background on list of open documents. (V#1345)
- Fixed
Fixes an issue where draw annotation tools were not properly reselected after changing layouts or rotating the device. (#12907)
- Fixed
Fixes an issue where read-only signed digital signatures may not be tappable. (#13573)
- Fixed
Fixes unnecessary document saves triggered by loading certain annotation types. (#13734)
- Fixed
Fixes an issue where embedded file preview was missing the close button when
useParentNavigationBar
was set toYES
. (#13699) - Fixed
Fixes a potential crash which could occur when setting a custom
PSPDFApplicationPolicy
in+[PSPDFKit setLicenseKey: options:]
. (#13725) - Fixed
Fixes an issue where PDFs with corrupted pages where not rendered at all in certain layout configurations. (#13720)
- Fixed
Fixes an issue where pages with different sizes were positioned incorrectly in thumbnail mode on devices with 3x screens. (#13693)
- Fixed
Fixes an issue where some list boxes do not display all the possible options. (#13454)
- Fixed
Fixes an issue where in some view hierarchies the page size was only using the visible screen space instead of the size of the view. (#13579)
- Fixed
Fixes an issue where the content is offset when scrolling backwards. (#13551)
- Fixed
Fixes an issue with continuous scrolling layouts that have
fillAlongsideTransverseAxis
disabled. (#13688)
PSPDFKit
- Removed
Deprecates the
baseURL
property fromPSPDFFileDataProvider
. (#12525) - Removed
Deprecates
baseURL
-basedPSPDFFileDataProvider
initializers. (#12525) - Added
Adds
PSPDFImageDocument
for simple annotating of image files using PSPDFKit. (#13538) - Added
Adds form field values to Instant JSON. (#13335)
- Added
Adds a new log level (
PSPDFLogLevelCritical
), that is enabled by default. (#13212) - Added
Adds support for PEM-encoded certificates in PKCS#7 files. (#13698)
- Changed
Improves file coordination update notifications, by ignoring cases that do not represent content changes. (#13394)
- Changed
Improves the detection of digital signatures in third-party PDF readers. (#13593)
- Changed
Improves the stability of the digital signing process with some certificate authorities with missing fields. (#13694)
- Changed
Improves locking during document cache reset. (#10984)
- Fixed
Fixes an issue where zooming in on large free text annotations, stamps, or form fields could use a lot of memory, which could result in crashing. (#13685, #13686)
- Fixed
Fixes missed search terms which span over a newline without a hyphen. (#11862)
- Fixed
Fixes an issue with stamp annotations not being rendered when using XFDF. (#13330)
- Fixed
Fixes an issue with sound annotations losing sound data when using XFDF. (#13324)
- Fixed
Fixes specific issue where previous xref has the same object number as a newly created object. (#13183)
- Fixed
Fixes an issue where
PSPDFGalleryManifest
could override a link annotation’s url in some cases. (V#1084) - Fixed
Fixes an issue where image stamp annotations appeared scaled up. (#13703)
- Fixed
Fixes a problem where signed documents loaded using a data provider may incorrectly warn about changes when validated. (#13549)
- Fixed
Fixes file coordination issues that could occur while the application is backgrounded. (#13652)
- Fixed
Fixes an issue where a signed document may show a warning if inspected with a PDF lint tool. (#13719)
- Fixed
Fixes an issue where
PSPDFFile
could in some cases return stale data for a file. (#13614) - Fixed
Fixes an issue where the opacity was not applied to the callout of a
PSPDFFreeTextAnnotation
. (#13576) - Fixed
Fixes an issue where some annotation widgets’ appearance streams were not updated properly when the underlying form field’s value changed. (#13344)
- Fixed
Fixes highlight markups on some specficic documents (#13768)
Instant
- Removed
Deprecates
-[PSPDFInstantClient initWithServerURL:]
which crashes when data cannot be read from or written to disk. This is a breaking change if you use Swift. (#13365) - Added
Adds
-[PSPDFInstantClient initWithServerURL:error:]
as the designated initializer. This allows failing gracefully when data cannot be read from/written to disk. (#13365) - Added
Adds
PSPDFInstantDocumentState
describing the possible states that aPSPDFInstantDocumentDescriptor
can be in. Notifications are posted for relevant state transitions, providing significantly better feedback about a document’s sync cycle. (#11324) - Added
Adds API to stop a running sync cycle and improves discoverability and accuracy of documentation. (#13247)
- Fixed
Fixes an issue where some annotations created with default properties were not synced. (#13348)
- Fixed
Fixes a memory leak related to sync requests. (#13540)
- Fixed
Fixes a dangling pointer issue when parsing invalid server responses. (#13557)
7.2.1 - 14 Dec 2017
PSPDFKit now requires and is built with Xcode 9.2 (9C40b).
PSPDFKitUI
- Changed
Update the sound annotation playback toolbar view while scrolling is active. (#13274)
- Changed
Improves positioning of form elements during editing. (#13208)
- Fixed
Fixes a problem where some text in form fields may be cut off. (#13242)
- Fixed
Fixes an issue where draw and selection views where not recreated when changing the page or the page transition. (#12907)
- Fixed
Fixes an issue where the scrubber bar didn’t lay out correctly when switching documents. (#13215)
- Fixed
Fixes an issue where an assert could be triggered while zooming. (#13403)
- Fixed
Fixes a potential crash during scroll view observing. (Z#7695)
- Fixed
Fixes a memory leak in the signature view controller. (#13463)
- Fixed
Fixes ink, shape, and line annotations not being rendered correctly if they were selected while the view changes size. (#13520)
- Fixed
Fixes an issue where an assert could be triggered while setting an empty viewport to a document view layout. (Z#7763)
PSPDFKit
- Changed
Improves performance when fetching document level JavaScript objects. (#13281)
- Fixed
Fixes an issue where an ink annotation’s background (fill color) was incorrectly ignored. (#13216)
- Fixed
Fixes an issue where documents with links may not point to the correct destination after being exported. (#13341)
- Fixed
Fixes missed search terms which span over a newline without a hyphen. (#11862)
- Fixed
Fixes an issue with stamp annotations not being rendered when using XFDF. (#13330)
- Fixed
Fixes an issue with sound annotations losing sound data when using XFDF. (#13324)
- Fixed
Fixes incorrect glyph frames being returned from
PSPDFTextParser
for documents with vertical or rotated text. (#13423) - Fixed
Fixes some crashes when undoing and redoing operations. (#12358)
- Fixed
Fixes a crash in
PSPDFFileAnnotationProvider
when the document has not been initialized properly. (#12358) - Fixed
Fixes some crashes in
PDFResourceProvider
caused by a race condition. (#13413) - Fixed
Fixes potential crashes when some classes are deallocating. (#13421)
Instant
- Added
Adds a PSPDFKit Catalog example that uses Instant to load documents from our public preview server and demonstrates real-time annotation synchronization. (#11968)
- Fixed
Fixes annotation positioning when created on a page with a transform. (#12492)
7.2.0 - 23 Nov 2017
PSPDFKitUI
- Changed
Improves page grabber user experience when scrolling documents with various sized pages. (#11642)
- Changed
No longer shows status HUD while opening a document in another app since this is usually fast. (#13209)
- Fixed
Fixes an issue where the page grabber was not able to scroll all the way to the top or the bottom of a document in some view configurations. (#11642)
- Fixed
Fixes an issue that could lead to a crash when switching between documents with different page numbers in a tabbed bar view controller. (#12513)
- Fixed
Fixes a crash when snapshotting a page view in a page curl layout before the view was rendered for the first time. (V#1282)
- Fixed
Fixes a crash when scrolling and zooming to a page when already zoomed in. (#13225)
PSPDFKit
- Removed
Deprecates
PSPDFJSONSerializing
in favor of Instant JSON (SeePSPDFAnnotation+Instant.h
). (#10516) - Added
Adds Instant JSON support to
PSPDFDocument
andPSPDFAnnotation
. (#10516) - Fixed
Fixes a rare text extraction issue where some space characters are not correctly extracted. (#6273)
- Fixed
Fixes an issue where stamp annotations get blurry. (#12981)
Instant
Important: This release requires PSPDFKit Server 2017.8 for syncing. If you try to connect to an older version of the server, syncing will fail. For further information, please refer to the migration guide.
- Added
Adds
identifierForAnnotation:error:
andannotationWithIdentifier:forDocument:error
toPSPDFInstantDocumentDescriptor
. These APIs provide a stable, unique identifier for annotations managed by Instant. The identifiers are well suited to, for example, associate arbitrary data from external sources with an annotation. (#11682)
7.1.0 - 17 Nov 2017
See the announcement post.
PSPDFKitUI
- API
Replaces
PSPDFAnnotationIgnoreNoteIndicatorIconKey
in favor ofPSPDFAnnotation.shouldDrawNoteIconIfNeeded
. (#12687) - API
Adopts
NS_ERROR_ENUM
for error codes. This is source compatible for Objective-C but might require small adjustments in Swift code. (#13023) - API
The delegate of the scroll views returned in
documentViewController:configureScrollView:
anddocumentViewController:configureZoomView:forSpreadAtIndex:
can now be set. (#13013) - API
Adds an
NSError
parameter to the completion handler of-[PSPDFPageCellImageLoading requestImageForPageAtIndex:availableSize:completionHandler:]
. (#11499) - Added
Adds UI controls and model level APIs for copy and paste operations on the document editor. (#11972)
- Added
Adds PSPDFKit Catalog example illustrating how to switch between double and single page mode without reloading. (#12880)
- Added
Adds
PSPDFDrawCreateModeAutomatic
as the new defaultdrawCreateMode
used byPSPDFDrawView
. This intelligently splits drawing into multiple ink annotations. This is especially beneficial when using Apple Pencil. (#9222) - Added
Adds value
PSPDFSignatureInputMethodMouse
toPSPDFSignatureInputMethod
enum which is used when the digital signature was created with a mouse. (#12865) - Added
Adds PSPDFKit Catalog example illustrating how to programmatically add transparent stamp annotations. (#13075)
- Added
Adds finer grained scrolling API, applicable for continuous scrolling mode. See
-[PSPDFDocumentViewController scrollToSpreadAtIndex:scrollPosition:animated:]
for details. (#12586) - Added
Adds
labelFormatter
property toPSPDFPageLabelView
to customize page label. (#13003) - Added
Adds
useDiskCache
toPSPDFDataProviding
andPSPDFDocument
to configure using the disk cache on a per-document level. (#11815) - Added
Adds PSPDFKit Catalog examples illustrating how to add vector stamp annotations. (#13075, #13076, #13080)
- Changed
Improves performance of drawing ink annotations, which is especially noticeable when using Apple Pencil. (#9222)
- Changed
Improves handling of rendering errors in the thumbnails view. (#11499)
- Changed
Improves displaying of the icon for annotations that have a note attached. (#12555)
- Changed
Improves content insets and prevents the user from zooming into the areas outside a spread. (#12268)
- Changed
Improves scroll indicator insets on iPhone X. (#12755)
- Changed
Improves document layout on iPhone X. (#12753)
- Changed
Improves system edge gestures handling with visible annotation toolbar. (#12837)
- Changed
Improves usage of quantity strings (plurals). (#13039)
- Changed
Improves scroll behavior in continuous scroll mode when zoomed in. (#13084)
- Changed
Improves initial positioning in vertical continuous mode. (#12777)
- Changed
Improves content offset behavior during user interface fadein in vertical continuous mode. (#12777)
- Changed
Improves default color presets, so they better fill the space on iPhone X and 12.9” iPad. (#13117)
- Changed
Newly added pages via the Document Editor will be added at the end of the document. (#12533)
- Changed
Setting
scrollEnabled
,alwaysBounce
, orshowsScrollIndicator
onPSPDFDocumentViewController
doesn’t reload the view hierarchy anymore. (#13089) - Changed
Link highlights are no longer shown for full page annotations. (#13163)
- Fixed
Fixes issue with the invisible filters in document editor on iOS 11. (#12730)
- Fixed
Fixes issue with annotation toolbar not being able to attach to the top in nested navigation controllers setup. (#12821)
- Fixed
Fixes the thumbnails view not updating on annotation changes when a filter is applied. (#11637)
- Fixed
Fixes issues where the content insets for document views were not properly calculated. (#12808)
- Fixed
Fixes issue where text in form fields are always black. (#12449)
- Fixed
Fixes a crash when rotating from double page spreads in landscape to single page spreads in portrait. (#12983)
- Fixed
Fixes a crash when using
additionalScrollViewFrameInsets
in continuous scrolling layouts. (#13079) - Fixed
Fixes a regression that caused pages to be slightly zoomed in after rotation. (#12825)
- Fixed
Fixes issue where the navigation bar did not fade out with the user interface on iOS 10. (#12912)
- Fixed
Fixes it not being possible to scroll to the bottom of the color presets in some view sizes such as on a 4” iPhone in landscape. (#13096)
- Fixed
Fixes an issue where scrolling when zoomed in continuous scroll mode would be jumpy. (#12454)
- Fixed
Fixes an issue where spreads larger than the viewport size would start in the center. (#12852)
- Fixed
Fixes an issue where scrolling with the page grabber could cause the page to shift when zoomed in. (#12985)
- Fixed
Fixes actions not being executed for full page annotations. (#13163)
- Fixed
Fixes an issue where the annotation toolbar could show only a subset of buttons after inserting a signature on iPhone. (#13106)
- Fixed
Fixes an issue where the status bar was incorrectly shown or hidden on iPhone, when a PDF controller was re-shown in a different orientation. (#13077)
- Fixed
Fixes an issue where a spread view could not be found when restoring view states which led to an assertion. (V#1261)
- Fixed
Fixes a rare crash that could occur during rotation in page curl mode. (#12877)
- Fixed
Fixes an issue when applying additional scroll view frame insets to a scroll per spread layout. (#12734)
PSPDFKit
- Removed
Deprecates
PSPDFAnnotationTriggerEventLooseFocus
in favor ofPSPDFAnnotationTriggerEventLoseFocus
. (#13078) - Changed
Improves detection of RichMedia elements and always prefers to show controls for audio-only tracks. (#12986)
- Changed
Improves the performance of document outline parsing when the document is very big. (#11854)
- Fixed
Fixes the positioning of the underline on text when no ascending characters are present on the line. (#11489)
- Fixed
Fixes a problem where some PDF documents may not show every form field element. (#12998)
- Fixed
Fixes an rare crash in
PSPDFLibraryFileSystemDataSource
due to mutation of a set while enumerating it. (#12987) - Fixed
Fixes a potential issue when trying to interact with a form whilst a
PSPDFProcessor
is in progress. (#12973) - Fixed
Fixes an issue where some highlight annotations were rendered incorrectly in specific PDFs. (#12937)
- Fixed
Fixes missing document link action when destination is not defined. (#12917)
- Fixed
Fixes a potential issue when trying to interact with a form whilst a
PSPDFProcessor
is in progress (#12973)
Instant
Important: This is the last release of Instant compatible with PSPDFKit Server 2017.7 and earlier. The next release will require 2017.8. This release adds showing an alert informing users that they need to update your app if the server version is too new. You should update your app with this version of Instant as soon as possible so once you update the server to 2017.8 users are informed of why document downloading and syncing does not work and how to fix it. For further information, please refer to the migration guide.
- Added
Adds showing the user an alert if the Instant framework version is too old to connect to the server. This can be disabled with the new
shouldShowCriticalErrors
property onPSPDFInstantViewController
. (#12870) - Added
Adds error codes for the cases where the client and server have incompatible versions:
PSPDFInstantErrorOldClient
andPSPDFInstantErrorOldServer
. (#12720) - Fixed
Fixes
PSPDFInstantSyncingLocalChangesDisabled
symbol not being exported. (Z#7443) - Fixed
Fixes an issue that could lead to a failed assertion when adding annotations while there were unsynced changes. (#13122, Z#7442)
7.0.3 - 26 Oct 2017
- Added
Adds CocoaPods dSYM support for all frameworks to improve crash report symbolication. (#11666)
PSPDFKitUI
- Changed
Improves note view controller insets on iPhone X. (#12816)
- Changed
Improves thumbnail sizing in the document editor on iPhone X. (#12815)
- Changed
Improves the search controller layout on iPhone X. (Z#7121)
- Fixed
Fixes issues with the fullscreen gallery layout on iPhone X. (#12731)
- Fixed
Fixes a regression that prevented searching for fonts in
PSPDFFontPickerViewController
. (#12831) - Fixed
Fixes an issue with the annotation toolbar not respecting the safe area in the top position. (#12833)
- Fixed
Fixes the sound annotation player layout if a bottom toolbar is shown. (Z#7266)
- Fixed
Fixes an issue where modally presented
PSPDFTabbedViewController
wasn’t displaying the close button. (#12811) - Fixed
Fixes a crash that could occur in continuous mode, if scrolling was still ongoing while the PDF controller was being dismissed. (V#1250)
- Fixed
Fixes an issue that scrolled to the wrong offset when calling
setContinuousSpreadIndex:
on a zoomed in document with layout that hasspreadBasedZooming
disabled. (#12788, V#1253) - Fixed
Fixes it not being possible to create some annotation types after changing pages while the tool is being used, typically while using Apple Pencil. (#12744)
- Fixed
Fixes ‘Open In’ not correctly working on iOS 10 and 9. (#12829)
- Fixed
Fixes the color picker layout on iPhone X. (#12854)
- Fixed
Fixes zooming to a search result making it fill the entire screen. (#12441)
- Fixed
Fixes
PSPDFConfiguration.searchResultZoomScale
not being respected. Changes default to specify automatic zoom scale. (#12675) - Fixed
Fixes the thumbnails view sometimes not scrolling or not showing some pages if the document’s first page has a different aspect ratio to other pages. (V#1219)
- Fixed
Fixes blurry text fields when zoomed into a form. (#12661)
- Fixed
Fixes an issue when PSPDFKit is used in projects that do not use ARC. (#12892)
PSPDFKit
- Added
Adds support for transferring document level JavaScript when processing a document (#12769)
- Fixed
Fixes an issue with file size when flattening annotations. (#12749)
- Fixed
Fixes an issue in the bookkeeping of spread views which resulted in an assertion when looking for a specific page view. (#12654)
- Fixed
Fixes an issue where
PSPDFProcessor
didn’t export some annotations in particular documents. (#11795) - Fixed
Fixes an issue when saving a document that has been restored from a checkpoint. (#12890)
- Fixed
Fixes an issue with incorrect tab order in forms. (#12902)
- Fixed
Fixes an issue where some flattened documents may not show correctly in third party readers. (#12901)
- Fixed
Fixes an issue where actions weren’t properly persisted. (#12884)
- Fixed
Fixes an issue when exporting XFDF with non-ascii characters. (#12892)
- Fixed
Fixes an issue when the appearance stream of form elements was not correctly reset when applying XFDF values. (#12892)
7.0.2 - 20 Oct 2017
PSPDFKitUI
- Removed
Deprecates externalScreensDisableScreenDimming of PSPDFScreenController, in favor of PSPDFBrightnessManager.idleTimerManagement. (#12601)
- Added
Adds the ability to override the file name when using
PSPDFOpenInCoordinator
. SeeCustomSharingFileNamesExample
for details. (#12289) - Added
Adds
-[PSPDFViewController documentViewControllerDidLoad]
as a hook to customize the appearance of aPSPDFDocumentViewController
. (#12645) - Added
Adds options for smart management of the idle timer to
PSPDFBrightnessManager
. (#12601) - Added
Adds
additionalScrollViewFrameInsets
andadditionalContentInsets
toPSPDFConfiguration
to easily adjust what used to bemargin
andpadding
in v6. (#12736) - Changed
Moves
PSPDFBrightnessManager
to thePSPDFKit
singleton. (#12601) - Changed
The
PSPDFScreenController
is now more flexible and offers an additional delegate call to configure the mirroring view controller. Also see the newScreenMirroringExample
in PSPDFKit Catalog. (#12778) - Changed
Improves the page grabber design. (#11079)
- Changed
Improves the thumbnail bar layout on iPhone X. (#12702, #12703)
- Changed
Improves the flexible toolbar (annotation and document editor toolbar) layout on iPhone X. (#12727)
- Changed
Improves screen mirroring when inner scroll view offset is changed. (#12791)
- Changed
Improves the page grabber layout on iPhone X. (#12729)
- Changed
Improves the thumbnail view layout on iPhone X. (#12728)
- Changed
Improves content and scroll indicator inset behavior in vertical continuous mode. (#12575, #12739)
- Changed
Improves the layout of the note annotation view controller on iPhone X. (#12789)
- Changed
Improves support for modifying
PSPDFViewController.view
’s frame. (#12743) - Changed
Form button touch down events no longer require a minimum tap time. (#12709)
- Fixed
Fixes a regression on iOS 11 where the inline search mode didn’t accept touches. (#12671)
- Fixed
Fixes an issue where the page view was black for a split second when dismissing a modal view controller in front of it. (#12345)
- Fixed
Fixes an issue where a keychain warning was logged in invalid cases. (#12658)
- Fixed
Fixes an issue where the next page did not become visible in
PSPDFScrollPerSpreadLayout
based view hierarchies while bouncing a zoomed in spread. (#12269) - Fixed
Fixes a crash when clearing widget annotations in
PSPDFAnnotationTableViewController
. (#12797) - Fixed
Fixes content not being centered when zooming out. (#12365)
- Fixed
Fixes an issue where the view state was not restored properly on rotation. (#12673)
- Fixed
Fixes an issue where the frame of annotations and selected text was not updated correctly when zooming on a page. (#12514)
- Fixed
Fixes an issue where scrolling to a page via the scrubber bar didn’t work in some cases. (#12473)
- Fixed
Fixes an issue when restoring the state with an invalid document in place. (V#1238)
- Fixed
Fixes an issue when restoring state when zoomed into a document. (V#1243)
- Fixed
Fixes an issue where
PSPDFTextFieldCell
used a too narrow inset on iOS 11. (#12737) - Fixed
Fixes an issue where annotation inspector couldn’t be presented in vertical scrolling mode. (#12718)
- Fixed
Fixes an issue with content insets when the keyboard showed up. (#12652)
- Fixed
Fixes layout of table view cells including a slider. (#12754)
- Fixed
Fixes the flexible toolbar not supporting the top position on iPhone X. (#12784)
PSPDFKit
- Added
Adds support for proper removal of
PSPDFFormElements
when callingremoveAnnotations:
. (#12797) - Changed
Improves correctness for JavaScript
util.printf
call. (#12759) - Changed
Improves reliability when saving documents with broken cross-reference tables. (#12212)
- Fixed
Fixes issues with font selection for non latin languages. (#12297, #11639)
- Fixed
Fixes issues when restoring from checkpoints. (#12669)
- Fixed
Fixes an issue where text in some form fields may be cut. (#12494 and #11287)
- Fixed
Fixes an issue rendering text while zoomed in specific documents. (#12392)
- Fixed
Fixes an issue where underline annotations and text extraction may not work correctly for some documents. (#12070)
Instant
- Added
Adds
+[PSPDFInstantClient dataDirectory]
to access the path where Instant stores documents and annotations, which may be used to set a custom data protection class for Instant. (#12710) - Fixed
Fixes lock inversions that could cause live- or deadlocks when syncing finished while the document was still being parsed. (#11739)
7.0.1 - 12 Oct 2017
PSPDFKitUI
- Added
Adds
PSPDFDragAndDropConfiguration
to customize how and where Drag and Drop should work. (#12538) - Changed
Before storing images, PSPDFKit now checks for
NSPhotoLibraryAddUsageDescription
and warns if not set. (#12528) - Changed
Improves the bottom sound annotation player layout on iPhone X. (#12536)
- Changed
Improves behavior when tapping the edge of the page to scroll. (#12445)
- Fixed
Fixes an issue where the content offset was wrong when opening single page documents when a
PSPDFContinuousScrollingLayout
was used. (#12500) - Fixed
Fixes an issue where toolbar icons could be displayed smaller than they should if the toolbar was updated too early in some cases. (#12472)
- Fixed
Fixes the last double page spread in the thumbnails view being shown separated. (#12506)
- Fixed
Fixes several issues related to the continuous spread index by making the continuous spread index being derived from the center. (#12366, #12416, #12264, #12502, #12483)
- Fixed
Fixes an issue with the document label overlapping the status bar in case no navigation bar is shown. (#12401)
- Fixed
Fixes an image resource which was referenced invalid in the free text annotation accessory keyboard toolbar. (#12511)
- Fixed
Fixes an issue where the image editor couldn’t be dismissed. (#12530)
- Fixed
Fixes an issue where class overrides originating from
PSPDFPageView
were not used. (#12540) - Fixed
Fixes an issue with the sound annotation player not hiding when deleting the corresponding sound annotation. (#12529)
- Fixed
Fixes an issue where spread views removed from view hierarchy could be kept as visible which could cause assertion failures. (V#1213)
- Fixed
Fixes an issue with annotation changes not being saved before digitally signing a document. (#12195)
- Fixed
Fixes an issue where under certain view configurations, creating a new signature on an iPhone could fail. (#12570)
- Fixed
Fixes an issue where user interactions were ignored during showing and hiding of the user interface. (#12414)
- Fixed
Fixes an issue where rotating from portrait single-page mode to landscape double-page mode would cause the viewport to be zoomed in on the first page. (#12474)
- Fixed
Fixes an issue where the annotation list would become unresponsive when a large number of annotations were updated at a time. (#11539)
PSPDFKit
- Fixed
Fixes an issue where the leading zero was not displayed when formatting a number. (#12565)
- Fixed
Fixes an issue where some annotations may not be shown even when they are present in a document. (#12295)
Instant
- Changed
Updates the example app to Swift 4. (#12504)
- Fixed
Fixes creating an annotation also creating an additional empty annotation that was only stored locally. (#12542)
7.0.0 - 4 Oct 2017
See the announcement post.
PSPDFKit 7 is a major new release. PSPDFKit has been split into two frameworks: PSPDFKit.framework
for model and parser classes, and PSPDFKitUI.framework
for UI functionality including view controllers.
Below is a summary of the API changes in this release. For a full list, with our suggested migration strategy for each API that has been changed or removed, please see the migration guide, which will also help with the framework split.
- API
Removes all deprecated API. For a full list with suggested migration paths, see the migration guide. (#11669)
PSPDFKitUI
- API
Overhauls the view hierarchy for displaying documents. This involves many API changes. See the View Hierarchy section in the migration guide for much more detail. (#9773)
- API
Replaces various API around signature saving with a more versatile
PSPDFSignatureSavingStrategy
used byPSPDFSignatureViewController
andPSPDFConfiguration
for managing saving signatures. See the Signatures section in the migration guide for a full list of changes. (#9471) - API
Changes the stored ink signature type of
PSPDFSignatureStore
fromPSPDFInkAnnotation
toPSPDFSignatureContainer
.PSPDFInkAnnotation
objects will be migrated automatically to the newPSPDFSignatureContainer
. (#11841) - API
Renames
PSPDFUnsignedFormElementViewController
toPSPDFCertificatePickerViewController
including the related delegate and methods. (#11841) - API
Removes the document signing logic of
PSPDFCertificatePickerViewController
and removesunsignedFormElementViewController:signedDocument:error:
. This is now handled viaPSPDFDigitalSignatureCoordinator
. (#11841) - API
Removes ink annotation selection from
PSPDFCertificatePickerViewController
. This is now handled viaPSPDFDigitalSignatureCoordinator
. (#11841) - API
Renames
PSPDFHUDView
toPSPDFUserInterfaceView
with corresponding changes to related API. See the migration guide for a full list. (#9462) - API
Renames
PSPDFAnnotationViewProtocol
toPSPDFAnnotationPresenting
andPSPDFStatefulViewControllerProtocol
toPSPDFStatefulViewControlling
. (#11237) - API
Renames
-[PSPDFTextSelectionView selectionRect]
toinnerRect
. (#11870) - API
Renames
updatepageIndex:animated:
toreloadPageAtIndex:animated:
onPSPDFViewController
. (#11764) - API
Renames
PSPDFLinkActionInlineBrowserLegacy
toPSPDFLinkActionInlineWebViewController
. (#12424) - API
Replaces document info option strings on
PSPDFDocumentInfoCoordinator
with an extensible enum. (#11735) - API
Replaces
-[PSPDFToolbarButton setImage:]
with a similarly named propertyPSPDFToolbarButton.image
. (#11975) - Added
Adds support for changing the page mode when in a vertical scroll direction and in continuous page transition. (#12304)
- Added
Adds
PSPDFDigitalSignatureCoordinator
, used for customizing the path for storing a digital signed document and document presentation. (#11841) - Added
Adds support for selecting a digital signature certificate from the ink signature creation dialog. (#11841)
- Added
Adds support for digitally signing a document without an existing signature form element, by letting the user draw a new signature form element before signing. (#12083)
- Added
Adds support for adding biometric data to digital signatures created via the UI. (#980)
- Added
Adds a new sound annotation player that is shown on the bottom. Configurable via
soundAnnotationPlayerStyle
. (#11464) - Added
Adds
PSPDFDocumentInfoController
protocol implemented by controllers used inPSPDFDocumentInfoCoordinator
, to improve removal of invalid controllers. (#11458) - Added
Adds
-[PSPDFSelectionView panGestureRecognizer]
and convertsPSPDFSelectionView
to be purely gesture recognizer based. (#12310) - Added
Adds new vector based icons. (#11975)
- Changed
Improves the signature experience on Plus-sized iPhones. (#8857)
- Changed
Improves haptic feedback when moving the flexible toolbar. (#9093)
- Changed
Improves translations for various languages (#12191)
- Changed
Improves support for smaller images on the compact landscape phone bars. (#11975)
- Changed
Improves navigation bar animations and layout guide handling during user interface visibility transitions. (#12229)
- Changed
Improves default size calculation logic for various view controllers. (#12375)
- Changed
Uses a dark keyboard and keyboard accessory appearance when in night mode. (#11510)
- Changed
Introduces a new catalog example theme. (#12384)
- Changed
Works around an issue with iOS 11 Smart Punctuation that inserts a null character after a triple dash-tap. (rdar://34651564, #12280)
- Fixed
Fixes the long press to reset color preset feature on the annotation style inspector. (Z#6873)
- Fixed
Fixes a memory leak in continuous scroll mode. (#11971, #11134)
- Fixed
Fixes the default
overlayViewController
’s view jumping down after appearing. (#11645) - Fixed
Fixes a rare assertion when animating draw view bounds changes. (#12209)
- Fixed
Fixes annotation toolbar layout issues on iOS 11. (#11975)
- Fixed
Fixes animation issues occurring during the thumbnail view transition. (#12267)
- Fixed
Fixes scrubber bar flicker during the user interface fadein animation. (#12324)
PSPDFKit
- API
Removes most
PSPDFDocument
initializers and all class factory methods, in favor of just the flexibleinitWithDataProviders:
and the convenientinitWithURL:
. A full list of migration strategies for each method can be found in the migration guide. (#12087) - API
Removes the
baseURL
andfiles
properties fromPSPDFDocument
. (#12087) - API
Adds an options parameter to the
PSPDFDocument
save methods, which means thealwaysRewriteOnSave
property has been replaced byPSPDFDocumentSaveOptionForceRewrite
. See the Document Save Options section in the migration guide for more details. (#8297) - API
Renames
PSPDFProcessorSaveOptions
toPSPDFDocumentSecurityOptions
and renames related API. See the Document Save Options section in the migration guide for a full list of API changes. (#8297) - API
Removes disk cache strategy and page index parameters from
PSPDFCache
caching methods. (#11669) - API
Renames the
PSPDFDataProvider
protocol toPSPDFDataProviding
and adds more specialized protocols for file-backed data providers. Custom data providers can cooperate with PSPDFKit to support file coordination. (#11199) - API
The parameters of the
PSPDFFileCoordinationDelegate
methods now conform toPSPDFCoordinatedFileDataProviding
instead ofNSFilePresenter
. (#11199) - API
PSPDFXFDFParser
andPSPDFXFDFWriter
now usePSPDFDataProviding
andPSPDFDataSink
instead of aNSInputStream
andNSOutputStream
. (#11693) - API
Prefix changes: Renames
isAnnotationsEnabled
toareAnnotationsEnabled
,isBookmarksEnabled
toareBookmarksEnabled
,isPageLabelsEnabled
toarePageLabelsEnabled
andisFormsEnabled
toareFormsEnabled
onPSPDFDocument
. (#9742) - API
Renames
PSPDFUndoProtocol
toPSPDFUndoSupport
. (#11237) - API
Renames
-[PSPDFDocument documentByAppendingObjects:]
todocumentByAppendingDataProviders:
and this array can no longer contain instances ofNSString
,NSURL
, orNSData
. (#12087) - API
Renames the
dataProviderArray
property onPSPDFDocument
todataProviders
. (#12087) - API
Removes the
contentSignatures
property fromPSPDFDocument
and adds asignature
property to thePSPDFDataProviding
protocol. (#12087) - API
PSPDFRenderTask
can now fail. There is a new delegate methodrenderTask:didFailWithError:
, and thecompletionHandler
is now passed either an image or an error. (#11500) - API
Renames the class
PSPDFAbstractTextOverlayAnnotations
toPSPDFMarkupAnnotation
. (#10182) - API
Removes
-[PSPDFAnnotation isFixedSize]
. (#12007) - API
Renames
PSPDFileCoordinationDelegate
toPSPDFFileCoordinationDelegate
. (#11765) - API
Removes
-[PSPDFSignatureFormElement drawArrowWithText:andColor:inContext:]
subclassing hook. (#12083) - API
Removes document unrelated callback methods from
PSPDFDocumentDelegate
:pdfDocument:didRenderPageAtIndex:inContext:withSize:clippedToRect:annotations:options:
,pdfDocument:provider:shouldSaveAnnotations:
,pdfDocument:didSaveAnnotations:
,pdfDocument:failedToSaveAnnotations:error:
,pdfDocument:underlyingFileDidChange:
. (#12178) - API
Replaces
-[PSPDFLibrary updateIndex]
with-[PSPDFLibrary updateIndexWithCompletionHandler:]
. (#11509) - API
Removes metadata handling from
PSPDFLibrary
. (#12261) - API
Replaces
annotationsByDetectingLinkTypes:forPagesInRange:options:progress:error:
withannotationsByDetectingLinkTypes:forPagesAtIndexes:options:progress:error:
. (#11502) - Added
Adds Document Checkpointing to recover changes to documents that may not have been saved. (#8471)
- Added
Adds new
PSPDFSignatureAppearance
class, which allows you to configure the appearance of digital signatures in a document. (#980) - Added
Adds a
PSPDFSignatureBiometricProperties
class, which allows you to store and recover encrypted biometric information about a handwritten digital signature. (#980) - Added
Adds
signFormElement:withCertificate:writeToDataSink:withAppearance:completionBlock:
toPSPDFSigner
to allow signing documents to a genericPSPDFDataSink
. (#8879 and #11267) - Added
Adds creation methods for
PSPDFFormField
subclasses allowing you to create new form fields. (#12056) - Added
Adds
removeFormElements:error:
andremoveFormFields:error:
toPSPDFFormParser
. This allows removing of either form elements or form fields. (#11928) - Added
Adds support for changing many
PSPDFFormField
properties that were read-only before. (#12157) - Added
Adds support for setting any PDF as an appearance stream on an annotation using the
PSPDFAppearanceStreamGenerator
protocol. (#11428) - Added
Adds
PSPDFAnnotationProviderDelegate
for callback methods related to annotation saving. (#12178) - Added
Adds
outline
property toPSPDFDocument
, used for getting the documents’ outline. (#11801) - Added
Adds support for AES encryption when saving or processing a document. (#4420)
- Changed
Improves how
PSPDFLibrary
deals with long running indexing tasks. SeePSPDFLibrary.automaticallyPauseLongRunningTasks
. (#12158) - Changed
Improves progress handling by automatically canceling active document progress when all data provider progresses are canceled. (V#916)
- Changed
Improves library updates by making them completely asynchronous. (#11509)
- Changed
Improves exact phrase matching in
PSPDFLibrary
. (#12261) - Changed
Improves XFDF performance and compliance. (#11693)
- Changed
Changes
-[PSPDFDocument addAnnotations:options:]
and-[PSPDFDocument removeAnnotations:options:]
to accept options dictionaries with keys of typeNSString
. (#12008) - Changed
Implements
setMaxLength:
forPSPDFFormElement
. (#11834) - Changed
The
minimumSize
property ofPSPDFAnnotation
has been changed from 32 to 16. (#11871) - Fixed
Fixes an issue saving an original document after signing it. (#11911)
- Fixed
Fixes potential file coordinator races. (#11938, #11206)
- Fixed
Fixes an issue when rendering decomposed UTF-8 strings (#11985)
- Fixed
Fixes an issue in our KVO helper that could cause a recursive locking abort. This only was discovered with custom code and doesn’t affect default usage. (rdar://34307466, #11990)
- Fixed
Fixes an issue that prevented modifications to
compareOptions
for manual text searching (#12047). - Fixed
Fixes an issue where a digital signature field could not be properly deleted (#12082).
- Fixed
Fixes an issue where indexing wasn’t stopped when the application gets terminated. (#12215)
- Fixed
Fixes a cosmetic issue where an ink signature field may show as unsigned (#12127).
- Fixed
Fixes an issue where flattening a document may generate warnings when it is open in third party readers. (#12066)
Instant
- API
Renames the
PSPDFInstantDocumentDescriptor
methodsstartListeningForServerUpdates
andstopListeningForServerUpdates
tostartListeningForServerChanges
andstopListeningForServerChanges
, and thePSPDFInstantViewController
propertyshouldListenForChangesWhenVisible
toshouldListenForServerChangesWhenVisible
. (#12393) - Added
Adds support for showing download progress using PSPDFKit.
PSPDFDocument
s can now be obtained from document descriptors before the document has been downloaded. The document may be obtained immediately and set on aPSPDFInstantViewController
which will show a download progress bar. (#11199) - Added
Adds an
autoSyncDelay
property toPSPDFInstantDocumentDescriptor
which can be used to disable automatic syncing, giving you full control over when Instant syncs with the server. (#11681) - Fixed
Fixes an issue where an incorrect values could be persisted as PDF object IDs. (#11689)
6.9.3 - 1 Sep 2017
This will be one of the last releases in the PSPDFKit for iOS version 6 branch, while we’re busy working on version 7. It includes a fix for using it with Xcode 9, however we still recommend Xcode 8 for compiling and testing.
PSPDFKit 7 for iOS will require Xcode 9 and keep compatibility for iOS 9 until the end of the year to ease the transition. Read more about our version support here: https://pspdfkit.com/guides/ios/announcements/version-support/
- Changed
Improves performance for hit-testing ink annotations. (#11858)
- Changed
Improves apperance stream generation to not have extra space after non-latin characters in form fields. (#11874)
- Changed
Works around a crash in the bookmark view controller due to UIKit bug. (rdar://32485481, #11850)
- Fixed
Fixes a NaN calculation issue when linking with Xcode 9/Base SDK 11. (#11886)
- Fixed
Fixes an issue with recreating
AVPlayer
andAVPlayerItem
when it was in an error state. (#11864) - Fixed
Fixes an issue with view state restoration in
PSPDFMultiDocumentViewController
. (#11856) - Fixed
Fixes memory leaks in
PSPDFDocument
andPSPDFViewController
. (#11883) - Fixed
Fixes an infinite recursion when describing certain
NSValueTransformer
instances. (#11881) - Fixed
Fixes an issue where the keyboard was dismissed when typing a custom form value on iPad. (#11892)
- Fixed
Fixes a rare crash when saving. (#11861)
Instant
- Added
Adds support for note annotations. (#11704)
- Fixed
Fixes two lock-inversions that could cause live-lock or dead-lock when a document received changes while initially reading its annotations. (#11586)
- Fixed
Fixes a crash that could occur when a document was deleted while pages were still being rendered. (#11586)
6.9.2 - 16 Aug 2017
- Changed
Improves performance for loading and interacting with complex forms. (#11389)
- Changed
Improves the eraser radius calculations. (#11803)
- Fixed
Fixes a stamp annotation quality degradation issue for images after moving/resizing. (#11625)
- Fixed
Fixes a font selection issue with documents using the
Courier
font. (#11228) - Fixed
Fixes an issue where the
selected
property of annotation views was not set correctly. (#11687) - Fixed
Fixes a layout issue when moving knobs of callout annotation that could happen in rare cases. (#9750)
- Fixed
Fixes an issue where link annotations marked as readonly were not tap-able. (#11715)
- Fixed
Fixes an issue where documents could sometimes end up locked after saving when an owner-password is set. (V#1121)
- Fixed
Fixes an issue where the document cache was not properly invalidated when saving manually via
PSPDFDocumentEditor
. (#11767) - Fixed
Fixes
PSPDFMediaPlayerController
not behaving correctly in some cases when a subclass exists. (#11671) - Fixed
Fixes an issue in the sample catalog that made the subclassing category not show up. (#11707)
- Fixed
Fixes note annotation text not being editable after showing the icon and color options on iPhone on iOS 11 when building with the iOS 11 SDK. (#11789)
- Fixed
Fixes the icon and color buttons not being tappable when editing a note annotation on iOS 11 when building with the iOS 11 SDK. (#11789)
Instant
- Fixed
Fixes an issue where the Instant document descriptor was released too soon. (#11721)
- Fixed
Fixes a failed assertion due to an improper format string in an error condition. (#11747)
6.9.1 - 3 Aug 2017
- API
Changes the object of
PSPDFMediaPlayerControllerPlayback*
notifications fromPSPDFGalleryVideoItem
toPSPDFMediaPlayerController
. (#11549) - Added
Adds support for external named destinations in
PSPDFRemoteGoToAction
. (#11320) - Changed
Allows backwards selection of text when creating markup annotations. (#11583)
- Changed
Improves handling of galleries and videos during screen mirroring. (#11549)
- Changed
Improves drawing and the erasure tool when using the Apple Pencil. (#11527)
- Changed
Improves the rendering of polygon annotations. (#11620)
- Changed
Improves form text rendering with non-latin characters. (#10996)
- Fixed
Fixes an issue where videos were shown fullscreen when screen mirroring was enabled. (#11549)
- Fixed
Fixes a color management issue for file annotations. (#11488)
- Fixed
Fixes an issue where annotation assets might have gotten overwritten in some cases. (#11581)
- Fixed
Fixes incorrect default resizing behavior for freetext and callout annotations. (#11630)
- Fixed
Fixes a leaking color space when encoding images. (#11512)
- Fixed
Fixes an issue where an image annotation with a note could lose the image data. (#11652)
Instant
- API
Renames
PSPDFInstantClient
’ssignOut
toremoveLocalStorage
, which makes more sense because there is no explicit signing in. (#11619) - Added
Adds automatically recovering from connection errors when automatic sync is active. (#11506)
- Added
Adds the annotation selection tool to the default annotation toolbar. (#11565)
- Added
Adds error codes for cases that were previously reported as “unknown”. (#11522)
- Fixed
Fixes continuing to listen for updates if the app keeps running in the background. Listening now resumes when the app comes back to the foreground. (#11542)
- Fixed
Fixes incorrect handling/reporting of an authentication error during sync. (#11386)
- Fixed
Fixes an incorrect log message format that could lead to a failed assertion. (#11634)
- Fixed
Fixes deletion of multiple annotations at once. (#11651)
6.9.0 - 20 Jul 2017
See the announcement post.
- Added
Adds Instant: an easy-to-integrate solution to connect your app to your PSPDFKit Server to download documents and synchronize annotations between users. Everything’s synced in an instant!
- API
Adds option to configure flattening or embedding of form elements to
PSPDFProcessorConfiguration
. (#11096) - API
Introduces failable
annotationsByDetectingLinkTypes:forPagesInRange:options:progress:error:
instead ofannotationsFromDetectingLinkTypes:pagesInRange:options:progress:error:
. (#11125) - API
Changes
isFixedSize
andfixedSize
to be instance properties onPSPDFAnnotation
. (#10931) - API
Moves
allowedImageQualities
toPSPDFImagePickerController
fromPSPDFAnnotationStateManager
. (#11172) - API
Audit and update several nullability declarations for correctness. (#11183)
- API
The method
extractImageFromAppearanceStreamWithTransform:error:
onPSPDFAnnotation
has been removed. Use the equivalentloadImageWithTransform:error:
method onPSPDFStampAnnotation
. The call was not useful for other annotation types. (#11185) - API
PSPDFDocument
’sundoController
is now declared asnullable
and set tonil
whenundoEnabled
is disabled shortly after document initialization. (#11476) - API
Adds
pdfViewController:didDeselectAnnotations:onPageView:
as a newPSPDFViewControllerDelegate
callback. (#11485) - Added
Adds improved markup annotation behavior to select blocks of text. This makes certain selections easier to create. (#10482, #9768)
- Added
Adds support for flattening signature annotations. (#11096)
- Added
Adds language-based filtering options to the PSPDFKit Catalog example. (#5436)
- Added
Adds Adobe root CA by default when using
PSPDFSignatureManager
, so that documents can be more easily verified the same way as on desktop readers. (#11240) - Added
Adds support for
Instant.framework
tostrip-framework.sh
. (#11362) - Changed
Works around a content inset layout issue of the search bar in the outline and annotation list, when the navigation bar has a background image set. (#10878, rdar://32980288)
- Changed
The global SQLite message logger now filters out irrelevant common known logs from iOS like cfurl_cache_response. (#10890)
- Changed
PSPDFBookmarkViewController
now automatically scrolls to inserted bookmarks. (#11029) - Changed
Improves certificate validation for digital signatures. (#11128)
- Changed
Improves support for more types of certificates in digital signatures. (#11083)
- Changed
Improves RTL language support in forms. (#11013)
- Changed
Improves automatic layout during callout annotation knob dragging. (#9750)
- Changed
Improves memory management when rendering forms. (#11176)
- Changed
Improves support for file presenter based document deletion notifications in multi data provider documents. (#10362)
- Changed
Improves interaction while drawing annotations by introducing a draw gesture recognizer on
PSPDFDrawView
. (#7655) - Fixed
Fixes a crash related to bookmarks when viewing multiple documents. (#11020)
- Fixed
Fixes very rare issue on saving files repeatedly. (#9477)
- Fixed
Fixes an access to the view’s bounds on a background thread when laying out the thumbnails view. (#11084)
- Fixed
Fixes an issue where in some configurations a scroll view, that was out of our control, was modified. (#10981)
- Fixed
Fixes an issue where selecting an annotation in the outline view would not navigate to the correct page in multi-provider documents. (#11136)
- Fixed
Fixes a problem while importing some kind of certificates for digital signatures. (#11120)
- Fixed
Fixes an issue where UI code was called on a background thread. (#11408)
- Fixed
Fixes an issue where disabling screen mirroring didn’t work in some cases. (#11171)
- Fixed
Fixes an issue where one
PSPDFSignerError
had an invalid error code. (#11186) - Fixed
Fixes an issue occurring after searching in
PSPDFOutlineViewController
. (#11268) - Fixed
Fixes issues with language selection in the Catalog example on iOS 11. (#11342)
- Fixed
Fixes some crashes when signing a particular type of PDF documents. (#11285)
- Fixed
Fixes an issue where the close buttons in the tabbed bar were not correctly shown when using
PSPDFTabbedViewControllerCloseModeSizeDependent
in some cases. (V#590) - Fixed
Fixes an issue where signatures could show the certificate issuer name instead of the certificate subject name. (#11368)
- Fixed
Fixes a rare race condition in the render queue that could occur when using any kind of drawing based annotation with the eraser tool while a page rendering completes. (#11326)
- Fixed
Fixes an issue where some digital signatures couldn’t be open in Adobe Acrobat. (#11390)
- Fixed
Fixes a retain cycle in the document info UI. (11260)
- Fixed
Fixes a layout issue when a document with partially broken pages is loaded. (#11481)
- Fixed
Fixes an issue where no annotations were shown in
PSPDFAnnotationTableViewController
, wheneditableAnnotationTypes
was empty. (#11391) - Fixed
Fixes an issue with encoding preloaded monochrom images. (#10985)
- Fixed
Fixes a rare deadlock related to undo operations. (#11479)
- Fixed
Fixes a data race in
PSPDFRenderQueue
. (#11494) - Removed
Deprecates
annotationsFromDetectingLinkTypes:pagesInRange:options:progress:error:
. (#11125) - Removed
Deprecates
allowedImageQualities
onPSPDFAnnotationStateManager
. (#11172) - Removed
Deprecates
isHighlightAnnotationState:
in favor ofisMarkupAnnotationState:
. (#10482, #9768) - Removed
Deprecates fixed size class methods on
PSPDFAnnotation
in favor of instance properties. (#10931) - Removed
Deprecates
allowedTouchTypes
onPSPDFDrawView
and introduces it onPSPDFDrawGestureRecognizer
. (#7655) - Removed
Deprecates the
undoEnabled
property onPSPDFUndoController
. (#11476)
6.8.0 - 22 Jun 2017
See the announcement post.
This release removes the embedded OpenSSL. This results in a smaller binary and faster link times.
- Added
Adds new digital signature implementation that no longer relies on OpenSSL. (#10864)
- Added
Adds support for filtering watermarks (enabled by default). See
PSPDFDocument.isWatermarkFilterEnabled
(#8144, #10874) - Added
Adds support for opening the Settings app from the privacy access denied controller. (#10526)
- Changed
Uses the app name instead of “This app” in the privacy access denied controller. (#10528)
- Changed
Makes the disclosure button of
PSPDFOutlineCell
tintable. (#10818) - Changed
Works around an issue where
UISearchController
would load its view duringdealloc
. (#10936) - Changed
Various refinements around nullability that have been discovered with Xcode 9’s Undefined Behavior Sanitizer. (#10876)
- Changed
Preserves the previous state of the
expanded
value for outline elements after searching inPSPDFOutlineViewController
. (#10862) - Changed
Improves action resolving in multi-provider documents. (#10782)
- Changed
Improves the popover sizing of the choice form editor view controller. (#10621)
- Changed
Improves style manager support for color presets and fixes various smaller issues. (#10930)
- Changed
Improves rotation on iPads when using automatic page transition, i.e. rotating from landscape to portrait shows the last interacted page. (#11033)
- Changed
Improves support for form filling via JavaScript. (#10979)
- Changed
Improves documentation of the digital signatures feature. (#11027)
- Fixed
Fixes an issue when tapping a search result in some documents. (#10844)
- Fixed
Fixes issue while saving PDF files. (#10849)
- Fixed
Fixes a leak when rendering a bitmap. (#10847)
- Fixed
Fixes an issue where the “Open In” activity was not shown for non-URL backed documents. (#10854)
- Fixed
Fixes an issue where documents with incorrectly created annotations could cause infinite loops. (#10640)
- Fixed
Fixes rare file coordination related crashes and deadlocks. (#10935)
- Fixed
Fixes an issue where the bookmark migration could deadlock in some configurations. (#10857)
- Fixed
Fixes an issue where the page grabber could cause a crash on 32bit devices when switching from a multi page document to a single page document in a visible view controller instance. (V#929)
- Fixed
Fixes an issue with digital signatures where a name and date was required. (#7892)
- Fixed
Fixes an issue where the page wasn’t preserved in automatic page mode when rotating from portrait to landscape and back to portrait. (#10988)
- Fixed
Fixes an issue where embedded files with very long names might fail to be extracted correctly. (#11028)
- Fixed
Fixes an issue with digital signatures where some valid signatures are not recognized by Adobe Reader. (#9565)
- Fixed
Fixes an issue where the cache is not properly invalidated if saving a document fails. (#11022)
6.7.2 - 31 May 2017
- Changed
Update OpenSSL to 1.0.2l. (#10820)
- API
Adds option to configure background indexing queue priority in
PSPDFLibrary
. (#10619) - Added
Adds file coordination support to
PSPDFDocumentEditor
. (#10595) - Changed
Moves Bookmarks in front of Annotations in the document info view controller tab order. (#10666)
- Changed
PSPDFAnnotationTableViewController
now has smarter defaults when neithervisible
- noreditableAnnotationTypes
are set. (#10788) - Changed
Improves
PSPDFDocument
andPSPDFFileDataProvider
documentation, clarifying the expected behavior with symlinks and alias files. (#10750) - Changed
Improves error handling for saves that fall back to external file saving due to an unwritable document. (#10805)
- Fixed
Fixes an issue where editing a bookmark could result in a crash. (#10607, #10723)
- Fixed
Fixes an issue with document render options when mirroring the screen. (#10676)
- Fixed
Fixes an issue where annotations were drawn in the wrong size if
fitToWidth
was set toPSPDFAdaptiveConditionalAdaptive
and the adaptive style would have been mapped to a disabled fit to width behavior. (#9754) - Fixed
Fixes an issue where bookmarks lost their custom sort order when migrating from PSPDFKit 5 for iOS. (#10705)
- Fixed
Fixes issue with free text annotations ending editing mode on rotation in continuous page transition mode. (#10671)
- Fixed
Fixes an issue where the outline controller was shown when there was no outline in a document. (#6902)
- Fixed
Fixes an issue where custom bookmark providers did not receive a save call if the annotation save mode was set to
PSPDFAnnotationSaveModeExternalFile
orPSPDFAnnotationSaveModeDisabled
. (#10665) - Fixed
Fixes
PSPDFDocumentPickerController
not persisting the FTS index. (#10704) - Fixed
Fixes smaller document editor glitches caused by file presenter updates. (#10595)
- Fixed
Fixes an issue with saving files that did not conform completely to the PDF format. (#10712)
- Fixed
Fixes an issue with Digital Signatures. (#10762)
- Fixed
Fixes an issue where the text selection loupe magnification could break after moving it to a different page. (#10589)
- Fixed
Fixes an issue with saving link annotations. (#10355)
- Fixed
Fixes a potential deadlock that could occur when performing synchronous saves of encrypted documents on the main thread. (#10789)
- Fixed
Fixes an issue where saving an unwritable document using
PSPDFAnnotationSaveModeEmbeddedWithExternalFileAsFallback
would fail. (#10805) - Fixed
Fixes a leak when rendering a bitmap. (#10777)
6.7.1 - 22 May 2017
- API
Adds a new global configuration option that allows you to opt out of
PSPDFDocument
file coordination if needed. By settingPSPDFFileCoordinationEnabledKey
to@NO
,PSPDFDocument
no longer implicitly createsPSPDFCoordinatedFileDataProvider
instances when initialized with a URL. Instead the non-coordinatedPSPDFFileDataProvider
is used. (#10608) - API
Adds annotation indexing capabilities to
PSPDFLibrary
. (#9235) - API
Adds
PSPDFRenderManagerRenderResultDidChangeNotification
which is posted when a document’s data changes so that a rendering of its pages would look different. (#10489) - API
Adds
PSPDFRenderOptionTextRenderingUseCoreGraphicsKey
andPSPDFRenderOptionTextRenderingClearTypeEnabledKey
as advanced rendering options. (#10231) - Added
Adds support for mirroring a
PSPDFViewController
viaPSPDFScreenController
to an external screen. (#2527) - Changed
Using
setRenderOptions:type:
with typePSPDFRenderTypeAll
now works as expected. (#10231) - Changed
The FTS indexer scans faster and is limited to one thread with a low priority. (#10618)
- Changed
Improves file data provider behavior during progress indication by blocking file access while the file might not yet be completely written. (V#880)
- Changed
Improves the customization options for the page grabber. (#10538)
- Changed
Improves saving behavior around encrypted files. (V#879, #9088)
- Changed
Improves performance around reading PDF files. (V#879, #10554)
- Changed
Improves performance when reading page labels (V#879, #10575)
- Changed
Improves reliability of Spotlight indexed
PSPDFLibrary
documents being found. (#10658) - Changed
Improves
PSPDFLibrary
’s handling of queued documents whenupdateIndex
is called, ensuring no stale data is indexed. (#10662) - Fixed
Fixes an issue that could prevent PSPDFDocument deserialization using
initWithCoder:
. (V#880) - Fixed
Fixes handling of annotations with the
NoView
andPrint
flags set, and now renders them in documents generated for printing. (#9725, #10459) - Fixed
Fixes an issue when migrating from old bookmark data. (#10560)
- Fixed
Fixes an issue with the empty state of the outline controller. (Z#6161)
- Fixed
Fixes an issue with the page range selection not showing up for some sharing options. (Z#6155)
- Fixed
Fixes an issue where the page grabber might not be visible when the document starts in its loading state and then becomes available. (#10604)
- Fixed
Fixes a crash related to embedded files when the asset name is invalid. (10601)
- Fixed
Fixes a crash when parsing invalid metadata. (#10611)
- Fixed
Fixes a very rare crash when using the page grabber. (V#929)
- Fixed
Fixes an issue where coordinated file access could end up in a deadlock. (#10622)
- Fixed
Fixes an issue where radio buttons were rendered incorrectly (#10631)
- Fixed
Fixes
PSPDFLibrary
indexing completed notifications not including thePSPDFLibraryNotificationSuccessKey
in theuserInfo
. (#10662) - Fixed
Fixes an issue with the outline popover sizing on some devices. (#10594)
- Removed
Deprecates
pdfViewController:didRenderPageView:
and replaces it with more accurate delegate calls. (#9577) - Removed
Deprecates a few properties in
PSPDFSignaturePropBuildEntry
. (#10448)
6.7.0 - 10 May 2017
See the announcement post.
- API
Adds
PSPDFDefaultScale()
which returns the main screen scale on iOS and 1.0 on macOS. (#10438) - API
All
fileURL
basedPSPDFDocument
s are now backed byPSPDFCoordinatedFileDataProvider
instances. The initialization flow for file data providers and the behavior of somefileURL
related methods onPSPDFDocument
have slightly changed to accommodate file coordination. (#1859) - API
Simplified API of
PSPDFModel
, removes several methods which should not be required to be called or subclassed. (#10221) - API
PSPDFBookmark
is now fully immutable. If you want to change a bookmark, create a mutable copy, change it, and add it to the bookmark manager again. (#9308) - API
Add notifications for gallery video playback state changes to
PSPDFMediaPlayerController
. (#9758) - API
PSPDFStatefulTableViewController
conforms to the newly addedPSPDFStatefulViewControllerProtocol
protocol. (V#775) - API
Rename enum
PSPDFStatefulTableViewState
toPSPDFStatefulViewState
. (V#775) - API
PSPDFNoteAnnotationViewController
now declares that it implementsUITextViewDelegate
. (#10407) - API
Renames
-[PSPDFRenderQueue cancelAllJobs]
tocancelAllTasks
. (#10417) - Added
Adds the option to specify the image scale in a
PSPDFRenderRequest
. (#10413) - Added
Adds support for coordinated file operations to
PSPDFDocument
and implements theNSFilePresenter
protocol. (#1859) - Added
Adds
PSPDFPageGrabberController
andPSPDFPageGrabber
to provide UI to quickly scroll through a document. (#76) - Added
Adds support for
PSPDFDocument
progress indication via thePSPDFFileProvider
API. Check outDocumentProgressExample.swift
for more information. (#10410) - Added
Adds an error handling delegate method to
PSPDFTextSearchDelegate
to better notify of errors during text search. (#10276) - Added
Adds support for
PSPDFAnnotationTriggerEventLooseFocus
JavaScript events. (#10295) - Added
Adds support for the
NeedAppearances
form flag. (#10288) - Added
Adds support for automatically closing deleted documents to
PSPDFViewController
andPSPDFTabbedViewController
. (V#790) - Added
Adds support for respecting
minimumSize
ofPSPDFAnnotation
during creation as well. (#10435) - Added
Adds a
contentsLocked
property toPSPDFAnnotation
that checks thePSPDFAnnotationFlagLockedContents
flag. We now do not allowing editing contents for annotations with this flag. (#9552) - Added
Adds support for searching choice form options. (#10306)
- Added
Adds the form navigation bar to the top of choice form options when in half modal presentation. (#10307)
- Changed
Improves naming for the ink annotation fill color inspector option. (#10088)
- Changed
Improves
PSPDFTextSearch
handling of invalid or locked documents. (#10276) - Changed
Improves support for custom bookmark provider. (#9649)
- Changed
Improves the user experience when the user denied access to the camera or the photo library. (#9752)
- Changed
Improves performance around complex PDF documents. (#10290, #10295)
- Changed
Improves cache invalidation when files change while the document is not opened or the app is not running. (#10212)
- Changed
Improves
NSCoding
support forPSPDFFileDataProvider
, by ensuring its URL is preserved in application path independent way. (V#817) - Changed
Improves sqlite3 linking. (#10089)
- Changed
Improves reliability of reading from data providers. (#10382)
- Changed
Improves documentation of
PSPDFX509
’s memory model for the encapsulatedOPENSSL_X509
object. (#10225) - Changed
Improves documentation of some annotation flags which were incorrectly said to have been ignored. (#9552)
- Changed
Choice form options now are automatically scrolling to the selected index when shown. (#10295)
- Changed
PSPDFTabbedViewController
no longer automatically emits taptic feedback when selecting tabs. (#10371) - Fixed
Fixes an issue where the
cachePolicy
of a render request could be ignored in some cases. (#10428) - Fixed
Fixes highlight annotations rendering incorrectly in documents created by PowerPoint and some other PDF creators. (#9677)
- Fixed
Fixes
PSPDFFontSizeName
not being public despite being referenced in the documentation. (#10223) - Fixed
Fixes an issue when setting
pageIndex
beforePSPDFViewController
was shown. (#10079) - Fixed
Fixes an issue where bookmarks were not being saved for viewer only licenses. (#10025)
- Fixed
Fixes the Clear Field button not being enabled at the correct times when editing form fields. (#10254)
- Fixed
Fixes a retain cycle in
PSPDFOutlineElement
. (#10287) - Fixed
Fixes an issue with scrolling in the outline list. (#10251)
- Fixed
Fixes rendering issues with
Arial Narrow
. (#10244) - Fixed
Fixes an issue where annotations were rendered in an outdated state when modifying annotations while rendering was in progress. (#9991)
- Fixed
Fixes an issue with collapsing outline elements when searching (#10409)
- Fixed
Fixes a locking issue related to UID generation. (#10453)
- Fixed
Fixes an issue where the document editor cell layout could remain out of date after a collection view bounds size change. (#9511)
- Fixed
Fixes an issue that could result in a very long running loop when rendering PDF documents with broken dashed lines. (#9764)
- Removed
Deprecates
-[PSPDFRenderQueue concurrentRunningRenderRequests]
. (#10417)
6.6.1 - 13 Apr 2017
- API
Adds
soundAnnotationRecordingOptions
toPSPDFConfiguration
to configure recording parameters when creating a new sound annotation. (#10120) - API
PSPDFDocumentPickerCell
now uses custom image view and labels to improve the layout. (#10108) - Changed
Improves the view state restoration logic when a view controller is presented with/without the toolbar. (V#723)
- Changed
Improves stability in low memory situations. (#10086)
- Changed
Improves error reporting in
PSPDFPKCS12
when unlocking fails. Also fix premature unloading of OpenSSL digests/algorithms from memory. (#10021, #10022) - Changed
Improves support for adaptive user interfaces in
PSCCustomToolbarExample
. (#9578) - Changed
Improves some warning log messages for better clarification. (#10168)
- Changed
Freshens up the visual design of
PSPDFDocumentPickerController
. (#10108) - Changed
Moves error codes reported by
PSPDFPKCS12
into thePSPDFErrorCode
enum to be more consistent with the rest of the framework. (#10022) - Changed
Default sample rate for sound annotation recordings has been lowered to 22,050 samples per second to comply with the PDF specification and to decrease the file size. (#10120)
- Fixed
Fixes an issue when using the image picker on form elements in double page mode. (#10069)
- Fixed
Fixes an issue with loading XFDF annotations. (#10096)
- Fixed
Fixes text color in form fields not rendering correctly and not being compatible with other PDF readers. (#10090)
- Fixed
Fixes the processor call to
setFormMappingNameMappings:
. (#10102) - Fixed
Fixes an issue with invisible form fields if their bounding box wasn’t normalized. (#10035)
- Fixed
Fixes an issue with flattening form fields appearing upside down. (#10036)
- Fixed
Fixes status bar related HUD issues. (#9975)
- Fixed
Fixes an issue where the freetext annotation intent conversion option was shown in the annotation inspector during annotation creation. (#9109)
- Fixed
Fixes an issue where certain bar button items would remain selectable when disabled. (#9130)
- Fixed
Fixes annotation toolbar drag & drop for certain container view controller arrangements. (#9746)
- Fixed
Fixes a layout issue in
PSPDFDocumentPickerController
(#9743) - Fixed
Fixes an issue with displaying the empty state of the outline list. (#10151)
- Fixed
Fixes an issue where wrong values were rendered in forms. (#10007)
- Fixed
Fixes an issue while saving with a
PSPDFXFDFAnnotationProvider
. (#10187) - Fixed
Fixes an issue that could cause very low priority render tasks to never be executed. (#10166)
- Fixed
Fixes an issue with infinite loop galleries when presented modally. (#9941)
- Fixed
Fixes an issue with using
-[PSPDFDocument setPageBinding:]
. (#10186) - Removed
Deprecates cache pausing and resuming as this is no longer necessary with the improved render engine. (#10166)
6.6.0 - 6 Apr 2017
See the announcement post.
PSPDFKit now requires and is built with Xcode 8.3 (8E162).
- API
Various methods have been converted to properties where appropriate. This is source compatible for Objective-C but might require small adjustments in Swift code. (#9854)
- API
Adds
PSPDFDocumentPDFMetadata
. This class allows you to retrieve and set metadata in a PDF. This deprecates-[PSPDFDocument metadata]
. - API
Adds
PSPDFDocumentXMPMetadata
. This class allows you to retrieve and modify data in the XMP stream inside a PDF document. - API
Adds
clearRegisteredSigners
toPSPDFSignatureManager
to remove all registered signers. (#9908) - API
PSPDFOutlineCell
now uses a customnameLabel
property instead ofUITableViewCell
stextLabel
for displaying the outline name. (#9930) - API
Adds
formFieldNameMappings
andformMappingNameMappings
toPSPDFProcessorConfiguration
for changing the name of form fields. (#9868) - API
Adds
shouldShowImageEditor
toPSPDFImagePickerController
, which configures showing the image editor. (#10058) - Added
Adds support for right to left page bindings and automatically changes the page order for the main page view, the scrubber bar, the thumbnail bar and the thumbnail view mode. (#1973)
- Added
Adds more callbacks to
PSPDFImagePickerControllerDelegate
to get the selected and edited images from the image picker. (#9510) - Added
Adds the ability to keep the outline hiearchy intact and to collapse and expand elements while searching. (#9930)
- Changed
Changes the line thickness slider in the inspector (
PSPDFAnnotationStyleViewController
) to be more precise for smaller values and reduces the minimum thick