Changelog for iOS
RSS14.10.0 25 Jun 2025
- ChangedNutrient iOS SDK now requires and is built with Xcode 16.4.
PSPDFKitUI
- AddedAdds
AIAssistantViewController
for programmatic AI Assistant integration with custom presentation. (J#IOS-762) - AddedAdds multiple document support for AI Assistant to chat about more than one document at a time. See the "AI Assistant with multiple documents" example (MultiDocumentAIAssistantExample.swift) for how to use it. This feature requires a new license component for AI Assistant, which will be available in the AI Assistant 1.5 release. Contact our Sales team(opens in a new tab) for more information. (J#IOS-762)
- ChangedImproves the presentation of
SignatureSelectorViewController
so it starts filling half the height of the screen in compact widths. The user can scroll the sheet to fill the screen if needed. (Z#125041) - FixedFixes secondary clicks that wrongly selected text instead of the underlying annotation. (J#IOS-688)
- FixedFixes unexpected page jumps that occur when the page mode changes after a
PDFView
resize. (J#IOS-592) - FixedFixes an issue where very small ink signatures weren't placed inside the signature form field used to initiate signing. (Z#124893)
PSPDFKit
- ChangedImproves font embedding behavior. Fonts will be embedded more often, resulting in a better experience when viewed in outside viewers. (J#CORE-850)
- FixedFixes an incorrect error — “Ignoring invalid explicit mode URL” — when calling
LibraryFileSystemDataSource.didAddOrModifyDocument(at:)
with a URL with symlinks or starting with/private
. (Z#125022) - FixedFixes an issue where some CA certificates weren't recognized as such. (J#CORE-857)
- FixedFixes an issue where the status of some long-term validation signatures may be 'invalid'. (J#CORE-858)
- FixedFixes a crash when creating a text parser for a page if verbose logging is enabled. (J#CORE-859)
- FixedFixes a modified annotations error in Adobe Reader after signing documents with ink and highlight annotations. (J#CORE-837)
- FixedFixes an issue where small ink signatures weren't detected as overlapping when they covered only a small portion of a signature form field. (Z#124893)
- FixedFixes the AI Assistant error of "Origin not allowed". (Z#125175)
Examples
- AddedAdds the "AI Assistant with multiple documents" example to demonstrate how to use AI Assistant with multiple documents. This feature requires a new license component for AI Assistant, which will be available in the AI Assistant 1.5 release. Contact our Sales team(opens in a new tab) for more information. (J#IOS-756)
14.9.0 29 May 2025
This release removes APIs that were deprecated between Nutrient iOS SDK 13.2 and 13.4 (inclusive). For more information, see the migration guide(opens in a new tab).
PSPDFKitUI
- RemovedRemoves the deprecated
PDFView
initializers that took anObservedObject<Document>
. Pass theDocument
directly as a parameter instead. (#47415) - ChangedImproves the behavior of
MarkupAnnotationMergeBehavior.ifColorMatches
to not merge text markup annotations if this would result in losing comments. (J#IOS-495) - FixedFixes text markup annotations having incorrect
rects
after undoing merging (withMarkupAnnotationMergeBehavior.ifColorMatches
). (J#IOS-495) - FixedFixes annotation toolbar resizing when selecting a tool after device rotation or when starting to edit a free text annotation. (J#IOS-61)
- FixedFixes an issue where navigation bar button items configured with
leadingItemGroups
andtrailingItemGroups
weren't displayed. (J#IOS-38)
PSPDFKit
- RemovedRemoves the deprecated
PageSize
initializerinit(_:name:)
. Useinit(size:name:)
instead. (#47415) - RemovedRemoves the deprecated
TextSearch
propertycompareOptions
. UsecomparisonOptions
instead. (#47415) - FixedFixes an issue where certain form field flags weren't considered correctly. (J#CORE-838)
- FixedFixes an issue where form fields weren't formatted correctly at all times. (J#CORE-676)
- FixedFixes an issue where the primary language of the document wasn't preserved when using the document editor. (J#CORE-840)
Examples
- AddedAdds a Catalog example showing adding annotations from a menu so the toolbar is only for drawing. (#46515)
- AddedAdds a Catalog example showing replacing the annotation toolbar with Apple’s tool picker from PencilKit. (#46515)
14.8.0 30 Apr 2025
- ChangedNutrient iOS SDK now requires and is built with Xcode 16.3.
PSPDFKitUI
- AddedAdds the
PDFView
modifiermenuForCreatingAnnotation
to customize the menu shown when long pressing an empty part of a page. (J#IOS-719) - FixedFixes memory leaks with
PDFView
when used with a scope and the document changes after creation. (J#IOS-752) - FixedFixes the Select More menu item being included in the menu for selected annotations, even when
editableAnnotationTypes
doesn’t containselectionTool
. (#47224)
PSPDFKit
- AddedAdds support for preserving PDF/UA tags when using Document Editor. (J#CORE-750)
- AddedAdds support for the Acrobat JavaScript API
AFTime_KeystrokeEx
. (J#CORE-639) - AddedAdds support for the PDF JavaScript ‘global’ object. (J#CORE-801)
- ChangedImproves appearance stream rendering in single-line callout and free text annotations to better fit the bounding box. (J#CORE-819)
- ChangedImproves the responsiveness of starting Content Editor on pages with complex vector graphics like building plans. (#47157)
- ChangedChanges the
GoToAction
to set the destination to the page reference instead of the page index. This means theGoToAction
follows the page even if pages are moved or deleted. (J#CORE-813) - FixedFixes Document Editor incorrectly allowing saving in place when a custom annotation provider was used in addition to the default file annotation provider. Document Editor only supports saving in place when all annotations are in the PDF. (Z#123923)
- FixedFixes a regression where certain OCR-processed PDFs could no longer be read correctly. (J#CORE-825)
- FixedFixes an issue where TIFF files that switched between page sizes were rendered incorrectly. (J#CORE-820)
- FixedFixes an issue where rebuilding the cross-reference table on certain invalid PDFs didn’t work correctly. (J#CORE-815)
- FixedFixes an issue where the ‘Widget’ tab order was calculated incorrectly. (J#CORE-818)
- FixedFixes an issue where the message ‘Unknown additional action trigger: Type’ may appear repeatedly in logs. (J#CORE-801)
- FixedFixes text not being marked as fitting when using
generateInstantJSON(version:)
with a free text annotation. Before, the fitting attribute was only included when using the API without the version parameter. (Z#123441) - FixedFixes text not being marked as fitting when exporting XFDF for a free text annotation. (Z#123441)
Instant
- AddedAdds AI Assistant for Instant-managed documents. This can be used to summarize, translate, and ask questions about documents. This feature requires you to run Nutrient AI Assistant on your server. Once that’s set up, provide your
AIAssistantConfiguration
and addAIAssistantButton
oraiAssistantButtonItem
to your toolbar. If you’d like to try this, refer to our AI Assistant guides(opens in a new tab). (J#IOS-750)
Examples
- AddedAdds a Catalog example showing importing annotations from XFDF. (#47153)
14.7.0 2 Apr 2025
PSPDFKitUI
- ChangedImproves scrolling performance on Mac when the pointer is over a page with lots of text. (J#IOS-687)
- FixedFixes executing an action causing
BackForwardActionList
to reset itsforwardList
in some cases. (J#IOS-728) - FixedFixes page views not caching their full page render for certain combinations of page size and view size. (#46956)
- FixedFixes a crash when calling
AnnotationStateManager.toggleImagePickerController(_:presentationOptions:)
with a sender that wasn’t aUIView
(such as aUIBarButtonItem
). (#46957)
PSPDFKit
- AddedAdds support for passing numbers to
fields.setItems()
in PDF JavaScript. (J#CORE-794) - FixedFixes an issue when regenerating ‘off’ checkbox and radio button appearances. (J#CORE-773)
- FixedFixes an issue with decoding certain Unicode text. (J#CORE-771)
- FixedFixes a crash when parsing certain kinds of timestamp certificates. (J#CORE-788)
Instant
- AddedAdds the callout annotation tool in the annotation toolbar for the default configuration. (#46807)
- FixedFixes adding Instant JSON annotations causing an assertion when adding them to an Instant-managed document. (#46977)
Examples
- AddedAdds a Catalog example showing how to remove the Writing Tools menu item. (Z#122763)
14.6.0 6 Mar 2025
This will be our last release published to the CocoaPods specs repository (aka trunk) in preparation for this service becoming read-only(opens in a new tab). Our documentation has always shown adding our pod
using an explicit podspec
URL rather than from trunk, and this setup will continue to work. If you modified your Podfile to specify only pod 'PSPDFKit'
, then change this to pod 'PSPDFKit', podspec: 'https://my.nutrient.io/pspdfkit-ios/latest.podspec'
. We recommend migrating from CocoaPods to Swift Package Manager(opens in a new tab), which is more modern and actively maintained. (J#IOS-672)
PSPDFKitUI
- AddedAdds AI Assistant, which can be used to summarize, translate, and ask questions about documents. This feature requires you to run Nutrient AI Assistant on your server. Once that’s set up, provide your
AIAssistantConfiguration
and addAIAssistantButton
oraiAssistantButtonItem
to your toolbar. If you’d like to try this, refer to our AI Assistant guides(opens in a new tab). (J#IOS-611) - AddedAdds a
SearchViewController.highlightColor
property to customize the search results list. See the newModalSearchHighlightColorExample
. (Z#121707) - AddedAdds support for sending emails from links in documents on Mac or when a default email app other than Apple Mail is set up. (Z#121722)
- ChangedChanges the default behavior for opening email links from using Apple Mail (
MFMailComposeViewController
) to opening themailto
link directly, which opens the user’s chosen default email app. To revert this, change the newemailSendingBehavior
configuration property to.preferAppleMail
. (Z#121722) - FixedFixes sharing a temporary rotated image document producing an incorrect output image. (J#IOS-703)
- FixedFixes some scenarios where autosave wouldn’t trigger when using multiple windows on iPad and closing or switching between those windows. (Z#122069)
- RemovedDeprecates
SearchViewController.numberOfPreviewTextLines
, which was unused. (Z#121707)
PSPDFKit
- ChangedImproves memory usage when decoding large page streams, allowing better out of memory handling. (J#CORE-253)
- FixedFixes a crash that occurred when trying to digitally sign a signature form field whose
name
andfullyQualifiedName
are different. (#46414) - FixedFixes a crash with document comparison when aligning documents using points on a straight line. This will now report the error code
.comparisonProcessorInvalidPoints
. (J#CORE-758) - FixedFixes an issue where some annotations weren't drawn correctly on pages with transparency. (J#CORE-783)
- FixedFixes an issue with opening certain PDFs that have a broken encryption descriptor. (J#CORE-776)
- FixedFixes text in free text callout annotations not remaining fitting when added using Instant JSON or XFDF from Nutrient SDK on another platform or a device with different fonts. (Z#120290)
14.5.0 29 Jan 2025
PSPDFKitUI
- AddedAdds
@MainActor
toSignatureCreationViewControllerDelegate
,DocumentAlignmentViewControllerDelegate
, andAnnotationSetStore
to improve support for Swift concurrency checks. (J#IOS-483) - FixedFixes a crash when presenting the time picker for form fields on Mac Catalyst. (Z#120814)
- FixedFixes an issue where date or time pickers might not have changed the value of a form field if the JavaScript formatting function was used incorrectly. Now the detection is more robust, and if the correct format can't be found, it falls back to keyboard entry. (Z#120814)
- FixedFixes an issue when using Content Editor with type3 fonts where some text boxes appeared far too small. (J#CORE-754)
PSPDFKit
- ChangedImproves handling of specific broken PDF forms, where multiple instances of the same form are combined into a single PDF. (J#CORE-646)
- ChangedUpdates the Botan library to version 3.6.1. (J#CORE-683)
- FixedFixes some Chinese characters not rendering on iOS 18. When a document doesn’t contain embedded fonts for any characters that need rendering, Nutrient uses fonts from the system as a fallback. However, in iOS 18, Apple removed compatible versions of its fonts for Chinese characters. To resolve all the cases of missing characters we’ve seen so far, we’re now including a font in our framework that can render Simplified Chinese characters. This comes at the cost of a 10 MB increase in framework size. We’ll continue to look for alternative solutions to mitigate this size increase. If you still encounter problems with characters missing in any documents, contact us(opens in a new tab). (J#IOS-697)
- FixedFixes logging showing some messages similar to
<decode: bad range for [%{public}@] got [offs:318 len:1238 within:0]>
instead of the correct message due to a system issue inos.log
. (J#IOS-673) - FixedFixes an issue where the document IDs of some documents may be incorrectly truncated. (J#AI-123)
- FixedFixes slowdown when decoding certain TIFF images. (J#CORE-757)
- FixedFixes an issue with TIFF images with 0 DPI. (J#CORE-770)
14.4.0 15 Jan 2025
Nutrient iOS SDK now requires and is built with Xcode 16.2.
PSPDFKitUI
- AddedAdds Done and Clear Field buttons above the date or time picker for form fields. (J#IOS-662)
- AddedAdds selecting the current date and time automatically when selecting an empty form field with date or time formatting. (J#IOS-671)
- AddedAdds undo for changes to form fields with the date or time picker. (J#IOS-671)
- AddedAdds haptic feedback from Apple Pencil Pro and the trackpad on Magic Keyboard for iPad Pro (M4) when snapping to aspect ratio guides while resizing annotations using the resize handles. (#44979)
- ChangedImproves the consistency of how many characters are allowed in multi-line, non-scrolling text field form elements. (J#IOS-568)
- ChangedChanges the title ‘Embedded Files’ to ‘Attachments’ to sound less technical. (#46096)
- FixedFixes an issue where
onDidTapOnAnnotation(perform:)
was not called whenPDFView
was contained in aTabView
using.tabViewStyle(.page)
. (Z#120630) - FixedFixes page content being cut off in vertical continuous scrolling when the keyboard was visible while scrolling to a new page. (J#IOS-659)
- FixedFixes secondary click between selected characters sometimes dismissing selected text instead of showing text selection menu. (J#IOS-620)
- FixedFixes the keyboard shortcut for
BrightnessButton
to use CMD+B to matchbrightnessButtonItem
. (#46010) - FixedFixes the vertical scroll indicator not being visible in scrollable text form elements. (J#IOS-568)
- FixedFixes various memory leaks related to the signature creation UI. (#46056)
- FixedFixes warning logs about not finding
UITextInteraction
recognizers on Mac Catalyst. (#45981) - FixedFixes a content editing issue where moving a piece of text with a subsetted font could cause a character swap in some viewers. (J#CORE-577)
PSPDFKit
- AddedAdds support for loading larger image documents. (Over 20 times larger on devices with 8 GB of memory.) There is still a limit based on the device memory and bits per pixel. (J#IOS-400)
- FixedFixes an issue where conversion was not possible with evaluation license. (J#WEB-2219)
- FixedFixes an issue where in certain PDFs the outline/bookmarks wasn't preserved when using the Document Editor. (J#CORE-753, J#CORE-707)
- FixedFixes an issue with GoTo Remote and Goto Embedded actions. (J#CORE-751)
- FixedFixes a crash when opening a PDF with malformed forms. (J#CORE-745)
- FixedFixes crash when dealing with malformed attachments. (J#CORE-728)
14.3.0 5 Dec 2024
PSPDFKitUI
- RemovedDeprecates
UIAction.Identifier.PSPDFKit.paste
in favor ofUIAction.Identifier.paste
, which is identical. (#45634) - AddedAdds showing a date or time picker for form fields that use date or time formatting. (J#IOS-618)
- AddedAdds a
signingAreaAspectRatio
property toSignatureCreationViewController.Configuration
to customize the shape of the signing area. (#45860) - AddedAdds a border to indicate when read-only annotations are selected. (Z#119400)
- ChangedImproves the selection state of the thumbnail bar (both scrubber and scrollable) to more consistently match the visible spread in most common configurations. In more unusual configurations where many spreads are visible at once, tapping pages in the thumbnail bar will still result in the highlighted page being offset from the tapped page. (J#IOS-591)
- FixedFixes quickly double tapping to start editing free text annotations not working. (J#IOS-607)
- FixedFixes quickly double tapping to start moving annotations not working. (J#IOS-606)
- FixedFixes a memory leak when dismissing
PDFView
. (J#IOS-667) - FixedFixes the view state being lost (resetting to the top of the document) when changing the configuration used by
PDFView
or setting theconfiguration
property ofPDFViewController
. (#45835)
PSPDFKit
- ChangedUpdates the default watermark on visible digital signatures. (J#HG-1468)
- FixedFixes an issue retrieving the text of a highlight annotation on rotated pages. (J#CORE-449)
- FixedFixes an issue where PDFs with a large number of unique fonts used a lot of memory, especially during indexing. (J#CORE-748)
- FixedFixes an issue where callout annotations weren’t rendered correctly in other PDF readers. (J#ANDR-937)
- FixedFixes lockup or crash issues when opening certain malformed PDF forms. (J#CORE-726)
14.2.0 12 Nov 2024
With our new company name(opens in a new tab), PSPDFKit for iOS is now called Nutrient iOS SDK. No technical details have changed: Our modules are still called PSPDFKit
and PSPDFKitUI
and are available at the same Swift package URL(opens in a new tab). We want to make this a smooth transition.
Nutrient iOS SDK now requires and is built with Xcode 16.1.
This release removes support for iOS 15 and macOS 12. Your deployment target must now be set to iOS 16 and macOS 13 or greater. (J#IOS-532)
This release also removes APIs that were deprecated between Nutrient iOS SDK 12.0 and 13.0 (inclusive). This includes the legacy menu customization APIs that used Apple’s deprecated UIMenuController
and UIMenuItem
APIs. For more information, see the migration guide(opens in a new tab). (J#IOS-529)
PSPDFKitUI
System text selection is now used on document pages. This was a large internal change that has provided improved system integration and a native look and feel. As a result of this, some customization APIs have changed.
- RemovedDeprecates the
selectText
anddeselectText
components ofDocumentViewInteractions
. With the switch to system text selection, these components are now only used for image selection. We’d like to bring back similar APIs for system text selection, but to do that, it would help us a lot if you let us know(opens in a new tab) how you’re using these APIs. (J#IOS-570) - RemovedDeprecates
SpeechController
, which is no longer used with the switch to system text selection. (J#IOS-180) - RemovedDeprecates
TextSelectionView.selectionHitTestExtension
, as it provided limited functionality and worked only in certain conditions. Reach out to us on Support if you need assistance with customizing when to begin text selection. (J#IOS-572) - RemovedDeprecates
UIAction.Identifier.PSPDFKit.define
andUIAction.Identifier.PSPDFKit.searchWeb
in favor ofUIMenu.Identifier.lookup
. (J#IOS-180) - RemovedDeprecates
UIMenu.Identifier.PSPDFKit.accessibility
in favor ofUIMenu.Identifier.speech
. (J#IOS-180) - RemovedDeprecates the
TextSelectionMode
enum, which is no longer used. (J#IOS-382) - RemovedDeprecates
PDFPageView.select(glyphs:presentMenu:animated:)
in favor of the new methodselect(glyphs:animated:)
because thepresentMenu
parameter is now ignored. (J#IOS-180) - RemovedDeprecates
PSPDFGalleryOptionCover
, which has long been informally deprecated in favor ofGalleryItem.Option.coverImage
andGalleryItem.Option.coverMode
. (Z#119024) - AddedAdds the standard Look Up, Translate, and Writing Tools menu items for selected text. Look Up replaces Define. (J#IOS-180)
- ChangedImproves the look and feel of text selection to match system behavior. (J#IOS-180)
- ChangedImproves language detection in the Speak menu item for selected text by using the system implementation, which asks the user in the case of ambiguity. (J#IOS-180)
- ChangedImproves the consistency of how many characters are allowed in single-line, non-scrolling, auto-sized text field form elements. (J#IOS-461)
PSPDFKit
- RemovedDeprecates
URLAction.offset
,Action.Option.offsetKey
,Action.Option.coverKey
, andAction.Option.pageKey
, which all haven’t had an effect for some time. (Z#119024) - AddedAdds support for reading the widget tab order. (J#CORE-660)
- ChangedImproves text extraction by replacing invalid characters with the Unicode Replacement Character (0xFFFD). (J#CORE-701)
- ChangedUpdates the format of version returned in
SDK.versionString
. It now returns the version information in a new format: "Nutrient iOS SDK {version-number} ({build-number})". For example: Nutrient iOS SDK 14.2.0 (1420). (J#IOS-594) - ChangedUpdates the HarfBuzz library to version 10.0.1. (J#CORE-693)
- FixedFixes a crash that may happen when saving LTV information in a document. (J#CORE-710)
- FixedFixes an issue where handwritten signatures may appear unexpectedly cropped. (J#CORE-713)
- FixedFixes an issue where the signature validation status after certificate revocation checks may be invalid if the document has multiple digital signatures. (J#AND-842)
- FixedFixes an issue where the tab index of signature fields wasn't calculated correctly. (J#CORE-660)
- FixedFixes issues with Type 3 fonts and text extraction. (J#CORE-703)
Examples
- AddedAdds a ‘Custom Speak Menu Item’ example in Catalog, which shows how to replace the system Speak menu item to change the speech rate, pitch, or language. (#45588)
14.1.0 10 Oct 2024
PSPDFKit
- AddedAdds shrinking the measurement label to fit inside elliptical and rectangular area measurement annotations instead of showing the note indicator. (J#IOS-562)
- FixedFixes 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)
- FixedFixes the blend mode not being read correctly, resulting in annotations reverting to a normal blend mode. (J#CORE-691)
- FixedFixes PDFs with millions of outline elements using too much memory. (J#CORE-694)
- FixedFixes form contents sometimes being rotated after exporting and then importing from Instant JSON. (J#CORE-647)
- FixedFixes form flags being overwritten when using the processor and when
NeedAppearances
was set in the PDF. (J#CORE-45331) - FixedFixes handwritten signatures sometimes appearing distorted in some page orientations. (J#ANDR-824)
- FixedFixes an incorrect font weight being selected for the Lexend font. (J#CORE-339)
Examples
- AddedAdds the calibration tool to the Measurement Tools example in our Catalog app. (J#IOS-562)
14.0.1 19 Sep 2024
PSPDFKit
- FixedFixes some annotations losing their font color when exported to XFDF and imported again. (J#CORE-680)
- FixedFixes undo not tracking the correct annotations when using a document with multiple data providers. (Z#117081)
- FixedFixes PDF JavaScript reporting an error when setting a custom value to a combo box form field. (J#CORE-675)
- FixedFixes parsing timestamp policies with short OIDs in digital signatures. (J#SERVER-1231)
- FixedFixes digitally signing a document sometimes resulting in an error in Adobe Acrobat about a modified page. (J#CORE-45204)
- FixedFixes 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
- RemovedDeprecates
PDFConfiguration.textSelectionShouldSnapToWord
. PSPDFKit will soon switch to standard system text selection and will no longer support forced snapping. (J#IOS-382) - ChangedImproves performance when entering custom text in choice form fields by not updating the document render until after text editing finishes. (Z#109083)
- ChangedChanges the keyboard type for ‘Go to Page’ to
.numbersAndPunctuation
to enable non-numeric input on iPhone. (#45008) - FixedFixes 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
- ChangedChanges the return value of
Document.pageLabelForPage(at:substituteWithPlainLabel:)
tonil
whenNSNotFound
is provided for thepageIndex
parameter. (Z#116497) - FixedFixes a crash when opening certain image files with broken XMP/EXIF headers. (J#CORE-665)
- FixedFixes an issue where annotations exported to XFDF and then imported again may lose their text color. (J#CORE-648)
- FixedFixes an issue where annotations loaded using
XFDFAnnotationProvider
may not be visible right away until you select them. (J#CORE-669) - FixedFixes an issue where signatures on rotated pages were displayed incorrectly. (J#CORE-672)
- FixedFixes an issue where some signatures with Long-Term Validation information may be incorrectly reported as invalid. (J#CORE-654)
- FixedFixes an issue where the same font was embedded multiple times when entering diacritics, leading to a massive file size. (J#CORE-634)
- RemovedRemoves the curved edges on text highlights. (J#ANDR-313)
13.9.0 15 Aug 2024
PSPDFKitUI
- RemovedDeprecates
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) - AddedAdds automatically setting the background for tab bars with
PDFView
. (Z#115586) - ChangedChanges
PDFView
’s navigation bar toolbar background from.regularMaterial
to the default, which is less transparent, providing better legibility. (Z#115586) - ChangedImproves performance when first creating a
PDFConfiguration
object. (Z#115578) - FixedFixes default instances of
PDFConfiguration
not being equal, which could have caused infinite update loops withPDFView
. (J#IOS-450) - FixedFixes dragging selected annotations not working consistently while the selection tool is active. (J#IOS-409)
- FixedFixes the scrubber bar not being displayed in vertical configurations on Mac Catalyst. (J#IOS-415)
- FixedFixes 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
- ChangedUpdates HarfBuzz library to 9.0.0. (J#CORE-625)
- FixedFixes an issue where a PDF rendered incorrectly. (J#CORE-643)
- FixedFixes an issue where converting a bitonal TIFF with a lot of pages consumed too much memory. (J#CORE-621)
- FixedFixes an issue where setting a choice form element's contents could lead to a deadlock. (J#IOS-344)
Examples
- ChangedImproves 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) - ChangedRenames 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
- AddedAdds 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(opens in a new tab) for more information. (J#IOS-401) - AddedAdds
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) - ChangedImproves
PDFView
souseParentNavigationBar
is no longer required. (J#IOS-429) - ChangedUpdates
PDFView
to add a default styling using regular material for the navigation bar. (J#IOS-429) - ChangedUpdates
PDFView
to ignore the safe area internally for better user interface animations. (J#IOS-429)
PSPDFKit
- AddedAdds a one-step API to add an annotation to a document from Instant JSON:
PDFDocumentProvider.addAnnotation(fromInstantJSON:attachmentDataProvider:)
. (J#IOS-452) - AddedAdds support for parsing custom colors in PDF JavaScript and for converting colorspaces by using the
color.convert
API. (J#CORE-580) - ChangedChanges the quality of service for loading
ImageDocument
from utility to user initiated. (Z#114180) - ChangedUpdates the Botan library to version 2.19.5. (J#CORE-633)
- ChangedUpdates the STB library to version 2.30. (J#CORE-570)
- FixedFixes a crash when editing the content of some documents. (J#CORE-601)
- FixedFixes 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)
- FixedFixes an issue where redaction didn’t handle certain text objects correctly, resulting in some displaced text. (J#CORE-612)
- FixedFixes an issue where signed form fields may not display correctly on rotated pages. (J#CORE-608)
- FixedFixes 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)
- FixedFixes 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
- AddedAdds a new example,
SwiftUIDefaultToolbarExample
, which demonstrates how to use the default the toolbar buttons withPDFView
. (J#IOS-418) - ChangedUpdates all the SwiftUI examples to use the new SwiftUI APIs for customizing the toolbar of a
PDFView
. See our SwiftUI guide(opens in a new tab) for more information. (J#IOS-418) - ChangedUpdates
CustomizingFormAppearanceExample
to correctly reposition labels over form fields when the page view’s frame updates. (Z#113920)
13.7.0 18 Jun 2024
PSPDFKitUI
- AddedAdds showing an error message on the page when there isn’t enough memory to render that page. (J#IOS-377)
- FixedFixes modally presented
PDFViewController
s from being dismissed when completing or canceling the sharing process initiated fromopenInButtonItem
. (Z#112873)
PSPDFKit
- AddedAdds a new
PDFViewControllerDelegate
method,pdfViewController(_:didFinishRenderTaskFor:error:)
, to get information about if an error occurs while rendering for a page view. (J#IOS-466) - ChangedChanges
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) - FixedFixes 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)
- FixedFixes an issue where exporting and importing Instant JSON may incorrectly move annotations or forms. (J#CORE-589)
- FixedFixes an issue where some digital signatures may incorrectly report as invalid. (J#CORE-597)
- FixedFixes an issue where some digital signatures may not be validated correctly. (J#CORE-607)
- FixedFixes an issue where the
value
property of theField
object in JavaScript may return an incorrect type in some cases. (J#CORE-582) - FixedFixes an issue where too many fonts were added to the PDF in certain rare circumstances, causing crashes. (J#CORE-605)
- FixedFixes 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
- AddedAdds support for
.noZoom
flag for stamp annotations. (J#IOS-431) - ChangedImproves the menu behavior by keeping it presented after selecting Ungroup. (J#QA-160)
- FixedFixes incorrect placement of the annotation selection menu for note and sound annotations when zoomed in. (#44193)
- FixedFixes long-pressing to select and drag annotations, deselecting other annotations in the same group after the gesture ended. (J#IOS-445)
- FixedFixes overlay annotations not getting rendered in the document images generated for sharing with the flatten annotations option. (#44266)
- FixedFixes sound annotation icons being not visible on pages on visionOS. (J#IOS-446)
- FixedFixes the length of the rotation stick shown for selected rotatable annotations when zoomed into a page. (#44193)
- FixedFixes the selection view for fixed-size annotations appearing larger while using the selection annotation tool. (#44193)
- FixedFixes 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
- AddedAdds support for RegExp.$1 to RegExp.$9 to access regular expression capturing groups from PDF scripts. (J#CORE-567)
- ChangedImproves TIFF image document quality by respecting the any embedded DPI values. (J#CORE-522)
- ChangedImproves the performance of the snapping tool with construction documents. (J#CORE-536)
- ChangedRenames the internal
OutOfMemory
thread toMemoryHandling
to reduce confusion in stack traces. (J#CORE-581) - ChangedUpdates the HarfBuzz library to version 8.5.0. (J#CORE-583)
- FixedFixes an issue where, after redacting, some images were displaying wrong (e.g. black instead of white). (J#CORE-561)
- FixedFixes an issue where redaction annotations could not be applied by third-party software like Adobe Acrobat. (J#CORE-555)
- FixedFixes an issue where the SDK could freeze when importing Instant Document JSON into a document with a lot of form fields. (J#IOS-444)
- FixedFixes an issue where the line dash pattern was rendered differently from other PDF readers. (J#CORE-540)
- FixedFixes an issue where the page labels may be incorrect in some documents. (J#CORE-560)
- FixedFixes an issue where the redaction tool may redact a bigger area than necessary in some documents. (J#CORE-562)
Examples
- ChangedUpdates the
FloatingStampsExample
to use the.noZoom
annotation flag to get the floating behavior. (J#IOS-434)
13.5.0 23 Apr 2024
PSPDFKitUI
- ChangedDisables an assertion, “Your license does not include Redaction,” that could occur when the
redactionInfoButton
's action was called in unknown circumstances. (Z#110952) - FixedFixes a crash on Mac Catalyst in Optimized for Mac mode when changing the scale of a measurement in measurement settings. (J#IOS-405)
- FixedFixes the scrubber bar being visible when in the thumbnails view mode on visionOS. (J#IOS-327)
PSPDFKit
- AddedAdds support for editing the content of PDF documents that use Type3 fonts. (J#CORE-478)
- ChangedImproves the content editing functionality in documents that contain tables. (J#CORE-506)
- ChangedAvoids 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)
- ChangedUpdates the HarfBuzz library to version 8.3.1. (J#CORE-524)
- FixedFixes a crash when calling the measurement value configuration API on an invalid
Document
. (Z#110775) - FixedFixes a rendering issue causing pages to appear too small. (J#CORE-550)
- FixedFixes a rendering issue where pages may display upside down. (J#CORE-545)
- FixedFixes an issue where text highlights were split when there was a tiny gap in the sentence. (J#CORE-510)
- FixedFixes an issue where the text in a callout annotation may appear in the wrong position. (J#CORE-466)
- FixedFixes an issue where the text selection rectangle was too big, resulting in squashed text. (J#CORE-496)
- FixedFixes an issue where validating some documents with LTV information may incorrectly return that the revocation status couldn't be checked. (J#WEB-1042)
- FixedFixes an issue with PDF comparison when the content stream didn't contain any stroke color commands. (J#CORE-533)
- FixedFixes deleting the value of a form field incorrectly showing the previous value in some situations. (J#CORE-531)
- FixedFixes measurement labels on rotated pages not being exported correctly. (J#CORE-529)
- FixedFixes the appearance of unsigned signature form fields ignoring some property changes, like their border width. (J#CORE-417)
Instant
- FixedFixes a deadlock when syncing annotations on a certain document containing stamp annotations in PSPDFKit Instant. (J#ANDR-277)
- FixedFixes 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
- AddedAdds empty entries for
NSPrivacyTrackingDomains
andNSPrivacyCollectedDataTypes
in the privacy manifest files for all frameworks. (Z#110709)
PSPDFKitUI
- AddedAdds support for changing the title of the sharing screen using
PDFDocumentSharingViewController.title
. (#43760) - ChangedImproves the title of the sharing screen (
PDFDocumentSharingViewController
) by matching it to the sharing destination if only one destination is provided. (#43760) - FixedFixes an empty scrubber bar being shown for password protected files on visionOS. (J#IOS-326)
PSPDFKit
- FixedFixes 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) - FixedFixes an issue where opening some kind of forms in a tabbed document interface may hang the app. (J#CORE-460)
- FixedFixes licensing alerts not being shown in development builds on Mac Catalyst. (#43745)
13.4.0 15 Mar 2024
See the announcement post(opens in a new tab).
PSPDFKit now requires and is built with Xcode 15.3.
PSPDFKitUI
- RemovedDeprecates
PDFView
initializers with anObservedObject<Document>
as a parameter. Use the initializers with aDocument
parameter instead. (J#IOS-285) - AddedAdds
@MainActor
to protocols and some other API to improve support for Swift concurrency checks. (J#IOS-339) - AddedAdds a
prefersAssistiveTechnologySettings
property onSpeechController
to configure if assistive technology (like VoiceOver) settings are preferred over existingSpeechController
properties likespeakRate
andpitchMultiplier
. (J#IOS-58) - AddedAdds support for deselecting annotations by tapping them when the selection tool is active. (J#IOS-337)
- AddedAdds support for selecting and deselecting annotations while holding the Shift key on a hardware keyboard. (J#IOS-338)
- AddedAdds support for selecting annotations by tapping them when the selection tool is active. (J#IOS-336)
- ChangedImproves handling of link annotation and outlines that navigate to specific view ports of a page within the PDF (explicit destinations). (J#IOS-323)
- AddedAdd 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)
- FixedFix 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) - ChangedWorks 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)
- FixedFixes an issue where tapping a push button form element could trigger an infinite recursion in certain documents. (J#IOS-340)
PSPDFKit
- FixedFixes a rare crash in certain PDF documents with JavaScript. (J#CORE-500)
- FixedFixes an error message that may appear in the logs when using the snapping tool. (J#CORE-391)
- FixedFixes an issue where font names with certain encodings may not be parsed correctly. (J#CORE-292)
- FixedFixes an issue where opening a document with a digital signature may report additional changes. (J#CORE-473)
- FixedFixes an issue where redacting some kind of documents may corrupt them. (J#CORE-375)
- FixedFixes an issue where refreshing the LTV information of some signed documents may fail. (J#CORE-499)
- FixedFixes an issue where shape annotations imported via Instant JSON may incorrectly show a black border. (J#CORE-392)
- FixedFixes an issue where the appearance of unsigned signature form fields may ignore some property changes, like their border width. (J#CORE-412)
- FixedFixes undo not being possible for edits to annotations that were created from Instant JSON or
XFDFParser
. (J#IOS-347)
Instant
- ChangedWhen 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
- AddedAdds a Catalog example showing a
SignatureStore
backed by Instant JSON (InstantJSONSignatureStoreExample
). (Z#108880) - ChangedUpdates 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
- FixedFixes reordering signatures in the saved signatures list not always passing the correct order to the
SignatureStore
. (#43548)
PSPDFKit
- FixedFixes a crash when listing embedded files in certain rare PDFs. (J#CORE-493)
Instant
- FixedFixes JWT tokens with Base64 URL-safe encoding in the payload part not parsing correctly. (J#CORE-492)
- FixedFixes sync failing when unsupported objects are received. These objects will be ignored instead. (J#CORE-407)
13.3.2 22 Feb 2024
PSPDFKitUI
- ChangedEnables using the Content Editor for any writable single data provider documents. (J#IOS-332)
- FixedFixes Go to Page not showing an alert when entering a number greater than the number of pages in the document. (Z#108795)
- FixedFixes an issue where assigning a custom
PageLabelFormatter
toPageLabelView.labelFormatter
didn't work. (#43250)
PSPDFKit
- AddedAdds an
invalidURLString
property onURLAction
to read invalid URLs from documents. (Z#108707) - FixedFixes an issue where text with negative font sizes caused the text to vanish in Content Editor. (J#CORE-438)
- FixedFixes an issue where calling
Field.value
in a PDF JavaScript script may return the wrong value. (J#CORE-450) - FixedFixes an issue where calling the PDF JavaScript API
field.setItems
may not change the form's value. (J#CORE-430) - FixedFixes an issue where intermittent rendering errors occurred while zooming in and out, resulting in incomplete page displays. (J#CORE-447)
- FixedFixes 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) - FixedFixes an issue where extracted text was garbled due to incomplete reading order information in the PDF. (J#CORE-385)
- FixedFixes an issue where text with the FL and FI ligatures wasn't extracted correctly. (J#CORE-443)
- FixedFixes an issue where the text selection of italic characters was too large. (J#CORE-444)
13.3.0 23 Jan 2024
See the announcement post(opens in a new tab).
This release adds support for visionOS. See the Introducing PSPDFKit for visionOS(opens in a new tab) 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(opens in a new tab) guide.
PSPDFKit now requires and is built with Xcode 15.2.
- AddedAdds privacy manifests for all our frameworks. (J#IOS-26)
- RemovedRemoves APIs that were deprecated in PSPDFKit 11.4 and 11.5. For more information see the migration guide(opens in a new tab). (#42617)
PSPDFKitUI
- APICalling
WebViewController.modalWebView(with:)
on a subclass ofWebViewController
no longer attempts to create an instance of the subclass. (Z#39981) - APIChanges 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) - AddedAdds
dashArray
,lineEnd1
,lineEnd2
, andfillColor
(line end color) to the defaultpropertiesForAnnotations
for measurement annotations, which makes these properties editable in the annotation inspector. (Z#107080) - AddedAdds
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(opens in a new tab) for more details. (#43078) - AddedAdds
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(opens in a new tab) for more details. (#43080) - AddedAdds annotation and document editor toolbars as ornaments on visionOS. (J#IOS-134)
- AddedAdds 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)
- AddedAdds tabs to main toolbar ornament when using
PDFTabbedViewController
on visionOS. (J#IOS-149) - ChangedImproves 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)
- ChangedOptimizes annotation and text selection menus for visionOS. (#42658)
- FixedFixes a crash when showing the link annotation editor for a subclass of
Document
. (Z#39981) - FixedFixes annotation resizing knobs being unresponsive while dragging quickly. (J#IOS-254)
- FixedFixes the font selection list unexpectedly closing when adding a signature with the device in landscape orientation. (J#IOS-65)
PSPDFKit
- APIChanges the signature of the
unlockCertificateChain(withPassword:) async
API to be synchronous as it does not carry out any tasks asynchronously. (#42978) - APIRemoves
.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) - APIThe 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) - RemovedDeprecates
PageSize(_:name:)
in favor of the existing equivalent initializerPageSize(size:name:)
. (Z#39981) - RemovedDeprecates
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) - AddedAdds API for programmatic regular expression (regex) search in a document by using the new
TextSearch.comparisonOptions
property withTextSearch.ComparisonOptions.regularExpression
. (J#IOS-193) - AddedAdds support for adding long term validation when signing a form element using
Document.sign(formElement:configuration:outputDataProvider:)
. (J#IOS-216) - AddedAdds support for adding long term validation when validating a signed form element using
Document.addLongTermValidation(toFormElement:certificates:)
. (J#IOS-217) - AddedAdds support for verifying a signature and checking the revocation status of the used certificates using
PDFSignatureValidator.verifySignatureAndCheckRevocationStatus(withTrustedCertificates:)
. (J#IOS-229) - ChangedImproves Document Editor performance when dealing with large documents. (#42927)
- ChangedWhen 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) - FixedFixes a potential crash when generating AP streams. (J#CORE-364)
- FixedFixes 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)
- FixedFixes freetext callout rendering and rich text link render on rotated pages. (J#CORE-297)
- FixedFixes vertical alignment of free text annotations when using rich text. (#42793)
Examples
- AddedAdds
DigitalSignatureConfigurationExample
that allows customizing various options when digitally signing. (#42823) - FixedFixes 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(opens in a new tab).
⚠️ The XCFrameworks in this release no longer have valid signatures. Please update to 13.3.1 or see our framework signature validation failed(opens in a new tab) guide.
- ChangedImproves API safety for apps using Objective-C by removing various uses of
__kindof
(which allows implicit casting to subclasses). (#42436)
PSPDFKitUI
- ChangedImproves contrast of text in the bookmark list in dark mode. (#42655)
- FixedFixes 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
- APIImproves type safety by changing the return type of
Document.annotations(byDetectingLinkTypes:forPagesAt:options:progress)
from[NSNumber : [Annotation]]
to[NSNumber : [LinkAnnotation]]
. (#42436) - AddedAdds new digital signature API with support for timestamping via
Document.sign(formElement:configuration:outputDataProvider:)
. (J#IOS-195) - AddedAdds additional APIs for digital signature verification on
PDFSignatureStatus
. (J#IOS-210) - AddedAdds a new async API to unlock a PKCS12 archive -
PKCS12.unlockCertficateChain(withPassword:)
. (J#IOS-220) - AddedAdds a
defaultMeasurementValueConfiguration
property onDocument
to set the default units and precision for the Add Scale and Calibrate Length views. (Z#39656) - FixedFixes a crash while looking up character codes. (J#CORE-348)
- FixedFixes an issue where loading link annotations may incorrectly log an error. (J#CORE-281)
- FixedFixes an issue where the cross-reference table may be invalid after saving a file. (J#CORE-321)
- FixedFixes an issue where the wrong rich text was rendered. (J#CORE-315)
- FixedFixes edits made to annotations after they were created being discarded when editing form fields. (J#IOS-135)
- FixedFixes free text annotation callout line ends when importing from XFDF. (J#CORE-297)
Examples
- AddedAdds a new example,
FormCustomDigitalSigningExample
, to illustrate carrying out a custom signing implementation using the new signing APIDocument.sign(formElement:configuration:outputDataProvider:)
. (J#IOS-220) - ChangedUpdates
FormDigitalSigningExampleCustomAppearanceExample
andAsynchronousExternalDigitalSignatureExample
to use the new signing APIDocument.sign(formElement:configuration:outputDataProvider:)
. (J#IOS-220) - ChangedUpdates
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(opens in a new tab) guide.
- AddedAdds 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
- AddedAdds UI to scroll to a specific page by typing when tapping the page label. (J#IOS-124)
- FixedFixes
ThumbnailBar
unnecessarily asserting that its collection view layout isn’t changed. (Z#39285) - FixedFixes a crash related to copying pages from an imported document in the document editor. (J#IOS-99)
- FixedFixes a possible crash on iOS 17 when showing the quality picker when adding images. (J#IOS-146)
- FixedFixes text selection being invisible on Mac Catalyst when the Increase contrast accessibility setting is enabled. (#42312)
PSPDFKit
- AddedAdds an
ignorePageRotation
property toXFDFAnnotationProvider
,XFDFParser
, andXFDFWriter
. (J#CORE-93) - AddedAdds support for showing the signer's timezone in the appearance of signed signature fields. (J#CORE-263)
- RemovedRemoves the
strip-framework.sh
script which is not needed anymore since switching to XCFrameworks, as announced in the version 10 migration guide(opens in a new tab). (#42105) - ChangedImproves performance loading a document if automatic link extraction is enabled. (J#CORE-215)
- ChangedUpdates Harfbuzz to 8.2.2. (J#CORE-275)
- ChangedUpdates the default signature watermark for signed documents. (J#WEB-308)
- FixedFixes border style selection for shape annotations in Instant JSON when
strokeDashArray
is not present. (J#CORE-270) - FixedFixes rendering of tiling patterns when zooming. (J#CORE-195)
- FixedFixes XFDF export of dashed borders when cloudy borders were previously set. (J#CORE-185)
- FixedFixes an error 'Assertion failed: Annotation ID is already known' which may happen when opening a document. (J#WEB-233)
- FixedFixes an issue where measurement properties weren't correctly applied when importing XFDF. (J#CORE-225)
- FixedFixes an issue where text annotations imported from XFDF may not render correctly. (J#CORE-279)
- FixedFixes 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)
- FixedFixes invalid GoToAction objects having a default page index of 0. (J#IOS-145)
- FixedFixes the unsetting of annotation flags via Instant JSON. (J#CORE-183)
- FixedFixes possible crashes when removing annotations that are being rendered on another thread. (J#IOS-164)
13.0.1 29 Sep 2023
PSPDFKitUI
- FixedFixes 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
- FixedFixes an issue where some color was lost when redacting documents. (J#CORE-201)
Examples
- FixedFixes 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(opens in a new tab).
PSPDFKit now requires and is built with Xcode 15.0.
PSPDFKitUI
- AddedAdds a scale calibration annotation tool to create new measurement value configurations. See our guide(opens in a new tab) for more information. (#41866)
- AddedAdds a floating button when a measurement tool or annotation is selected displaying the selected scale to make choosing a scale easier. (#41866)
- ChangedImproves 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)
- ChangedImproves the document title display behavior of the tab bar tabs to truncate text in the middle. (#41707)
- ChangedAdjusts horizontal values for
UserInterfaceView.pageLabelInsets
. (#41055) - FixedFixes VoiceOver positions of text paragraphs and annotations when the window is not full screen (when using Stage Manager, Split View or Slide Over). (#41824)
- FixedFixes a crash in
TextSelectionLoupe.__deallocating_deinit
. (J#IOS-64) - FixedFixes a crash when rotating and copying pages in the document editor. (#41975)
PSPDFKit
- APIRemoves
AnnotationStyle.Key.measurementScale
,.measurementCalibration
,.measurementPrecision
and replaces them with.measurementValueConfiguration
. (#41866) - AddedAdds support for storing multiple measurement value configurations (scales and precision) in a document. (#41866)
- ChangedImproves memory usage on pages with a lot of vector graphics. (J#CORE-210)
- FixedFixes an issue where embedded files were not transferred when using
Processor
. (J#CORE-205) - FixedFixes 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
- AddedAdds SwiftUI
PDFView
modifiersmenuForText
,menuForImage
, andmenuForAnnotations
as replacements for the deprecatedonShouldShowMenuItemsForSelectedText
,onShouldShowMenuItemsForSelectedImage
, andonShouldShowMenuItemsForSelectedAnnotations
. (J#IOS-69) - AddedAdds support for system text autocorrection in Content Editor on iOS 15. (#41127)
- AddedAdds the eyedropper tool in the color picker on iOS 17. (J#IOS-60)
- ChangedImproves 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) - ChangedUpdates the title of the page range selection screen when sharing from “Range” to “Page Range”. (#38971)
- FixedFixes 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) - FixedFixes a memory leak that would occur when exiting Content Editor after interacting with a text box by selecting or deselecting only. (#41326)
- FixedFixes note annotations not maintaining their relative position when moved in a group. (#24123)
PSPDFKit
- AddedAdds fractional inch precisions for Measurement Tools when using yards, feet or, inches, such as 9 yd 5'-3/4". (#40628, #40969)
- AddedAdds additional flags
invisible
,readOnly
,locked
,toggleNoView
andlockedContents
to the flags property of annotations in InstantJSON. (#41335) - AddedAdds support for OpenType collection fonts (.otc). (J#CORE-91)
- AddedAdds support for digitally signing a document and include a certificate chain. (#40352)
- ChangedImproves AP stream generation to generate more optimal text rendering commands. (J#CORE-101)
- ChangedImproves embedding of OpenType CFF fonts. (#40481)
- ChangedImproves the performance of the snapping feature in complex documents. (#40414)
- ChangedUpdates HarfBuzz to 8.1.1. (J#CORE-169)
- FixedFixes an issue when redacting images with a mask referencing a color. (#41558)
- FixedFixes an issue where
borderColor
wasn't serialized forpspdfkit/text
annotations in Instant JSON. (#40905) - FixedFixes an issue where certain PDF documents couldn't be opened in Adobe Acrobat after flattening some form annotations. (J#CORE-79)
- FixedFixes an issue where exporting custom stamp annotations to XFDF and then importing them cause them to show blurry. (J#CORE-113)
- FixedFixes an issue where rich text was converted to plain text incorrectly, missing content after new lines. (J#CORE-136)
- FixedFixes an issue where the cloudy border effect was always set when importing annotations from Instant JSON. (#40472)
- FixedFixes an issue where validating some digital signatures created by DocuSign may incorrectly report additional changes. (#39972)
- FixedFixes some issues where errors signing documents may not be reported correctly. (#40998)
- FixedFixes 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
- FixedFixes fetching of image annotation assets upon initial opening of an Instant document. (J#CORE-12)
Examples
- ChangedUpdates 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
- ChangedImproves ink annotation rendering to avoid artefacts at line ends. (#21933)
- ChangedImproves limiting text entry for multiline form fields to avoid allowing adding extra characters that may not end up rendering on the page. (#39405)
- FixedFixes 3 finger VoiceOver scroll gesture to switch pages in
.perSpread
page transition mode not changing pages. (#40878) - FixedFixes possible ink annotation jumps after multiple erasure strokes. (#34020)
- FixedFixes the thumbnails sometimes disappearing while switching between the document view mode and thumbnails view mode. (#40507)
PSPDFKit
- AddedAdds 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)
- ChangedApply patch to libtiff to fix CVE-2023-2731. (#40657)
- FixedFixes 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) - FixedFixes a crash when saving after using Content Editor on a page without a font dictionary. (#40803)
- FixedFixes an issue where sometimes the wrong font is used when applying changes with Content Editor. (#40663)
- FixedFixes an issue where the bold or italic attribute of a font got lost when saving changes with Content Editor. (#40663)
- FixedFixes 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(opens in a new tab).
PSPDFKitUI
- APIAdds new
UIMenu
-based API for customizing the menus for selected text and images, which replaces the existingUIMenuItem
-based API. Please see the migration guide(opens in a new tab) for more details. (#37123) - RemovedDeprecates the
.PSPDFAnnotationCreateActionDidInsert
notification. Use.PSPDFAnnotationsAdded
instead. (#37122) - RemovedDeprecates the
TextSelectionView.discardSelection(animated:)
method. UsePDFPageView.discardSelection(animated:)
instead. (#35894) - AddedAdds moving and resizing text boxes when using Content Editor. (#40344)
- AddedAdds a “Search Web” menu item for selected text.
- AddedAdds a magnifying glass when using text markup annotation tools. (#40046)
- AddedAdds support for right-to-left layout in the tabbed bar (
PDFTabbedViewController
). (#30575) - ChangedImproves Content Editor by making text boxes include whole paragraphs rather than single lines. Text boxes now resize downwards instead of rightwards. (#40344)
- ChangedImproves the text selection menu by using a context menu when secondary clicking with a trackpad or mouse.
- ChangedWhen 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) - FixedFixes 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)
- FixedFixes an issue where creating annotations using the text selection menu would not ask for the author name first. (#11211)
- FixedFixes annotation tool icons not being visible in the text selection menu. (#37564)
- FixedFixes last used opacity not being applied to text markup annotations created using the text selection menu. (#17379)
- FixedFixes nested inline menus appearing as sub-menus without titles on Mac Catalyst. (#40463)
- FixedFixes not being able to select annotations at the same time as deselecting text or images. (#40229)
- FixedFixes selecting images taking a long time when Speak Selection accessibility setting is turned on. (#23932)
- FixedFixes selecting text over a text markup annotation requiring to hold the finger down for too long. (#29693, #40012)
- FixedFixes the Select All menu action selecting text on a different page than the one where the menu was presented from. (#40463)
- FixedFixes the page index bound to
PDFView
sometimes initially being applied incorrectly. (#40431) - FixedFixes free text annotation not entering edit mode on double click on Catalyst apps that don't set UIApplicationSupportsIndirectInputEvents to YES. (#40531)
PSPDFKit
- ChangedImproves text rendering, particularly for languages that do not use the Latin alphabet. (#39812)
- ChangedImproves label placement for polygon area measurement annotations with very thick borders. (#36784)
- ChangedChanges 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) - ChangedUpdates the Botan library to version 2.19.3. (#40107)
- FixedFixes XFDF annotations loaded on a rotated page getting embedded incorrectly in a shared document. (#30616, #27884)
- FixedFixes a crash on iOS 14 when initializing licensing. (#40363)
- FixedFixes a crash that occurred when using
Processor
with a document with a customAnnotationProvider
that doesn’t subclassPDFContainerAnnotationProvider
. (#39630) - FixedFixes a crash when entering Content Editor in a document containing Type 3 fonts. (#3)
- FixedFixes a potential crash when parsing the reading order in an invalidly tagged PDF. (#40419)
- FixedFixes a rare crash when loading a PDF using Instant. (#40419)
- FixedFixes an issue where images could be inverted when redacting JBIG2 images. (#40341)
- FixedFixes an issue where processing would endless loop on malformed PDFs. (#40388)
- FixedFixes an issue where redaction annotations applied on pages with rotation may not appear correctly. (#25007)
- FixedFixes an issue where text in multi line form field was cut off after two newlines. (#40504)
- FixedFixes an issue where the 'updatedAt' field in annotations wasn't preserved correctly when importing JSON. (#37490)
- FixedFixes incorrect bounding box of exported Instant JSON from existing annotations in a document with multiple data providers. (#40070)
- FixedFixes 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)
- FixedFixes an issue with Full-Text Search queries containing
,
characters. (#39309)
Instant
- ChangedDisables
InstantViewController
’sprintButtonItem
,messageButtonItem
andemailButtonItem
because sharing/exporting is not supported with Instant. (#39630)
Examples
- RemovedRemoves
TextSelectionMenuExample
as the "Search Web" action is now part of the default menu. (#37123)
12.2.0 18 Apr 2023
- APIRemoves all APIs that were deprecated between PSPDFKit 11.0 and PSPDFKit 11.3. See the migration guide(opens in a new tab) for more details. (#39903)
PSPDFKitUI
- AddedAdds 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)
- ChangedImproves font auto-sizing behavior in multiline form fields. (#39267)
- ChangedImproves the consistency of ordering of the tools in the annotation toolbar between various configurations. (#39608)
- ChangedChanges the annotation toolbar to show menus even for groups with a single tool to improve discoverability (because the menu shows the tool name). (#39607)
- ChangedChanges 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)
- FixedFixes
DocumentSharingViewController
not calling itsdidCancelSharingAt
delegate method when sharing at the destination view controller is canceled. (#39867) - FixedFixes a regression that disabled pointer effects for text and annotations when using iPad with mouse or trackpad. (#39834)
- FixedFixes content offset flickering that happened when editing multi-line form fields after zooming in. (#36018)
- FixedFixes crashes that could occur when saving after deleting pages in the document editor. (#37325)
- FixedFixes crashes that could occur when saving after deleting, duplicating, or rotating pages in the document editor. (#24718)
- FixedFixes form editing in night mode using colors that were not adapted for night mode. (#32256)
- FixedFixes multiline text form fields with a small height being incorrectly treated as single-line fields while editing. (#37758)
- FixedFixes the zoom of the page view resetting on changing the appearance mode. (#37719)
- FixedFixes vertical scrubber bar reducing horizontal document view size. (#38118)
PSPDFKit
- APIRenames
FileManager
protocol toFileManagerProtocol
so that it doesn’t clash with Foundation'sFileManager
class. (#39815) - RemovedDeprecates
PDFCache.StoragePolicy
as it was no longer being used in the SDK. (#39928) - AddedAdds support for a
fontSize
property for redaction annotations in Instant JSON, which sets the size of the redaction overlay text. (#39017) - ChangedImproves the appearance of the overlay text in redacted documents, adjusting their font size better to fill the available space. (#3017)
- ChangedImproves the display of the annotation summary sharing option by using larger margins in the resulting document. (#38773)
- ChangedUpdates the HarfBuzz library to version 7.0.1. (#36924)
- FixedFixes a crash due to a potential race condition when undoing or redoing changes to free text annotations backed by XFDF providers. (#39594)
- FixedFixes a rare crash that can happen when importing Instant JSON if an annotation has a non-default blend mode. (#39457)
- FixedFixes 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) - FixedFixes an issue where some annotations added to a document are not correctly exported to Instant Document JSON. (#39014)
- FixedFixes an issue where the redaction tool may incorrectly displace text in some situations. (#38642)
- FixedFixes night mode rendering for form elements, underline, squiggle, strikethrough, and redaction annotation. (#32256)
- FixedFixes warnings that occurred when unarchiving annotations with the
fontAttributes
set. (#39503)
Instant
- AddedAdds the ability to change text markup annotation type using context menus. (#39063)
Examples
- AddedAdds a Catalog example showing side-by-side tools for creating straight rectangles and cloudy rectangles by setting up a custom tool variant. (Z#35363)
- FixedFixes the bottom-right knob missing in
SelectionKnobsExample
in the Catalog app. (#39463)
12.1.3 16 Mar 2023
PSPDFKitUI
- ChangedImproves the interactivity of the page range picker in the document sharing options on iOS 14 and 15. (#38586)
- ChangedImproves Dynamic Type support in the document sharing options (
PDFDocumentSharingViewController
). (#38997) - FixedFixes annotation edits sometimes being lost when changing pages via the outline or bookmarks when using a custom annotation provider. (#34786)
- FixedFixes an assertion about a negative offset while laying out zero-sized scrubber bin view. (#39114)
- FixedFixes 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) - FixedFixes 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)
- ChangedWorks 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
- ChangedChanges the fallback font for free text annotations from the system font to Helvetica for better interoperability. (Z#35322)
- FixedFixes incorrect bounding boxes in exported Instant JSON for annotations added to a document with multiple data providers. (#27635)
- FixedFixes an issue where a background image was accidentally inverted when redacting certain PDF pages. (#39342)
- FixedFixes a potential crash in low-memory situations. (#39373)
Instant
- FixedFixes automatic sync retry not behaving as expected in the event of lost connections or network problems. (#38265)
Examples
- ChangedUpdates
RemoteDocumentURLExample
to use a remote PDF URL that still exists. (#39339)
12.1.0 17 Feb 2023
This release adds the Content Editor(opens in a new tab) component. You can learn more in the announcement post(opens in a new tab). If you’d like to add this component to your license, please contact our sales team(opens in a new tab) to receive a quote.
PSPDFKitUI
- APIChanges the superclass of
PDFDocumentSharingViewController
fromPDFStaticTableViewController
toUIViewController
. (#36834) - RemovedDeprecates the
UIAction.Identifier.pspdfkit
namespace alias in favour of directly usingUIAction.Identifier.PSPDFKit
. (#37897) - AddedAdds the new Content Editor feature. This new component allows editing and changing the style of text on PDF pages. (#37583)
- AddedAdds delegate modifiers
onDidShowUserInterface
andonDidHideUserInterface
for the SwiftUI PDFView. (#37885) - ChangedImproves entering an annotation author name by showing the keyboard automatically. (#37875)
- ChangedImproves 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)
- ChangedImproves the display of font names when picking a font variant within a family in the font picker used for free text annotations. (#38750)
- ChangedChanges the behavior of saving confirmation dialog for Document Editor to only appear when closing the document or switching to a different tab. (#38798)
- RemovedRemoves the close button image (named “x”) from the asset catalog in favor of the system close bar button item. (#35415)
- ChangedUpdates the UI of
PDFDocumentSharingViewController
giving a complete overhaul to flow of sharing documents. (#36834) - FixedFixes a crash that could occur when reloading the document in a view controller with a scrubber bar. (#38048)
- FixedFixes a possible crash
'rotatableAnnotation.documentProvider' must exist
when long pressing to select a stamp annotation if the annotation became detached from the document. (#38075) - FixedFixes adding scaled image annotations not working for images with 16 bits per component without alpha. Screenshots on some newer devices use this format. (#38607)
- FixedFixes an issue where entering and exiting thumbnail view mode multiple times would produce duplicate thumbnail pages. (#31794)
- FixedFixes an issue where incorrect menu items could have appeared in text fields after showing the text selection or annotation menu. (#26347)
- FixedFixes an issue where the displayed document was not correctly updated while a text view was first responder when changing a document. (#38448)
- FixedFixes an uncommon crash “Fatal error: Use of unimplemented initializer
init(layer:)
for classPSPDFKitUI.PeekLayer
”. (#37923) - FixedFixes flexible toolbar borders not being pixel aligned in the
.top
and.inTopBar
positions. (#37995) - FixedFixes 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) - FixedFixes 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)
- FixedFixes thumbnails in the link annotation editor being missing for password protected documents. (#38313)
- FixedFixes thumbnails in the link annotation editor not having accessibility labels. (#38313)
PSPDFKit
- APIChanges 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.
- RemovedDeprecates
PDFSignatureInfo.byteRange
andPDFDocumentProvider.hashDocumentProviderRange(_:hashAlgorithm:)
in favor of the new APIsPDFSignatureInfo.byteRanges
andPDFDocumentProvider.hashOfData(inRanges:algorithm:)
, which useIndexSet
for better interoperability. (#36879) - RemovedDeprecates
PKCS7.create(_:privateKey:certificate:hashAlgorithm:encryptionAlgorithm:)
in favor of the newPKCS7.init(digest:type:privateKey:certificate:hashAlgorithm:encryptionAlgorithm:)
. (#35616) - AddedAdds
PKCS7.init(digest:type:privateKey:certificate:hashAlgorithm:encryptionAlgorithm:)
to create CMS or PAdES-compatible digital signatures. (#35616) - AddedAdds support for the non-standard imagedata XFDF element in stamp annotations. (#36518)
- ChangedImproves calculation of line height when a line is wrapped in a multi-line text form. (#36385)
- ChangedImproves compatibility with other PDF software when rendering multi-line form field text. (#37072)
- ChangedImproves text parsing and text selection. (#38089)
- ChangedText markup annotations will now be consistently rendered underneath annotations of other types. (#36279)
- ChangedUpdate libexpat to version 2.5.0. (#37257)
- ChangedUpdates Harfbuzz to 6.0.0. (#38024)
- FixedFixes
isResizable
returningtrue
incorrectly in some cases for free text annotations and ink annotations. (#35280) - FixedFixes an issue where applying a redaction annotation may incorrectly invert the colors of certain documents. (#38722)
- FixedFixes an issue where memory usage was very high when searching large documents. (#37893)
- FixedFixes an issue where paths in content may not be rendered. (#35988)
- FixedFixes an issue where redaction draws invalid black boxes on the page. (#37863)
- FixedFixes an issue where the file size increased too much after adding emojis. (#38393)
- FixedFixes an issue where the font information for annotations wasn't loaded correctly. (#36933)
- FixedFixes an issue where the unicode checkmark character wasn't rendered correctly. (#36785)
- FixedFixes some cases where
FreeTextAnnotationView
’sendEditing
would be called multiple times when ending editing. (#37455) - FixedFixes some issues where the redaction tool may incorrectly remove more vector graphics than strictly necessary. (#38295)
- FixedFixes 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
- AddedAdds a new Catalog example,
MultipleSharingDestinationsExample.swift
, to demonstrate setting up multiple destinations for sharing a document. (#36834) - ChangedImproves the Measurement Tools example by showing the measurement tools more prominently. (#35876)
- ChangedCatalog search now searches across Example class names. (#36346)
- ChangedChanges
TabbedBarExample
to use documents at writable locations. (#38891) - ChangedOpening PDFs in Catalog and the Open In Catalog example now show more buttons by using
AdaptivePDFViewController
. (#37938) - ChangedUpdates
CustomThumbnailViewControllerFilterExample
to return anil
NSProgress
when using custom filtering. (#31794) - FixedFixes a crash when closing the Floating Stamps example in the Catalog app due to the annotation subclass not overriding
supportsSecureCoding
. (#37985) - FixedFixes a memory management issue in
AsynchronousExternalDigitalSignatureExample
. (#38057)
12.0.2 30 Nov 2022
PSPDFKitUI
- ChangedImproves 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)
- ChangedImproves 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)
- ChangedMoves the actions for changing color and opacity of text markup annotations to the top-level menu. (#37706)
- FixedFixes 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)
- FixedFixes 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)
- FixedFixes 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)
- FixedFixes a crash when dropping multiple PDF documents/pages into the document editor UI. (#36532)
PSPDFKit
- FixedFixes the measurement annotation note icon visibility not being updated after changing the line thickness. (#36718)
- FixedFixes an issue where specific PDFs could cause a crash when you quickly switch between pages. (#37498)
Instant
- FixedFixes 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
- FixedFixes a regression where the annotation creation menu would sometimes be presented when trying to select text. (#37114)
- FixedFixes an issue where thumbnails would be highlighted in double page mode incorrectly on Mac Catalyst. (#34205)
- FixedFixes drag-and-drop interrupting selecting text when dragging extremely quickly with a pointing device on iPad and Mac. (#37189)
- FixedFixes presentation methods for the annotation inspector, comments and color picker view controllers not being available in Objective-C. (#37121)
- FixedFixes presenting popovers from bar button items in Mac Catalyst apps on macOS Ventura. (#37108)
- FixedFixes selecting a clear fill color from the annotation inspector using a black fill instead on Mac Catalyst. (#37050)
- FixedFixes text and annotations not being deselected when the annotation creation menu is presented. (#37114)
PSPDFKit
- AddedAdds support for serializing and deserializing annotations with measurement info to the XFDF format. (#36936)
- FixedFixes a crash while redacting documents containing the ' PDF operator. (#36778)
- FixedFixes an issue where redacting certain documents may render some document pages blank. (#35776)
- FixedFixes crashes related to font loading in specific documents. (#36284)
Examples
- FixedFixes 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(opens in a new tab).
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(opens in a new tab) for this release.
PSPDFKitUI
- APIAdds new
UIMenu
-based API for customizing the annotation creation and selection menus, which replaces the existingUIMenuItem
-based API. Please see the migration guide(opens in a new tab) for more details. (#26133, #35895) - RemovedDeprecates the
PDFPageView.passthroughViewsForPopoverController
property. Use the.popoverPassthroughViews
presentation option when presenting view controllers instead. (#35895) - RemovedDeprecates the
PDFPageView.select(_:animated:)
method. Useselect(annotations:presentMenu:animated:)
orfocus(formElement:toggleValue:animated:)
instead. (#35895) - RemovedDeprecates the
PDFPageView.showColorPicker(for:animated:)
method. UsepresentColorPicker(for:property:options:animated:completion:)
instead. (#35895) - RemovedDeprecates the
PDFPageView.showFontPicker(for:animated:)
method. UsepresentFontPicker(for:options:animated:completion:)
instead. (#35895) - RemovedDeprecates the
PDFPageView.showInspector(for:options:animated:)
method. UsepresentInspector(for:options:animated:completion:)
instead. (#35895) - RemovedDeprecates the
PDFPageView.showLinkPreviewActionSheet(for:from:animated:)
method. UsepresentLinkActionSheet(for:options:animated:completion:)
instead. (#35895) - RemovedDeprecates the
PDFPageView.showNoteController(for:animated:)
method. UsepresentComments(for:options:animated:completion:)
instead. (#35895) - RemovedDeprecates the
PDFPageView.useAnnotationInspector(for:)
method. UsecanPresentInspector(for:)
instead. (#35895) - RemovedRemoves 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) - RemovedRemoves the “pt” option from the annotation inspector UI for real world distances for measurement annotations. (#36014)
- AddedAdds delegate modifiers
onDidConfigurePageView
andonDidCleanupPageView
for the SwiftUIPDFView
. (#36470) - ChangedModernizes the annotation creation and selection menus to use
UIEditMenuInteraction
with support for context menus on iOS 16 and later. (#26133, #35895) - ChangedImproves the organization of annotation toolbar items for medium screen sizes. (#35778)
- ChangedChanges the design of
NoteAnnotationViewController
. It no longer adjusts its background color to the note annotation. (#35348) - ChangedUpdates the appearance of the UI to pick a note annotation’s icon and color for a cleaner, more modern look. (#35372)
- FixedFixes
FreeTextAnnotationView
incorrectly trying to become the first responder while its underlying text view is being edited. (#35895) - FixedFixes a possible crash when adding image annotations. (#36970)
- FixedFixes annotations being pasted on a wrong page when using the three-finger gesture or the ⌘V keyboard shortcut. (#23131)
- FixedFixes changes to measurement calibration, scale and precision in the annotation inspector not being undoable. (#36780)
- FixedFixes images not being shown in annotation creation and selection menus on iOS 16. (#35151)
- FixedFixes link annotation views not resetting their background color when selecting and deselecting them programmatically. (#36428)
- FixedFixes resolution of
.automatic
page mode when rotating the device, transitioning to different size classes and embedding aPDFViewController
in custom containers. (#32344, #34230) - FixedFixes the annotation inspector not being presentable after merging ink annotations. (#22206)
- FixedFixes the lack of visual indication for selected annotations that aren't editable. (#25555)
- FixedFixes the menu not being presentable and customizable for annotations that aren't editable. (#16215)
- FixedFixes unnecessary page render operations being scheduled when tapping on annotations that aren't selectable. (#25555)
PSPDFKit
- RemovedDeprecates
UnitTo.point
for measurement annotations because PDF points aren’t a useful real world unit. (#36014) - AddedAdds Hebrew localization. (#36047)
- AddedAdds support for converting multi-image TIFF files to multi page PDFs. (#36108)
- AddedAdds support for undoing changes of the measurement scale and precision properties. (#36780)
- ChangedChanges the behavior of
LinkAnnotation.copyToClipboard()
to copy the URL instead of copying the annotation object itself. (#36428) - ChangedUpdates PDFium to version c3451daffa0e96af95b856406668e6188cb139d0. (#36256)
- ChangedUpdates libexpat to version 2.4.9. (#36612)
- ChangedUpdates the HarfBuzz library to 5.2.0. (#36547)
- ChangedUpdates the icons used for note annotations such that they are not clipped when rendered on a page. (#36013)
- FixedFixes a license issue when importing annotations with measurement information via Instant JSON when the license doesn’t include the Measurement Tools feature. (#36660)
- FixedFixes an exception when importing annotations with measurement information from Instant JSON. (#36537)
- FixedFixes an issue generating PDFs from HTML when checkboxes are defined and customer stylesheets are referenced in the HTML head. (#34453)
- FixedFixes an issue where form field flags weren't preserved correctly when repairing form fields. (#33878)
- FixedFixes an issue where temporary files could have been written into
/
. (#36239)
Examples
- FixedFixes the invalid signature errors in the
EmebedContainedSignatureExample
andEmebedContainedPadesSignatureExample
examples. (#35616)
11.5.2 23 Sep 2022
PSPDFKitUI
- AddedAdds the set of changed properties in the
userInfo
dictionary of the.PSPDFAnnotationChanged
notification that is sent whenever an annotation is appended while drawing. (#36433) - FixedFixes an issue where a custom
ThumbnailFilterSegmentedControl
class override might not be used ifThumbnailGridViewCell
has also been overridden. (#36436)
PSPDFKit
- FixedFixes 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
- ChangedImproves the label for area measurements in the annotation inspector. (#35726)
- FixedFixes an issue where tapping form elements with
GoTo
actions would have no effect in documents without the form filling permission. (#36109)
PSPDFKit
- FixedFixes a crash that could occur when resizing a free text annotation with empty contents. (#36326)
- FixedFixes an issue where AP streams weren’t reliably generated for form text fields. That resulted in other readers potentially not showing the text. (#36236)
- FixedFixes an issue where certain documents could cause a crash when opening them. (#36272)
- FixedFixes 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(opens in a new tab) component. You can learn more in the announcement post(opens in a new tab). If you’d like to add this component to your license, please contact our sales team(opens in a new tab) to receive a quote.
- APIRemoves all API that was deprecated in PSPDFKit 10.5. Please see the migration guide(opens in a new tab) for more details. (#35431, #35432, #35433)
PSPDFKitUI
- APIChanges the type of
DocumentSharingConfiguration.applicationActivities
from[Any]
to[UIActivity]
and changes the default value from an array containing justPSPDFActivityTypeOpenIn
to an empty array. (#17178) - RemovedDeprecates
PSPDFActivityTypeOpenIn
, which has been unused since PSPDFKit 9.3 for iOS becauseUIActivityViewController
now includes “open in” functionality directly. (#17178) - RemovedDeprecates the
PDFConfiguration.scrollViewInsetAdjustment
property because using it had no effect. (#16388) - RemovedDeprecates the
ScrubberBar.barTintColor
andScrubberBar.translucent
legacy styling properties. Please use the modernScrubberBar.standardAppearance
andScrubberBar.compactAppearance
properties instead to style the scrubber bar. (#34914) - AddedAdds 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)
- ChangedImproves the UI icons with a complete set of clearer and bolder new images. (#35289)
- ChangedImproves the appearance of the flexible toolbar, including the annotation and document editor toolbars, with a bolder and more rounded style. (#35148)
- ChangedImproves 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)
- ChangedImproves 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) - ChangedImproves the settings UI by presenting it in a sheet on iOS 15 and above, instead of in a popover. (#34479)
- ChangedImproves document layout calculations involving safe area insets for
.scrollPerSpread
and.scrollContinuous
page transitions. (#12933) - ChangedImproves the default annotation toolbar configurations on smaller iPads at the narrowest window size by avoiding automatic group collapsing. (#35148)
- ChangedMoves 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) - FixedFixes an issue where arrows and line dashes of a line annotation would change in size after deselecting the created annotation. (#24816)
- FixedFixes an issue where double-tapping to zoom out would sometimes scroll the document to a random page. (#30011)
- FixedFixes an issue where performing undo or redo would scroll the document to the top of the visible page. (#14166)
- FixedFixes an issue where updating the configuration of a
PDFViewController
would scroll the document to the top of the visible page. (#30921) - FixedFixes 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) - FixedFixes document layout calculations involving
additionalContentInsets
andadditionalScrollViewFrameInsets
. (#34432, #13164) - FixedFixes documents getting zoomed out when their view state is restored in
viewWillLayoutSubviews
. (#22390) - FixedFixes memory leaks in
DrawView
andAnnotationToolbar
. (#35655) - FixedFixes the smart zoom interaction not taking safe area insets into consideration. (#32452)
- FixedFixes some colors not being correctly localized for accessibility. (#35599)
- FixedFixes spread index calculation for
.scrollContinuous
page transition that could result in spreads being scrolled beyond expected content offset. (#13445, #33198) - FixedFixes spread views not using the correct page mode after rotating the device back and forth. (#34686)
PSPDFKit
- APIRenames 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(opens in a new tab) for the updated icon names. (#35289) - AddedAdds
MeasurementInfo
,MeasurementScale
,MeasurementAnnotation
and extendsLineAnnotation
,PolyLineAnnotation
,PolygonAnnotation
,CircleAnnotation
andSquareAnnotation
with variants to handle distance, perimeter and area measurements. (#35771) - ChangedImproves the icons for annotation rendering with a complete set of clearer and bolder new images. (#35289)
- ChangedImproves readability of log messages by not prefixing each message with function name and line number. (#34773)
- ChangedUpdates boost to 1.79.0. (#34723)
- FixedFixes an issue when importing Instant document JSON where both a form field and a form annotation were modified at the same time. (#35454)
- FixedFixes an issue where dates weren’t parsed correctly due to the parser being too strict. (#34079)
- FixedFixes an issue where the wrong text was highlighted when searching. (#33867)
- FixedFixes persistence of log messages with
.info
level by no longer marking them as volatile. (#34773) - FixedFixes an issue where font styles weren’t always discovered correctly. (#35955)
Examples
- AddedAdds
MeasurementsExample
which demonstrates support for various measurement annotations. (#35695) - ChangedChanges the Catalog app’s navigation bar color to an opaque color. (#34964)
- ChangedUpdates the accent color of the Catalog app in dark mode, giving it a fresh look. (#34576)
- FixedFixes 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
- FixedFixes various activity indicator views (spinners) not being visible against some backgrounds (mostly in dark mode). (#34970)
PSPDFKit
- FixedFixes an issue where the file size of the PDF grew a lot when entering Arabic text into form fields. (#35381)
- FixedFixes an error “The timestamp token couldn't be parsed” that may appear with some digital signature timestamps. (#35394)
- FixedFixes corruption of CMYK colorspace images in PDFs after redaction. (#34453)
11.4.0 30 May 2022
See the announcement post(opens in a new tab).
- APIRemoves all API that was deprecated between PSPDFKit 9.1 and PSPDFKit 10.4. Please see the migration guide(opens in a new tab) 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
- APIChanges the superclass of
ThumbnailFilterSegmentedControl
fromSegmentedControl
toUISegmentedControl
sinceSegmentedControl
was deprecated and now removed. (#33874) - APIRemoves
KeyPathReferenceWritable
protocol which was an implementation detail that accidentally ended up as public API. (#33626) - APIRemoves
UIHostingController.init(rootView:largeTitleDisplayMode:)
initializer. Its implementation has been moved to PSPDFKit Catalog. (#33626) - APIRemoves
View.customizeTextFieldOnAppear(customizeBlock:)
function which was an implementation detail that accidentally ended up as public API. (#33626) - AddedAdds
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) - AddedAdds
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) - AddedAdds
SignatureCreationViewController.signatureAnnotation(forPageWith:)
for creating an annotation from the Electronic Signatures creation UI. (#31445) - AddedAdds 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(opens in a new tab) if you are usingDrawView
outside of PSPDFKit. (#31512) - AddedAdds 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) - ChangedImproves 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)
- FixedFixes 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)
- FixedFixes labels not appearing in the annotation inspector when two annotations are selected. (#34038)
- FixedFixes the user interface view hiding again on showing it after changing pages on edge tap. (#32341)
PSPDFKit
- APIChanges the type of
ImageDocument.supportedContentTypes
from[String]
to[UTType]
. (#34427) - APIRemoves
Dictionary.valueForKey(_:)
function. Please use your own helper for accessing nested dictionary values. (#33626) - APIRemoves
LogLevelMask
option set in favor of the newLogLevel
enum. (#33063) - APIRemoves
String
initializers withAnnotation.Kind
andAnnotation.Tool
argument types. Please useString(describing:)
instead. (#33626) - APIRemoves
UnfairLock
class. Please use your own or system-provided locking mechanism instead. (#33626) - APIRemoves multiplication and division operators for
CGSize
. Please use your own helpers for geometry arithmetics. (#33626) - APIRemoves the conformance of
Rotation
to theExpressibleByIntegerLiteral
protocol. Please use the enum cases instead. (#33626) - APIRenames
PSPDFRenderDrawBlock
toPDFRenderDrawBlock
in Swift and removes theRenderDrawHandler
type alias. (#33626) - RemovedDeprecates
FormElement.drawHighlight(in:options:multiply:)
. This method has not been used since at least PSPDFKit 10.2 for iOS and therefore accomplishes nothing. (#33975) - RemovedDeprecates support for embedded YouTube and Vimeo videos (
LinkAnnotation.Kind.youTube
). Please load videos with direct sources or embed your own player view instead. (#34024) - ChangedImproves error reporting when an invalid license key is entered. (#33758)
- ChangedChanges
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) - ChangedChanges the fallback from
http
tohttps
for link annotations with a URL beginning withwww.
without a scheme. (#34567) - ChangedUpdates the HarfBuzz library to version 4.2.0. (#33765)
- FixedFixes an issue when trying to run OCR on a blank page. (#33771)
- FixedFixes font lookup causing a crash when fonts weren't correctly initialized yet. (#33593)
- FixedFixes 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)
- FixedFixes issues surrounding rendering Devanagari script. (#33753)
- FixedFixes more problems when accessing a SQLite database concurrently. (#34027)
- FixedFixes the persistence of images in widgets by properly populating
appearanceCharacteristics.normalIcon
. (#28950)
Examples
- AddedAdds
DetachedSignatureCreationExample
, a new Catalog example that demonstrates how to present the Electronic Signatures creation UI manually. (#31445) - ChangedUpdates
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
- FixedFixes 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) - FixedFixes actions for
.mouseUp
trigger events incorrectly being executed when the touch was lifted outside the target region. (#34320)
PSPDFKit
- AddedAdds
trimBox
andbleedBox
properties toPDFPageInfo
to read the corresponding rectangular regions from the PDF. (#33660) - AddedAdds more robust input validation when calculating thumbnail sizes. (Z#31063)
- ChangedImproves XFDF serialization of ink annotations by including their variant. (#34354)
- ChangedUpdates the Freetype library to version 2.12.1. (#34326)
- ChangedUpdates the Zlib library to version 1.2.12. (#34305)
- FixedFixes an issue where certain form fields weren't repaired correctly. (#33878)
- FixedFixes fitting size calculation when generating Instant JSON representations of free text annotations. (#34314)
11.3.1 6 Apr 2022
PSPDFKitUI
- FixedFixes a crash when showing the color picker from a page view (not from the annotation inspector) on Mac Catalyst. (#33736)
PSPDFKit
- FixedFixes a crash when rendering a specific type of documents on multiple threads at the same time. (#33110)
- FixedFixes a problem where the outline elements of some documents did not point to the correct page. (#32970)
- FixedFixes an issue running OCR on a page that contains an image with no text. (#31709)
- FixedFixes an issue where form buttons weren't able to import images with buttonImportIcon if they were located on pages other than the first. (#33364)
- FixedFixes parsing of page labels with indirect objects in the number tree. (#33657)
Examples
- ChangedUpdates the
RemoteDocumentURLExample
to use a valid URL of a PDF document for displaying. (#33732) - FixedFixes 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(opens in a new tab).
This release changes the persistance implementation of Saved Annotations. To learn more about this, check out our migration guide(opens in a new tab) for this release. Please note that this release does not include any breaking changes.
PSPDFKitUI
- RemovedDeprecates
ColorPickerFactory
,ColorPalette
,ColorPatch
,ColorPatch.ColorSet
and color picker customization in favor of using the system color picker. (#32488) - AddedAdds
PersistentAnnotationSetStore
that stores saved annotations on disk and makes it the default store used in Saved Annotations list. (#30969) - AddedAdds cloudy polygon annotation tool. (#32866)
- ChangedImproves performance of ink annotation drawing by optimizing the number of data points collected. (#23736)
- ChangedChanges the polygon annotation tool icon to a triangle. (#32866)
- ChangedUpdates
TextStampViewController
to use the built-in color picker when available. (#32511) - ChangedUpdates the color picker for the annotation's fill color with a dedicated button to select a transparent color. (#31580)
- FixedFixes a crash occuring when expanding an outline item after the search bar was focused. (#33323)
- FixedFixes a memory leak where the
PageCurlViewController
was not getting deallocated. (#31169) - FixedFixes a potential rare crash due to infinite layout recursion with
BaseTableViewController
. (#29638) - FixedFixes previously saved annotations disappearing on saving large annotations in the Saved Annotations list. (#30969)
- FixedFixes page content offset issues when switching apps after editing a free text annotation. (#31424)
- FixedFixes rendering screen annotations that have no associated asset by showing the appearance stream instead. (#29265)
- FixedFixes text annotation bounding box calculations when dragging to prevent unnecessary line wrapping or text clipping. (#31688)
PSPDFKit
- RemovedDeprecates
RenderOptions.drawAppearanceStream
, as this property is no longer used. (#28528) - RemovedDeprecates the
annotationSets
property in theAnnotationSetStore
protocol. Use the newfetchAnnotationSets()
andsetAnnotationSets(_:)
functions that offer improved error reporting. (#30969) - RemovedDeprecates the
shared
property of theSavedAnnotationsViewController
class. Use the more appropriately namedsharedAnnotationStore
property instead. This only affects Swift call sites. (#30969) - AddedAdds more detailed logging for signature verification errors during development of custom signing implementations. (Z#28856)
- AddedAdds string representation to clipboard when copying a free text annotation in addition to annotation representation. (Z#30435)
- AddedAdds support for rendering watermark and custom annotations by showing the appearance stream. (#29992)
- ChangedImproves error reporting in some cases when PSPDFKit asserts (crashes) due to invalid configuration or API misuse. (#32157)
- ChangedChanges drawn signatures (ink signatures) to resize with their aspect ratio locked. Override
shouldMaintainAspectRatio
to alter this. (#32752) - RemovedRemoves public conformance of the
Result
type toCustomStringConvertible
protocol. Please use the default description instead. (#30969) - ChangedUpdates Duktape to version 2.7.0. (#33161)
- ChangedUpdates XMP toolkit to version 2022.02. (#32824)
- ChangedUpdates libtiff to version 4.3.0. (#33050)
- ChangedUpdates the HarfBuzz library to 3.2.0. (#32690)
- FixedFixes a crash when flattening note annotations in compound documents. (#33041)
- FixedFixes form fields with JavaScript formatting scripts which may be incorrectly formatted with thousands separators. (#32596)
- FixedFixes a stability issue accessing the file system that can happen in rare situations. (#32467)
- FixedFixes loading old trailer in PDFs with hybrid cross-reference tables which caused old information to be shown. (#32243)
- FixedFixes an issue where imported stamp annotations wouldn't be modified. (#33030)
- FixedFixes read-only signature fields sometimes incorrectly showing a "Sign" overlay. (#32310)
- FixedFixes libtiff CVEs
CVE-2022-0561
andCVE-2022-0562
. (#33480)
Instant
- ChangedInstant doesn't support using file protection on specific directories anymore. Use the data protection entitlement instead. For more information see https://www.nutrient.io/guides/ios/pspdfkit-instant/data-protection/. (#30506)
Examples
- ChangedUpdates a subset of sample documents with fresh look and contents. (#32349)
- FixedFixes signatures appearing underneath the white background of the signature field in the PSPDFKit 11 QuickStart Guide in Adobe Acrobat. (#32247)
11.2.3 23 Feb 2022
PSPDFKitUI
- ChangedImproves support for right edge page bindings by advancing in the expected direction when tapping on the left or right edge. (#24478)
- FixedFixes a crash when animated GIFs are used in a gallery on a document page. (#33003)
- FixedFixes an issue where overlapping text markup annotations might not merge properly. This could result in darker highlights in certain areas. (#32963)
- FixedFixes clipped labels in the annotation list when using a right-to-left layout direction. (#33153)
PSPDFKit
- AddedAdds support for validating RSA-PSS digital signatures. (#33006)
- ChangedUpdates STB to 2.27. (#32326)
- FixedFixes a glyph rendering issue when new lines are used in form fields. (#31733)
- FixedFixes the Sign overlay of unsigned signatures incorrectly appearing in some situations. (#32310)
- FixedFixes a rare crash that happened when loading fonts. (#33110)
- FixedFixes an issue where adding a digital signature may invalidate previous ones because of some spurious rounding-related changes to the page boxes. (#32952)
- FixedFixes a crash when deserializing image annotations from Instant JSON that reference incompatible existing annotations from the PDF. (Z#28946, #32861)
11.2.1 26 Jan 2022
PSPDFKit now requires and is built with Xcode 13.2.1.
PSPDFKitUI
- ChangedImproves VoiceOver accessibility by automatically focusing the relevant paragraph or annotation on the page after selecting a search result. (#31191)
- ChangedChanges 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)
- FixedFixes a crash when closing the last document in
PDFTabbedViewController
using the overview list (MultiDocumentListController
). (#32472) - FixedFixes 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)
- FixedFixes 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
- AddedAdds the ability to remove an image set on a button form element by setting the
appearanceCharacteristics
or itsnormalIcon
property to nil. (#28949) - FixedFixes objects being rendered with the wrong color due to non-compliant color values. (#30102)
Examples
- FixedFixes 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(opens in a new tab) for more information.
See the announcement post(opens in a new tab).
PSPDFKitUI
- AddedAdds a magnifying glass when selecting text that matches the system behavior on iOS 15. (#31426)
- RemovedRemoves 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)
- FixedFixes an accessibility issue where the clear buttons in the Document Info view controller would not scale with Dynamic Type. (#31955)
- FixedFixes an issue where custom views added to the page view's hierarchy would not be accessible despite being accessibility elements. (#31715)
- FixedFixes an issue where page thumbnails would sometimes be scaled down using an incorrect aspect ratio. (#32108)
- FixedFixes an issue where the annotation toolbar might be incorrectly positioned after hiding the annotation inspector half-modal. (#31704)
- FixedFixes an issue where the first thumbnail in the thumbnail bar would be partially invisible when
PDFViewController
appears for the first time. (#32308) - FixedFixes an issue where the image editor didn't correctly crop pictures when zooming or rotating them. (#31676)
- FixedFixes an issue where the thumbnail selection highlight for the current page would not be rendered correctly when using automatic page mode. (#32300)
- FixedFixes inconsistent rendering when selecting colors from the extended P3 color space in the annotation inspector. (#31967)
- FixedFixes 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
- AddedAdds methods on
PDFCache
to remove cached images using a document UID to avoid the need to create aDocument
object. (#29557) - ChangedImproves rendering performance for pages with large numbers of annotations that are either partially transparent or have a non-normal blend mode. (#31319)
- ChangedChanges the behavior of
Annotation.isOverlay
such that assigning a new value no longer updatesAnnotation.lastModified
. (#32352) - RemovedRemoves references to the macOS version from the public headers. (#30386)
- ChangedUpdates the HarfBuzz library to 3.1.0. (#31771)
- FixedFixes
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) - FixedFixes a crash when trying to calculate the tab order for documents. (#24082)
- FixedFixes a potential deadlock when reading additional information from
PDFLibrary
in the completion handler of a library search query. (#27953) - FixedFixes an issue where persisting dates or times in forms may be off by one hour in some situations. (#32201)
- FixedFixes importing of Instant Document JSON containing image annotations onto a rotated page. (#32021)
- FixedFixes importing of Instant Document JSON containing multiple radio buttons of the same label. (#31855)
- FixedFixes importing of Instant Document JSON where image annotations have been moved. (#31945)
- FixedFixes memory leak when closing documents with form fields. (#31557)
Instant
- AddedAdds support for Instant Collaboration Permissions(opens in a new tab). (#30090)
- FixedFixes an issue where
InstantClientDelegate
methods were not called on performing actions using theInstantDocumentDescriptor
s returned by theInstantClient.localDocumentDescriptors
API. (#31629)
Examples
- AddedAdds a new Instant example that allows granting users selective permissions for collaborating while using an Instant Document. (#31740)
- AddedAdds additional bar buttons in the Catalog Playground example on Mac Catalyst. (#31920)
- RemovedRemoves 3 Objective-C examples (
PSCDocumentPickerSidebarExample
,PSCTabbedBarExample
andPSCOpenInExample
) in favor of their Swift equivalents. (#31852) - RemovedRemoves the language switcher from Catalog since all examples except one are now written in Swift. (#31852)
- ChangedRenames
PSCPlaygroundExample
toPSCObjectiveCExample
. (#31852) - FixedFixes a crash occurring while trying to dismissing an Instant example displaying another controller modally or in a popover. (#32542)
- FixedFixes 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
- FixedFixes the delete key on hardware keyboards being able to delete selected form checkboxes and radio buttons. (#31755)
- FixedFixes applying a view state with an invalid viewport potentially leading to an assertion. (#30361)
- FixedFixes an issue where refreshing pages could lead to an assertion in the thumbnail controller. (#30640)
- FixedFixes an unexpected page sometimes being displayed after rotating an iPad when using the curl page transition. (#30599)
PSPDFKit
- FixedFixes manual alignment for Document Comparison producing incorrect results for rotated pages. (#31681)
- FixedFixes the appearance stream of unsigned signature fields not being rendered. (#31015)
- FixedFixes some annotations not always rendering in the correct z-order. (#31671)
- FixedFixes a memory leak when checking digital signatures. (#31520)
Instant
- ChangedImproves the behavior of reauthentication before accessing the document of an
InstantDocumentDescriptor
. (Z#27871) - ChangedImproves 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(opens in a new tab).
PSPDFKit now requires and is built with Xcode 13.1.
This release updates the Document Comparison(opens in a new tab) component with a new document alignment feature. If you'd like to add this component to your license, please contact our sales team(opens in a new tab) to receive a quote.
PSPDFKitUI
- AddedAdds
DocumentAlignmentViewController
that can be used to align two versions of a document and generate a comparison between them. (#30106) - AddedAdds the ability to create text markup annotations in the middle of words when using trackpad or mouse. (#30990)
- FixedFixes an issue where certain colors picked using the system color picker could appear incorrectly. (#30101)
- FixedFixes an issue where the image source picker popover for a form element would be misplaced after rotating the device. (#29036)
- FixedFixes an issue where the note annotation popover would shrink too much when the software keyboard was visible. (#31074)
PSPDFKit
- AddedAdds
ComparisonProcessor
that can be used to generate a comparison between two versions of a document. (#30106) - AddedAdds support for searching form field contents when the option to search annotation contents is enabled. (#26502)
- RemovedRemoves
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(opens in a new tab). (#31315) - ChangedUpdates the FreeType library to version 2.11.0. (#30900)
- ChangedUpdates the libjpeg-turbo library to version 2.2.1. (#30900)
- ChangedUpdates the HarfBuzz library to version 3.0.0. (#31113)
- ChangedUpdates the HarfBuzz library to version 2.9.1. (#30624)
- FixedFixes elevated memory consumption when PDF objects need compressing. (#31317)
- FixedFixes elevated memory consumption when encoding JPEG images. (#31205)
- FixedFixes 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) - FixedFixes a very occasional crash when parsing stamp annotations that contained images references to invalid indirect objects. (#31093)
- FixedFixes an issue where setting
event.value
inside a validation script may not work as expected. (#31286) - FixedFixes a possible undefined behavior when validating digital signature data. (#31179)
- FixedFixes an assertion that would occur when the
rotation
property was removed from an annotation. (#31173)
Instant
- FixedFixes an issue where calling
copy()
on an Instant-backedPDFDocument
would raise an exception. (#31267) - FixedFixes an issue where the objects returned by
InstantClient
fromlocalDocumentDescriptors()
would not be updated properly. (#31367, Z#27576)
Examples
- ChangedUpdates
ComparisonExample
to showcase the new document comparison and alignment features. (#30106) - ChangedUpdates 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(opens in a new tab).
PSPDFKit now requires and is built with Xcode 13.0.
PSPDFKitUI
- AddedAdds a
colors
property toSignatureViewController.Configuration
to customize the available signature colors the user can pick from. (#29361) - AddedAdds localized names for all recorded undoable commands. (#29454)
- AddedAdds 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) - AddedAdds 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) - RemovedRemoves 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) - ChangedUpdates
UIKeyCommand
s provided by PSPDFKit to account for system changes in iOS 15. (#30174) - FixedFixes an issue where a page label in the document editor was not updated during drag and drop reordering. (#30752)
- FixedFixes the
UIViewController
methodaddKeyCommands(_:)
not working onPDFViewController
andPDFTabbedViewController
. (#30552) - FixedFixes
PDFNavigationController
potentially asserting about an invalid interface orientation when presented without any child view controllers. (#30424) - FixedFixes an issue where free text annotations were sometimes being clipped due to incorrect bounding box calculations. (#30649)
- FixedFixes an issue where the user interface view would not become visible after editing an empty free text annotation or when using Scribble. (#30998)
PSPDFKit
- RemovedDeprecates the
PSPDFKit.FileManager
methodsfileHandleForWriting(to:withBlock:)
andfileHandle(forUpdating:withBlock:)
because these are not called by PSPDFKit. (#229939) - AddedAdds support for blend mode in all annotations when using Instant JSON. If
blendMode
is not specified, it defaults tonormal
. (#29582) - ChangedImproves rendering non-Latin text (like Arabic) when selecting specific fonts. (#30517)
- ChangedUpdates the HarfBuzz library to 2.8.2. (#30164)
- FixedFixes various completion handler closures not being called in some cases. (#29846)
- FixedFixes
overlappingSignatureAnnotation
sometimes not returning the correct result in annotations that are backed by an XFDF file or other types of custom annotation providers. (#28818) - FixedFixes an issue where a digital signature may incorrectly report a certificate validation error. (#30521)
- FixedFixes an issue where fonts were not correctly included in the PDF resulting in wrongly rendered free text annotations. (#30115)
- FixedFixes an issue where highlight annotations used the wrong blend mode after importing with Instant JSON. (#30537)
- FixedFixes inaccessible files possibly being erroneously reported as corrupted. (#29556)
- FixedFixes an out of bounds page index access that could occur during note annotation saving in multi-provider documents. (#30742)
- FixedFixes annotations being rotated incorrectly when using a custom annotation provider and temporary rotation (
setRotationOffset
) and saving more than once. (#30730)
Examples
- FixedFixes arrow key control not working in the Snake example. (#30552)
10.5.1 11 Aug 2021
PSPDFKitUI
- AddedAdds the
clearOrDeleteAllAnnotations
subclassing hook forAnnotationTableViewController
. (#30183) - AddedAdds an accessibility identifier to the page label. (#30158)
- ChangedImproves transition animations to and from the thumbnail view mode. (#30464)
- FixedFixes a crash introduced in 10.5 that occurred when trying to search in the annotation list. (#30411)
- FixedFixes an assertion failure that was hit when reloading the thumbnail controller before it was loaded. (#30384)
- FixedFixes an issue where rotating the device after navigating to a specific page could result in a previously viewed page being shown. (#28561)
- FixedFixes an issue where the search bar in
SearchViewController
could be scrolled past the visible area when there were no search results. (#29721)
PSPDFKit
- APIThe
PSPDFDocumentWillSaveAnnotationsNotification
notification has been refined for Swift asDocument.willSaveAnnotations
. (#29518) - ChangedImproves freetext annotation rendering across PSPDFKit platforms by honoring the
isFitting
attribute from Instant JSON. (#28719) - FixedFixes 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)
- FixedFixes the PDF table of contents (outline) linking to the wrong page in certain documents. (#30070)
- FixedFixes a rare crash that may happen when rendering certain PDFs. (#29843)
- FixedFixes 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) - FixedFixes fine-grained page reloading not always calling the correct document provider creation callback method. (#29518)
- FixedFixes 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
- AddedAdds a new SwiftUI example that demonstrates how to display a custom annotation inspector. (#30099)
- AddedAdds support for fetching thumbnails from a remote source in the streaming document example. (#29518)
- AddedAdds 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(opens in a new tab).
In preparation for iOS 15, this version of PSPDFKit now drops support for iOS 12. (#29669)
PSPDFKitUI
- APIChanges a property attribute of
AnnotationStateManager.pencilInteraction
fromnullable
tononnull
, since it will never benil
on iOS versions above 12.1. (#29985) - RemovedDeprecates 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) - RemovedDeprecates
appearanceManager(_:applyAppearanceSettingsForMode:)
andappearanceManager(_:updateConfiguration:forMode:)
methods ofAppearanceModeManagerDelegate
since they are replaced by theoverrideUserInterfaceStyle
property on UIView and UIViewController on iOS 13 and later. (#29820) - RemovedDeprecates
tabBarStyle
fromPDFTabbedBar
. (#29820) - AddedAdds
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) - RemovedRemoves full-page 3D Touch previews from
AnnotationTableViewController
,BookmarkViewController
,OutlineViewController
andSearchViewController
. 3D Touch will now show a contextual menu instead. (#29892) - ChangedThumbnail grid cells now automatically scale images if a custom
PDFPageCellImageLoading
image loader is used that returns images that are too large. (#29518) - FixedFixes an issue where redoing the creation of ink annotations would sometimes result in them being rendered on top of each other. (#29800, #29829)
- FixedFixes an issue where some of the UI elements presented a
PDFViewController
did not inherit itsoverrideUserInterfaceStyle
. (#29870) - FixedFixes an issue where the context menu under the Additional Toolbar Buttons did not show up in certain cases. (#29835)
- FixedFixes an issue where the undo and redo toolbar buttons would not be reliably updated in certain scenarios. (#29855)
- FixedFixes choppy page scrolling that could occur in rare cases near the first or last page in continuous scrolling mode. (#29394)
- FixedFixes 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)
- FixedFixes 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
- AddedAdds support for rendering pages with a transparent background. (#29867)
- ChangedChanges the scaling mode for button form element images to use aspect fit to prevent images from being clipped. (#17805)
- ChangedRefines
performRead(_:)
,performWrite(_:)
andperformWriteAndWait(_:)
methods ofPDFContainerAnnotationProvider
for Swift. (#29754) - FixedFixes an issue where importing a 'goToRemote' without a page index would fail. (#29616)
- FixedFixes an issue where importing unknown actions using Instant JSON failed. (#29814)
- FixedFixes an issue where redactions of paths could fail with “Coordinate outside allowed range” if the path coordinates were very large. (#29791)
- FixedFixes an issue where signing a document in some cases may fail without a specific error object. (Z#25217)
- FixedFixes an issue where the Instant JSON would contain redundant data after removing a form field. (#29671)
- FixedFixes an issue where undo and redo stacks would persist in an invalid state after saving changes in the Document Editor. (#29691)
- FixedFixes an issue where undo and redo stacks would persist in an invalid state after setting a temporary page rotation offset. (#29924)
- FixedFixes an issue where undoing and redoing changes made to annotations would not restore their previous custom appearance streams. (#19523)
Instant
- AddedAdds support for Instant Document Permissions. (#29983)
- AddedAdds 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) - FixedFixes a lock inversion that could lead to a deadlock. (#29743)
- FixedFixes an issue where locally created Instant comment markers could end up appearing as regular note annotations. (#30010)
Examples
- FixedFixes the unreachable URL for the document used in the
DocumentProgressExample
which led to the document not loading. (#29619)
10.4.1 2 Jun 2021
PSPDFKit
- ChangedImproves the reliability of undoing annotation removal. (#29641)
- ChangedImproves the reliability of undoing changes made to text markup and sound annotations. (#29594)
- FixedFixes a crash that could occur when undoing the addition or removal of annotations. (#29594)
- FixedFixes a performance regression, most noticeable during drawing, introduced by overly verbose logging. (#29613)
- FixedFixes a problem where a document signed with a timestamp may not validate correctly. (#29380)
- FixedFixes a problem where an ECDSA signature in IEEE 1363 format may not validate correctly. (#29380)
- FixedFixes a crash that could occur in some cases when undoing resizing an image annotation. (#29595)
- FixedFixes an issue where OCR would fail if no text is on the page. Now the call returns successfully. (#29527)
- FixedFixes an issue with OCR where no text is found if the text on the page is relatively large. (#29512)
Examples
- AddedAdds a new Catalog example that shows how to redact text using a regular expression. (#29528)
- FixedFixes 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(opens in a new tab).
To learn more about the breaking changes introduced with the new APIs, check out our migration guide(opens in a new tab) for this release.
PSPDFKitUI
- RemovedDeprecates
annotationStyleController(_:willStartChangingProperty:)
method ofAnnotationStyleViewControllerDelegate
protocol in favor ofannotationStyleController(_:didBeginChangingProperty:)
. (#14301) - RemovedDeprecates
annotationStyleController(_:didEndChangingProperty:)
method ofAnnotationStyleViewControllerDelegate
protocol in favor ofannotationStyleController(_:didEndChangingProperty:affectedProperties:)
. (#14301) - RemovedDeprecates the
showAnnotationMenuAfterCreation
configuration option. This functionality can be replicated by observing thePSPDFAnnotationsAdded
notification and programmatically selecting the new annotation and showing the menu. (#29148) - AddedAdds 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) - AddedAdds support for displaying annotation results in the
PDFDocumentPickerController
FTS search UI. (#28587) - AddedAdds support for showing annotation reviews when annotation editing is disabled. (#28049)
- ChangedImproves accessibility in the Electronic Signatures UI (
SignatureCreationViewController
). (#28903) - ChangedImproves license validation when programmatically creating
SignatureCreationViewController
orSignatureViewController
. (#28798) - ChangedChanges 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)
- ChangedThe SwiftUI
PDFView
can now be initialized with a document object in addition to the existing document binding initializer. (#28723) - FixedFixes
ContainerViewController
showing empty segments if a child view controller implementingSegmentImageProviding
provides anil
image. (#28952) - FixedFixes a crash when using the new Signature component on macOS Catalina. (#28878)
- FixedFixes an issue where link preview action sheets were not shown if link annotations were not editable. (#29131)
- FixedFixes an issue where setting a nil
selectedFont
in theFontPickerViewController
would disable font selection. (Z#24686) - FixedFixes an issue where sometimes pages would be incorrectly changed when zooming out in continuous page transition. (#26777)
- FixedFixes an issue where the Wikipedia inline popover would not show a title in the popover when running via Mac Catalyst. (#29014)
- FixedFixes an issue where the optional Wikipedia inline popover would not always be placed exactly on the selected text. (#29014)
- FixedFixes 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) - FixedFixes 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
- APIAdds a new undo architecture, which replaces the existing
UndoController
API. Please refer to the migration guide for more details. (#14301) - APIRemoves the initializers of
PDFCache
,DiskCache
, andMemoryCache
because PSPDFKit handles creating these objects. (#24592) - RemovedDeprecates the
ButtonFormElement.ButtonFlag
,TextFieldFormElement.TextFieldFlag
, andChoiceFormElement.ChoiceFlag
option sets because they were not used. (#29395) - AddedAdds support for specifying blend mode for shape annotations in Instant JSON. (#29081)
- AddedAdds the ability to open TIFF images as Image Documents. (#28630)
- ChangedImproves file coordination efficiency during saving. (#28770)
- ChangedChanges the
licenseKey
to be nullable. This initializes the SDK in trial mode. (#28211) - ChangedThe scrollable thumbnail bar now updates more efficiently when documents are streamed on-demand. (#28657)
- ChangedUpdates FreeType to 2.10.4.179. (#28676)
- ChangedUpdates HarfBuzz to 2.8.0. (#28598)
- ChangedUpdates the Botan library to 2.18.0. (#29123)
- FixedFixes a crash that could happen when opening documents and image documents at the same time in different threads. (#29468)
- FixedFixes 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)
- FixedFixes a rendering issue for specific documents that have font resources with /Widths that are too small to render. (#28103)
- FixedFixes an issue in the text parser where space characters were being omitted from the returned text. (#28886)
- FixedFixes an issue that caused annotation added via Instant JSON not being added to a document generated with the processor. (#29023)
- FixedFixes an issue where JavaScript code was not executed correctly. (#29283)
- FixedFixes an issue where PSPDFFormField could not be subclassed and overridden. (#28955)
- FixedFixes an issue where an invalid digital signature may return the same error code more than once. (#27512)
- FixedFixes an issue where form fields are not interactive after a document with JavaScript is merged with another document. (#28052)
- FixedFixes an issue where list boxes would not render text when an item is selected if there was no DA field present. (#28536)
- FixedFixes an issue where not all data was shown on a small number of documents containing hybrid cross-reference streams. (#28713, #24258)
- FixedFixes an issue where paths could accidentally be filled in, even though only the border should have been painted. (#28699)
- FixedFixes an issue where some digital signatures with indefinite length structures were not validated correctly. (#26983)
- FixedFixes 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)
- FixedFixes an issue where some signatures with timestamps couldn't be parsed correctly and returned an error. (#28642)
- FixedFixes an issue where the framework may write unnecessary entries to the PDF trailer dictionary. (#28755)
- FixedFixes several small leaks of KVO related information through improved setup and handling. (#29026, Z#24171)
Examples
- AddedAdds a Catalog example,
DisableAnnotationReviewsExample
, which showing how annotation reviews can be disabled using Document Features. (#28049) - AddedAdds a new Instant example demonstrating how to display different sets of annotations on a document using Instant Layers. (#28718)
- AddedAdds a new Instant example that shows two instances of the same document to simulate multiple users editing the document. (#28718)
- AddedAdds a SwiftUI version of the streaming document example. (#28723)
- ChangedUpdates 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(opens in a new tab).
This release adds the Electronic Signatures(opens in a new tab) and Instant Comments(opens in a new tab) components. If you'd like to add either component to your license, please contact our sales team(opens in a new tab) to receive a quote. To learn more about the breaking changes introduced with the new APIs, check out our migration guide(opens in a new tab) for this release.
PSPDFKitUI
- APIChanges 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) - APIAll 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) - APIRemoves
UIHostingView
class. Please use your own helpers for interoperability between SwiftUI and UIKit. (#28229) - RemovedDeprecates
SegmentedControl
class. Please consider creating your own segmented control subclass. (#24801) - AddedAdds
PDFViewController.selectedAnnotations
property to get or set the selected annotations inside a view controller. (#27878) - AddedAdds
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) - AddedAdds
Annotation.Tool.iconImage(with:)
function that can be used to get an icon for an annotation type. (#28023) - AddedAdds additional actions to the SwiftUI
ActionEvent
publisher. (#28470) - AddedAdds support for playing back audio from hidden video and audio annotations. (#27488)
- AddedAdds support for adding links to reading list when long-pressing on a link annotation in a Mac Catalyst app on macOS Big Sur. (#28236)
- AddedAdds spread index attributes to the spread change analytics event. (#26690)
- ChangedImproves various UI elements and interactions when "Optimized Interface for Mac" mode is enabled in a Mac Catalyst app. (#28023, #28140)
- ChangedImproves the default color presets for pen ink annotations. Variants that previously set a background color have been replaced with additional line color options. (#28147)
- ChangedImproves
PDFDocumentSharingViewController
by not callingdocumentSharingViewController(_:shouldSave:withOptions:)
delegate method when theDocument
being saved has itsannotationSaveMode
set to.disabled
. (#28432) - ChangedImproves the user experience when switching sections in
PDFDocumentSharingViewController
by disabling the fade animation. (#28140) - ChangedSome icons have been replaced with matching SF Symbols on iOS 13 and later. (#28149)
- ChangedReplaces the color picker with the system
UIColorPickerViewController
on iOS 14 and macOS Big Sur, where applicable. (#27772) - ChangedThe window subtitle is set to display the visible page range in a Mac Catalyst app on macOS Big Sur. (#28156)
- ChangedThe tint color of toolbars is now set to
.labelColor
by default in a Mac Catalyst app. (#28112) - ChangedThe confirmation dialog is no longer shown when deleting a note annotation in a Mac Catalyst app. (#28142)
- ChangedView controllers that are not in the current view mode are now automatically removed from the hierarchy to improve performance. (#28158)
- AddedNew page actions without a sender are now better handled by the Document Editor. (#28112)
- FixedFixes a crash that would occur when panning a page while zoomed in using
.curl
page transition. (#26690) - FixedFixes
SignatureViewController
initialization to enable correct override behavior from Swift. (#28321) - FixedFixes an issue where removing an already deleted PDF file that was temporarily generated for sharing purposes would log a warning. (#28382)
- FixedFixes an issue where an ink annotation could sometimes not be erased when zoomed in. (#26829)
- FixedFixes an issue where
PDFViewController
would sometimes stop responding to touches after cancelling a sharing activity. (#28382) - FixedFixes an issue where the button for adding a reply was not disabled whilst editing an annotation reply. (#28342)
- FixedFixes an issue where the search popover would not correctly resize in a Mac Catalyst app on macOS Big Sur. (#28312)
- FixedFixes an issue where selecting multiple annotations would use reverse the order when sorting annotations. (#28311)
- FixedFixes 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) - RemovedDeprecates
SignatureContainer.init(annotation:signer:biometricProperties:)
in favor ofinit(signatureAnnotation:signer:biometricProperties:)
that supports image signatures with the new Electronic Signatures component. (#27404) - RemovedDeprecates
SignatureContainer.annotation
property in favor ofsignatureAnnotation
that supports image signatures with the new Electronic Signatures component. (#27404) - AddedAdds
StampAnnotation.isSignature
property to support image signatures with the new Electronic Signatures component. (#27404) - ChangedLogging now uses OSLog by default, which exports the log category next to the message for better filtering in the Console app on macOS. (#28386)
- ChangedImproves the support for sandboxed URLs that require strict security scope calls to be accessed. (#28530)
- ChangedImproves 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)
- ChangedImproves RGB color space conversion for annotation colors to make it more resilient to arbitrary input. (#27652)
- ChangedImproves file coordination when interacting with
NSDocument
in a Mac Catalyst app. (#28555) - ChangedSerializing 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) - ChangedUpdates FreeType to 2.10.4.106. (#27771)
- ChangedUpdates libjpeg-turbo to 2.0.90. (#27771)
- FixedFixes 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) - FixedFixes 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) - FixedFixes an incorrect assertion in
PDFViewController
when setting documents that report progress. (Z#23132) - FixedFixes an issue when trying to export a redacted document twice with the same name. (#27948)
- FixedFixes an issue when setting date and time in form fields that have JavaScript formatting. (#27939)
- FixedFixes an issue where calculating the tab order could fail with
database is locked
or similar SQLite errors. (#24082) - FixedFixes an issue where deleting a note annotation could incorrectly cause an error message to be logged. (#28240)
- FixedFixes an issue where negative values didn't include thousand separators when being formatted by
AFNumber_Format
in JavaScript. (#28188) - FixedFixes an issue where text extracted from an image using OCR was not selectable in the Preview app on macOS. (#28329)
- FixedFixes an issue where dirty state was tracked incorrectly for certain annotation types. (#28289)
- FixedFixes 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
- AddedAdds support for the Instant Comments component. (#28345)
Examples
- AddedAdds an example demonstrating how to programmatically add an image signature to a document. (#27404)
- AddedAdds an example demonstrating how to use a custom annotation toolbar in SwiftUI. (#28475)
- AddedAdds Mac Catalyst support to the SwiftUI Document Browser example project. (#28288)
- ChangedImproves PSPDFKit Catalog by converting remaining Objective-C examples to Swift and removing several outdated examples. (#28450)
- ChangedUpdates
SignAllPagesExample
to use the new Electronic Signatures component. (#27404) - RemovedRemoves
AccessDigitalSignatureBiometricPropertiesExample
,AccessInkSignatureBiometricDataExample
,FormInteractiveDigitalSigningExample
,OnlyAllowDigitalSigningExample
, andOnlyAllowInkSigningExample
because the Electronic Signatures and Digital Signatures functionalities are now separated. (#27404) - FixedFixes 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
- ChangedThe toolbar in
NoteAnnotationViewController
will no longer be hidden when typing comments on iPad. (#26771) - FixedFixes an issue where a document using
XFDFAnnotationProvider
did not contain the XFDF annotations when sharing. (#27498) - FixedFixes an issue where erasing an ink annotation in night rendering mode did not honor the adjusted annotation colors. (#24621)
- FixedFixes automatic appearance matching between the main navigation bar and the annotation toolbar. (#27897)
- FixedFixes the annotation toolbar not showing certain collapsed buttons on iOS 14. (#27719)
PSPDFKit
- AddedAdds
Equatable
andHashable
conformances toAnnotation.State
. (#28063) - ChangedImproves the experience of rotating annotations by better detecting unsupported configurations. (#26703)
- ChangedUpdates OpenJPEG to version 2.4.0. (#27917)
- FixedFixes a regression where visibility flags of annotations were ignored. (#27996)
- FixedFixes an issue where the signature description was cut off in narrow signature fields. (#27540)
- FixedFixes an issue related to subclassing
Document
and order of designated initializer calls. (#27909) - FixedFixes an issue where
Annotation.isDirty
property would get reset incorrectly. (#26629)
Instant
- ChangedImproves error handling when resolving entries in an offline cache that has been tampered with. (#28005)
Examples
- AddedAdds an example demonstrating how to set custom delegates of view controllers presented in SwiftUI. (#27807)
- FixedFixes 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(opens in a new tab).
PSPDFKitUI
- AddedAdds 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) - ChangedImproves text insertion point visibility for text annotations and form fields on Mac Catalyst. (#26615)
- ChangedImproves the UX when opening embedded files on Mac Catalyst by always showing the system QuickLook UI rather than an iOS-style modal. (#26890)
- ChangedImproves 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)
- ChangedChanges in selected annotations now animate in more cases. (#26893)
- ChangedHides the brightness setting in
SettingsViewController
on Mac Catalyst because it has no effect on that platform. (#27651) - ChangedThe
PDFViewController.barButtonItemsAlwaysEnabled
array now includes thePDFViewController.closeButtonItem
by default. (#27008) - ChangedVarious optimizations for the 'Optimized for Mac' Catalyst mode. (#27780)
- FixedFixes an issue where arrow keys would navigate between pages instead of navigating the text cursor when editing text in Mac Catalyst. (#23095)
- FixedFixes an issue where changing the type of a text markup annotation would delete its replies. (#26484)
- FixedFixes an issue where printing a document didn't work without Annotation Editing enabled. (#27613)
- FixedFixes an issue where printing a password protected document via the print button would not work. (#27615)
- FixedFixes crashing or other incorrect behavior that may occur when deleting comments (Annotation Replies) in a certain order on iOS 14. (#26356)
- FixedFixes an issue where the loading screen for Reader View could flash white. (#24518)
- FixedFixes an issue where the shadow of the floating scrubber bar was not hidden when switching to the docked scrubber bar. (#27577)
- FixedFixes markup annotations being inadvertently auto-selected after creation. (#27344)
PSPDFKit
- APIRenames
VerticalAlignment
toAnnotation.VerticalAlignment
to not cause a name conflict withSwiftUI.VerticalAlignment
. (#27585) - APIChanges the Swift names of notifications posted by
UndoController
to match Swift conventions. (#27165) - AddedAdds new
URLDataProvider
to allowDocument
to show files directly from a HTTP/HTTPS address. See the newRemoteDocumentURLExample.swift
example in the Catalog for details. (#26711) - AddedAdds a render option which allows changing the required form border color. (#26181)
- AddedAdds 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) - AddedAdds new
pointSequencesPublisher
Combine publisher toDrawView
to easily track changes on itspointSequences
property. (#27591) - AddedAdds new version of
sqlite3
used in full text search. Upgrading from version 3.27.0 to 3.34.0. (#27459) - AddedAdds support for parsing multiple certificates inside a single
.pem
file. (#26396) - AddedAdds support for validating PAdES B digital signatures. (#25153)
- ChangedReduces the memory required to load PDF documents by 15% to 35%, depending on the document. (#27182)
- ChangedImproves document editor validation by allowing editing for more document types and selectively disabling in-place saving when it's not possible. (#26849)
- ChangedImproves font selection process for bold and italic fonts. (#26719)
- ChangedImproves how certificate expiration in digital signatures is handled. (#27047)
- ChangedImproves memory usage when
LowMemoryMode
is specified. (#27186) - ChangedImproves responsiveness in documents with a large number of link annotations and PDF actions. (#24398)
- ChangedImproves simplified and traditional Chinese font selection. (#26674)
- ChangedChanges 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) - ChangedDigital signatures will no longer show the PSPDFKit version number when inspected using third-party software. (#26183)
- ChangedOptimizes the document change process to decrease memory pressure if the main thread is blocked for a prolonged time via API that renders documents. (#26808)
- ChangedUpdates Botan to 2.17.1. (#26794)
- ChangedUpdates Botan to 2.17.3. (#27469)
- ChangedUpdates Duktape to 2.6.0. (#26435)
- ChangedUpdates Expat to 2.2.10. (#27472)
- ChangedUpdates HarfBuzz to 2.7.4. (#27467)
- FixedFixes a potential thread deadlock during simultaneous reading and saving in
CoordinatedFileDataProvider
. (#26901) - FixedFixes a problem where some DER-encoded signatures may not be validated correctly. (#25757)
- FixedFixes a possible crash when the document editor modifies a file that is being rendered. (#26803)
- FixedFixes an issue where a signature field may appear as unsigned even when an ink annotation is overlapping it. (#27126)
- FixedFixes an issue where certain timestamps would not be preserved because of an incorrect sanitization step. (#27720)
- FixedFixes an issue where loading from a checkpoint for a document failed in certain instances. (#27576)
- FixedFixes an issue where the annotation
point
Swift API overlay could not convertDrawingPoint
structs. (#27061) - FixedFixes an issue where the note icon would not be displayed on markup annotations. (#27164)
- FixedFixes an issue where the signature description was cut off in narrow signature fields. (#27540)
- FixedFixes an issue with Free Text annotations which caused text to sometimes get cut-off when resizing using the bottom right knob. (#22483)
- FixedFixes annotations parsed with
XFDFParser
not being saved when added to a document. (#27551) - FixedFixes discrepancies in annotation rendering between selected and deselected states, particularly in night mode. (#22923)
- FixedFixes target annotation lookup for PDF actions. (#23845)
Instant
- ChangedImproves syncing of
InstantDocumentDescriptor
inInstantClient
by tracking documents with failed authentications due to limited network connectivity. (#26418)
Examples
- AddedAdds 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)
- AddedAdds Swift versions for several PSPDFKit Catalog examples. (#27745, #27748, #27749, #27750, #27753, #27756, #27758)
- ChangedImproves the
PSCLockedAnnotationsExample.m
to also work for programmatically selected annotations. Also adds Swift version of this example calledLockedAnnotationsExample.swift
.(#24972). - AddedAdded an example demonstrating how to customize the UI of forms in a PDF file. (#26078)
- FixedFixes 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
- FixedFixes an issue where a grouped annotations did not show the delete menu item on selection. (#26344)
- FixedFixes an issue where read-only or locked ink annotations could render incorrectly during attempted editing. (Z#22038)
- FixedFixes an issue where where the
PDFPageView
would not render the image if its corresponding document's render options hadskipAnnotationArray
set. (#27440) - FixedFixes scrolling to selected text form fields in continuous scroll mode. (#26465)
PSPDFKit
- ChangedImproves free text callout rendering by honoring stored appearance streams. (#27118)
- ChangedImproves document change process to decrease memory pressure if the main thread is blocked for a prolonged time via API that renders documents. (#27111)
- FixedFixes an issue where
blendMode
was not set correctly for annotations loaded with legacy versions of theNSCoder
format. (#27061) - FixedFixes an issue where paths could be overdrawn resulting in incorrect shapes. (#27330)
- FixedFixes an issue where the annotation
point
Swift API overlay could not convertDrawingPoint
structs. (#27061) - FixedFixes an issue where the appearance stream was incorrectly ignored for a stamp annotation with its
subject
property set. (#26598) - FixedFixes an issue where using the processor could cause a crash if memory runs out while processing complex documents. (#27253)
Examples
- ChangedImproves the contrast in dark mode for the author name label in Show Author Name On Annotation Selection PSPDFKit Catalog example. (#27191)
- FixedFixes an issue with annotation selection in the Create Text Annotation When Tapping Whitespace PSPDFKit Catalog example. (#27200)
10.1.1 1 Dec 2020
PSPDFKitUI
- ChangedImproves Apple Pencil detection so it kicks in when using a text markup tool, as it did before PSPDFKit 9.5. (#26751)
- ChangedImproves
PDFDocumentPickerController
search UI and navigation bar handling. (#27016) - ChangedDisables the UIKit focus system in PSPDFKit table views, which improves various behaviors on Mac Catalyst. (#26799)
- ChangedHides the brightness slider from
BrightnessViewController
on Mac Catalyst because it has no affect on that platform. (#26910) - FixedFixes a memory leak in the download manager, used in the gallery view controller. (#26962)
- FixedFixes a potential deadlock in the Document Editor component when saving was invoked while rendering pages is still ongoing. (#26896)
- FixedFixes a potential race condition in the Document Editor if saving is invoked while pages are still rendering. (#26901)
- FixedFixes an issue where modal galleries could not be presented with the
.openSafari
link action. (#27006)
PSPDFKit
- AddedAdds a workaround for a system bug in iPhone 12 mini which caused the height of the flexible toolbar to be calculated incorrectly. (#26432)
- ChangedThe Swift initializer to
PDFViewController
now has a default value of nil fordocument
. (#26898) - ChangedWorks 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)
- FixedFixes a memory leak that occurred when clicking on a dropdown form element. (#26876)
- FixedFixes a potential deadlock when rendering annotations and changing them on multiple threads. (#27088)
- FixedFixes a potential deadlock with form elements under high-load situations. (#26895)
- FixedFixes an issue when converting negative JavaScript numbers on arm64. (#27087)
- FixedFixes an issue where background tasks were not always correctly ended. (#27005)
- FixedFixes 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
- AddedAdds a Catalog example that adds a custom overlay views to the
PDFPageView
whenever a user selects an annotation. SeeShowAuthorNameOnAnnotationSelectionExample.swift
. (#26798) - FixedFixes a tap location issue in the Create Text Annotation When Tapping Whitespace example. (#27095)
10.1.0 11 Nov 2020
See the announcement post(opens in a new tab).
PSPDFKit now requires and is built with Xcode 12.2.
PSPDFKitUI
- APIChanges a subclassing hook of
BookmarkViewController
to not return a new cell. (#26287) - RemovedDeprecates the
PSPDFSafePreferredInterfaceOrientation
function. (#25974) - AddedAdds a
pageIndexPublisher
onPDFViewController
to subscribe to page index change events. (#25993)s - AddedAdds a new
PDFView
SwiftUI view that wraps aPDFViewController
and conveniently exposes common configuration and delegate hooks. (#25856) - AddedAdds a new
PDFViewController.reloadPages(indexes:animated:)
method to reload multiple pages in the view hierarchy at once. (#26350) - AddedAdds a new
documentPublisher
property toPDFViewController
to be notified about document changes. (#26513) - AddedAdds the ability to update annotation views on page views after changing render options. (#26655)
- ChangedImproves Free Text callout annotation knee point placement during editing. (#25641)
- ChangedImproves annotation accessibility so it omits types not in the document’s
renderAnnotationTypes
. (#21627) - ChangedImproves focus ring handling on Mac Catalyst. (#26360)
- ChangedImproves outline search performance. (#26661)
- ChangedImproves the scribble user experience and allows users to write anywhere on the page to create a new free text annotation. (#26272)
- ChangedImproves the web link editing UI (
WebsiteLinkAnnotationEditingViewController
) to allow adding custom URL schemes. (#26264) - ChangedImproves trimming leading or trailing punctuation characters when using the Search or Define menu items for selected text. (#25895)
- ChangedThe
SearchViewController
now automatically updates the current search after the document is saved to account for potentially removed content. (#26513) - FixedFixes a crash that would occur when attempting to scroll past the available spreads using page curl transition. (#26689)
- FixedFixes an issue where
PDFDocumentViewControllerDelegate
calls were not being invoked under certain circumstances. (#26134) - FixedFixes an issue where link annotations and form elements would become highlighted when drawing. (#26498)
- FixedFixes an issue where selecting and promptly dragging an annotation was not working. (#26370)
- FixedFixes an issue where updating the line end of a callout annotation to none caused its bounding box to get calculated incorrectly. (#26294)
PSPDFKit
- APIRenames
PSPDFDocumentCheckpointSavedNotificationSucessKey
toPSPDFDocumentCheckpointSavedNotificationSuccessKey
. (#26649) - RemovedDeprecates the
subFilter
property ofPDFSigner
. Use thesignatureType
property instead. (#25051) - AddedAdds 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) - AddedAdds 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) - ChangedImproves documentation for
TextFormField.isComb
. (#26598) - ChangedImproves performance with path drawing by removing unnecessary path operations. (#25922)
- ChangedImproves rendering performance of documents with lots of image patterns. (#26186)
- AddedAdds new
annotationChangePublisher
to capture added, removed and changed annotation events. (#26105) - ChangedDocument now offers a
savePublisher
Combine publisher for save events. (#25963) - ChangedImproves documentation of
PDFLibrary
notifications. (#26040) - ChangedReplaces all instances of
PSPDFValueTransformerName
with the better suitedNSValueTransformerName
. (#26124) - ChangedUpdates 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) - FixedFixes a problem where the signature reason, name or location may not appear correctly if they contain non-ASCII characters. (#26671)
- FixedFixes an issue where partially redacted curved path objects may be misdrawn. (#26698)
- FixedFixes 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) - FixedFixes duplication of newly created pages in the Document Editor. (#26074)
Examples
- AddedAdds a new streaming document Catalog example (
StreamingDocumentExample.swift
) which highlights how a PDF file can be streamed page-by-page for faster display. (#26350) - AddedAdds a new SwiftUIDocumentBrowser example to show integration of the DocumentBrowser and the new SwiftUI PDFView. Requires iOS 14. (#26114)
- AddedAdds a variety of new SwiftUI examples to the Catalog. (#26116)
- AddedAdds an example showing how to toggle visibility of annotations in a document. (#26655)
- AddedAdds an example demonstrating how to remove password protection from a document using the processor. (#26055)
10.0.3 2 Nov 2020
PSPDFKitUI
- AddedAdds a new
cancelErase
method onDrawView
. (#24025) - ChangedImproves displaying the print sheet on Mac Catalyst. (#26317)
- ChangedImproves draw view cleanup logic to prevent a possible rendering glitch while exiting drawing mode. (#26485)
- ChangedImproves the drawing experience with Apple Pencil by automatically dismissing visible annotation inspectors or note popovers when drawing begins. (#26257)
- ChangedImproves undo registration by not registering an undo action for subdivided ink annotation lines during erasing, if no points were actually removed. (#26296)
- ChangedThe
StatefulTableViewController
now automatically removes unwanted implicit animations create from outside created auto layout constraints. (#26540) - ChangedWorks around FB8833942 which can cause a retain cycle when search is not dismissed in various view controllers. (#26645)
- ChangedWorks 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)
- FixedFixes an issue if background document JavaScript triggered an alert. (#26650)
- FixedFixes an issue where an existing selected annotation would disappear on creating a new annotation with the
PDFConfiguration.showAnnotationMenuAfterCreation
option enabled. (#24953) - FixedFixes an issue where an ink annotation pasted from clipboard could not be erased using Apple Pencil. (#26224)
- FixedFixes an issue where clearing the contents of a form field using a swipe action in the
AnnotationTableViewController
did not work. (#26364) - FixedFixes an issue where loading a document which hasn't been loaded before could trigger an assertion in specific configurations. (#26670)
- FixedFixes an issue where print parameters were not properly used when printing via a JavaScript print action. (#24821)
- FixedFixes an issue where some specific image sizes could not be imported using
ImagePickerController
. (#26491) - FixedFixes an issue where the resizing the app window in split screen mode with a drawable annotation tool enabled would draw an annotation temporarily. (#24025)
- FixedFixes entry of custom values for choice form elements on iOS 14. (#26330)
- FixedFixes momentary presentation of accessory views when choice form elements are selected. (#26405)
PSPDFKit
- AddedAdds support for finding the correct form field type in non-conforming PDF files. (#26459)
- ChangedImproves performance for form elements with an extremely high number of associated annotations. (#26443)
- ChangedImproves the documentation for
AnnotationManager.ChangeBehaviorKey.suppressNotifications
. (#26431) - FixedFixes a problem where signing a document again after filling a form field may invalidate existing digital signatures. (#25637)
- FixedFixes an assert that was triggered by malformed documents that contained fonts that were not indirect objects. (#26450)
- FixedFixes an issue in the Document Editor when adding an item to a imported page. (#25837)
- FixedFixes an issue where form calculation was triggered when setting an empty string on a form field that didn't have a value. (#26345)
- FixedFixes an issue where the note icon for markup annotations sometimes render farther than the marked up text. (#25740)
- FixedFixes an issue where using additional filters for rendering the PDF pages could crash the app. (#25957)
- FixedFixes rendering a wrong color if the color was using a ICC color profile and the color was out of bounds. (#26535)
- FixedFixes setting the
TextFormField
propertiesisMultiLine
,isPassword
,isComb
,doNotScroll
,isRichText
,doNotSpellCheck
, andfileSelect
and theChoiceFormField
propertiesisEdit
,isMultiSelect
,commitOnSelChange
, anddoNotSpellCheck
to false not behaving as expected. (#25498) - FixedFixes text clipping for form fields exceeding their maxLen due to programatic changes. (#26340)
Examples
- AddedAdds a Catalog example that shows how to store annotations in JSON files for multiple users. (#26352)
- FixedFixes errors in some Catalog examples when calling
write(toFileURL:)
on Processor with a URL where a file already exists. (#26588)
10.0.1 7 Oct 2020
PSPDFKitUI
- APIThe default value for
SearchViewController.useOutlineForPageNames
was changed fromtrue
tofalse
since the option can lead to performance issues with certain complex documents. (#20924) - ChangedImproves accuracy of grabbing text selection handles. (#26032)
- ChangedImproves compatibility with view controller initialization with a 3rd-party SDK that swizzles
UIViewController.didMove(toParent:)
. (#26018) - FixedFixes a crash that would occur when changing pages using page curl transition. (#23068)
- FixedFixes a retain cycle that could lead to documents not getting deallocated until their presenting
PDFViewController
got deallocated as well. (#26100) - FixedFixes an issue that could result in the annotation toolbar not correctly reflecting the selected annotation state when first appearing. (#25980)
- FixedFixes an issue where scrolling a page while zoomed in was not possible when using page curl transition. (#26143)
- FixedFixes an issue where the Additional Toolbar Items button in the annotation toolbar wouldn't show all collapsed buttons. (#25929)
- FixedFixes 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) - FixedFixes 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
- ChangedImproves outline parsing performance by lazy loading outline element actions on demand. (#20924)
- ChangedImproves performance loading some documents with broken internal links (named destinations). (#24398, #26099)
- ChangedImproves the documentation for
Processor.Configuration.merge(item:onPage:)
. (#26199) - FixedFixes a crash in the
AddFreeTextAnnotationProgrammaticallyExample
in the Catalog sample project. (#25940) - FixedFixes a crash on preparing a form element for signing that has just been added to the document. (#25739)
- FixedFixes an issue where OCR could not be performed on certain images due to an incorrect render scale. (#26118)
- FixedFixes an issue where an app would crash on trying to load an embedded file in a PDF document created using multiple data providers. (#26023)
- FixedFixes an issue where appearance streams weren't re-generated when using the processor even though 'NeedAppearances' was set in the PDF. (#26123)
- FixedFixes an issue where documents with high object numbers were identified as corrupt. (#26062)
- FixedFixes an issue where the Simulator slice from CocoaPods XCFrameworks was incorrect. (#26198)
- FixedFixes an issue where trying to convert
Annotation.Kind
to aString
led to an infinite loop. (#25949) - FixedFixes an issue where warning messages were displayed in other readers when flattening a signature form field. (#25923)
- FixedFixes form field JavaScript actions in the generated documents when merging two or more documents together. (#25603)
- FixedFixes the PDF JavaScript function
getNthFieldName
to return the FQN of the form field. (#26144)
10.0.0 21 Sep 2020
See the announcement post(opens in a new tab).
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(opens in a new tab).
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(opens in a new tab) to learn about the appropriate migration strategy.
PSPDFKitUI
- AddedAdds accessibility elements for annotations on pages. (#21627)
- AddedAdds fine-grained VoiceOver accessibility support by making paragraphs on pages individual accessibility elements. (#21627)
- AddedAdds modern
UIButton
contextual menus on iOS 14 where appropriate. (#25001) - AddedAdds showing the user’s name in the suggestions bar when entering the annotation username. (#25065)
- AddedAdds support for opening links in
ReaderViewController
. (#24301) - AddedAdds the ability to select and copy text from additional fields on the document info UI. (#25513)
- AddedAdds tooltips to the annotation and document editor toolbar for Mac Catalyst. (#25716)
- AddedAdds 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)
- ChangedImproves 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)
- ChangedImproves accessibility of the signature popup’s color buttons. (#21627)
- ChangedImproves automatic merging of highlight annotations with the same color. (#24636)
- ChangedImproves cell sizing and layout in
AnnotationGridViewController
(used for adding stamps and saved annotations). (#24820) - ChangedImproves 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) - ChangedImproves the scrubber bar marker placeholder sizing. (#25520)
- ChangedChanges the sharing process to allow sharing the document when
DocumentSharingConfiguration.AnnotationOptions.embed
is selected and the document has itsannotationSaveMode
set to.disabled
. (#23614) - ChangedVarious cell buttons use macOS buttons when using Catalyst in the new Optimized for Mac mode. (#24948)
- FixedFixes a crash due to a system issue when scrolling in the annotation list while Voice Control is turned on. (#21627)
- FixedFixes 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)
- FixedFixes a crash when tapping the escape key on a hardware keyboard immediately after tapping the Define text selection menu item. (#25897)
- FixedFixes 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)
- FixedFixes an issue where
PDFViewControllerDelegate.pdfViewController(:shouldSave:withOptions:)
was wrongly called even when theannotationSaveMode
of the displayedDocument
in thePDFViewController
was set to.disabled
. (#23614) - FixedFixes 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)
- FixedFixes an issue where copying pages after duplicating pages more than once in the document editor could cause a crash. (#25667)
- FixedFixes an issue where links couldn't be opened when not using Safari as the default browser. (#25869)
- FixedFixes an issue where opening
NoteAnnotationViewController
of any annotation would immediately mark that annotation as dirty. (#25023) - FixedFixes an issue where quickly switching between thumbnail view and document view would sometimes cause the document to become invisible. (#24428)
- FixedFixes an issue where tapping on a bookmark in a
BookmarkViewController
presented by aPDFViewController
in aUISplitViewController
would dismiss all the presented controllers. (#25524) - FixedFixes an issue where tapping on a search result in a
SearchViewController
presented by aPDFViewController
in aUISplitViewController
would dismiss all the presented controllers. (#25816) - FixedFixes an issue where the annotation toolbar would not get tinted correctly when the navigation bar was hidden. (#24326)
- FixedFixes an issue where unsaved changes of a document were not contained in the PDF document shared using a submit form action. (#23614)
- FixedFixes an issue where variable-sized documents were laid out incorrectly. (#21703)
- FixedFixes an issue with Vimeo integration via the gallery feature. (#24737)
- FixedFixes issues with showing multiple document thumbnails in
MultiDocumentViewController
ifthumbnailViewIncludesAllDocuments
is set. (#24861) - FixedFixes superfluous cell selection highlights on the document info UI. (#25513)
- FixedFixes the share sheet popover sometimes being positioned incorrectly when using the Share item in the text selection menu. (#25900)
PSPDFKit
- AddedAdds the ability to integrate PSPDFKit, Instant, and PSPDFKitOCR via Swift Package Manager. (#24590)
- APIThe PSPDFIdentifiable protocol was unused and has been removed. (#25685)
- RemovedDeprecates
DrawingPoint.isValid
/PSPDFDrawingPointIsValid
in favor ofDrawingPoint.isFinite
/PSPDFDrawingPointIsFinite
. (#25078) - AddedAdds a new
.signatureOnly
signature appearance setting to create a digital signature with a custom appearance. (#25143) - AddedAdds support for PEM format PKCS#1 private keys for use with digital signatures. (#24919)
- AddedAdds the option to prepare a PAdES signature container with the "ETSI.CAdES.detached" signature sub-filter type. Signature must be created externally. (#24887)
- ChangedImproves
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) - ChangedImproves font rendering in forms with Chinese, Japanese, Korean and Thai characters. (#24337)
- ChangedImproves log noise in the OCR Library by removing unnecessary log messages in release mode. (#25532)
- ChangedOCR now uses NEON and AVX intrinsics for better performance. (#24870)
- ChangedThe
byteRange
property of thePDFSignatureInfo
class has been refined for Swift. (#25143) - ChangedUpdates HarfBuzz to version 2.7.2. (#25717)
- FixedFixes a crash that could happen when creating form fields. (#25806)
- FixedFixes an issue where appearance streams of form field widgets weren't preserved correctly. (#25550)
- FixedFixes an issue where bezier paths were drawn incorrectly when a miter limit was set. (#25758)
- FixedFixes an issue where form elements were included in the page rendering which shouldn't have been. (#25799)
- FixedFixes an issue where the digital signature advanced properties contained the signature creator twice. (#25611)
Examples
- AddedAdds description for the Local Network usage popup of the Instant-iOS-Example app. (#25639)
- AddedAdds Swift variants of the
PSCGalleryExample
andPSCCustomGalleryExample
PSPDFKit Catalog examples. (#25072) - AddedAdds 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) - AddedAdds description for the Local Network usage popup of the Catalog example app. (#25639)
- ChangedRenames PSPDFCatalog to Catalog to make it more in line with Swift naming style. (#23480)
- ChangedReplaces 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)
- FixedFixes a potential deadlock that would occur when accessing the
PDFContainerAnnotationProvider
's description. (#24544)
9.5.2 25 Aug 2020
PSPDFKitUI
- APIChanges 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) - ChangedImproves 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) - FixedFixes a crash which occurred when restoring text selection state after relaunching. (#24898)
- FixedFixes an issue where
PSPDFViewControllerDelegate
'swillBeginDisplayingPageView:forPageAtIndex:
method would get called with apageIndex
of a page that is off-screen in some configurations. (#24018) - FixedFixes an issue where drawing stopped worked when screen mirroring on page changes while a drawing tool was active. (#24975)
- FixedFixes an issue where zoom syncing didn't work when customizing the view hierarchy when screen mirroring. (#24975)
- FixedFixes scrubbing and visible page display on the scrubber bar for right-bound documents. (#24047)
- FixedFixes 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) - FixedFixes the scrubber bar position indicator placement for single leading and trailing pages in double page mode when displaying right-bound documents. (#25503)
PSPDFKit
- ChangedImproves the
Processor
behavior when license doesn't include the forms component. (#24604) - FixedFixes FTS queries with 3 or more words when searching for an exact match when using the unicode tokenizer. (#25068)
- FixedFixes 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)
- FixedFixes an issue where a thin white bar could be visible along the right edge of a document page in inverted rendering mode. (#21334, #24830)
- FixedFixes an issue where a form field value was lost when using external annotation saving. (#24740)
- FixedFixes an issue where text form fields weren't displayed correctly after flattening due to their appearance stream being wrong in the original document. (#24918)
- FixedFixes duplicate string occurrences when copy and pasting from documents with duplicate content. (#25108)
- FixedFixes setting the
PDFFormField
propertiesisReadOnly
,isRequired
andisNoExport
to false not behaving as expected. (#25498) - FixedFixes 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)
- FixedFixes 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
- FixedFixes 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) - FixedFixes a paste message being shown to the user each time
SavedAnnotationsViewController
appeared on iOS 14. (#24850) - FixedFixes an incorrect nullability annotation on the return type of
annotationViewClass(for:)
. (#24945) - FixedFixes an issue that prevented the
shouldHideUserInterfaceOnPageChange
flag from being correctly honored when using page curl transition. (#24875, Z#19805) - FixedFixes an issue where
PDFViewControllerDelegate
methodpdfViewController(_:shouldSelect:on:)
wasn’t called when selecting some annotatios. (#24884) - FixedFixes an issue where
PDFViewControllerDelegate
methodspdfViewController(_:didSelect:on:)
andpdfViewController(_:didDeselect:on:)
would be called when selecting or deselecting annotations programmatically. (#24884) - FixedFixes an issue where
SignedFormElementViewController
could not be dismissed when presented as a popover. (#24923) - FixedFixes an issue where a newly added annotation was placed on a previously interacted page even if the page was no longer on screen. (#24583)
- FixedFixes an issue where scrubber bar thumbnail images would not render correctly when quickly switching appearance mode. (#14937)
- FixedFixes an issue where some annotations were added to an incorrect page in double page mode. (#21270)
- FixedFixes 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
- FixedFixes a problem where signing a document with existing digital signatures may invalidate them. (#24780)
- FixedFixes an issue where objects rendered with the Overlay blend mode didn’t always render correctly. (#24298)
- FixedFixes an issue where our text parser returned descending characters from the line above the intended search area. (#24709)
- FixedFixes 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)
- FixedFixes an issue where text with word or character spacing is shifted after redaction has been applied. (#24476)
- FixedFixes an issue where umlauts were displayed wrong in certain documents because the wrong encoding was used when shaping the text. (#24465)
- FixedFixes registered subclasses of
AnnotationCell
not being used. (#24545) - FixedFixes 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(opens in a new tab).
This release adds the OCR(opens in a new tab) component. If you would like to add it to your license, ping our sales team(opens in a new tab) to receive a quote. To learn more about our new touch handling API, please consult our migration guide(opens in a new tab) for this release.
PSPDFKitUI
- APIAdds new touch handling API, which replaces certain delegate calls and subclassing hooks. Please refer the migration guide for details. (#9708)
- AddedAdds drag and drop in the document editor for macOS 11.0. (#24669)
- ChangedImproves 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)
- ChangedImproves 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) - FixedFixes
KeychainSignatureStore
failing with a secure coding error. (#24554) - FixedFixes an issue where the custom buttons added to the
UIToolbar
of theScrubberBar
did not receive touch events. (#24211)
PSPDFKit
- RemovedDeprecates the
Processor
class methodcancellAllConversionOperations
in favor of the rename,cancelAllConversionOperations
. (#24630) - AddedAdds a new PSPDFKitOCR framework, to perform optical character recognition (OCR) on a PDF document. (#24248)
- ChangedImproves memory handling for Office file conversion operation. (#24485)
- ChangedImproves performance when removing a unloaded document from cache. (#24669)
- ChangedImproves handling of memory warning notifications for documents with unsaved changes. (#24654)
- ChangedSeparates
ConversionOperation
subclasses into their own header and implementation files. (#24562) - ChangedUpdates GSL to version 3.1.0. (#24480)
- ChangedUpdates HarfBuzz to version 2.6.7. (#24477)
- FixedFixes a problem where some certificates with CRL distribution point extensions may not be validated correctly. (#24660)
- FixedFixes a crash when parsing certain rare documents. (#24599)
- FixedFixes a very rare crash on certain documents when multiple pages were rendered at the same time. (#24598, #24626)
- FixedFixes a possible endless loop while trying to repair form fields in certain documents. (#23901, #24597)
- FixedFixes an issue where form fields may not be editable in some cases. (#23123)
9.4.0 16 Jun 2020
See the announcement post(opens in a new tab).
This release adds the Reader View(opens in a new tab) component, as well as Office Files Support(opens in a new tab). If you would like to obtain PSPDFKit Server or add either to your license, ping our sales team(opens in a new tab) 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(opens in a new tab) for details.
PSPDFKitUI
- APIReplaces 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) - APIChanges 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) - RemovedDeprecates the constants used as options in
SpeechController
API in favor of new constants of typeSpeechController.Option
. (#24223) - RemovedDeprecates the
longPressGestureRecognizer
property onBackForwardButton
,ToolbarGroupButton
, andToolbarDualButton
since these are not always used by PSPDFKit itself. (#23878) - AddedAdds Reader View: A new component that reformats document text into an easy-to-read, single-column view that’s optimized for mobile devices. (#23580)
- AddedAdds 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)
- AddedAdds 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)
- AddedAdds 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) - AddedAdds 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) - AddedAdds subtle trackpad and mouse hover effects to many parts of the UI. (#23641)
- AddedAdds support for enabling
UIApplicationSupportsIndirectInputEvents
in the app‘s Info.plist. (#24026) - AddedAdds support for sharing documents with unsaved changes. (#23436)
- AddedAdds trackpad and mouse scrolling on the half modal navigation bar (for the annotation inspector) and the image cropping UI (for adding image annotations). (#24029)
- ChangedImproves accessibility in table view cells that show multiple buttons. (#21627)
- ChangedImproves 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) - ChangedImproves the behavior of the certificate picker in the signature dialog by resizing the popover. (#24095)
- ChangedImproves the history list on the back and forward navigation buttons by using a system contextual menu. (#23878)
- ChangedImproves the snapping behavior of the annotation toolbar in some edge cases. (#23751)
- ChangedChanges the behavior of
FlexibleToolbar
so that it can no longer be dragged ifsupportedToolbarPositions
has only one value. (#23655) - FixedFixed an issue where
TextSelectionView.selectedText
would return an empty string instead ofnil
if no text was selected. (#23946) - ChangedText to speech now uses a more accurate way to autodetect the document language. (#24223)
- ChangedWorks around issue which caused the annotation toolbar to lose its background when the window loses focus on Mac Catalyst. (#21711)
- FixedFixes an issue that could invoke PDF actions from multiple annotations simultaneously during a tap event, if the annotations were in close proximity. (#23456, #23845)
- FixedFixes an issue where switching page transition from continuous to curl caused the page to get zoomed in. (#21266)
- FixedFixes an issue where the scrubber bar page markers were not updated correctly while using double page mode. (#24144, #24149)
- FixedFixes annotation summary sharing (
DocumentSharingConfiguration.AnnotationOptions.summary
) not working if the license does not include the WebKit-based HTML to PDF conversion feature. (#24339) - FixedFixes the window document reference being set even if
allowWindowTitleChange
was disabled on Mac Catalyst. (#23773)
PSPDFKit
- APIChanges the
PSPDFObject
string constants to an extensible enumPSPDFObjectFinderOption
. Also introduces a new extensible enumPSPDFObjectFinderType
to separate the output types from the options. (#24343) - APIChanges the type of the options dictionary keys on the
URLAction
initialiser fromString
toAction.Option
. (Only affects Swift). (#23831) - APIChanges 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) - APIChanges the type of the options parameter of
objectsAtPDFPoint:pageIndex:options:
andobjectsAtPDFRect:pageIndex:options:
fromNSDictionary<NSString *, NSNumber *> *
toNSDictionary<PSPDFObjectFinderOption, NSValue *> *
. (#24343) - APIIn 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) - APIRemoves the Swift free function
BoundingBoxFromLines
. (#24435) - APIRemoves the
PDFPage
class, as it was not possible to create or obtainPDFPage
objects via public API. (#24413) - APIRenames
PDFFileAnnotationPovider
toPDFFileAnnotationProvider
(only affects Swift). (#24072) - APIRenames
PDFSigner.Error
toPDFSignerError
in Swift. This is a breaking change with no deprecation in order to avoid ambiguity with theSwift.Error
type. (#23912) - APIThe
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) - APIThe behavior of the
editable
property ofAnnotation
was changed slightly. It now also depends on thereadOnly
property. (#23868) - RemovedDeprecates the constants used for searching text using
PDFLibrary
API in favor of new constants of typePDFLibrary.Option
. (#24215) - RemovedDeprecates the
BackForwardActionListDelegate
methodsbackForwardList(_:requestedBackActionExecution:)
andbackForwardList(_:requestedForwardActionExecution:)
, and theBackForwardActionList
methodsrequestBack
,requestBack(to:)
,requestForward
, andrequestForward(to:)
in favor of variants with ananimated
parameter. (#23791) - RemovedDeprecates the type aliases
PDFLine
andViewLine
because their names were inaccurate. (#24433) - RemovedDeprecates
AESCryptoInputStreamErrorCode
renaming it toAESCryptoInputStreamError
in Swift. Xcode will provide an automatic fix. (#23912) - RemovedDeprecates
AESCryptoOutputStreamErrorCode
renaming it toAESCryptoOutputStreamError
in Swift. Xcode will provide an automatic fix. (#23912) - RemovedDeprecates
Cryptor.ErrorCode
renaming it toCryptorError
in Swift. (#23912) - RemovedDeprecates
PSPDFError
renaming it toPSPDFKitError
in Swift. Xcode will provide an automatic fix. (#23912) - RemovedDeprecates
PSPDFSignerError
renaming it toPSPDFSignerErrorCode
in Objective-C. (#23912) - RemovedDeprecates all cases of
AESCryptoInputStreamError
, replacing them with more consistent names. (#23912) - RemovedDeprecates all cases of
AESCryptoOutputStreamError
replacing them with more consistent names. (#23912) - AddedAdds a new API for PSPDFKit Server powered Office document conversion to PDF files. (#24304)
- AddedAdds XCFramework support for CocoaPods allowing you to use the CocoaPods integration in Mac Catalyst projects. (#21374)
- AddedAdds
removeSignature()
toSignatureFormElement
to allow removing digital signatures programmatically. (#24094) - AddedAdds new
Annotation.clearAppearanceStream()
helper. (#24114) - AddedAdds support for executing
GoBack
andGoForward
named actions. (#23791) - AddedAdds support for saving into any data provider with a data sink in the document editor. (#24103)
- ChangedImproves error reporting when calling
write(toFileURL:)
onProcessor
with a URL where a file already exists. (#24092) - ChangedImproves quality of fallback font rendering. (#24136)
- ChangedEnsures that note annotations with an unknown icon always use a fallback image. (#23977)
- ChangedImprove style sheet parsing to recognize font names better. (#23968)
- FixedFixes a dangling pointer upon destruction of PSPDFKit. (#24387)
- FixedFixes a problem where the asset name of a screen annotation may not be decoded correctly in some cases. (#24269)
- FixedFixes a problem where the font name of a free text annotation may not be decoded correctly in some cases. (#24269)
- FixedFixes an issue flattening form fields correctly when the artbox of the page contains an offset. (#23385)
- FixedFixes an issue where attempting to access link annotations that reference remote destinations containing certain characters could lead to a failed assertion. (#24212)
- FixedFixes an issue where combo boxes with attached JavaScript actions would fail to execute the attached actions when changing their value. (#23120)
- FixedFixes an issue where text was rendered incorrectly when the 'comb' option was used. (#24395)
- FixedFixes 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)
- FixedFixes 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) - AddedAdds 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) - RemovedDeprecates
PSPDFInstantError
renaming it toPSPDFInstantErrorCode
in Objective-C. (#23912)
Examples
- AddedAdds an example showing how to add hide and reveal areas to the Catalog. (#23772)
- AddedAdds an example showing how to create a teacher / student example to the Catalog. (#23818)
9.3.3 11 May 2020
PSPDFKit
- APIThe 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) - ChangedUpdates
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) - FixedFixes 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) - FixedFixes a crash that could occur when flattening certain note annotations, created by or edited on other PDF editors. (#24146)
- FixedFixes 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) - FixedFixes 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
- ChangedImproves VoiceOver accessibility by not posting
UIAccessibilityPageScrolledNotification
after the spread changes since this would block reading the page text. (#21627) - ChangedWorks around a system issue that could lead to missing pages on iOS 13.4 and later. (#24067)
- FixedFixes a "does not recognize selector" crash that would occur on older iOS 13.4 betas that did not include the new pointer API. (#23894)
- FixedFixes an issue where ink annotations with the locked flag were wrongly allowed to be erased. (#23840)
- FixedFixes an issue where setting
searchResultZoomScale
would cause the selected search result to zoom and fill the whole page. (#23949) - FixedFixes an issue where hit testing could sometimes miss a selected line annotation on Mac Catalyst. (#23989)
- FixedFixes an issue with the color picker where it would end up entirely black after opening for the second time. (#23900)
PSPDFKit
- RemovedDeprecates 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) - ChangedImproves
strip-framework.sh
to prevent theITMS-90238: Invalid Signature
error which could occur when uploading Mac Catalyst apps to App Store Connect. (#23940) - FixedFixes an issue where non-Latin text may not render correctly. (#23287)
- FixedFixes an issue where wrong characters were displayed in multi-line form fields. (#23317)
Instant
- FixedFixes 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) - ChangedImproves design of flexible toolbar placeholders and ensures they don't overlap when screen space is tight. (#23751)
- FixedFixes an issue where
PSPDFApplePencilDetectedNotification
was not set wheneverApplePencilManager
detected an Apple Pencil. (#23767) - FixedFixes overrides of the
ScrubberBar
APIscrubberBarThumbSize
andemptyThumbnailImageView
not being used. (#23753) - FixedFixes an issue which caused free text annotations on the second page onwards to scroll out of bounds of the page when edited. (#23830)
- FixedFixes an assertion that would occur in
PDFViewController.viewWillAppear(_:)
for licenses without the annotation editing component. (#23905)
PSPDFKit
- FixedFixes an issue where accessing
SDK.Setting.additionalFontDirectories
in Swift would cause an ambiguous use error. (#23774) - FixedFixes potential document corruption when incremental saving encrypted documents. (#23689)
Examples
- ChangedUpdates additional Swift example code for PSPDFKit Swift API changes. (#23774)
9.3.0 27 Mar 2020
See the announcement post(opens in a new tab).
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.(opens in a new tab).
- APIChanges 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)
- APIChanges 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) - APIFurther refines various API in Swift. See the migration guide for details.
PSPDFKitUI
- APIThe method
-textStampViewController:didCreateAnnotation:
is now required to be implemented by types adopting thePSPDFTextStampViewControllerDelegate
protocol. (#21315) - RemovedRemoves the page curl transition from
PSPDFSettingsViewController
on Mac Catalyst. (#23074) - RemovedDeprecates
PSPDFFlexibleToolbarPositionsAll
and replaces it withPSPDFFlexibleToolbarPositionAll
. (#9466) - RemovedDeprecates
PSPDFFlexibleToolbarPositionsVertical
and replaces it withPSPDFFlexibleToolbarPositionVertical
. (#9466) - RemovedDeprecates the
displayAsEllipse
,borderWidth
andindicatorSize
properties ofPSPDFColorButton
in favor of new customization properties. (#21357) - AddedAdds support for the Assemble, Modification, Annotation, Form Milling, and Printing document permissions. Read the announcement blog post for more details. (#1022)
- AddedAdds Dark Mode support to
PSPDFSignatureViewController
andPSPDFSignatureSelectorViewController
. (#21357) - AddedAdds a new optional flexible toolbar position:
PSPDFFlexibleToolbarPositionTop
. SeeToolbarPositionTopExample
in the PSPDFKit Catalog for more details. (#9466) - AddedAdds a new text selection mode,
PSPDFTextSelectionModeAutomatic
, for dynamic text selection handling between different pointer devices. This mode is now the default. (#23674) - AddedAdds support for iOS 13.4 trackpad and mouse hover for text, link annotations and resizing annotations. (#23644)
- AddedAdds trackpad and mouse hover highlighting in the annotation toolbar and document editor toolbar (via the common superclass
PSPDFToolbar
). (#23641) - ChangedImproves Voice Control accessibility in some table views by separating the accessibility value from the accessibility label. (#21627)
- ChangedImproves support for accessibility text sizes and the large content viewer. (#23576)
- ChangedImproves the design of the brightness slider in the advanced color picker in the annotation inspector. (#21356)
- ChangedChanges the icon used for note annotations in the annotation toolbar and menu bar. (#23003)
- ChangedImproves free text annotation bounding box handling. They now update when changing the font size or name in the inspector. (#22961)
- ChangedFree 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)
- FixedFixes an issue which caused free text annotations to scroll the page when text reached the right edge of the page. (#23434)
- FixedFixes an issue where overriding
PSPDFFreeTextAnnotation
with a subclass sometimes had no effect. (#23680, Z#18022) - FixedFixes 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)
- FixedFixes a potential deadlock when rendering pages with annotations in the document editor. (#23687)
- FixedFixes 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)
- FixedFixes an issue where the search results could be duplicated when searching for a second time. (#23152)
- FixedFixes the page view method
canCreateAnnotationsShowMessage
not showing a message. (#23532) - FixedFixes an issue with page curl mode where open popovers would get positioned incorrectly when transitioning from landscape to portrait. (#22805)
PSPDFKit
- APIIn 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) - APIRenames the
PSPDFReachability
enum
toPSPDFReachabilityStatus
. (#23636) - APIUpdates 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) - RemovedRemoves 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) - RemovedRemoves entries for the localized string key
"Saved Annotations"
. Use"SavedAnnotations"
(no space) instead. (#23037) - RemovedRemoves entries for the localized string key
"The certificate has expired"
. Use"The certificate has expired."
(with period at end) instead. (#23037) - RemovedRemoves 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) - RemovedRemoves the localized strings with keys beginning with
PSPDFPolicyEvent
, which were not used by PSPDFKit. (#23493) - RemovedRemoves the localized strings with the key
"Page"
. PSPDFKit now uses"Page %@"
instead. (#23493) - RemovedRemoves the unused
PSPDFSettings
protocol. (#23226) - RemovedRemoves 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)
- RemovedDeprecates
-[<PSPDFDataProviding> replaceWithDataSink:error:]
in favor of-replaceContentsWithDataSink:error:
. (#23703) - RemovedDeprecates
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) - AddedAdds British English localization. (#23186)
- AddedAdds
PSPDFError.dataProviderIsInFlight
, which is reported when an operation onDataContainerProvider
,FileDataProvider
, orCoordinatedFileDataProvider
fails because the receiver is not yet ready for use. (#23612) - AddedAdds a global override to disable
PSPDFDocument
permissions in the PSPDFKit UI. Configurable via thePSPDFHonorDocumentPermissionsKey
option onPSPDFKitGlobal
. (#1022) - AddedAdds stricter validation to digital signature containers created externally. (#23011)
- AddedAdds support for validating digital signatures created by DocuSign. (#22191)
- AddedAdds documentation for the optional
DataProviding
methods implemented byDataContainerProvider
,FileDataProvider
, andAESCryptoDataProvider
. (#23612) - ChangedImproves the class overriding mechanism and adds
PSPDFOverridable
conformance to all participating classes. (#18178) - ChangedChanges the default value of
enableHorizontalResizing
fromPSPDFFreeTextAnnotation
to be enabled. (#22961) - FixedFixes PDF JavaScript when scripts are encoded in UTF-16. (#23044)
- FixedFixes a potential issue resulting in data loss after saving. (#23474, #23485)
- FixedFixes a rare issue where document checkpointing could assert as a race condition when cleaning up files. (#23699)
- FixedFixes a rare problem where the application may terminate unexpectedly after loading a document or setting a form field value. (#22924)
- FixedFixes a regression where the rotation knobs were incorrectly hidden on selecting a free text annotation. (#23607)
- FixedFixes an issue with flattening form fields when the
ArtBox
of the page contains an offset. (#23385) - FixedFixes a crash when rendering certain pages from multiple threads. (#23209, #23339)
- FixedFixes an issue where clearing the cache could sometimes lead to a deadlock. (#23651, Z#18024)
- FixedFixes an issue where document features could remain stale when the document progress functionality was used (e.g. Instant downloads). (#23330)
- FixedFixes an issue where error information was not propagated properly in
-[PSPDFAnnotationUpdater moveAnnotationAtZIndex:toZIndex:error:]
. (#23517) - FixedFixes an issue where free text annotation could be rotated after resizing with annotation rotation disabled. (#23438)
- FixedFixes an issue where freshly recorded and deleted sound annotations would loose audio after the deletion is undone. (#23389)
- FixedFixes an issue where opening a certain document with form fields caused a crash. (#23001)
- FixedFixes an issue where spacing between words was far too large. (#23439)
- FixedFixes an issue where text on form fields is occasionally rendered with incorrect rotation on rotated pages. (#22854)
- FixedFixes an issue where values of text form fields are only visible when selected. (#23652)
- FixedFixes localized text in some places. (#23493)
- FixedFixes some rare stability issues when filling a form document with JavaScript scripts. (#23443)
Examples
- AddedAdds a Catalog example illustrating how to force the top position for the annotation and document editor toolbars. (#9466)
- AddedAdds an example that showcases how to detect and redact faces from PDF documents. (#23337)
- AddedAdded 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
- FixedFixes an issue where the scrollable thumbnail bar didn't update a page image when annotations were added, changed, or deleted on a page. (#23146)
- FixedFixes 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
- FixedFixes an issue where Helvetica-Bold wasn't displayed correctly. (#22664)
- FixedFixes an issue where form field elements would not be fillable even if their backing form field was not readonly. (#21061)
- FixedFixes an issue where some PDF JavaScript calculations may not work correctly. (#23043)
- FixedFixes an issue where the mailDoc and similar JavaScript functions may not parse their arguments correctly. (#23257)
- FixedFixes empty text form fields not rendering their background color. (#23263)
Examples
- AddedAdds 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
- APIThe
PSPDFOutlineCell
subclassing hook has been renamed fromoutlineIntentLeftOffset
tooutlineIndentLeftOffset
. (#23085) - AddedAdds accessibility labels for the back and forward buttons, used for the action stack navigation stack. (#23047)
- ChangedImproves performance for displaying the outline view controller as popover. (#23085)
- ChangedImplicit animations in the
PSPDFOutlineViewController
are now suppressed for initializing cells. (#23085) - ChangedWorks 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)
- FixedFixes a crash that could occur when applying view state with the curl page transition. (#23068)
- FixedFixes an issue that could trigger an assertion if the annotation list controller was dismissed before annotations fully load. (#23109)
- FixedFixes an issue where automatic page mode would incorrectly default to double page mode when used in split screen on an iPad in landscape. (#21706)
- FixedFixes an issue where bookmark icon on scrollable thumbnail bar was rendered semi-transparent on iOS 13. (#22947, Z#16992)
- FixedFixes 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)
- FixedFixes 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)
- FixedFixes 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)
- FixedFixes an issue with the image cropping interface which caused the cropped area to be slightly offset than intended. (#23004)
- FixedFixes the custom stamp preview not being visible. (#23061)
PSPDFKit
- FixedFixes
-[PSPDFAnnotationSet initWithAnnotations:copyAnnotations:]
not normalizing bounding boxes like its deprecated variant did. (#23061)
9.2.0 21 Jan 2020
See the announcement post(opens in a new tab) and migration guide(opens in a new tab) for this release.
PSPDFKitUI
- APIThe
color
property ofPSPDFColorButton
is now correctly marked as optional/nullable. (#22695) - APIRemoves support for 3rd-party styluses. (#22628)
- RemovedDeprecates
PSPDFImageQualityHigh
, replacing it withPSPDFImageQualityBest
. (#22763) - AddedAdds Dark Mode support to the notes and comments screen (
PSPDFNoteAnnotationViewController
). (#21333) - AddedAdds a high quality option to the image picker (
PSPDFImageQualityHigher
). (#22763) - AddedAdds support for Page Up / Page Down keys to go to the previous/next page. (#22415)
- AddedAdds support for the Select All menu command on Mac Catalyst. (#22685)
- ChangedImproves
PSPDFAnnotationGridViewController
so it shows more annotations when the view is larger (wider than 700 points). (#21423) - ChangedImproves logic around the image picker to no longer require the
NSPhotoLibraryUsageDescription
permission in your app'sInfo.plist
. (#21778) - ChangedImproves performance and smoothness of animations in
PSPDFAnnotationTableViewController
when annotation updates occur. (#22831) - ChangedImproves some error alert titles. (#22757)
- ChangedImproves 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) - ChangedImproves the page selection logic to pick the most recently interacted page when switching from landscape to portrait in page curl mode. (#20452)
- ChangedImproves 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)
- ChangedImproves the styling of the accessory view used in the
PSPDFChoiceFormEditorViewController
. (#19936) - ChangedChanges the approximate image size for
PSPDFImageQualityMedium
from 1024 × 768 to 1600 × 1200 because the previous size was very close toPSPDFImageQualityLow
. (#22763) - ChangedChanges the behavior of the popover presenting
PSPDFChoiceFormEditorViewController
to allow dismissing the controller on tapping outside of it. (#22852) - ChangedChanges 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)
- ChangedFloating keyboards now no longer trigger keyboard avoidance actions on
PSPDFAvoidingScrollView
subclasses apart from free-text annotation avoidance. (#22436) - ChangedImprove contrast, especially in Dark Mode, of some tinted UI elements such as text in the outline and icons in the annotation list. (#22197)
- ChangedMakes the background in the image editor use a translucent color, to see the cut off part of the image. (#22914)
- ChangedSynchronizes 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) - ChangedThe image quality picker of
PSPDFImagePickerController
is now enabled by default. Set itsallowedImageQualities
toPSPDFImageQualityBest
to disable this. (#22763) - ChangedThe thumbnail grid now reloads in a more efficient way when bookmarks are changed while it is displayed. (#22687)
- ChangedUsing 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) - FixedFixes an issue where
-[PSPDFPageView annotationViewForAnnotation:]
might have returned the wrong value, and improves the documentation of this method. (#22578) - FixedFixes an issue where
PSPDFNavigationController
would pass the wrong item in the delegate callbacknavigationBar:shouldPopItem:
when going back using a hardware keyboard. (#22635) - FixedFixes 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)
- FixedFixes an issue where ink annotations drawn using Apple Pencil would create a temporary copy when moved while still in edit mode. (#21833)
- FixedFixes an issue where ink annotations with customized blend mode would flicker when drawing, erasing or zooming. (#21187, Z#16604)
- FixedFixes an issue where the
PSPDFTabbedBar
's add document and overview buttons could have clear backgrounds. (#21725) - FixedFixes 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)
- FixedFixes 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) - FixedFixes 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) - FixedFixes the annotation list not updating when annotations change while the list is visible. (#22789)
PSPDFKit
- APIChanges 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) - APIChanges 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) - APIChanges 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) - APIChanges 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) - APIChanges the parameter type of the
PSPDFDefaultAnnotationStyleManager
methodsdefaultColorPresetsForKey:
anddefaultBorderPresetsForKey:
fromString
/NSString
toAnnotationStateVariantID
/PSPDFAnnotationStateVariantID
. (#22769) - AddedAdds support for incrementally saving encrypted documents. (#22722)
- AddedAdds support for the JavaScript function 'doc.gotoNamedDest'. (#18957)
- ChangedImproves complex script text rendering. (#22573)
- ChangedImproves error handling for
-[PSPDFFileAnnotationProvider saveAnnotationsWithOptions:error:]
. (#14335) - ChangedImproves image stamp quality and reduces PDF size growth by avoiding unnecessary image re-encoding. (#22828, #20325)
- ChangedImproves license check error message to be more user friendly. (#12904)
- ChangedImproves user-facing descriptions of the types of annotations by considering variants. (#21243)
- ChangedImprove compatibility with macOS 10.15 Preview for annotation notes in the sidebar. (#22791)
- RemovedRemoves 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) - ChangedUses modern
NSFontDescriptor
enums on macOS for better Swift bindings. (#22678) - FixedFixes a problem where encrypted documents could not be digitally signed correctly. (#22722)
- FixedFixes a problem where some PDF pages may not be rendered correctly. (#22767)
- FixedFixes an issue that caused a blank page after flattening annotations on a certain document. (#22279)
- FixedFixes an issue where characters weren't escaped correctly when exporting XFDF. (#22844)
- FixedFixes an issue where free-text annotations were not rendered properly on selection when rendered with filter render options. (#20512)
- FixedFixes 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) - FixedFixes an issue where popup annotations were positioned incorrectly. (#22730)
- FixedFixes an issue where text is not displayed in small free-text annotations. (#22514)
- FixedFixes an issue where the file size optimization algorithm didn't run. (#22809)
- FixedFixes an issue where the outline was overridden if set, before property was accessed. (#22678)
- FixedFixes an issue where toggling eraser on a page with temporary rotation rendered ink annotations in a regressed state. (#22434)
- FixedFixes an issue which led to bookmarks not getting updated when importing InstantJSON. (#22198)
- FixedFixes an issue with creating a Submit Form action from JSON without action flags. (#22784)
- FixedFixes an issue with form calculations if one of the form fields contained multiple form elements. (#22675)
Instant
- ChangedImproves the responsiveness of moving and scaling image annotations by avoiding unnecessary work. (#22578)
- FixedFixes a deadlock that could occur when changes were accumulated while a sync was already in progress. (#22703)
- FixedFixes an issue where stamps created on the iOS device would immediately vanish when deselected, and never synced. (#19742)
- FixedFixes an issue where shape annotations would grow temporarily when another shape annotation was drawn immediately afterwards. (#20236)
Examples
- ChangedRenamed
PSCAddingButtonExample.m
to PSCAddingCustomViewsExample.m and improved the example which now demonstrates how to add overlay views that stay aligned with PDF content. (#21704) - FixedFixes 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
- ChangedRight clicking on Mac Catalyst now selects text or images automatically. (#22626)
- ChangedThe image selection context menu now offers a Save option for Mac Catalyst. (#22626)
- FixedFixes a crash that would occur on some iPad devices when the app was backgrounded while the annotation tool inspector popover was visible. (#22472)
- FixedFixes an issue where the image selection was not always visible. (#22626)
- FixedFixes an issue where the keyboard shortcut items for free text annotations were not correctly updated when toggling the accessory view. (#22512)
PSPDFKit
- ChangedImproves font selection and prefers fonts already in the document in more cases. (#22530)
- FixedFixes a race condition in
PSPDFAESCryptoDataProvider
that could result in app termination when Multithreaded Rendering was enabled. (#20011) - FixedFixes an issue where a form field element appearance stream was regenerated accidentally. (#21618)
- FixedFixes an issue where flattened note annotations at the borders of pages would not be rendered correctly. (#22353)
- FixedFixes an issue where symlinks where not properly resolved for the
documentsDirectoryURL
in-[PSPDFLibraryFileSystemDataSource -initWithLibrary:documentsDirectoryURL:documentHandler:]
. (#22518)
Examples
- AddedAdds a Catalog example that shows how to customize the buttons that appear on the free text accessory view. (#22506)
- AddedAdds the ability to load Instant documents from servers protected with HTTP Basic Authentication. (#18960)
- ChangedImproves 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(opens in a new tab).
PSPDFKitUI
- APIAdds
-[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) - APIChanges the type of the
standardAppearance
andcompactAppearance
properties onPSPDFScrubberBar
fromUIBarAppearance
toUIToolbarAppearance
to be more consistent and specific. (#22479) - AddedAdds 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) - AddedAdds a new keyboard shortcut (Command + option + G) to jump to a page. (#22291)
- AddedAdds a subclassing hook to customize document saving when the app is saved for the various autosave reason (backgrounding, terminating, ...). (#22077)
- ChangedImproves 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)
- ChangedImproves page rendering when a zoomed window is resized. (#21836)
- ChangedImproves smart thumbnail size calculation to show more thumbnails on larger screens. This is especially beneficial with Mac Catalyst. (#21424)
- ChangedImproves the layout of the color presets in the annotation inspector on larger devices. (#21777)
- ChangedNote annotations can now be moved faster on iPad and Mac Catalyst. The detail view animation is now instant. (#22303)
- ChangedThe delegate methods on
PSPDFSpeechController
are now always called on the main thread. (#22301) - ChangedThe 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) - ChangedWhen context menus are enabled, selecting a note annotation will now present the
PSPDFNoteAnnotationViewController
. (#22303) - FixedFixes an issue that could prevent the annotation list to be dismissed while searching. (#21895)
- FixedFixes an issue where
-[PSPDFResizableView outerKnobOfType:]
would return nil for the last knob type. (#22302) - FixedFixes an issue where deleting selected annotations with the delete key didn't work. (#22099)
- FixedFixes an issue where the keyboard shortcut items for free text annotations were not correctly updated when toggling the accessory view. (#22512)
PSPDFKit
- APIChanged
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) - RemovedDeprecates
-attachBinaryInstantJSONAttachmentFromDataProvider:mimeType:error:
and replaces it with-attachBinaryInstantJSONAttachmentFromDataProvider:error:
, omitting themimeType
. (#17813) - RemovedDeprecates 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) - AddedAdds support for Image Documents with transparency. (#18907)
- AddedAdds support for copying ink signatures to the clipboard. (#21608)
- AddedAdds support for input file lists (
.xcfilelist
) tostrip-framework.sh
to simplify adding the dSYMs. (#22151) - AddedAdds support for redaction annotations to Instant JSON. (#21389)
- AddedAdds support for setting temporary rotations using
setRotationOffset
when using custom annotation providers that are subclasses ofPSPDFContainerAnnotationProvider
. (#21885) - AddedAdds the ability to initialize
PSPDFImageDocument
with any data provider. (#21140) - ChangedImproves NSSecureCoding support for various classes. (#20696)
- ChangedImproves handling when other apps installed on the system declare new types (UTIs) for standard filename extensions like
.pdf
and.jpg
. (#22418) - ChangedImproves memory usage while searching document with a lot of annotations. (#22367)
- ChangedImproves the performance of the redaction component so that big documents are redacted quicker. (#22102)
- ChangedImproves the rendering of annotations with dashed borders. (#10216)
- ChangedPSPDFKit for Mac Catalyst no longer uses a separate AppKit bundle, fixing issues with App Store Connect. (#21606)
- ChangedRendering complex annotation appearance streams no longer blocks accessing the annotation object on a different thread. (#21836)
- ChangedState restoration for
PSPDFViewController
and related classes now support secure coding. (#22125) - ChangedUpdates HarfBuzz to version 2.6.2. (#21686)
- FixedFixes ISO8601 timezone support in Instant JSON. (#21148)
- FixedFixes a crash related to multi-threading and font loading. (#22387)
- FixedFixes a rare situation where setting form field flags may cause a deadlock. (#19942)
- FixedFixes a regression that caused certain link annotations to not work. (#21709)
- FixedFixes an issue where a deadlock could occur after executing a PDF action or JavaScript. (#22201)
- FixedFixes an issue where annotation additional actions may not be deserialized correctly. (#21983)
- FixedFixes an issue where annotations were updated too often after executing a PDF action or JavaScript. (#22201)
- FixedFixes an issue where deleting or moving pages from a PDF did not update the outline. (#21620, #22048)
- FixedFixes an issue where some filled form fields may not show their content correctly. (#22100)
- FixedFixes an issue where symlinks where not properly resolved for the
documentsDirectoryURL
in-[PSPDFLibraryFileSystemDataSource -initWithLibrary:documentsDirectoryURL:documentHandler:]
. (#22518) - FixedFixes an issue where text after signing had incorrect characters after looking at it in another viewer. (#20930)
- FixedFixes an issue where text entered in certain form fields was rendered garbled. (#21700)
- FixedFixes an issue where the redaction tool may not work correctly in some cases when selecting text. (#22486)
- FixedFixes widget annotation rotation property persistence when coming from Instant JSON. (#21552, #21621)
Instant
- ChangedReduces network traffic when loading additional layers of the same document. (#21787)
- FixedFixes 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
- AddedAdds Catalog example that shows how to add copyright notices to documents when sharing. (#21693)
- AddedAdds a PSPDFKit Catalog example that combines a custom annotation provider with setting temporary page rotations. (#21885)
- AddedAdds a PSPDFKit Catalog example that shows how to customize the buttons that appear on the free text accessory view. (#22506)
- ChangedImproves structure of the Catalog project by grouping examples by category and sorting them alphabetically. (#22392)
- FixedFixes 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
- APIThe 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) - AddedAdds new API to
PSPDFProgressLabelView
to customize the colors of the text and progress indicator. (#21717) - AddedAdds support for system highlight colors for text selection on Mac Catalyst. (#21994)
- ChangedImproves error handling when a document is selected in the redaction view controller. (#22169)
- ChangedChanges the color of the placeholder text and progress view in
PSPDFThumbnailViewController
to use asecondaryLabelColor
on iOS 13 andgrayColor
for older versions. (#21717) - ChangedScrolling 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)
- ChangedThe inspector is now enabled when multiple annotations of the same type are selected. (#22195)
- FixedFixes an issue where VoiceOver would still read out the search progression
PSPDFSearchViewController
even after searching the document did complete. (Z#15979) - FixedFixes an issue where
PSPDFNoteAnnotationViewController
didn't correctly set the appearance of its navigation bar and toolbar. (#22000) - FixedFixes an issue where annotation toolbar and inspector didn't support certain appearance customizations. (#22113)
- FixedFixes an issue where documents wouldn't be shared correctly on Mac Catalyst. (#21821)
- FixedFixes an issue where note annotations could not be deleted on Mac Catalyst. (#22083)
- FixedFixes an issue where rotating the device in page curl mode could lead to an assertion failure. (Z#16000)
- FixedFixes an issue where tapping on a search result would not necessarily scroll the search result on screen in continuous scrolling mode. (#22011)
- FixedFixes 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
- ChangedIncreases image size limits. (#22029)
- FixedFixes an issue if a TrueType font collection has more than 32 fonts. (#22148)
- FixedFixes an issue where an annotation copied from another document was rendered blurry. (#20070)
- FixedFixes an issue where certain high resolution images weren't rendered. (#22322)
- FixedFixes 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) - FixedFixes an issue where form repairs were done too eagerly. (#20786)
- FixedFixes an issue where pages would be rendered with incorrect background colors when setting
PSPDFRenderOptions.backgroundFill
for any render type. (#21800) - FixedFixes an issue where selecting the Open In option when sharing pages out of a document would not work. (#22209)
- FixedFixes an issue where temporarily rotated annotations were saved incorrectly in
PSPDFAnnotationSaveModeEmbeddedWithExternalFileAsFallback
mode. (#22188) - FixedFixes an issue where using a big size for the digital signature container may abort the digital signing process. (#22130)
- FixedFixes a crash that would occur while rendering a thumbnail for a page which does not have a valid size. (#22365)
- FixedFixes an issue where certificates with multi-value RDNs may not be parsed correctly. (#22221)
Examples
- ChangedUpdates
CustomImagePickerControllerExample.swift
illustrating how to customize thePSPDFImagePickerController
'sallowedImageQualities
. (#22002)
9.0.2 21 Oct 2019
PSPDFKitUI
- ChangedImproves the annotation popover placement algorithm. (#21851)
- ChangedSets the highlight text color of the labels in the search result cell to white to improve legibility. (#21964)
- FixedFixes an issue where changing the
compactAppearance
property ofPSPDFScrubberBar
had no effect. (#21927) - FixedFixes an issue where customizing
UINavigationBar
viaUIAppearance
API had no effect in iOS 13. (#21837) - FixedFixes an issue where saved annotations wouldn't be displayed on
PSPDFSavedAnnotationsViewController
. (#21761)
PSPDFKit
- AddedAdds support for printing array structures from JavaScript code inside a PDF. (#19063)
- FixedFixes a rare deadlock when rendering certain documents. (#21856)
- FixedFixes a rendering error where the font
ArialMT
wasn't selected correctly. (#21744) - FixedFixes an issue where
PSPDFKit.bundle
's version number was incorrect on Mac Catalyst. (#21737) - FixedFixes an issue where multiple simultaneous conflict resolution prompts could potentially trigger an internal assertion. (#21694)
- FixedFixes an issue where some Swift API, like
PSPDFKitGlobal.setLogHandler()
, were not accessible when using the CocoaPods integration. (#21846) - FixedFixes a performance regression when rendering with an ICC based color space. (#21776)
- FixedFixes an issue where some properties of a widget annotation were not persisted when the document was saved. (#21546)
Instant
- FixedFixes a regression that would lead to excessive sync activity. (#21847)
- FixedFixes an issue where deleting the local storage for a layer could result in an assertion failure. The situation now fails gracefully. (#21880)
- FixedFixes 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
- AddedAdds a Catalog example illustrating how to customize the appearance of the navigation bar and annotation toolbar. (#21961)
- AddedAdds a PSPDFKit Catalog example illustrating how to restore a document to its previously opened reading position. (#21904)
- AddedAdds required entitlements to the Catalog example when running on macOS. (#21999)
- FixedFixes 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
- AddedAdds new API
standardAppearance
andcompactAppearance
to style thePSPDFToolbar
on iOS 13. (#21665) - AddedAdds
allowReorderingDocuments
onPSPDFTabbedViewController
to support disabling reordering documents in the tabbed bar. (Z#15717) - FixedFixes 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)
- FixedFixes a crash when using the tab key on a hardware keyboard to navigate form fields on iOS 13. (#21613)
- FixedFixes an issue where sharing a document multiple times with custom page ranges would produce invalid documents. (#21080)
- FixedFixes an issue where the
PSPDFFlexibleToolbar
did not match the appearance of the given navigation bar or a toolbar on iOS 13. (#21665) - FixedFixes an issue where the status HUD was not positioned correctly when a keyboard was visible. (#21636)
- FixedFixes an issue where the thumbnails border color was incorrect in Dark Mode in scrollable thumbnail mode. (#21642)
- FixedFixes a possible crash that would occur when exporting documents as images with flattened annotations. (#21739)
- FixedFixes an issue with certain configurations where documents may initially appear zoomed in. (#21625)
PSPDFKit
- FixedFixes an issue where documents using certain kind fonts (especially Chinese, Japanese, and Korean) would cause the app to crash. (#21626)
- FixedFixes secure coding of
PSPDFRenderOptions
. Before all properties would be encoded as nil or zero, which could lead to rendering pages with black backgrounds. (#21708) - FixedFixes an issue where the z-index wasn't preserved when flattening annotations. (#21385)
- FixedFixes an issue where a digital signature applied to a certain kind of document may not show correctly in third party PDF readers. (#18943)
- FixedFixes an issue when using multi-threaded rendering. (#18582)
- FixedFixes a crash when using the processor on certain documents with very deep object hierarchies. (#21674)
Instant
- FixedFixes a possible crash when loading annotations failed in certain Instant documents. (#21617, Z#15606)
- FixedFixes 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(opens in a new tab).
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(opens in a new tab) 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(opens in a new tab). The guide also provides migration steps for xcframework
integration and the removal of PSPDFKitSwift
.
- RemovedRemoves all previously deprecated API. Please see our PSPDFKit 9 for iOS migration guide to learn about the appropriate migration strategy. (#20904)
PSPDFKitUI
- APIChanges
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) - APIRenames the
PSPDFConfiguration
propertiesscrollOnTapPageEndEnabled
,scrollOnTapPageEndAnimationEnabled
, andscrollOnTapPageEndMargin
toscrollOnEdgeTapEnabled
,animateScrollOnEdgeTaps
, andscrollOnEdgeTapMargin
. (#20923) - APIThe 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) - RemovedRemoves
PSPDFPresentationShouldPopoverDismissBlockKey
because API provided by UIKit should be sufficient. (#20978) - RemovedRemoves
brightnessManager
property fromPSPDFBrightnessViewController
since brightness is now directly handled on theUIScreen
instance. (#21495) - RemovedRemoves brightness related properties from
PSPDFBrightnessManager
. (#21495) - RemovedRemoves
interactiveReorderingGestureRecognizer
fromPSPDFTabbedBar
since the tabbed bar uses drag and drop for reordering now. (#20431) - RemovedRemoves support for using
UIWebView
inPSPDFWebViewController
. (#19807) - AddedAdds
PSPDFDocumentInfoCoordinator.documentInfoViewController
to enable showing the document info UI in custom ways. (#19807) - AddedAdds
PSPDFPageView
methods for showing contextual menus:showMenuForPoint:animated:
andshowAnnotationMenuAtPoint:animated:
. (#19807) - AddedAdds precise immediate text selection handling on Mac Catalyst. (#21012)
- AddedAdds 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)
- AddedAdds support for context menus to the annotation toolbar on iOS 13. (#21205)
- AddedAdds support for dragging and dropping tabs across different
PSPDFTabbedViewController
instances. This can be enabled viaallowDraggingTabsToExternalTabbedBar
andallowDroppingTabsFromExternalTabbedBar
. (#20431) - AddedAdds support for iOS 13 Dark Mode. (#20403)
- AddedAdds support for the new Cut/Copy/Paste gestures from iOS 13. (#21293)
- AddedAdds an option for rounded corners to the flexible toolbar and refines the default toolbar design. (#21206)
- ChangedImproves compatibility with iOS 13 sheet presentations, which can be dismissed by swiping downwards. (#20978)
- ChangedImproves logic to place the share activity view controller on the page when sharing an image. (#19807)
- ChangedImproves the annotation line-end selection UI in the annotation style controller. (#21535, #21542)
- ChangedImproves the annotation toolbar and document editor icon designs, so it's easier to distinguish them. (#21078)
- ChangedImproves toolbar selection and orientation transition animations. (#21206)
- ChangedChanges
PSPDFSignatureViewController
to always use a consistent aspect ratio for the signing area. Previously this was only the case on iPad. (#20978) - ChangedChanges moving tabs in the tabbed bar to use drag and drop instead of interactive reordering. (#20431)
- ChangedChanges 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)
- ChangedChanges the
PSPDFNewPageViewController
presented from the document editor to uses a standard form sheet rather than our custom half modal style (in compact widths). (#20978) - ChangedChanges the minimum value of the brightness slider to 0.0 instead of 0.1 to match the range of
UIScreen.brightness
. (#21495) - ChangedFile Annotations can now be deleted via the default annotation menu. (#21293)
- ChangedImproved keyboard support: Command-Arrow Up/Down navigates to first/last page. (#20869)
- ChangedPSPDFUndoController canUndo/canRedo now always updates correctly, even if invoked via the undo manager directly. (#19807)
- ChangedUpdates default values for text selection properties
textSelectionMode
andshouldShowSelectionHandles
on Mac Catalyst and extends the documentation fortextSelectionShouldSnapToWord
. (#21012) - FixedFixes an iOS 13 specific unsatisfiable constraint warning on
PSPDFAnnotationStyleViewController
. (#21196) - FixedFixes an issue that caused the search UI to be misplaced when using the search button item action with a custom button. (#21409)
- FixedFixes an issue where selection of a page did not persist on reordering using drag and drop interaction in the Document Editor. (#21474)
- FixedFixes an issue where the accessibility label of a page was incorrect after reordering the page in the Document Editor. (#21474)
- FixedFixes editing free text annotations not always showing the keyboard when using multiple windows. (#21341)
- FixedFixes 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) - APIRenames the
PSPDFKit
global singleton toPSPDFKitGlobal
to avoid conflicts with thePSPDFKit
module name in Swift. (#21292) - APISwift-incompatible methods on
PSPDFProcessor
and delegate-based error and completion handling onPSPDFProcessorDelegate
have been removed. (#21233, Z#15373) - APIThe
PSPDFProcessor
PDF generation API has been converted to class methods to better isolate it from the PDF processing operations. (#21000) - APIThe
PSPDFRenderOption
enumeration has been replaced with thePSPDFRenderOptions
class that now properly supportsNSSecureCoding
. (#17342) - APIThe
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) - APIThe class property
isDeletable
onPSPDFAnnotation
has been converted to a per-object property to include object flags. (#21293) - RemovedRemoves the rendering option to disable text anti-aliasing when using the non-native text rending option. (#21204)
- RemovedRemoves the class property
isWritable
onPSPDFAnnotation
. All implemented subclassed annotation and form types are writable. (#21293) - AddedAdds
NSSecureCoding
support toPSPDFAnnotation
and its subclasses. (#12026) - AddedAdds
NSSecureCoding
support toPSPDFColorPreset
andPSPDFBorderStylePreset
. (#21362) - AddedAdds support for setting a user activity on
PSPDFDocument
. (#20431) - ChangedImproves JPEG2000 with transparency support. (#20483)
- ChangedImproves filesystem checking to better handle external storage and file server support on iOS 13. (#21159)
- ChangedImproves font rendering and fixes several edge cases. (#20930)
- ChangedImproves 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)
- ChangedImproves the validation of Instant JSON payloads so that case differences in properties are tolerated. (#21145)
- ChangedDisables generating PDFs from URLs and HTML strings on Mac Catalyst. (#21000)
- ChangedUpdates Botan to version 2.11.0. (#20549)
- ChangedUpdates Duktape to version 2.4.0. (#20954)
- FixedFixes a bug in redaction rendering where the font size wasn't consistent. (#21088)
- FixedFixes an issue with transparent
strokeColor
in Instant JSON. (#21391) - FixedFixes an issue when importing XFDF files in specific documents. (#21271)
- FixedFixes an issue where images with the lighten blend mode didn't get rendered correctly. (#20642)
- FixedFixes an issue where loading a document would fail if it contained JPEG2000 images not specifying a color space. (#21311)
- FixedFixes an issue where text after signing had incorrect characters after looking at it in another viewer. (#20930)
- FixedFixes an issue where the error object was not set in case of a failure in
-[PSPDFDataProviding replaceWithDataSink:error:]
. (#21116) - FixedFixes an issue where using the document editor to merge a document with many pages would lead to an out-of-memory crash. (Z#15277)
- FixedFixes issues with transparent image stamp annotations. (#7646)
- FixedFixes issues with transparent images in XFDF. (#9221)
- FixedFixes some stability issues related to color space management. (#21529)
- FixedFixes some stability issues when fonts are loaded from a document. (#21042)
- FixedFixes some use cases where PDFs with JavaScript validation scripts may not work as expected. (#21291)
Examples
- AddedAdds a PSPDFKit Catalog example illustrating how to show a
PSPDFViewController
in SwiftUI. (#20381) - AddedAdds an example illustrating how to always show dark user interface style on the annotation toolbar. (#20403)
- AddedAdds multi-window support to PSPDFKit Catalog on iOS 13. (#20431)
- AddedAdds support to drag and drop tabs in TabbedBarExample. (#20431)
- ChangedChanges the default appearance of the Catalog app to match Apple recommended styling. (#20211)
- FixedFixes an issue in the catalog
PSCDrawAnnotationsAsOverlayExample
where annotation were not overlaid appropriately. (#21276)
8.5.2 6 Sep 2019
PSPDFKitUI
- AddedAdds 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) - ChangedChanges the designated initializer of
PSPDFSignedFormElementViewController
to the new added initializerinitWithSignatureFormElement:allowRemovingSignature:
. (#20686) - FixedFixes an issue where a sharing action would be executed automatically if the first sharing configuration available has no options to pick from. (#20964)
- FixedFixes an issue where the existing configuration was not preserved while showing a new digitally signed document in a new controller. (#20686)
PSPDFKit
- ChangedImproves error reporting in
+[PSPDFAnnotation annotationFromInstantJSON:documentProvider:error:]
when the document was misconfigured. (#21177) - ChangedImproves memory usage with complex documents. (#20970)
- ChangedImproves the stability of some PDF form operations. (#21032)
- ChangedImproves the validation of InstantJSON in some corner cases. (#20748)
- FixedFixes a problem where some dates may be incorrectly formatted as Sunday. (#20363)
- FixedFixes an issue with annotation hit testing that could result in taps being received by a link annotation that was underneath another link annotation. (#21055)
- FixedFixes an issue where link annotations with a nil border color and a valid dash array were not being rendered. (#20749)
- FixedFixes 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) - FixedFixes 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) - FixedFixes annotations sometimes not being saved to an external file after only annotation updates happened and
setRotationOffset:forPageAtIndex:
was called before saving. (#20976) - FixedFixes pasted rotated vector stamps being double rotated which resulted in clipping. (#20916)
- FixedFixes
-[PSPDFProcessorConfiguration drawOnAllCurrentPages:]
producing offset drawing when the page has a MediaBox with a non-zero origin. (#20797) - FixedFixes the
drawingBlock
ofPSPDFFileAppearanceStreamGenerator
not automatically handling page rotation. (#20983) - FixedFixes a possible crash in certain documents due to a null dereference in
isLinkedInAcroForms
. (#21121)
Instant
- AddedAdds 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) - ChangedThe
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
- FixedFixes a crash that would occur when opening the Kiosk Grid example on iOS 13. (#20861)
8.5.1 8 Aug 2019
PSPDFKitUI
- AddedAdds
-[PSPDFDocumentSharingViewController initWithDocuments:sharingConfigurations:]
and makes it the designated initializer. (#20842) - FixedFixes an issue where annotations could not be moved in the annotation list when not all annotations were shown (typically when there were links). (#20822)
- FixedFixes an assertion when presenting certain table view controllers on iOS 13. (#20833)
- FixedFixes an assertion when using a custom variant for free text annotations. (#20823)
- FixedFixes the initially selected segment in
PSPDFDocumentSharingViewController
being ‘Share’ instead of the first one when custom configurations are used. (#20842)
PSPDFKit
- AddedAdds
PSPDFDocumentSaveStrategyRewriteAndOptimizeFileSize
to enable file size optimizations when saving documents. (#20826) - ChangedImproves performance when opening documents with many links. (#20786)
- FixedFixes an issue where rotating pages using the document editor would always reset the page binding setting to the left edge. (#20732)
Instant
- ChangedPrevents text clipping on other platforms when a free text annotation was created or updated on iOS such that all text is visible. (#20727)
Examples
- FixedFixes
PSCFormFillingExample
to properly respect specific input formats and validations of the form fields. (#20606)
8.5.0 31 Jul 2019
See the announcement post(opens in a new tab).
PSPDFKit now requires and is built with Xcode 10.3 (10G8).
- AddedAdds an optional JSON Podspec (
podspec.json
) that you can use by appending.json
to your podspec link. Learn more in our CocoaPods guide(opens in a new tab). (#20335)
PSPDFKitUI
- APIThe
PSPDFDocumentInfoCoordinator
's delegate property is now of typePSPDFDocumentInfoCoordinatorDelegate
, which is a newly introduced protocol. (#20469) - RemovedDeprecates
PSPDFSignatureViewController
’slines
property in favor of itsdrawView.pointSequences
. (#20450) - AddedAdds 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)
- AddedAdds the ability for users to change the document’s page binding in
PSPDFDocumentInfoViewController
. (#10603) - AddedAdds 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)
- AddedAdds a
halfModalStyle
property toPSPDFConfiguration
to allow the use of the annotation inspector without the card design introduced in PSPDFKit 8.4 for iOS. (#19944) - AddedAdds a
PSPDFDocumentInfoViewControllerDelegate
protocol to respond to changes fromPSPDFDocumentInfoViewController
. (#20510) - ChangedChanges 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) - ChangedDisables 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) - ChangedReduces the minimum line width for ink annotations from 0.5 to 0.1 in the annotation inspector. (#20654)
- FixedFixes an issue that caused certain pages to fade from black on iOS 13 when they were moved on-screen. (#20513)
- FixedFixes an issue where the back button of a navigation controller did not work on iOS 13. (#20533)
- FixedFixes an issue where annotations could appear duplicated and flipped after the app goes into the background. (#18695)
- FixedFixes an issue where you could delete a non-editable note annotation. (#20419)
- FixedFixes an issue where text wouldn't be spoken if a device was in silent mode. (#20392)
- FixedFixes a floating scrubber bar layout issue by correctly ignoring the unsupported
scrubberBarType
values. (#20258) - FixedFixes
PSPDFNavigationController
’s back external keyboard command taking precedence over text input. (Z#14834) - FixedFixes navigating through forms using the tab key on external keyboards not working for multi-line text fields. (#20218)
- FixedFixes a rare issue where bookmark manager initialization could be triggered recursively and assert. (#20566)
PSPDFKit
- AddedAdds API to change the order in which annotations are stacked on the page (the z-index). (#100)
- AddedAdds support for rotating image stamp annotations. (#19692)
- AddedAdds support for rotating vector stamp annotations. (#20345)
- AddedAdds support for rendering emojis in free text annotations and forms. (#20629)
- AddedAdds 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) - AddedAdds support for preserving the Instant JSON id in the PDF. (#20572)
- AddedAdds support for serializing and deserializing border properties of link annotations. (#20359)
- AddedAdd support for vertical alignment in single-line form fields when exporting or printing PDF files. (#19882)
- ChangedThe
pageBinding
property setter ofPSPDFDocument
now saves the page binding into the document instead of just keeping it in memory. (#20327) - ChangedImproves automatic repair of AcroForms when loading documents with a large number of annotations. (#19947)
- ChangedUpdates Expat to version 2.2.7. (#20545)
- ChangedUpdates libpng to version 1.6.37. (#19851)
- ChangedUpdates openjpeg to version 2.3.1. (#20647)
- FixedFixes an issue reading media boxes. (#20592)
- FixedFixes a deadlock that could occur when performing concurrent equality checks on annotation objects. (#20688)
- FixedFixes calling
sizeToFit
on a free text annotation resizing the annotation incorrectly. (#20302, Z#14464) - FixedFixes an issue where annotations could become rotated and distorted in certain documents. (#20267)
- FixedFixes the appearance stream of stamp annotations sometimes not being preserved when the annotation is rotated, which is needed to avoid distorting it. (#15898)
- FixedFixes an assertion when importing annotations outside the page range using XFDF. (#20424)
- FixedFixes page indices being incorrect after the first data provider when exporting Instant JSON from a document with multiple data providers. (#20343)
- FixedFixes a crash that would occur after applying an Instant JSON update to a document where the changes contained form field updates. (#20152)
- FixedFixes an issue where form fields with calculation order may not be flattened correctly by the processor. (#20434)
- FixedFixes an issue where some documents with dropdown fields may show an arrow when the document is flattened. (#9539)
- FixedFixes a problem where overriding the digital signature reserved size may corrupt the signature appearance. (#20496)
- FixedFixes an issue that may prevent documents with certain restrictions from being digitally signed. (#20741)
- FixedFixes an issue where a custom
dataSource
set on aPSPDFSigner
object was overridden sometimes. (#20487) - FixedFixes an issue where some documents signed with invisible signatures could not be validated correctly. (#20277)
Examples
- AddedAdds a Swift counterpart to the example
PSCSaveAsPDFExample.m
calledSaveAsPDFExample.swift
. (#20672)
8.4.2 5 Jul 2019
PSPDFKitUI
- AddedAdds 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) - ChangedImproves the documentation for sharing options related to printing and preset
PSPDFViewController
bar button items. (#18987) - FixedFixes 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) - FixedFixes an issue where annotation property changes from the inspector were not preserved when killing the app before exiting the annotation state. (#20232)
- FixedFixes 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) - FixedFixes incorrect group spacing and cell layout issues on the sharing UI. (#18987)
- FixedFixes 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
- AddedAdds
-[PSPDFDocumentEditor rotationForPageAtIndex:]
to get the current rotation for a page of the document being edited. (#19960) - AddedAdds a property on
PSPDFBookmarkManager
to access the associatedPSPDFDocument
instance. (#20226) - ChangedImproves the loading performance for complex documents with lots of link annotations. (#19399)
- Changed
PSPDFBookmarksChangedNotification
is no longer posted when loading a document. (#18638) - FixedFixes very occasional text rendering problems. (#20155)
Instant
- FixedFixes markup annotations not syncing reliably. (#20235)
- FixedFixes certain annotation types appearing rotated and distorted on rotated pages. (#20291)
Examples
- AddedAdds a PSPDFKit Catalog example illustrating how to add a square annotation with cloudy borders button to the annotation toolbar. (#20400)
- FixedFixes Swift and Objective-C language detection of the examples on iOS 11. (#19953, Z#13392)
8.4.1 20 Jun 2019
PSPDFKitUI
- ChangedShowing the annotation toolbar programmatically is now blocked by default when saving is not possible. (#16816)
- FixedFixes an issue where top-level entries in
PSPDFOutlineViewController
couldn’t be searched. (#20004) - FixedFixes an issue where pages could go blank if an element on them had first responder status while they were moved offscreen. (#19638)
- FixedFixes an issue where
PSPDFTabbedViewController
’s tabbed bar would not appear when the view controller was embedded in a container controller. (#19414, #19826, Z#13332) - FixedFixes an issue where setting the
barTintColor
onPSPDFScrubberBar
did not have any effect. (#20169) - FixedFixes an issue where setting the
tintColor
of the page grabber did not have any effect. (#20081) - FixedFixes an issue where a shape annotation with a large line thickness could disappear when resized to small sizes. (#20022)
- FixedFixes an issue where the document could be modified during saving in the document editor. (#19830)
- FixedFixes an issue where the user could open the inspector of a non-editable annotation by selecting an editable one first. (#20283)
- FixedFixes the undo behavior for free text annotation rotation and resizing so that the annotation does not get distorted. (#20133)
- FixedFixes an issue that caused the document view to be loaded prematurely during
PSPDFViewController
initialization. (#20255) - FixedFixes an issue with the annotation inspector where a
UITableView
separator was incorrectly shown under the last item. (#20109)
PSPDFKit
- AddedAdds support for importing and exporting free text callout annotations using JSON. (#18202)
- ChangedImproves loading performance for documents with complex outlines. (#20279)
- ChangedImproves rendering of text with non-Latin characters. (#20189)
- FixedFixes an issue where image stamp annotations rotated by third-party software may lose their appearance. (#20165)
- FixedFixes video metadata lookup for YouTube videos. (#20180)
Examples
- AddedAdds a PSPDFKit Catalog example illustrating how to persist
PSPDFSettingsViewController
settings inNSUserDefaults
. (#20210) - ChangedImproves
DrawOnPagesExample.swift
to show how to draw multiple watermarks with different attributes. (#18922)
8.4.0 30 May 2019
See the announcement post(opens in a new tab).
PSPDFKitUI
- RemovedDeprecates
-[PSPDFDigitalSignatureCoordinator presentSignedDocument:showingPageIndex:]
in favor ofpresentSignedDocument:showingPageIndex:withPresentationContext:
to make presenting the signed document easier. (Z#13752) - RemovedDeprecates
PSPDFUserInterfaceView.thumbnailBarInsets
, which did not do anything. (#19771) - RemovedRemoves the
optionsView
property fromPSPDFNoteAnnotationViewController(SubclassingHooks)
because returning any other value would lead to a crash. (#19841) - RemovedRemoves 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) - RemovedRemoves the unimplemented
PSPDFPageLabelView(SubclassingHooks)
category. (#19841) - RemovedRemoves the unimplemented subclassing hooks
-cancelDrawingAnimated:
and-doneDrawingAnimated:
fromPSPDFAnnotationStateManager
. (#19841) - RemovedRemoves the unimplemented category
PSPDFSavedAnnotationsViewController(SubclassingHooks)
. Calling the method it declared would have lead to an “unrecognized selector” crash. (#19841) - AddedAdds 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) - AddedAdds an improved, modern visual design for the annotation inspector. (#19053)
- AddedAdds support for rotating free text annotations to any angle. (#15900)
- AddedAdds the ability to customize the eraser thickness in the UI which can be changed in the Annotation Inspector invoked from the Annotation Toolbar. (#18918)
- AddedAdds the ability to apply redactions in a new file, to not overwrite the current document, from the UI. (#19247)
- AddedAdds support for showing a blend mode menu item to the markup annotations selection menu. (#19985)
- AddedAdds a subclassing hook,
-[PSPDFUserInterfaceView updatePageLabelFrameAnimated:]
, for changing the page label position. (#19217) - AddedAdds
<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) - AddedAdds biometric properties on
PSPDFDrawView
:pointSequences
,pressureList
,timePoints
,touchRadii
andinputMethod
. Callingclear
onPSPDFDrawView
now also clears any currently collected biometric data. (#19800) - ChangedMarks the inherited initializer
-[PSPDFMenuItem initWithTitle:action:]
as unavailable because it cannot be used with this class. (#19841) - ChangedMoves
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) - ChangedPromotes the declaration of
-updatePageLabel
inPSPDFThumbnailGridViewCell(SubclassingHooks)
up the class hierarchy toPSPDFPageCell
. (#19841) - ChangedSingle-page documents now have the thumbnail bar hidden by default. A new property in
PSPDFConfiguration
(hideThumbnailBarForSinglePageDocuments
) lets you configure this behavior. (#16110) - FixedFixes a crash that could occur in
-[PSPDFThumbnailFlowLayout ensureLayoutAttributesForItemsUpTo:]
when viewing page thumbnails in double page mode. (#19984) - FixedFixes 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)
- FixedFixes an issue where an annotation’s
fillColor
returnedUIColor.clearColor
instead ofnil
for a clear color. (#19896) - FixedFixes an issue where annotations drawn in dark mode had a black fill color instead of a clear fill color. (#19831)
- FixedFixes an issue where erasing or undoing an ink annotation changed the alpha of the remainder of the drawn ink annotation on page. (#19900)
PSPDFKit
- APIReplaces the
rotation
property setter ofPSPDFFreeTextAnnotation
withsetRotation:updateBoundingBox:
, which is declared in thePSPDFRotatable
protocol. (#19983) - AddedAdds Welsh localization. (#19923)
- AddedAdds a new
PSPDFPKCS7
class for representing a digital signature PKCS7 container. (#19916) - AddedAdds a way to construct an instance of a
PSPDFPrivateKey
fromNSData
that represents a valid private key in either PKCS1 or PKCS8 encoding format. (#19916) - AddedAdds embedSignatureInFormElement: API to the
PSPDFSigner
, an API that embeds a digital signature in a document already prepared to contain a digital signature. (#19479) - AddedAdds
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) - AddedAdds
prepareFormElementToBeSigned:
API to thePSPDFSigner
, an API that reserves space in a signature form field so that it can be signed later. (#19479) - AddedAdds the ability to set a custom signature watermark. (#19438)
- AddedAdds support for the
Doc.documentFileName
JavaScript API. (#18775) - ChangedMakes enums use
NS_CLOSED_ENUM
so Swift callers don’t need to handle unknown cases. (#18679) - ChangedImproves rendering of text in appearance streams. (#19877)
- ChangedImproves the performance of some JavaScript calculation scripts. (#19234)
- ChangedEmbedded goto actions will go to the specified page instead of going to the first page of the embedded target document. (#10963)
- ChangedImproves automatic repair of AcroForms to support more document errors. (#19834)
- ChangedRenames
PSPDFSignatureInputMethod
enum toPSPDFDrawInputMethod
. The previous values have been deprecated. (#19800) - ChangedUpdates Expat to version 2.2.6. (#19868)
- ChangedUpdates the Botan library version to 2.10.0. (#19767)
- FixedFixes a bug which caused the font picker to scroll to the selected item with a jerky animation. (#19108)
- FixedFixes an issue creating form fields where some fields could not be retrieved later by their original keys. (#19945)
- FixedFixes an issue where JavaScript API
doc.getField()
could get into a state where it wasn’t possible to retrieve newly created form fields. (#20027) - FixedFixes an issue where rotating a page after deleting a note annotation could lead to an assertion failure. (#19853)
- FixedFixes an issue where the line start and end of a polyline annotation didn’t honor a clear fill color. (#20097)
Examples
- AddedAdds a PSPDFKit Catalog example illustrating how to add a Blend Mode menu item to the highlight annotation selection menu. (#19985)
- AddedAdds a PSPDFKit Catalog example illustrating how to customize the annotation inspector to set blend mode for vector stamp annotations. (#19979)
- AddedAdds a PSPDFKit Catalog example illustrating how to access the biometric data of an ink signature from a
-[PSPDFSignatureViewController drawView]
. (#19800) - AddedAdds a PSPDFKit Catalog example illustrating how to access the biometric properties after digitally signing a document. (#19800)
- AddedAdds 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
- AddedAdds
PSPDFTextSelectionMenuActionCopy
,PSPDFTextSelectionMenuActionMarkup
,PSPDFTextSelectionMenuActionRedact
,PSPDFTextSelectionMenuActionCreateLink
, andPSPDFTextSelectionMenuActionAnnotationCreation
toPSPDFTextSelectionMenuAction
to allow for easier customization of allowed menu actions viaPSPDFConfiguration.allowedMenuActions
. (#19817) - FixedFixes 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) - FixedFixes an issue where the annotation state of the
PSPDFAnnotationStateManager
was set to an empty string when no annotation tool was selected. (#19911) - FixedFixes an issue where the thumbnails view would automatically scroll for certain documents when the
stickyHeaderEnabled
property ofPSPDFThumbnailFlowLayout
was set toYES
. (#19437) - FixedFixes the alignment of the indexing status cell in
PSPDFDocumentPickerController
. (#19673)
PSPDFKit
- AddedAdds undo support for link annotations. (#19702)
- AddedAdds a
variant
property onPSPDFAnnotation
. (#19903) - FixedFixes an issue where the redaction text may not be correctly added in some scenarios. (#19703)
- FixedFixes 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
- FixedFixes an issue where the comments indicator icon was misplaced for rotated stamp annotations. (#19652)
- FixedFixes an issue where the flexible toolbar shadow was misplaced during the animation when moving the toolbar to a new position. (#19709)
- FixedFixes an issue where the username alert's done button would remain disabled when programmatically presenting the alert with an empty suggested name. (#19695)
- FixedFixes an issue with button alignment on the scrubber bar toolbar on devices with bottom safe area insets. (#16254)
- FixedFixes an issue with the page mode not updating when rotating the device while editing a free text annotation. (#19160)
PSPDFKit
- ChangedImproves performance when attempting to load custom fonts on demand. (#19662, #19661)
- ChangedImproves performance when executing JavaScript actions on form fields with complex interdependent validation logic. (#19661)
- ChangedImproves results from
PSPDFLibrary
when thePSPDFLibraryMatchExactPhrasesOnly
option is specified, and a tokenizer other than the default porter tokenizer is used. (#19685) - ChangedPrevents a potential multithreading violation when the sqlite backend is accessed while a low memory notification is broadcasted. (#19750)
- FixedFixes an issue where the
PSPDFRenderDrawBlock
set using-[PSPDFProcessorConfiguration drawOnAllCurrentPages:]
was overridden by thePSPDFRenderDrawBlock
of aPSPDFDocument
's render options. (#19541) - FixedFixes an issue where an annotation would not be up-to-date when using the processor while using the external file annotation save mode. (#19498)
- FixedFixes an issue where readonly checkboxes may not be rendered correctly. (#19506)
- FixedFixes a crash that could occur when deleting annotations using the menu interface. (#18061)
- FixedFixes a potential crash when processing large documents under low-memory conditions. (#19768)
Examples
- ChangedUpdates
PSCPredefinedEmailBodyExample
to use the new Document Sharing API. (#19725) - FixedFixes a crash on the Custom Sharing Options example in Catalog. (#19711)
8.3.0 23 Apr 2019
See the announcement post(opens in a new tab).
PSPDFKit now requires and is built with Xcode 10.2.1 (10E1001).
PSPDFKitUI
- APIChanges 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) - APIMakes the
searchString
parameter in-[PSPDFDocumentPickerControllerDelegate documentPickerController:didSelectDocument:pageIndex:searchString:]
correctly declared as nullable. (#19040) - APIRemoves
-[PSPDFViewModePresenter updateInsetsForTopOverlapHeight:]
with dropping support for iOS 10. (#19445) - RemovedDeprecates the document editor specific API (
initWithDocumentEditorConfiguration:
anddocumentEditorConfiguration
) and removesPSPDFDocumentEditorConfigurationConfigurable
conformance onPSPDFSaveViewController
. (#16997) - RemovedDeprecates
-[PSPDFAnnotationPresenting didShowPageView:]
in favor of-[PSPDFAnnotationPresenting willShowPageView:]
to better communicate the timing of this method call. (#19333) - RemovedDeprecates
-[PSPDFSignatureViewController keepLandscapeAspectRatio]
, since showing the signature drawing area in a landscape format is the default. (#18772) - RemovedDeprecates 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) - AddedAdds new UI for link annotation creation and editing via
PSPDFLinkAnnotationEditingContainerViewController
,PSPDFPageLinkAnnotationEditingViewController
, andPSPDFWebsiteLinkAnnotationEditingViewController
. (#18909) - AddedAdds the link annotation tool to the default Annotation Toolbar configurations. (#18909)
- AddedAdds support for showing link annotations with multiple
rects
, which happens if the link spans multiple lines. (#18909) - AddedAdds 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) - AddedAdds external keyboard commands to navigate lists (table views) using arrow keys. (#7824)
- AddedAdds external keyboard commands for navigation bar and toolbar buttons when using
PSPDFNavigationController
. (#7824) - AddedAdds external keyboard commands to switch tab in the document info view. (#7824)
- AddedAdds a configuration option to enable adding multiple bookmarks to the same page in the UI. (#16371)
- AddedAdds
shouldResetAppearanceModeWhenViewDisappears
property onPSPDFViewController
, which allows you to disable the appearance mode reset on-[PSPDFViewController viewWillDisappear:]
. (#19562) - ChangedImproves Digital Signature signing experience by presenting the Annotation Toolbar only when it is required. (#18192)
- ChangedImproves signature drawing area sizing to make sure no drawings are cut off when rotating the device or resizing the app. (#18772)
- ChangedImproves the behavior of form fields with autosizing fonts. (#19303)
- ChangedImproves the internal annotation username state handling which caused issues when programmatically dismissing the annotation username alert. (#18905)
- ChangedImproves the performance and reliability of the Document Editor. (#19349)
- ChangedChanges how
editableAnnotationTypes
are set onPSPDFAnnotationTableViewController
when presented by PSPDFKit. Links will be filtered out by default. (#18909) - ChangedChanging the type of markup annotations now sets the style of the changed annotation to the last used style for the new type. (#19255)
- ChangedEnables link annotation editing by default, by adding them to
PSPDFConfiguration.editableAnnotationTypes
. (#18909) - ChangedImprove the logic to properly inset the Annotation Toolbar when the page grabber is used. (#18685)
- ChangedThe 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) - FixedFixes a memory leak when interacting with sound annotations. (#19295)
- FixedFixes an issue that could result in blank pages after scrolling or device rotation. (#18848, #18682)
- FixedFixes an issue where
PSPDFThumbnailViewController
andPSPDFDocumentEditorViewController
would hold outdated references for documents when calling-[PSPDFViewController reloadData]
, resulting in inconsistencies. (#19363) - FixedFixes an issue where
PSPDFViewController
was not completely reloading after changing the document’spageBinding
property. (#19199) - FixedFixes an issue where a document could not be deleted in
PSPDFDocumentPickerController
. (#19458) - FixedFixes 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)
- FixedFixes an issue where editing permissions was not allowed if the document was opened with user (open) password. (#19188)
- FixedFixes an issue where keyboard was not dismissed in favor of a form field popover. (#6523)
- FixedFixes an issue where the activity indicator on a page was still visible even after the completion of the rendering. (#19529)
- FixedFixes an issue where the Annotation Toolbar was not correctly placed when using the page grabber and the app was resized. (#19334)
- FixedFixes an issue where the wrong preset would be selected in the Annotation Inspector if multiple presets with the same color combination where present. (#19623)
- FixedFixes an issue which caused the line annotation’s start and end color to not persist correctly. (#19535)
- FixedFixes memory leaks when using
PSPDFDocumentSharingViewController
. (#14468) - FixedFixes page change keyboard shortcuts in right-to-left layouts. (#19385)
- FixedFixes the half modal inspector scroll position sometimes jumping after showing the font picker or going back. (#19050, #19052)
- FixedFixes the half modal drag indicator appearing above the font picker search field where it didn’t fit well. (#18881)
PSPDFKit
- APIReplaces the
rotation
property setter ofPSPDFStampAnnotation
withsetRotation:updateBoundingBox:
, which is declared in thePSPDFRotatable
protocol. (#15888) - RemovedDeprecates
-[PSPDFBookmarkManager removeBookmarkForPageAtIndex:]
in favor of the newremoveBookmarksForPageAtIndex:
, which more accurately describes the handling of multiple bookmarks per page. (#16371) - AddedAdds support for rotating stamp annotations to any angle and ensures the visual size is retained when the rotation is changed. (#15899)
- AddedAdds a
customData
property toPSPDFAnnotation
. The contents of this property are saved to the corresponding annotation provider. (#18889) - AddedAdds
PSPDFDirectory.documentPickerDirectory
as a way to show the system file picker for directory selection. (#16997) - AddedAdds a
drawingBlock
property toPSPDFFileAppearanceStreamGenerator
to allow additional custom drawing. SeeAppearanceStreamGeneratorWithCustomDrawingExample
in PSPDFKit Catalog. (#19277) - AddedAdds French (Canadian) localization. (#19686)
- AddedAdds
showWatermark
toPSPDFSignatureAppearance
. This allows hiding the watermark from digital signatures. (#19438) - AddedAdds support for signing PDF documents using P12 keystores that contain CA certificates. (#19448)
- AddedAdds support for modifying form fields and annotation widgets to Instant Document JSON. (#18771)
- AddedAdds
FontStyle
to Instant JSON for widget annotations. (#18083) - ChangedImproves JavaScript error validation and error reporting. (#18899)
- ChangedImproves performance of pages which hold lots of objects. (#19396)
- ChangedImproves the performance of documents with JavaScript interactivity in many common scenarios. (#19119)
- ChangedAutomatically triggers a
clearCache
when the data directory is set. (#18898) - ChangedChanges the default
PSPDFDocumentEditorConfiguration.saveDirectories
toPSPDFDirectory.documentPickerDirectory
, to use the system file picker for choosing a save location. (#16997) - ChangedIncreases the default levels of undo actions from 40 to 100 to store more history. (#18756)
- ChangedLoading PDF actions is now more reliable. (#18843)
- ChangedOptimizes storage size of Magic Ink template files. (#19453)
- ChangedSuppresses parsing and potential display of unsupported annotation types, such as widget annotations. (#19415)
- ChangedUpdates ICU to version 63.1. (#18974)
- ChangedUpdates libjpeg-turbo to 2.0.2. (#18973)
- ChangedUpdates libpng to 1.6.36. (#18972)
- ChangedUpdates zlib to 1.2.11. (#18975)
- FixedFixes a problem where a form field that is made visible by a JavaScript script may not show its formatted appearance. (#19119)
- FixedFixes a rare issue when parsing outlines. (#19469)
- FixedFixes a very occasional crash on editing form elements. (#19595)
- FixedFixes an assertion that could occur when applying certain rotation values in Instant JSON in certain documents. (#19391)
- FixedFixes an issue exporting Instant JSON shape annotations with transparent stroke colors. (#19120)
- FixedFixes an issue when redacting documents with monochrome inline images. (#19579)
- FixedFixes an issue when drawing a path using a pattern with alpha transparency. (#19148)
- FixedFixes an issue when rendering text with an overlay blend mode. (#19151)
- FixedFixes an issue when setting transparent colors in annotations. (#19120)
- FixedFixes an issue when sharing a document that resulted in blank pages. (#19267)
- FixedFixes an issue where the
QuadPoints
of link annotations were saved to the PDF incorrectly. (#19427) - FixedFixes an issue where
-[PSPDFDocument+DataDetection objectsAtPDFRect:pageIndex:options:]
could return a nil annotations array. (#18846) - FixedFixes an issue where a page would sometimes fail to render when scrolling through a document quickly. (#18571)
- FixedFixes an issue where annotations created by Apple Preview may not be copied and pasted correctly. (#19154)
- FixedFixes an issue where border width and border dash array of free-text annotations were not serialized properly to Instant JSON. (#19481)
- FixedFixes an issue where entering text after a PDF document script has executed may not work correctly. (#19119)
- FixedFixes an issue where form field input may not be correctly validated while the user is typing if some form field flags are set. (#19448)
- FixedFixes an issue where link annotations may not work correctly after a document is exported. (#19222)
- FixedFixes an issue where malformed widget annotations weren’t correctly attached to the form. (#19581)
- FixedFixes an issue where opening a document with annotations written by a version of PSPDFKit prior to 8.0 could lead to a deadlock. (#19007)
- FixedFixes an issue where some JPX images may not render correctly. (#18648)
- FixedFixes an issue where some memory may be leaked after running a script. (#19016)
- FixedFixes an issue where stamps with custom AP streams were added with the wrong rotation on rotated PDF pages. (#19351)
- FixedFixes an issue where text edited in form fields was incorrectly set in other form fields as well. (#19236)
- FixedFixes an issue where the
fillColor
property was ignored in Instant JSON for polyline annotations. (#19443) - FixedFixes an issue with instant ink annotation not being sent to clients. (#19325)
- FixedFixes an issue with text markup alignment on accented characters. (#18214)
- FixedFixes some characters being missing from search preview. (#19361)
Instant
- ChangedDemotes an assertion about an unexpected state of the database to a recoverable error when applying changes from the server. (#18698)
- FixedFixes 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
- ChangedAll Swift examples have been updated to Swift 5. (#19405)
- AddedAdds a PSPDFKit Catalog example illustrating how to customize the tab title of a
PSPDFTabbedViewController
. (#19590) - AddedAdds a PSPDFKit Catalog example illustrating how to customize the table view cell for a
PSPDFSearchViewController
. (#19572) - AddedAdds an example in Swift to customize the buttons in the Annotation Toolbar. (#19232)
- FixedFixes an issue where the close button was not visible in Custom Sharing Options example. (#19345)
- FixedFixes an issue with the navigation bar’s appearance and visibility in the example catalog. (#19348)
8.2.3 21 Mar 2019
PSPDFKitUI
- FixedFixes an issue where
-[PSPDFTabbedViewControllerDelegate tabbedPDFController:didChangeVisibleDocument:]
was not getting called when closing the visible tab. (#19298) - FixedFixes an issue where tall form fields with auto-sizing fonts would behave incorrectly. (#19303)
- FixedFixes scrubber bar flickering when manipulating annotation properties. (#19200, #19210)
PSPDFKit
- ChangedUpdates 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) - FixedFixes an issue where the caps key may be incorrectly enabled on some form fields. (#19246)
- FixedFixes 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
- FixedFixes Swift language detection in the PSPDFKit Catalog on beta versions of Xcode. (#19095)
8.2.2 11 Mar 2019
PSPDFKitUI
- ChangedImproves behavior when trying to share invalid documents. (#19102)
- ChangedImproves the behavior for multiline form fields that have autosizing fonts. (#18999)
- ChangedImproves the behavior when interacting with form fields when the page is zoomed in. (#18417)
- ChangedReduces the number of registered undo actions when dragging an ink annotations, which might have caused main thread freezes previously. (#19169)
- FixedFixes an issue that prevented the
shouldHideUserInterfaceOnPageChange
flag from being correctly honored when using tap to scroll navigation. (#16362) - FixedFixes an issue where document metadata was ignored when sharing through
UIActivityViewController
. (#19056) - FixedFixes an issue where sound annotations could not be played back if they did not have a note attached to it. (#19038)
- FixedFixes an issue where the "Copy" option is shown for annotations that do not support copying. (#15854)
- FixedFixes an issue where undoing free text callout annotation changes did not work properly. (#18197)
PSPDFKit
- ChangedReduces the numbers of undo actions recorded when modifying the points of free text callout, line, polyline, and polygon annotations. (#18197)
- RemovedRemoves the
PSPDFFormElementFlag
enumeration, which was unused. The supported flags can be set through thereadOnly
,required
, andnoExport
properties onPSPDFFormField
. (#19101) - FixedFixes a potential crash when resolving additional downloadable fonts. (#18981)
- FixedFixes a rare deadlock when using undo/redo while a document is being deallocated. (#18977)
- FixedFixes an issue that could result in missing annotation note indicators for notes added in third party editors. (#19039)
- FixedFixes an issue where a form field with custom formatting may not be formatted correctly when its exported XFDF data is imported again. (#18791)
- FixedFixes an issue where annotation note indicators could be clipped when positioned on the edge of the annotation bounding box. (#19039)
- FixedFixes 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) - FixedFixes an issue where some JavaScript keystroke handling scripts may not work as intended. (#19070)
- FixedFixes an issue where the image of a push button may be displaced in some cases. (#18932)
- FixedFixes some issues where certain properties changed by a JavaScript script may not reflect correctly in the UI. (#18125)
- FixedFixes an issue where some layers were hidden incorrectly. (#14439)
8.2.1 18 Feb 2019
PSPDFKitUI
- ChangedImproves the internal annotation username state handling which caused issues when programmatically dismissing the annotation username alert. (#18905)
- ChangedImprove the logic to properly inset the annotation toolbar when the page grabber is used. (#18685)
- FixedFixes an issue that could result in blank pages after scrolling or device rotation. (#18848, #18682)
- FixedFixes 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)
- FixedFixes an issue where keyboard was not dismissed in favor of a form field popover. (#6523)
- FixedFixes the half modal drag indicator appearing above the font picker search field where it didn’t fit well. (#18881)
PSPDFKit
- ChangedImproves JavaScript error validation and error reporting. (#18899)
- ChangedAutomatically triggers a clearCache when the data directory is set. (#18898)
- FixedFixes an issue where
-[PSPDFDocument+DataDetection objectsAtPDFRect:pageIndex:options:]
could return a nil annotations array. (#18846) - FixedFixes 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(opens in a new tab). 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
- RemovedDeprecates
-[PSPDFDocumentEditorToolbarController toggleSaveActionSheet:presentationOptions:completionHandler:]
in favor of-[PSPDFDocumentEditorToolbarController toggleSavingConfirmationViewController:presentationOptions:completionHandler:]
. (#17589) - RemovedDeprecates
-[PSPDFDocumentSharingViewControllerDelegate documentSharingViewController:willShareFiles:]
and adds a new delegate method to set a custom filename for the generated files when sharing documents. (#18781) - RemovedDeprecates
PSPDFFlexibleToolbarContainerView.flickToCloseEnabled
which allowed to close the toolbar by flicking down on it while dragging. (#17893) - RemovedDeprecates
bookmarkString
onPSPDFBookmarkCell
, since the cell now displays multiple labels. (#10916) - AddedAdds additional bookmark UI features and improves the overall bookmark cell design. (#10916)
- AddedAdds a smoother and more delightful annotation inspector on iPhone that works as a proper sliding panel to better align with modern iOS design. (#17963)
- AddedAdds
shouldStartEditingBookmarkNameWhenAdding
onPSPDFBookmarkViewController
to disable the new behavior where an added bookmarks' name is automatically made editable. (#10916) - AddedAdds
-[PSPDFConfiguration redactionUsageHintEnabled]
to determine if the redaction usage hint should be shown the first time the redaction tool is selected. (#18437) - AddedAdds
textSelectionMenuItemForCreatingAnnotationWithType:
to get a text selection annotation creation menu item, to make it easier to customize the text selection menu. (#17635) - AddedAdds a new default annotation toolbar configuration, to make the toolbar show an appropriate amount of items, in more cases. (#17322)
- AddedAdds a subclassing hook for customizing the alert controller shown when the document editor is going to be dismissed. (#17589)
- AddedAdds view state restoration support for the document editor toolbar. (#18467)
- ChangedImproves automatic font size calculation for text widgets. (#18095)
- ChangedImproves 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)
- ChangedImproves conflict resolution handling while the view controller is not visible. (#18159)
- ChangedImproves memory usage when scrolling through pages quickly in a large document. (#18460)
- ChangedImproves the interaction for form fields that contain both the DoNotScroll and auto-sizing font flags. (#18254)
- ChangedImproves the way default page templates are handled on
PSPDFNewPageViewController
. (#18239) - ChangedChanges 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)
- ChangedChanges 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)
- ChangedImposes support for setting the flexible toolbar position via the
toolbarPosition
property. The set value is now prioritized over any preserved user state. (#18467) - ChangedPadding 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)
- ChangedThe minimum font size is now 4px, the maximum is 200px. (#18485)
- FixedFixes a potential assertion when a HUD toggle is scheduled but the view is removed during that time. (#18670)
- FixedFixes 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)
- FixedFixes 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 https://www.nutrient.io/blog/protecting-pdf-documents/. (#18495)
- FixedFixes an issue where a modally presented
PSPDFViewController
could be dismissed after tapping on an annotation from the annotations list. (#18643) - FixedFixes an issue where a warning was needlessly logged when the license did not include the Annotation Editing component. (#18448)
- FixedFixes an issue where backward and forward buttons were not updated correctly. (#18523)
- FixedFixes an issue where drawing in the signature UI was not following the touch location. (#18522)
- FixedFixes an issue where drawing or creating text markups didn't work when scrolling to the next or previous page after activating the tool. (#18715)
- FixedFixes 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) - FixedFixes an issue where highlighting text using markup annotations did not work reliably after changing page using the thumbnail scrubber bar. (#18613)
- FixedFixes an issue where image stamp annotations could be inserted in the wrong spread in double page mode. (#18654)
- FixedFixes an issue where merging markup annotations or converting a markup to a different type caused the bounding box to change unexpectedly. (#18092)
- FixedFixes an issue where selected text and annotations were shown on an external screen while screen mirroring, which caused some UI glitches. (#18570)
- FixedFixes an issue where the
UIMenuController
for selected annotations was not positioned correctly. (#18186) - FixedFixes an issue where the
delegate
ofPSPDFSignatureSelectorViewController
was overriden, when set before the view appeared. (#18431) - FixedFixes an issue where the annotation inspector popover was not positioned correctly if the annotation was partially off screen. (#18453)
- FixedFixes 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)
- FixedFixes an issue where the rect of newly added stamp annotations in double page mode was incorrect. (#18654)
- FixedFixes 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)
- FixedFixes an issue where unsaved ink annotations were rendered incorrectly after rotating the page. (#18230)
- FixedFixes customization of the subject when sharing documents via email using the system share sheet. (#18099)
- FixedFixes support for dynamic document editor toolbar button layouts by correctly invoking and honoring the
-[PSPDFDocumentEditorToolbar buttonsForWidth:]
subclassing hook. (#18669)
PSPDFKit
- APIChanges the return type of
-[PSPDFBookmarkManager addBookmarkForPageAtIndex:]
fromvoid
toPSPDFBookmark *
. (#10916) - RemovedDeprecates
PSPDFDocumentSaveOptionForceRewrite
in favor of newly addedPSPDFDocumentSaveOptionForceSaving
andPSPDFDocumentSaveOptionStrategy
. (#18142) - RemovedDeprecates
-[PSPDFDocument applyInstantJSONFromDataProvider:toDocumentProvider:error:]
in favor of a version that adds alenient
parameter, that controls the behavior when the JSON is (partially) invalid. (#18630) - AddedAdds
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) - AddedAdds
localizedActionType
toPSPDFAction
, and changes some of the strings returned fromlocalizedDescriptionWithDocumentProvider:
. (#10916) - AddedAdds support for cloudy borders in shape annotations and free text annotations via Instant JSON. (#18547)
- AddedAdds support for multi-threaded rendering. (#18199)
- AddedAdds support for stamp and free text annotation rotation in Instant JSON. (#18019)
- AddedAdds support for the doc.removeField JavaScript API. (#18621)
- ChangedImproves compatibility with 3rd-party SDKs that use Aspects to hook into message passing. (#18793)
- ChangedImproves handling of a document’s
documentProviders
being recreated, which happens when callingclearCache
and in low-memory situations. (Z#12006) - ChangedImproves 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) - ChangedImproves initial text parsing performance. (#18534)
- ChangedImproves performance when looking up fonts. (#17981)
- ChangedImproves the locking mechanism for password-protected documents so that calling
-[PSPDFViewController reloadData]
won't reload an explicitly-locked document. (#18561) - ChangedImproves the performance of documents which apply masks to text objects. (#15497)
- ChangedAllow the use of
-[PSPDFDocumentProvider setRotationOffset:forPageAtIndex:]
on providers with custom annotation providers like XFDF or PSPDFKit Instant. (#17603) - ChangedExposes
-[PSPDFAnnotation blendMode]
. See https://www.nutrient.io/guides/ios/annotations/annotation-blend-modes/. (#18410) - FixedFix an issue in full-text search that could cause a deadlock during indexing. (#18750)
- ChangedPadding for glyph frames is no longer applied in
PSPDFBoundingBoxFromGlyphs
andPSPDFRectsFromGlyphs
.PSPDFDefaultTextPaddingFactor
has been removed as well. (#18036) - ChangedThe
documentProvider
property onPSPDFAnnotation
is now readonly. (#18578) - ChangedUpdates the Botan library to version 2.9.0. (#18271)
- ChangedUse app name in JavaScript alerts. (#18529)
- FixedFixes a bug where annotations parsed from XFDF would be displayed incorrectly on a rotated page. (#17603)
- FixedFixes a problem importing/exporting color values. This could lead to unnecessary appearance stream regeneration. (#18428)
- FixedFixes a rare deadlock when using ink annotations from multiple threads. (#18674)
- FixedFixes an issue when opening a rotated Image Document. (#17791)
- FixedFixes 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) - FixedFixes an issue where rendering a page with lot of annotations on a large zoom scale would cause memory usage to spike. (#18224)
- FixedFixes an issue with Image Documents when images have an orientation. (#17791)
- FixedFixes an issue with Image Documents when saving back to an already rotated image. (#18483)
- FixedFixes an issue with accessing the document metadata after receiving a low memory warning. (#18769)
- FixedFixes an issue with render cancellation when using a document that contains multiple data providers. (#18563)
- FixedFixes delegates not being correctly called for
PSPDFDocumentEditorDelegate
for some editor actions. (#18531) - FixedFixes text markup annotations being created incorrectly on rotated pages with text that appears the right way up. (#18219, Z#11941)
Instant
- ChangedImproves the display of and interaction with image annotations that have not been loaded yet. (#17004)
- ChangedEnables support for creating and modifying stamp annotations. (#18773)
- ChangedHide Sharing action in
PSPDFInstantViewController
. Instant document cannot be shared. (V#1883) - FixedFixes an issue where stamp annotations would lead to a failed assertion. (#17911)
- FixedFixes an issue where underline annotations would not sync properly. (#18030)
Examples
- AddedAdds a PSPDFKit Catalog example illustrating how to disable bouncing for the document scroll and zoom views. (#18765)
- AddedAdds an example in Swift for using the Apple Maps widget in a PDF page. (#18067)
- ChangedUpdates Catalog example to better illustrate how to customize the file names of documents being shared. (#18574)
8.1.3 15 Jan 2019
PSPDFKitUI
- AddedAdds a new subclassing hook to
PSPDFDocumentSharingViewController
to customize the mail compose view controller when sharing to the Email destination. (#17955) - ChangedImproves change tracking to prevent
presentedItemDidChange
loops that could prevent saves with certain system file provider extensions. (#18409) - ChangedPublicly declares
PSPDFFlexibleToolbarContainerDelegate
conformance inPSPDFDocumentEditorViewController
. (#18451) - FixedFixes an issue in the Security/Permissions screen where the toolbar buttons changed prematurely. (#18261)
- FixedFixes an issue in the document editor where adding a new page after reordering pages would undo the reordering. (#18492)
- FixedFixes an issue that prevented tapping buttons on the document editor toolbar after long-pressing the thumbnail of a single page document. (#18181)
- FixedFixes an issue where the size of the generated image for sharing changed according to the scale of the device screen. (#18217)
- FixedFixes an issue where the swipe to delete action in the annotations list only worked for the first entry. (#18207)
- FixedFixes an issue where unsaved Free Text annotations did not render correctly after rotation of a page. (#18179)
- FixedFixes an issue that prevented the UI for sharing documents from being presented. (#18039)
- FixedFixes a potential exception when dismissing the document info popover. (#18215)
- FixedFixes an exception when calculating the tab bar index with a width of zero. (#18227)
PSPDFKit
- AddedAdds a unique identifier
uuid
toPSPDFAnnotation
. (#17635) - ChangedImproves error reporting when creating an image for a page of a document fails. (#18212)
- FixedFixes an issue when invalid Image Documents are read back. (#18110)
- FixedFixes an issue where the redaction of a monochrome image may change its color unexpectedly. (#18176)
- FixedFixes an issue with some documents using large amounts of memory when searching and navigating. (#18118)
8.1.2 20 Dec 2018
PSPDFKitUI
- AddedAdds
-[PSPDFDocumentSharingViewControllerDelegate documentSharingViewController:shouldShareFiles:toDestination:]
to be able to halt the sharing process in case you want to handle the generated files yourself. (#17957) - FixedFixes a rare exception when doing programmatic scrolling on iOS 10. (#18048)
- FixedFixes an assertion when the page view is about to be reused, but tries to finalize displaying the multimedia gallery. (#18060)
- FixedFixes an exception when trying to invoke share in the web view controller, when no URL is set. (#18026)
- FixedFixes an issue where
PSPDFDrawView
could not be subclassed and overridden. (#18157) - FixedFixes an issue where drawing strokes might have been offset when resizing the app or rotating the device. (#17320)
- FixedFixes an issue where drawings could be offset from the actual touch location on very tall or wide pages. (#17769)
- FixedFixes an issue where the values for
overlayText
andrepeatOverlayText
were not persisted in the Redaction Annotation Inspector. (#17694) - FixedFixes an issue where video preview generation could cause the main thread to stutter. (#17802)
- FixedFixes an issue with closing a tab via the close button and a keyboard shortcut at the same time. (#18104)
- FixedFixes an issue with image cropping when the image is invalid. (#18103)
PSPDFKit
- ChangedImproves file asset handling for invalid PDF documents. (#18102)
- ChangedImproves handling of invalid documents when enqueueing them in
PSPDFLibrary
. (#18106) - ChangedImproves handling of malformed documents when parsing the extended graphics state. (#18057)
- ChangedImproves the API documentation for
PSPDFUsernameHelper
andPSPDFDocument.defaultAnnotationUsername
. (#18031) - ChangedImproves thread handling and exiting when an app termination event is detected. (#18044)
- ChangedImprove app termination handling when background library indexing operations are in flight. (#18056)
- FixedFixes a crash parsing text on a very small number of documents. (#18032)
- FixedFixes an assertion that might be triggered on document deallocation when the undo controller hasn't been cleaned up yet. (#18062)
- FixedFixes an issue where
PSPDFLibrary
would return incorrect results when searching within documents that contained Unicode surrogate pairs (like Emoji) in their text. (#3292) - FixedFixes an issue where redacting certain kinds of vector graphics may incorrectly redact part of the background. (#18071)
- FixedFixes an issue where redacting certain kinds of vector graphics may result in a lot of memory consumption. (#18065)
- FixedFixes an issue where the JavaScript method Doc.print may not work correctly. (#18111)
- FixedFixes an issue where the signature overlay may show incorrect text in non-Western languages. (#17918)
- FixedFixes an issue with file change tracking that could trigger to multiple conflict resolution messages or a document reload loop. (#18090, #18133)
- FixedFixes some visualization issues with markup annotations, specially on rotated pages. (#12927, #13162, #17713, #17889, #18002, #18024)
8.1.1 7 Dec 2018
PSPDFKitUI
- AddedAdds support for unlocking an encrypted document when screen mirroring, as soon as the document is unlocked on the device. (#17990)
- ChangedMakes the draw gesture recognizer resilient against an unexpected number of touches. (#18005)
- FixedFixes a crash that could occur after deleting pages in the document editor. (#17987)
- FixedFixes a potential exception when restoring view state for the document editor, before it is loaded. (#17984)
- FixedFixes an exception that might occur when the document editor loads images in the background while the user removes pages from the document. (#17985)
- FixedFixes an incorrect license check assertion that could be triggered when transitioning between the document and thumbnail view modes. (#17994)
- FixedFixes an issue causing an infinite recursion when unlocking an encrypted document with screen mirroring enabled. (#17990)
PSPDFKit
- ChangedImproves strikeout annotation rendering, by making the line a little bit thicker and the baseline a little bit below the vertical center. (#17889)
- FixedFixes a rare exception when deallocating undoable objects in multiple threads. (#17983)
8.1.0 6 Dec 2018
See the announcement post(opens in a new tab).
PSPDFKitUI
- RemovedDeprecates the
PSPDFPageView
methodsconvertViewPointToPDFPoint:
,convertPDFPointToViewPoint:
,convertViewRectToPDFRect:
, andconvertPDFRectToViewRect:
in favor of the clearer and more versatilepdfCoordinateSpace
property. (#12053) - RemovedDeprecates
PSPDFAnnotationStateManager.drawingInputMode
. Set thestate
toPSPDFAnnotationStringEraser
instead. (#17458) - AddedAdds
-scrollsToPageAtIndex:document:animated
to thePSPDFViewModePresenter
protocol. (#15136) - AddedAdds
allowEditing
,rightActionButtonItems
,leftActionButtonItems
toPSPDFDocumentInfoViewController
andPSPDFDocumentSecurityViewController
to allow customizing the interface. (#16429) - AddedAdds
visiblePageIndexes
property toPSPDFViewModePresenter
. (#15136) - AddedAdds a Cancel button to discard changes in
PSPDFDocumentInfoViewController
andPSPDFDocumentSecurityViewController
. (#16790) - AddedAdds a
PSPDFConfiguration
option,shouldAdjustDocumentInsetsByIncludingHomeIndicatorSafeAreaInsets
, to enable the document view to ignore the home indicator when calculating safe area insets. (#17849) - AddedAdds a
pdfCoordinateSpace
property onPSPDFPageView
as the new preferred way to convert between PDF page and view coordinates. (#12053) - AddedAdds a default conflict resolution UI to
PSPDFViewController
,PSPDFMultiDocumentViewController
andPSPDFTabbedViewController
via a newPSPDFConflictResolutionManager
class. (#13367) - AddedAdds support for all three possible double-tap actions from the second-generation Apple Pencil (
UIPencilInteraction
). (#17458) - AddedAdds support for redacting more elements, like images, paths, annotations and forms. (#17002)
- AddedAdds the ability to share multiple pages of a document as images. (#17020)
- AddedAdds a
pencilInteraction
property andannotationStateManagerDidRequestShowingColorPalette:
delegate method onPSPDFAnnotationStateManager
to customize Apple Pencil double-tap actions. (#17458) - ChangedImproves 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) - ChangedImproves performance when scrolling in the thumbnail list, especially for complex documents. (#17337)
- ChangedImproves the Document Editor experience on iPhones. (#17613)
- ChangedImproves the descriptions for errors that happen when sharing documents. (#17774)
- ChangedImproves the experience on the Document Editor when reordering pages. (#17838)
- ChangedImproves the page selection experience when sharing multiple documents at once. (#17138)
- ChangedImproves the screen mirroring experience and now properly syncs the configuration between the original and the mirrored view controller. (#17484)
- ChangedImproves the sharing experience for documents that don't have annotations. (#17220)
- ChangedPrevents the annotation toolbar from being visible if the document is invalid after calling
-[PSPDFViewController reloadData]
. (#17624) - ChangedRemoving a page on
PSPDFDocumentEditorViewController
no longer briefly displays a random number as the page number. (#17727) - ChangedSwitching 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) - FixedFixes a potential exception when calculating collection view scroll offsets on iOS 10. (#17962)
- FixedFixes an issue when deleting pages in some documents on
PSPDFDocumentEditorViewController
. (#17762) - FixedFixes an issue when sharing PDF documents as images. (#17686)
- FixedFixes an issue when sharing single-page documents using certain sharing configurations. (#17705)
- FixedFixes an issue where text markup and redaction selection could mark up whole images. (#17360)
- FixedFixes an issue where the document info and security UI disabled editing for encrypted documents. (#17271)
- FixedFixes 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
- APIThe 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) - AddedAdds a custom tokenizer (
PSPDFLibraryUnicodeTokenizerName
) that performs full Unicode case folding on the input text. (#16219) - AddedAdds better support for annotations with custom appearance streams. (#15658)
- AddedAdds progress reporting and cancellation support to
PSPDFAnnotationSummarizer
. (#17749) - AddedAdds 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) - AddedAdds support for page bookmarks in compound documents. (#11008)
- ChangedImproves compatibility with forms on malformed PDFs. (#17707)
- ChangedImproves document features to reflect the current state of the document, by automatically updating them once an encrypted document has been unlocked. (#17271)
- ChangedImproves error handling when saving a document fails. (#17685)
- ChangedImproves performance on initializing a data provider. (#17897)
- ChangedImproves tracking of external file changes. (#17946)
- ChangedChanges the type of the keys of
PSPDFDocumentPDFMetadata
toPSPDFMetadataName
. (#16790) - ChangedLog 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) - RemovedRemoves zooming in on search results on iPads. (#17260)
- ChangedThe disk cache is now invalidated when a device locale change is detected. (#17919)
- ChangedThe 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) - FixedFixes a potential race condition when changing annotation properties from multiple threads at the same time. (#17690)
- FixedFixes a problem where some text in a PDF document may be redacted incorrectly. (#17699)
- FixedFixes an issue applying redactions on encrypted documents. (#17722)
- FixedFixes an issue looking up destinations in a names tree. This could lead to unresolvable link/outline destination. (#17206)
- FixedFixes an issue opening certain documents with invalid IRT fields. (#17797)
- FixedFixes an issue that may happen after copying a page using the document editor. (#17825)
- FixedFixes an issue when using
PSPDFAppearanceCharacteristics
without an image. (Z#11409) - FixedFixes an issue where XMP metadata was corrupted when saving password protected documents. This enables saving bookmarks into password protected documents. (#17238)
- FixedFixes an issue where changing the button caption property of a button from JavaScript code may not change the button appearance. (#17719)
- FixedFixes an issue where editing a form field in the middle may incorrectly move the cursor to the end. (#17926)
- FixedFixes an issue where keystroke range replacements were not caught by Javascript correctly. (#17106)
- FixedFixes an issue where some PDF documents may show an indefinite spinner and not render correctly. (#17446)
- FixedFixes an issue where the Javascript VM init sequence prevented errors from bubbling up to the user. (#17745)
- FixedFixes an issue where the overlay text of a redaction may not be in the correct place in some cases. (#17695)
- FixedFixes an issue where the wrong message is return when a certificate is expired. (#16727)
- FixedFixes an issue with importing/exporting vector stamps with InstantJSON. (#16690)
- FixedFixes issues when importing annotations on rotated pages using InstantJSON. (#17814)
Instant
- AddedAdds support for the Magic Ink tool. (#17362)
Examples
- AddedAdds a PSPDFKit Catalog example illustrating how to search and redact text. (#17755)
- AddedAdds a PSPDFKit Catalog example illustrating how to write and attach Instant JSON binary data. (#17778)
- AddedAdds 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
- ChangedImproves handling of annotations with invalid bounding boxes. (#17731)
- FixedFixes an issue with presenting annotation filtering progress during concurrent annotation edits. (#17730)
- FixedFixes an issue with the annotation toolbar and sub menus. (#17716)
PSPDFKit
- ChangedImproves error handling in the text parser for corrupted PDF documents. (#17735)
- ChangedImproves handling of embedded assets in annotations. (#17717)
- ChangedBackground library index tasks are now correctly stopped when an application will terminate event is sent. (#17733)
- ChangedImprove NSCoder error handling support for
PSPDFDataContainerProvider
. (#17734) - FixedFixes a potential issue when rendering images. (#17737)
- FixedFixes an issue where
PSPDFImageDocument
's data provider would reference invalid memory. (#17763) - FixedFixes an issue where text could not be selected in certain documents. (#17759)
- FixedFixes an issue where text for highlighted annotations sometimes didn't include newline character. (#17595)
- FixedFixes an occasional issue when rendering text. (#17747)
- FixedFixes the
PSPDFAnnotation
APIhasBinaryInstantJSONAttachment
andwriteBinaryInstantJSONAttachmentToDataSink:error:
returning incorrect values in certain situations. (Z#11192) - FixedFixes an issue where underline annotations may not work correctly on rotated pages. (#14252)
Instant
- FixedFixes an issue where attempting to sync an invalid document could lead to an assertion failure. (#17817)
- FixedFixes an issue where image attachments with a more specific MIME-type were rejected as invalid server data. (#17790)
- FixedFixes an issue where incomplete image transfers would lead to missing images and possibly a flood of sync requests. (#17788)
- FixedFixes 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
- ChangedImproves handling of cell layout when parent frame has a size of zero. (#17622)
- ChangedImproves text selection handle behavior in documents with vertical or rotated text. (#14252)
- FixedFixes an issue when switching the annotation tool while selecting text with a markup annotation tool. (#17623)
- FixedFixes an issue where undo could remove an annotation from a previous document. (#17620)
- FixedFixes an issue with selecting a polyline or polygon annotation with the finger, while currently being created with an Apple Pencil. (#17625)
PSPDFKit
- ChangedImproves text selection for documents with rotated pages. (#14252)
- FixedFixes a crash that may happen when trying to generate the appearance stream of a push button. (#17627)
- FixedFixes a potential issue when converting magic ink annotations. (#17618)
- FixedFixes a potential issue when rendering certain PDF documents with note annotations. (#17617)
- FixedFixes an issue in handling documents with partially invalid pages. (#17621)
- FixedFixes an issue with unexpected state when clearing the annotation selection for specific configurations. (#17619)
8.0.2 9 Nov 2018
PSPDFKitUI
- AddedAdds support for the new iPad Pros. (#17522)
- AddedAdds
allowEditing
,rightActionButtonItems
,leftActionButtonItems
toPSPDFBookmarkViewController
to allow customize the interface. (#16429) - ChangedImproves annotation deselection behavior when creating new annotations or navigating between pages. (V#1832)
- ChangedImproves annotations list styling while editing. (#17434)
- ChangedImproves customization options of
PSPDFDocumentInfoCoordinator
. (#16429) - FixedFixes an animation glitch with the toolbar in the document info and document security UI. (#17437)
- FixedFixes missing search on annotations list view controller. (#17482)
PSPDFKit
- AddedAdds support for
util.scand
, a JavaScript API that can be used from PDF documents to parse dates from strings. (#17480) - ChangedImproves performance while entering text using a non-latin font into form fields. (#17593)
- ChangedAdjust default values of
PSPDFLibrary
cooldown timer for iOS 12.0 and higher. (#17441) - ChangedChanges the format of the
InstantJSON
bookmark format. The id is now saved inpdfBookmarkId
andskippedBookmarkIds
has been renamed toskippedPdfBookmarkIds
. (#17400) - FixedFixed an issue where the wrong encoding was used for the
Symbol
font. (#17245) - FixedFixes a crash that could occur if an annotation is deleted while a checkpoint is being saved. (#17408)
- FixedFixes a crash that may happen when you add form fields with certain kinds of JavaScript scripts. (#17472)
- FixedFixes an issue where JavaScript dependent calculations may not be executed after a syntax error. (#17025)
- FixedFixes an issue where JavaScript form field validation erroneously used the previous value. (#16462)
- FixedFixes an issue where redacting content in some documents may show validation issues in third party readers. (#17486)
- FixedFixes an issue where rotating a page after adding a note annotation would crash without saving the document prior to rotation. (#17473)
- FixedFixes duplicate annotations when using
PSPDFXFDFAnnotationProvider
together withPSPDFFileAnnotationProvider
. (#17526) - FixedFixes an issue inserting Emoji, Arabic or East Asian text in form fields. (#17574)
Instant
- FixedFixes an issue where incoming changes in the middle of editing the text of a freetext annotation would lead to an assertion failure. (#17377)
Examples
- AddedAdds a PSPDFKit Catalog example illustrating how to convert HTML to PDF with Swift. (#17536)
- AddedAdds a PSPDFKit Catalog example illustrating how to programmatically create a push button form field with a custom image. (#17569)
- AddedAdds 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
- ChangedImproves presentation experience by changing pages without animation when external keyboard is used. (#17346)
- ChangedImproves scrolling performance for very complex documents when zoomed in. (#16655)
- ChangedChanges the fill color set for redaction annotation which now does not include the unsupported clear color option. (#17261)
- ChangedMagic 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) - FixedFixes a crash when using page curl transition and automatic page mode, during resizing the app in Split View. (#17323)
- FixedFixes a potential crash when having a filter selected in
PSPDFThumbnailViewController
. (#17325) - FixedFixes an issue where tapping on undo while drawing a polygon shape or line annotation lead to a crash. (#17296)
- FixedFixes an issue where the
PSPDFScrubberBar
displayed the wrong thumbnail if the document hadn't completed rendering and also when replacing the document. (#9387, #17135) - FixedFixes an issue where the page rendering indicator was not animated and positioned properly. (#8524)
- FixedFixes creation of overlapping markup annotations. (#17316)
- FixedFixes height of the search view controller to show all available results when possible. (#17254)
- FixedFixes height of the search view controller when no matches are found. (#17254)
PSPDFKit
- AddedAdds -[PSPDFNamedAction initWithNamedActionType:] as alternative initializer. (#17311)
- ChangedImproves a free text annotation compatibility with Adobe Acrobat and other PDF readers. (#15095)
- ChangedImproves support for
NSSecureCoding
inPSPDFDocument
. (#17273) - ChangedImprove magic ink's detection of lines and arrows. (#17339)
- FixedFixes an issue rendering certain documents with complex clip paths. (#16683, #17267)
Instant
- AddedAdds support for shape annotations. (#17239, #17263, Z#10922)
- FixedFixes a bug that deleted all local layers of a document instead of just the layer backing a document descriptor. (#17264)
- FixedFixes a deadlock that could occur when deleting a layer or all loaded data. (#17257)
- FixedFixes 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)
- FixedFixes 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(opens in a new tab).
This release features two new components - Redaction(opens in a new tab) and Comparison(opens in a new tab). If you would like to add either to your license, ping our sales team(opens in a new tab) 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(opens in a new tab).
- APIRemoves all deprecated API. For a full list with suggested migration paths, see the migration guide. (#16157)
PSPDFKitUI
- APIThe 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) - APIChanges 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) - APIRemoves incorrect usage of
UI_APPEARANCE_SELECTOR
onPSPDFLinkAnnotationView
and improves the documentation for that class. (#16689) - APIResolves incorrect type usage and improves type safety on
PSPDFConfiguration.propertiesForAnnotations
and related APIs, with the introduction of a new extensible enum -PSPDFAnnotationStyleKey
. (#16501) - APIRemoves
PSPDFScrubberBar.isSmallToolbar
since the scrubber bar can have multiple sizes now. OverridescrubberBarHeight
to change its size. (#16017) - APIRemoves
PSPDFFlexibleToolbarHeight
,PSPDFFlexibleToolbarHeightCompact
, andPSPDFFlexibleToolbarTopAttachedExtensionHeight
since the flexible toolbar can now have different sizes. (#16017) - APIRenames
PSPDFAnnotationStringRedact
toPSPDFAnnotationStringRedaction
, andPSPDFAnnotationTypeRedact
toPSPDFAnnotationTypeRedaction
. (#2127) - APIRenames
PSPDFBackButtonStyle
toPSPDFButtonStyle
. (#2127) - APIChanges
PSPDFDocumentPermissionsLevel
,PSPDFFormFieldType
, andPSPDFSubmitFormActionFormat
fromNS_OPTIONS
toNS_ENUM
. (#16863) - APIRenames
PSPDFSignatureBiometricPropertiesOptionPressue
toPSPDFSignatureBiometricPropertiesOptionPressure
. (#16863) - AddedAdds
PSPDFConfiguration.documentViewLayoutDirectionalLock
so that the scrolling direction can be locked on the document view. (#16687) - AddedAdds
magicInkReplacementThreshold
toPSPDFConfiguration
. Adjust this property to change the shape detection strictness. (#16839) - AddedAdds
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) - AddedAdds a new 'Spread Fitting' setting to
PSPDFSettingsViewController
. (#15724) - AddedAdds 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) - AddedAdds a new
ink_highlighter
image for use with the Highlighter variant of the Ink tool. (#16839) - AddedAdds a section separator to the settings UI. (#16261)
- AddedAdds accessibility labels to the note annotation style view. (#11808)
- AddedAdds support for creating redaction annotations from the annotation toolbar and from the text selection menu. (#2127)
- AddedAdds support for the
CMD-W
command to close a document tab onPSPDFTabbedViewController
. (#16088) - ChangedImproves how the document configuration applies to the visible document by avoiding unnecessary reload. (#16486)
- ChangedImproves state restoration after rotation on
PSPDFThumbnailViewController
. (#16973) - ChangedImproves support for Dynamic Type and self-sizing cells in table views. (#16024)
- ChangedImproves support for following readable width for various table views and cells. (#16013)
- ChangedImproves the playback experience of sound annotations while interacting with documents. (#16422)
- ChangedImproves the rendering support of push buttons. (#16507)
- ChangedImproves the undoing experience for items dropped into
PSPDFDocumentEditorViewController
from other applications via Drag and Drop. (#16048) - ChangedChanges how the presets cell title is displayed in the annotation inspector. (#16674)
- ChangedChanges the flexible toolbar width to 50 points on iPads on iOS 12, to match the system behavior. (#16017)
- ChangedImage Documents now offer smarter defaults for the settings controller. (#16135)
- ChangedIntroduces
PSPDFStyleButton
, that is used for the back/forward and redaction info button in the user interface view. (#2127) - ChangedPrevents the menu controller from being displayed when a markup annotation is created using a markup tool. (#16650)
- ChangedReadonly form fields are now tappable and execute actions/additionalActions. (#16865)
- ChangedShows an alert with a usage description the first time the redaction feature is used. (#2127)
- ChangedThe left/right edge tap navigation (
scrollOnTapPageEndEnabled
) now no longer applies in vertical scrolling configurations. (#16530) - ChangedThe 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) - FixedFixes a crash that could occur when quickly changing the document presentation options. (#16659)
- FixedFixes a logic issue that prevented the highlight annotation type menu from being displayed on some configurations. (#16884)
- FixedFixes a potential UI access on the main thread from
PSPDFDrawView
. (#16414) - FixedFixes a hang of the main thread when certain progress views were updated in an unforeseen manner. (#17147)
- FixedFixes an infinite loop when adjusting the document size after a device rotation. (#16579)
- FixedFixes an issue that could prevent the annotation toolbar from showing, if it was invoked when the user interface was hidden. (Z#10094)
- FixedFixes an issue that could result in an incorrect jump to page behavior in documents with varying page sizes viewed in continuous scrolling mode. (#16627)
- FixedFixes an issue where custom render options using
PSPDFAppearanceModeManager
were not applied whenPSPDFViewController
is initialized with a document. (#16728) - FixedFixes displayed page not updating when changing tabs in page curl mode. (#16788)
- FixedFixes an issue where drawn layers disappeared if the app is backgrounded. (#16795)
- FixedFixes an issue where hidden annotations could temporary become visible during erasing. (#16750)
- FixedFixes an issue where rotating the device while
PSPDFThumbnailViewController
was visible, could have resulted in thumbnails disappearing. (#15527, #16678) - FixedFixes an issue where section footers were sometimes sized incorrectly. (#16146)
- FixedFixes an issue where the close button would disappear when changing segment in the document outline after changing from regular to compact width. (#15910)
- FixedFixes an issue where the color change animation for note annotations on iOS 10 didn't sync properly. (#16752)
- FixedFixes an issue where the selected text overlay would be misplaced on rotation. (#17139)
- FixedFixes an issue where zooming to a page index might display that page partially off-screen when using continuous page transition. (#16967)
- FixedFixes an where deleting all annotations in list animated the cells to the top right corner. (#16696)
- FixedFixes changes to
PSPDFNoteAnnotationViewController
’sshowColorAndIconOptions
property not being applied immediately while the view is visible. (Z#10487) - FixedFixes page view size when tab bar is visible. (#16474)
- FixedFixes secure unarchiving of
PSPDFViewState
not working. (#16850)
PSPDFKit
- APIPSPDFKit 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) - APIInstant JSON binary attachment APIs now take and return a
mime-type
. (#16039) - APIRemoves
PSPDFPageInfo
’srect
,rotatedRect
, androtationTransform
. They have been replaced bysize
andtransform
. (#15890) - APISeparates
PSPDFPageInfo
’srotation
property intosavedRotation
androtationOffset
. (#15890) - APIRemoves the
externalSignatureDelegate
property ofPSPDFSigner
. Use thedelegate
property instead, as it's intended to be more flexible. (#15853) - APIRemoves 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) - APIChanges the parameters of the conversion functions between view and PDF coordinate spaces. (#15890)
- AddedAdds API support for resetting form fields to the
PSPDFFormParser
. (#16808) - AddedAdds API to
PSPDFProcessorConfiguration
to apply redaction annotations. (#2127) - AddedAdds Comparison features. Adds
changeStrokeColorOnPageAtIndex:toColor:
, andmergePageFromDocument:password:sourcePageIndex:destinationPageIndex:transform:blendMode:
toPSPDFProcessorConfiguration
. (#16396) - AddedAdds
PSPDFAdditionalFontDirectories
option to configure additional font directories. (#13991) - AddedAdds
PSPDFDocumentSaveOptionApplyRedactions
to apply redactions when saving the document. (#2127) - AddedAdds
PSPDFSignerDataSource
andPSPDFSignerDelegate
to be able to add digital signatures to documents asynchronously. (#15853) - AddedAdds
maximumContiguousIndexingTime
andautomaticPauseDuration
toPSPDFLibrary
to configure the automatic pause. (#17026) - AddedAdds
outlineColor
toPSPDFAnnotationStateManager
, andPSPDFAnnotationStyleKeyOutlineColor
as a new annotation style key, to allow setting the outline color of redaction annotations. (#2127) - AddedAdds 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) - AddedAdds a new render option,
PSPDFRenderOptionDrawRedactionsAsRedacted
, to draw redactions in their redacted state. (#2127) - AddedAdds model-level support for redaction annotations via the new
PSPDFRedactionAnnotation
class. (#2127) - AddedAdds the ability to compare document pages via
PSPDFProcessorConfiguration
. Requires the PDF Comparison feature to be enabled in your license. (#16396) - AddedAdds support for bookmarks to Instant Document JSON. (#16165)
- ChangedImproves the performance of documents with a lot of JavaScript calculations. (#11925, #16490)
- ChangedRenames
PSPDFMarkupAnnotation
toPSPDFTextMarkupAnnotation
, and itshighlightedString
property tomarkedUpString
. (#16652) - FixedFixes a bug where the reason or location of a digital signature may not be persisted in the document correctly. (#15853)
- FixedFixes a potential deadlock during document (re-)initialization. (#15005)
- FixedFixes a race condition that could result in an incorrect page count when using documentByAppendingDataProviders:. (#16994)
- FixedFixes a render rounding issue that may happen in PDF documents with a displaced cropbox. (#15169)
- FixedFixes an issue that caused problems saving new annotations in particular documents. (#16717)
- FixedFixes an issue when extracting link annotations. (#16854)
- FixedFixes an issue where JavaScript scripts that hold a strong local reference to event.target may not work correctly. (#16507)
- FixedFixes an issue where documents with a large number of form fields failed to display editing options. (#16911)
- FixedFixes an issue where form elements were not correctly updated. (#16408)
- FixedFixes an issue where importing images in push buttons via JavaScript may add an annotation in some cases. (#16751)
- FixedFixes an issue where not all form fields were listable immediately after opening a document. (#16479)
- FixedFixes an issue where some PDF pages could not be inserted as attachments for images. (#16729)
- FixedFixes an issue where some document outlines may not be persisted correctly after using the document processor. (#16688)
- FixedFixes an issue where some documents with JavaScript may be unresponsive for a great amount of time. (#16886)
- FixedFixes an issue where the blend mode of ink annotations may not be persisted correctly. (#16376)
- FixedFixes an issue where the system sound recorder could invoke messages on already deallocated delegates after recording a sound annotation. (#16743)
- FixedFixes an issue with JPEG2000 images. (#14850)
- FixedFixes an issue with document checkpointing after saving fails. (#16600)
- FixedFixes an issue with free text annotations reducing render quality after moving them around many times. (#16329)
- FixedFixes an locking issue that could result in a deadlock while saving document editor changes. (#16980)
- FixedFixes annotations created from Instant JSON being offset from their correct position in documents with non-uniform page sizes. (#16802, Z#10493)
- FixedFixes a performance problem with documents that contain large clipping paths. (#16481)
- FixedFixes a problem applying Instant Document JSON. (#16004)
- FixedFixes a problem rendering documents with particular fonts. (#16361)
- FixedFixes an issue where the selection indices may not be set correctly during JavaScript keystroke validation. (#17199)
Instant
- AddedAdds support for image annotations. (#11957)
- AddedAdds the ability edit link annotations in
PSPDFInstantViewController
viaeditableAnnotationTypes
. (#16665) - AddedAdd handling of
editableAnnotationTypes
inPSPDFInstantViewController
. (#16139, Z#9855)
Examples
- AddedAdds PSPDFKit Catalog example illustrating how to blur specific pages in a document. (#16702)
- AddedAdds a PSPDFKit Catalog example illustrating how to disable auto saving and ask for permission for saving the document while exiting. (#16456)
- AddedAdds an example showcasing how to enforce a fixed style for link annotations. (#16689)
- AddedAdds support for opening files in place to the Catalog example. (#16497)
- AddedAdds a PSPDFKit Catalog example showing show to replace
PSPDFNoteAnnotationViewController
with custom UI. (Z#10488) - ChangedChanges 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) - FixedFixes an issue where documents did not open properly in the "Open In" example. (#16616)
7.7.2 23 Aug 2018
PSPDFKitUI
- FixedFixes an issue where iOS 12 could throw an exception inside
-[UIAccessibilityInformationLoader _loadAccessibilityInformationOnMainThread:]
. (#16489) - FixedFixes an issue where a reused outline cell could have a custom text color set. (#16355)
- FixedFixes an issue where newly created annotations could have an incorrect fill color assigned in rare cases. (#16562)
Examples
- AddedAdds a PSPDFKit Catalog example illustrating how create free text annotations continuously. (#15825)
7.7.1 9 Aug 2018
PSPDFKitUI
- AddedAdds the selection tool to the default image configuration options. (#16109)
- AddedAdds a new
markupAnnotationMergeBehavior
configuration option. (#16425) - ChangedImproves form element behavior when the form field has scrolling disabled. (#13239)
- ChangedImproves top content inset calculations to cover more presentation scenarios. (#16020)
- ChangedEnsures text selection gestures are handled by a single page at a time. (#16374)
- ChangedForm submission actions that have a mailto URL now display the system mail composer with the form in the requested format attached. (#16072)
- ChangedTapping a search result that changes to a different page now offers a back action to return to the previous page. (#16343)
- FixedFixes
PSPDFDocumentSharingViewController.selectedOptions
not being respected if set before the view controller is presented. (#15832) - FixedFixes Drag and Drop support for
PSPDFDocumentEditorViewController
so that pages are always exported in the correct format if the destination application accepts PDF files. (#16230) - FixedFixes a crash in the inline search manager through better sanitization. (#16226, Z#9937)
- FixedFixes an issue that caused newly added annotations to flicker when switching between drawing tools. (#16128)
- FixedFixes an issue where
PSPDFFontPickerViewController
subclasses did not honor the passedfontFamilyDescriptors
completely. (#16306) - FixedFixes an issue where
selectedPages
was not reset inPSPDFDocumentEditorToolbarController
when setting a newdocumentEditor
and causedselectedPages
to be in an outdated state. (#16213) - FixedFixes an issue where markup annotations were incorrectly created when tapping on an empty space. (#16189)
- FixedFixes an issue where newly created annotations could be inserted into the wrong document when switching tabs. (#16166)
- FixedFixes 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)
- FixedFixes an issue with using the tab bar controller when the document editor component was not licensed. (#16331)
- FixedFixes search results sometimes not being highlighted on page when tapping on a search result that is not on the current page. (#15236)
PSPDFKit
- AddedAdds
-library:didFinishIndexingDocumentWithUID:success:
toPSPDFLibraryDataSource
. (#16185) - AddedAdds
-library:didRemoveDocumentWithUID:
toPSPDFLibraryDataSource
. (#16185) - AddedAdds
PSPDFRotatable
protocol that enables annotations to be rotated. (#16183) - ChangedAnnotations that are hidden or have the NoView flag set are no longer part of interactions. (#16344)
- ChangedClarify requirements for custom
UID
values onPSPDFDocument
. (Z#9936) - ChangedEnsures
PSPDFDocument.title
is updated when the document is unlocked. (V#1599) - ChangedEnsures that
PSPDFLibrary
stops indexing when the application is terminating. (#16212) - ChangedImage documents now correctly report that bookmarks are not supported. (#16138)
- FixedFixes an issue where an assertion is raised when adding an annotation while the underlying file for a
PSPDFDocument
is being changed. (#16276) - FixedFixes
PSPDFDocument.title
not being updated when the title is changed by an instance ofPSPDFDocumentPDFMetadata
. (#16193) - FixedFixes a crash that would occur when trying to edit a document after having duplicated pages. (#16360)
- FixedFixes a race condition during undo registration that could result in a bad memory access. (#16216)
- FixedFixes an issue where
PSPDFLibraryFileSystemDataSource
would remove previously indexed documents when adding a document in explicit mode. (#16185) - FixedFixes an issue where calling JavaScript function AFSpecial_Keystroke with certain arguments may cause an infinite loop in some devices. (#16126)
- FixedFixes an issue where form elements were not detected by
PSPDFDocument
(when usingPSPDFFileAnnotationProvider
). (#16161) - FixedFixes an issue where radio buttons could be unselected. (#16233)
- FixedFixes drawing annotations on rotated pages. (#16183)
- FixedFixes an issue when loading checkpoint files. (#16277)
Examples
- AddedAdds a PSPDFKit Catalog example illustrating how to disable bookmark editing. (#16416)
- AddedAdds 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(opens in a new tab).
PSPDFKitUI
- API
PSPDFTextMenu
is now an extensible enum string. This changes how Swift imports the strings. (#15789) - RemovedDeprecates
-[PSPDFViewControllerDelegate pdfViewControllerDidChangeControllerState:]
in favor of-[PSPDFViewControllerDelegate pdfViewController:didChangeControllerState:error:]
. (#9087) - RemovedDeprecates
-[PSPDFPageView showSignatureControllerAtRect:withTitle:options:animated:]
. UseshowSignatureControllerAtRect:signatureFormElement:options:animated:
instead. (#15788) - RemovedDeprecates
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) - RemovedDeprecates the filtering API on
PSPDFThumbnailViewController
in favor of a new, more flexible asynchronous API. (#14572) - RemovedDeprecates
showNoteControllerForAnnotation:showKeyboard:animated:
onPSPDFPageView
. UseshowNoteControllerForAnnotation:animated:
instead. (#15788) - AddedAdds Document Info view controller:
PSPDFDocumentInfoViewController
. (#12227) - AddedAdds Document Info view to the outline and annotation list. (#12227)
- AddedAdds Document Security view controller.
PSPDFDocumentSecurityViewController
. (#12227) - AddedAdds Safari Reading List, Copy and Share to the menu shown when long pressing on web links. (#13798)
- AddedAdds
PSPDFAnnotationCreateActionDidInsertNotification
andPSPDFAnnotationCreateActionInsertedAnnotationsKey
to get better timing for newly inserted annotations. (#15788) - AddedAdds
PSPDFDocumentSharingOptionImageWithMetadata
toPSPDFDocumentSharingOptions
, and adds it to the default sharing configurations. This only takes effect when sharingPSPDFImageDocument
s. (#15432) - AddedAdds
PSPDFSegmentImageProviding
protocol implemented by controllers used inPSPDFDocumentInfoCoordinator
, to provide image in place of title. (#13677) - AddedAdds a way to add multiple pages to a document using a specified configuration, via API and user interface. (#13937)
- AddedAdds support for the Info action on documents, which now displays the new document metadata view controller. (#15987)
- AddedAdds the ability to insert new pages at specific indexes with
PSPDFNewPageViewController
. (#13880) - AddedAdds the ability to cut and paste pages when editing a document. (#15754)
- ChangedImproves export flow for image documents. (#15432)
- ChangedImproves page curl to better adapt to documents that don't match device screen ratio. (#15786)
- ChangedImproves performance during drawing by avoiding unnecessary page re-rendering. (#16032)
- ChangedImprove performance when scrolling page content when zoomed in. (#16029)
- ChangedPages now use predictive rendering while scroll deceleration is active to improve render performance. (#15542)
- ChangedReplaces title texts with icons in the document info UI. (#13677)
- ChangedSolves flickering on the annotation list for PDF forms. (#14881)
- ChangedThe digital signature verification popover now uses a better sizing logic. (#15942)
- ChangedThe 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) - FixedFixes
PSPDFConfiguration.editableAnnotationTypes
not being respected for note annotations. (#15779) - FixedFixes a crash that occurred when rotating in page curl mode. (#15765)
- FixedFixes a crash when using custom page templates on
PSPDFNewPageViewController
. (#15857) - FixedFixes an issue where
PSPDFResizableViewDelegate
methods were not called for customPSPDFResizableView
subclasses. (#15762) - FixedFixes an issue where
PSPDFViewController
would not fully reload when appearing in some uncommon cases. (V#1309, V#1609) - FixedFixes 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) - FixedFixes an issue where annotations could be displayed mirrored or more than once after drawing. (#15770)
- FixedFixes an issue where changing
PSPDFConfiguration.isFirstPageAlwaysSingle
was not honored after being changed. (#15819) - FixedFixes an issue where newly added image annotations did not respond to touches. (#15667)
- FixedFixes an issue where using buttonImport on forms via JavaScript could break the default image annotation insertion feature. (#15731)
- FixedFixes misalignment of text in
PSPDFNewPageViewController
when presented as full screen. (#15471) - FixedFixes reference cycles in
PSPDFDownloadManager
andPSPDFGalleryViewController
. (#16018) - FixedFixes the "Open In" activity not working when sharing documents using
PSPDFDocumentSharingOptionImage
. (#16028) - FixedFixes 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
- APIAdds
isUnlockedWithFullAccess
property toPSPDFDocument
. (#12227) - APIImproves type safety of
PSPDFDocumentPDFMetadata
keyed subscript access. (#12227) - APIIntroduces 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) - RemovedDeprecates
PSPDFDiskCache
’sjpegCompression
in favor ofcompression
. (#14075) - RemovedDeprecates
PSPDFProcessorSkipPDFCreationKey
since it no longer does anything. (#15894) - RemovedDeprecates the rotation property on
PSPDFAnnotation
and adds the same property on the subclassesPSPDFFreeTextAnnotation
andPSPDFStampAnnotation
. (#15894) - AddedAdds
isEncryptedWithUserPassword
,isUnlockedWithFullAccess
,isUnlockedWithUserPassword
properties toPSPDFDocumentProvider
. (#12227) - AddedAdds
permissionsLevel
property toPSPDFDocumentProvider
to indicate access level of opened document. (#12227) - AddedAdds 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) - AddedAdds support for extracting and attaching binary Instant JSON attachments. (#15834)
- AddedAdds support for rendering borders and border colors in link annotations. (#15566)
- AddedAdds image attachments to Instant Document JSON. (#15748)
- ChangedImproves document password support and compatibility with third-party readers. (#15951)
- ChangedImproves the performance of the document searcher, specially in devices with low memory. (#15916)
- ChangedImproves hash call performance for lazily evaluated actions. (#13917)
- ChangedEnsures that the processor always encrypt documents using the 128-bit AES algorithm if the user didn't change the defaults. (#15946)
- RemovedRemoves 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) - FixedFixes
PSPDFFile.fileURL
returning an emptyNSURL
when initialized with anil
fileURL
. (#16120) - FixedFixes a crash that could occur after adding an annotation deserialized from Instant JSON. (#14815, Z#9340)
- FixedFixes a problem where a form field may not be automatically formatted in some cases. (#15567)
- FixedFixes a problem where entering text in some form fields with JavaScript validation may not be possible. (#15864)
- FixedFixes a problem where some XFA forms with JavaScript may show an alert message when the document is open. (#16000)
- FixedFixes a race condition that could lead to an assertion failure through improved locking. (#15548)
- FixedFixes a rare issue adding page references with the document editor. (#14705)
- FixedFixes an issue exporting document pages with a rare outline configuration. (#15923)
- FixedFixes an issue where a new digital signature could not be created in some documents. (#15683, #15702)
- FixedFixes an issue where bookmarks may not be saved correctly in certain documents. (#15826)
- FixedFixes an issue where rendering was being incorrectly canceled. (#15685)
- FixedFixes an issue where the library tokenizer was nil after creating the library with
+[PSPDFLibrary libraryWithPath:tokenizer:error:]
. (#15991) - FixedFixes memory leaks that occurred when using
PSPDFProcessor
. (#15767) - FixedFixes serialization and deserialization of the
PSPDFURLAction.unmodifiedURL
URL property. (#13990)
Instant
- AddedAdd support for notes on annotations that support them. (#15511)
7.6.2 28 Jun 2018
PSPDFKitUI
- FixedFixes
PSPDFConfiguration.editableAnnotationTypes
not being respected for note annotations. (#15779) - FixedFixes a crash that occurred when rotating in page curl mode. (#15765)
- FixedFixes an issue where newly added image annotations did not respond to touches. (#15667)
- FixedFixes an issue where using buttonImport on forms via JavaScript could break the default image annotation insertion feature. (#15731)
PSPDFKit
- FixedFixes a crash that could occur after adding an annotation deserialized from Instant JSON. (#14815, Z#9340)
- FixedFixes an issue where a new digital signature could not be created in some documents. (#15683, #15702)
7.6.1 14 Jun 2018
PSPDFKitUI
- FixedFixes an issue that could cause blank pages in per page and continuous page modes. (#15504)
- FixedFixes an issue with
PSPDFImagePickerController
whereallowedImageQualities
was ignored if the image editor was disabled. (#15599)
PSPDFKit
- ChangedImproves image document saving performance. (#15540)
- AddedAdds the ability to print image documents. (#15375)
- ChangedImage quality for JPEG now used in Image Documents. (#15499)
- ChangedValidation errors generated by JavaScript code are now localized in every language that is currently supported. (#14577)
- FixedFixes mistaken API rename for -[PSPDFDocument fileURLs]. (#15660)
- FixedFixes an issue with vector stamp annotations becoming grey when moving or resizing them. (#15345)
- FixedFixes an issue when closing documents with smart form tab orders. (#15580)
- FixedFixes an issue where a form field may be rendered more times than necessary. (#15528)
- FixedFixes an issue where annotation additional actions may not be preserved after a document is saved. (#2185)
- FixedFixes growing image document after save. (#15479)
7.6.0 30 May 2018
See the announcement post(opens in a new tab).
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(opens in a new tab) to help you with some of the API changes in this version.
PSPDFKitUI
- RemovedDeprecates
PSPDFDrawLayer
related public APIs onPSPDFDrawView
. (#14921) - AddedAdds
-pdfViewController:shouldSaveDocument:withOptions:
and-pdfViewController:didSaveDocument:error
toPSPDFViewControllerDelegate
. (#14910) - AddedAdds blend modes to the annotation inspector. The ink highlighter by default now uses a multiply blend mode for clear, black text. (#15080)
- AddedAdds customization options for
PSPDFNoteAnnotationViewController
. (#15305) - ChangedImproves comment author display in
PSPDFCommentCell
to accommodate longer author names. (#15065) - ChangedImproves layout of the buttons on
PSPDFSignatureViewController
by making them respect the safe area and dynamic type. (#15063) - ChangedImproves state restoration to restore and persist selected annotations. (#14935)
- ChangedImproves support for Dynamic Type, particularly for larger accessibility sizes. (#14788)
- ChangedImproves the layout of the stamps grid, to always look reasonably dense, while keeping the stamps big enough to read. (#13675)
- ChangedChanges the default state of the Store Signature checkbox to be disabled to not store the created signature without users explicitly checking it. (#15250)
- ChangedMakes selection experience more consistent across platforms. (#14729)
- ChangedMakes the custom stamp option in the stamps UI more apparent. (#1824)
- ChangedMoves 'Saved Annotations' to its own annotation toolbar item, as opposed to being a tab on the stamps UI. (#1824)
- ChangedSetting the
doNotScroll
property on a form text field now works correctly. (#14926) - ChangedSharing 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) - ChangedThe
userInterfaceViewMode
setting now defaults to.automaticNoFirstLastPage
. (#15077) - ChangedThe 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) - ChangedThe 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) - FixedFixes
-[PSPDFConfiguration shadowOpacity]
not being honored for configurations where the page transition was set toPSPDFPageTransitionScrollPerSpread
. (#15369) - FixedFixes a crash in that could occur when selecting text if the initial selection did not contain any valid characters. (#15445)
- FixedFixes a document's table of contents' colors not being shown correctly. (#15295)
- FixedFixes a rare issue that could lead to a crash in
PSPDFResizableView
layout when rotating rapidly. (#15410) - FixedFixes an issue where comments would not scroll out from underneath the keyboard or toolbar on iOS 10 in
PSPDFNoteAnnotationViewController
. (#15415) - FixedFixes an issue where drawing a signature area was not possible when digitally signing a document via the
PSPDFPageView
signature API. (#14765) - FixedFixes an issue where embedded videos with autoplay enabled would start playing before their page was visible. (#14662)
- FixedFixes an issue where the font size for a form element was calculated wrong. (#15274)
- FixedFixes an issue where the printing UI wouldn't prevent interactions with the rest of the application, breaking the printing flow. (#10480)
- FixedFixes issues with pages not being displayed in page curl mode. (#15280)
- FixedFixes layout of saved annotations and stamps UI on iPhone X. (#1824)
- FixedFixes text alignment for text field cells. (#15304)
- FixedFixes the text insertion point not always staying in the visible area while writing comments on annotations. (#14201)
PSPDFKit
- ChangedThe minimum deployment target is now iOS 10. Support for iOS 9 has been removed. (#14398)
- APIThe configuration builder blocks in
PSPDFBaseConfiguration
are now noescape for better Swift compatibility. (#15077) - APIThe 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) - RemovedDeprecates
PSPDFFileAnnotation
’sappearanceName
in favor oficonName
. (#15319) - RemovedDeprecates class-level methods on
PSPDFProcessor
and introduces new new instance-based API that allows for cancellation. (#10480) - AddedAdds the ability to keep annotations on
PSPDFImageDocument
s editable even after saving. Requires the Image Documents feature to be enabled in your license. See https://www.nutrient.io/blog/image-documents/ for more information. (#14894) - AddedAdds an external file source option when adding new pages to a document with the document editor. (V##248)
- AddedAdds blend modes to Annotations. This improves rendering for appearance steams with different blend modes. (#15080)
- AddedAdds the ability to define arbitrary patterns for new pages when editing a document. (#14951)
- AddedAdds the ability to embed files to
PSPDFFileAnnotation
using-[PSPDFEmbeddedFile initWithFileURL:fileDescription:]
. See the newAddFileAnnotationProgrammaticallyExample
andAddFileAnnotationWithEmbeddedFile
in PSPDFKit Catalog. (#15210) - ChangedImproves JavaScript support, including form formatting, calculation, and validation. (#9501)
- ChangedImproves XFDF output by omiting
opacity
if set to the default (1.0). (#15354) - ChangedImproves 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)
- AddedAdds annotation
name
to Instant JSON. Also renamedpspdfkit/file
name
tofilename
to prevent collisions. (#14856) - AddedAdds better detection for standard stamp subjects for Instant JSON. (#14919)
- ChangedCancelling a
PSPDFRenderTask
now reduces further CPU usage more effectively. (#14218) - Changed
PSPDFPageRenderer
is now deprecated and will be removed in a later update. (#15189) - FixedFixes a crash which occurred when manually searching a protected document. (#15177)
- FixedFixes a potential deadlock situation during document cache invalidation. (#15259)
- FixedFixes an issue where glyph frames were larger than expected due to unexpected values in their fonts. (#14169)
- FixedFixes an issue where newly created note annotations would require two taps for deselection. (#15221)
- FixedFixes security vulnerability CVE-2018-9127 in Botan, where wildcard certificates could be accepted for invalid hostnames. (#15374)
- FixedFixes an issue where some action destinations may not work properly. (#14901)
- FixedFixes a problem where editing some numeric form fields didn't show a completely numeric keyboard. (#15484)
Instant
- AddedAdds support for Instant Layers: https://www.nutrient.io/blog/instant-layers/ (#13834)
- AddedAdds support for exporting and importing stamp annotations with images for Instant JSON. (#15296)
- ChangedImproves error reporting regarding invalid JWTs. (Z#8755)
- RemovedDeprecates all methods in
PSPDFInstantClientDelegate
in favor of renamed methods to improve API clarity and consistency. (#13834, #15464) - RemovedDeprecates
PSPDFInstantDocumentDescriptor
’supdateAuthenticationToken:
anddownloadDocumentUsingAuthenticationToken:error:
in favor of the more specificreauthenticateWithJWT:
anddownloadUsingJWT:error:
. (#13834) - RemovedDeprecates the notifications
PSPDFInstantDidUpdateAuthenticationTokenNotification
,PSPDFInstantDidFailUpdatingAuthenticationTokenNotification
, and relatedPSPDFInstantAuthenticationTokenKey
in favor of the notificationsPSPDFInstantDidReauthenticateNotification
,PSPDFInstantDidFailReauthenticationNotification
, and the relatedPSPDFInstantJWTKey
. (#13834)
Examples
- AddedAdds a PSPDFKit Catalog example illustrating how to use a custom bookmark provider. (#15105)
- ChangedImproves 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
- FixedFixes an issue where selection would work incorrectly if a page was cropped or rotated. (#15042)
- FixedFixes the spread zoom not always being reset when scrolling back to a spread in the
.scrollPerSpread
pageMode
. (#14825)
PSPDFKit
- FixedFixes an issue where glyph frames were incorrectly calculated when the page matrix is not identity. (#13668)
7.5.1 25 Apr 2018
PSPDFKitUI
- AddedAdds 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) - FixedFixes an issue where a crash could occur if
PSPDFNoteAnnotationViewController
changed size while it was presenting an action sheet. (#14742) - FixedFixes a keyboard avoidance offset issue during interactive keyboard dismissal. (Z#8690)
- FixedFixes document pages not being selected when the thumbnail was tapped on the bottom half. (#14764)
PSPDFKit
- ChangedImproves compatibility of note annotations with certain 3rd-party viewers such as Apple Preview. (#14953)
- ChangedImproves performance when annotations are loaded. (#14983)
- ChangedImproves the logic when note icon indicators should be rendered. (#14961)
- ChangedSaving image documents now keeps any additional extended attributes. (#14905)
- FixedFixes a problem where the text in unsigned form field overlays may be cut off. (#14922)
- FixedFixes an issue where images could be encoded in the PDF without optimization. (#14916)
- FixedFixes an issue where recording couldn’t be started for an existing sound annotation. (#15010)
7.5.0 11 Apr 2018
PSPDFKitUI
- APIAdds a
textView
parameter to-[PSPDFNoteAnnotationViewController updateTextView]
. Customize the object passed toupdateTextView:
instead of using thetextView
property. (#5721) - APIGroups
PSPDFKitThumbnailViewFilter*
constants as extensible string enum. (#14571) - APIRemoves the
tapGesture
property onPSPDFNoteAnnotationViewController
and the class no longer conforms toUIGestureRecognizerDelegate
. (#5721) - API
PSPDFPageView
is no longer guaranteed to conform toPSPDFNoteAnnotationViewControllerDelegate
. (#5721) - RemovedDeprecates
PSPDFNoteAnnotationViewController
’sallowEditing
,beginEditing
,showCopyButton
,deleteAnnotationActionTitle
,deleteAnnotation:
,deleteOrClearAnnotationWithoutConfirmation
,textView
, andborderColor
. (#5721) - RemovedDeprecates
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) - AddedAdds 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) - AddedAdds document type attribute to document load analytics event. (#14732)
- AddedAdds showing and adding annotation replies in
PSPDFNoteAnnotationViewController
. Replies will no longer be shown on the page. (#5721) - AddedAdds support for
-[PSPDFConfiguration scrollOnTapPageEndEnabled]
in page curl layouts. (#13302) - ChangedImproves
PSPDFPageModeAutomatic
behavior in connection withPSPDFPageTransitionScrollContinuous
. This now always prefers single pages to take better use of the available screen real estate. (#14822) - ChangedImproves the layout of the search view controller on devices with bottom safe area insets. (#12969)
- ChangedImproves type safety by removing the
__kindof
type annotation from-[PSPDFDrawView annotations]
,-[PSPDFPageView passthroughViewsForPopoverController]
, and-[PSPDFPageView selectedAnnotations]
. This only affects Objective-C. (#14490) - ChangedChanging page by tapping on page edges is now disabled by default. To enable this, change
PSPDFConfiguration.scrollOnTapPageEndEnabled
toYES
. (#14418) - ChangedEnsures that
PSPDFAnalyticsEventNameAnnotationCreationModeExit
is always logged. (#14839) - ChangedEnsures that the optional analytics provider tracks log deletion for all cases. (#14817)
- RemovedRemoves 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) - FixedFixes an issue that could result in a crash when the size class changes while in a page curl layout. (#14555)
- FixedFixes an issue that makes the page curl left or right align pages even though it is in single page mode. (#14555)
- FixedFixes an issue that triggered a page change animation in page curl in some cases even though the page was already visible. (#14528)
- FixedFixes an issue where
PSPDFPageView
would display a wrong page in rare occasions. (#14442) - FixedFixes an issue where annotations with the Invisible, Hidden, or NoView flags set could be tappable. (#14772)
- FixedFixes an issue where pages were not animating into place when showing or hiding the inspector. (#13627)
- FixedFixes 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) - FixedFixes annotations shown as overlays (notes) not respecting the Invisible, Hidden, and NoView flags. (#5721)
PSPDFKit
- APIRenames
PSPDFSignatureHashAlgorithmSHA386
toPSPDFSignatureHashAlgorithmSHA384
which is actually the correct name. (#13932) - API
tryLoadAnnotationsFromFileWithError:
has been removed fromPSPDFFileAnnotationProvider
. UseloadAnnotationsWithError:
instead to customize annotation loading. (#14570) - APIAdds
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) - RemovedDeprecates
PSPDFAnnotationOptionUserCreatedKey
. (#14669) - RemovedDeprecates
PSPDFTextBlock.glyphs
,PSPDFWord.glyphs
, andPSPDFSelectionState.selectedGlyphs
in favor ofNSRange
-based APIs. (#14606) - AddedAdds
createdAt
,updatedAt
andcreatorName
to Instant JSON. (#14443) - AddedAdds
isReply
andinReplyToAnnotation
properties onPSPDFAnnotation
. (#5721) - AddedAdds properties for author-specific state on
PSPDFNoteAnnotation
. (#5721) - ChangedImproves cleaning up resources in
PSPDFDocument
'sdealloc
. (#14586) - ChangedImproves performance when examining document permission features. (#14747)
- ChangedImproves text selection performance in documents with a lot of text. (#14516)
- ChangedFilters out invalid characters from a page's text. (#14516)
- ChangedPerformance improvements for documents with many data sources. (#14651)
- ChangedRemoving an annotation with
removeAnnotations:options:
onPSPDFAnnotationManager
orPSPDFDocument
now also removes replies to that annotation. (#14385) - ChangedThe 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) - FixedFixes a crash that could happen during application termination. (#14483)
- FixedFixes a lock inversion when setting up the document providers. (#14525)
- FixedFixes a potential crash when saving a document. (#14082)
- FixedFixes a potential issue when removing annotations. (#14381)
- FixedFixes an issue that prevented correct caching of rendered pages. (#14390)
- FixedFixes an issue where
-[PSPDFTextParser textWithGlyphs:]
would exclude the last glyph. (#14636) - FixedFixes an issue where a flattened document shows a blank page in Preview. (#13708)
- FixedFixes an issue where action destinations would not be found if sorted incorrectly. (#14412)
- FixedFixes an issue where document checkpoints were not loaded for decoded document instances. (#14624)
- FixedFixes an issue where image data wasn't properly removed after rewriting the PDF. (#14708)
- FixedFixes an issue where searching for text in a document would return results with empty text blocks. (#14516)
- FixedFixes an issue where some
PSPDFDocumentSecurityOptions
initializers would sometimes return nil. (#14646) - FixedFixes an issue where the documents
features
sometimes returned an incorrect value when called right after creating aPSPDFDocument
. (#14574) - FixedFixes an issue where using a custom bookmark provider with readonly documents disabled adding and editing bookmarks. (#14574)
- FixedFixes animated GIF images support in the gallery. (#13897)
- FixedFixes document corruption issue when document has a header and is incrementally saved. (#14249)
- FixedFixes pages not being centered when zooming is disabled in landscape. (#14091)
Instant
- ChangedImproves type safety by removing the
__kindof
type annotation from-[PSPDFInstantDocumentDescriptor annotationWithIdentifier:forDocument:error:]
. This only affects Objective-C. (#14490)
Examples
- AddedAdds PSPDFKit Catalog example illustrating how to rotate pages in 90 degree steps. (#14445)
- AddedAdds a PSPDFKit Catalog example illustrating how to add a custom filter by subclassing
PSPDFThumbnailViewController
. (#14380) - FixedFixes Catalog "XFDF Annotation Provider, Encrypted" example. (#13912)
- FixedFixes an issue where the Document Editor icon was not visible in
NewPageFromDocumentExample.swift
andProgrammaticDocumentEditingExample.swift
. (#14641)
7.4.1 19 Mar 2018
PSPDFKitUI
- FixedFixes an issue where enabling link annotation editing would not work. (#14477)
- FixedFixes an issue where pages had a gap between them in page curl layout. (#13329)
PSPDFKit
- AddedAdds
PSPDFAESCryptoDataSink
. (#13912) - FixedFixes 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) - FixedFixes a document corruption bug when the document has a header and is incrementally saved. (#14249)
- FixedFixes Catalog "XFDF Annotation Provider, Encrypted" example. (#13912)
- FixedFixes an animation glitch when rearrange pages with the document editor. (#14367)
- FixedFixes an issue where
PSPDFTextParser.glyphs
could be incorrect for certain documents. (#10844) - FixedFixes an issue where dropdown arrow on combo boxes are not seen when box has a small width. (#14326)
- FixedFixes an issue where dropdown arrows are still seen on combo boxes when document is flattened. (#9539)
- FixedFixes issue where
pdfId
was required when importing a Instant JSON document. (#14494) - FixedFixes potential deadlocks during annotation rendering. (#14534)
- FixedFixes an issue where opening large documents with marked content used very large amounts of memory. (#14415)
- FixedFixes potential deadlocks when opening a lot of documents. (#14503)
- FixedFixes 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(opens in a new tab).
PSPDFKitUI
- APIReplaces
firstLineRect
,lastLineRect
, andinnerRect
properties ofPSPDFTextSelectionView
withrectForFirstBlock
,rectForLastBlock
, andselectionRects
. (#9677) - AddedAdds a PSPDFKit Catalog example illustrating how to create a form programmatically. (#14215)
- AddedAdds a PSPDFKit Catalog example illustrating how to use the Instant JSON Annotation and Document APIs. (#14087)
- AddedAdds an overlay message shown when digitally signing a document without a form field. (#13583)
- AddedAdds support for selecting vertical text. (#322)
- ChangedImproves compatibility with the React Native view component. (#14222)
- ChangedImproves performance by only creating the text selection view's text parser when required. (#14291)
- ChangedImproves performance when sharing file-based documents via the Open In activity. (#14011)
- ChangedImproves visualization of thumbnails, especially when filtering for bookmarked or annotated pages. (#12512)
- ChangedImproves text selection using
PSPDFTextSelectionView
by selecting text in distinct blocks. (#322, #9677) - ChangedImproves performance when editing free text annotations. (#13971)
- ChangedImproves scrolling and zooming performance. (#13971)
- ChangedChanges the inspector to use the annotation type as the title instead of Style. (#14057)
- ChangedTapping to select an annotation in multi-select mode now works again. (#11432)
- FixedFixes a crash that happened when adding stamp annotations with 3rd party stylus support enabled. (#14086)
- FixedFixes an issue where annotation notes were not editable on iPhone with iOS 9. (#14323)
- FixedFixes an issue where bookmarks could be created but not saved into a document. (#9107)
- FixedFixes an issue where content insets were not respected in searchable choice form elements while searching. (#13987)
- FixedFixes 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) - APICertain types in Swift have been renamed to improve interoperability. (#10491)
- API
PSPDFDocumentSecurityOptions
initializers may return error instead of assert. (#10491) - RemovedDeprecates
encryptionAlgorithm
inPSPDFPrivateKey
, in favor ofsignatureEncryptionAlgorithm
, which is enum-typed. (#13940) - AddedAdds
PSPDFDocumentFeatures
as a central place for checking the availability of various features. (#9107) - AddedAdds a PSPDFKit Catalog example illustrating how to generate a PDF document on a mobile device without any server use. (#13776)
- AddedAdds a new protocol, PSPDFExternalSignature, that can be used to provide a digital signature for a document externally. (#13940)
- AddedAdds an example
UpdateConfigurationWhenRotatingExample.swift
for changing the configuration when rotating the device. (#13820) - AddedAdds support for automatic access tracking for security scoped URLs. (#13863)
- AddedAdds the
shouldTrackDeletions
class property toPSPDFContainerAnnotationProvider
to customize the effect ofremoveAnnotations:options:
ondirtyAnnotations
. SeePSPDFContainerAnnotationProvider.h
for more information. (#8839) - ChangedAdjusts the gap between two pages in continuous scroll mode. (#13877)
- ChangedChanges the localized description of empty note annotations from Text to Note (localized). (#14057)
- ChangedImprove error messages when digitally signing a document failed. (#13741)
- ChangedShows an error message when digitally signing failed instead of throwing an exception in some cases. (#13741)
- ChangedPSPDFTextParser now respects reading order of text blocks defined in the PDF using Marked Content. (#9677, #322)
- FixedFixes FTS5 search on SQLite versions >= 3.20.0. (#14036)
- FixedFixes a deadlock when calling
removeAllAnnotationsWithOptions:
on an instance ofPSPDFContainerViewController
or a subclass and clarifies locking requirements. (#14178) - FixedFixes an assertion when a non-specified named action was deserialized via Instant JSON. (#13804)
- FixedFixes an issue saving a document with invalid PDF syntax (empty dictionary key). (#14009)
- FixedFixes an issue where
-[PSPDFAnnotation annotationFromInstantJSON:documentProvider:error:]
attached the annotation to the document. (#14140) - FixedFixes an issue where some annotations in a custom annotation provider were not rendered properly. (#12762)
- FixedFixes an issue where some form fields with custom FQNs may not be signed correctly. (#14309)
- FixedFixes an issue where the hash of two equal PSPDFAnnotation objects could be different. (#13852)
- FixedFixes an issue where the wrong font was selected. (#14027)
- FixedFixes crashes on document unload when FormTabOrderCalculator is being processed. (#13976)
- FixedFixes issue with text selection in certain cases. (#13803)
- FixedFixes potential crash when saving files with irregular outlines. (#14116)
- FixedFixes the issue where
PSPDFDocument.hasDirtyAnnotations
would returnNO
after removing an annotation from a custom annotation provider. (#8839, Z#5114)
Instant
- AddedAdds
PSPDFInstantErrorInvalidURL
and stricter validation of the server URL to PSPDFInstantClient’s initializer. (#14158) - ChangedImproves recovery from network failures during sync by monitoring reachability of the Instant server. (#11901, Z#7385)
7.3.1 26 Jan 2018
PSPDFKitUI
- AddedAdds the ability to undo clear actions while editing free text annotations. (#13828)
- ChangedImproves touch handling for the scrollable thumbnail bar mode for documents with only a few pages. (#13861)
- FixedFixes a crash that occur if shake to undo is invoked during free text editing. (#13829)
- FixedFixes an issue where presented annotations toolbar was not updated after changing controller's
PSPDFConfiguration
. (#13858) - FixedFixes 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)
- FixedFixes an issue where the displayed page labels were incorrect when switching layouts right after initialization. (#13824)
- FixedFixes an issue which switching to the correct page when rotating from a double to a single page mode. (#13887)
- FixedFixes an issue with restoring the view state when rotating while in a page curl layout. (#13823)
- FixedFixes 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)
- FixedFixes the last stroke drawn in an ink annotation with opacity below 100% appearing too dark until the annotation is deselected. (#13895)
- FixedFixes
overrideClass:withClass:
in the configuration not working withPSPDFPageView
. (#13881) - RemovedRemoves the
PSCUpdateConfigurationWithoutReloadingExample
example, which was using outdated API. (#13801)
PSPDFKit
- AddedAdds a
allowedPathExtensions
property toPSPDFLibraryFileSystemDataSource
to configure the types of files it returns for indexing. (#13967) - FixedFixes an issue where checkbox values were not updated correctly. (#13843)
- FixedFixes an issue where digitally signing a document multiple times may invalidate previous signatures. (#13582)
Instant
- ChangedImproves the Instant Catalog example to support 7 letter codes. (#13858)
7.3.0 12 Jan 2018
See the announcement post(opens in a new tab).
PSPDFKitUI
- APIIntroduces
-[PSPDFDocumentEditorDelegate documentEditorRequestsFullReload:]
, which requests a full document editor UI reload. (#13168) - APIReplaces policy event strings on
PSPDFApplicationPolicy
with an extensible enum. (#13722) - APIAdds
+[PSPDFImagePickerController availableImagePickerSourceTypes]
to allow specifying the source types of aPSPDFImagePickerController
subclass. SeeCustomImagePickerControllerExample
in PSPDFKit Catalog for details. (#13724) - AddedAdds a PSPDFKit Catalog example illustrating how to go to a specific outline programmatically. (#13166)
- AddedAdds a PSPDFKit Catalog example illustrating how to customize page labels. (#13343)
- AddedAdds a PSPDFKit Catalog example of how to monitor for touch events. (#13706)
- AddedAdds a new
signatureIntegrityStatus
toPSPDFSignatureStatus
, which shows if the document has been modified in a way that has broken a digital signature. (#13570) - AddedAdds a
PSPDFConfiguration
preset for easy configuration of PDF controllers showing image documents. (#13538) - ChangedImproves detection of the page focused by the user when rotating. (#12558)
- ChangedImproves 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)
- ChangedImproves the
PSPDFDocumentPickerController
documentation. (#8417) - ChangedImproves support for document editing inside the tabbed view controller. (#13168)
- ChangedImproves performance of the annotation list view controller. (#13546)
- ChangedImproves saving when the application is backgrounded or terminated. (#13586)
- ChangedImproves support when embedding multiple
PSPDFViewController
instances into aUIPageViewController
instance. (#13702) - ChangedImproves text markup selection behavior when starting a selection outside of text and moving over text afterwards. (#11937)
- ChangedImproves 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)
- ChangedImproves the accuracy of the information about the digital signature validation process by demoting some non-critical errors to warnings. (#13570)
- ChangedImproves the page grabber layout in various configurations. (#13465)
- ChangedImproves the annotation toolbar layout when using the page grabber or a vertical scrubber bar. (#13465)
- ChangedImproves the sound annotation player layout when using a vertical scrubber bar on iPhone X. (#13465)
- ChangedImproves language detection for text to speech. (#8939)
- ChangedHide the annotation section in
PSPDFDocumentSharingViewController
for documents which do not have annotations. (#13179) - ChangedThe
showsScrollIndicator
properties onPSPDFDocumentView
andPSPDFDocumentViewController
now default toNO
in scroll per spread mode. (#13506) - FixedFixes an issue where the scrubber bar was unable to switch to the first or last page in some documents. (#13258)
- FixedFixes an issue where an assert could be triggered when replacing a file while it is being displayed. (#13362)
- FixedFixes an issue with the page view label formatter where the custom formatter was not used. (#13343)
- FixedFixes an issue where rotating from double to single page spreads leads to the wrong page when editing a note annotation. (#9524)
- FixedFixes an issue with transparent background on list of open documents. (V#1345)
- FixedFixes an issue where draw annotation tools were not properly reselected after changing layouts or rotating the device. (#12907)
- FixedFixes an issue where read-only signed digital signatures may not be tappable. (#13573)
- FixedFixes unnecessary document saves triggered by loading certain annotation types. (#13734)
- FixedFixes an issue where embedded file preview was missing the close button when
useParentNavigationBar
was set toYES
. (#13699) - FixedFixes a potential crash which could occur when setting a custom
PSPDFApplicationPolicy
in+[PSPDFKit setLicenseKey: options:]
. (#13725) - FixedFixes an issue where PDFs with corrupted pages where not rendered at all in certain layout configurations. (#13720)
- FixedFixes an issue where pages with different sizes were positioned incorrectly in thumbnail mode on devices with 3x screens. (#13693)
- FixedFixes an issue where some list boxes do not display all the possible options. (#13454)
- FixedFixes 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)
- FixedFixes an issue where the content is offset when scrolling backwards. (#13551)
- FixedFixes an issue with continuous scrolling layouts that have
fillAlongsideTransverseAxis
disabled. (#13688)
PSPDFKit
- RemovedDeprecates the
baseURL
property fromPSPDFFileDataProvider
. (#12525) - RemovedDeprecates
baseURL
-basedPSPDFFileDataProvider
initializers. (#12525) - AddedAdds
PSPDFImageDocument
for simple annotating of image files using PSPDFKit. (#13538) - AddedAdds form field values to Instant JSON. (#13335)
- AddedAdds a new log level (
PSPDFLogLevelCritical
), that is enabled by default. (#13212) - AddedAdds support for PEM-encoded certificates in PKCS#7 files. (#13698)
- ChangedImproves file coordination update notifications, by ignoring cases that do not represent content changes. (#13394)
- ChangedImproves the detection of digital signatures in third-party PDF readers. (#13593)
- ChangedImproves the stability of the digital signing process with some certificate authorities with missing fields. (#13694)
- ChangedImproves locking during document cache reset. (#10984)
- FixedFixes 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)
- FixedFixes missed search terms which span over a newline without a hyphen. (#11862)
- FixedFixes an issue with stamp annotations not being rendered when using XFDF. (#13330)
- FixedFixes an issue with sound annotations losing sound data when using XFDF. (#13324)
- FixedFixes specific issue where previous xref has the same object number as a newly created object. (#13183)
- FixedFixes an issue where
PSPDFGalleryManifest
could override a link annotation's url in some cases. (V#1084) - FixedFixes an issue where image stamp annotations appeared scaled up. (#13703)
- FixedFixes a problem where signed documents loaded using a data provider may incorrectly warn about changes when validated. (#13549)
- FixedFixes file coordination issues that could occur while the application is backgrounded. (#13652)
- FixedFixes an issue where a signed document may show a warning if inspected with a PDF lint tool. (#13719)
- FixedFixes an issue where
PSPDFFile
could in some cases return stale data for a file. (#13614) - FixedFixes an issue where the opacity was not applied to the callout of a
PSPDFFreeTextAnnotation
. (#13576) - FixedFixes an issue where some annotation widgets' appearance streams were not updated properly when the underlying form field's value changed. (#13344)
- FixedFixes highlight markups on some specficic documents (#13768)
Instant
- RemovedDeprecates
-[PSPDFInstantClient initWithServerURL:]
which crashes when data cannot be read from or written to disk. This is a breaking change if you use Swift. (#13365) - AddedAdds
-[PSPDFInstantClient initWithServerURL:error:]
as the designated initializer. This allows failing gracefully when data cannot be read from/written to disk. (#13365) - AddedAdds
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) - AddedAdds API to stop a running sync cycle and improves discoverability and accuracy of documentation. (#13247)
- FixedFixes an issue where some annotations created with default properties were not synced. (#13348)
- FixedFixes a memory leak related to sync requests. (#13540)
- FixedFixes 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
- ChangedUpdate the sound annotation playback toolbar view while scrolling is active. (#13274)
- ChangedImproves positioning of form elements during editing. (#13208)
- FixedFixes a problem where some text in form fields may be cut off. (#13242)
- FixedFixes an issue where draw and selection views where not recreated when changing the page or the page transition. (#12907)
- FixedFixes an issue where the scrubber bar didn't lay out correctly when switching documents. (#13215)
- FixedFixes an issue where an assert could be triggered while zooming. (#13403)
- FixedFixes a potential crash during scroll view observing. (Z#7695)
- FixedFixes a memory leak in the signature view controller. (#13463)
- FixedFixes ink, shape, and line annotations not being rendered correctly if they were selected while the view changes size. (#13520)
- FixedFixes an issue where an assert could be triggered while setting an empty viewport to a document view layout. (Z#7763)
PSPDFKit
- ChangedImproves performance when fetching document level JavaScript objects. (#13281)
- FixedFixes an issue where an ink annotation's background (fill color) was incorrectly ignored. (#13216)
- FixedFixes an issue where documents with links may not point to the correct destination after being exported. (#13341)
- FixedFixes missed search terms which span over a newline without a hyphen. (#11862)
- FixedFixes an issue with stamp annotations not being rendered when using XFDF. (#13330)
- FixedFixes an issue with sound annotations losing sound data when using XFDF. (#13324)
- FixedFixes incorrect glyph frames being returned from
PSPDFTextParser
for documents with vertical or rotated text. (#13423) - FixedFixes some crashes when undoing and redoing operations. (#12358)
- FixedFixes a crash in
PSPDFFileAnnotationProvider
when the document has not been initialized properly. (#12358) - FixedFixes some crashes in
PDFResourceProvider
caused by a race condition. (#13413) - FixedFixes potential crashes when some classes are deallocating. (#13421)
Instant
- AddedAdds a PSPDFKit Catalog example that uses Instant to load documents from our public preview server and demonstrates real-time annotation synchronization. (#11968)
- FixedFixes annotation positioning when created on a page with a transform. (#12492)
7.2.0 23 Nov 2017
PSPDFKitUI
- ChangedImproves page grabber user experience when scrolling documents with various sized pages. (#11642)
- ChangedNo longer shows status HUD while opening a document in another app since this is usually fast. (#13209)
- FixedFixes 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)
- FixedFixes an issue that could lead to a crash when switching between documents with different page numbers in a tabbed bar view controller. (#12513)
- FixedFixes a crash when snapshotting a page view in a page curl layout before the view was rendered for the first time. (V#1282)
- FixedFixes a crash when scrolling and zooming to a page when already zoomed in. (#13225)
PSPDFKit
- RemovedDeprecates
PSPDFJSONSerializing
in favor of Instant JSON (SeePSPDFAnnotation+Instant.h
). (#10516) - AddedAdds Instant JSON support to
PSPDFDocument
andPSPDFAnnotation
. (#10516) - FixedFixes a rare text extraction issue where some space characters are not correctly extracted. (#6273)
- FixedFixes an issue where stamp annotations get blurry. (#12981)
Instant
Important: This release requires PSPDFKit Server 2017.8(opens in a new tab) 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(opens in a new tab).
- AddedAdds
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(opens in a new tab).
PSPDFKitUI
- APIReplaces
PSPDFAnnotationIgnoreNoteIndicatorIconKey
in favor ofPSPDFAnnotation.shouldDrawNoteIconIfNeeded
. (#12687) - APIAdopts
NS_ERROR_ENUM
for error codes. This is source compatible for Objective-C but might require small adjustments in Swift code. (#13023) - APIThe delegate of the scroll views returned in
documentViewController:configureScrollView:
anddocumentViewController:configureZoomView:forSpreadAtIndex:
can now be set. (#13013) - APIAdds an
NSError
parameter to the completion handler of-[PSPDFPageCellImageLoading requestImageForPageAtIndex:availableSize:completionHandler:]
. (#11499) - AddedAdds UI controls and model level APIs for copy and paste operations on the document editor. (#11972)
- AddedAdds PSPDFKit Catalog example illustrating how to switch between double and single page mode without reloading. (#12880)
- AddedAdds
PSPDFDrawCreateModeAutomatic
as the new defaultdrawCreateMode
used byPSPDFDrawView
. This intelligently splits drawing into multiple ink annotations. This is especially beneficial when using Apple Pencil. (#9222) - AddedAdds value
PSPDFSignatureInputMethodMouse
toPSPDFSignatureInputMethod
enum which is used when the digital signature was created with a mouse. (#12865) - AddedAdds PSPDFKit Catalog example illustrating how to programmatically add transparent stamp annotations. (#13075)
- AddedAdds finer grained scrolling API, applicable for continuous scrolling mode. See
-[PSPDFDocumentViewController scrollToSpreadAtIndex:scrollPosition:animated:]
for details. (#12586) - AddedAdds
labelFormatter
property toPSPDFPageLabelView
to customize page label. (#13003) - AddedAdds
useDiskCache
toPSPDFDataProviding
andPSPDFDocument
to configure using the disk cache on a per-document level. (#11815) - AddedAdds PSPDFKit Catalog examples illustrating how to add vector stamp annotations. (#13075, #13076, #13080)
- ChangedImproves performance of drawing ink annotations, which is especially noticeable when using Apple Pencil. (#9222)
- ChangedImproves handling of rendering errors in the thumbnails view. (#11499)
- ChangedImproves displaying of the icon for annotations that have a note attached. (#12555)
- ChangedImproves content insets and prevents the user from zooming into the areas outside a spread. (#12268)
- ChangedImproves scroll indicator insets on iPhone X. (#12755)
- ChangedImproves document layout on iPhone X. (#12753)
- ChangedImproves system edge gestures handling with visible annotation toolbar. (#12837)
- ChangedImproves usage of quantity strings (plurals). (#13039)
- ChangedImproves scroll behavior in continuous scroll mode when zoomed in. (#13084)
- ChangedImproves initial positioning in vertical continuous mode. (#12777)
- ChangedImproves content offset behavior during user interface fadein in vertical continuous mode. (#12777)
- ChangedImproves default color presets, so they better fill the space on iPhone X and 12.9" iPad. (#13117)
- AddedNewly added pages via the Document Editor will be added at the end of the document. (#12533)
- ChangedSetting
scrollEnabled
,alwaysBounce
, orshowsScrollIndicator
onPSPDFDocumentViewController
doesn't reload the view hierarchy anymore. (#13089) - ChangedLink highlights are no longer shown for full page annotations. (#13163)
- FixedFixes issue with the invisible filters in document editor on iOS 11. (#12730)
- FixedFixes issue with annotation toolbar not being able to attach to the top in nested navigation controllers setup. (#12821)
- FixedFixes the thumbnails view not updating on annotation changes when a filter is applied. (#11637)
- FixedFixes issues where the content insets for document views were not properly calculated. (#12808)
- FixedFixes issue where text in form fields are always black. (#12449)
- FixedFixes a crash when rotating from double page spreads in landscape to single page spreads in portrait. (#12983)
- FixedFixes a crash when using
additionalScrollViewFrameInsets
in continuous scrolling layouts. (#13079) - FixedFixes a regression that caused pages to be slightly zoomed in after rotation. (#12825)
- FixedFixes issue where the navigation bar did not fade out with the user interface on iOS 10. (#12912)
- FixedFixes 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)
- FixedFixes an issue where scrolling when zoomed in continuous scroll mode would be jumpy. (#12454)
- FixedFixes an issue where spreads larger than the viewport size would start in the center. (#12852)
- FixedFixes an issue where scrolling with the page grabber could cause the page to shift when zoomed in. (#12985)
- FixedFixes actions not being executed for full page annotations. (#13163)
- FixedFixes an issue where the annotation toolbar could show only a subset of buttons after inserting a signature on iPhone. (#13106)
- FixedFixes 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)
- FixedFixes an issue where a spread view could not be found when restoring view states which led to an assertion. (V#1261)
- FixedFixes a rare crash that could occur during rotation in page curl mode. (#12877)
- FixedFixes an issue when applying additional scroll view frame insets to a scroll per spread layout. (#12734)
PSPDFKit
- RemovedDeprecates
PSPDFAnnotationTriggerEventLooseFocus
in favor ofPSPDFAnnotationTriggerEventLoseFocus
. (#13078) - ChangedImproves detection of RichMedia elements and always prefers to show controls for audio-only tracks. (#12986)
- ChangedImproves the performance of document outline parsing when the document is very big. (#11854)
- FixedFixes the positioning of the underline on text when no ascending characters are present on the line. (#11489)
- FixedFixes a problem where some PDF documents may not show every form field element. (#12998)
- FixedFixes an rare crash in
PSPDFLibraryFileSystemDataSource
due to mutation of a set while enumerating it. (#12987) - FixedFixes a potential issue when trying to interact with a form whilst a
PSPDFProcessor
is in progress. (#12973) - FixedFixes an issue where some highlight annotations were rendered incorrectly in specific PDFs. (#12937)
- FixedFixes missing document link action when destination is not defined. (#12917)
- FixedFixes 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(opens in a new tab).
- AddedAdds 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) - AddedAdds error codes for the cases where the client and server have incompatible versions:
PSPDFInstantErrorOldClient
andPSPDFInstantErrorOldServer
. (#12720) - FixedFixes
PSPDFInstantSyncingLocalChangesDisabled
symbol not being exported. (Z#7443) - FixedFixes 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
- AddedAdds CocoaPods dSYM support for all frameworks to improve crash report symbolication. (#11666)
PSPDFKitUI
- ChangedImproves note view controller insets on iPhone X. (#12816)
- ChangedImproves thumbnail sizing in the document editor on iPhone X. (#12815)
- ChangedImproves the search controller layout on iPhone X. (Z#7121)
- FixedFixes issues with the fullscreen gallery layout on iPhone X. (#12731)
- FixedFixes a regression that prevented searching for fonts in
PSPDFFontPickerViewController
. (#12831) - FixedFixes an issue with the annotation toolbar not respecting the safe area in the top position. (#12833)
- FixedFixes the sound annotation player layout if a bottom toolbar is shown. (Z#7266)
- FixedFixes an issue where modally presented
PSPDFTabbedViewController
wasn't displaying the close button. (#12811) - FixedFixes a crash that could occur in continuous mode, if scrolling was still ongoing while the PDF controller was being dismissed. (V#1250)
- FixedFixes an issue that scrolled to the wrong offset when calling
setContinuousSpreadIndex:
on a zoomed in document with layout that hasspreadBasedZooming
disabled. (#12788, V#1253) - FixedFixes it not being possible to create some annotation types after changing pages while the tool is being used, typically while using Apple Pencil. (#12744)
- FixedFixes 'Open In' not correctly working on iOS 10 and 9. (#12829)
- FixedFixes the color picker layout on iPhone X. (#12854)
- FixedFixes zooming to a search result making it fill the entire screen. (#12441)
- FixedFixes
PSPDFConfiguration.searchResultZoomScale
not being respected. Changes default to specify automatic zoom scale. (#12675) - FixedFixes 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)
- FixedFixes blurry text fields when zoomed into a form. (#12661)
- FixedFixes an issue when PSPDFKit is used in projects that do not use ARC. (#12892)
PSPDFKit
- AddedAdds support for transferring document level JavaScript when processing a document (#12769)
- FixedFixes an issue with file size when flattening annotations. (#12749)
- FixedFixes an issue in the bookkeeping of spread views which resulted in an assertion when looking for a specific page view. (#12654)
- FixedFixes an issue where
PSPDFProcessor
didn't export some annotations in particular documents. (#11795) - FixedFixes an issue when saving a document that has been restored from a checkpoint. (#12890)
- FixedFixes an issue with incorrect tab order in forms. (#12902)
- FixedFixes an issue where some flattened documents may not show correctly in third party readers. (#12901)
- FixedFixes an issue where actions weren't properly persisted. (#12884)
- FixedFixes an issue when exporting XFDF with non-ascii characters. (#12892)
- FixedFixes 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
- RemovedDeprecates externalScreensDisableScreenDimming of PSPDFScreenController, in favor of PSPDFBrightnessManager.idleTimerManagement. (#12601)
- AddedAdds the ability to override the file name when using
PSPDFOpenInCoordinator
. SeeCustomSharingFileNamesExample
for details. (#12289) - AddedAdds
-[PSPDFViewController documentViewControllerDidLoad]
as a hook to customize the appearance of aPSPDFDocumentViewController
. (#12645) - AddedAdds options for smart management of the idle timer to
PSPDFBrightnessManager
. (#12601) - AddedAdds
additionalScrollViewFrameInsets
andadditionalContentInsets
toPSPDFConfiguration
to easily adjust what used to bemargin
andpadding
in v6. (#12736) - ChangedMoves
PSPDFBrightnessManager
to thePSPDFKit
singleton. (#12601) - ChangedThe
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) - ChangedImproves the page grabber design. (#11079)
- ChangedImproves the thumbnail bar layout on iPhone X. (#12702, #12703)
- ChangedImproves the flexible toolbar (annotation and document editor toolbar) layout on iPhone X. (#12727)
- ChangedImproves screen mirroring when inner scroll view offset is changed. (#12791)
- ChangedImproves the page grabber layout on iPhone X. (#12729)
- ChangedImproves the thumbnail view layout on iPhone X. (#12728)
- ChangedImproves content and scroll indicator inset behavior in vertical continuous mode. (#12575, #12739)
- ChangedImproves the layout of the note annotation view controller on iPhone X. (#12789)
- ChangedImproves support for modifying
PSPDFViewController.view
's frame. (#12743) - ChangedForm button touch down events no longer require a minimum tap time. (#12709)
- FixedFixes a regression on iOS 11 where the inline search mode didn't accept touches. (#12671)
- FixedFixes an issue where the page view was black for a split second when dismissing a modal view controller in front of it. (#12345)
- FixedFixes an issue where a keychain warning was logged in invalid cases. (#12658)
- FixedFixes an issue where the next page did not become visible in
PSPDFScrollPerSpreadLayout
based view hierarchies while bouncing a zoomed in spread. (#12269) - FixedFixes a crash when clearing widget annotations in
PSPDFAnnotationTableViewController
. (#12797) - FixedFixes content not being centered when zooming out. (#12365)
- FixedFixes an issue where the view state was not restored properly on rotation. (#12673)
- FixedFixes an issue where the frame of annotations and selected text was not updated correctly when zooming on a page. (#12514)
- FixedFixes an issue where scrolling to a page via the scrubber bar didn't work in some cases. (#12473)
- FixedFixes an issue when restoring the state with an invalid document in place. (V#1238)
- FixedFixes an issue when restoring state when zoomed into a document. (V#1243)
- FixedFixes an issue where
PSPDFTextFieldCell
used a too narrow inset on iOS 11. (#12737) - FixedFixes an issue where annotation inspector couldn't be presented in vertical scrolling mode. (#12718)
- FixedFixes an issue with content insets when the keyboard showed up. (#12652)
- FixedFixes layout of table view cells including a slider. (#12754)
- FixedFixes the flexible toolbar not supporting the top position on iPhone X. (#12784)
PSPDFKit
- AddedAdds support for proper removal of
PSPDFFormElements
when callingremoveAnnotations:
. (#12797) - ChangedImproves correctness for JavaScript
util.printf
call. (#12759) - ChangedImproves reliability when saving documents with broken cross-reference tables. (#12212)
- FixedFixes issues with font selection for non latin languages. (#12297, #11639)
- FixedFixes issues when restoring from checkpoints. (#12669)
- FixedFixes an issue where text in some form fields may be cut. (#12494 and #11287)
- FixedFixes an issue rendering text while zoomed in specific documents. (#12392)
- FixedFixes an issue where underline annotations and text extraction may not work correctly for some documents. (#12070)
Instant
- AddedAdds
+[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) - FixedFixes 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
- AddedAdds
PSPDFDragAndDropConfiguration
to customize how and where Drag and Drop should work. (#12538) - ChangedBefore storing images, PSPDFKit now checks for
NSPhotoLibraryAddUsageDescription
and warns if not set. (#12528) - ChangedImproves the bottom sound annotation player layout on iPhone X. (#12536)
- ChangedImproves behavior when tapping the edge of the page to scroll. (#12445)
- FixedFixes an issue where the content offset was wrong when opening single page documents when a
PSPDFContinuousScrollingLayout
was used. (#12500) - FixedFixes an issue where toolbar icons could be displayed smaller than they should if the toolbar was updated too early in some cases. (#12472)
- FixedFixes the last double page spread in the thumbnails view being shown separated. (#12506)
- FixedFixes several issues related to the continuous spread index by making the continuous spread index being derived from the center. (#12366, #12416, #12264, #12502, #12483)
- FixedFixes an issue with the document label overlapping the status bar in case no navigation bar is shown. (#12401)
- FixedFixes an image resource which was referenced invalid in the free text annotation accessory keyboard toolbar. (#12511)
- FixedFixes an issue where the image editor couldn't be dismissed. (#12530)
- FixedFixes an issue where class overrides originating from
PSPDFPageView
were not used. (#12540) - FixedFixes an issue with the sound annotation player not hiding when deleting the corresponding sound annotation. (#12529)
- FixedFixes an issue where spread views removed from view hierarchy could be kept as visible which could cause assertion failures. (V#1213)
- FixedFixes an issue with annotation changes not being saved before digitally signing a document. (#12195)
- FixedFixes an issue where under certain view configurations, creating a new signature on an iPhone could fail. (#12570)
- FixedFixes an issue where user interactions were ignored during showing and hiding of the user interface. (#12414)
- FixedFixes 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)
- FixedFixes an issue where the annotation list would become unresponsive when a large number of annotations were updated at a time. (#11539)
PSPDFKit
- FixedFixes an issue where the leading zero was not displayed when formatting a number. (#12565)
- FixedFixes an issue where some annotations may not be shown even when they are present in a document. (#12295)
Instant
- ChangedUpdates the example app to Swift 4. (#12504)
- FixedFixes 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(opens in a new tab).
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(opens in a new tab), which will also help with the framework split.
- APIRemoves all deprecated API. For a full list with suggested migration paths, see the migration guide. (#11669)
PSPDFKitUI
- APIOverhauls 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)
- APIReplaces 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) - APIChanges the stored ink signature type of
PSPDFSignatureStore
fromPSPDFInkAnnotation
toPSPDFSignatureContainer
.PSPDFInkAnnotation
objects will be migrated automatically to the newPSPDFSignatureContainer
. (#11841) - APIRenames
PSPDFUnsignedFormElementViewController
toPSPDFCertificatePickerViewController
including the related delegate and methods. (#11841) - APIRemoves the document signing logic of
PSPDFCertificatePickerViewController
and removesunsignedFormElementViewController:signedDocument:error:
. This is now handled viaPSPDFDigitalSignatureCoordinator
. (#11841) - APIRemoves ink annotation selection from
PSPDFCertificatePickerViewController
. This is now handled viaPSPDFDigitalSignatureCoordinator
. (#11841) - APIRenames
PSPDFHUDView
toPSPDFUserInterfaceView
with corresponding changes to related API. See the migration guide for a full list. (#9462) - APIRenames
PSPDFAnnotationViewProtocol
toPSPDFAnnotationPresenting
andPSPDFStatefulViewControllerProtocol
toPSPDFStatefulViewControlling
. (#11237) - APIRenames
-[PSPDFTextSelectionView selectionRect]
toinnerRect
. (#11870) - APIRenames
updatepageIndex:animated:
toreloadPageAtIndex:animated:
onPSPDFViewController
. (#11764) - APIRenames
PSPDFLinkActionInlineBrowserLegacy
toPSPDFLinkActionInlineWebViewController
. (#12424) - APIReplaces document info option strings on
PSPDFDocumentInfoCoordinator
with an extensible enum. (#11735) - APIReplaces
-[PSPDFToolbarButton setImage:]
with a similarly named propertyPSPDFToolbarButton.image
. (#11975) - AddedAdds support for changing the page mode when in a vertical scroll direction and in continuous page transition. (#12304)
- AddedAdds
PSPDFDigitalSignatureCoordinator
, used for customizing the path for storing a digital signed document and document presentation. (#11841) - AddedAdds support for selecting a digital signature certificate from the ink signature creation dialog. (#11841)
- AddedAdds 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)
- AddedAdds support for adding biometric data to digital signatures created via the UI. (#980)
- AddedAdds a new sound annotation player that is shown on the bottom. Configurable via
soundAnnotationPlayerStyle
. (#11464) - AddedAdds
PSPDFDocumentInfoController
protocol implemented by controllers used inPSPDFDocumentInfoCoordinator
, to improve removal of invalid controllers. (#11458) - AddedAdds
-[PSPDFSelectionView panGestureRecognizer]
and convertsPSPDFSelectionView
to be purely gesture recognizer based. (#12310) - AddedAdds new vector based icons. (#11975)
- ChangedImproves the signature experience on Plus-sized iPhones. (#8857)
- ChangedImproves haptic feedback when moving the flexible toolbar. (#9093)
- ChangedImproves translations for various languages (#12191)
- ChangedImproves support for smaller images on the compact landscape phone bars. (#11975)
- ChangedImproves navigation bar animations and layout guide handling during user interface visibility transitions. (#12229)
- ChangedImproves default size calculation logic for various view controllers. (#12375)
- ChangedUses a dark keyboard and keyboard accessory appearance when in night mode. (#11510)
- ChangedIntroduces a new catalog example theme. (#12384)
- ChangedWorks around an issue with iOS 11 Smart Punctuation that inserts a null character after a triple dash-tap. (rdar://34651564, #12280)
- FixedFixes the long press to reset color preset feature on the annotation style inspector. (Z#6873)
- FixedFixes a memory leak in continuous scroll mode. (#11971, #11134)
- FixedFixes the default
overlayViewController
's view jumping down after appearing. (#11645) - FixedFixes a rare assertion when animating draw view bounds changes. (#12209)
- FixedFixes annotation toolbar layout issues on iOS 11. (#11975)
- FixedFixes animation issues occurring during the thumbnail view transition. (#12267)
- FixedFixes scrubber bar flicker during the user interface fadein animation. (#12324)
PSPDFKit
- APIRemoves 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) - APIRemoves the
baseURL
andfiles
properties fromPSPDFDocument
. (#12087) - APIAdds 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) - APIRenames
PSPDFProcessorSaveOptions
toPSPDFDocumentSecurityOptions
and renames related API. See the Document Save Options section in the migration guide for a full list of API changes. (#8297) - APIRemoves disk cache strategy and page index parameters from
PSPDFCache
caching methods. (#11669) - APIRenames 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) - APIThe parameters of the
PSPDFFileCoordinationDelegate
methods now conform toPSPDFCoordinatedFileDataProviding
instead ofNSFilePresenter
. (#11199) - API
PSPDFXFDFParser
andPSPDFXFDFWriter
now usePSPDFDataProviding
andPSPDFDataSink
instead of aNSInputStream
andNSOutputStream
. (#11693) - APIPrefix changes: Renames
isAnnotationsEnabled
toareAnnotationsEnabled
,isBookmarksEnabled
toareBookmarksEnabled
,isPageLabelsEnabled
toarePageLabelsEnabled
andisFormsEnabled
toareFormsEnabled
onPSPDFDocument
. (#9742) - APIRenames
PSPDFUndoProtocol
toPSPDFUndoSupport
. (#11237) - APIRenames
-[PSPDFDocument documentByAppendingObjects:]
todocumentByAppendingDataProviders:
and this array can no longer contain instances ofNSString
,NSURL
, orNSData
. (#12087) - APIRenames the
dataProviderArray
property onPSPDFDocument
todataProviders
. (#12087) - APIRemoves 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) - APIRenames the class
PSPDFAbstractTextOverlayAnnotations
toPSPDFMarkupAnnotation
. (#10182) - APIRemoves
-[PSPDFAnnotation isFixedSize]
. (#12007) - APIRenames
PSPDFileCoordinationDelegate
toPSPDFFileCoordinationDelegate
. (#11765) - APIRemoves
-[PSPDFSignatureFormElement drawArrowWithText:andColor:inContext:]
subclassing hook. (#12083) - APIRemoves document unrelated callback methods from
PSPDFDocumentDelegate
:pdfDocument:didRenderPageAtIndex:inContext:withSize:clippedToRect:annotations:options:
,pdfDocument:provider:shouldSaveAnnotations:
,pdfDocument:didSaveAnnotations:
,pdfDocument:failedToSaveAnnotations:error:
,pdfDocument:underlyingFileDidChange:
. (#12178) - APIReplaces
-[PSPDFLibrary updateIndex]
with-[PSPDFLibrary updateIndexWithCompletionHandler:]
. (#11509) - APIRemoves metadata handling from
PSPDFLibrary
. (#12261) - APIReplaces
annotationsByDetectingLinkTypes:forPagesInRange:options:progress:error:
withannotationsByDetectingLinkTypes:forPagesAtIndexes:options:progress:error:
. (#11502) - AddedAdds Document Checkpointing to recover changes to documents that may not have been saved. (#8471)
- AddedAdds new
PSPDFSignatureAppearance
class, which allows you to configure the appearance of digital signatures in a document. (#980) - AddedAdds a
PSPDFSignatureBiometricProperties
class, which allows you to store and recover encrypted biometric information about a handwritten digital signature. (#980) - AddedAdds
signFormElement:withCertificate:writeToDataSink:withAppearance:completionBlock:
toPSPDFSigner
to allow signing documents to a genericPSPDFDataSink
. (#8879 and #11267) - AddedAdds creation methods for
PSPDFFormField
subclasses allowing you to create new form fields. (#12056) - AddedAdds
removeFormElements:error:
andremoveFormFields:error:
toPSPDFFormParser
. This allows removing of either form elements or form fields. (#11928) - AddedAdds support for changing many
PSPDFFormField
properties that were read-only before. (#12157) - AddedAdds support for setting any PDF as an appearance stream on an annotation using the
PSPDFAppearanceStreamGenerator
protocol. (#11428) - AddedAdds
PSPDFAnnotationProviderDelegate
for callback methods related to annotation saving. (#12178) - AddedAdds
outline
property toPSPDFDocument
, used for getting the documents' outline. (#11801) - AddedAdds support for AES encryption when saving or processing a document. (#4420)
- ChangedImproves how
PSPDFLibrary
deals with long running indexing tasks. SeePSPDFLibrary.automaticallyPauseLongRunningTasks
. (#12158) - ChangedImproves progress handling by automatically canceling active document progress when all data provider progresses are canceled. (V#916)
- ChangedImproves library updates by making them completely asynchronous. (#11509)
- ChangedImproves exact phrase matching in
PSPDFLibrary
. (#12261) - ChangedImproves XFDF performance and compliance. (#11693)
- ChangedChanges
-[PSPDFDocument addAnnotations:options:]
and-[PSPDFDocument removeAnnotations:options:]
to accept options dictionaries with keys of typeNSString
. (#12008) - ChangedImplements
setMaxLength:
forPSPDFFormElement
. (#11834) - ChangedThe
minimumSize
property ofPSPDFAnnotation
has been changed from 32 to 16. (#11871) - FixedFixes an issue saving an original document after signing it. (#11911)
- FixedFixes potential file coordinator races. (#11938, #11206)
- FixedFixes an issue when rendering decomposed UTF-8 strings (#11985)
- FixedFixes 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)
- FixedFixes an issue that prevented modifications to
compareOptions
for manual text searching (#12047). - FixedFixes an issue where a digital signature field could not be properly deleted (#12082).
- FixedFixes an issue where indexing wasn't stopped when the application gets terminated. (#12215)
- FixedFixes a cosmetic issue where an ink signature field may show as unsigned (#12127).
- FixedFixes an issue where flattening a document may generate warnings when it is open in third party readers. (#12066)
Instant
- APIRenames the
PSPDFInstantDocumentDescriptor
methodsstartListeningForServerUpdates
andstopListeningForServerUpdates
tostartListeningForServerChanges
andstopListeningForServerChanges
, and thePSPDFInstantViewController
propertyshouldListenForChangesWhenVisible
toshouldListenForServerChangesWhenVisible
. (#12393) - AddedAdds 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) - AddedAdds an
autoSyncDelay
property toPSPDFInstantDocumentDescriptor
which can be used to disable automatic syncing, giving you full control over when Instant syncs with the server. (#11681) - FixedFixes 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://www.nutrient.io/guides/ios/announcements/version-support/
- ChangedImproves performance for hit-testing ink annotations. (#11858)
- ChangedImproves apperance stream generation to not have extra space after non-latin characters in form fields. (#11874)
- ChangedWorks around a crash in the bookmark view controller due to UIKit bug. (rdar://32485481, #11850)
- FixedFixes a NaN calculation issue when linking with Xcode 9/Base SDK 11. (#11886)
- FixedFixes an issue with recreating
AVPlayer
andAVPlayerItem
when it was in an error state. (#11864) - FixedFixes an issue with view state restoration in
PSPDFMultiDocumentViewController
. (#11856) - FixedFixes memory leaks in
PSPDFDocument
andPSPDFViewController
. (#11883) - FixedFixes an infinite recursion when describing certain
NSValueTransformer
instances. (#11881) - FixedFixes an issue where the keyboard was dismissed when typing a custom form value on iPad. (#11892)
- FixedFixes a rare crash when saving. (#11861)
Instant
- AddedAdds support for note annotations. (#11704)
- FixedFixes two lock-inversions that could cause live-lock or dead-lock when a document received changes while initially reading its annotations. (#11586)
- FixedFixes a crash that could occur when a document was deleted while pages were still being rendered. (#11586)
6.9.2 16 Aug 2017
- ChangedImproves performance for loading and interacting with complex forms. (#11389)
- ChangedImproves the eraser radius calculations. (#11803)
- FixedFixes a stamp annotation quality degradation issue for images after moving/resizing. (#11625)
- FixedFixes a font selection issue with documents using the
Courier
font. (#11228) - FixedFixes an issue where the
selected
property of annotation views was not set correctly. (#11687) - FixedFixes a layout issue when moving knobs of callout annotation that could happen in rare cases. (#9750)
- FixedFixes an issue where link annotations marked as readonly were not tap-able. (#11715)
- FixedFixes an issue where documents could sometimes end up locked after saving when an owner-password is set. (V#1121)
- FixedFixes an issue where the document cache was not properly invalidated when saving manually via
PSPDFDocumentEditor
. (#11767) - FixedFixes
PSPDFMediaPlayerController
not behaving correctly in some cases when a subclass exists. (#11671) - FixedFixes an issue in the sample catalog that made the subclassing category not show up. (#11707)
- FixedFixes 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)
- FixedFixes 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
- FixedFixes an issue where the Instant document descriptor was released too soon. (#11721)
- FixedFixes a failed assertion due to an improper format string in an error condition. (#11747)
6.9.1 3 Aug 2017
- APIChanges the object of
PSPDFMediaPlayerControllerPlayback*
notifications fromPSPDFGalleryVideoItem
toPSPDFMediaPlayerController
. (#11549) - AddedAdds support for external named destinations in
PSPDFRemoteGoToAction
. (#11320) - ChangedAllows backwards selection of text when creating markup annotations. (#11583)
- ChangedImproves handling of galleries and videos during screen mirroring. (#11549)
- ChangedImproves drawing and the erasure tool when using the Apple Pencil. (#11527)
- ChangedImproves the rendering of polygon annotations. (#11620)
- ChangedImproves form text rendering with non-latin characters. (#10996)
- FixedFixes an issue where videos were shown fullscreen when screen mirroring was enabled. (#11549)
- FixedFixes a color management issue for file annotations. (#11488)
- FixedFixes an issue where annotation assets might have gotten overwritten in some cases. (#11581)
- FixedFixes incorrect default resizing behavior for freetext and callout annotations. (#11630)
- FixedFixes a leaking color space when encoding images. (#11512)
- FixedFixes an issue where an image annotation with a note could lose the image data. (#11652)
Instant
- APIRenames
PSPDFInstantClient
’ssignOut
toremoveLocalStorage
, which makes more sense because there is no explicit signing in. (#11619) - AddedAdds automatically recovering from connection errors when automatic sync is active. (#11506)
- AddedAdds the annotation selection tool to the default annotation toolbar. (#11565)
- AddedAdds error codes for cases that were previously reported as “unknown”. (#11522)
- FixedFixes 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)
- FixedFixes incorrect handling/reporting of an authentication error during sync. (#11386)
- FixedFixes an incorrect log message format that could lead to a failed assertion. (#11634)
- FixedFixes deletion of multiple annotations at once. (#11651)
6.9.0 20 Jul 2017
See the announcement post(opens in a new tab).
- AddedAdds 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!
- APIAdds option to configure flattening or embedding of form elements to
PSPDFProcessorConfiguration
. (#11096) - APIIntroduces failable
annotationsByDetectingLinkTypes:forPagesInRange:options:progress:error:
instead ofannotationsFromDetectingLinkTypes:pagesInRange:options:progress:error:
. (#11125) - APIChanges
isFixedSize
andfixedSize
to be instance properties onPSPDFAnnotation
. (#10931) - APIMoves
allowedImageQualities
toPSPDFImagePickerController
fromPSPDFAnnotationStateManager
. (#11172) - APIAudit and update several nullability declarations for correctness. (#11183)
- APIThe 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) - APIAdds
pdfViewController:didDeselectAnnotations:onPageView:
as a newPSPDFViewControllerDelegate
callback. (#11485) - AddedAdds improved markup annotation behavior to select blocks of text. This makes certain selections easier to create. (#10482, #9768)
- AddedAdds support for flattening signature annotations. (#11096)
- AddedAdds language-based filtering options to the PSPDFKit Catalog example. (#5436)
- AddedAdds Adobe root CA by default when using
PSPDFSignatureManager
, so that documents can be more easily verified the same way as on desktop readers. (#11240) - AddedAdds support for
Instant.framework
tostrip-framework.sh
. (#11362) - ChangedWorks 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)
- ChangedThe 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) - ChangedImproves certificate validation for digital signatures. (#11128)
- ChangedImproves support for more types of certificates in digital signatures. (#11083)
- ChangedImproves RTL language support in forms. (#11013)
- ChangedImproves automatic layout during callout annotation knob dragging. (#9750)
- ChangedImproves memory management when rendering forms. (#11176)
- ChangedImproves support for file presenter based document deletion notifications in multi data provider documents. (#10362)
- ChangedImproves interaction while drawing annotations by introducing a draw gesture recognizer on
PSPDFDrawView
. (#7655) - FixedFixes a crash related to bookmarks when viewing multiple documents. (#11020)
- FixedFixes very rare issue on saving files repeatedly. (#9477)
- FixedFixes an access to the view’s bounds on a background thread when laying out the thumbnails view. (#11084)
- FixedFixes an issue where in some configurations a scroll view, that was out of our control, was modified. (#10981)
- FixedFixes an issue where selecting an annotation in the outline view would not navigate to the correct page in multi-provider documents. (#11136)
- FixedFixes a problem while importing some kind of certificates for digital signatures. (#11120)
- FixedFixes an issue where UI code was called on a background thread. (#11408)
- FixedFixes an issue where disabling screen mirroring didn't work in some cases. (#11171)
- FixedFixes an issue where one
PSPDFSignerError
had an invalid error code. (#11186) - FixedFixes an issue occurring after searching in
PSPDFOutlineViewController
. (#11268) - FixedFixes issues with language selection in the Catalog example on iOS 11. (#11342)
- FixedFixes some crashes when signing a particular type of PDF documents. (#11285)
- FixedFixes an issue where the close buttons in the tabbed bar were not correctly shown when using
PSPDFTabbedViewControllerCloseModeSizeDependent
in some cases. (V#590) - FixedFixes an issue where signatures could show the certificate issuer name instead of the certificate subject name. (#11368)
- FixedFixes 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)
- FixedFixes an issue where some digital signatures couldn't be open in Adobe Acrobat. (#11390)
- FixedFixes a retain cycle in the document info UI. (11260)
- FixedFixes a layout issue when a document with partially broken pages is loaded. (#11481)
- FixedFixes an issue where no annotations were shown in
PSPDFAnnotationTableViewController
, wheneditableAnnotationTypes
was empty. (#11391) - FixedFixes an issue with encoding preloaded monochrom images. (#10985)
- FixedFixes a rare deadlock related to undo operations. (#11479)
- FixedFixes a data race in
PSPDFRenderQueue
. (#11494) - RemovedDeprecates
annotationsFromDetectingLinkTypes:pagesInRange:options:progress:error:
. (#11125) - RemovedDeprecates
allowedImageQualities
onPSPDFAnnotationStateManager
. (#11172) - RemovedDeprecates
isHighlightAnnotationState:
in favor ofisMarkupAnnotationState:
. (#10482, #9768) - RemovedDeprecates fixed size class methods on
PSPDFAnnotation
in favor of instance properties. (#10931) - RemovedDeprecates
allowedTouchTypes
onPSPDFDrawView
and introduces it onPSPDFDrawGestureRecognizer
. (#7655) - RemovedDeprecates the
undoEnabled
property onPSPDFUndoController
. (#11476)
6.8.0 22 Jun 2017
See the announcement post(opens in a new tab).
This release removes the embedded OpenSSL. This results in a smaller binary and faster link times.
- AddedAdds new digital signature implementation that no longer relies on OpenSSL. (#10864)
- AddedAdds support for filtering watermarks (enabled by default). See
PSPDFDocument.isWatermarkFilterEnabled
(#8144, #10874) - AddedAdds support for opening the Settings app from the privacy access denied controller. (#10526)
- ChangedUses the app name instead of "This app" in the privacy access denied controller. (#10528)
- ChangedMakes the disclosure button of
PSPDFOutlineCell
tintable. (#10818) - ChangedWorks around an issue where
UISearchController
would load its view duringdealloc
. (#10936) - ChangedVarious refinements around nullability that have been discovered with Xcode 9's Undefined Behavior Sanitizer. (#10876)
- ChangedPreserves the previous state of the
expanded
value for outline elements after searching inPSPDFOutlineViewController
. (#10862) - ChangedImproves action resolving in multi-provider documents. (#10782)
- ChangedImproves the popover sizing of the choice form editor view controller. (#10621)
- ChangedImproves style manager support for color presets and fixes various smaller issues. (#10930)
- ChangedImproves rotation on iPads when using automatic page transition, i.e. rotating from landscape to portrait shows the last interacted page. (#11033)
- ChangedImproves support for form filling via JavaScript. (#10979)
- ChangedImproves documentation of the digital signatures feature. (#11027)
- FixedFixes an issue when tapping a search result in some documents. (#10844)
- FixedFixes issue while saving PDF files. (#10849)
- FixedFixes a leak when rendering a bitmap. (#10847)
- FixedFixes an issue where the "Open In" activity was not shown for non-URL backed documents. (#10854)
- FixedFixes an issue where documents with incorrectly created annotations could cause infinite loops. (#10640)
- FixedFixes rare file coordination related crashes and deadlocks. (#10935)
- FixedFixes an issue where the bookmark migration could deadlock in some configurations. (#10857)
- FixedFixes 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)
- FixedFixes an issue with digital signatures where a name and date was required. (#7892)
- FixedFixes an issue where the page wasn't preserved in automatic page mode when rotating from portrait to landscape and back to portrait. (#10988)
- FixedFixes an issue where embedded files with very long names might fail to be extracted correctly. (#11028)
- FixedFixes an issue with digital signatures where some valid signatures are not recognized by Adobe Reader. (#9565)
- FixedFixes an issue where the cache is not properly invalidated if saving a document fails. (#11022)
6.7.2 31 May 2017
- ChangedUpdate OpenSSL to 1.0.2l. (#10820)
- APIAdds option to configure background indexing queue priority in
PSPDFLibrary
. (#10619) - AddedAdds file coordination support to
PSPDFDocumentEditor
. (#10595) - ChangedMoves 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) - ChangedImproves
PSPDFDocument
andPSPDFFileDataProvider
documentation, clarifying the expected behavior with symlinks and alias files. (#10750) - ChangedImproves error handling for saves that fall back to external file saving due to an unwritable document. (#10805)
- FixedFixes an issue where editing a bookmark could result in a crash. (#10607, #10723)
- FixedFixes an issue with document render options when mirroring the screen. (#10676)
- FixedFixes 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) - FixedFixes an issue where bookmarks lost their custom sort order when migrating from PSPDFKit 5 for iOS. (#10705)
- FixedFixes issue with free text annotations ending editing mode on rotation in continuous page transition mode. (#10671)
- FixedFixes an issue where the outline controller was shown when there was no outline in a document. (#6902)
- FixedFixes an issue where custom bookmark providers did not receive a save call if the annotation save mode was set to
PSPDFAnnotationSaveModeExternalFile
orPSPDFAnnotationSaveModeDisabled
. (#10665) - FixedFixes
PSPDFDocumentPickerController
not persisting the FTS index. (#10704) - FixedFixes smaller document editor glitches caused by file presenter updates. (#10595)
- FixedFixes an issue with saving files that did not conform completely to the PDF format. (#10712)
- FixedFixes an issue with Digital Signatures. (#10762)
- FixedFixes an issue where the text selection loupe magnification could break after moving it to a different page. (#10589)
- FixedFixes an issue with saving link annotations. (#10355)
- FixedFixes a potential deadlock that could occur when performing synchronous saves of encrypted documents on the main thread. (#10789)
- FixedFixes an issue where saving an unwritable document using
PSPDFAnnotationSaveModeEmbeddedWithExternalFileAsFallback
would fail. (#10805) - FixedFixes a leak when rendering a bitmap. (#10777)
6.7.1 22 May 2017
- APIAdds 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) - APIAdds annotation indexing capabilities to
PSPDFLibrary
. (#9235) - APIAdds
PSPDFRenderManagerRenderResultDidChangeNotification
which is posted when a document's data changes so that a rendering of its pages would look different. (#10489) - APIAdds
PSPDFRenderOptionTextRenderingUseCoreGraphicsKey
andPSPDFRenderOptionTextRenderingClearTypeEnabledKey
as advanced rendering options. (#10231) - AddedAdds support for mirroring a
PSPDFViewController
viaPSPDFScreenController
to an external screen. (#2527) - ChangedUsing
setRenderOptions:type:
with typePSPDFRenderTypeAll
now works as expected. (#10231) - ChangedThe FTS indexer scans faster and is limited to one thread with a low priority. (#10618)
- ChangedImproves file data provider behavior during progress indication by blocking file access while the file might not yet be completely written. (V#880)
- ChangedImproves the customization options for the page grabber. (#10538)
- ChangedImproves saving behavior around encrypted files. (V#879, #9088)
- ChangedImproves performance around reading PDF files. (V#879, #10554)
- ChangedImproves performance when reading page labels (V#879, #10575)
- ChangedImproves reliability of Spotlight indexed
PSPDFLibrary
documents being found. (#10658) - ChangedImproves
PSPDFLibrary
's handling of queued documents whenupdateIndex
is called, ensuring no stale data is indexed. (#10662) - FixedFixes an issue that could prevent PSPDFDocument deserialization using
initWithCoder:
. (V#880) - FixedFixes handling of annotations with the
NoView
andPrint
flags set, and now renders them in documents generated for printing. (#9725, #10459) - FixedFixes an issue when migrating from old bookmark data. (#10560)
- FixedFixes an issue with the empty state of the outline controller. (Z#6161)
- FixedFixes an issue with the page range selection not showing up for some sharing options. (Z#6155)
- FixedFixes an issue where the page grabber might not be visible when the document starts in its loading state and then becomes available. (#10604)
- FixedFixes a crash related to embedded files when the asset name is invalid. (10601)
- FixedFixes a crash when parsing invalid metadata. (#10611)
- FixedFixes a very rare crash when using the page grabber. (V#929)
- FixedFixes an issue where coordinated file access could end up in a deadlock. (#10622)
- FixedFixes an issue where radio buttons were rendered incorrectly (#10631)
- FixedFixes
PSPDFLibrary
indexing completed notifications not including thePSPDFLibraryNotificationSuccessKey
in theuserInfo
. (#10662) - FixedFixes an issue with the outline popover sizing on some devices. (#10594)
- RemovedDeprecates
pdfViewController:didRenderPageView:
and replaces it with more accurate delegate calls. (#9577) - RemovedDeprecates a few properties in
PSPDFSignaturePropBuildEntry
. (#10448)
6.7.0 10 May 2017
See the announcement post(opens in a new tab).
- APIAdds
PSPDFDefaultScale()
which returns the main screen scale on iOS and 1.0 on macOS. (#10438) - APIAll
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) - APISimplified 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) - APIAdd notifications for gallery video playback state changes to
PSPDFMediaPlayerController
. (#9758) - API
PSPDFStatefulTableViewController
conforms to the newly addedPSPDFStatefulViewControllerProtocol
protocol. (V#775) - APIRename enum
PSPDFStatefulTableViewState
toPSPDFStatefulViewState
. (V#775) - API
PSPDFNoteAnnotationViewController
now declares that it implementsUITextViewDelegate
. (#10407) - APIRenames
-[PSPDFRenderQueue cancelAllJobs]
tocancelAllTasks
. (#10417) - AddedAdds the option to specify the image scale in a
PSPDFRenderRequest
. (#10413) - AddedAdds support for coordinated file operations to
PSPDFDocument
and implements theNSFilePresenter
protocol. (#1859) - AddedAdds
PSPDFPageGrabberController
andPSPDFPageGrabber
to provide UI to quickly scroll through a document. (#76) - AddedAdds support for
PSPDFDocument
progress indication via thePSPDFFileProvider
API. Check outDocumentProgressExample.swift
for more information. (#10410) - AddedAdds an error handling delegate method to
PSPDFTextSearchDelegate
to better notify of errors during text search. (#10276) - AddedAdds support for
PSPDFAnnotationTriggerEventLooseFocus
JavaScript events. (#10295) - AddedAdds support for the
NeedAppearances
form flag. (#10288) - AddedAdds support for automatically closing deleted documents to
PSPDFViewController
andPSPDFTabbedViewController
. (V#790) - AddedAdds support for respecting
minimumSize
ofPSPDFAnnotation
during creation as well. (#10435) - AddedAdds a
contentsLocked
property toPSPDFAnnotation
that checks thePSPDFAnnotationFlagLockedContents
flag. We now do not allowing editing contents for annotations with this flag. (#9552) - AddedAdds support for searching choice form options. (#10306)
- AddedAdds the form navigation bar to the top of choice form options when in half modal presentation. (#10307)
- ChangedImproves naming for the ink annotation fill color inspector option. (#10088)
- ChangedImproves
PSPDFTextSearch
handling of invalid or locked documents. (#10276) - ChangedImproves support for custom bookmark provider. (#9649)
- ChangedImproves the user experience when the user denied access to the camera or the photo library. (#9752)
- ChangedImproves performance around complex PDF documents. (#10290, #10295)
- ChangedImproves cache invalidation when files change while the document is not opened or the app is not running. (#10212)
- ChangedImproves
NSCoding
support forPSPDFFileDataProvider
, by ensuring its URL is preserved in application path independent way. (V#817) - ChangedImproves sqlite3 linking. (#10089)
- ChangedImproves reliability of reading from data providers. (#10382)
- ChangedImproves documentation of
PSPDFX509
's memory model for the encapsulatedOPENSSL_X509
object. (#10225) - ChangedImproves documentation of some annotation flags which were incorrectly said to have been ignored. (#9552)
- ChangedChoice 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) - FixedFixes an issue where the
cachePolicy
of a render request could be ignored in some cases. (#10428) - FixedFixes highlight annotations rendering incorrectly in documents created by PowerPoint and some other PDF creators. (#9677)
- FixedFixes
PSPDFFontSizeName
not being public despite being referenced in the documentation. (#10223) - FixedFixes an issue when setting
pageIndex
beforePSPDFViewController
was shown. (#10079) - FixedFixes an issue where bookmarks were not being saved for viewer only licenses. (#10025)
- FixedFixes the Clear Field button not being enabled at the correct times when editing form fields. (#10254)
- FixedFixes a retain cycle in
PSPDFOutlineElement
. (#10287) - FixedFixes an issue with scrolling in the outline list. (#10251)
- FixedFixes rendering issues with
Arial Narrow
. (#10244) - FixedFixes an issue where annotations were rendered in an outdated state when modifying annotations while rendering was in progress. (#9991)
- FixedFixes an issue with collapsing outline elements when searching (#10409)
- FixedFixes a locking issue related to UID generation. (#10453)
- FixedFixes an issue where the document editor cell layout could remain out of date after a collection view bounds size change. (#9511)
- FixedFixes an issue that could result in a very long running loop when rendering PDF documents with broken dashed lines. (#9764)
- RemovedDeprecates
-[PSPDFRenderQueue concurrentRunningRenderRequests]
. (#10417)
6.6.1 13 Apr 2017
- APIAdds
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) - ChangedImproves the view state restoration logic when a view controller is presented with/without the toolbar. (V#723)
- ChangedImproves stability in low memory situations. (#10086)
- ChangedImproves error reporting in
PSPDFPKCS12
when unlocking fails. Also fix premature unloading of OpenSSL digests/algorithms from memory. (#10021, #10022) - ChangedImproves support for adaptive user interfaces in
PSCCustomToolbarExample
. (#9578) - ChangedImproves some warning log messages for better clarification. (#10168)
- ChangedFreshens up the visual design of
PSPDFDocumentPickerController
. (#10108) - ChangedMoves error codes reported by
PSPDFPKCS12
into thePSPDFErrorCode
enum to be more consistent with the rest of the framework. (#10022) - ChangedDefault 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)
- FixedFixes an issue when using the image picker on form elements in double page mode. (#10069)
- FixedFixes an issue with loading XFDF annotations. (#10096)
- FixedFixes text color in form fields not rendering correctly and not being compatible with other PDF readers. (#10090)
- FixedFixes the processor call to
setFormMappingNameMappings:
. (#10102) - FixedFixes an issue with invisible form fields if their bounding box wasn't normalized. (#10035)
- FixedFixes an issue with flattening form fields appearing upside down. (#10036)
- FixedFixes status bar related HUD issues. (#9975)
- FixedFixes an issue where the freetext annotation intent conversion option was shown in the annotation inspector during annotation creation. (#9109)
- FixedFixes an issue where certain bar button items would remain selectable when disabled. (#9130)
- FixedFixes annotation toolbar drag & drop for certain container view controller arrangements. (#9746)
- FixedFixes a layout issue in
PSPDFDocumentPickerController
(#9743) - FixedFixes an issue with displaying the empty state of the outline list. (#10151)
- FixedFixes an issue where wrong values were rendered in forms. (#10007)
- FixedFixes an issue while saving with a
PSPDFXFDFAnnotationProvider
. (#10187) - FixedFixes an issue that could cause very low priority render tasks to never be executed. (#10166)
- FixedFixes an issue with infinite loop galleries when presented modally. (#9941)
- FixedFixes an issue with using
-[PSPDFDocument setPageBinding:]
. (#10186) - RemovedDeprecates 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(opens in a new tab).
PSPDFKit now requires and is built with Xcode 8.3 (8E162).
- APIVarious methods have been converted to properties where appropriate. This is source compatible for Objective-C but might require small adjustments in Swift code. (#9854)
- APIAdds
PSPDFDocumentPDFMetadata
. This class allows you to retrieve and set metadata in a PDF. This deprecates-[PSPDFDocument metadata]
. - APIAdds
PSPDFDocumentXMPMetadata
. This class allows you to retrieve and modify data in the XMP stream inside a PDF document. - APIAdds
clearRegisteredSigners
toPSPDFSignatureManager
to remove all registered signers. (#9908) - API
PSPDFOutlineCell
now uses a customnameLabel
property instead ofUITableViewCell
stextLabel
for displaying the outline name. (#9930) - APIAdds
formFieldNameMappings
andformMappingNameMappings
toPSPDFProcessorConfiguration
for changing the name of form fields. (#9868) - APIAdds
shouldShowImageEditor
toPSPDFImagePickerController
, which configures showing the image editor. (#10058) - AddedAdds 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)
- AddedAdds more callbacks to
PSPDFImagePickerControllerDelegate
to get the selected and edited images from the image picker. (#9510) - AddedAdds the ability to keep the outline hiearchy intact and to collapse and expand elements while searching. (#9930)
- ChangedChanges the line thickness slider in the inspector (
PSPDFAnnotationStyleViewController
) to be more precise for smaller values and reduces the minimum thickness from 1 to 0.5 points. (#9464) - ChangedChanges the inspector’s opacity and line thickness value labels to use monospaced numbers so they change more smoothly when using the slider. (#9891)
- ChangedImproves support for "buttonImportIcon" JS functionality in forms to be more in line with Adobe. (#9730).
- ChangedImproves creation and rendering of small cloud annotations. (#9830)
- ChangedImproves form loading performance for some documents. (#9382)
- ChangedImproves
PSPDFLibrary
search when using FTS5. (#10018) - ChangedImproves support for RTL text selection. (#9688)
- ChangedImproves JavaScript calculation support. (#10024)
- ChangedImproves status bar management reliability. (#9975)
- ChangedImproves memory usage. (#10082)
- FixedFixes an issue where line and arrow annotations were always previewed as a dashed line. (#9024)
- FixedFixes an issue where the user could select a cloudy line style for arrow annotations. Cloudy line styles are not available for arrow annotations. (#9024)
- FixedFixes an issue where circle annotations that have a cloudy border style pass NaN values to CoreGraphics in some cases. (#9834)
- FixedFixes the JavaScript Form API by providing
setItems
,clearItems
,deleteItemAt
andinsertItemAt
again. (#9868) - FixedFixes symbol characters being used for rendering text in certain situations. (#9878)
- FixedFixes an issue where JavaScript wasn't executed when a choice form element was selected. (#9894)
- FixedFixes the half modal view controller close button animation timing during dragging. (#9895)
- FixedFixes a race condition crash in
PSPDFCoreFormProvider
. (#9744) - FixedFixes an issue where the presented
SFSafariViewController
was blank while a popover was visible. (#9149) - FixedFixes an issue with flattening annotations using custom
PSPDFFileAnnotationProvider
subclasses. (#9914) - FixedFixes the JavaScript action triggers
MouseUp
andMouseDown
and the JavaScriptdisplay
property. (#9932) - FixedFixes an issue with unselectable form checkboxes in certain documents. (#9960)
- FixedFixes full text search results returning incorrect results when an unmatched quote character is included in the search string. (#9831)
- FixedFixes YouTube cover image parsing. (#10003)
- FixedFixes text field form rendering when text properties are changed. (#9956)
- FixedFixes an issue with exporting choice form elements to JSON. (#9420)
- FixedFixes an issue where the export value instead of the label was rendered in a
PSPDFChoiceFormElement
. (#9953) - FixedFixes an issue where some video preview thumbnails may be upside down. (#9992)
- FixedFixes an issue with a missing red border around required form fields. (#9983)
- FixedFixes a view state restoration issue in continuous scroll mode that could trigger an internal assertion. (#9936)
- FixedFixes an issue with sharing
PSPDFDocument
including multiple files. (Z#5864) - FixedFixes an issue with making form elements non-editable. (#10009)
- FixedFixes an issue where the document editor may show page thumbnails with an incorrect orientation. (#9974)
- FixedFixes an issue with selecting a entry in a
PSPDFChoiceFormElement
. (#10056) - FixedFixes free text annotation colors not being compatible with Adobe Acrobat and other PDF readers, and not being read properly in some situations. (#8941)
- FixedFixes a layout issue in the outline list. (#9516)
- FixedFixes an issue that prevented the document editor cells from loading the correct thumbnail image. (#10083)
- RemovedDeprecates
+[PSPDFOutlineCell heightForCellWithOutlineElement:documentProvider:constrainedToSize:outlineIntentLeftOffset:outlineIntentMultiplier:showPageLabel]
in favor of a self-sizing table view cell. (#9930)
6.5.1 15 Mar 2017
- APIIntroduces
-[PSPDFDocumentProvider fileId]
and-[PSPDFDocument documentId]
. A permanent identifier (if available) based on the contents of the file at the time it was originally created. (V#602) - APIAdds
PSPDFApplePencilDetectedChangedNotification
. Use this instead ofPSPDFApplePencilDetectedNotification
to avoid unnecessary work when there is no change in detection state. (#9766) - APIAdds
shouldExpandCollapseOnRowSelection
subclassing hook to modify the expand/collapse behavior inPSPDFOutlineViewController
. (#9691) - Changed
PSPDFApplePencilDetectedNotification
is no longer posted whendetected
is set toNO
to better clarify its purpose. (#9766) - ChangedImproves the bookmark view controller reload behavior by implementing incremental updates. (#9580)
- ChangedCalling
description
on the document no longer tries to parse the document. (#9556) - ChangedPolygon annotations now correctly require at least 3 points before it is possible to commit them. (#9800)
- ChangedImproves the drawing order of watermarks and annotations. (#9258)
- ChangedImproves formatting of text related annotations in the annotation list view. (#9740)
- ChangedImproves creation of dashed and cloudy annotations. (#9738)
- FixedFixes a condition where bold font would be incorrectly used for text that is not to be highlighted in
PSPDFSearchViewController
. (#608) - FixedFixes a crash on iOS 9.0.x. (#9789)
- FixedFixes ghost images when selecting form elements. (#9482)
- FixedFixes an issue on incrementally saving using a data provider. (#9410)
- FixedFixes a crash that could occur when drawing polygon annotations with the cloudy line style. (#9800)
6.5.0 9 Mar 2017
See the announcement post(opens in a new tab).
- APIStylus support has been modified to better support Apple Pencil. If you integrated a third-party stylus SDK with PSPDFKit as demonstrated in
PSCStylusSupportExample
, you’ll need to revise this. We recommend addingPSPDFApplePencilDriver
inavailableDriverClasses
, andannotationToolbar.additionalButtons = @[annotationStateManager.stylusStatusButton]
must be replaced withannotationToolbar.showingStylusButton = YES
. The stylus support guide(opens in a new tab) andPSCStylusSupportExample
have been updated to reflect this. (#6525) - APIChanges
fitToWidthEnabled
type toPSPDFAdaptiveConditional
and adjusts its behavior. (V#527) - APIMakes
PSPDFAnnotationString*
and some constants for stylus drivers nicer to use from Swift. (#9543, #9672) - APIIntroduces
-[PSPDFRenderQueue scheduleTasks:]
to schedule multiple tasks at once. (#9416) - APIIntroduces
-[PSPDFRenderTask groupTasks:completionHandler:]
to group multiple render tasks together and get a single completion handler call once all of them complete. (#9416) - APIA new sharing option has been introduced to improve document export for print.
PSPDFDocumentSharingOptionFlattenAnnotationsForPrint
should be used instead ofPSPDFDocumentSharingOptionFlattenAnnotations
when printing. This is set by default inPSPDFConfiguration.printSharingOptions
. (#9295) - APIIntroduces
PSPDFPrintConfiguration
to customize the print flow or set a default printer. (#9650) - AddedAdds first-class Apple Pencil support. Users can now annotate documents with the Pencil while scrolling and tapping with a finger. This is built into
PSPDFStylusManager
,PSPDFAnnotationStateManager
andPSPDFAnnotationToolbar
and enabled by default. It is also possible to set the Apple Pencil to always create a particular annotation type, such as ink or highlight, without showing any UI. Learn more in the new Apple Pencil guide(opens in a new tab). (#6525) - AddedAdds 3D Touch preview support in
PSPDFThumbnailViewController
,PSPDFAnnotationTableViewController
,PSPDFOutlineViewController
andPSPDFBookmarkViewController
. (#9195) - AddedAdds support for non-printable annotations via the new
PSPDFDocumentSharingOptionFlattenAnnotationsForPrint
option. (#9295) - AddedAdds an option to close all tabs except one. Accessible by selecting
Close All Other Tabs
after long pressing a close button inPSPDFTabbedViewController
. (#9393) - AddedAdds an option to set cloudy borders on geometric annotations in the annotation inspector. (#9675)
- ChangedImproves settings controller by preventing user from selecting unsupported configurations. (#8321)
- ChangedImproves the annotation view controller reload behavior by implementing incremental updates. (#9520)
- ChangedImproves the animation in the kiosk grid example. (#9225)
- ChangedImproves text to speech language detection for some documents. (#9371)
- ChangedImproves haptic feedback when scrubbing to first and last page. (#9193)
- ChangedImproves the transition to and from the fullscreen gallery view mode. (#9460, #9467)
- ChangedImproves compatibility with embedded videos to allow playing even more format variations. (#9484)
- ChangedImproves JavaScript support for formatting dates in form fields. (#9481)
- ChangedImproves disk usage and reuses temporary paths for asset annotations. (#9396)
- ChangedImproves page navigation with keyboard shortcuts. (#9234)
- ChangedImproves font size while editing a text form element. (#9419, #9436)
- ChangedImproves support for certain types of link annotations. (#9201)
- ChangedUpdates OpenSSL to 1.0.2k. (#9364)
- ChangedChanging the tab in
PSPDFTabbedViewController
now creates haptic feedback. (#9415) - ChangedThe example stylus drivers have now been tested with the Adonit SDK 3.3 and Wacom SDK 2.1.0. (#9672)
- ChangedThe annotation state manger’s
state
is no longer set tonil
when changing selected annotations, saving a document, or changingPSPDFViewController
’s document. This was necessary to create a great experience with Apple Pencil. (#6525) - ChangedStatus HUD notifications are no longer shown when the connected stylus changes. These can be turned back on with
PSPDFStylusManager
’s newshowsStatusHUDForConnectionStatusChanges
property. (#6525) - FixedFixes an issue where checking for a cached image falsely resulted in a cache miss when checking for smaller images in some size constellations. (#9440)
- FixedFixes an issue with the thumbnail view mode layout. (#9456)
- FixedFixes an issue with generating a document from a local file. (Z#5470)
- FixedFixes an issue with half modal view controller avoidance. (#9314)
- FixedFixes an issue with
-[PSPDFLibraryFileSystemDataSource indexItemDescriptorForDocumentWithUID:]
returningnil
beforePSPDFLibrary.updateIndex
is called. (#9392) - FixedFixes an issue where pages were disappearing when laying out
PSPDFViewController
multiple times in a very short time frame. (#9402) - FixedFixes positioning of free text annotations when pasting text. (#9299)
- FixedFixes a rare deadlock encountered with background saving. (#8689)
- FixedFixes relative path for documents stored in an iCloud container. (V#599)
- FixedFixes an issue where exporting a document with forms didn't always automatically invoke save. (#9457)
- FixedFixes hard to read text in small choice form elements. (#9450)
- FixedFixes an issue where search may not return every match for some documents. (#9173)
- FixedFixes an issue that cancelled ongoing animations when the HUD was animating in or out. (#8410)
- FixedFixes the
PSPDFAnnotationStyleViewController
(inspector) shown from the annotation toolbar not showing the annotation preview on iPhone in landscape. (#9512) - FixedFixes an issue with layout invalidation when in thumbnail view mode and rotating the device while the app is in the background. (#9523)
- FixedFixes
PSPDFLibrary
's usage of background tasks when indexing. (#9674) - FixedFixes an issue in the renderer that produced an endless loop with invalid values in certain locations of a PDF. (#9595)
- FixedFixes an issue where some annotations with dashed border was incorrectly rendered. (#9435)
- FixedFixes a text layout issue in
PSPDFOutlineViewController
. (#9516) - RemovedRemoves
PSPDFStylusDriverDelegateKey
which was not used. (#9672)
6.4.0 31 Jan 2017
See the announcement post(opens in a new tab).
- APIAdjusts
PSPDFDocument
initializers for better Swift support.initWithContent:signatures:
is now marked as the designated initializer for this class. (#9143) - APINew helper
searchableItemAttributeSetWithThumbnail:
onPSPDFDocument
for easier Handoff/NSUserActivity/Spotlight integration. (#9218) - APIThe
doublePageModeOnFirstPage
property inPSPDFConfiguration
has been renamed tofirstPageAlwaysSingle
. (#9277) - APIMakes
PSPDFMetadata*
keys nicer to use from Swift. (#9218) - APIAdds
-[PSPDFLibraryFileSystemDataSource indexItemDescriptorForDocumentWithUID:]
to retrieve document metadata without having to read the document from disk. (#9317) - APIAdds
PSPDFLibraryFileSystemDataSource.documentProvider
to allow for custom-prepared (encrypted) documents to be used. (#9307) - APIAdds
pdfViewController:didExecuteAction:
method toPSPDFViewControllerDelegate
which is called after an action has been executed. (#9297) - AddedAdds support for FTS5 (full-text search) to
PSPDFLibrary
, when available. This updates the internal format and will require a re-indexing. See https://sqlite.org/fts5.html for more details on FTS5. (#9026) - AddedAdds support for right-to-left user interface. (#5635)
- AddedAdds translations for Arabic.
- AddedAdds a photo editor to crop, rotate and zoom images, when adding a new page or an image annotation. (#969)
- AddedAdds a search UI to the annotations table view controller. (#8906)
- AddedAdds a
placeholderImage
to<PSPDFPageCellImageRequestToken>
for smoother transitions to the thumbnail view mode. (#9197) - ChangedImproves performance when zooming and scrolling in certain cases. (#9288)
- ChangedImproves behavior of close-all-tabs option in
PSPDFTabbedBarController
. (#9050) - ChangedImproves power consumption in low power mode. (#5595)
- ChangedImproves external keyboard support when navigating through form fields. (#8503)
- ChangedImproves the highlight icon for the annotation toolbar. (#9187)
- ChangedImproves automatic page mode threshold to use double page mode more often. (#9161)
- ChangedImproves performance of library indexing and preview snippet generation. (#9131)
- ChangedImproves behavior of annotations in night mode. (#9207)
- ChangedImproves
PSPDFLibraryFileSystemDataSource
's checking of its source documents URL to ensure it is a directory. (#9216) - ChangedImproves display of indexed documents in Spotlight. (#9219)
- ChangedImproves localizations in Norwegian and renames
Save To Camera Roll
toSave to Photo Library
. (#9353) - ChangedImproves the padding around responders that are scrolled to become visible when the keyboard is shown. (#9316)
- ChangedImproves the layout of the empty state in thumbnail view mode when filtered for annotations or bookmarks. (#9315)
- ChangedChanges default number of search results and preview snippets in library queries to 500. Can be modified via
options
dictionary. (#9131) - ChangedForm annotations now honor the
hidden
flag just like other annotation types. (#9200) - FixedFixes an issue where the Current Page option was presented in pages range picker even when there're no visible page indexes set. (#9350)
- FixedFixes a crash that could happen while rotating in some scenarios. (V#530, V#532)
- FixedFixes a rare crash in
PSPDFTabbedBarController
. (V#539) - FixedFixes issues with selected annotations on rotated pages. (#9083)
- FixedFixes a layout issue when switching to thumbnail mode in some cases. (#9128)
- FixedFixes an issue with entering edit mode of free text annotations when long pressing. (#9148)
- FixedFixes an issue with free text annotations in night mode. (Z#5365)
- FixedFixes an issue where the document editor could get into an invalid state while interactive movement of pages. (#9198)
- FixedFixes an issue where annotations were not rendered in night mode color while annotation mode was enabled. (#9168)
- FixedFixes an issue where the scrubber bar sometimes requested the wrong image size. (#8998)
- FixedFixes selecting items in the annotation toolbar not working properly in some configurations with restricted
editableAnnotationTypes
. (#9226) - FixedFixes an issue where borders weren't dashed properly. (#9260)
- FixedFixes an issue where menu controller stayed visible after deselecting an image annotation. (#9286)
- FixedFixes an issue where the annotation user name controller could dismiss its parent controller as well. (#9296)
- FixedFixes an issue where the annotation's search results don't select the annotation when tapped. (#9313)
- FixedFixes a rare issue where inline image objects were not released properly. (#9241)
6.3.1 9 Jan 2017
- APIRemoves unused
onlyReturnIfVisible
parameter fromPSPDFChildViewControllerForClass
. (#9072) - ChangedImproves haptic feedback from annotation toolbar and thumbnail scrubber. (#9065)
- FixedFixes the shadow position for sound annotation appearance streams. (#9037)
- FixedFixes
PSPDFLibraryFileSystemDataSource
becoming inconsistent with the document library. (#9043) - FixedFixes
PSPDFLibraryFileSystemDataSource
ignoring encrypted but not locked documents. (#9047) - FixedFixes height of the search view controller when the search results are cleared. (#9028)
- FixedFixes the author name view never being shown if the annotation button is tapped while a popover is visible. (#9058)
- FixedFixes the half modal presentations such as the annotation inspector not being dismissed if the user cancels an interactive pop gesture then attempts to go back a second time. (#9058)
- FixedFixes the annotation toolbar not being hidden when popping the
PSPDFViewController
from a navigation stack while there is a half modal presentation. (#9058) - FixedFixes it being possible to show the annotation toolbar underneath a half modal presentation. (#9058)
6.3.0 21 Dec 2016
See the announcement post(opens in a new tab).
PSPDFKit now requires and is built with Xcode 8.2.1 (8C1002).
- APIAdds
-[PSPDFLibrary indexedDocumentWithUID:]
method to easily retrieve documents from FTS search results. (#8884) - APIAdds an "explicit mode" to
PSPDFLibraryFileSystemDataSource
, to improve handling of cases where the documents directory's contents would change rapidly. (#8894) - AddedAdds option to close all tabs by long pressing a close button in
PSPDFTabbedViewController
. (#8662) - AddedAdds Norwegian and Slovak language and improves the translations overall. (#8975)
- ChangedImproves updating of cells in
PSPDFDocumentPickerController
when a document title changed. (#8874) - ChangedImproves the flexible toolbar drag & drop handle. (#8883)
- ChangedImproves website conversion support in
PSPDFProcessor
. The changes make it less likely for pages to be converted in a partially rendered state. (#8830) - ChangedImproves the cache eviction algorithm. (#8876)
- ChangedImproves the eraser for natural drawing ink annotations. (#7532)
- ChangedImproves button selection across different annotation toolbar configurations by prioritizing recently picked tools on all toolbar configurations. (#8610)
- ChangedImproves automatic reloading of
PSPDFAnnotationTableViewController
when changing properties. (#8966) - ChangedImproves settings UI with new icons representing scrolling directions. (#8590)
- ChangedImproves callout annotation resizing and auto sizing behaviors. (#8692)
- ChangedKey classes are now better protected against misuse to show potential bugs early. (#8892)
- FixedFixes an issue where
PSPDFLibrary
would send duplicate notifications when spotlight indexing is disabled. (#8833) - FixedFixes loss of selection when the app is backgrounded. (#8458)
- FixedFixes an issue where XFDF fields are incorrectly filled. (#8925)
- FixedFixes an issue where the scrubber bar could take a lot of CPU time to layout. (#8876)
- FixedFixes an issue with loading invalid annotations. (#8869)
- FixedFixes an issue with view state restoration when using specific scroll and transition modes. (#8801)
- FixedFixes an issue while garbage collecting PDF objects on saving non-incrementally. (#8901)
- FixedFixes documentation of
-[PSPDFLibrary updateIndex]
which incorrectly stated that the method would return immediately and was asynchronous. (#8893) - FixedFixes an issue with parsing invalid sound annotations. (#8814)
- FixedFixes an issue where search result cells showed the wrong search result when tapping it in some cases. (#8931)
- FixedFixes an issue where the frame of note annotations was incorrectly displayed on the page. (#8865)
- FixedFixes a crash when trying to save a photo and
NSPhotoLibraryUsageDescription
is not set in your Info.plist. The menu item is no longer shown unless a usage description is found. You should add a usage description to your Info.plist to re-enable this feature. (#8992) - FixedFixes a crash when using custom versions of SQLite 3.11 or higher. (#8967)
6.2.1 30 Nov 2016
- APIAdds
indexedUIDCount
andindexedUIDs
properties toPSPDFLibrary
. (#8757) - ChangedEnables integration with PSPDFKit Instant(opens in a new tab).
- ChangedImproves the UI when asking for an author name the first time the user wants to add an annotation. (#6160)
- AddedAdds key commands to allow up/down arrow keys on a physical keyboard to change pages. (#8395)
- FixedFixes a missing deprecation statement on
-[PSPDFDocument diskCacheStrategy]
. Disk cache strategy is deprecated since PSPDFKit 6.1. (#8783)
6.2.0 28 Nov 2016
See the announcement post(opens in a new tab).
- APIChanges
PSPDFDocumentSharingCoordinatorDelegate
selector fromdocumentSharingCoordinator:didFailWithError:
todocumentSharingCoordinator:didFinishWithError
. New call is more general and is called on success and on failure. (#8568) - APIChanges
-[PSPDFDocumentSharingViewController initWithDocument:]
(and for subclasses) to-[PSPDFDocumentSharingViewController initWithDocuments:]
. Update propertydocument
todocuments
inPSPDFDocumentActionExecutor
. (#8595) - APIAdds new options to customize the appearance of
PSPDFSearchViewController
. (#8679) - APIAdds
closeMode
property toPSPDFTabbedViewController
, which may be used to show the close button in all tabs, or in all tabs but only in regular width size classes. The BooleanallowsClosingDocuments
is deprecated. If you previously set this property toNO
, usePSPDFTabbedViewControllerCloseModeDisabled
instead. The default behavior has not changed. (#8595) - AddedAdds support for rendering annotations in their corresponding color in (color correct) night mode. (#8582)
- AddedAdds support for annotation flags
PSPDFAnnotationFlagReadOnly
andPSPDFAnnotationFlagLocked
. (#1182) - ChangedThe default allowed disk cache size has been decreased and the set allowed cache size is now treated as a hint. The actual maximum cache size might be smaller depending on several conditions. (#8648)
- ChangedImprovements to the render engine for performance and correctness. (#8310)
- ChangedImproves memory handling in low-memory situations and with many open documents. (#8352, #8447)
- ChangedImproves document sharing by adding support for handling multiple documents. (#8715)
- ChangedImproves user experience when adding a new page via the Document Editor. (#8450)
- ChangedImproves performance of decoding JPEG images. (#8712, #8673)
- ChangedImproves disk cache. It is now smarter which leads to smaller cache size in many cases. (#8648)
- ChangedImproves compatibility with Swift. (#7990, Z#5063)
- ChangedImproves software dimming so it no longer affects the navigation bar style. (#8663)
- ChangedImproves handling of camera access being denied when using UIImagePickerController. (#8546)
- ChangedImproves bookmark handling in Processor and DocumentEditor. (#8091)
- ChangedImproves scrubber thumbnail shadow rendering in double page mode. (#8669)
- ChangedImproves text when no search results are found. (#8769)
- ChangedImproves translations. (#8698)
- ChangedImproves
PSPDFLibrary
's handling of documents that are to be removed from the index. - ChangedWorks around a UIKit issue that disables user interaction on custom bar button items in some scenarios. (V#407, rdar://problem/18906964)
- FixedFixes an issue where
pdfViewController:didShowController:options:animated:
could passnil
as thecontroller
parameter in rare cases. (#8641) - FixedFixes an issue where form elements where partly parsed if they were not part of the license. (#8567)
- FixedFixes memory issues in the document sharing controllers. (#8568)
- FixedFixes an issue where
PSPDFLibraryFileSystemDataSource
incorrectly handled removal of a document from the search index (#8642). - FixedFixes an issue where the PDF file was modified even if
PSPDFAnnotationSaveModeExternalFile
was specified. (#8667) - FixedFixes an issue with flattened form annotations. (#8151)
- FixedFixes an issue where the "Open In" option didn't export a document if it wasn't file based. (#8683)
- FixedFixes an issue where annotations could be printed when the "Print without annotations" option was selected. (#8650)
- FixedFixes an issue where text selection was broken after the app came back from background. (#8660)
- FixedFixes the tabbed bar not scrolling to show all of the selected tab if the tapped tab is already selected. (#8687)
- FixedFixes an issue that caused annotations to flicker when deselecting while a render view was present. (#8661)
- FixedFixes an issue requesting text from glyphs on certain documents. (#8657)
- FixedFixes an issue where the text selection is lost when switching apps. Tapping the selection brings back the menu now. (#8458)
- FixedFixes an issue where text was rendered incorrectly. (#8102)
- FixedFixes an issue where the
pdfDocumentDidSave:
delegate callback was invoked despite the document not being modified by the save operation. (#8722) - FixedFixes a crash that could occur when the device was rotated while the content offset was animated in continuous scroll mode. (#8710)
- FixedFixes an issue where arrow annotation default style changes were leaking over to line annotations. (#8691)
- FixedFixes an issue where scrubber thumbnail shadow was applied multiple times. (#8669)
6.1.0 15 Nov 2016
See the announcement post(opens in a new tab).
PSPDFKit now requires and is built with Xcode 8.1 (8B62).
- APIAdds new Analytics API. (#8224)
- APIAdds document saving callbacks to
PSPDFDocumentDelegate
. (#8234) - AddedAdds CoreSpotlight indexing to
PSPDFLibrary
which adds entire PDFs (with full text) to native search. (#6966, #8421) - AddedAdds
PSPDFMemoryCache
andPSPDFDiskCache
to give more control over the behavior of the cache. (#7964) - AddedAdds translations for user-facing strings in the settings for the languages da, el, fi, id, it, ko, ms, nl, pl, pt-BR, pt-PT, sv, th, and tr. (#8413)
- AddedAdds translations for using-facing strings in all supported languages (#8613)
- AddedAdds option to add a new page in the Document Editor using an image. (#8219)
- AddedAdds support for custom CIFilter when rendering. (#8332)
- ChangedImproves visibility of disabled toolbar buttons. (#8319)
- ChangedImproves page index restoration when rotating from double page mode to single page mode. (#8272)
- ChangedImproves view state restoration when scrolling between pages. (#8373)
- ChangedImproves memory usage handling of
PSPDFProcessor
. (#8352) - ChangedImproves digital signature permissions. (#8391)
- ChangedImproves handling of bookmarks for nonexistent pages. (#8466)
- ChangedImproves document editor page rendering by showing annotations. (#8467)
- ChangedImproves layout in thumbnail mode in some edge cases. (#8466)
- ChangedImproves memory cache efficiency when using the scrubber bar in large documents. (#8470)
- ChangedImproves the default value for the page range when exporting a document. (#8532)
- ChangedImproves document caching behavior when using the document editor. (#8537)
- ChangedImproves view state restoration when returning from background. (#8307)
- ChangedImproves the look of the search results. (#8490)
- FixedFixes a race condition where
PSPDFDocumentUnderlyingFileChangedNotification
andpdfDocument:underlyingFileDidChange:
were triggered even though the save originated from the document itself. (#8525) - FixedFixes a race condition in the Document Editor. (#8370)
- FixedFixes a few rare crashes that we discovered in the SDK after shipping PDF Viewer. (#8367)
- FixedFixes an issue where annotations didn't update when dragging resizing knobs unless their bounding box changed. (#8354)
- FixedFixes an issue that could occur during app termination under rare conditions. (#8366)
- FixedFixes an issue due key-value observing of
title
in specific situations. (#8376) - FixedFixes an issue where images from the camera weren't compressed according to
PSPDFDefaultImageCompressionKey
. (#8154) - FixedFixes an issue in the Document Editor when selecting all pages could cause collection view crash. (#8402)
- FixedFixes an issue on adding annotations to a document with a
DocMDP
signature. (#8391) - FixedFixes an issue that made the close button reappear after setting it to nil. (#8383)
- FixedFixes an issue with sound annotations being distorted or rendered incorrectly. (#8386, #8429)
- FixedFixes an issue that leads to excessive CPU usage when opening invalid documents. (#8427)
- FixedFixes an issue where the caret in a note's text view was missing when editing. (#8381)
- FixedFixes an issue where adding a custom stamp did not always exit the stamp mode automatically. (#8462)
- FixedFixes an issue where line annotations were saved in a wrong format. (#8396)
- FixedFixes an issue where some annotations flickered when selecting them. (#8469)
- FixedFixes an issue where background updates via document JavaScript might cause property changes on the wrong thread. (#8468)
- FixedFixes an issue where annotations could be rendered with a wrong image. (#8493)
- FixedFixes an issue where the border of a page in the thumbnail view wasn't rendered correctly in rare cases. (#8380)
- FixedFixes an issue where text annotation was always scrolled to the top of the keyboard when continuous scrolling was used. (#8355)
- FixedFixes an issue where tabbedPDFController:shouldChangeVisibleDocument: and tabbedPDFController:didChangeVisibleDocument: could be called without the document actually changing. (#8530, #8525)
- FixedFixes an issue where language auto-detection for text-to-speech could fail in rare cases. (#8593)
- FixedFixes an issue with opening a PDF with bookmarks in Preview.app. (#8591)
- FixedFixes an issue where stamp annotations could disappear. (#8597)
- FixedFixes an issue where modifying the document page count using the document editor could trigger an assertion in continuous scroll mode. (#8604)
- FixedFixes incorrect declaration of PSPDFLogLevelMask. It's now correctly marked as an NS_OPTIONS bitmask. (#8628)
- FixedFixes an issue where the first page could not be selected in the scrubber bar in some cases. (#8623)
- FixedFixes an issue with the document editor's page sizes when adding new pages. (V#381)
6.0.3 24 Oct 2016
- ChangedImproves customization of close button by making
-[PSPDFNavigationItem closeBarButtonItem]
nullable. (#8206) - ChangedImproves updating bar button items that are not currently added to PSPDFViewController's navigation item. (#8086)
- ChangedImproves large memory usage handling of
PSPDFProcessor
. (#8291) - ChangedImproves render performance in cases where a large image is already available in the cache. (#8334)
- ChangedUpdate notes font to match current iOS look and feel. (#8267)
- AddedAdds translations for user-facing strings in the settings for the languages de, en, es, fr, ja, ru, zh-Hans and zh-Hant. (#8286)
- AddedAdds option
alwaysRewriteOnSave
toPSPDFDocument
to allow rewriting the whole document on demand. (#8290) - FixedFixes an issue that produced a large number of cache misses in the disk cache. (#8334)
- FixedFixes an issue where annotations could be added even though annotations were disabled. (#8123)
- FixedFixes an issue where the action executor could assert when no document was set. (#8232)
- FixedFixes an issue where in very rare cases, vertical numbers could be reversed. (#5203)
- FixedFixes issues when saving to the current file in the document editor. (#8259, #8233)
- FixedFixes an issue where the default tint color was not applied for knob views. (#7940)
- FixedFixes an issue where stamps with a missing subject caused rendering issues. (#8296)
- FixedFixes an unlikely crash in annotation parsing. (#8295)
- FixedFixes an issue with embedding new sound annotations. (#8207)
- FixedFixes an issue where the menu controller was unexpectedly hidden. (#8169)
6.0.2 10 Oct 2016
- Changed
PSPDFViewController
,PSPDFMultiDocumentViewController
andPSPDFTabbedViewController
now update the UI when document titles change. (#8120) - ChangedPerformance and stability improvements to the PDF render engine. (#7890)
- ChangedImproves flattening logic for PDFs with extensive use of
ExtGStates
dictionaries. (#7484) - ChangedImproves image caching for annotations. (#8114)
- ChangedRelaxes licensing logic to be more forgiving when the license key is set at a later stage. (#7984)
- ChangedIf
document.canSaveAnnotations
is false, the annotation view is configured to not be editable by default. (#8116) - FixedFixes an issue where the annotation menu was not updated correctly for certain edge cases. (#8036)
- FixedFixes an issue where disabling annotations caused the document to render incorrectly. (#7992)
- FixedFixes an issue where moved files were not detected correctly. (FS#50)
- FixedFixes an issue where swiping through a large PDF could cause a crash. (#8141)
- FixedFixes issues with flattening annotations on certain documents. (#7484, #7486)
- FixedFixes an issue where the menu controller was not correctly hidden when some annotation types were deselected. (#7986)
6.0.1 3 Oct 2016
- ChangedUpdates OpenSSL to 1.0.2j. (#7989)
- APIMake
setRotation:forPageAtIndex:
onPSPDFDocumentProvider
public again. (Z#4618) - ChangedThe
PSPDFBookmarkViewController
no longer callssave:
automatically when dismissed. (#8033) - ChangedImproves thumbnail rendering related to the night mode settings. (#7913)
- ChangedImproves memory usage when searching in a large document. (#7958)
- ChangedImproves annotation handling in environments that do not allow saving annotations. (#7595)
- ChangedImproves delegate behavior for
pdfViewController:didRenderPageView:
which is now also called in case of a cache hit. (#8020) - ChangedImproves handling search results for deleted or changed annotations. (#8030)
- FixedFixes an issue where images in a too low resolution could be cached. (#8057)
- FixedFixes an issue with night mode and the tabbed view controller. (#7913)
- FixedFixes an issue where PSPDFViewController wrongly displayed a close button in certain scenarios. (#7993)
- FixedFixes an issue where annotations could be edited but not saved. (#8002)
- FixedFixes an issue where annotations were not positioned correctly if the page was rotated and cropped. (#7922)
- FixedFixes an issue where an annotation could disappear when other annotation was selected. (#8035)
- FixedFixes an issue where circle annotation's border was not rendered. (#7982)
6.0.0 23 Sep 2016
See the announcement post(opens in a new tab).
PSPDFKit 6 is a major new release.(opens in a new tab) It's fully optimized for Xcode 8 and iOS 10, comes with improved API for Swift 3, faster rendering, various fixes and a visual refresh. These updates make it our best release so far. As usual, our versioning scheme supports the current and the previous iOS version. We fully support iOS 9, while also focusing on many new features that iOS 10 offers.
- APIMany getters/setters named
page
orpageNumber
have been renamed topageIndex
. (#7451) - APIThe
combineInk
property onPSPDFDrawView
has been renamed todrawCreateMode
and exposed toPSPDFConfiguration
. (#7344) - API
PSPDFPlugin
has been removed. UsePSPDFStylusManager.availableDriverClasses
to configure drivers. (#7266) - APIInitialization methods of
PSPDFProcessorSaveOptions
has been changed to be cleaner and convenience initialization has been deprecated. (#7422) - API
settingsOptions
configuration property is set toAll
by default, butsettingsButtonItem
has to be explicitly added to navigation item. (#7310) - APIRemoves the legacy
PSPDFLinkAnnotationView.overscan
property. (#7521) - APIReplaces
NSSet<NSNumber *>
withNSIndexSet
in the document editor classes. (#7676) - ChangedUpdates OpenSSL to 1.0.2i. (#7944)
- AddedAdds an option to set the line width of the eraser tool using
PSPDFAnnotationStyleManager
. (#7748) - AddedAdds a page mode control to
PSPDFSettingsViewController
. (#7708) - AddedAdds a configurable bookmark indicator button to each page of the PDF. (#7224)
- AddedAdds haptic feedback on the iPhone 7 and 7 Plus using the
UIFeedbackGenerator
API. (#7906) - AddedAdds new keyboard shortcuts for iPad hardware keyboards. (#7707)
- ChangedThe link annotation borders are now hidden by default. (#7521)
- ChangedThe
useParentNavigationBar
configuration option now forwards theprompt
,backBarButtonItem
andhidesBackButton
properties to the parent’s navigation item. (#7577) - ChangedThe page labels are now automatically dimmed in night mode. (#7562)
- ChangedThe
PSPDFNavigationItem
now has API to manage the close button in case the view controller is presented in a modal context. (#7509) - ChangedMakes
PSPDFDefaultFileManager
use background tasks when performing coordinated file access. (#7603) - ChangedMake zoom out behaviour consistent -- double tapping when zoomed in now always zooms out. (#7394)
- ChangedMakes all annotation line endings solid, irrespective of the line's style. (#7715)
- ChangedCalling
reloadData
onPSPDFViewController
now automatically preserves the current view state. (#7418) - ChangedLogging now uses the constants from
os_log
. (#7493) - ChangedImproves the performance and memory situation of the thumbnail view mode and the document view mode. (#7915)
- ChangedImproves the API for rendering and caching document. (#6881, #7645)
- ChangedImproves toolbar drag gesture by prioritizing it over the interactive pop gesture. (#7369)
- ChangedImproves audio annotation UI. (#7404)
- ChangedImproves text selection UI in several edge case scenarios. (#7399, #7400)
- ChangedImproves how the tabbed view controller handles files and saves. (V#83, V#92)
- ChangedImproves
PSPDFDefaultFileManager
to use background tasks when performing coordinated file access. (#7603) - ChangedImproves stamp annotation inspector, which now opens with the last recently selected tab. (#7446)
- ChangedImproves annotation button handling when annotation saving is disabled. (#7590)
- ChangedImproves resource usage when indexing a large amount of documents. (#7397)
- ChangedImproves notification based APIs with Swift friendly
NSNotificationName
type. (#7825) - ChangedImproves performance of loading annotations in certain situations dramatically. (#7873)
- RemovedRemoves workaround for keeping status bar view controller unchanged on iOS 9 when using the half modal presentation style. This has been fixed in iOS 10. (#7544)
- FixedFixes an issue where batch updates where not posted when interactively picking a color. (#6900)
- FixedFixes an issue where ink annotations were not rendered with the proper line thickness in some cases. (#7437)
- FixedFixes an issue where ink annotations were not unarchived properly from old
NSKeyedArchiver
files. (#7629) - FixedFixes an issue that caused two different versions of the same document kept in memory when using the tabbed view controller in some situations. (V#80)
- FixedFixes changing the documents of the tabbed view controller before the view was loaded resulting in loading the view and possibly crashing. (#7563)
- FixedFixes the tabbed view controller not scrolling to show newly inserted documents. (#7561)
- FixedFixes navigation item updates not being animated in some cases. (#7577)
- FixedFixes an issue where the text selection offsets were wrong in certain documents. (#7271)
- FixedFixes an issue where the tabbed bar could be incorrectly positioned after interface rotation. (#7179)
- FixedFixes an issue where shared document might not have recent changes. (#7717)
5.5.5 22 Sep 2016
- ChangedRename a method called
finished:
in PSPDFKit to work around a bug in Apple's App Store review process. (rdar://28252227)
5.5.4 20 Sep 2016
- ChangedImproves handling of document titles with specific characters. (#7787)
- FixedFixes an issue where the menu controller blur background was larger than the actual popover by working around an UIKit bug. (rdar://28275291, #6162)
- ChangedRenames some methods to work around a radar. (rdar://28252227)
5.5.3 12 Sep 2016
PSPDFKit 5.5.3 has been tested with the latest stable Xcode 7.3.1 and iOS 10 GM.
PSPDFKit 6 for iOS, which is compatible with Xcode 8 and works with iOS 9 and 10, is coming later this month. See our article about version support(opens in a new tab) for more details.
- ChangedChanges some internal API to prevent triggering of Apple's private API checks. (#7751)
- FixedFixes an issue where the page index was not shown in certain cases in thumbnail mode. (#7740)
- FixedFixes an issue with changing the appearance mode in
PSPDFTabbedViewController
. (#7658) - ChangedImprovements to the rendering engine and speed enhancements. (#7760)
5.5.2 5 Sep 2016
- AddedAdds option to change the color for the thumbnail button in page label. (#7696)
- FixedFixes an issue where auto page mode with curl transition could cause the document to be presented in single page mode instead of double page mode. (#7586)
- FixedFixes the eraser overlay when using an Adonit stylus. (#7535)
- FixedFixes an issue where a highlight annotation was rendered with a border. (#7618)
- FixedFixes issues where clearing of text field form elements was not working correctly. (#7623)
- FixedFixes an issue where some documents couldn't be exported or printed. (#7585)
- ChangedThe page label is now displayed instead of the page index in the thumbnail view, when available. (#7671)
5.5.1 23 Aug 2016
- API
PSPDFActivityViewController
is now public. (#7529) - ChangedChecks for the
NSMicrophoneUsageDescription
,NSCameraUsageDescription
andNSPhotoLibraryUsageDescription
keys in the app Info.plist. Will warn if missing and stop the functionality on iOS 10 if linked with SDK 10. Learn more at https://www.nutrient.io/guides/ios/getting-started/permissions/ (#7407) - ChangedChecks the linked SDK with the expected value and warns if there is a mismatch. (#7407)
- ChangedImproves the view state restoration logic when a view controller is presented/dismissed above the
PSPDFViewController
. (#7450) - FixedFixes an issue where the playback duration of a sound annotation was wrong in some cases. (#7401)
- FixedFixes an issue where files were no longer monitored for file changes after they have been saved once. (#7319)
- FixedFixes an issue where file handlers where not properly closed in some cases. (#7319)
- FixedFixes an issue where invoking a cached
PSPDFSearchViewController
without changing search terms could lead to missing highlights. (#7445) - FixedFixes an issue where thumbnail generation could crash if the size of the first page couldn't be read. (#7443)
- FixedFixes an issue where a popover might be incorrectly re-positioned after keyboard presentation. (#7456)
- FixedFixes an issue where
PSPDFLibrary.saveReversedPageText
couldn't be disabled. (#7519) - FixedFixes an issue where frequent rendering passes could cause a crash. (#7570)
5.5.0 28 Jul 2016
- AddedAdds new helpers methods to get and set the default annotation username. (#7265)
- ChangedRenders appearance stream for Square and Circle annotations if one is set. (#7327)
- ChangedImproves performance around rendering JPEG 2000 and annotation parsing.
- ChangedImproves content search within annotations to no longer search generated text like "Ink Annotation". (#7270)
- ChangedImproves compatibility when flattening documents with non-standard headers. (#7212)
- ChangedImproves annotation change updates. (#6196)
- ChangedImproves search popover placement logic when the toolbar is not at the top of the screen. (#7233)
- ChangedImproves logic around copying forms via the processor when the source document has invalid form entries. (#7273)
- ChangedImproves scrolling performance of the thumbnail view. (#6503)
- ChangedImproves alert presentation in popovers. (#7277)
- ChangedImproves JPEG2000 decoding performance. (#7307)
- ChangedImproves Wikipedia language resolving and popover presentation. (#7322)
- FixedFixes an issue while processing documents with unsaved annotations. (#7135)
- FixedFixes possible logging about unsatisfiable constraints when the view is not full screen. (Z#3346)
- FixedFixes the placeholder for when there is no document sometimes being displayed too low when the view is not full screen. (#7239)
- FixedFixes an issue with custom thumbnail layouts that are not based on
PSPDFThumbnailFlowLayout
. (#7249) - FixedFixes an issue where plugin ordering was reversed. Make sure to check if plugins are still called after this update. (#7268)
- FixedFixes an issue where Swift-based plugin subclasses were not always automatically detected if they were based on an existing plugin class. (#7268)
- FixedFixes an issue where incorrect annotation search results could be returned. (#7343)
5.4.1 8 Jul 2016
- API
activityViewControllerWithSender:
onPSPDFViewController
now enables getting a preconfigured activity view controller instance. (#7147) - APIExposes
application
on the PSPDFKit singleton to customize URL opening behavior. (e.g. you can now overridecanOpenURL:
) - ChangedImproves exporting of images that are mirrored in the PDF document. (#7089)
- ChangedImproves color generation for knobs. (#6852)
- ChangedImproves annotation cell layout in edit mode. (#4158)
- FixedFixes a regression in iOS 10 where
UIActivityController
would crash on presentation. (rdar://27261367, #7181) - FixedFixes an issue while processing documents with unsaved annotations. (#7135)
- FixedFixes an issue with extracting embedded files. (#7154)
- FixedFixes an issue with propagating
isEncrypted
properly. (#7153)
5.4.0 1 Jul 2016
See the announcement post(opens in a new tab).
- API
renderOptions
now has an associated type. The property has been deprecated in favor ofsetRenderOptions:type:
andgetRenderOptionsForType:context:
where context depends on the type. This also removes the previous subclassing hookrenderOptionsForPage:
. SubclassgetRenderOptionsForType:context:
directly instead if you need this kind of advanced behavior. - ChangedImproves document parsing to be both faster and cover more edge cases with non-standard-compliant documents. (#6820)
- RemovedRemoves workaround for rdar://23285766 (Swift over-optimization) as this has been fixed in Swift 2.2. (#6880)
- AddedAdds sqlite3 compile option checks for
THREADSAFE
,ENABLE_FTS3
,ENABLE_FTS3_PARENTHESIS
. (#6950) - AddedAdds support for creating a temporary data provider to
PSPDFFileManager
. This enables thePSPDFProcessor
to use a secure temporary file, if wanted. (#7056) - ChangedImproves
UIAppearance
support onPSPDFLabelView
andPSPDFBackForwardButton
and freshens up the default design. (#7073) - ChangedImproves annotation editing behavior for protected documents. (#6885)
- ChangedImproves the layout of segmented controls when space is limited. (#6889)
- ChangedImproves loading of asset annotations. (#6879)
- ChangedImproves handling of outline view. (#6902)
- ChangedImproves
PSPDFProcessor
API to allow processing into aid<PSPDFDataSink>
. (#7042) - ChangedImproves rendering performance in certain situations. (#6944)
- ChangedImproves accessibility around cells with sliders. (#7046)
- ChangedImproves handling of corrupt cross reference tables in PDFs. (#6838)
- ChangedImproves precision when writing highlight annotations, leading to better
highlightedString
results. (#6652) - ChangedImproves height calculation logic for the page range selection view controller. (#7104)
- ChangedImproves
containsAnnotations
no longer counts already (soft) deleted annotations. (#6956) - ChangedImproves reliability of aspect-locked resizing with
PSPDFGuideSnapAllowanceAlways
. (#7088) - ChangedImproves rotation animations in continuous scrolling mode. (#7077)
- ChangedImproves text markup annotations rendering for rotated page. (#6477)
- ChangedImproves zoom behavior when searching for annotations. (#6890)
- ChangedSilences a missing license feature warning when toggling the HUD. (#7018)
- FixedFixes subclassing of text overlay annotations. (#6954)
- FixedFixes a visual glitch during
PSPDFBackForwardButton
fadeout animation. (#7103) - FixedFixes an issue where statically linked sqlicipher library conflicted with OS version dynamically linked in PSPDFKit.framework. (#6929)
- FixedFixes an issue where a document couldn't be unlocked due to a overflowing integer in the document. (#6919)
- FixedFixes an issue with
sqlite3_errstr
not being available before iOS 8.2. (#6970) - FixedFixes an issue where setting
PSPDFDocumentSharingOptionPageRange
could trigger an assertion while printing. (#6953) - FixedFixes an issue where schemes where interpreted case sensitive when creating URL actions on iOS 9. (#6960)
- FixedFixes an issue where the add bookmark button was not presented in the bookmarks popover. (#7011)
- FixedFixes an issue where incorrect bookmark name was displayed on the list right after adding new bookmark. (#7026)
- FixedFixes an issue where a free text annotation couldn't be embedded in a document that contains invisible text. (#7008)
- FixedFixes an issue where a page couldn't be properly rotated to 0. (#7044)
- FixedFixes an issue where setting the document on controller during presentation transition could result in broken page navigation. (#7054)
- FixedFixes an issue where
NSData
backed files with dots in their title where not exported correctly when sharing. (#6904) - FixedFixes an issue on trying to strip empty pages. (#7015)
5.3.8 6 Jun 2016
- AddedAdds
PSPDFRenderInteractiveFormFillColorKey
as a render option to make the form element color override customizable. (#6529) - AddedAdds a better log message if a document is encrypted and annotations can't be embedded. (#6765)
- AddedAdds
cropBox
andmediaBox
toPSPDFPageInfo
. (#6745) - APIThe
vertices
property ofPSPDFImageInfo
is now boxed instead of a raw pointer array. (#6831) - APIThe public constructor for
PSPDFImageInfo
has been removed - this class should never be manually constructed. Instead, get it fromPSPDFTextParser
. (#6831) - ChangedImproves rendering performance for some complex documents. (#6686)
- ChangedImproves the position of the filter UI element in the thumbnail view mode. (#6651)
- ChangedImproves security in various critical areas of the framework via a code audit. (#6774)
- FixedFixes a regression that raised an exception when changing the font or resizing a free text annotation. (#6709)
- FixedFixes an issue where UI was clipped in a scrollable thumbnail bar in rare cases. (#6695)
- FixedFixes an issue where multiple embedded files would not be correctly displayed. (#6784)
- FixedFixes an issue related to JavaScript and forms that could lead to a type mismatch for the
contents
property. (#6781) - FixedFixes an issue where bar button items would not always correctly update when using
PSPDFTabbedViewController
. (#6789) - FixedFixes an issue where content would be inset to account for the tabbed bar even when the tabbed bar was hidden. (#6787)
- FixedFixes an issue where during annotation resize the wrong coordinates where used in rare conditions. Replaces
-[PSPDFResizableView centerPointForOuterKnob:]
with-[PSPDFResizableView centerPointForOuterKnob:inFrame:]
. (#6828) - FixedFixes an issue where some Free Text Annotations disappeared while editing. (#6826)
5.3.7 27 May 2016
- AddedAdds API to customize the color pickers. (#4502)
- AddedAdds API
titleForDocumentAtIndex:
as subclassing hook onPSPDFMultiDocumentViewController
. This can be used to customize tab bar titles. (#6693) - AddedAdds support for scaling a page in
PSPDFProcessor
. - AddedAdds support for changing the CropBox or MediaBox in
PSPDFProcessor
. - ChangedImproves the
PSPDFKit
shared instance to no longer automatically load, which can slightly improve startup performance. (#6682) - FixedFixes a regression that could prevent the 'more' menu from appearing in the document editor. (#6619)
- FixedFixes an issue where note annotations rendered as a black icon when embedded into a document. (#6411)
- FixedFixes an issue where saved values in the text fields being hidden in other PDF readers. (#6589, #6593)
- FixedFixes an issue where text form fields (rotated) were using a huge font size for the content. (#6595)
5.3.6 18 May 2016
- ChangedUpdates OpenSSL to 1.0.2h.
- AddedAdds a delegate method (
documentSharingViewController:willShareFiles:
) that enables access to files/file names before they are shared. (#6597) - AddedAdds a
pageMargins
setter onPSPDFNewPageConfigurationBuilder
. (#6566) - ChangedImproves the
PSPDFProcessorConfiguration
initializer for creating a completely new document. (#6566) - ChangedImproves the handling of annotations when the delegate does not return them via
pdfViewController:shouldSelectAnnotations:onPageView:
. (#6143) - ChangedImproves touch handling logic for forms that are readonly. (#6143)
- ChangedImproves link handling inside an web or text view within sheet presentation of modal view controllers by working around an UIKit bug. (rdar://26295020, #6580)
- ChangedImproves performance, placement and aspect ratio handling of annotations during resizing. (#6556)
- ChangedImproves keyboard handling for form elements. (#6551)
- FixedFixes a regression that could cause issues with searching via
PSPDFSearchViewController
. (#6605) - FixedFixes an issue where resizing multiple annotations could lead to an assertion. (#6528)
- FixedFixes an issue where page layout could be offset too much after rotating in continuous scroll mode. (#6563)
- FixedFixes an issue where flattened annotations were misplaced/rotated in a particular non-compliant document. (#6510, #6600)
5.3.5 13 May 2016
- API
PSPDFProcessorConfiguration
is now a failable initializer if the document is not valid. Previously this did throw an exception. (#6557) - APIThe render manager has been streamlined and the renderer accessor has been made readonly and deprecated. (#6498)
- AddedAdds the option to share images of the current page via
PSPDFDocumentSharingOptionImage
. (#2793) - AddedAdds an option to choose the last line alignment of thumbnail layouts. (#6502)
- AddedAdds configurable
PSPDFSettingsViewController
that can be used to change some UX aspects ofPSPDFViewController
. (#6082) - AddedAdds
PSPDFBrightnessManager
that controls screen brightness. (#6082) - ChangedImproves the way how speech synthesis detects the voice it uses. (#6481)
- ChangedImproves gesture detection in the color picker. (#5669)
- FixedFixes an issue where the text to speech voice sounded very robotic (#6481)
- FixedFixes an issue where selecting an annotation which had no color set could lead to an assertion. (#6496)
- FixedFixes an issue where the processor didn't rotate the document correctly. (#6493)
- FixedFixes an issue where flattened annotations were misplaced. (#6510)
- FixedFixes an issue where the document provider rotation wasn't taken into account on exporting with the processor. (#6516)
- FixedFixes an issue where the rotation animation did not look right. (#6131)
- FixedFixes an issue that could lead to presented view controllers being mistakenly dismissed. (#6512)
- FixedFixes an issue that could lead to crashes when calling
description
on some model objects. (#6524) - FixedFixes an issue with "light" weight font was selected in font substitution process instead of the missing "regular" weight font. (#6487)
- RemovedDeprecates configuration methods on
PSPDFBrightnessViewController
. UsePSPDFBrightnessManager
instead. (#6082)
5.3.4 4 May 2016
This version has been compiled with Xcode 7.3.1.
- AddedAdds a convenient way to enforce aspect ratio preserving annotation resizing. See
AspectRatioConservingResizingExample.swift
and the newPSPDFGuideSnapAllowanceAlways
constant. (#6373) - AddedAdds logic to automatically stop recording sound annotations. The default is 5 minutes. This can be changed through
-[PSPDFConfiguration soundAnnotationTimeLimit]
. (#4920) - AddedAdds a file watcher:
PSPDFDocument
now notifies the delegate when underlying files are updated by another source. (#6399) - ChangedSet correct class visibility for
PSPDFNewPageConfigurationBuilder
. - ChangedImproves the way search results are displayed. (#6231, #6011)
- ChangedImprove performance when opening the Thumbnail view. (#5874, #6148)
- ChangedImproves error handling for digital signatures verification. (#6253)
- ChangedImproves the
PSPDFProcessor
API and clarifies the save options. (#6463) - FixedFixes an issue that caused a crash during search. (#6425)
- FixedFixes an issue that caused extensive CPU usage when no document was set on a
PSPDFViewController
. (#6418) - FixedFixes an issue where the annotation browser was rendering text annotations without whitespaces in some cases. (#6273)
- FixedFixes an issue where the page label could incorrectly capture certain touches. (#6360)
- FixedFixes an issue where the minimum annotation size would not be correctly enforced after interface rotation (#6382).
- FixedFixes an issue where note annotations weren't correctly embedded while processing. (#6411)
- FixedFixes an issue where the duration could be displayed as indeterminate in rare cases for m3u8 playlists. (#6450)
5.3.3 22 Apr 2016
- ChangedThe document editor API now supports new document creation. (#6262)
- Changed
PSPDFViewController
now honors the initial page setting, even for password protected documents. (#6146) - ChangedImproves page movement UI in the document editor. (#6159)
- ChangedLocalization updates and fixes.
- ChangedImproves margin handling in certain view modes and adds a new example -
DynamicMarginsExample
. (#6294) - FixedFixes an issue where annotations were not always copied correctly in the document editor when the page already exists. (#6216)
- FixedFixes an issue where screen brightness slider had wrong initial value. (#6245)
- FixedFixes an issue where sound and video gallery items did not stop playing when changing view modes. (#5997)
- FixedFixes an issue where umlauts where stripped after saving a choice annotations. (#6285, #6323)
- FixedFixes an issue where the wrong value was saved when selecting an option from a choice annotation. (#6285)
- FixedFixes an issue where a presented JavaScript alert could be automatically dismissed after presentation. (#5996)
- FixedFixes an issue in certain documents where text selection contained more text that was actually selected. (#6213)
- FixedFixes an issue with watermarking multiple (50+) pages using the PSPDFProcessor. (#6031)
- FixedFixes an issue where a gallery displayed in a popover would not switch into fullscreen on double-tap. (#6296)
- FixedFixes an issue that stopped audio playback from other apps during framework initialization. (#6330)
- FixedFixes an issue where landscape pages didn't rotate correctly. (#6265)
- FixedFixes an issue where a deprecated syntax variant of the JavaScript
mailDoc
function was handled incorrectly. (#6331) - FixedFixes an issue where flattening and removing annotations at the same time caused problems. (#6344)
5.3.2 14 Apr 2016
- AddedAdds an API to customize the controller state UI added in 5.3.0. (#6106)
- APIThe undo methods in
PSPDFAnnotationStateManager
are now deprecated, usePSPDFUndoController
onPSPDFDocument
instead. (#6177) - ChangedIf annotations are changed programmatically, they are now correctly updated even if they have just been created via the annotation toolbar. (#6195)
- ChangedAnnotation preset properties for disabled properties are no longer applied. (e.g. disabling fill color will no longer set fill color when choosing a preset) (#6233)
- ChangedThe processor now supports copying forms from source and any external document to the generated document. (#5975)
- FixedFixes incorrect assertions on some document editor controllers on iOS 8. (#6188)
- FixedFixes an issue where delayed document setting could result in missing updates on the scrubber bar. (#6210)
- FixedFixes an issue that resulted in a crash in the page range selection on iOS 8. (Z#3370)
- FixedFixes an issue when checking for a default password upon annotation saving.
- FixedFixes an issue that prevented
PSPDFUndoControllerRemovedUndoActionNotification
from being sent out. (#6177) - FixedFixes an issue where thumbnail cells had a wrong image position. (#6174)
- FixedFixes selection and menu placement for non-editable note annotations. (#6215)
- FixedFixes an issue where software dimming view wasn't correctly positioned. (#6203)
5.3.1 8 Apr 2016
- APIThe variant that returns
NSData
onPSPDFProcessor.generatePDFFromConfiguration
now correctly maps into Swift with athrows
. (#6051) - Changed
PSPDFDocument
has a new helpercontainsAnnotations
which scans the document if it contains any relevant annotations (excluding links and widgets/forms). (#6099) - ChangedPages are now positioned between fixed bars in page curl mode, ensuring no scrolling is needed if HUD elements or system bars do not auto-hide. (#6040)
- ChangedThe Document Editor now preserves as much as possible from an existing outline. (#5993)
- AddedAdds new document editing examples to PSPDFKit Catalog. (#6075, #6055)
- ChangedImproves various status HUD symbols. They are now more in line with the modern iOS design and even subtly animate when being displayed. (#5829)
- ChangedImproves toolbar button spacing and layout in compact sizes. (#5862)
- ChangedChanges the unit for line thickness to pt. (#4694)
- ChangedFiltering empty pages no longer filters the last white page preventing the creation of an invalid document. (Z#3384)
- ChangedVarious smaller performance improvements to the rendering engine.
- FixedFixes an issue where
-[PSPDFDocument saveAnnotationsWithCompletionBlock:]
called the completion handler on an internal background queue when saving annotations. (#6033) - FixedFixes an issue where the new page range feature would not work correctly with a license that did not include the document editor feature. (Z#3354)
- FixedFixes an issue where in rare cases page rendering was incorrect after rotating the screen. (#5527)
- FixedFixes an issue that resulted in auto layout complaining about unsatisfiable constraints. (Z#3346)
- FixedFixes an issue that resulted in the creation of page views even though the document was
nil
. (#6008) - FixedFixes an issue related to floating point calculations in the color picker when choosing a fill color on ARMv7 devices. (#6054)
- FixedFixes an issue that could prevent the appearance mode from being completely restored when switching back from night mode. (#6080)
- FixedFixes an issue resulting in bar button items missing or appearing late in rare cases. (#6072)
- FixedFixes an issue that could make pages look blurry when using search under high memory pressure. (#6092)
- FixedFixes an issue when trying to save annotations into a document that only has a owner password set. (#6090)
- FixedFixes an issue when using a JavaScript action that invoked
this.pageNum
. (#6077) - FixedFixes an issue where the rotation set on the
PSPDFDocumentProvider
wasn't honored in thePSPDFProcessor
. (#6115) - FixedFixes an issue where the flexible toolbar shadow does not animate together with the toolbar. (#6120)
- FixedFixes an issue where text selection stopped working in certain situations. (#6118)
- FixedFixes an issue where the share sheet did not respect annotation options. (#6125)
- FixedFixes an issue where the annotation toolbar button count could in some cases be incorrectly determined when first displaying the annotation toolbar. (#6130)
5.3.0 31 Mar 2016
This release features the new Document Editor. This component allows users to access a whole host of page editing features, including new page creation, page duplication, reordering, rotation or deletion, as well as creating a new document from pages selected across multiple existing documents. If you would like to add the Document Editor to your license, ping our sales team to receive a quote.
- ChangedCompiled with and requires Xcode 7.3.
- API
PSPDFProcessor
is now more powerful, but has breaking changes. SeePSPDFProcessorConfiguration
for details. (#5742) - AddedAdds a complete new UI in case that the
PSPDFViewController
is unable to load a document or is empty. (#5510) - ChangedImproves the look of the password entry screen for locked PDF files. (#5510)
- ChangedBar button items can now be configured on a custom
navigationItem
.PSPDFViewController
’sleftBarButtonItems
andrightBarButtonItems
properties have been deprecated. When moving from the old API, the order of the right bar button items will need to be reversed to match the UIKit convention. (#5830) - ChangedWhen tapping on a search result we now zoom to show the result in the document. This can be adjusted via
-[PSPDFConfiguration searchResultZoomScale]
. (#5758) - ChangedReplaces the
smartZoomEnabled
property ofPSPDFConfiguration
with adoubleTapAction
property to be more flexible. (#4998) - ChangedThe logic that finds custom search buttons is now smarter and will correctly anchor the search popover in more cases. (Z#3154)
- ChangedThe user can now select a range of pages to be exported when
PSPDFDocumentSharingOptionPageRange
is an allowed option. (#4573) - ChangedThe user can now choose to only export annotated pages when
PSPDFDocumentSharingOptionAnnotatedPages
is an allowed option. (#4397) - ChangedThe current search popover is now cached for faster access and to maintain the scroll position. (#5734)
- ChangedIncrease memory limit for images to allow rendering more complex documents. (#5677)
- ChangedUses the Photos framework instead of the Assets Library framework.
- Changed
PSPDFDocument
now implementsUIActivityItemSource
in a way that is compatible with Facebook, Twitter, Sina Weibo and Tencent Weibo. (#2739) - AddedAdds a new
PSPDFLinkActionInlineBrowserLegacy
that forces the use ofPSPDFWebViewController
even on iOS 9 where the new Safari View Controller is available. This might be desirable in environments that need custom hooks on URLs which as of iOS 9 is not possible inSFSafariViewController
. (#5744) - ChangedBetter error handling when switching tokenizers in
PSPDFLibrary
. (#5771) - ChangedSearching now works better across new lines. (#5751)
- ChangedThe loupe now resets initial magnification after the line loupe mode has been used. (#5789)
- ChangedOptimizes the size of thumbnails in the scrubber bar for very wide page layouts. (#4180)
- ChangedForm choice fields with long labels are now fully displayed and switch to multi-line cells automatically. (#5796)
- ChangedImproves interface performance when selecting annotations that are backed by complex appearance streams. (#5912, #5913)
- ChangedAnnotation hit testing extension area has been decreased to allow more precise input. (#5846)
- ChangedImproves annotation toolbar autosizing. (#5854)
- FixedFixes an issue where the “Dictionary” popover could be incorrectly placed in landscape. (Z#3167)
- FixedFixes an issue where we would try to open Safari View Controller for file URLs, which are not supported. (#5837)
- FixedFixes an issue where sound annotations would play without making any sound if the Ring/Silent switch is set to silent. (#5672)
- FixedFixes an assertion that could be triggered when displaying a document at a size that would only allow for a single thumbnail to be displayed in the scrubber bar. When this condition is met, we now log a warning instead. (#5686)
- FixedFixes an issue where a
PSPDFStatusHUDView
progress could start flickering in rare cases. (#5703) - FixedFixes layout issues with the search bar in the Kiosk example while rotating. (#2350)
- FixedFixes an issue where the wrong page could be restored when switching the page mode with page curl transition while margins are set. (#5717)
- FixedFixes an issue with a wrong zooming behavior in certain special cases around search results. (#5699)
- FixedFixes an issue related to page labels and Korean localization. (Z#3176)
- FixedFixes an issue where the outline view did not refresh its size properly. (#5737)
- FixedFixes a regression where applying a
PSPDFViewState
inviewWillAppear:
fails to restore the viewport in page–scroll–mode. (Z#3202) - FixedFixes a regression where manually overriding the
rotation
of thePSPDFPageInfo
object viasetRotation:forPage:
did not work in all cases. (#5659) - FixedFixes an issue where under certain rare cases around updating configuration while rotation is active we didn't show link borders when they should be visible. (#5818)
- ChangedWorks around an issue in Xcode 7.3 that broke the Visual Debugger. (rdar://25311044)
- ChangedWorks around a bug in
GLKView
on iOS 9 that could cause a crash under certain rare setups. (Z#3251) - RemovedDeprecates the
viewState
property andsetViewState:animated:
method onPSPDFViewController
in favor of two new instance methods:captureCurrentViewState
andapplyViewState:animateIfPossible:
, which are more explicit about how to use them and what to expect when doing so.
5.2.1 26 Feb 2016
- Changed
PSPDFLibrary
now allows setting a custom tokenizer. (#5443) - ChangedImproved search results for
PSPDFLibraryMatchExactPhrasesOnlyKey
andPSPDFLibraryMatchExactWordsOnlyKey
. (#5443) - ChangedImages that are too large for menu items are now automatically resized to fit. (#5586)
- ChangedScrolling to a search result now tries to center the result on the page, instead of just making it visible. (#5542)
- ChangedBe more selective about what annotation manager states we need to commit before a save event. (Z#3006)
- ChangedSound annotation control buttons now have a larger hit target. (Z#2984)
- ChangedThe new property
originalFile
onPSPDFDocument
allows you to specify a source file if the PDF is the result of a conversion, so for actions such as Open In or Send via Email the original file can be selected. (#5531) - ChangedEmpty input is now accepted on form fields with number formatting. (#4934)
- AddedAdds support for animated GIFs that have a variable frame rate. (#893)
- FixedFixes an issue where zooming to a rect misses the target when the view controller is set to continuous vertical scrolling. (#5509)
- FixedFixes an issue where plugin classes were not correctly detected, if they inherited from a
PSPDFPlugin
adopting class. (#5592) - FixedFixes an issue where setting the page could fail when set within
viewDidAppear:
for page curl mode on landscape. (#5535)
5.2.0 15 Feb 2016
See the announcement post(opens in a new tab).
- ChangedThe SDK is now only requires app-extension-safe API and automatically detects if in extension mode. (#2954)
- ChangedText and annotation selection now use
tintColor
, enabling easier theming by inheriting color from superviews. Selection color can be customized individually by settingtintColor
onPSPDFTextSelectionView
,PSPDFSelectionView
andPSPDFResizableView
. - ChangedThe annotation selection knobs have been redesigned so they are more easily visible on various backgrounds. (#5139)
- ChangedThe framework now shows guides while drawing ovals and rectangles, making it easier to draw circles and squares. (#5376)
- ChangedColor presets can now be reset back to their default value by long pressing on the preset button. (#2891)
- Changed
PSPDFProcessor
now ignores annotations that aren't in the specified page ranges. (Z#2873) - ChangedSimply reselecting an annotation will no longer generate a change notification for the bounding box. (#5444)
- ChangedImproves object selection prioritization to objects that are not yet saved. This improves the experience when creating new annotations. (#5305)
- ChangedImproves settings controller bridge of the Adonit Stylus SDK. (Z#2960)
- ChangedImproves shape stability during drawing on certain modern devices. (#5429)
- ChangedImproves logic when saving is invoked while a undo change notification is processed. (#5451)
- ChangedImproves the snap to aspect ratio behavior during resizing. (#5161)
- FixedFixes an issue where executing JavaScript could result in retaining parts of the model longer than necessary. (#5470)
- FixedFixes an issue where the inline search incorrectly highlighted search terms on rotated documents. (#5402)
- FixedFixes minor color selection inconsistency on the color picker. (#5268)
- FixedFixes minor inconsistencies regarding the sequence of
PSPDFAnnotationStyleViewControllerDelegate
calls. (#5380) - FixedFixes memory issues on the annotation inspector. (#5399)
- FixedFixes an issue related to
PSPDFThumbnailBarModeScrubberBar
and a particular unusual use of the tabbed controller. (#2873) - FixedFixes an issue related to zooming while night-mode is enabled. (#5410)
- FixedFixes an iOS 8 code signing issue in
strip-framework.sh
. (Z#2903) - FixedFixes an issue when a document that is not part of the tab bar is removed from the tab bar programmatically. (#5452)
5.1.5 1 Feb 2016
- ChangedThe color name part of the menu identifier item is no longer localized. (Z#2916)
- FixedFixes an issue where a signature couldn't be validated if no
PSPDFSigner
was configured. (Z#2911) - FixedFixes an issue where a subscription license would stop working once expired. (#5327)
5.1.4 28 Jan 2016
- ChangedSmaller binary size. See https://www.nutrient.io/guides/ios/faq/framework-size/ and the bitcode section for more details. (#5225)
- ChangedImproves performance and reliability of full-text search previews. (#5172, #5211)
- ChangedPasting annotations will now set a new UUID on the
name
field. (Z#2854) - ChangedThe text parser now filters text outside of page bounds.
- ChangedSepia and night mode can now be properly disabled. (#5263)
- ChangedBetter handling of extremely large images that exceed the device capabilities to decompress. (#5243)
- FixedFixes a few rendering edge cases. (#5227)
5.1.3 22 Jan 2016
- ChangedVarious internal optimizations to improve performance and decrease binary file size. (#5157)
- ChangedImproves note annotation positioning in certain cases. (#3685)
- ChangedImproves memory usage on using external TTC fonts in a PDF. (#5197)
- ChangedSearching a document with annotations now works more reliably and correct, especially in regards to special characters like
.
. (#5143) - ChangedThe ink eraser now sends out change notifications when existing ink annotations are modified (
PSPDFAnnotationChangedNotification
). (#5170) - ChangedJavaScript format actions are now triggered when a signature is created on a form signature element. (#5184)
- ChangedA long-press no longer calls
pdfViewController:didTapOnAnnotation:...
- only a regular tap does. (Z#2844) - ChangedAfter saving an annotation, the controller now automatically scrolls to the bottom. (#643)
- ChangedWhen using
PSPDFPageTransitionScrollContinuous
, the view states that can be obtained fromPSPDFViewController
will now contain a viewport even when fully zoomed out. This preserves the scrolling position during rotation and makes it easier for you to capture and subsequently restore the exact reader’s location in a document. (#5052) - FixedFixes a potential race condition when rendering pages and calling methods from
PSPDFProcessor
at the same time while using a data provider. (Z#2768) - FixedFixes an rare issue when invalid points are sent via
touchesMoved:
to our draw view. (Z#2780) - FixedFixes an issue where the text alignment was not correctly preserved when serializing to JSON. (#5138)
5.1.2 15 Jan 2016
- ChangedWe improved page layout and HUD handling in various configuration modes and fixed a number of subtle issues that were found in some less common combinations. (#3689, #3229, #5043, #5063)
- Changed
strip-framework.sh
now also copies debug symbols. This works around an issue with theCOPY_PHASE_STRIP
build setting set toYES
and using a "Copy Files" build phase to copy debug symbols. - ChangedImproved reliability of
PSPDFProcessorStripEmptyPagesKey
and eliminated need forPSPDFWhitespaceTrimmerPerformRenderComparison
option. - FixedFixes an issue where the view state restoration page boundary check was insufficient in certain cases. (#5018)
- ChangedVarious PDF rendering correctness and performance updates. (#5024)
- RemovedRemove deprecated method
PSPDFSetLicenseKey
for setting the license key. Use+[PSPDFKit setLicenseKey:]
instead. - ChangedImages from stamp annotations are now included in JSON via a base64-encoded PNG. (#5060)
- ChangedImproved performance of the PDF renderer and further improves compatibility with non-standard documents. (#5025)
- ChangedThe PSPDFKit singleton now offers a hook to register your own logging handler - see the
logHandler
property.(#5093) - ChangedThe
ExtraVerbose
logging level is nowVerbose
andVerbose
is nowDebug
. (#5093) - ChangedThe
pdfViewController:didEndPageDragging:willDecelerate:withVelocity:targetContentOffset:
delegate now also reports changes topagedScrollView
in paged mode. (#4924) - ChangedThe
pdfViewController:shouldScrollToPage:
delegate is no longer called duringreloadData
. This was unexpected and could cause issues ifNO
was returned in this specific case. (#4923) - ChangedReduces memory pressure for the disk cache when using the SDK in combination with Appcelerator Titanium. (#5133)
- FixedFixes for highlight annotation selecting too much text at the end of a paragraph. (#5053)
- FixedFixes an issue when using the
PSPDFLibrary
with an empty search string. (#5058) - FixedFixes an issue where importing annotation JSON could restore actions to a different type. (#5060)
- FixedFixes an issue where white lines appeared in a document. (#5095, #5026)
- FixedFixes an issue when parsing certain documents with embedded forms that contain JavaScript. (#5077)
- FixedFixes an issue about returning the wrong UID in the results of the
PSPDFLibrary
. (#5082) - FixedFixes an issue where importing annotation JSON could restore actions to a different type. (5060)
- FixedFixes an issue with flattening annotations and the text not showing up. (#5109)
- FixedFixes an issue where a change notification for an annotation could be sent before it was added to the document. (#5098)
- FixedFixes view controller setup and adaptivity issues with the split screen example. (#4766)
- FixedFixes an issue where a change notification for an annotation could be sent before it was added to the document. This didn't cause any bugs but might affected 3rd-party annotation provider implementations. (#5098)
- FixedFixes an issue where the color picker might show an incorrect color when first being presented. (#5142)
5.1.1 21 Dec 2015
- ChangedVarious blocks have been declared with
@noescape
for even better Swift compatibility. (#4996) - APIHide properties for visibility of document and page label on
PSPDFHUDView
, as they need to be controlled inPSPDFConfiguration
. (#4989) - APIThe
shouldAutomaticallyAdjustScrollViewInsets
configuration option has been extended with an additional mode and renamed toscrollViewInsetAdjustment
. (#4461) - ChangedImproved rendering quality for small pages (thumbnails). (#4478)
- ChangedImproved support for longer messages in
PSPDFStatusHUD
. (#4990) - ChangedWorks around a compatibility problem with RubyMotion.
- FixedFixes an issue where the
pageLabelEnabled
configuration could be ignored in some cases. (#4989) - FixedFixes an issue where the image stamp content could disappear after moving or resizing the annotation. (#4984)
- FixedFixes a potential crash when extracting file streams from file annotations. (#4978)
- FixedFixes an issue where subclasses of
PSPDFBookmark
were not used in all cases. - FixedFixes a small issue where
scrollToPage:document:animated
in the thumbnail controller advertiseddocument
as nullable but was declared as nonnull. - FixedFixes potential page layout issues in vertical paged mode with fit to width enabled. (#4765)
- FixedFixes an issue where a certain font could be mapped to a different one on device, causing slightly offset rendering. (#4968)
5.1.0 16 Dec 2015
See the announcement post(opens in a new tab).
PSPDFKit 5.1 focusses on improving the drawing experience, easier integration, better iOS 9 adaptivity and features a greatly improved night mode.
- ChangedPSPDFKit is now compiled and requires Xcode 7.2.
- ChangedWe streamlined our manual integration process - take a look at our new integration guide(opens in a new tab) for details.
- Changed
PSPDFKit.framework
now includes its app symbols. This enables you to receive symbolicated crash logs from Apple after uploading your app to the App Store. - ChangedWe now also ship SDK symbols to allow better crash identification. (Only available for license holders, see
PSPDFKit.framework.dSYM
).
- ChangedWe added pressure sensitivity to drawing and erasing. Natural lines can use pressure data from the Apple Pencil, 3D touch displays and some other supported styluses. The ink eraser radius can be adjusted based on the finger surface area or Apple Pencil altitude angle. (#4070, #1797)
- ChangedNote: We now use a custom data structure to represent annotation points for certain annotation types. If you are accessing
pointArray
,pointSequences
,lines
or similar annotation properties, be sure to update your code to usePSPDFDrawingPoint
from now on.
- ChangedPSPDFKit now comes with a few built in appearance modes, that include an extended night mode. The modes can be set and customized via
PSPDFAppearanceModeManager
.PSPDFBrightnessViewController
has also been extended with additional UI for this feature. (#3000, #4794) - APIVarious smaller updates around toggling view controllers in
PSPDFAnnotationStateManager
. (#4642) - API
editableAnnotationTypes
has been moved fromPSPDFDocument
toPSPDFConfiguration
and is now a simpleNSSet
. (#4642) - APICreating text overlay annotations requires
pageRotation
instead ofrotationTransform
now. (#4748) - ChangedBookmarks are now sorted based on page order. This can be controlled via the new
bookmarkSortOrder
property inPSPDFConfiguration
. (#4503) - ChangedThe annotation toolbar now has a new "Arrow" tool which is a variation of line with a predefined arrow head. (#4479)
- ChangedManually rotating pages is now possible again. See
PSCRotatePageExample
. (#4715) - ChangedThe document view is now adaptive, even in situations where the keyboard is visible from another app in a multi-tasking environment. (#4714)
- ChangedThe document view now correctly adapts to keyboard frame size changes, mostly from 3rd-party keyboards. (#4714)
- ChangedWe added new items to the free text annotation
inputAssistantItem
, enabling you to toggle the free text accessory view visibility and adjust the font size even while the free text accessory view is hidden. (#4025) - ChangedThe undo and redo buttons now get compacted into one button when the annotation toolbar space is limited. (#3994)
- ChangedVarious classes that should not be subclasses now declare this explicitly to prevent usage mistakes. (#4781)
- ChangedStyluses without touch classification, e.g. Adonit styluses, are now using the eraser correctly. (#4658)
- ChangedPSPDFKit Catalog samples have been reorganized and a few new ones have been added. See
PSCConfirmDeletionExample
. (#4786) - ChangedThe font picker now uses a custom sorting and moves the most commonly used fonts on top. See
highlightedFontFamilyDescriptors
. (#1100) - ChangedThe stylus selection popover now resizes itself automatically. (#4729)
- ChangedImproves popover resizing for the font picker. (#4554)
- ChangedImproves error reporting in case email is not configured on the device. (#4555)
- ChangedImproves undo registration when using the free text tool. (#4686)
- ChangedImprovements to text-selection and text-extraction on rotated documents. (#4748)
- ChangedThe modal search view controller now automatically focusses the search bar to ensure the keyboard is visible.
- ChangedPDF parsing/rendering improvements for older, non-compliant versions. (#4903)
- ChangedForm buttons that are neither choice nor radio button styles are no longer highlighted to match Adobe Acrobat behavior. (#4929)
- ChangedImproves hit testing for small geometric annotations (Square, Circle) (#4937)
- ChangedReduced memory usage and better low memory handling (#4911)
- ChangedWorks around a regression in iOS 9 where section backgrounds on table views could be incorrectly styled. (rdar://23904182, #1100)
- ChangedThe annotation toolbar now correctly avoids the tabbed bar during layout. (#4448)
- FixedFixes nullability warnings created by certain stylus drivers. (#4670)
- FixedFixes an issue with glyph positioning for documents with a non-null origin. (#4657)
- FixedFixes an issue where the link annotation editor would not create a correct link annotation under some situations. (#4750)
- FixedFixes an issue where certain unicode (emoji) characters in the PDF could be converted into invalid UTF-8. (#4946)
- FixedFixes an issue where the annotation inspector could be presented at a slightly smaller size and than jump to the correct size (#4965).
- FixedFixes an issue where certain unicode (e.g. emoji) characters in the PDF could be converted into invalid UTF-8. (#4946)
- FixedFixes an issue where copy/pasting free text annotations could lead to an issue with rendering until the copy was modified. (#4973)
- AddedAdds Croatian localization. (#4956)
5.0.3 20 Nov 2015
- API
PSPDFSearchViewController
has a new property to control restoring the last search result:restoreLastSearchResult
. (Z#2411) - ChangedImprove text extraction for certain documents which produces too many newlines. (#4409)
- ChangedAdjusted gallery Vimeo video playback for Vimeo API changes. (#4530)
- ChangedImproved performance and accuracy when exporting PDF documents with embed annotations. (#4536)
- ChangedImproves document metadata conversion: The creation and modification date are automatically translated to an NSDate object. (#4617)
- ChangedStylus buttons can now be mapped to different and even custom actions. (#4588)
- ChangedHex3 JaJa stylus driver is no longer available. (#4616)
- FixedFixes an issue where the appearance stream of digital signatures could have a wrong object number. (#4462)
- FixedFixes an issue in iOS 9 where sound annotation views didn't correctly clean up their OpenGL session. (#4602)
- FixedFixes an issue with rendering incorrect or empty PDF with contents in Chinese. (#4482)
- FixedFixes an issue where the ink annotation bounding box could be slightly off when copying the annotation or re-reading it from the PDF. (#4609, #4613)
- FixedFixes an issue where link and highlight annotations were at the wrong location (#4630)
- FixedFixes an issue where the
PSPDFRenderDrawBlockKey
key inrenderOptions
was not always evaluated. (#4601)
5.0.2 10 Nov 2015
PSPDFKit is now compiled with Xcode 7.1.1. (7B1005)
- APIThe
propertiesForAnnotations
setting fromPSPDFAnnotationStyleViewController
has been moved toPSPDFConfiguration
and it now also affects the free-text accessory view. (#4466) - APIRemove
isAESCryptoDataProvider:
helper. Use[dataProvider isKindOfClass:PSPDFAESCryptoDataProvider.class]
instead to check. (Z#2323) - ChangedImproves a condition where an ink annotation has a fill color set which overlapped the foreground color. (#3842)
- ChangedThe
outline
property ofPSPDFOutlineParser
is now writable to allow setting a custom outline. (#4467) - ChangedEnsures the HUD is visible when certain HUD actions are invoked. (#4272)
- ChangedWorks around a UIKit issue that decreases the scroll view precision, which could have lead to incorrectly centered content. (#3864, rdar://23255528)
- ChangedJavaScript execution can now be disabled on a document-level via the
javaScriptEnabled
property. (#4491) - ChangedImproves form navigation using keyboard and also with prev/next UI buttons. (#4398, #4427)
- Changed
didChangeAnnotation:keyPaths:options:
is now called during drawing to allow more fine-grained updates. (Z#2315) - ChangedVarious improvements for the upcoming iPad Pro, including an annotation toolbar configuration set that better utilizes the additional space. (#4519)
- ChangedUpdates our stylus drivers to the latest version. (only available for license holders, #4515, #4516)
- ChangedSharing features that require annotation features are no longer displayed for licenses that don't include annotation features. (Z#2319, #4524)
- FixedFixes an issue where line endings were not correctly exported in XFDF if they are set to none. (#3715)
- FixedFixes an issue when documents with invalid or missing files are initialized. (#4455)
- FixedFixes an issue where a document with > 1000 individual files could use too much memory. (#4455)
- FixedFixes an issue where some presented views were missing a close button on iOS 8.2 and earlier. (#4492)
- FixedFixes a crash when processing a document with a certain set of JavaScript. (#4483)
- FixedFixes an issue where UIKit handled popovers + alert controllers in a way that could cut off the buttons. (#4537)
- FixedFixes an issue where the document view was not always correctly reloaded when the
PSPDFViewController
was displayed within a popover. (#4538) - FixedFixes a potential assert on iOS 8 when using the text loupe with text glyphs that have a height of zero. (#4458)
- FixedFixes an issue where glyph frames could be incorrectly calculated for documents with a non-null origin and rotation. (#4504, #4047)
- FixedFixes an issue with fullscreen media playback. (#4429)
- ChangedSlightly reduced framework size.
5.0.1 28 Oct 2015
- ChangedDue to a recent change in the iTunes Submission Process we've slightly altered our version scheme. (from ios-5.x.x to just 5.x.x)
- ChangedThe content opacity render option (
PSPDFRenderContentOpacityKey
) has been removed. This option is no longer supported. (#4337) - ChangedFreehand drawing performance improvements and fixes for devices supporting touch prediction. (#4404)
- ChangedIn case two page labels are active on a double-paged page, both are now correctly displayed. (#4342)
- ChangedImproves behavior when parsing partly corrupt documents. (Z#2199)
- ChangedThe selection knobs now animate when running iOS 9 to better match system behavior.
- AddedAdd workaround for a Swift compiler issue when using
PSPDFAESCryptoDataProvider
with a string-based data provider. (Z#2223, rdar://23285766) - FixedFixes an issue with editable annotation types on the annotation toolbar. (#4407)
- ChangedImproves layout of the thumbnail overview controller.
- ChangedImproves text selection and highlight annotation creation.
- ChangedImproves font picker search bar appearance. (#4100)
- ChangedVarious updates to the new render engine.
5.0.0 23 Oct 2015
See the announcement post(opens in a new tab).
PSPDFKit 5 is a major new version, introducing our own renderer and focusing on improving performance. It requires Xcode 7.1 and is compatible with iOS 8.0 - 9.1. This release is a huge usability improvement with Swift but also Objective-C, as we annotated all headers with generics. This release now shares our new core with our Android SDK to further improve quality and performance.
- ChangedPSPDFKit now uses its own PDF renderer and no longer uses Apple's Core Graphics renderer, which means better performance, stability and quality. (#3737)
- ChangedUndo and redo now remember individual lines drawn instead of the previous behavior where undo removed the whole annotation, once committed. (#2825)
- ChangedThe tabbed bar has been completely redesigned and now supports animations and reordering, not to mention it being much prettier. (#665)
- ChangedView controllers are now presented using
UIPresentationController
and are much easier to handle and dismiss. (#3519)- ChangedWe removed the
popoverController
andhalfModalController
properties, as these are now custom presentation styles.
- ChangedPopovers are no longer dismissed on rotation. (#3519)
- ChangediOS 8 adaptivity is fully supported: view controllers swap between being popovers, half modal or full screen depending on context. (#3743)
- ChangedA new presentation option has been added to prevent view controllers from adapting their presentation style:
PSPDFPresentationNonAdaptiveKey
.
- ChangedThe default presentation style has changed for
presentViewController:options:animated:sender:completion:
fromPSPDFViewController
andPSPDFPresentationActions
. The default is now to use the presented view controller’smodalPresentationStyle
, similar to the oldPSPDFPresentationStyleForceModal
style, which has been removed.- ChangedTo restore the equivalent of PSPDFKit’s previous default behavior (using either a popover or full screen, depending on the space available), set the presented view controller’s
modalPresentationStyle
toUIModalPresentationPopover
.
- ChangedThe annotation toolbar now automatically adapts its items depending on the available screen real estate. This change comes with a new API that allows setting multiple toolbar configurations amongst which the toolbar picks the optimal layout. (#3950)
- ChangedThe free text input accessory view has been updated to show popover pickers whenever possible, with a fallback to the half modal inspector, if vertical space is tight. (#3987)
- ChangedNote: We noticed some input accessory view resizing issues on iPad Air 2 Simulator. We could not reproduce the same problems on actual devices.
- ChangedWe’re using
UIAlertController
andUISearchController
everywhere, replacing the older deprecated API for further view controller unification. (#3381) - ChangedAutomatic double page mode is smarter, comparing the aspect ratios of the view and the document and only showing two pages if they fit without too much shrinking. Automatic mode is now the default on iPhone too, but since two pages are only shown in large views the behavior will be similar.
- ChangedBy default, page thumbnails are now sized adaptively to comfortably fill the available space.
- ChangedInstead of
CGPDFDataProvider
we now have a newPSPDFDataProvider
protocol, which finally allows writing as well. (#3690)- Changed
PSPDFAESCryptoDataProvider
has been updated to allow writing annotations back into the secure storage.
- ChangedSafari view controller is used instead of
PSPDFWebViewController
on iOS 9. - Changed
PSPDFScrobbleBar
has been renamed toPSPDFScrubberBar
to better express its purpose. - ChangedQuerying for the annotation author name has been moved to before the annotation toolbar is displayed. (#3544)
- ChangedAnnotation creation can now be prevented on select PDF pages by adding a boolean key to the page dictionary (see
allowAnnotationCreation
onPSPDFPageInfo
). (#4308) - Changed
PSPDFAnnotationStateManager
now supports multiple delegates and the delegate protocol gained some new methods. (#3607) - ChangedThe color menu is now represented visually, and uses the style manager color presets. (#2802, #2890)
- ChangedSwitching between regular and callout styles for text annotations now produces better results and has been made easier with a redesigned UI. (#3664 and #3859)
- ChangedThe annotation stream now gets properly reset when an annotation is modified, preventing stale content from being rendered on screen. (#3817)
- Changed
PSPDFDocumentActionExecutor
’spresentationController
has been renamed tosourceViewController
to better describe its purpose and avoid confusion withUIPresentationController
. - ChangedThe
prefersStatusBarHidden
property in thePSPDFStyleable
protocol has been renamed toforcesStatusBarHidden
to be distinct from the closely relatedUIViewController
method of the same name. - ChangedIt is now possible to show color presents on
PSPDFAnnotationStyleViewController
, even if color and opacity settings are disabled. Color presets can still be hidden by adjustingtypesShowingColorPresets
. (#4108) - ChangedAccessibility and voice over support has been improved on some of our key UI elements. (#3834)
- ChangedThe author username is now requested earlier and managed via the new
PSPDFUsernameHelper
class. - ChangedThe border radius of
PSPDFSearchHighlightView
is now dynamically calculated based on the current zoom level and can be configured viacornerRadiusProportion
. - Changed
PSPDFImageInfo
is now much more reliable and detects more image formats. - Changed
PSPDFAction
snextAction
is now an array to correctly reflect the PDF spec, and the whole tree is iterated as required upon execution. - Changed
PSPDFRenditionAction
now also exposes optional attached javascripts. - ChangedThe hooks for
markedContentStack
andshouldParseCharacter:
in thePSPDFTextParser
have been removed since they were very rarely used but caused a noticeable slowdown for all text extraction. If there's demand, we'll look into ways to reintroduce a similar feature with less performance impact. - Changed
prefersStatusBarHidden
inPSPDFStyleable
has been renamed toforcesStatusBarHidden
to not confuse this with properties that UIKit recently introduced. - ChangedSeveral annotation classes have new parent types to unify certain features, such as
PSPDFAssetAnnotation
andPSPDFAbstractShapeAnnotation
. - ChangedSmall UI updates across the board. (For example, dark colors are easier to see in menus.)
- ChangedVarious lesser-used API has been redesigned or removed for better clarity.
4.4.18 28 Oct 2015
- ChangedDue to a recent change in the iTunes Submission Process we've slightly altered our version scheme. (from ios-4.x.x to just 4.x.x)
4.4.17 15 Oct 2015
- FixedFixes an issue where the first thumbnail in scrollable thumbnail mode could be skipped under iOS 9. (#4270)
- RemovedRemoves our LZ4 dependency since Apple sometimes wrongly flagged that as private API. (Z#2097) If you're using
PSPDFLibrary
with glyph position saving, make sure to delete the cache files before updating.
4.4.16 6 Oct 2015
- FixedFixes an issue where some documents couldn't be parsed correctly to write annotations back in. (#4182)
- FixedFixes an issue where document content was cut off with the toolbar enabled. (#4152)
- ChangedImproves symbol visibility in new dynamic framework. (Z#1966)
4.4.15 25 Sep 2015
- FixedFixes an issue where the
PSPDFDocumentPickerController
wasn't correctly updated when a document was deleted. (Z#1882) - ChangedPrevents an exception from getting thrown while writing ink annotations into XFDF. (Z#1889)
- FixedFixes an issue where executed JavaScript from forms could trigger an assertion. (#3872)
4.4.14 11 Sep 2015
This release will be one of our last v4 releases, while v5 for iOS 9/8 is steadily nearing completion with a huge list of updates/improvements. We backported the new bezier path calculation code, so ink annotations are quite a bit faster now. There's a lot more coming soon!
- ChangedWhen invoking search, we now prioritize the current visible pages before searching the rest. Search results will show up significantly faster on complex documents. (Z#1829)
- FixedFixes an issue where resetting choice form elements didn't always reset all properties. (Z#1813)
- FixedFixes an issue when applying a
PSPDFRenderFiltersKey
on rotated documents. (#3892) - FixedFixes a rare floating point precision issue that could cause pages to show up distorted. (#3882)
- FixedFixes an issue where rotation caused ill–positioned pages when switching from single–page to two–page layout. (#3878)
4.4.13 28 Aug 2015
- ChangedImproves rendering during annotation selection, decreasing the possibility of stale content. (#3488)
- ChangedImproves behavior for the go to page dialog when invalid numbers are entered. (#3662)
- ChangedPerformance improvements for complex bezier path calculation, speeding up ink annotations. (#3778)
- FixedFixes a rare exception when the page curl controller is used in unusual view controller configurations. (#3624)
- FixedFixes a regression that was affecting performance in continuous scroll mode. (Z#1748)
- FixedFixes a potential issue with rendering the color picker. (#3729)
- FixedFixes an issue where
PSPDFViewState
could end up being nil for certain points between two pages. (#3782) - Changed
-[PSPDFViewController setViewState:animated:]
supports animation for continuous scrolling and per–page scrolling again. Page curl mode has limited support: regardless of animation restoring the viewport is unsupported. (#3777)
4.4.12 10 Aug 2015
- AddedAdds Slovenian translation.
- ChangedImproves compatibility exporting file attachment in XFDF with certain less standard compliant readers. (Z#1610)
- FixedFixes an issue when exporting XFDF polyline annotations with border style set to cloudy. (#3608)
- FixedFixes a regression related to StrikeOut annotations. (Z#1642)
- FixedFixes a crash when a file attachment annotation references a missing file which then is exported via XFDF. (#3620)
4.4.11 31 Jul 2015
- AddedAdds Czech, Greek and Finnish translations and updates various other localization details.
- APIThe
rotationLock
has been removed. SubclassPSPDFViewController
and override the rotation methods and/or implementsupportedInterfaceOrientationsForWindow:
to lock rotation. Since PSPDFKit doesn't own the application, yet this requires hooks to your app delegate, the previous implementation was flawed and subsequently removed. - ChangedAllow rendering the page to larger sizes when aspect ratio is preserved. (#3528)
- FixedFixes an issue where links that also have QuadPoints defined might be offset. (#3331)
- FixedFixes an issue related to bundle path resolution on relative linked files. (#3539)
- FixedFixes an issue where
PSPDFCryptor
would report an error for files with a size that is dividable by 4096. (#3547) - FixedFixes a compatibility issue with the XFDF API version. (Z#1610)
- FixedFixes an issue where the annotation toolbar's position couldn't always be set before it was initialized. (#3575)
- FixedFixes an issue where the continuous scroll mode could result in a NaN exception under high load in split screen mode. (#3577)
- FixedFixes a tiny memory leak when exporting XFDF files.
4.4.10 24 Jul 2015
- ChangedImproves document parsing for certain documents that are invalid according to the PDF 1.7 specification, yet work with Adobe Acrobat. (Z#1534)
- ChangedImproves text placing logic for callout free text annotations. (#3476)
- ChangedImproves compression for embedded images in stamps if they don't contain alpha data. (#3494)
- FixedFixes an issue where the keyboard would not hide in all cases after dismissing the modal search controller. (#3449)
- FixedFixes a race condition that could lead to a deadlock when forms are parsed and JavaScript processed concurrently. (Z#1546)
- FixedFixes a rare assertion when the scrobble bar bins pages in landscape. (#3504)
4.4.9 17 Jul 2015
- ChangedUpdate OpenSSL to 1.0.2d.
- APIExpose
PSPDFPageScrollViewController
andPSPDFPagingScrollView
. (Z#1489) - AddedFeature: Text selection is smarter on selecting words and better filters out commas or quotation marks. (#1954)
- ChangedPerformance: Greatly improved document parsing speed with a large set of annotations that need named destination resolving. (>10.000) (Z#1339)
- ChangedPerformance: Improvements for parsing forms on complex documents with more than 1000 pages. (Z#1422)
- ChangedImproves parsing accuracy when page arrays contain invalid entries. (Z#1477)
- ChangedImproves the UI/inspector flow when inserting free text annotations. (#3335)
- ChangedEnsures that the inspector updates in all cases on alpha updates. (#3336)
- ChangedImproves the HUD layout logic when changes are happening while the
PSPDFViewController
is off-screen. (#3361) - ChangedImproves calculation of the selection border for non-editable note annotations when zoomed in. (#3155)
- FixedFixes issues with page centering while zooming. (#3340, #3419)
- FixedFixes an issue with XFDF serialization of forms with parent/child relationships. (#3138)
4.4.8 6 Jul 2015
- ChangedNow using and requires Xcode 6.4 to build. Xcode 6.3.2 is unsupported but still works fine - however this might change in future updates. It's always a good idea to use the latest available tools.
- ChangedVarious performance improvements when parsing documents with a large amount of complex, nested form elements. (Z#1339)
- ChangedImproves the thumbnail transition when multiple transitions are being executed concurrently. (#3248)
- Changed
PSPDFModel
can be serialized viaNSCoder
again. (Z#1394) - ChangedEnsures that highlight annotations don't have a border by default. (#3277)
- ChangedImproves text field formatting to be more consistent with the way Acrobat handles formatting. (#2548)
- ChangedImproves the combination of long press &
PSPDFLinkActionAlertView
. (#3289) - ChangedImproves
PSPDFHUDViewAnimationSlide
under iOS 8. (#2951) - ChangedImproves automatic thumbnail size calculation for certain edge cases in iOS 8. (#3045)
- ChangedDecreases memory usage when trying to parse corrupted documents to ensure we are below certain memory limitations. (#3314)
- FixedFixes an issue where customizable choice form elements sometimes didn't retain the correct selection. (#2919)
- FixedFixes an issue where certain font styles in annotations could be lost when converting documents via
PSPDFProcessor
. (#3147) - FixedFixes an issue where invoking the image picker via javascript immediately dismissed the picker. (#3274)
- FixedFixes a potential crash when
autodetectLinkTypes
is enabled and a phone number that is overlaid with custom annotations is detected. (Z#1402) - FixedFixes a potential crash related to a change in
NSDictionary
on iOS 9.0b2. - FixedFixes an issue where the email sheet sometimes is not presented if options are preselected. (#3137)
4.4.7 24 Jun 2015
WWDC week! We're hard at work to make sure PSPDFKit is a good citizen on iOS 9 and also grilled the UIKit engineers in San Francisco. This release features various first updates for the iOS 9.0b1 and Xcode 7. As usual, our strategy is to keep a stable PSPDFKit 4.4.x that works with SDK 8 (Xcode 6.3.2), supporting iOS 7, 8 and 9 (with some exceptions, like multitasking) - while at the same time we are also working on PSPDFKit 5, made for Xcode 7 and iOS 8+9. Expect PSPDFKit 5 some time in September before the iOS 9 GM.
- ChangedUpdates OpenSSL to 1.0.2c. (None of the security updates affects PSPDFKit, but it's a good habit to keep things up-to-date)
- API
pathShadowForView:
now returns anUIBezierPath
object instead of aCGPathRef
object. - API
showsScrollIndicators
has been split intoshowsHorizontalScrollIndicator
andshowsVerticalScrollIndicator
for a more fine-grained control. (#3191) - ChangedImprove custom font attribute support for outline. (#3111)
- ChangedExporting XFDF now writes the 'f' file tag. (Z#1335)
- ChangedSerializing documents via
NSKeyedArchiver
now stores relative paths, so that objects can be properly restored even after app updates on iOS 8/9. (#2651) - FixedFixes issues with certain passwords with non-ascii characters and PDF 1.7 files. (#3166)
- ChangedIf annotation rendering is disabled, we hide these options from the share menu. (print/mail/open in) (#3202)
- ChangedText handling for zoomed in pages is now a lot better, thanks to an unnamed UIKit engineer in the labs. (#2763)
- ChangedEnsures that popup annotations don’t get a default border. (#3214)
- ChangedImproves search performance and layout related to UI updating when using the popover/modal view. (#3190, #3212)
- ChangedImproves animation for gesture-based view controller dismissal and the HUD. (#3109)
- ChangedVarious performance improvements related to multiple gallery items when zooming/mirroring. (Z#938)
- ChangedImproves child view controller usage detection and
contentInset
calculation for certain edge cases. (#2998) - ChangedHiding the annotation toolbar no longer automatically dismisses any visible popover. (Z#1366)
- ChangedResizing annotation as a set (multiselect) now better handles free text annotations. (#1982)
- ChangedImproves the logic that positions signatures and better deals with edge cases like incorrect PDF coordinates. (#3113)
- ChangedEnsures that upon
PSPDFViewController
dismissal, the HUD is always visible. (#3227) - ChangedWorks around an UIKit bug that causes the backdrop blur to produce incorrect results under certain conditions. (#3162)
- ChangedWorks around an UIKit issue related to nested scroll views that could make text view scrolling flaky when zoomed in. (rdar://21180283, #2830)
- FixedFixes an issue where cut/copy was enabled for readonly text fields. (#3156)
- FixedFixes issues related to printing and popover management. (#3186, #3187)
- FixedFixes a few edge cases found with Xcode 7 related to nullability.
- FixedFixes a potential null pointer dereference when a document with a corrupt page array is being parsed. (#3235)
- ChangedVarious updates to improve compatibility with iOS 9.0b1.
4.4.6 5 Jun 2015
- ChangedImproves performance with re-building the scrobble bar; noticeable when the frame is changed with animation. (#3007)
- AddedAdds a workaround for an UIKit issue where
viewWillLayoutSubviews
would not always be sent when thePSPDFViewController
is set as therootViewController
under iOS 8. (#3031) - ChangedImproves the way we position the document label to cover more corner cases. (#3049)
- ChangedImproves annotation toolbar placement in certain edge cases. (#3044)
- ChangedImproves free text placement when resizing via anchoring to the bottom left. (#2177)
- ChangedIf a document contains multiple files, a RemoteGoTo action will be rewritten to a regular GoTo action if the target file is part of the multi-file-document. (Z#1018)
- ChangedImproves the flow when changing the free-text annotation results in a different bounding box. (#2246)
- ChangedImproves thumbnail rendering logic to ensure newly created annotations are always rendered. (#3054)
- Changed
UIModalPresentationPageSheet
is now used instead of the FormSheet presentations style to work around an issue with the mail controller. (Z#1176, Z#1270) - ChangedImproves half modal view logic to automatically dismiss a visible controller before a new one is presented. (Z#1271)
- FixedFixes an encoding issue with certain chinese characters. (#3100)
- ChangedImproves the HUD/page placement logic for certain edge cases (#3103, Z#1254)
- FixedFixes an issue where UIKit could send tap events in the wrong order, resulting in a timer not being invalidated on font size changes. (#3009)
- FixedFixes a rare race condition that could result in pages not being rendered in full resolution when a note annotation is selected programmatically. (#2621)
- FixedFixes an issue where widget annotation actions could be parsed incorrectly in multi-document setups. (#2803)
- FixedFixes a rare mutation issue when selecting a free text annotations while another one is selected in continuous scrolling mode on an iPhone. (Z#1214)
- AddedAdds a workaround for an issue in Xamarin iOS 8.10 (https://bugzilla.xamarin.com/show_bug.cgi?id=30766)
4.4.5 31 May 2015
- ChangedImproves annotation border support. Add support for the legacy /Border definition, improves dash array writing and more. (#2953, #2964, #2982, #2987)
- ChangedImproves menu positioning for line annotations, reduce likelihood of menu covering the resize knobs. (#2732)
- ChangedImproves back animation when the thumbnail filter view is visible while the view controller is popped, working around an issue with UIKit's
topLayoutGuide
. (#2948) - ChangedResizing of free text annotations with saved appearance streams now triggers a re-render. (#2895)
- ChangedBetter handles situations where the
PSPDFViewController
has an empty frame. (#2986) - ChangedWorks around an iOS 7 UIKit issue where the
contentInset
was not always correctly set in the outline view controller. (#2717) - ChangedImproves error handling around image extraction. (Z#1215)
- ChangedUpdate simple font picker example and ensures the designated initializer for
PSPDFFontPickerViewController
is always called. (Z#1201) - ChangedUsing
PSPDFProcessor
with the same input and output URL is documented as an unsupported operation. PSPDFKit will now detect this and return an error instead of potentially corrupting the output file. (#2985) - ChangedWorkaround for an UIKit issue where
UIPrintInteractionController
could call into an released object. (rdar://20963891) - ChangedFiles with multiple data sources can now also use the fallback annotation store. (#2804)
- FixedFixes a rare crash when using the color picker from the half modal controller. (Z#1220)
- FixedFixes an issue where the
UIActivityViewController
would not close automatically under iOS 7. (#2999) - FixedFixes an issue where font styles were not always correctly saved when changed via the popover inspector. (#3004)
- FixedFixes an issue where certain line endings were not rendered correctly. (Z#1192)
- FixedFixes an issue where re-creating documents via
PSPDFProcessor
with embedded annotations that contain appearance streams could result in incomplete AP streams. (#2985)
4.4.4 26 May 2015
We're now using Xcode 6.3.2 to build PSPDFKit.
- ChangedGreatly improves view state handling and view port stability, especially when rotating the device. (#2808, #2871, #2873)
- ChangedImproves search bar handling for the outline view controller. (Z#1075)
- ChangedImproves form tab order parsing and better deals with broken PDFs that have cyclic references. (#2903, #2817)
- AddedAdds a workaround for a tabbar gap issue on the half modal controller. (#2883, rdar://21036145 and rdar://21036226)
- ChangedImproves color preset handling for highlight ink drawings by saving additional metadata into the PDF. (#2726)
- ChangedThe HUD no longer hides when page is programmatically changed with pageCurl transition mode. (#2898)
- ChangedThe HUD can now be hidden, even when the annotation toolbar is visible. (#2789)
- Changed
UIModalPresentationPageSheet
is now used instead of the FormSheet presentations style to work around an issue with the mail controller. (Z#1176) - ChangedImproves color preset detection for annotations that are saved/loaded from the PDF directly. (#2915)
- ChangedNo longer creates highlight annotations with empty rects when using the highlight annotation tool without selecting text. (Z#1178)
- ChangedImproves font size calculation in multi-line text fields. (#2921)
- ChangedThe
pdfViewController:didSelectAnnotations:onPageView:
delegate is now called after theannotationSelectionView
has been configured. (Z#1166) - ChangedThe Catalog contains new examples how to lock specific annotations (PSCLockedAnnotationsExample.m) and how to add new pages (PSCAddBlankPageExample.m)
- ChangedPreserves custom protocol strings when unlocking a document with a password and improves documentation around this case. (#2652)
- FixedFixes an issue with granting recording rights for sound annotations. (Z#1190)
- FixedFixes a race condition when multiple
PSPDFDocument
objects saved to the same external data file. (#2904) - FixedFixes an issue where documents that mix relative and absolute file paths render incomplete on devices. (Z#1177)
- FixedFixes an issue where radio button form elements were not always correctly highlighted. (#2833)
- FixedFixes an issue with the bottom content inset when the search view controller is displayed modally. (#868)
- FixedFixes an issue when the thumbnail animation is cancelled externally. (#2893)
4.4.3 15 May 2015
We're now using Xcode 6.3.2(gm seed) to build PSPDFKit.
- API
PSPDFTextSearch
has a newcancelOperations:
parameter to control if previous operations should be cancelled. Since the previous behavior might be unexpected for some, we choose to not have a deprecated call. - APISome refinements on calls in
PSPDFAnnotationStateManager
, removing a redundant "From:" from various methods. - ChangedImprove compatibility when the
PSPDFViewController
is embedded inside anUITabBarController
with transparent bottom bar. (#2794) - ChangedMake sure using setAnnotations: doesn’t trigger registering undo actions. (Z#1092)
- ChangedEnsures the HUD stays visible when pages are changed via HUD controls in page curl mode. (Z#1077)
- ChangedDeclares
fieldName
nullable since some PDFs incorrectly don't declare this name. (Z#1097) - ChangedImproves text view management for free text annotations and forms when zoomed into a page (#2763)
- ChangedImproves integration of the print controller. (Z#1102)
- ChangedImplements writing of PDF actions of type PSPDFActionTypeGoTo. (#2682)
- AddedAdds a workaround for an issue where UIPrintInteractionController could access a deallocated object. (rdar://20963891, #2828)
- ChangedImproves status description text when search is finished. (#2826)
- ChangedImproves keyboard navigation and handling for forms. (#2818, #2819)
- ChangedFurther improvements to zoom/scroll behavior for zoomed in text fields. (#2758)
- FixedFixes an issue where
shouldAutomaticallyAdjustScrollViewInsets
inPSPDFConfiguration
might change to NO for certain configurations. (#2800) - FixedFixes an issue where creating annotations on the right side in double page mode could end up inserting them on the left side instead. (Z#1076)
- FixedFixes an issue where annotation background could turn black instead of transparent when the inspector is used. (#2813)
4.4.2 7 May 2015
- ChangedImproves default placement of annotation toolbar icons for the iPhone 6 Plus. (#1653)
- ChangedEnsures all dangling "special" popovers (like
UIInteractionViewController
) are dismissed before thePSPDFViewController
is dismissed. (Z#1022) - ChangedImproves status bar handling when the annotation toolbar is visible. (#2745)
- ChangedImproves performance in the text parser for certain deep cyclic XObject references. (#2786)
- ChangedReduces memory usage when parsing deep PDF XObject hierarchies. (#2786)
- ChangedImproves logic that updates the "Clear" button for form fields. (#2815)
- ChangedVarious localization updates and corrections.
- FixedFixes an issue where a pan gesture recognizer on a split view controller could end up staying disabled. (#2683)
- FixedFixes a rounding error on the iPhone 6 Plus that resulted in a non-exact sized HUD overlay. (#2788)
- FixedFixes an issue where the HUD could end up in a state that requires two taps to show, if configured in a particular, non-standard way. (#2765)
- FixedFixes an regression that resulted in no action when using
PSPDFPKCS12SignerViewController
. (#2774) - FixedFixes an issue where "Bundle" path resolution would resolve to the dynamic framework. (#2767)
- FixedFixes an issue with the Open In... feature on iPhone under iOS 8 when options are displayed prior. (Z#1022)
- FixedFixes an issue with popovers displaying as form sheets on the iPhone 6 Plus since iOS 8.3.
4.4.1 1 May 2015
- API
logLevel
is now a property on thePSPDFKit
shared object. - ChangedShowing the inspector on iPhone now hides optional HUD components for a clearer editing focus.
- ChangedImproves scrolling behavior for text field forms when zoom position is larger than the element itself. (#2677)
- FixedFixes a regression that would modify the scroll view port imperfectly when using the inspector on iPhone.
- FixedFixes an issue with the embedded version information being blank.
4.4.0 29 Apr 2015
See the announcement post(opens in a new tab).
PSPDFKit is now fully compatible with iOS 8.3 and requires Xcode 6.3. We've annotated all public headers with the new nullability declarations, which is especially convenient if you use PSPDFKit with Swift. We also now ship a dynamic framework for iOS 8. This is the better choice if you've already dropped iOS 7.
- API
PSPDFDocumentPickerController
'snumberOfSearchPreviewLines
has been renamed tomaximumNumberOfSearchPreviewLines
to better indicate what it does - we also improved cell height calculation and layout. - APIWe did a large header audit and removed various headers that should not be required. If you have any issues, contact us at https://www.nutrient.io/support/request.
- ChangedThe
PSPDFScrobbleBar
now supports vertical modes. (seescrobbleBarType = PSPDFScrobbleBarTypeVerticalRight
) (#2613) - ChangedIntroduces UI for line dash styles and enables customization options for these presets. (#2612)
- ChangedColor preset support for additional annotation types. (see
typesShowingColorPresets
) (#2604) - ChangedMatches the flexible toolbar landscape height to the system bar height on iPhone 6+. (#2629)
- ChangedColor picker: Improves color checkmark display for clear colors. (#2628)
- ChangedImproves cleanup code for
PSPDFDrawView
to make it easier to use as standalone class. (Z#747) - ChangedEnsures no PDF rect box is larger than the media box. (Z#792)
- ChangedWhen using the tabbed view controller, the back/forward stack is cleared when switching documents. (#2615)
- ChangedUsing hide actions to trigger annotation visibility no longer marks the annotation as dirty. (#2637)
- AddedAdds a new
addBookmark:
method to add a custom named bookmark object next toaddBookmarkForPage:
. (#2577) - ChangedWorks around a potential 3rd-party compatibility issue with the AirWatch SDK. (Z#872)
- AddedAdds support for transparent line end fills (#2690)
- ChangedImproves the activity title for the bookmark action. (#2718)
- ChangedVarious accessibility improvements around the annotation inspector. (#2668)
- ChangedImproves thumbnail <-> page view animation when triggered while the animation is already running. (#2699)
- ChangedThe page/document label views and the back/forward buttons now have a
blurEffectStyle
property to customize this via UIAppearance. (#2707) - ChangedEnsures that, while using the inline search bar, the text field keeps focus when selecting form elements. (#2734)
- ChangedExposes a
PSPDFCollectionReusableFilterViewCenterPriority
to make it easier to customize the segmented control filter via AutoLayout. (#2714) - ChangedUndo/Redo is now enabled by default on iPad 2. (Z#957)
- FixedFixes an issue where a view controller was not dismissed correctly on iPhone when a UISearchController was displayed on top. (#2729)
- FixedFixes a potential race condition in combination with custom annotation providers. (#2708)
- FixedFixes an issue where computed form fields could stop working after a save. (#2676)
- FixedFixes an issue where sometimes lines could disappear while drawing really fast due to issues with touch handling on iOS. (#2703)
- FixedFixes an issue when showing the outline controller via a document activity (#2700)
- FixedFixes an issue when pressing undo while editing free text annotations. (#2660)
- FixedFixes an issue where after manually invoked saving the undo button state wasn't always correctly updated. (#2644)
- FixedFixes an issue when the
PSPDFThumbnailBar
was used in a certain configuration without a document set. (#2638) - FixedFixes an issue where lines created programmatically with
lineWidth = 1.f
didn't always trigger bounding box calculation. (#2620) - FixedFixes an issue when a JavaScript action is invoked on a field which has an invalid/missing fileName. (Z#970)
- FixedFixes a configuration issue where a popover would not be anchored to a bar button item in some cases on iOS 8. (#2611)
- FixedFixes a potential crash when flattening documents in low-memory situations. (Z#784)
4.3.5 28 Mar 2015
- ChangedUpdate nullability declarations to more classes and changed syntax to be compatible with Xcode 6.3 Beta 4.
- ChangedImproves status bar handling in iOS 8 when search is invoked in landscape mode on iPhone. (#2531)
- ChangedLink preview popovers are now correctly placed in double-page-mode. (Z#742)
- ChangedHide actions now reset invisible and noview flags to match Adobe Acrobat’s behavior, next to toggling the hide flag. (#2588)
- AddedAdds various safeguards for class overriding to detect API usage issues early. (#2553)
- AddedAdds a workaround for a memory retainment regression based on rdar://20272376. (Z#722)
- AddedAdds a workaround for an issue where rotation sometimes stopped working on iPhone under iOS 7 when using activities. (#2578)
- ChangedImproves handling of erasing annotations that are manually set to overlay = YES. (#2582)
- ChangedImproves picker placement when a picture is added via iPad on iOS 8. (Z#775)
- FixedFixes an issue where under certain conditions using bookmarks would not switch the page on iPhone. (#2589)
- FixedFixes an issue when an outline entry doesn't define any action element and then is tapped. (Z#776)
4.3.4 23 Mar 2015
- ChangedUpdate to OpenSSL 1.0.2a.
- AddedAdds a second invert color mode that creates color correct images. (#2128)
- ChangedThe document sharing view controller has a new delegate method for custom status reporting. (Z#684)
- ChangedWhen using search and highlighting, we automatically scroll to the page area where the result is highlighted. (#2209)
- ChangedFurther classes gained nullability declarations.
- ChangedImprovements for Russian localization. (#2550)
- ChangedImproves rendering for annotations when they are in selected state.
- ChangedImproves hit testing for ink annotations when
minDiameter
is set. (#2570) - ChangedWorks around an issue where custom stamps sometime would not serialize the image because of a NSCoding-related bug in UIKit. (rdar://20256585, #2539)
- FixedFixes an issue where
setPage:
would jump to an incorrect page in certain rare configuration combinations. (#2547) - FixedFixes a rare crash where UIKit was expecting accessibility categories on a proxy object. (Z#689)
- FixedFixes an issue where using additional actions in annotations didn't always execute such action.
- FixedFixes an issue where the outline view controller was not in all cases overridable.
- FixedFixes a regression where the scrollable thumbnail bar was not always correctly hidden when switching to the thumbnail controller. (#707)
4.3.3 15 Mar 2015
- ChangedVarious performance improvements, especially for cases where multiple
PSPDFViewController
instances are on screen at the same time. (#2527) - ChangedHit testing for line annotations is now purely path-based, which makes working with lines a lot simpler. (#2481)
- ChangedThe default username alert now disables the save button when there is no text entered.
- FixedFixes an issue where editing checkboxes could set other checkboxes from the group disabled in 3rd-party readers. (#2514)
- FixedFixes an regression where modal presentation would not always invoke save. (#2523)
4.3.2 12 Mar 2015
- ChangedSecurity:
allowCopying
onPSPDFDocument
is now readonly. - ChangedAdjusts selection to whole words only if needed. (#2505)
- ChangedDashed lines now correctly render the dash line pattern while they are being selected. (#2480)
- ChangedEnsures that annotations saved to an external file are also marked as saved in the
isDirty
flag. (#2408) - FixedFixes a regression that could prevent documents from being set if the
PSPDFViewControllerDelegate
method isn't implemented. - FixedFixes a race condition on old iOS devices related to image resizing in the cache. This also removes
allowImageResize
inPSPDFCache
. (Z#625)
4.3.1 10 Mar 2015
- ChangedUpdated for Xcode 6.2 and iOS 8.2.
- ChangedAnnotate further class headers for nullability.
- FixedFixes an issue that could cause an invalid memory access on certain malformed PDF documents (Z#608)
- FixedFixes an issue where custom
UIActivity
subclasses couldn't be set inPSPDFConfiguration
. (Z#562) - FixedFixed an out of bounds exception in cases where the entire annotation group is filtered out due to editable annotation types. (#2485)
4.3.0 6 Mar 2015
See the announcement post(opens in a new tab).
In PSPDFKit 4.3 we focussed on improving our headers with additional documentation and nullability declarations and added many detail improvements touching all parts of the framework. On the feature side, we added a new global back/forward list that greatly improves navigation, especially for large documents. It is a highly recommended update.
- ChangedWe've started to annotate classes with Xcode 6.3's new
nullable
attributes, for better interoperability with Swift and more compile-time warnings in ObjC. This is still a work-in-progress and the API might change, as Xcode 6.3 is still in beta, however we also see it as a great improvement to documentation. - ChangedWith
PSPDFBackForwardActionList
there is now a view controller-global back/forward list that allows a more efficient navigation in PDFs. (#744) - ChangedExamples: We added a separate Swift example for Swift 1.2 which is included in Xcode 6.3b2.
- Changed
PSPDFGalleryConfiguration
now includes aallowPlayingMultipleInstances
property to control playback of multiple audio/video files at once. (#2386) - ChangedThe play button in the gallery
PSPDFMediaPlayerCoverView
can now be customized via UIAppearance. (#2411) - ChangedThe gallery now uses appearance stream images from Screen/RichMedia annotations if set. (#2400)
- ChangedThe
coverImage
parameter for multimedia elements now resolves URLs with custom blocks. (#2409) - ChangedWhen a video is presented on an external screen, fullscreen is disabled for the gallery item. (#2390)
- ChangedAutomatically set background to clear for certain gallery types. #(2381)
- ChangedImproves the way the gallery handles looping; disables looping for <= 2 items. (#939, #2319)
- ChangedImprovements to
PSPDFViewState
to allow a more accurate state restoration (#101). - ChangedDocuments with an invalid internal structure that can't be correctly rendered no longer throw an exception. (#2294)
- ChangedCustom stamp annotations no longer enforce the all-caps rule. (Z#453)
- ChangedWhile the inline search bar is visible, the HUD visibility can no longer be changed. (#2341)
- ChangedFile names can now be customized via subclassing
PSPDFMailCoordinator
. See PSPDFKit Catalog for an example. (#2416) - ChangedIf Widget is not in
editableAnnotationTypes
, don’t make a form editable. (#2431) - ChangedUsing the
autodetectTextLinkTypes
data detectors is now much faster for most documents. - ChangedAction objects in many cases now offer an improved description. (#2465)
- AddedAdds support for right/center-aligned text field form elements. (#2473)
- ChangedThe
PSPDFAnnotationTableViewController
now changes pages via an implicit createdPSPDFGoToAction
so it's easy interceptable. (#2463) - Changed
PSPDFWebViewController
now lazily creates the bar button items, so they can be accessed before the view is loaded. (#2467) - ChangedImproved the render status indicator to act like a table header, staying visible during zooming. (#2334)
- ChangedImproves scrolling in continuous scroll so that a single page doesn't scroll out of the centered area when manually calling
setPage:
. (#2295) - ChangedImproves logic where to place the HUD, to make sure it doesn't overlap with the document. (#2353)
- ChangedImproves HUD handling for edge cases where the navigation bar doesn't match up with the status bar. (#2455)
- ChangedImproves keyboard handling for
PSPDFNoteAnnotationViewController
when using delete and for rotation events. (#2365) - ChangedImproves text extraction engine to deal with more cases of unusual XObject placement. (#2254)
- ChangedImproves view controller animations when page curl mode is enabled. (#2336)
- ChangedImproves the signing process and compatibility with Adobe Acrobat when a document is signed multiple times. (#2055)
- ChangedImproves Form JavaScript validation error message handling. (#2442)
- ChangedImproves text parsing speed, especially for documents with deep XObject hierarchies. (#2399)
- ChangedWorks around an UIKit regression in iOS 8 where rotation callbacks could be send twice when embedded in a split view controller. (rdar://problem/19810773)
- APIWe moved several class methods/initializers that should not be called by users into private headers to simplify the exposed API.
- FixedFixes an issue where checkboxes end up not editable after saving. (#2451)
- FixedFixes an issue where the
PSPDFBookmarkActivity
did not always correctly update the bookmark status. (#2327) - FixedFixes a potential assertion while building the page info cache if
pageRange
was modified right after triggering caching. (#2424) - FixedFixes an issue where the scrobble bar sometimes didn't correctly re-bin. (#2425)
- FixedFixes an issue where the
applicationActivities
setting was ignored. (#2401) - FixedFixes a regression related to printing. (#2404)
- FixedFixes a regression where changing points in a line annotation would not properly capture state when performing undo. (#2378)
- FixedFixes an issue where pushing
PSPDFViewController
onto navigation stack could show the 'X' button instead of the native back one. #(2367) - FixedFixes an issue where the scrollable thumbnail bar would sometimes not re-appear after hiding the HUD. (#2361)
- FixedFixes an issue where non-committed annotations don't get resized/moved correctly when frame changes. (#2068)
- FixedFixes a regression in iOS 8 that could cause the render-thread to freeze for certain documents. (Z#452, rdar://problem/19865091)
- FixedFixes an issue where setting
showColorAndIconOptions
late inPSPDFNoteAnnotationViewController
could be ignored under iOS 7. - FixedFixes an issue where a checkbox did not toggle like a radio button when configured that way. (#2227)
- FixedFixes an issue where the item toolbar button is not correctly positioned in landscape. (#2322)
- FixedFixes a potential nullpointer dereference when using the gallery and multiple
PSPDFViewController
instances. (Z#261)
4.2.2 11 Feb 2015
- ChangedImproves binning behavior in the scrobble bar for large documents.
- FixedFixes an issue where the
PSPDFViewController
could be leaked when view controller containment was called with an incomplete call order. - FixedFixes a timing-related issue where searching via selected text could leave search results not highlighted initially.
- FixedFixes an issue where embedded files were not always correctly previewed.
- FixedFixes an issue related to document sharing.
4.2.1 10 Feb 2015
- ChangedImproves the way we store search text in
PSPDFDocumentPickerController
. - ChangedImproves tiling for the continuous scrolling mode.
- ChangedImproves writing custom appearance streams for form fields when the value is encoded as UTF-16BE.
- ChangedImproves the animation when adding/removing highlight annotations.
- ChangedImproves audio session management; the code is now smarter when switching sessions is required to minimize background music stops.
- ChangedImproves HUD showing/hiding logic when
scrollMode
is set to page curl. - ChangedImproves selection behavior for callout free text annotations.
- APIChanges the options settings in
PSPDFDocumentInfoCoordinator
to strings to make them simpler to customize. - FixedFixes an issue that could cause some thumbnails to not load in the scrobble bar until the view was rotated under certain rare conditions.
- FixedFixes an issue with missing symbols in the OpenSSL-free build.
- FixedFixes an issue where some URL actions would not open the inline browser.
- FixedFixes an issue where the
UIMenuController
would ignore taps when the menu was displayed and thenreloadData
called manually. - ChangedWorks around an issue where the framework could trigger
objc_trap()
in rare occasions. (rdar://problem/19029811)
4.2.0 5 Feb 2015
See the announcement post(opens in a new tab).
We're proud to release PSPDFKit 4.2(opens in a new tab), which is the result of more than 2 months of hard work. Highlights are the new text editing toolbars, support for secure libraries via SQLCipher and a resizable inspector on iPhone. The gallery learned how to deal with web content and we now use the modern WKWebView
internally whenever possible and is a lot faster for pages with many multimedia views.
- ChangedGreatly improved handling for free text annotations with a new editing toolbar for both iPhone and iPad.
- ChangedThe half modal inspector on iPhone is now resizable and automatically adapts to the required content size.
- AddedAdds support for SQLCipher to have optionally encrypted search indexes with
PSPDFLibrary
. - ChangedThe gallery can now deal with web content, replacing the
PSPDFWebAnnotationView
. - ChangedThe gallery subsystem is now a lot more efficient, especially noticeable in cases where pages have > 10 different video/audio views (minor API changes due to the performance improvements)
- Changed
PSPDFWebViewController
now usesWKWebView
by default, increasing browsing performance and scrolling speed. - ChangedThe completion block for popover dismissal is now invoked after the popover is completely dismissed when animated is set to YES.
- ChangedSecurity: Password protected documents now automatically disable the disk cache.
- ChangedNatural drawings can now be exported/imported via XFDF.
- ChangedVarious improvements to annotation resizing.
- ChangedText field form elements that are configured as multi-line elements with auto-sized font are now better handled.
- ChangedThe Edit/Clear All buttons in the
PSPDFAnnotationTableViewController
are now hidden if there are no types set in `editableAnnotationTypes. - ChangedSound annotations are now paused when the page is changed.
- ChangedSound annotations are now rendered into the thumbnail view.
- ChangedThe animation to toggle between thumbnails and the full page view now smoothly fades content and no longer blocks the UI while animating.
- ChangedPerformance improvements for documents with complex or deep form annotation trees.
- ChangedImproves search preview to deal with content that has many newlines.
- ChangedThe editor for choice form fields no longer shows the form element title.
- ChangedThe
PSPDFOutlineViewController
now better deals with long page labels and will correctly calculate the height to show them completely. - AddedAdds XFDF serialization/deserialization support for
PSPDFEmbeddedGoToAction
. - ChangedUpdates the JotTouchSDK driver to 2.6.4 and fixes an issue with flipped touch points.
- ChangedIgnore annotation types in the long tap menu that are set in
createAnnotationMenuGroups
but are not set ineditableAnnotationTypes
. - ChangedVarious improvements and enhanced support for JavaScript actions and events.
- ChangedImproves "Sign" arrow rendering for very small form elements.
- ChangedImproves scrobble bar touch handling for certain cases when in double page mode.
- ChangedVarious cleanups and modernization for the
PSPDFCache
subsystem. - ChangedRotating while drawing now correctly animates unsaved shapes as well.
- ChangedImproved behavior of the "sticky header" thumbnail layout mode and greatly improves performance for large documents.
- ChangedClosing a tab in
PSPDFTabbedViewController
now autosaves the document. (if the autosave configuration is enabled) - ChangedExposes a new
updateAnnotationSelectionView
subclassing hook in PSPDFPageView to customize the innerEdgeInsets of the annotation selection view. - ChangedVarious improvements in how the HUD handles the showing/hiding animation of the
UINavigationBar
. - ChangedImages embedded in PDFs now have a slightly higher default JPG compression to reduce file size.
- ChangedSelecting stamp annotations now requires less memory and is more performant, especially on high zoom scales.
- APIAll
PSPDFBarButtonItem
classes have been replaced by plain bar buttons. There is a newPSPDFDocumentActionExecutor
and various coordinators (e.g.PSPDFMailCoordinator
) which better replace this functionality + allow you to call such actions without aPSPDFViewController
around. Settings (applicationActivities
,printSharingOptions
, ...) have been moved toPSPDFConfiguration
. - APIRemoved
PSPDFMinimumSearchLength
. The default is now always one character to provide instant feedback and better support CJK languages. - API
PSPDFHUDView
now exposes new insets for child views:pageLabelInsets
,documentLabelInsets
,thumbnailBarInsets
andscrobbleBarInsets
. This supersedes and replaces the more inflexiblepageLabelDistance
anddocumentLabelDistance
. - APIRenamed
PSPDFSecurityAuditor
toPSPDFApplicationPolicy
. - APIMoves
centerRenderStatusView
fromPSPDFPageView
torenderStatusViewPosition
inPSPDFConfiguration
. - API
PSPDFFormSubmissionDelegate
now returns thePSPDFFormSubmissionController
as first parameter instead of the PSPDFViewController. - API
PSPDFThumbnailViewFilter
has been changed from an enum to strings, to make it both simpler to configure and easier to extend with custom filters. - API
PSPDFThumbnailViewController
has been modernized; properties have been moved to eitherPSPDFConfiguration
or simply edit the layout directly. - APIExposes various new subclassing hooks.
- ChangedWorks around an UIKit issue where accessing
popoverPresentationController
could lead to a retain cycle. (rdar://problem/19167124) - ChangedWorks around an UIKit regression in iOS 8 related to the status bar and presenting UIImagePickerController in a popover. (rdar://problem/19079532)
- ChangedWorks around an UIKit regression in iOS 8 where
preferredInterfaceOrientationForPresentation
was not honored under certain conditions. (rdar://problem/19096083) - ChangedWorks around an UIKit regression in iOS 8 where the autocorrect selection didn't properly update when scrolling (rdar://problem/19564341)
- ChangedWorks around an UIKit regression in iOS 8 where a particular combination of popovers and table view cells could lead to a layout loop (rdar://problem/19556505)
- ChangedWorks around an UIKit regression in iOS 8 where setting
preferredContentSize
doesn't always correctly update the size ifnavigationBarHidden
changes. (rdar://problem/19175472) - ChangedWorks around an UIKit regression in iOS 8 where rotation settings are not always recognized with multiple windows. (rdar://problem/19592583)
- ChangedWorks around an UIKit issue related to non-integral contentInset that led to gesture recognizer failures on the iPhone 6+.
- FixedFixes a potential race condition when creating annotations that could lead to an object over-release in custom annotation providers.
- FixedFixes an issue where inline search would find text within a note and open the popover, but not close it when jumping to the next result.
- FixedFixes an issue where search highlights sometimes did not animate correctly in iOS 8.
- FixedFixes an issue where the (annotation) menu was not displayed when a popover was visible in iOS 8.
- FixedFixes an issue where calling search with a nil string would cause an exception.
- FixedFixes an issue related to overriding
firstObject
via a category and our detection/repair attempt. This now works when symbols are stripped as well. - FixedFixes an issue where a malformed PDF date string could cause an assertion while parsing.
- FixedFixes an issue where
shadowOpacity
inPSPDFConfiguration
could be ignored in some cases. - FixedFixes an issue where parsing extended text style attributes didn't work with font names with spaces.
- FixedFixes an issue that prevented entering Japanese or using the auto correct feature within the free text annotation text view.
- FixedFixes a rare issue that could save sound annotations in a way not compatible with Adobe Acrobat.
- FixedFixes an issue where choosing erase mode, then switching pages could result in a different draw color than what was selected.
- FixedFixes an issue where the first digital signature was rendered invalid by Adobe Acrobat when the document was signed a second time.
4.1.2 23 Nov 2014
- ChangedImproves performance for documents with a large number of annotations by moving more work to background threads.
- ChangedIntroduces a new
textSelectionMode
and an optionaltextSelectionShouldSnapToWords
to better customize the text selection behavior. - ChangedImproves various edge cases on type image preview in the annotation view controller.
- ChangedExposes the stylus manager in the
PSPDFKit
shared object. - ChangedHook up all significant places that access network for the new
PSPDFNetworkActivityIndicatorManager
. - ChangedImproves drawing view transform handling for certain edge cases.
- ChangedImproves zooming performance when annotations are selected.
- ChangedVarious improvements to the natural drawing path generation and bounding box algorithm.
- ChangedImproves the animation when the view controller is popped but the annotation toolbar is still visible.
- ChangedImproves tab bar placement in
PSPDFTabbedViewController
when the navigation bar has a custom image set via UIAppearance. - ChangedWorks around a runtime issue when using weakly referenced objects during dealloc. (rdar://problem/19029811)
- ChangedWorks around an UIKit issue with presenting an
UIAlertController
while a popover is dismissed. (rdar://problem/19045528) - ChangedWorks around an UIKit regression where
automaticallyAdjustsScrollViewInsets
doesn’t always work on iOS 8. (rdar://problem/19053416) - ChangedWorks around an UIKit regression where dismissing a popover with a double-tap could also dismiss the modal parent on iOS 8. (rdar://problem/19067761)
- FixedFixes an edge case where the gallery could display wrong content during paging.
- FixedFixes an issue with changing choice form elements values on iPhone.
- FixedFixes an issue where indexing single-page documents could have reported an invalid status.
- FixedFixes an issue where changing the filter on the thumbnails with sticky header enabled would not reset the view port on iOS 8.
- FixedFixes an issue where a selected annotation could end up slightly blurry when zoomed in due to an incorrectly set contentScale.
- FixedFixes an issue where annotations loaded from XFDF could trigger an assertion.
4.1.1 11 Nov 2014
- APIRemoves
PSPDFAlertView
andPSPDFActionSheet
. If you used them, get a local copy here: https://github.com/steipete/PSAlertView We're now using a new wrapper to unify these and UIAlertController, and also made it open source! https://github.com/steipete/PSTAlertController - APIVarious smaller updates and refinements, including a new network activity manager.
- ChangedImproves ink signature handling and saving, especially when natural drawing is enabled or pages are rotated.
- ChangedImproves bundle image loading code to better deal with situations where the bundle is in unusual places; improves compatibility with Extensions.
- ChangedThe
loop
setting in the gallery is now also propagated if the gallery is already loaded. - ChangedAnnotations and Form Elements can now be found and read using UIAccessibility.
- ChangedBetter detection for invalid 3rd-party code that overrides Apple methods with different behavior.
- ChangedImproves aspect ratio correct resizing when an additional margin for annotations is configured.
- ChangedSlightly updates the note icons to better match with the rest of the annotation icon set.
- ChangedSignatures in the keychain store now are strongly validated and empty signatures are thrown away on load.
- ChangedWorks around an UIKit regression in iOS 8.1 where a new window incorrectly rotated. This affected the fullscreen view of the gallery. (rdar://problem/18906964)
- ChangedWorks around an UIKit bug where an action sheet would not show up in iOS 8, instead showing constraint errors. (rdar://problem/18921595)
- ChangedWorks around a problem where the Swift compiler can't parse headers with strongly retained dispatch objects. (radar pending)
- FixedFixes an issue where Open In... could take very long or completely get stuck when form elements were saved.
- FixedFixes an assertion (
UID
nil) when the last tab in the tabbed controller was removed. - FixedFixes a potential crash when using accessibility to read the contents of the PDF.
4.1.0 5 Nov 2014
See the announcement post(opens in a new tab).
PSPDFKit now requires Xcode 6.1 with SDK 8.1. (iOS 7.0 is still supported)
If you use HockeyApp, Crashlytics or a similar crash reporting tool, we would love to hear from you. We're working hard to further reduce our already very low issue rate and appreciate your feedback. ([email protected])
PSPDFKit will now assert if you change annotation properties on threads other than the main thread. This behavior was unsupported before and was a cause for issues that were very hard to track down. Read more about the annotation object model at https://github.com/PSPDFKit/PSPDFKit-Demo/wiki/The-annotation-object-model.
- ChangedNatural Drawing! You'll love this new default. Your drawings will look much more realistic, and are still fully backwards compatible to 3rd-party apps.
- ChangedVarious optimizations and improvements for iOS 8.1
- API
PSPDFSpeechSynthesizer
has been renamed toPSPDFSpeechController
. - API
PSPDFActivityBarButtonItem
now forwards the iOS 8-style completionHandler. - API
wantsSelectionBorder
is now an instance method to customize this per object. - APIThe
PSPDFPresentationStylePopover
has been removed in favor of the iOS 8 variantUIModalPresentationPopover
. - APIThe interface around
PSPDFStream
andPSPDFStampAnnotation
has been modernized. - APIThe
PSPDFSignatureStore
is now a protocol with a default implementation that can be changed via configuringPSPDFConfiguration
. - APIVarious annotation classes have gained a convenience initializer.
- APIThe gallery is now configurable via
PSPDFGalleryConfiguration
inPSPDFConfiguration
. - APIVarious annotation enum values now have appropriate transformer objects for better JSON export. (
PSPDFBorderStyleTransformerName
,PSPDFBorderEffectTransformerName
,PSPDFFreeTextAnnotationIntentTransformerName
) - APIMany singletons have been moved to the global
PSPDFKit
object and various smaller class refinements. - ChangedWriting documents now uses
NSFileCoordinator
for better compatibility with iCloud Drive and Extensions. - ChangedIf the size class on iOS 8 is
UIUserInterfaceSizeClassCompact
, the status bar will now be hidden. - ChangedThe inline search manager now automatically focuses the first search result.
- ChangedThe inline search manager now shows the current search status with a slight delay to be more visually pleasing.
- ChangedAbsolute paths, while discouraged, are now properly detected in the gallery on iOS 8.
- ChangedThe gallery now automatically resolves URL endpoints that have no pre-set type. (video/image/etc)
- ChangedMakes sure the
PSPDFViewController
always correctly reloads, even when the document is changed while the controller is off-screen. - ChangedVarious stylus drivers have been updated to be compatible with their API changes.
- ChangedSearch previews generated via
PSPDFLibrary
now also support text containing diacritics. - AddedAdds support for bended arrows created in Yosemite's Preview.app.
- ChangedPublic C functions are now wrapped so they don't get name mangled if ObjC++ is used.
- ChangedThe annotation user name is now requested as soon as a annotation style mode is entered, not when the annotation is committed.
- ChangedThe interactive pop gesture is now disabled when the HUD is hidden to not accidentally invoke it during scrolling.
- ChangedImproves robustness when
PSPDFLibrary
is called from multiple threads. - ChangedImproves reliability of sound annotations, especially on iOS 8 and 64 bit.
- ChangedImproves code paths around setting a default line width when a border is set.
- ChangedImproves compatibility with a certain set of annotations with appearance streams that uses custom transforms.
- ChangedImproves reported frame when calling the shouldShowMenuItems: delegate in annotation sub-menus. (e.g. Highlight->Color)
- ChangedImproves menu placement for annotations that can't be resized or moved.
- ChangedImproves gallery error handling while the manifest is loaded.
- ChangedVarious improvements and better error detection/logging for the digital signing process.
- ChangedReduces memory pressure for older devices such as the iPad 2, the iPhone 4S and older iPod Touch devices.
- ChangedThe
creationDate
is now set for new user-created annotations andlastModified
is updated on every change. - ChangedThe text editing for bookmark names is now committed before a cell reorder is started, to ensure the changed text gets saved to the correct item.
- ChangedWhen the device switches to single/double page mode due to rotation, we now will restore the last page instead of the left page from the double page mode.
- ChangedEnsures all popover dismissal code paths go through the workaround for rdar://problem/18500786 on iOS 8.
- ChangedComplex ink annotations are now processed much faster.
- ChangedThe move button no longer overlaps the signature display in the
PSPDFSignatureSelectorViewController
. - ChangedEnsures the signature creation buttons in
PSPDFSignatureViewController
are pixel-aligned. - ChangedVarious improvements to digital signature handling.
PSPDFPKCS12Signer
now exposessignFormElement
for non-interactive signing. - ChangedVarious functional and performance improvements when parsing forms with JavaScript.
- ChangedPSPDFKit now uses various iOS 8 QoS classes where appropriate to better deal with important/background related tasks.
- ChangedUpdates OpenSSL to 1.0.1j and SQLite to 3.8.7.1 (optional)
- ChangedWorks around a potential deadlock in the Apple PDF renderer when called during the application did load event. (rdar://problem/18778790)
- ChangedWorks around an issue where
UIDocumentInteractionController
sometimes would print extremely long log statements (rdar://problem/18568591) - FixedFixes an issue with certain missing headers in the OpenSSL-free build.
- FixedFixes an issue where drawings created during one operation in multiple pages could be collected to a single page on commit.
- FixedFixes a small UI issue where on iOS 8 the current page of the color inspector could be wrong.
- FixedFixes a set of crashes that could happen on more complex views when they were laid out with a
CGRectNull
. - FixedFixes an issue when the
activeFilter of the
PSPDFThumbnailViewController` is set manually. - FixedFixes a potential deadlock when
PSPDFPerformBlockWithoutUndo
was used manually in a large-scale way. - FixedFixes an issue related to the
pageRange
feature and HUD scrollable thumbnail updating. - FixedFixes a potential stack overflow if extremely complex PDF forms were saved using
NSCoder
. - FixedFixes an issue where tapping the annotation button quickly could result in an incorrect selection.
- ChangedMany of the more obscure bugs and crashes have been squashed.
- ChangedVarious localization updates and improvements. PSPDFKit now uses the stringsdict file format(opens in a new tab) to define language plural rules.
4.0.3 3 Oct 2014
- AddedAdd API on
PSPDFViewController
to check if a search is runningisSearchActive
and to cancel a running searchcancelSearchAnimated:
. - ChangedImproves various animation effects under iOS 8.
- ChangedUpdates the optional SQLite library to 3.8.6.
- ChangedReduced the default speak rate in
PSPDFSpeechSynthesizer
from fast to normal. - ChangedEnables many new warnings to improve code quality and keeps our headers warning free in -Weverything environments.
- AddedAdds support for loading the PSPDFKit.bundle from unusual locations which improves compatibility with dynamic frameworks.
- ChangedImproves annotation moving/resizing logic to be more pixel accurate.
- ChangedThe
PSPDFInlineSearchManager
instance is now exposed inside thePSPDFViewController
, when used. - ChangedThe
PSPDFViewController
now shows page labels if set for search results cells. - ChangedThe play button in the gallery component will no longer zoom in but always stay at the optimal size.
- ChangedPSPDFKit now emits a log warning if
UIViewControllerBasedStatusBarAppearance
is set to NO. - ChangedPSPDFKit will now assert if the license is set on a background thread. This is a very fast operation and needs to be done on the main thread.
- Changed
PSPDFEraseOverlayLayer
has been refactored toPSPDFEraseOverlay
to allow property customization viaUIAppearance
. - ChangedThe navigation bar will no longer be modified if PSPDFKit is embedded via child view controller containment and
useParentNavigationBar
is set to NO. - ChangedFree text annotations are now always rendered aspect ratio correct.
- ChangedVarious improvements to the undo/redo feature.
- ChangedTrying to show the print or open in sheet now no longer throws a popover exception if the
PSPDFViewController
is not visible. - ChangedWorks around a regression in iOS 8.1b1 related to UIAppearance with (rdar://problem/18501844)
- ChangedWorks around a regression in iOS 8 where dismissing a popover controller could result in accessing a deallocated object on iOS 8. (rdar://problem/18500786)
- ChangedWorks around a regression in iOS 8 where dismissing a popover could dismiss the parent modal controller. (rdar://problem/18512973)
- ChangedWorks around an issue where UIKit throws an unexpected exception when accessing the image in the general pasteboard. (rdar://problem/18537933)
- ChangedWorks around an issue where UIKit forwards
_UIPhysicalButton
objects when we expectUITouch
objects. (rdar://problem/18537814) - FixedFixes an issue with a non-standard-conforming PDF not defining "Subtype" in the font dictionary.
- FixedFixes an issue where the
PSPDFPopoverController
could be presented rotated on landscape under iOS 8. - FixedFixes an issue that would indicate "No page text" on the whole document after a search if the last document page contained no text.
- FixedFixes an issue where in some cases RichMedia/Screen annotation video content was cached but not re-fetched if the cache was deleted by the system.
4.0.2 26 Sep 2014
- ChangedThe UID generation in
PSPDFDocument
now works better with new app container locations in iOS 8. (See https://developer.apple.com/library/ios/technotes/tn2406/_index.html) - ChangedImproves video scrubbing behavior and the animation when the gallery is displayed in fullscreen.
- ChangedFreeText Callout annotations now support dashed borders and better deal with different border/text colors.
- ChangedVarious smaller improvements related to the HUD visibility and thumbnail grid on the iPhone 6 Plus.
- ChangedLicense is now validated later to allow setting the
PSPDFViewController
via Storyboards. - ChangedImprovements to the search animation in
PSPDFOutlineViewController
. - ChangedDigital Signatures now support up to 10k of payload data.
- ChangedWorks around an issue with extremely large image tiling on 64-bit devices.
- APIRename
searchStyle
tosearchMode
to keep it consistent with the enum name. - API
searchForString:options:animated:
inPSPDFViewController
now has an additionalsender
parameter to control popover placement. - FixedFixes an issue where
fitToWidth
didn't work as expected. - FixedFixes an issue where the software brightness dimming would not fill the whole screen on iOS 8 in landscape.
- FixedFixes an issue where the stylus selection controller would hide other stylus options after one stylus has been chosen.
- FixedFixes a small issue with calculating the content scroll view offset.
- FixedFixes an issue where reordering apps in the “Open In” menu did not work. (iOS 8 only)
- FixedFixes an issue where the actions in the
moreBarButtonItem
sometimes wouldn’t invoke under iOS 8 because they were committed while the action sheet was still dismissing. - FixedFixes an array overflow issue when a certain (corrupt) PDF was parsed.
4.0.1 23 Sep 2014
- ChangedVarious improvements to the PSPDFKit Catalog examples.
- ChangedThe
PSPDFSearchViewController
now always remembers the last used search string. - FixedFixes a minor rendering artifact on the iPhone 6 Plus.
- FixedFixes an issue in the gallery image tiler that is specific to the iPhone 6.
- FixedFixes an issue with detecting gallery URLs that are scaled (@2x, @3x)
- FixedFixes an issue with link annotation options that contain a URL parsed from an XFDF.
4.0.0 22 Sep 2014
See the announcement post(opens in a new tab).
PSPDFKit 4 is a major new release. Please study the migration guide: https://github.com/PSPDFKit/PSPDFKit-Demo/wiki/PSPDFKit-4.0-Migration-Guide
Important: For your own security, invalid licenses now abort the app immediately, instead of silently showing a watermark. PSPDFKit now requires a demo license for evaluation in your own app. Download it from the website and we'll automatically deliver the demo key via email.
Core Viewer:
- ChangedPSPDFKit 4 is now fully compatible with iOS 8 and requires Xcode 6 with SDK 8.
- ChangedResources and loading support for @3x resources required for the iPhone 6 Plus have been added and various image resources have been refreshed for iOS 8.
- ChangedThe binary ships with armv7, arm64, i386 and x86_64. Following Apple's new defaults, we removed the slice for armv7s (which brought little benefits anyway).
- ChangedAll headers have been updated to use Modules for faster compile times.
- ChangedSeveral properties that were no longer in line with iOS 7 have been removed:
tintColor
,shouldTintPopovers
andminLeft/RightToolbarWidth
. UseUIAppearance
to customize colors and tint throughout PSPDFKit instead. - AddedAdds a new
shouldHideStatusBar
property to globally control the status bar setting from thePSPDFViewController
. - ChangedWe no longer support the legacy
UIViewControllerBasedStatusBarAppearance
setting. Use view controller based status bar appearance. - ChangedThe
PSPDFViewController
is now configured via an immutablePSPDFConfiguration
object. See the migration guide for details. - ChangedClear the web view state between
PSPDFWebAnnotationView
reuse. - ChangedMany classes, including
PSPDFTabBarButton
andPSPDFScrobbleBar
have been enabled forUIAppearance
. - ChangedGreatly improved and faster JavaScript Form support, using
JavaScriptCore
instead ofUIWebView
. - ChangedThe embedded
PSPDFWebViewController
now uses the fasterWKWebView
when available on iOS 8. - ChangedVarious improvements to the caching and rendering infrastructure. The limitation for super long/wide PDFs has been removed. PSPDFKit can now render documents no matter how long they are - we tested documents up to 5000px long/500px wide.
- ChangedThe thumbnail bar and the thumbnail controller now support a new layout that will group pages together for double-page layouts. (see
thumbnailGrouping
) - ChangedMany improvements to the multimedia gallery (
PSPDFGallery
), including better fullscreen-support and error handling. - Changed
PSPDFAESDecryptor
now checks the HMAC for additional security. - ChangedThe
PSPDFAESCryptoDataProvider
now returns an autoreleased object when accessingdataProvider
. - ChangedOpen/Close page triggers are now supported (see
PSPDFPageInfo
). - ChangedThe new
PSPDFMessageBarButtonItem
allows sharing content via iMessage/SMS. - ChangedVarious UI widgets now better deal with keyboards that change the frame after being displayed (especially relevant for iOS 8)
- ChangedAnnotation action URL parsing is now smarter and will trim the string and replaces inline spaces with %20, instead of just filtering them all.
- AddedAdds various view optimizations that lead to faster page display and less internal reloads.
- ChangedColor/Text attributes for outlines are now supported and parsed in
PSPDFOutline
and properly displayed inPSPDFOutlineViewController
. - ChangedForm text is now always auto-sized to match Adobe Acrobat's behavior.
- ChangedThew new, faster
UIVisualEffectsView
is used for blur whenever available on iOS 8. - ChangedOpenSSL has been updated to OpenSSL 1.0.1i.
- APIVarious keys for
PSPDFObjects*
have been renamed and are now better organized. - APIPushing view controllers via
presentModalOrInPopover:embeddedInNavigationController:withCloseButton:animated:sender:options:
has been improved and renamed. The new method is calledpresentViewController:options:animated:sender:completion:
. - API
PSPDFImageInfo
is now immutable and works correctly when thePSPDFDocument
contains multiplePSPDFDocumentProvider
objects. - API
PSPDFAction
now resolves named destinations and page labels vialocalizedDescriptionWithDocumentProvider:
. - API
PSPDFLabelParser
interface has been simplified and this object can now be created with a predefined set of labels. - FixedFixes an issue where the modal search controller could place itself above the status bar on iPhone.
Indexed Full-Text-Search:
- Changed
PSPDFLibrary
can now preview text based on the FTS index. - FixedFixes a potential threading issue when indexes were added/removed quickly from the
PSPDFLibrary
.
Annotations and Digital Signatures:
- ChangedAnnotation hit testing now works on paths directly, which allows better selection in cases where multiple annotations are overlaid.
- ChangedThe first time an annotation is created by the user, we now ask for the user name and also offer a sensible default based on the device name.
- ChangedThe drawing eraser has been completely redesigned. Erasing and drawing is now a lot faster and features such as the eraser top of the FiftyThree Pencil are fully supported without exiting draw mode.
- ChangedThe old
PSPDFAnnotationToolbar
has been fully replaced by thePSPDFFlexibleAnnotationToolbar
introduced in 3.6, and thus renamed back toPSPDFAnnotationToolbar
. - ChangedCloud annotation borders are now fully supported.
- ChangedCallout FreeText annotations can be parsed and edited.
- ChangedRich Media and Screen annotations are now lazily evaluated, improving general parsing speed.
- AddedAdd support for various Rich Media Activation Context settings. (autostart)
- Changed
PSPDFURLConnection
has been replaced in favor of vanillaNSURLSession
objects, which the additional benefit that remote content supporting SPDY will now load faster on iOS 8. - ChangedWhen fetching annotations via the document object finder, we now optionally support annotation grouping via the
PSPDFObjectsAnnotationIncludedGroupedKey
key. - ChangedImproved the signing architecture to allow signing using PKI hardware and remove signatures.
- ChangedAnnotation selection handling has been greatly improved and now uses a customizable margin for easier handling.
- ChangedAnnotations now have a common
fontAttributes
property that allows any key/value pair thatNSAttributedString
understands - so free text and forms can be customized even further. (Note: Not all values can be exported) - ChangedFree Text annotation handling now understands more PDF-based properties and will render more accurate.
- ChangedMany improvements to stylus management and driver handling, especially for FiftyThree's Pencil.
- ChangedPSPDFKit's model objects now mostly comply to
NSSecureCoding
. - ChangedThe inspector has been modernized and offers a better display for poly/line and free text annotations.
- ChangedAppearance stream parsing support has been improved.
- ChangedThe password view has been completely redesigned to fit into iOS 7 and 8.
- ChangedThe
PSPDFSignatureViewController
has been completely redesigned and now supports color selection during signing. - Changed
PSPDFViewController
now fully respectsisAutosaveEnabled
and will no longer save the document on view did appear when this is set to NO. - Changed
PSPDFFontDescriptor
has been removed in favor of the newUIFontDescriptor
introduced in iOS 7. - ChangedVarious code is now faster thanks to the toll-free-bridging of
UIFont
andCTFontRef
. - ChangedSupport for the old, legacy PSPDFKit 2 annotation save format has been removed.
- ChangedImage annotations now have better support for EXIF rotations when clipped via the internal editor.
- FixedFixes an issue where the inspector could re-use the wrong cells and mixing up sliders or other control items.
- FixedFixes an issue that would sometimes not allow to draw at the very borders of the screen on iPhone.
- FixedFixes an issue where the annotation menu would not show up after scrolling the page.
- FixedFixes an issue with very large animated gifs.
- ChangedIncludes all bug fixes and improvements made in the PSPDFKit 3.7.x branch.
- FixedFixes an issue related to search highlighting and annotation moving. The highlights are now cleared before objects can be moved.
- FixedFixes an issue where the popover wasn't correctly moved when a new
PSPDFNoteAnnotation
is created via thePSPDFNoteAnnotationViewController
.
3.7.14 16 Sep 2014
PSPDFKit 4.0 will be released on Monday, September 22, 2014 with full support for Xcode 6 with iOS 8 while also supporting iOS 7. The PSPDFKit 3.7.x branch will remain compatible with Xcode 5.1.1 and iOS 6+.
- FixedFixes an issue where the Camera/Image Picker UI sometimes wouldn’t show up on iPad/iOS 8.
3.7.13 11 Sep 2014
- ChangedWorks around a rare PDF rendering crash in iOS 8.
- ChangedUsing
fillColor
onPSPDFButtonFormElement
now respects thealpha
property. - FixedFixes an issue in the text extraction logic when converting the contents of glyphs from unknown/not loadable fonts.
- FixedFixes an issue where entering erase mode could hide the annotation toolbar.
- FixedFixes an issue where the progress HUD would sometimes not correctly reposition when the keyboard appears in landscape.
- FixedFixes an issue where the note annotation popover could become visible when deleting multiple annotations (including a note) at the same time.
- FixedFixes an issue where the signature view controller failed to display on iPhone/iOS 8.
3.7.12 1 Sep 2014
- ChangedThe predefined stamps now use the system locale instead of
en_US
. - FixedFixes an issue where the scrollable thumbnail bar could get into a state where it is not correctly displayed.
- FixedFixes an issue with creating custom stamp annotations on iPad.
- FixedFixes an issue with writing annotations into files that have unusual and non-standard compliant object headers.
- FixedFixes a caching issue with extremely long file names.
3.7.11 20 Aug 2014
- ChangedImproves user name guessing for the annotation creation user.
- FixedFixes an issue where saving notes multiple times within the same session could cause a duplication.
- FixedFixes an issue with handling umlauts during a save in certain text field form elements.
- FixedFixes a minor logging issue where in rare cases
NSScanner
could complain about nil string arguments.
3.7.10 17 Aug 2014
- ChangedRendering the audio annotation preview no longer pauses background music.
- ChangedMakes sure the signature image in the signature view controller is the same regardless of the device orientation.
- FixedFixes an issue with rendering right-aligned free text annotations in too small bounding boxes.
- FixedFixes a few minor issues when exporting/importing from/to XFDF for stamp and ink annotations.
- FixedFixes an issue where alert view actions could be executed twice under iOS 8.
3.7.9 6 Aug 2014
- FixedFixes handling of nested form check boxes that are used as radio boxes.
- FixedFixes an issue that could truncate text from a choice form element.
- FixedFixes a rare UI issue with duplicated ink elements during erasing.
- FixedFixes an issue where in landscape the keyboard could appear unexpectedly when using radio button form elements.
- FixedFixes an issue where the page indicator in the scrobble bar sometimes was not correctly updated.
- FixedFixes an issue on iOS 6 when showing the signature selector view controller.
3.7.8 1 Aug 2014
- ChangedPopup annotations, when written, now by default have the same bounding box as the parent annotation.
- ChangedImproves handling of link annotations with an empty URL.
- ChangedContinuous scroll mode now chooses the current pages based on the largest visible page, not the first visible page.
- ChangedPath resolving now also resolves "Caches" instead of just "Cache".
- ChangedImproves protection against manually calling
commonInitWithDocument:
. - ChangedImproves placement of free text annotations that are close to the right page border.
- APIThe interface for the
PSPDFXFDFAnnotationProvider
changed to reflect the possibility of stream recreation. Instead of setting theinputStream
andoutputStream
directly, usecreateInputStreamBlock
andcreateOutputStreamBlock
. - FixedFixes a UI issue where the separators for the signature chooser could end up not visible on iOS 7.
- FixedFixes an issue where cropping images could end up in black bars on parts of the image.
- FixedFixes an issue where the text selection knobs could be slightly offset after a device rotation.
- FixedFixes an issue with the fullscreen gallery transition on an iPhone.
- FixedFixes a rare condition where a selected annotation would not hide the un-selected one, leaving two copies on the screen until the page changed.
- FixedFixes a race condition that could result in rendering issues for form objects with auto-resizing text.
- FixedFixes an issue where PSPDFKit would print a warning for KVO'ing weak properties that was not actually declared as weak.
- FixedFixes an issue where the scrobble bar would not properly update itself after a rotation change.
3.7.7 21 Jul 2014
- ChangedVideos in the gallery are now reset if they are played till the end and the page changes.
- ChangedThe 'hidden' flag for annotation objects is now also honored for the gallery. (including audio)
- FixedFixes an issue when the device is being rotated while in erase mode.
- FixedFixes an issue where the pen tool can't draw up to the edge for certain configurations on an iPhone.
- FixedFixes an issue where quickly destroying/recreating libraries for indexed search could result in partial indexes.
- FixedFixes an issue in
PSPDFResizableView
related to unusual view controller configurations where the view could overlap the parent view and subsequently no longer correctly responding to touch events. - FixedFixes an issue related to rotation when the gallery is moved to fullscreen from within a popover.
- FixedFixes an issue where missing fields in the digital signature validation code could result in a (null) output.
- FixedFixes an issue related to multiple saving via the same XFDF annotation provider.
- FixedFixes an issue related to early-reloading of the thumbnail bar that could result in missing bar button items for special configurations.
- FixedFixes an issue where the navigation bar could disappear after the annotation toolbar has been moved to a different position.
3.7.6 4 Jul 2014
- ChangedSimplifies usage of
PSPDFMediaPlayerCoverModeClear
in the gallery. - ChangedUpdates the Vimeo integration to use the new API endpoint.
- ChangedImproves efficiency and memory usage for parsing large outlines with invalid named destination tables.
- ChangedWhen using the text selection tool, we want to make sure no annotation is selected anymore.
- ChangedThe state of the
PSPDFWebAnnotationView
is now cleared upon reuse to prevent flashes of previous used content. - FixedFixes an issue related to the scrobble bar and
PSPDFThumbnailBarModeScrollable
on iOS 6. - FixedFixes a potential issue where the HUD layout code could loop.
- FixedFixes a potential crash related to the Wacom stylus driver.
3.7.5 16 Jun 2014
- AddedNew Localizations: Indonesian, Malaysian, Polish, Chinese Traditional, Thai, Turkish and Ukrainian.
- ChangedUpdates the WACOM stylus driver to no longer eagerly initialize, which could present a bluetooth disabled alert view.
- ChangedAnnotations added to a
PSPDFDocument
programmatically now always get theisDirty
flag set to ensure that they are being saved. - Changed
PSPDFResizableView
now correctly deals withUIAppearance
and makes it easier to customize individual knobs. SeePSCCustomSelectionKnobsExample
for details. - AddedAdds resilience / asserts form missing views in unusual (child view controller) configurations for the annotation toolbar.
- ChangedImproved JavaScript-calculation-support, adds
AFMakeNumber
to the list of supported JS functions and improves hide action annotation resolving. - ChangedImproves compatibility to parse image stamps from 3rd-party software.
- ChangedOutlines where the page reference is missing are now displayed to be consistent with Adobe Acrobat.
- Changed
PSPDFLibrary
learned exact sentence matching via thePSPDFLibraryMatchExactPhrasesOnlyKey
option. - ChangedImproves support for named hide actions that are bound to form elements.
- ChangedAllow to hook into
PSPDFMenuItem
action for analytics. - ChangedScrolling or zooming will no longer re-show the note popover. Moving the annotation while the popover being open will still re-show the popover. This behavior change does not effect other annotations that use a
UIMenuController
or note on iPhone. - ChangedThe annotation toolbar will now be hidden automatically if the last tab on the tabbed view controller is closed.
- ChangedThe font picker blacklist now uses regular expressions for matching, to allow more special cases like blocking “Courier” but still allowing “Courier New”. The old behavior was a simple prefix check.
- ChangedThe tables in
PSPDFLibrary
is now lazily created on first use, improving speed and delaying the unicode61 tokenizer check until the library is actually used. - APIRemoves the
thumbnailSize
property onPSPDFCache
. This should be set in thePSPDFViewController
instead. - APIHide
thumbnailCellClass
inPSPDFThumbnailBar
. Use the standard class override mechanism instead. - APIRemoves the
skipMenuForNoteAnnotationsOnIPad
property onPSPDFViewController
. Use the newshouldInvokeAutomatically
onPSPDFMenuItem
instead. (SeePSCOpenNoteOnPhoneWithSingleTapExample
) - FixedFixes an issue related to copying sound annotations.
- FixedFixes an issue where
UIImagePickerController
would sometimes not cancel correctly on iOS 7.0. - FixedFixes an crash related to accessibility support and page reading.
- FixedFixes an issue where a picked image was added after pressing “Cancel” on the size popover.
- FixedFixes an issue where the thumbnail bar wouldn’t update correctly the first time it is displayed when it was hidden initially.
- FixedFixes an issue related to annotation fetching when the
pageRange
feature is enabled. - FixedFixes a potential issue related to cancelling index requests in
PSPDFLibrary
. - FixedFixes a potential issue in the vector separation code of the ink eraser.
- FixedFixes an incompatibility with the NewRelic framework.
3.7.4 26 May 2014
Note: With WWDC imminent and the upcoming release of iOS 8, we plan to finally drop support for iOS 6. Let us know your thoughts about this change: [email protected].
- ChangedClip drawings to bounds. Improves experience when drawing in double page mode.
- ChangedThe
metadata
dictionary ofPSPDFDocument
now also contains PDF Portfolio data, if detected. - AddedAdd new option to the
PSPDFAnnotationTableViewController
to show/hide the clear all button.showDeleteAllOption
. - ChangedAllow initialization of sound annotations from custom URL.
- ChangedDon’t allow to copy the contents of text markup annotations if the document disallows copying.
- ChangedDocument parser: Add support for direct AcroForm dictionaries.
- ChangedImproves compatibility with certain rich text formats for free text annotations in 3rd-party XFDF files.
- ChangedExtremely complex ink annotations will now render much faster with only minimal reduced quality.
- ChangedWe no longer manually draw a border if the free text annotation is backed by an AP stream.
- AddedAdds support for the
mailDoc
andlaunchURL
JS functions to invoke the email/browser controller via JavaScript. - Changed
PSPDFProcessor
:PSPDFProcessorStripEmptyPages
now also works for regular document rendering and performs a more sophisticated page analysis. - APIThe
PSPDFPageRenderer
can now be replaced at runtime, there's a newsetSharedPageRenderer:
instead of the class setter. - ChangedVarious localization improvements.
- FixedFixes an issue where certain JavaScript calculations could end up as NaN's.
- FixedFixes an issue where the “Reset Form” feature would sometimes not clear all form elements.
- FixedFixes an issue where the
pageRange
property could be calculated incorrectly for password protected files. - FixedFixes an issue where adding/removing the same overlay annotations within the same runloop could lead to an incorrect view representation.
- FixedFixes an issue where the bookmark indicator was not always correctly displayed when pages are filtered using the pageRange feature.
- FixedFixes an issue where persisting choice form elements that were split in child/parent relationships could sometimes result in only the initial index value being set.
3.7.3 12 May 2014
- ChangedThe search preview text is now stripped of control characters like carriage return or newlines, which improves preview for various documents.
- ChangedImproves error handling for inline PDF videos that can't be played. (most likely because they are in .flv flash video format)
- ChangedThe cover image capture time for the video now defaults to second 2 instead of 0 to give a more meaningful default, and is also configurable via JSON.
- Changed
PSPDFStampViewController
: AddsdateStampsEnabled
property to control if date stamps are added or not. - ChangedImproves handling around flexible toolbar dragging and the half modal sheet on the iPhone.
- ChangedImproves compatibility when the 'Spark Inspector' framework is linked with PSPDFKit.
- AddedAdd
selectedOptions
toPSPDFDocumentSharingViewController
to allow easier changing of the defaults. - ChangedChanges the selected default for the print sheet to
print with annotations
if this is allowed. - AddedAdd new option to
PSPDFAnnotationStateManager
to allow setting the allowed image qualitiesallowedImageQualities
for image annotations. Fixes #989. - APIMake
PSPDFOutlineElement
immutable. Use the initializer to create. - ChangedVarious localization improvements.
- FixedFixes a potential issue with manually creating
PSPDFLineAnnotation
objects without properly initializing the points array. - FixedFixes a potential formatting issue when writing sound annotations into the PDF.
3.7.2 6 May 2014
- AddedAdd support for actions that are invoked on entering/exiting annotation focus.
- AddedAdd support for GoToE embedded actions. This allows linking to PDFs that are saved inside the PDF.
- AddedAdd support for relatively linked files without file handler. Will open QuickLook for such files.
- Changed
PSPDFDocument
now automatically detects and converts PDF-Date-Strings (D:...) to NSDate objects when accessing themetadata
property. - ChangedNote annotations will now always get the correct style applied. (which includes alpha, if set)
- ChangedThe method
updatePage:animated:
now also discards any current selection to make sure everything is updated. - Changed
PSPDFWebViewController
: add new propertyshouldUpdateTitleFromWebContent
to control if the title should be updated dynamically. - ChangedImproved security handling based on Veracode static analyzer feedback.
- ChangedAn embedded file with the 'pdf' filetype will now be previewed using a new
PSPDFViewController
instead of the generic QuickLook. QuickLook will still be used for all other file types. - ChangedVarious improvements to Form-JavaScript validation, actions and handling.
- ChangedVarious smaller improvements to the flexible annotation toolbar related to
tintColor
handling. - ChangedA new render option named
PSPDFRenderDrawBlockKey
now provides a global drawing handler above the page renderer. - ChangedImproves performance of the internal download manager with moving some Apple-API that is potentially slow to a background thread.
- ChangedThe
allowBackgroundSaving
property of thePSPDFViewController
now defaults to YES. Make sure you can deal with async saving or revert this to NO. - ChangedSingle-page documents no longer allow bouncing, unless
alwaysBouncePages
is enabled. - APIThe watermark drawing block has been changed and now includes more types. See
PSPDFRenderDrawBlock
for the new type. - APIThe X-Callback-URL registration is now handled by the PSPDFKit global configuration object.
- APIRemoves the
mailComposeViewControllerCustomizationBlock
. Use thepdfViewController:shouldShowController:embeddedInController:options:
delegate. - APIexecutePDFAction:inTargetRect:forPage:actionContainer now has an additional animated: property.
- APISome logic from
PSPDFSoundAnnotation
has been extracted intoPSPDFSoundAnnotationController
. - FixedFixes a regression when adding images via the annotation toolbar on an iPad.
- FixedFixes a regression that could reduce ink annotation width to 1.
- FixedFixes an issue where PSPDFStatusHUD would not always correctly update when a new title was set while it was already visible.
- FixedFixes an issue where sound annotation data was sometimes not correctly loaded and wasn't properly exported as JSON.
- FixedFixes a very rare potential for a deadlock when the JavaScript runtime is being initialized from a background thread.
3.7.1 25 Apr 2014
- AddedAdds Dutch translation.
- ChangedThe
PSPDFGallery
now supports parsing and embedding Vimeo URLs, next to YouTube. - ChangedImprovements for the flexible annotation toolbar on the iPhone.
- ChangedCalling undo/redo will now scroll to the page where the annotation is being changed.
- ChangedSmall visual tweaks for the ink preview icon in the flexible annotation toolbar.
- ChangedAllow to subclass
PSPDFFreeTextAccessoryView
,PSPDFFormInputAccessoryView
and expose the bar button items. - AddedAdditional improvements and checks to better guard against low-memory situations and to improve the Veracode score.
- ChangedPerformance improvements when a large amount of updates are being processed for undo/redo.
- ChangedThe document label is no longer displayed on iPhone when the document doesn't has a label.
- ChangedThe
PSPDFDrawView
is now reused when possible and state aware. (improves drawing polylines/polygons) - ChangedThe XFDF parser now correctly parses the
lastModified
property of annotations. - ChangedImprove palm detection when using a stylus.
- FixedFixes an issue when converting line annotations to JSON.
- FixedFixes various issues when using updateAnnotations:animated: from the
PSPDFAnnotationManager
. - FixedFixes an issue related to search in the font picker controller.
- FixedFixes an issue when using the streaming encryption/decryption with empty XFDF files.
3.7.0 19 Apr 2014
See the announcement post(opens in a new tab).
PSPDFKit now requires Xcode 5.1.1 or higher to compile if you're using the source code variant. (we still support all iOS versions down to 6.0)
- ChangedStylus support for ink annotation drawing with drivers for Adonit, Pogo, HEX3 and Wacom. The framework is designed in a way where new drivers can be added easily. To enable this, see the "Stylus" example in the PSPDFKit Catalog. (The SDKs need to be downloaded separately. Drivers are currently only available for customers with a license.)
- ChangedThe annotation toolbar now has a second drawing style (thick, yellow, transparent) and improved color defaults for the other tools.
- ChangedSearch now detects if the document has no content and shows a different "no page text" message.
- ChangedWe now have a command line tool that works on Mac, Windows and Linux/Unix that can encrypt/decrypt files to be used with the
PSPDFAESCryptoDataProvider
(seeExtras
folder) - ChangedPSPDFKit now has support for transparent reading/writing with encrypted streams in the
PSPDFXFDFAnnotationProvider
with the newPSPDFAESCryptoOutputStream
andPSPDFAESCryptoInputStream
. This allows secure storage of annotations. - ChangedThe gallery has improved handling for fullscreen transition and properly tears down when the
PSPDFViewController
is popped while it is in full screen mode. - ChangedThe gallery learned different cover modes, including a transparent one: https://github.com/PSPDFKit/PSPDFKit-Demo/wiki/adding-a-gallery-to-your-document
- ChangedMultimedia links can now be activated via button and the gallery can be displayed as popover or modally: https://github.com/PSPDFKit/PSPDFKit-Demo/wiki/adding-a-gallery-to-your-document
- ChangedThe gallery will now correctly scale @2x images from remote servers.
- ChangedThe gallery now automatically pauses other instances when play is pressed.
- ChangedThe gallery now allows UIAppearance for blur and background colors.
- ChangedThe blur algorithm used for the gallery are now over 4x faster and also support live fullscreen blur.
- ChangedThe speech synthesizer (
PSPDFSpeechSynthesizer
) now auto-detects the best language by parsing the current document page. - ChangedGreatly improved AcroForm JavaScript validation support.
- ChangedImproves support for custom controllers that don't define a preferred content size when used with
PSPDFContainerViewController
. - ChangedEmpty ink signatures are no longer saved.
- AddedAdd confirmation sheet for the "Clear All" button in the annotation table view controller.
- ChangedIt's now possible to correctly override
PSPDFAnnotationCell
fromPSPDFAnnotationTableViewController
. - ChangedThe
PSPDFAnnotationTableViewController
now automatically reloads the content if thevisibleAnnotationTypes
property has been changed. - ChangedThe
PSPDFLibrary
now optionally allows exact word matching with supplying thePSPDFLibraryMatchExactWordsOnlyKey
parameter. - ChangedThe XSigner attribute is now parsed and displayed as the signer name if no other name is defined in the digital signature. (PSPDFKit Complete feature)
- AddedAdds support for orphaned form elements that are not referenced in the AcroForm dictionary.
- ChangedReloading a document while the keyboard is up will no longer lead to the page animating back to center.
- AddedAdd some additional safeguards/asserts and developer warnings that help to detect wrong use of certain methods.
- ChangedImprove support for custom
PSPDFFlexibleAnnotationToolbar
configuration or when used manually without anUINavigationController
. - ChangedPSPDFKit has been tested with Veracode (http://www.veracode.com/) and we've improved and hardened several code paths.
- AddedAdd
PSPDFThumbnailFilterSegmentedControl
to enable UIAppearance rules on the thumbnail overview filter segment. - AddedAdd basic support for URL actions that are actually JavaScript actions.
- ChangedSupport loading images from asset catalogs via the pspdfkit:// image loading system.
- ChangedThe flexible annotation toolbar now better adapts to status bar changes on iOS 7.
- ChangedAllow to manually force-load all annotations from the
PSPDFXFDFAnnotationProvider
. - AddedAdd support for embedded CMap streams for the text parsing engine.
- APIThe
PSPDFAction
objects and thePSPDFPageInfo
objects are now immutable. - APIThe toolbar now longer auto-hides when invoked via the context menu. This also removes the
hideAfterDrawingDidFinish
property. - APIRemoved
setTextViewCustomizationBlock:
as it is inconsistent with what we do everywhere else in the framework. UseoverrideClass:withClass:
or thepdfViewController:shouldShowController:embeddedInController:options:animated
delegate instead. To change the font, instead oftextViewFont
, simply change it inupdateTextView
. - APIThe
bookmarkQueue
is now exposed via a property and not via an ivar inPSPDFBookmarkParser
. - APIA few methods in the digital signature code have been renamed to be more clear about their intent.
- APIAdds a new
pageTextFound
parameter todidFinishSearch:
and now shows "Document has no content" if a document without text content is being searched. - API
setGlobalBorderColor
onPSPDFLinkAnnotationView
has been removed. The recommended API is to useUIAppearance
onborderColor
instead. - APIRemove explicit close button management inside
PSPDFContainerViewController
as thePSPDFViewController
(viaPSPDFPresentationManager
) already provides this feature. - FixedFixes an issue where certain pre-encoded URLs with non-ascii characters could end up being encoded twice.
- FixedFixes a potential stability issue in the accessibility support for line-based page reading.
- FixedFixes an issue that could add overlay-based annotations to the wrong page when a redo action is invoked with soft-deleted annotations.
- FixedFixes an issue related to text extraction font caching with different widths.
- FixedFixes various rare issues when analyzing the document or writing annotations with partial UTF16-LE encoding, invalid document IDs or missing object references.
- FixedFixes a rare crash issue related to missing languages and the
PSPDFSpeechSynthesizer
.
3.6.5 31 Mar 2014
- ChangedSome internal improvements to prepare for the upcoming stylus support.
- ChangedImproves section styling of the annotation inspector under iOS 7.
3.6.4 30 Mar 2014
- ChangedThe flexible annotation toolbar now automatically consolidates buttons if space becomes too short.
- ChangedThe image/video gallery now loops content by default, unless it's just a single item. (This is controllable by the new
loopEnabled
flag) - ChangedImprove documentation around gallery-usage and proper removal from full-screen.
- ChangedThe percent driven back animation of the inspector now animates the current selected cell out or restores it based on the animation progress.
- ChangedChanges the HMAC format for the PSPDFCryptor from SHA1 to SHA256 to be more consistent with the RNCryptor data format.
- ChangedThe
moreBarButtonItem
action sheet is now dismissed when tapped on the button while it being open (instead of showing it again). - ChangedEnables the addition of global processor options via a new delegate to
PSPDFDocumentSharingViewController
. - Changed
PSPDFProcessor
now has a new drawing hook (PSPDFProcessorDrawRectBlock
) which can be used to watermark documents on exporting. - FixedFixes an issue that could prevent showing some search highlights if there are multiple on the same page.
- FixedFixes a regression where sometimes the original view port wasn't correctly restored when the keyboard is dismissed after free text editing.
3.6.3 26 Mar 2014
- ChangedImproves placement precision of draft ink annotations when the device is rotated while in drawing mode.
- ChangedImproves popover placement for the flexible annotation toolbar in vertical mode.
- ChangedMultiple performance and memory improvements, especially for searching and scrolling large documents, and for usage on an iPhone 4.
- ChangedVarious cosmetic updates (improved thumbnail scroll bar, better support for iPhone 4 which doesn't support live-blur)
- ChangedImproves search highlighting accuracy for certain document types.
- FixedFixes an issue that could move the scroll view for keyboard events that were not inside the scroll view.
- ChangedSmall localization updates.
3.6.2 21 Mar 2014
- ChangedImproves appearance customization options for the new
PSPDFFlexibleAnnotationToolbar
. - ChangedThe new
PSPDFFlexibleAnnotationToolbar
is easier to customize and also has anadditionalButtons
property to add custom actions. - ChangedMakes sure the
PSPDFFlexibleAnnotationToolbar
is always removed from the view hierarchy as thePSPDFViewController
disappears. - ChangedThe
PSPDFGallery
now better deals with custom quality properties for YouTube videos. - ChangedEnsures that the status bar doesn't change on iOS 7 with view controller based status bar appearance enabled when the
PSPDFStatusHUD
is displayed. - ChangedImproves the XFDF writer/parser to deal with more action types (
PSPDFRenditionAction
,PSPDFRichMediaExecuteAction
,PSPDFSubmitFormAction
,PSPDFResetFormAction
,PSPDFHideAction
). - ChangedImproves popover positioning logic, especially for the search popover.
- ChangedImproves stability when using the new container annotation provider class.
- APIRemoves
aspectRatioEqual
andaspectRatioVariance
fromPSPDFDocument
. Other performance improvements made this option no longer useful. - APIClarifies usage of the
PSPDFGalleryViewController
by renaming theallowFullscreen
property todisplayModeUserInteractionEnabled
. - FixedFixes a potential issue with an over-release of NSError when printing a single page with PSPDFKit Viewer.
- FixedFixes a stability issue when serializing annotations for certain PDF AcroForm buttons with icons in the appearance characteristics dictionary.
- FixedFixes an issue where changing the page via the annotation table view controller could end up on a page that wasn't correctly centered.
- FixedFixes a small selection issue with handling multiple equal grouped annotations on the same page.
3.6.1 17 Mar 2014
- ChangedBefore a document is saved, we now set the annotation state mode to nil, which commits any open annotations like inks.
- ChangedReverted the use of @import with modules. Apple's module feature seems to have issues with projects that also use C++.
- FixedFixes an issue with saving annotations in certain PDFs with corrupted page IDs.
3.6.0 16 Mar 2014
See the announcement post(opens in a new tab).
We're proud to ship the next milestone of PSPDFKit. Version 3.6 features a completely new annotation toolbar, search within annotation text, note annotations that show up in the thumbnails and countless other improvements. This release has been fully tested with Xcode 5.1 and iOS 7.1. We now require at least Xcode 5.0.2 and SDK 7 to compile and have dropped support for Xcode 4.6 (Apple no longer accepts apps built with SDK 6/Xcode 4.6) Applications built with PSPDFKit will still run and work great under iOS 6.
- ChangedFully compatible and tested with iOS 7.1 and Xcode 5.1.
- ChangedGod dag! We've added Swedish to the list of presupplied localization files.
- ChangedAll-new flexible annotation toolbar (
PSPDFFlexibleAnnotationToolbar
) that can be dragged to be vertical or horizontal. SeePSPDFAnnotationToolbarType
in thePSPDFAnnotationBarButtonItem
to optionally keep using the old annotation toolbar. - ChangedPSPDFKit Complete can now create digital signatures. This feature is still in beta - we need more documents to test all possible conditions. If you're having issues with this, please contact us so we can further increase the test coverage.
- ChangedText selection now supports text-to-speech on iOS 7+. See
PSPDFSpeechSynthesizer
for details and options to customize the language. - ChangedForms on iPhone/iOS 7 now have an automatic zoom feature that makes it a lot easier to enter text.
- ChangedSearch now also includes annotation and form element contents. This is especially useful for note annotations and forms. (PSPDFKit Basic/Complete)
- ChangedSearch results are now hidden on page tap (unless that tap finds an action like selecting an annotation.)
- ChangedNote annotations are now always rendered at the same size and also visible in the thumbnails.
- ChangedPDF annotation writing will now be faster and produce a more compact trailer, reducing target file size.
- AddedAdds support for mailto: links with multiple email addresses (also for CC and BCC).
- ChangedSaving will now use the correct z-index for annotations and forms in the same ordering as they are added. Saving changed objects will no longer change the z-ordering.
- ChangedSimple JavaScript actions like printing, alert boxes or adding form values now work. If you have a use case for that, please contact us at [email protected].
- ChangedThe XFDF parser now parses basic rich text strings as used in Acrobat and keeps color and font informations.
- ChangedIncreases contrast for the selection color on form choice list-boxes.
- Changed
PSPDFTextSelectionView
now allows UIAppearance to customizeselectionColor
andselectionAlpha
. - ChangedThe
PSPDFActivityViewController
now checks if printing is allowed for the document before even showing the print option. - ChangedNo longer ends the text view edit mode when zooming on iOS 7 (flat mode) and above.
- ChangedFile annotations are now evaluated lazily, which improves startup performance for documents with many such annotations.
- ChangedNote annotations now also create popup annotation on PDF saving. These are optional but increase compatibility with certain less standard-compliant 3rd-party software.
- ChangedThe behavior of the pdfViewController:didTapOnPage:View:atPoint: has been updated when no
PSPDFPageView
was hit to return nil here, and coordinates relative to the current PSPDFViewController. - ChangedThe
PSPDFThumbnailBar
has a new parameter to optionally enable the page labels:showPageLabels
(defaults to NO). - ChangedMany improvements related to PDF AcroForm handling and input validation.
- ChangedCalls to
didHidePageView:
anddidShowPageView:
of views with thePSPDFAnnotationViewProtocol
are now properly balanced. - ChangedThe text parser now has a more sophisticated text shadow/overlay detection, which improves search results by removing duplicated glyphs.
- ChangedThe gallery has a new mode that enables live-blur behind the content (see
blurEnabled
onPSPDFGalleryViewController
). - FixedFixes an issue where the popover might open at an unexpected location when using the inline multimedia system with the popover:true parameter.
- ChangedFont annotations are now rendered with their AP stream for greater document accuracy.
- ChangedAnnotations now support the additional action mouse up event.
- ChangedGreatly improves speed for the XFDF image deserialization process.
- APIPSPDFKit now requires the Accelerate.framework. If you're using the PSPDFKit.xcconfig file, you don't need to change anything.
- APISearch related methods are now in the new
searchHighlightViewManager
property ofPSPDFViewController.
- APIThe HUD and related views have been reorganized. You might have to update some calls (some views are now within
HUDView
) - API
PSPDFProgressHUD
has been replaced with the all-newPSPDFStatusHUD
, which features a modern iOS 7 design and an improved API. - API
PSPDFDocument
should be treated as an immutable object (apart from settings). Thus, thefiles
andfileURL
properties have been made readonly, andappendFile:
has been removed. Create a new document with the new files/data objects instead. Use the new helperdocumentByAppendingObjects:
to create a modified document with a new file or data objects. - APIThe
PSPDFAnnotationManager
now supports various protocol strings, thus the propertyprotocolString
has been renamed toprotocolStrings
and is now an NSArray that takes NSStrings. We've addedembed://
as a second, neutral protocol format. - APIThe
textSearch
class has been moved from PSPDFDocument to PSPDFViewController. - API
PSPDFNoteAnnotationViewFixedSize
has been removed. Notes are now drawn with a fixed size, however you can define the bounding box to whatever you like. We recommend using 32px, but this value is being ignored by both PSPDFKit and Adobe Acrobat. Other, less capable renderers like Apple Preview.app might use the value, so 32px is a good value - but also depends how large or small your document is. - APIThe
PSPDFSignatureViewController
no longer dismisses itself. Dismiss the controller in the delegate callbacks. - APICode and subclassing hooks that could be used to change the
PSPDFScrobbleBar
frame have been moved toPSPDFHUDView
. - APIRemoves various deprecated code.
- FixedFixes an issue related to YouTube video parsing - now compatible with even more video subtypes.
- FixedFixes a weird scrolling behavior for some form elements.
- FixedFixes an issue where the free text tool wouldn't work if highlighting was selected before that.
- FixedFixes an issue where PDF form values could become corrupted because of insufficient escaping in some PDF files.
- FixedFixes an issue where drawings could be created on multiple pages if the page is changed while in drawing mode.
- FixedFixes multiple issues related to forms on rotated pages.
- FixedFixes an issue related to annotation fetching and the
pageRange
feature ofPSPDFDocument
. - FixedFixes multiple issues related to the ink eraser.
3.5.2 21 Feb 2014
- Changed
PSPDFYouTubeAnnotationView
has been removed in favor of the newerPSPDFGallery
. Te gallery is a much better user experience for embedding YouTube videos. - AddedAdds a workaround to prevent unwanted
UIPopoverController
animations that might appear under certain conditions on iOS 7.0. - AddedNew property
highlightColor
onPSPDFPageView
to control the color used for link/form touch feedback. - ChangedImproves reload behavior with an external animation block.
- ChangedThe play button for the
PSPDFGallery
is now always white and configurable viaUIAppearance
. - ChangedImproves fade animation of the page label under iOS 7, especially for the new blur-page label setting on iOS 7.
- ChangedThe
PSPDFDocumentPickerController
now uses a dynamic size when displayed as a popover. - ChangedVarious smaller improvements related to the new sidebar example in PSPDFKit Catalog.
- Changed
defaultColorOptionsForAnnotationType
now returns an NSArray of string, color tuples. - AddedAdds UIAppearance support for the default search view highlight color.
- ChangedThe note popover now will be dismissed on tap if the annotation state manager is used for highlight mode, just as it does when using the annotation toolbar.
- ChangedThe
allowsCopying
property inPSPDFDocument
no longer controls if the "Copy" option for annotations is displayed. This property only controls text. - ChangedMakes sure that the ink width while drawing and rotating is always the correct one.
- API
padding
ofPSPDFViewController
is now of typeUIEdgeInsets
and also works withPSPDFPageTransitionScrollContinuous
. - ChangedStamps now more closely resemble the look of Adobe Acrobat.
- ChangedImproves content type detection in the gallery.
- ChangedVarious localization improvements.
- ChangedThe XFDF parser can now write images within appearance streams to Adobe Acrobat.
- FixedFixes an issue where the text rect could be CGRectZero if the
shouldSelectText:
delegate was not set. - FixedFixes an positioning issue related to custom scopes in
PSPDFSearchViewController
. - FixedFixes an issue where the
PSPDFMultiDocumentViewController
would not work as expected if the delegate was not set. - FixedFixes an issue where the
PSPDFMultiDocumentViewController
would only show the thumbnails for the first document. - FixedFixes a stability issue related to the "Clear All" feature and the XFDF annotation provider.
3.5.1 15 Feb 2014
- AddedNew property in the
PSPDFStyleManager
to control if changes to annotations should be saved as the new defaults:shouldUpdateDefaultsForAnnotationChanges
. - ChangedExpose
cornerRadius
inPSPDFResizableView
to customize the border appearance. - ChangedBehavior Change: Setting the
annotationSaveMode
toPSPDFAnnotationSaveModeDisabled
will no longer disable annotation editing features. To disable annotation editing, set theeditableAnnotationTypes
property of thePSPDFDocument
to nil instead. - AddedAdds a new delegate "pdfDocument:provider:shouldSaveAnnotations:" to allow a more fine-grained control over the saving process.
- ChangedNo longer removes unknown views from
PSPDFPageView
. UseprepareForReuse
to manually clean up if you subclassPSPDFPageView
. - ChangedImproves compatibility with embedded PDF files.
- ChangedEnsures that document metadata is preserved after writing annotations or forms.
- ChangedImproves compatibility with annotation or form writing for certain less commonly used PDF subformats.
- ChangedImproves several UI details for iOS 7 legacy mode. (
UIUseLegacyUI
or compiled with SDK 6. This mode is not recommended, but will work.) - ChangedThe
PSPDFGallery
can now display YouTube videos. This will most likely replacePSPDFYouTubeAnnotationView
in future versions. - ChangedThe XFDF parser can now load images within appearance streams from Adobe Acrobat.
- FixedFixes an issue on iOS 6 where the gradient background for the page position label could be too small.
- FixedFixes a stability issue on iOS 6 related to
PSPDFBarButtonItem
tint color updating. - FixedFixes an issue that prevented to hide the thumbnail bar in
PSPDFThumbnailBarModeScrollable
unlessPSPDFHUDViewAnimationSlide
was also set. - FixedFixes some tiny memory leaks on error situations.
- FixedFixes an issue related to re-using
PSPDFSearchViewController
. Thus only happened in custom code, as PSPDFKit recreates this controller as needed. - FixedFixes an issue where subclasses of
PSPDFFileAnnotationProvider
could encounter immutable objects where mutable objects were expected. - FixedFixes a stability issue related to autodetecting link types.
- FixedFixes an issue related to exporting appearance streams via XFDF.
- FixedFixes an issue where image stamp annotations in rotated documents could have an incorrect transform applied when saved via
PSPDFProcessor
.
3.5.0 10 Feb 2014
See the announcement post(opens in a new tab).
- APIThe
PSPDFAnnotationToolbar
has been modularized and all state related code is now inPSPDFAnnotationStateManager
, which is a property ofPSPDFViewController
. You might have to update your subclasses to reflect these changes.PSPDFAnnotationStateManager
should now be used instead of a headlessPSPDFAnnotationToolbar
if you have your own toolbar. - AddedNew unified setBoundingBox:transform: method on
PSPDFAnnotation
. Adds a helper that transforms the font size on resizing. - ChangedThe Inspector is now sticky and will update itself for the new annotation if one is tapped while the inspector is visible. This simplifies editing and saves some taps.
- ChangedVarious smaller animation tweaks.
- ChangedThe
PSPDFGallery
now shows the already fetched parts of a video in the progress bar. - ChangedBookmarks now use the pageLabel, if one exists, instead of the logical page number.
- ChangedEmbedding YouTube objects now support parameters in the URLs.
- ChangedBetter handling of exporting annotations into rotated PDF pages via
PSPDFProcessor
. - ChangedImproves several cases where phone numbers were not correctly detected before. (
PSPDFTextCheckingTypePhoneNumber
) - ChangedCorrectly displays border for forms that define the border color in the MK dictionary.
- AddedAdds initial support for text field form validation. (Currently,
AFNumber_Format
is supported.) - AddedAdds limited support for drawing rich (formatted) free text annotations on iOS 7. Editing will convert them into plain text annotations.
- ChangedGreatly improves XFDF support for complex PDF Forms, now better matches the output of Acrobat.
- FixedFixes an issue that could reset the ink annotation width to 1.
- FixedFixes a crash when processing certain sound annotations using PSPDFProcessor.
- FixedFixes an issue where tapping into the page when the half modal controller on iPhone was visible could result in a different selected annotation than tapped.
- FixedFixes an issue that didn't correctly update the thumbnails when bookmarks were added/removed while displaying the grid.
- FixedFixes an issue that could show the signature selector controller when adding the first signature on iPhone only.
- FixedFixes an issue where the document label could be visible even though documentLabelEnabled was set to NO.
3.4.6 1 Feb 2014
This patch release includes various form related improvements, especially hardware keyboard support and performance tweaks for very complex forms.
- ChangedTap-to-zoom now starts rendering the page instantly; this improves render performance quite a bit.
- ChangedVisual improvements for the form choice view controller.
- ChangedMultiline Form Text Fields are now vertically aligned to the top.
- ChangedEditable choice form elements now show touch down feedback and keep the keyboard for easier switching on iPad.
- ChangedLong-Pressing on form elements will no longer cancel the tap action.
- ChangedForm elements can now be navigated with a hardware keyboard via the arrow keys and escape/space/enter. (iOS 7 only)
- ChangedForm navigation with prev/next now includes choice form elements, and the value can be toggle with the space bar.
- ChangedEnsures that stamps never draw text outside their boundaries.
- ChangedRender/Update performance for pages with many annotations has been greatly improved.
- ChangedWhen using the
PSPDFAnnotationTableViewController
, form elements are not only selected but also brought into edit mode. - ChangedImproves support for file:// links if linkAction is not set to PSPDFLinkActionInlineBrowser.
- ChangedTweaks link type autodetection to work better on certain types of documents.
- ChangedExpose the completion handler for
UIActivityViewController
insidePSPDFActivityBarButtonItem
. - APIRemove long press support for bar button items. This was only used for the bookmark button and already defaulted to NO.
- Changed
PSPDFPageView
now sends aPSPDFPageViewSelectedAnnotationsDidChangeNotification
notification each time theselectedAnnotations
property changes. - ChangedErasing is now faster with custom annotation providers, as change notifications are now queued and sent on touch end events only.
- FixedFixes an issue that could hide the outline bar button in cases where annotations were in the document but no outline.
- FixedFixes a potential use-after-free when a form with a editable choice field was edited on iPhone and then dismissed via the input accessory view on iOS 7.
- FixedFixes an issue where certain form checkboxes were not checked if appearance streams were missing from the PDF.
- FixedFixes an issue where form buttons with named actions sometimes failed to change the page.
- FixedFixes an issue where saving certain form objects could hide these form objects in Acrobat.
- FixedFixes an issue where manual bookmark reordering wasn't saved in some situations.
- FixedFixes a rare recursion issue on iOS 6 when using the old toggle-style for the viewMode bar button item.
- FixedFixes an issue where the bookmark bar button not always reflected the actual bookmark state.
- FixedFixes a potential over-release with certain rarely used CMaps definitions that include other CMaps.
3.4.5 24 Jan 2014
- ChangedBetter handles resizing for rotated stamps.
- ChangedThe Open In... activity is now displayed for NSData-based documents.
- ChangedImprove availability filtering for the
PSPDFOutlineBarButtonItem
, no longer presents an empty controller if no content is available. - ChangedSmall localization updates.
- ChangedImprove XFDF action writing for non-standard types like GoToR.
- ChangedImprovements to word/new line detection in the text parser for certain documents.
- ChangedImproves rendering performance, especially for more complex PDF forms.
- ChangedForm updates are now more snappy and no longer animate.
- ChangedVarious smaller improvements for the inline web view. (
PSPDFWebAnnotationView
) - FixedFixes an issue where annotations could end up at a different location when rotated documents were re-saved using
PSPDFProcessor
. - FixedFixes an issue where
viewControllers
of thePSPDFContainerViewController
could return nil. - FixedFixes an issue where annotations saved via
PSPDFProcessor
could end up on a different page. - FixedFixes an issue where the target page of a document/page action sometimes wasn't correctly saved when using the XFDF format.
3.4.4 22 Jan 2014
- AddedAdd support for Embedded PDF Files (see http://blogs.adobe.com/insidepdf/2010/11/pdf-file-attachments.html)
- ChangedThe
PSPDFGallery
now shows an AirPlay button if AirPlay sources are available. - ChangedStamp annotations no longer have distorted text.
- ChangedUpdate OpenSSL to OpenSSL 1.0.1f.
- ChangedForms: Checkboxes with the same name and parent form a mutually exclusive group.
- Changed
zoomToRect:page:animated:
now honors theanimated
option and compensates for the x/y origin depending on the scroll direction forPSPDFPageTransitionScrollContinuous
. - FixedFixes an regression in the annotation toolbar related to tap handling.
- FixedFixes an issue where the
PSPDFOutlineViewController
could display stale data if the outline is complex and documents are switched before the outline parsing operation was done. This basically only happened if the controller was displayed as a side-bar, not when in a popover or modal.
3.4.3 21 Jan 2014
- ChangedCode updated to be warning-free with iOS 7.1b4 and Xcode 5.1b4.
- ChangedExtracted all possible
PSPDFMenuItem
identifiers toPSPDFPageView
. - Changed
PSPDFProcessor
'sgeneratePDFFromURL:
andgeneratePDFFromHTMLString:
methods now support embedding annotations if set via the options dictionary. - Changed
PSPDFMultiDocumentViewController
no longer tries to persist NSData- or CGDataProviderRef-based documents. Only file-based documents are persisted between sessions. - ChangedImproves search animation for the
PSPDFOutlineViewController
. - ChangedVarious small localization updates.
- API
PSPDFProcessor
's generatePDFFromHTMLString: methods have gained a new error parameter. - API
PSPDFAESDecryptor
's init methods have gained a new error parameter. - FixedFixes a regression where two-finger-scrolling in highlight mode no longer worked.
- FixedFixes a rare timing issue where a mutation error could be thrown if reloadData is called within page loading delegate methods.
- FixedFixes an issue where exported annotation via the share sheet could end up on different pages if a document with multiple provider sources is used.
3.4.2 19 Jan 2014
- ChangedImproved defaults for the status bar and the activity controller.
- ChangedThe document and page label now use blur on iOS 7.
- ChangedFull-page-ads with links now no longer highlight the whole page.
- ChangedThe bookmark activity now shows the current bookmarked state.
- ChangedThe thumbnail cells use the active tintColor on iOS 7 as their selection border color.
- AddedNew property to control if the HUD should be visible on viewWillAppear. (
shouldShowHUDOnViewWillAppear:
) - ChangedSlightly darker default background for the
PSPDFViewController
on iOS 7. - FixedFixes an regression with the loupe view and UIInterfaceOrientationLandscapeLeft.
- FixedFixes an issue where annotations could be missing when exporting single pages that are backed by XFDF via email.
- FixedFixes an issue where the internal web browser wasn't correctly dismissed when an App Store link was detected.
- FixedFixes an issue where the contentInset could become too large when using the
PSPDFStampViewController
.
3.4.0 18 Jan 2014
See the announcement post(opens in a new tab).
- ChangedThe
PSPDFVideoAnnotationView
has been completely removed as the newPSPDFGallery
takes over all of this functionality. PSPDFKit finally supports playback of multiple videos and/or audio tracks at the same time. (The total number of concurrent video streams is hardware dependent and is usually 4) - ChangedInk annotations can now be merged via the multiselect tool. This will discard all different styles and use the style of the first object if used.
- ChangedVarious annotation changes and page updates are now animated (most visible when using undo/redo).
- ChangedVarious improvements and fixes for PDF Forms.
- ChangedImproves the activity bar button item, actions will forward to the bar button items if possible.
- ChangedThe annotation toolbar will now attempt to merge highlights if they overlay each other and have the same color.
- ChangedImproves hit testing for smaller annotation types like note annotations.
- ChangedThe
PSPDFPrintBarButtonItem
now uses thePSPDFDocumentSharingViewController
to make it consistent with the Email and Open In action and thus has also new option parameters. (API-Change). This now allows printing the annotation summary. - ChangedThe annotation summary now generates an attributed string when printing or sending via email.
- AddedAdd
PSPDFAnnotationIgnoreNoteIndicatorIconKey
to optionally disable the note indicator rendering. - ChangedImproves support for links to different documents via URI action type.
- AddedAdding a signature will now make it smaller and more appropriate for large documents.
- ChangedThe
PSPDFSignatureSelectorViewController
is now stateful, has a minimum size and will show "No Signatures" if the last signature was deleted while being open. - ChangedThe use of the outline in the search preview is now configurable via
useOutlineForPageNames
in thePSPDFSearchViewController
. It defaults to YES. - AddedNew iPhone popover controller that better fits into iOS 7.
- ChangedThe annotation type image in the annotation table view is now colored in the same color as the annotation itself.
- AddedAdds a workaround for an issue where iOS would change the status bar when showing an UIAlertView without setting it back to the previous setting.
- ChangedExposes
filteredPagesForType:
to customize what the thumbnail controller displays, and increases the touch target of the thumbnail filter. - FixedFixes an issue when certain annotation types were manually overridden to be displayed as overlay, they could be initially visible until moved on page load.
- FixedFixes an UI regression where the
PSPDFProgressHUD
would be rotated wrongly on device rotation. - FixedFixes an issue where YouTube videos were no longer being paused automatically in iOS 7 when in thumbnail mode.
- FixedFixes a timing issue when multiple galleries were loaded at a page on the same time.
- FixedFixes an issue in
PSPDFTabbedViewController
that could move pages off center when using iOS 7 when the HUD fades out. - FixedFixes an issue with embedding forms into documents with a invalid trailer ID.
- FixedFixes an issue where dismissing the half-modal form choice picker could dismiss the current view controller on the iPhone.
- FixedFixes an issue with extracting font glyph rect data, especially for CJK documents that use 'usecmap' to link to other CMaps.
- FixedFixes a potential assertion in the text parser with certain malformed PDF documents that have invalid font descriptors. PSPDFKit will now try to extract as much as possible and not assert, even if the document is partly broken or contains invalid descriptors or font references.
3.3.5 9 Jan 2014
- ChangedThe gallery now supports more options like autostart, cover views or control customizations.
- ChangedImproved the
highlightedString
feature by narrowing down the target rect. Reduces the chance to extract text above/below the marked text. - ChangedThe render activity view now has a slight delay and animates in and out, making it less disruptive.
- ChangedExtends support for iOS 7 dynamic type to more controls and cells.
- ChangedLocalization has been streamlined and requires less entries. If you rely in a specific
identifier
forPSPDFMenuItem
checks, remove the "..." from the strings. - ChangedThe option view in
PSPDFNoteAnnotationViewController
now uses blur on iOS 7 instead of plain transparency. - AddedAdds further workarounds for issues in
UITextView
on iOS 7 which improves caret scrolling and visibility when using external keyboards. - ChangedThe "Clear All" action on
PSPDFAnnotationTableViewController
is now a single undo step instead of one per annotation. - FixedFixes an issue where the redo action of the
PSPDFAnnotationToolbar
would always prefer drawing redos, potentially preferring the wrong actions first. - FixedFixes an issue that blocked moving annotations if they are above a form field.
- FixedFixes an issue that could select the wrong annotations when sending a single extracted page from a document via email.
3.3.4 7 Jan 2014
- ChangedThe annotation table view has been redesigned and also shows the creation user and the last modification date, if available.
- AddedNew property:
skipMenuForNoteAnnotationsOnIPad
to control how the note controller is displayed. - ChangedUpdate selection style for the saved annotation cells to better match the iOS 7 design.
- ChangedImproves logic for popover resizing of the container controller.
- ChangedVarious tweaks to the stamp controller and the text stamp controller. Now adds default date stamps, automatically shows keyboard once the
PSPDFTextStampViewController
appears and more. - ChangedVarious localization updates, including localization for stamps.
- ChangedThe
localizedDescription
for PDF Form Fields is now smarter and won't create strings like Button: Button. - ChangedThe
PSPDFAnnotationToolbar
has a newbackButtonItem
hook to replace the default "Done" back button. - ChangedSome more icon tweaks: delete now better fits into the iOS 7
UIMenuController
and sound now is a microphone instead of a note. - FixedFixes an issue with saving custom pspdfkit:// prefixed links via the XFDF provider.
3.3.3 6 Jan 2014
- ChangedRe-enables the Clear button in the new
PSPDFFreeTextAccessoryView
after text has been changed. - ChangedDon't show the ".pdf" file ending in the
PSPDFDocumentPickerController
. - ChangedThe inspector now repositions itself if the annotation changes the
boundingBox
. - ChangedSaving annotations into the PDF has been optimized and creates a smaller PDF.
- ChangedForm objects no longer are deletable when using the
PSPDFAnnotationTableViewController
but will be cleared instead. - APIRemoved PSPDFInitialAnnotationLoadDelay. This is no longer a performance problem and has thus been removed and optimized.
- ChangedImproves styling in
PSPDFWebViewController
for iOS 6 when the navigation bar style is dark. - ChangedThe activity button in
PSPDFWebViewController
is now always enabled, not only after the page finished loading. - Changed
PSPDFWebViewController
now offers to load the page in Google Chrome, if installed. - FixedFixes an UI issue where the document title label could be offset under iOS 7/iPhone if the HUD was hidden when a modal VC is invoked.
- FixedFixes an issue that prevented forms from saving correctly when saved via the Send via Email/Open In feature from a readonly source.
- FixedFixes multiple issues with building/preserving the appearance string for certain PDF form elements.
3.3.2 4 Jan 2014
- AddedAdds new accessory view for free text annotations to quickly access the inspector.
- ChangedThe font size in
PSPDFNoteAnnotationViewController
now adapts to iOS 7 content size. - ChangedThe gradient calculation used in
PSPDFNoteAnnotationViewController
now simply returns a default yellow if the base is white. - ChangedThe delete note icon in
PSPDFNoteAnnotationViewController
is now dynamically enabled/disabled depending if there's text in theUITextView
. - ChangedImproves the animation and various design details in
PSPDFSearchViewController
, especially on iOS 7. - ChangedImproves the annotation summary to now repeat type and description if that's the same. (Ink, Ink)
- ChangedVarious smaller design updates for the annotation inspector.
- APIAPI Update:
generatePDFFromDocument:
now acceptspageRanges
as NSArray, which enables easy re-ordering of document pages (compared to a single NSIndexSet) - FixedFixes an UI issue where the text view wouldn't properly adapt in
PSPDFNoteAnnotationViewController
on iPhone. - FixedFixes an UI issue where the "No Bookmarks" label could be not exactly centered on first load.
- FixedFixes an issue where the annotation bar button item would be disabled with
PSPDFAnnotationSaveModeExternalFile
. - FixedFixes an issue where the document sharing controller would sometimes not extract pages out of the PDF if only a subset of the pages are selected.
- FixedFixes an issue where wrong options could end up being used if
PSPDFDocumentSharingViewController
was preconfigured so it is invoked without showing the UI.
3.3.1 2 Jan 2014
- ChangedPSPDFKit now displays note indicators for annotations with note content.
- ChangedAnnotations that can't be erased are no longer hidden while in erase mode.
- ChangedThe view controller order in
PSPDFOutlineBarButtonItem
and inPSPDFThumbnailViewController
has been changed - bookmark is now the last entry. - ChangedPSPDFSearchViewController now has support for custom scopes with a new optional delegate method.
- ChangedOn iOS 7 we now support
shouldAutomaticallyAdjustScrollViewInsets
withPSPDFPageTransitionScrollContinuous
&PSPDFScrollDirectionVertical
. - ChangedThe scroll-to-top feature when the status bar is tapped no longer breaks when showing/hiding the thumbnail controller.
- FixedFixes an issue with glyph position calculation for certain rotated documents that had a non-nil origin.
- FixedFixes an issue that prevented linking the precompiled PSPDFKit.framework with Xcode 4.6.
- FixedFixes a timing issue where the annotation menu wasn't always displayed wen selecting an annotation via the
PSPDFAnnotationTableViewController
on iPhone. - FixedFixes a small issue where the
PSPDFNoteAnnotationViewController
could fail to show the keyboard when presented manually with a certain timing. - FixedFixes an issue that could have kept a total 1-2 instances of
PSPDFPageView
around, even when thePSPDFViewController
was deallocated. - FixedFixes a potential retain cycle in the
PSPDFDocumentSharingViewController
on iOS 7.
3.3.0 29 Dec 2013
See the announcement post(opens in a new tab).
Happy holidays!
PSPDFKit now requires iOS 6+ and Xcode 5. Keep using PSPDFKit 3.2.x if you're still building with Xcode 4.6 or need to support iOS 5. Apple will enforce usage of Xcode 5 starting February 1st. (https://developer.apple.com/news/index.php?id=12172013a) Removing iOS 5 resulted in deleting almost 10.000 lines of code - which will give you a smaller, faster and more efficient binary.
The binary is now again fully universal including armv7, armv7s, arm64, i386 and x86_64. The separate iOS 7 only (64 bit) library variant has been removed.
PSPDFKit Complete now supports PDF form signature validation and thus links with OpenSSL. There is an optional build without OpenSSL that disables these cryptographic signature checks.
- ChangedLocalization! PSPDFKit now ships with English, Chinese, Korean, Japanese, French, Spanish, Russian, Italian, Danish, German, Portuguese and Brazilian Portuguese.
- AddedAdds preliminary compatibility with Xcode 5.1 and iOS 7.1b2.
- ChangedRefreshed visuals for both iOS 6 and iOS 7. The icons are now much more polished and can be better customized. The remaining icons that were drawn in code are now all inside the PSPDFKit.bundle.
- ChangedPSPDFKit Complete/Enterprise can now validate cryptographic signatures (unless you use the build without OpenSSL)
- Changed
PSPDFAESCryptoDataProvider
now supports the popular RNCryptor data format: https://github.com/rnapier/RNCryptor/wiki/Data-Format (It autodetects the legacy format and supports that as well) - ChangedFinally fully supports the new
UIViewControllerBasedStatusBarAppearance
. (we now support both modes in iOS 7) - ChangedThe
PSPDFAnnotationToolbar
now displays the style picker for text markup annotations (highlights). - ChangedThe
PSPDFGalleryViewController
now supports local/remote video and audio files next to images. - ChangedThe internal
PSPDFWebViewController
now shows a progress bar, much like Safari on iOS 7. - ChangedImproves automatic font resizing for single line text field form entries.
- ChangedImproved support for
additionalActions
andnextAction
to add actions to all annotation types. - APIAPI Change:
PSPDFTextSelectionMenuActionWikipediaAsFallback
has been renamed toPSPDFTextSelectionMenuActionWikipedia
. Since checking for a word inUIReferenceLibraryViewController
can be unpredictably slow as of iOS 7.0.3, we had to remove this feature.Define
will now always be displayed and you can optionally enable Wikipedia as well. The new default will omit Wikipedia by default. - ChangedDon't show the
PSPDFWebViewController
bottom toolbar on iPhone if there are noavailableActions
defined. - ChangedAllow detection for a PSPDFKit signature and blocks the "Copy" feature if detected. Will also be saved into the PDF as proprietary extension.
- ChangedIf there's no signature saved and customer signature is disabled, we'll show the new signature controller instantly.
- AddedAdds a new property:
shouldCacheThumbnails
to suppress thumbnail cache generation. - AddedAdds a new property:
shouldHideHUDOnPageChange
to fine-tine when the HUD is hidden. - ChangedHighlight etc is no longer offered on text selection if the document can't be saved.
- ChangedImproves Form Element description in the annotation table view.
- ChangedAllow "Clear Field" for Choice Form Elements with editable text.
- ChangedImprove support for hidden form elements or choices that are neither editable nor have options.
- AddedAdd hitTestRectForPoint: on
PSPDFPageView
to allow customization of the rect that is used for tap hit testing to select annotations. - ChangedMake document parsing more robust to allow dealing with files that have incorrect XRef tables.
- ChangedThe text selection handles now have the proper hit test size when zoomed in - improves your ability to interact with other content.
- ChangedYouTube: Add support for http://youtu.be short-form URLs for embedding.
- ChangedThe note icon name is now properly serialized when using the XFDF annotation provider.
- ChangedThe XFDF provider now only saves if an annotation is changed. Deserialized annotations are set to be not dirty by default now.
- ChangedAnnotation and outline classes have been optimized to require less memory and reuse more objects internally.
- ChangedLots of code cleaning, improved documentation and some reorganization. The binary is now smaller and compiles faster.
- ChangedMoves document parsing to a background thread, improves initial startup time for complex, large documents.
- ChangedGoToR actions with target named destinations are now supported.
- ChangedFreeText annotations are now correctly rendered and displayed even when their bounding box is too small for the text.
- ChangedAudio recordings can now be time limited and the default encoding/bitrate can be customized in
PSPDFAudioHelper
. - ChangedThe default set of stamps is now localizable and localized by default.
- ChangedThe Edit button in the annotation table view controller and the bookmark controller is now only enabled if there is content, and edit mode is automatically disabled when there's no more content.
- ChangedImproved touch handling when resizing/moving annotations.
- FixedFixes an UX issue that wouldn't deselect the current toolbar state if a saved signature is added via the annotation toolbar while
customerSignatureFeatureEnabled
is disabled in the signature store. - ChangedPage scroll animations are reduced to allow faster navigation.
- ChangedAnnotation overlay views are now loaded and added to the view hierarchy as soon as the page is set up, removing the previous delay that was especially noticeable with note annotations.
- ChangedNo longer shows the bounding box when selecting/resizing line annotations.
- ChangedThe undo/redo stack is now consolidated - no more difference or disabled undo while in drawing mode.
- ChangedProperly coordinate print controller popover to close when other popovers are activated.
- ChangedUse blurry background for UIPopoverController in the stamp section.
- ChangedThe annotation creation menu now only shows the most important annotation types; customize via
createAnnotationMenuTypes
in thePSPDFViewController
. - RemovedRemoves the IDNSDK to get a smaller binary.
- ChangedWhen saving text form elements, the AP stream is now included in the PDF. This fixes issues with Acrobat where the content would only be visible when the text field is active.
- FixedFixes a rare crash in (poly)line point calculation if the points are on top of each other.
- FixedFixes an edge case where the text field would loose focus after the note annotation controller has been dismissed because of tapping into another text field.
- FixedFixes a regression where the selected annotation for multiple potentials was reversed.
- FixedFixes an issue where annotations with appearance stream could be rendered at the wrong position and/or size.
- FixedFixes an issue where annotations could be returned from the last page when forms are in the document, even if a different page was requested.
- FixedFixes an issue with the label parser when encountering offset pages.
- FixedFixes an issue where when trying to copy a webpage link in the internal web browser, the system could throw a
NSInvalidArgumentException
if the link was nil.
3.2.3 28 Nov 2013
- ChangedImproves custom text stamp creation layout and fixes an issue where the text wasn't always displayed within the table view.
- ChangedForm text fields are now no longer clipped when the zoom scale is very low.
- ChangedBorder on a form is now only rendered when defined so in the dictionary for widget/form annotations.
- ChangedSignatures now use
PSPDFAnnotationStringSignature
as style key, instead of thePSPDFAnnotationStringInk
that was used before. - ChangedImproves support with Microsoft Outlook by making sure we always send the .pdf file ending when sharing via email.
- ChangedAny open menus will now be dismissed before PSPDFKit is presenting a popover. This fixes a behavior change in iOS 7 where
UIMenuController
sometimes stayed visible. - ChangedChoice form elements now have a click-through-able popover and are highlighted when active.
- ChangedNext/Prev now works across multiple pages and also includes choice form elements.
- ChangedThe form highlightColor is now a property on PSPDFFormElement and thus configurable.
- ChangedWorks around a bug in iOS 7 where the UITextView wouldn't properly scroll to a new line when entering text in a PDF Form.
- ChangedThe
PSPDFOutlineViewController
now shows the empty state if the document has no outline set but the controller is still displayed. - ChangedImproves compatibility with parsing invalid URLs in link actions - will correct more variants.
- FixedFixes an issue where certain form choice elements with partial dictionaries could be incorrectly parsed/rendered.
- FixedFixes an issue that could prevent form choice elements from being saved correctly back into the PDF.
- FixedFixes a rare collection mutation regression when erase mode was active while annotation changes for visible inks were processed.
- FixedFixes an issue where
allAnnotationsOfType:
sometimes could miss certain annotations when an internal save file was used. - FixedFixes an regression where
hasDirtyAnnotations
could report YES when we really don't have any unsaved changes. - FixedFixes some localization issues with line endings in the Inspector.
3.2.2 24 Nov 2013
- ChangedThe gallery now allows image zooming when in full screen and requires less memory when loading remote images.
- ChangedThe gallery is now more customizable, allows custom background colors and recognizes @2x images when they are local.
- ChangedThe
PSPDFDocumentSharingViewController
will now use a temporary directory to save annotations into the PDF if it's in a non-writable location. - ChangedThe password view now automatically shows the keyboard.
- ChangedIf annotations can't be embedded, the new annotation menu will not be displayed anymore (to be consistent with the
PSPDFAnnotationBarButtonItem
) - ChangedThe runtime now better deals with multiple annotation subclasses that both change the behavior of a parent class. Use
overrideClass:withClass:
onPSPDFDocument
to register such subclasses. - ChangedSet the default ink line width to 3, unless a default is already set.
- ChangedUsing undo/redo while in eraser mode will now also allow adding/removing of ink annotations.
- ChangedThe undo system will now commit expired actions that are coalesced. This fixes an issue where certain actions would appear undo-able quite late (e.g. first erase action)
- ChangedIf the named destination of a link can't be resolved we will ignore the action and no longer scroll to page 0.
- ChangedImprove selection contrast in the
PSPDFAnnotationToolbar
. - ChangedThe
PSPDFSearchResult
class is now immutable and has a new initializer for creation. - Changed
PSPDFSearchViewController
now supports iOS 7 dynamic font size and allows a multi-line text preview. The new default are two lines instead of one. - ChangedVarious warning/error messages are now printed with the code location instead of a generic PSPDFError trace.
- ChangedAnnotation management now uses equality checks instead of memory-based checks, this makes the code more robust when objects are recreated in the annotation providers.
- ChangedText field form elements now resize as we are typing and better render multi-lined text.
- ChangedPDF Signature Form elements are now tappable and will offer to add a ink annotation as signature.
- APIAPI change: Renamed
showNewSignatureMenuAtPoint:animated:
withshowNewSignatureMenuAtRect:animated:
. Use a rect with size zero to get the previous behavior. - APISome subclassing hooks that have been declared but weren't called have been properly removed.
- ChangedUndo/Redo is disabled by default on old devices to improve performance. (Notably, the iPad 1 with iOS 5.)
- ChangedImproves error handling for corrupt or missing PDFs.
- ChangedUsing the HSV color picker while brightness is set all the way to 0% (black) will do the smart thing to switch to the pure color with 100% brightness.
- FixedFixes an issue where ink annotations could change position for PDF documents with non-nil origin points.
- FixedFixes an issue where some text in form elements could render incorrectly when the page was rotated.
- FixedFixes a potential recursion when parsing malformed documents.
- FixedFixes an issue where
annotationsFromDetectingLinkTypes:
could throw an exception if a page returns nil as body text. (e.g. corrupt or password protected files) - FixedFixes an issue where the gallery component could throw an
UIViewControllerHierarchyInconsistency
when used in combination withPSPDFPageTransitionCurl
. - FixedFixes an issue where we incorrectly detected a regular password protection as custom encryption filter.
3.2.1 13 Nov 2013
- ChangedImproved a few cases where the
PSPDFDocumentSharingViewController
was displayed with practically no options to choose. - ChangedImproves the thumbnail <-> page(s) animation so it even looks great when the thumbnail button is toggled really fast.
- ChangedThe
PSPDFNoteAnnotationViewController
no longer shows the 'copy' button by default, the toolbar looked too cramped. - FixedFixes an issue with UID generation when the document isn't inside the app bundle.
- FixedFixes an issue where larger XFDF ink annotations could degrade when being parsed.
- FixedFixes an issue where the initial call for
annotationsForPage:
in thePSPDFXFDFAnnotationProvider
could return an empty array. - FixedFixes an issue with UIKit legacy mode and the
PSPDFAnnoationToolbar
in certain setups. - FixedFixes an issue where 'Finish Recording' on sound annotations wouldn't work if the recording was still active but currently paused.
- FixedFixes an rare issue with writing annotations if inline UTF-16 (the special Adobe flavor) is used within the
/Pages
root object. - ChangedTitanium: Exposes
printOptions
,sendOptions
andopenInOptions
from the correspondingPSPDF*BarButtonItems
.
3.2.0 10 Nov 2013
- ChangedLots of improvements around sound annotations! Serialization, better selection, context menus, customization.
- Changed
PSPDFAnnotationTableViewController
: Dynamically calculate cell height and show multiple lines of description per cell. - ChangedYouTube and Web views now automatically reload themselves when a reachability change is detected.
- ChangedLong-Pressing on text markup will now allow text selection and not select the markup (highlight) annotation. This enables sub-selection of text that is already selected in another way.
- ChangedGreatly improves handling of (rotated) FreeText annotations and rotated pages.
- ChangedThe search bar is now attached to the top on iPhone, to better match iOS 7 style.
- ChangedRendered images are now more more likely to be cached to disk, resulting in less work overall.
- ChangedImproves thumbnail scroll performance, especially on the iPad 1.
- ChangedImprovements to the text parser, now can parse another category of documents that use Font Programs to define their glyphs.
- ChangedForm Check Box Elements now render the AP stream by default and fall back to internal rendering if no stream was found.
- ChangedForm background colors are now dynamically parsed and displayed instead of the default light blue.
- ChangedImproves support for various Forms that define the form element across multiple objects.
- ChangedImproves the touch-down-highlight for form elements.
- ChangedAllows overriding of
PSPDFTextSelectionView
. - ChangedImproves text extraction for highlight annotations when there are multiple overlapping rects.
- FixedFixes an issue where the text selection wasn't properly updated on rotation.
- FixedFixes a potential deadlock when async saving was called manually while the view controller was popped from the screen which also invokes a save.
- FixedFixes an issue where the tab controls of
PSPDFTabbedViewController
wouldn't respect theminTabWidth
property. - FixedFixes an issue with rendering annotations with overlapping fill-areas in UIKit legacy mode.
- FixedFixes an issue where certain
UIActionSheets
on iOS 6 could be mis-placed. - FixedFixes an issue with getting images for iOS 6 when the PSPDFKit.bundle is in a non-standard location.
- FixedFixes a potential exception when a PDF contained an annotation with a malformed bounding box.
- FixedFixes a potential exception when a free text annotation of size zero was created and subsequently edited.
- FixedFixes an issue with saving annotation in certain documents that previously produced warnings.
- FixedFixes a potential crash when loading annotations from the disk store while a save filter is active.
- FixedFixes an issue where under rare conditions flattened notes could be rendered mirrored.
- FixedFixes a rare condition where the cache could get into a state where it no longer pre-renders document pages.
- ChangedTitanium: The plugin is now simply named
com.pspdfkit
(fromcom.pspdfkit.source
) - ChangedTitanium: editableAnnotationTypes can now be set in
documentOptions
.
3.1.4 3 Nov 2013
- ChangedImproves rendering of line endings in the selected state.
- ChangedDon't show an "external application" dialog if our own app responds to the URL scheme in question.
- ChangedThe PSPDFGallery can now better deal with a single image and will auto-generate the appropriate manifest if a PSPDFLinkAnnotation points to the image.
- ChangedAllows overriding of PSPDFColorSelectionViewController from within the inspector.
- ChangedAllows fine-tuning of the dictionary lookup via PSPDFTextSelectionView's new dictionaryHasDefinitionForTerm: method.
- ChangedEnabling/Disabling the eraser feature no longer flickers the ink annotations.
- ChangedThe eraser now respects alpha settings of the ink annotations.
- ChangedWhile erasing, Undo/Redo now work as expected.
- ChangedSpecial-cased clearColor for the
fillColor
annotation property when using PSPDFStyleManager. (fill can't have alpha; so previously this would give you a black fill - now it's transparent) - ChangedAllow parsing for less common color definitions in appearance strings (k and g)
- ChangedForms: Don't draw background when we have an AP stream for form buttons.
- ChangedForms: Buttons that define an AP-Stream no longer also have a blue background.
- ChangedForms: Buttons(Check boxes, radio buttons) now show a touch-down state when tapping them.
- ChangedForms: No longer flickers when the element is deselected.
- FixedFixes a potential crash in the selection view when we select a free text annotation with zero width.
- FixedFixes an infinite loop when searching certain characters.
3.1.3 24 Oct 2013
- ChangedPSPDFKit now requires the CoreTelephony.framework (this will be added automatically if you use the PSPDFKit.xcconfig file)
- ChangedThe
autodetectTextLinkTypes
feature is now faster and will detect more types of phone numbers and URLs, including those that contain spaces/newlines between them. - ChangedPressing the delete icon in the note annotation controller will only clear the note, except for note annotations where it will delete the whole annotation.
- AddedAdds a versioning system for PSPDFKit.bundle. Make sure you always use the bundle we ship with PSPDFKit.
- AddedAdds a boxRect:forPage:error: method to PSPDFDocument to easily get a different box rect for the defined page.
- ChangedGallery now supports animated GIFs and downloads images even when the app is in background.
- ChangedImproves default header color for the mail view controller.
- FixedFixes an issue where the bounding box for FreeText annotation could be too long when they are edited while zoomed in on iOS 7.
- FixedFixes an issue where "Inspector..." was displayed for non-editable annotation types.
- FixedFixes an issue where "Clear All" deleted all annotations, even those not displayed in the annotation table view.
- FixedFixes an issue where flattened note annotations would sometimes be drawn rotated on rotated documents.
- FixedFixes an issue where Free Text annotations added from the toolbar could end up being rotated on rotated documents.
- FixedFixes a very rare over-release of a PSPDFPageView object when lots of PSPDFViewControllers are rapidly created/destroyed. (you should always reuse this heavyweight object)
3.1.2 21 Oct 2013
- ChangedFaster scrolling, new default page rendering strategy:
PSPDFPageRenderingModeThumbnailIfInMemoryThenFullPage
- ChangedImproves text selection drawing and text selection menu placing. The few cases where the menu could overlap the selection have been fixed.
- AddedAdd more sophisticated warnings if the PSPDFKit.bundle is missing.
- ChangedPSPDFViewController will now auto-save annotations when the view is dismissed while contained in a child view controller.
- AddedAdd
verticalTextAlignment
toPSPDFFreeTextAnnotation
. This is not defined in the PDF spec; so it will be a code-only option for now. PSPDFKit will save this into the PDF as a proprietary extension. - FixedFixes an issue with single page documents, forced two-page-mode and pageCurl.
- FixedFixes an issue where under certain conditions the navigationBar was not displayed initially.
3.1.1 19 Oct 2013
- ChangedRestores compatibility when compiling with Xcode 4.6.
- ChangedVarious smaller improvements to the new image gallery.
- ChangedVarious smaller performance improvements, moved some more work off the main thread.
- APIAPI cleanup for PSPDFDocumentProvider.
- ChangedNo longer blocks the UI when annotations are still loading during a touchDown event.
- FixedFixes an UX issue where dismissing the activity popover in the web view controller via a touch on the dimming view sometimes required a second touch on the action button to re-show.
- FixedFixes an issue when adding annotation views for invalid rects.
3.1.0 18 Oct 2013
- ChangedBrand-new image gallery (define a region in the pdf to be covered by a smooth gallery). Allows configuration via inline-pdf or external JSON.
- ChangedUse menu-based annotation manipulation for text markup annotations.
- ChangedThe way how the document UID is generated has been changed. Previously, for files it used the full app path. However since the app UID could change after an upgrade, we had to change this behavior. This is only important if you used bookmarks or allowed annotations saving into the internal storage - not for embedded annotation data. Set the global variable
PSPDFUseLegacyUIDGenerationMethod
to YES to continue using the old path. Those files are in Library/PrivateDocuments. You might want to write a custom migration step to rename the custom data paths from the old UID to the new UID system. ThePSPDFUseLegacyUIDGenerationMethod
can be changed at any time to switch between old and new UID (generate a new PSPDFDocument instance to force UID regeneration). - ChangedThe file-based annotation backing store by default no longer saves link annotations but instead merges the saved annotations and the links from the file. This improves performance for PDFs that have lots of internal links (our current way of saving starts to get slow once there are more than 10.000 objects). In most cases, you don't need to care and your save file will be migrated automatically. If you rely on custom link annotations being saved/deleted, you need to set the new
saveableTypes
property of the fileAnnotationProvider back to the old defaultPSPDFAnnotationTypeAll
. - ChangedThe undo/redo buttons are now updated immediately after adding annotations.
- ChangedThe interactivePopGesture (new on iOS 7) is now disabled while we're drawing to prevent accidental usage.
- ChangedThe PSPDFViewController will now properly clean up state from the annotation creation when dropped from user code while the toolbar is in drawing mode.
- ChangedThe outline controller now properly shows page destinations above page 10.000.
- ChangedHides a harmless log warning when PSPDFKit tried to render an annotation with an empty width/height.
- ChangedWhen undo is disabled, the undo/redo buttons are now properly hidden when leaving the drawing mode.
- ChangedNo longer draws the arrow when flattening choice form elements.
- ChangedRestores sound annotations that were added via the pspdfkit:// protocol.
- ChangedImproves compatibility with UIViewControllerBasedStatusBarAppearance. (ongoing project, still not recommended.)
- ChangedGreatly improves scrolling performance with large outline tables.
- FixedFixes placement of the search bar in the outline controller.
- FixedFixes a crash when pressing undo while adding free text annotations.
- FixedFixes a call to a not implemented method in the file annotation provider when manually replacing annotations.
- FixedFixes a crash in arm64 when parsing certain malformed PDF documents.
- FixedFixes an issue where the password view wasn't correctly updated when the document was changed while it was displayed.
- FixedFixes an issue where one could get stuck in the eraser mode when choosing it from the toolbar when that one was displayed via the long-press annotation menu.
- FixedFixes a timing issue where the text parsing could crash in rare cases.
- FixedFixes an off-by-one error that could cut off long lists of ink points when parsing XFDF files.
3.0.10 10 Oct 2013
- ChangedThe search controller header is now sticky on iPhone (especially improves display on iOS 7)
- ChangedGreatly improves text selection performance when a large number of glyphs is selected.
- ChangedImproves eraser mode - faster, and no longer changes the view port when enabling/disabling.
- AddedAdds a new convenience method (sortedGlyphs:) when glyphs are manually selected in PSPDFTextSelectionView.
- ChangedImprove various details in the XFDF writer.
- ChangedAllow pspdfkit:// URLs within the PSPDFXFDFAnnotationProvider.
- RemovedRemove confusing search controller animation when it's first presented on iOS 7.
- ChangedImproves outline searching on iOS 7 / iPhone.
- ChangedVarious other smaller tweaks related to iOS 7.
- ChangedDon't show the PSPDFDocumentSharingViewController if there are no options available.
- ChangedEnsure the annotation style picker closes when the annotation mode changes.
- ChangedImproves type detection when pspdfkit:// links are used within URLs that have query parameters.
- AddedAdds a workaround for documents with invalid /Pages structure which previously prevented annotation saving.
- AddedAdd missing localization for "Choose Fill Color".
- ChangedThe text selection end handle is now prioritized, makes it easier to extend selection for small text.
- FixedFixes an issue where changing the position of a note annotation could fail on the first try.
- FixedFixes an issue with calling the didCreateDocumentProviderBlock for multiple files.
- FixedFixes a 20-pixel offset in the annotation inspector on iPhone/iOS 7.
- FixedFixes updating the thumbnail button state.
- FixedFixes an issue when showing the annotation toolbar from the bottom.
- FixedFixes an issue where popovers could have a width/height of 0 when presented from a bottom toolbar on iOS 7.
- FixedFixes a crash on iOS 5 related to the font picker, rotation and early dismissal.
3.0.9 4 Oct 2013
- ChangedGreatly improves compatibility with text extraction/search, especially for Chinese/Japanese/Korean fonts.
- ChangedThe autosave feature of the PSPDFViewController can now be controller via the 'autosaveEnabled' property. Defaults to YES.
- ChangedImproves the transition between stamps and saved annotations for iOS 7 legacy mode.
- ChangedHide the downloadable fonts section if there are no fonts to download.
- ChangedDisables an unwanted implicit animation in the annotation style inspector for iOS 7 legacy mode.
- ChangedThe "Paste" menu is now more clever and will check if creating the new annotations is allowed before it's displayed instead of failing silently.
- ChangedRe-enables search for the outline controller on iOS 7.
- FixedFixes an issue in the PSPDFMultiDocumentViewController when the array of documents was set to nil.
- FixedFixes a potential crash when parsing invalid PDFs with AcroForm data.
3.0.8 2 Oct 2013
- ChangedUse a background task to save annotations when the application enters the background to make sure it finishes before the app gets killed.
- ChangedThumbnail page label is now re-enabled by default. (Control this via subclassing PSPDFThumbnailGridViewCell and setting the pageLabelEnabled property.)
- ChangedEnsure the status bar is visible if it was originally visible when showing the note view controller on iPhone.
- ChangedImproves various details for the note controller, bookmark controller, annotation controller and outline controller related to iOS 7 tinting.
- FixedFixes an issue where saved note annotations sometimes were not correctly removed from the page view until the page was changed.
- FixedFixes an issue where ink annotations could end up on the wrong page when using multiple document providers.
- FixedFixes an issue that could prevent the grouping menu from appear in the annotation toolbar.
- ChangedUpdated some graphics in the PSPDFKit.bundle.
3.0.7 1 Oct 2013
- ChangedImproves compatibility with resolving named actions.
- ChangedEnsures that the PDF outline is hidden if no page action targets could be resolved.
- ChangedReenable undo/redo by default.
- FixedFixes a tiny memory leak.
3.0.6 1 Oct 2013
- ChangedAlways updates bar button items on a document change. Fixes conditions where a button could be in an disabled state if not used in the main toolbar.
- ChangedThe status bar state captured at viewWillAppear is now only restored when the PSPDFVC is popped from the stack, not on every disappear.
- ChangedMakes it easier to disable undo/redo. (new undoEnabled property on PSPDFDocument)
- ChangedImproves error return code when saving annotations.
- FixedFixes an issue where unsaved annotations could be lost during an low memory event when using the tabbed view controller.
- FixedFixes a potential non-main-thread call while preparing for saving.
- FixedFixes an issue with saving certain documents.
3.0.5 30 Sep 2013
- ChangedFont picker now is searchable and shows downloadable fonts.
- ChangedThe eraser UI properties can now be changed via UIAppearance proxies.
- ChangedThe form text field update logic is now more clever and won't change form objects if they are only tapped.
- ChangedImproves styling of the mail sharing view controller on iOS 7.
- ChangedImproves interoperability with Objective-C++.
- ChangedImproves support for a white global tintColor on iOS 7. (check boxes are no longer white)
- ChangedImproves spacing for the half-modal annotation style inspector on iPhone/iOS 7.
- ChangedThe annotation manager now continues to look into other providers if the previous one returns nil.
- ChangedPrevent a case where the HUD could be hidden while we're in the thumbnail transition.
- ChangedChanges 'basePath' to 'baseURL' to fix an API inconsistency in PSPDFDocument.
- ChangedCreating a large set of PSPDFDocument objects is now much faster (e.g. while using PSPDFDocumentPickerController)
- FixedFixes an issue that could prevent saving annotations into certain documents.
- FixedFixes an issue where rotating the signature controller would increase the line thickness.
- FixedFixes an issue that prevented committing the rename action in the PSPDFBookmarkViewController.
- FixedFixes a potential crash related to the annotation selection view.
3.0.4 25 Sep 2013
- ChangedFurther tweaks and changes how tintColor is handled on iOS 7.
- ChangedImprove detection code for checked state of radio/checkboxes in the AcroForm parser.
- ChangedImprove search controller animation.
- ChangedImprove status bar face/slide animations for iOS 7.
- ChangedBetter protect the undo controller against mis-use.
- AddedAdd a new option to PSPDFProcessor: PSPDFProcessorStripEmptyPages. This will post-process the HTML-to-PDF result to remove any blank pages there might be.
- ChangedThe 'contentView' of the PSPDFViewController is now always above the PDF content and below the HUD.
- FixedFixes an issue where the scrollable thumbnail bar could sometimes disappear.
- FixedFixes an issue where the changes of a open note annotation where not saved when tapping on the note again while the popover was already visible.
- FixedFixes various smaller potential crashes for malformed PDF documents.
- RemovedRemoves support for the optional alertViewTintColor (was iOS 5/6 only)
3.0.3 22 Sep 2013
- ChangedThe default PSPDFKit binary is now again compatible with iOS 5. We added a new 64-bit enabled binary for apps that are already iOS 7 exclusive.
- ChangedGreatly improve tintColor handling on iOS 7.
- ChangedSupport FDF, XFDF and PDF Form submission methods (next to the existing HTTP)
- ChangedImproves speed for the memory image cache internals.
- ChangedIncrease the allowed handle size for the text selection knobs on iOS 7 to make it easier to change the selection.
- ChangedImproves the placement for the page label view on iPhone.
- ChangedEnsure toolbar is set for the PSPDFSavedAnnotationViewController when used standalone.
- AddedAdds missing localization in various places.
- ChangedImprove animation when a popover resizes on iOS 7.
- ChangedNo longer draws the form field background when forms are flattened.
- ChangedOptimized handling of documents that take a huge amount of memory to render.
- ChangedParsing performance for annotation saving is now up to 3x faster for certain complex documents.
- ChangedImprove
localizedDescription
for form elements. - FixedFixes an issue where the color picker in the half-modal controller on iOS 7 could be sized too small.
- FixedFixes an issue where adding annotations could hide the page contents when annotations were added directly to the page dictionary.
- FixedFixes an issue where partial label matching was too eager and sometimes picked non-optimal matches.
- FixedFixes various rare crashes.
3.0.2 14 Sep 2013
- ChangedExposes some additional helpers in PSPDFDocument.
- ChangedImproves the document sharing controller UI for legacy UIKit mode.
- ChangedImproves support for RichMedia extraction of PDF documents created with Adobe XI 11.0.04.
- FixedFixes an issue with rotation when annotations are selected.
3.0.0 12 Sep 2013
PSPDFKit 3 is a major new milestone with several new features and countless improvements.
Some of the highlights are:
- ChangedFull support for iOS 7, Xcode 5 including new icons and default styles to fully match the new iOS 7 appearance, while also maintaining full backwards compatibility for iOS 5/6.
- ChangedThe prebuilt binary is now ready for 64 bit and includes 5 architecture slices: armv7, armv7s, arm64, i386 and x86_64.
- ChangedSupport for filling out Adobe AcroForm PDF forms. (PSPDFKit Complete/Enterprise only)
- ChangedFull-Text-Indexed-Search across all available PSPDFDocuments via PSPDFLibrary. (PSPDFKit Complete/Enterprise only)
- AddedNew PSPDFDocumentPickerController for easy selection and search within your documents.
- ChangedSupport of the XFDF (XML Forms Data Format) Adobe standard for saving/loading/sharing annotations and forms.
- ChangedCompletely redesigned annotation toolbar that groups common annotation types together.
- AddedNew annotation inspector for faster and more convenient annotation editing.
- ChangedGlobal Undo/Redo for annotation creation/editing.
- ChangedDrawing no longer locks the view, you can scroll and zoom with two fingers without any drawing delay.
- AddedNew PSPDFDocumentSharingViewController to unify annotation flattening from email and open in feature and allow a better page selection.
- ChangedRecord and play back sounds from sound annotations (fully compatible with Adobe Acrobat)
- ChangedFreeText annotations autoresize as you type.
- ChangedSquiggly text highlighting.
- ChangedDraw and edit Polygon/Polyline annotations.
- ChangedStamp annotations are now added aspect ratio correct.
- ChangedImproved PDF generation support in PSPDFProcessor (website/office conversion)
- ChangedImproves handling for very small annotations.
- ChangedSupport for non-default locations for PSPDFKit.bundle.
- ChangedThe delays for adding/removing annotations has been removed.
- ChangedLink/Widget annotations can now be tapped instantly.
- ChangedThe logic for the keyboard avoidance code has been greatly improved.
- AddedAdditional Actions and Action Chains are now properly supported.
- ChangedSupports various new touch actions like Hide, Submit Form, Reset Form and adds support for more Named Actions.
- ChangedCountless performance improvements and bug fixes across the whole framework.
Important! Currently PSPDFKit 3 requires that you set the key UIViewControllerBasedStatusBarAppearance to false in your project Info.plist file. We're working on supporting view controller based status bar appearance in a future update.
Note: Several methods and constants have been updated and renamed to make the API cleaner. Read the PSPDFKit 3.0 Migration Guide(opens in a new tab) if you're updating from version 2.
Important: PSPDFKit 3 requires a serial number and will run in demo-mode by default. Visit https://my.pspdfkit.com to register your app bundle ID and get the serial. If you are a PSPDFKit 2 customer with a license that includes a free PSPDFKit 3 update, please contact [email protected] with your PET* purchase number to get an invite.
PSPDFKit 3 still supports iOS5, however we plan to drop support for it later this year. We already see less than 5% usage and expect this number to drop further in the future.
With the release of PSPDFKit 3 we will focus development on this version and won't be able to offer support for version 2 anymore. Most customers who bought PSPDFKit after January 14th are eligible for a free update, if your update window is still open (6 months for Binary/Viewer, 12 months for Source/Enterprise) Contact us with your PET* purchase number (or invoice ID) for details on your status.
2.14.21 12 Sep 2013
- AddedAdds a workaround for a bug where thumbnail icons could disappear in iOS 7 legacy mode.
- ChangedEnsures we always have a document UID set. Fixes an assert for conditions where this was missing.
- FixedFixes a rare crash related to an over-release in certain high-load conditions.
- FixedFixes the logic that checks and filters glyphs that are outside of the visible page area.
2.14.20 29 Aug 2013
Note: This will likely be the last update of PSPDFKit 2. We're very close to release version 3: our next major version.
- FixedFixes an issue where scroll to page doesn't work for zoom levels < 1 in continuous scrolling mode.
- FixedFixes an initializer issue in PSPDFOrderedDictionary.
- FixedFixes a very rare crash on enqueuing render jobs.
2.14.19 6 Aug 2013
- ChangedEnsure didShowPageView is called on the initial display of the controller.
- ChangedEnsure we don't create multiple PSPDFMoreBarButtonItems while creating the toolbar.
- ChangedEnsure 'fileName' only ever uses the last path component. Fixes an issue where the full path would be used in the email send feature.
- FixedFixes an issue when using the bookmark filter in the thumbnail controller with a
pageRange
filter set.
2.14.18 28 Jul 2013
- FixedFixes an issue with setting certain status bar styles.
- FixedFixes a regression that could result in a crash "cannot form weak reference" on iOS5.
2.14.17 26 Jul 2013
- ChangedImproves memory handling and search performance for very large documents. (> 10.000 pages)
- ChangedImprove URL encoding handling for link annotations, fixing various encoding issues.
- FixedFixes an issue where the scrollable thumbnail bar wouldn't properly update when a new document was set.
- FixedFixes an exception when the tabs of the container view controller change after being presented (e.g. outline parser detects that there's no outline to show)
- FixedFixes a rare crash in PSPDFHighlightAnnotation's highlightedString.
2.14.16 19 Jul 2013
- ChangedFurther improves text extraction performance (faster searching).
- ChangedEnables to subclass PSPDFAnnotationCell in the PSPDFAnnotationTableViewController.
- FixedFixes an issue where logging the PSPDFDocumentProvider within dealloc could lead to resurrection.
- FixedFixes an issue with managing certain PDF caches.
2.14.15 12 Jul 2013
- ChangedAllow PSPDFMoreBarButtonItem to be subclassable.
- ChangedImprove text parser compatibility with PDFs that have deeply nested XObject structures.
- FixedFixes an issue where font metrics could be too small/too large within XObjects when the font key had the same name between global resources and XObject resources.
- FixedFixes an issue where the word boundaries could be off-by-one due to manually inserted spaces at the wrong index.
- FixedFixes an issue where annotation views were not properly cached when a different view was returned via the annotationView: delegate.
2.14.14 2 Jul 2013
- ChangedImprove compatibility of the PSPDFMenuItem image support on iOS7.
- FixedFixes a compile issue when the Dropbox SDK is linked in combination with PSPDFKit.
- FixedFixes an assert when a link action is long-pressed and no action is set.
- FixedFixes an issue when the internal webview receives a NSURLErrorCancelled from an async operation.
- FixedFixes an issue when annotation notifications are generated from threads other than main.
- FixedFixes a crash in the Titanium proxy for certain link annotation actions.
2.14.13 27 Jun 2013
- FixedFixes an issue where the tab bar views could be placed inside the navigation bar in PSPDFTabbedViewController when rotated without the HUD being visible.
- FixedFixes an issue where the thumbnail bar could show stale information when the document changes.
- FixedFixes an assertion when an empty action is evaluated through a long-press.
- FixedFixes an issue where under certain conditions the note annotation controller could show redundant toolbar buttons.
- FixedFixes a potential crash for documents with weird glyph indexes when moving the text selection handles.
- FixedFixes a potential recursion crash while supportedInterfaceOrientations is evaluated.
- FixedFixes a potential empty context log warning for iOS7.
2.14.12 24 Jun 2013
- ChangedImproves thumbnail animations on device rotation.
- ChangedImproves the efficiency of the memory cache.
- ChangedWhen adding an image and the size picker is dismissed on iPad, we now use high quality instead of throwing away the image.
- ChangedBe more conservative about memory when kPSPDFLowMemoryMode is enabled. (Enable this if you have complex PDFs and/or memory related issues)
- FixedFixes a potential recursive call problem when editing link annotations.
- FixedFixes an issue where certain glyph frames could be calculated too small if the PDF is encoded incorrectly.
- FixedFixes an issue with generating JSON from stamp annotations.
- FixedFixes an issue where images could be rendered upside down/incorrectly when they have certain EXIF rotation settings.
- FixedFixes an UI issue when annotations couldn't be fully restored from the Copy/Paste action and created an zero-sized object.
2.14.11 19 Jun 2013
- ChangedAllow subclassing of the UIImagePickerController used within PSPDFKit for special use (e.g. to block portrait display for landscape-only apps). Use overrideClass:withClass: for that.
- ChangedEnsure the outline page label frame is properly update in landscape mode.
- FixedFixes an issue where the annotation table view controller didn't check the editableAnnotationTypes array before offering a delete.
- FixedFixes an issue where highlightedString on PSPDFHighlightAnnotation could return incorrect results.
- FixedFixes an issue with text extraction.
2.14.10 13 Jun 2013
- FixedFixes an issue where the outline controller could hang in the "Loading..." state on older devices.
- FixedFixes an issue where in rare cases the stamp annotation text could be larger than the stamp itself.
- FixedFixes an issue where search could throw an out of range exception for specific PDF encodings.
2.14.9 11 Jun 2013
- ChangedVarious smaller fixes for iOS7. The source code now again compiles without any warnings.
- APIchange
delegate
toannotationToolbarDelegate
for the PSPDFAnnotationToolbar because UIKit now added a delegate property on the toolbar. - APIThe setDefaultStampAnnotations method in PSPDFStampViewController is now a class method.
- FixedFixes an issue where the thumbnail controller could mis-place the filter header after a frame resize.
- FixedFixes a potential crash when the search view controller was both scrolled and the search keyword changed at the same time.
2.14.8 3 Jun 2013
- ChangedImproves glyph word space detection.
- FixedFixes a potential crash on a yet unreleased future version of iOS.
2.14.7 31 May 2013
- ChangedImproved memory management for older devices like iPad1 or when kPSPDFLowMemoryEnabled is set. This helps against possible memory exhaustion on very complex documents.
- FixedFixes an issue where the play button of an embedded video sometimes would not change to its actual state (playing) when pressed.
- FixedFixes an issue with draw mode restoration after showing a modal view controller while in draw mode when using pageCurl transition.
- ChangedFurther tweaks to the text extraction engine.
2.14.6 29 May 2013
- ChangedIt's now easier than ever to change the link border color: [PSPDFLinkAnnotationView setGlobalBorderColor:[UIColor greenColor]].
- ChangedThumbnail loading in the scrobble bar is now higher prioritized, loads faster.
- ChangedThe bounding box calculation for line annotation now correctly calculates the size for line endings. Line ending size has also been increased to better match Adobe Acrobat. (Thanks Tony Tomc!)
- ChangedThe PSPDFRenderStatusView is now a public class which can be used to customize the loading spinner displayed while rendering a PDF page.
- ChangedAnnotation resizing when zoomed in deeply has been greatly improved.
- ChangedFurther improves text parsing speed and word boundary detection.
- FixedFixes an issue where in some cases annotation resizing could fail when changed via the menubar directly before the resize action.
- FixedFixes a potential one-pixel rendering bug that could result in thumbnails for certain aspect ratio combinations having white lines at one end of the image.
- FixedFixes an issue that would sometimes mark certain PDF links to localhost as "webview" when they in fact only are regular links.
2.14.5 27 May 2013
- ChangedPSPDFWebViewController will now use UIActivityViewController on iOS6 by default.
- ChangedSupport new "loop" option for video annotations.
- ChangedUse images for the text alignment setting.
- ChangedImprove HSV color picker brightness style.
- ChangedImprove word detection for PDF types that already have spaces added and also improves word-break-behavior for ligatures.
- ChangedPSPDFKit will now attempt to render even unknown annotation as long as they define an appearance stream.
- ChangedImprove search and glyph extraction performance.
- FixedFixes an issue that could result in the HUD being in a hidden state after adding line/ellipse annotations from the annotation menu while the annotation toolbar is visible.
- FixedFixes a potential crash when the PSPDFDocument was deallocated early.
- FixedFixes a rare crash with a malformed PDF in the text extractor.
2.14.4 23 May 2013
- ChangedThe annotation resize control now shows guides for aspect ratio and square resizing.
- ChangedThe outline controller now shows the target page and properly highlights the outline button.
- ChangedImproves rendering of rotated stamps/images on rotated pages.
- ChangedAllow class overriding for PSPDFSearchResultCell and PSPDFSearchStatusCell.
- ChangedThe grid control now loads faster for huge documents on iOS5.
- AddedAdds some additional safeguards that will now warn if methods of UIViewController/PSPDFViewController are overridden without calling super.
- RemovedRemoves legacy PSPDFResolvePathNamesEnableLegacyBehavior.
- FixedFixes a small memory leak related to stamp annotations.
- FixedFixes an issue where the search controller could get into an "empty" state without showing the search bar.
2.14.3 21 May 2013
- ChangedAllow to override PSPDFOutlineCell via overrideClass:withClass:.
- FixedFixes a nasty issue with one-pixel white thumbnail borders on certain page aspect rations.
- FixedFixes an edge case where the menu could appear while the PSPDFViewController is being popped from the navigation stack.
- FixedFixes an issue with multiple calls to overrideClass:withClass:
- FixedFixes a parsing bug with remote GoToR actions that have a page destination set. The page destination is now evaluated correctly.
2.14.2 19 May 2013
- ChangedPSPDFViewController now unloads its views when not visible on a memory warning even on iOS6. This saves memory especially when multiple stacks of viewControllers are used in a navigationController.
- ChangedImproves the thumbnail quality.
- ChangedPolyline/Polygon how shows boundingBox resize knobs + knobs for each line end point. Inner points are green.
- ChangedWhen no fillColor is defined, color will be used instead of black. This is not defined in the PDF Reference, but more closely matches Apple's Preview.app and looks better.
- ChangedGlyph ligature breaks (e.g. ffi) now no longer are marked as WordBreaker.
- ChangedImproves default boundingBox calculation for new annotations on rotated PDF documents.
- ChangedPSPDFPageRenderer can now be subclassed/changed.
- ChangedImproves bounding box calculation for small FreeText annotations.
- ChangedStamps are now properly rendered on rotated pages.
- ChangedIf a stamp annotation is an appearance stream, PSPDFKit now tries to extract the image when using Copy/Paste.
- ChangedFont variant picker now shows font in title and filters name for better display, e.g. 'Helvetivca-Bold' becomes just 'Bold'.
- ChangedSeveral improvements to the PSPDFMultiDocumentController.
- ChangedThe thumbnail selection background now properly sizes itself based on the negative edgeInsets of the thumbnail cell (= looks better for non-portrait documents)
- ChangedDashed border now factors in lineWidth.
- ChangedImproves parsing of certain GoToR Actions.
- ChangedMade the color preview in UITableViewCell pixel perfect.
- ChangedImproves title detection to filter out white space, now correctly handles cases where the title is missing but ' ' is set instead.
- ChangedPSPDFKit is now compiled with -O3 (instead of -Os) and and uses link-time optimization to further improve performance.
- FixedFixes placement of the image and signature picker for rotated documents.
- FixedFixes a rare issue where a annotation could stuck in an invisible state because of a bug in the trackedView when selecting + scrolling happened at the same time.
- FixedFixes a regression where thumbnail images could become sized wrongly in their aspect ratio under certain conditions for non-uniformly sized documents.
- FixedFixes an offset by one error when resolving named destinations for a specific outline action destination type when there are > 500 outline entries.
- FixedFixes a potential crash related to the color picker.
- FixedFixes a crash related to parsing invalid outline elements.
2.14.1 15 May 2013
- AddedAdd write support for Polygon/Polyline annotations. (In the API, there's no UI for creating yet, but editing the points works)
- AddedAdd new PSPDFThumbnailBar to display scrollable thumbnails as an alternative to the scrobbleBar. The thumbnail bar is a preview and might change API/Featureset in the next releases. We have some big plans for this but couldn't wait to get it out of the door!
- ChangedThe PSPDFOutlineViewController now no longer shows a title on iPad if no modes are set. As a detail, its search bar now is named as "Search Outline" instead of just "Search".
- ChangedFreeText annotation is now correctly rotated on rotated PDF pages and also respects the annotation rotation setting (0, 90, 180, 270).
- FixedFix password view state positioning when the keyboard is up and the parent resizes itself.
- FixedFixes a potential regression/assertion when the PSPDFViewController was used without a navigationController.
- FixedFixes an regression where words with ligatures (like the ffi liagure glyph) would be split into two words with certain encodings.
- FixedFixes a race condition that could lead to a warning named '<NSRecursiveLock> deallocated while still in use'.
- FixedFixes a line annotation serialization issue where line endings would only be serialized if both are set.
- FixedFixes an issue for Copy/Paste where preexisting annotations could disappear after they have been copied and edited.
- FixedFixes an exception in the PDF parser if a PDF with a corrupt stream object is analyzed.
2.14.0 12 May 2013
- Added
Add support to Copy/Paste annotations. This creates a global UIPasteboard and will work for all apps that use the PSPDFKit framework with 2.14 and up. Alternatively a JSON object is created as well, so that other applications can add support to parse and support PSPDFKit-style-annotations as well.
- Changed
Paste also supports general pasteboard types like Text, URL or Image and will create the appropriate annotations (if this is allowed)
- Added
New global PSPDFStyleManager that saves various annotation properties and applies them to new annotations. For example, if you change the color of a highlight to red, all future annotations are created red until you change the color back. This already worked in the PSPDFAnnotationToolbar before but is now unified and applied globally (will also save properties like fillColor or fontName). You can disable this with nilling out the styleKeys property of PSPDFStyleManager.
- Changed
The PSPDFFreeTextAnnotationView is now always sharp, even when zoomed in. Because we have to work around the broken contentsScale property, the API has changed a bit. If you previously had textView overridden, you now need to subclass PSPDFFreeTextAnnotationView and change the textViewForEditing method to apply your custom textView.
- Changed
PSPDFStampViewController is now more flexible and will evaluate the new PSPDFStampAnnotationSuggestedSizeKey key for the default annotations. Images in default annotations are now supported as well and the checkmark and X annotation are now added with the correct aspect ratio size. With the new setDefaultStampAnnotations: a different set of default annotations can be set.
- Changed
Various smaller UX fixes inside the PSPDFNoteViewController.
- Changed
Improves memory usage with very large documents (1000 pages and up)
- Changed
Various smaller performance improvements in the cache.
- Changed
Tinting has been improved for various view controllers.
- Changed
The global "Text..." option has been renamed to "Note..." to make its function more clear.
- Changed
The global "Appearance..." has ben renamed to "Style..." because this is more concise and better fits the iPhone.
- Fixed
Fixes an issue where unless controls:YES was set the wrong default was used for web links in the internal browser.
- Fixed
Fixes an edge case where the PSPDFPasswordView would not adapt itself correctly if the keyboard was already up before the controller has been pushed.
- Fixed
Fixes an issue with opening external URLs via dialog where the preview of the URL could fail.
2.13.2 10 May 2013
- ChangedThe text selection delegate pdfViewController:didSelectText:withGlyphs:atRect:onPageView: is now also called for deselection.
- FixedFixes an issue where PSPDFProcessor would flatten AND add annotations if kPSPDFProcessorAnnotationAsDictionary was used.
- FixedFixes an issue with annotation drawing on iPhone on iOS5 where views could be reloaded after a memory warning and then the current drawing was missing.
- FixedFixes a small memory leak.
2.13.1 9 May 2013
- AddedAdds read support for Polygon/Polyline annotations, including support for all line ending types.
- ChangedThe tinted UIPopoverController subclasses now look much better and now very closely resemble the original including gradients and alpha value.
- ChangedPSPDFTextParser now fully complies to NSCoding, so search results can be persisted and cached. (Thanks to ForeFlight!)
- FixedFixes an unbalanced locking call when a page was requested that couldn't be rendered.
2.13.0 7 May 2013
PSPDFKit now requires QuickLook.framework, AudioToolbox.framework and sqlite3. Please update your framework dependencies accordingly.
- ChangedInitial support for 'Widget' annotations, supports action and rendering. (not yet writable)
- ChangedSupport for 'File' annotations. Will offer QuickLook support on touch.
- ChangedBasic read support for 'Sound' annotations.
- AddedAdd support for 'Rendition' and 'RichMediaExecute' actions that can control Screen/RichMedia annotations. (video/audio. JavaScript is not supported.)
- ChangedInk/Circle/Ellipse/Line now each save their last used color independently.
- ChangedFreeText and other annotation types inside the annotation toolbar now remember the last used color.
- AddedAdd missing translation for "%d Annotations" and added special case for "%d Annotation" (singular).
- AddedAdd missing "No Annotations" and "Loading..." state text for the PSPDFAnnotationTableViewController.
- ChangedFor text selection, the text knob is now prioritized over near annotations.
- API
cacheDirectory
in PSPDFDocument has been renamed todataDirectory
, so that won't be confused with the cache directory setting of PSPDFCache. - ChangedImproves text parser to properly detect word boundaries for documents that use invalid characters for word separation.
- ChangedFor pspdfkit:// based videos controls are now enabled by default if the option is not set.
- ChangedPSPDFProgressHUD now checks if the keyWindow is visible before restoring, fixes an edge case with multiple windows that have rootViewControllers attached.
- ChangedPSPDFSearchViewController now has a protocol to communicate with PSPDFViewController instead of owning that object directly.
- ChangedPSPDFViewController no longer will change the viewMode to document when the view will disappear.
- FixedFixes a rare crash when moving the text selection handle.
- FixedFixes an issue with writing the page annotation object on malformed PDFs which could lead to annotations being written but not being displayed.
- FixedFixes an issue with where sometimes fillColor was set on FreeText annotations even though there shouldn't be one set.
2.12.12 4 May 2013
- ChangedThe note view controller now will detect links.
- ChangedpdfViewController:shouldSelectAnnotation: is now also honored for long press actions.
- FixedFixes an issue where annotations sometimes were not parsed correctly with password protected PDFs.
- FixedFixes an issue related to checking the annotation cache receipt.
- FixedFixes an encoding issue with annotation links that contained spaces.
- FixedFixes a potential crash with an PSPDFActionURL with an nil URL.
2.12.11 30 Apr 2013
- AddedAdd new styles for HUD showing/hiding: PSPDFHUDViewAnimationSlide (in addition to the default fade)
- ChangedTapping in the previous/next range on first/last page will now toggle the HUD instead of force-showing it.
- FixedFixes a UI issue where the document label view could be slightly offset under certain conditions on iPhone after a rotation from portrait to landscape with hidden HUD.
- FixedFixes an issue with text extraction for certain PDF encodings.
2.12.10 30 Apr 2013
- ChangedImproves the Loading... state when there's already content in PSPDFTableAnnotationViewController.
- FixedFixes an issue with adding/removing bookmarks.
- FixedFixes an issue where fixedVerticalPositionForFitToWidthEnabledMode could lead to off-centered pages.
- FixedFixes an issue with search and certain PDF encodings that only happened on release builds.
- ChangedPSPDFKit Catalog: Fixes the map view example with a map:// annotation link.
2.12.8 28 Apr 2013
- ChangedHuge performance and memory improvements for text extraction/search.
- ChangedPerformance improvements at serializing annotations.
- ChangedMemory improvements, especially for large documents. (>5000 pages)
- APIuseApplicationAudioSession in PSPDFVideoAnnotationView has been removed, since the underlying property is deprecated by Apple. Subclass and change this on the MPMoviePlayerController directly if you rely on the old behavior, but note that this might be gone as of iOS7.
- AddedNew brightnessControllerCustomizationBlock in PSPDFBrightnessBarButtonItem.
- FixedFixes an issue that could lead to a crash on deallocating certain objects when OS_OBJECT_USE_OBJC was enabled. (Sourcecode, iSO6 only ARC builds)
- FixedFixes an issue where PSPDFKit was sometimes too slow freeing up memory with lots of background task running on low memory situations.
2.12.7 24 Apr 2013
- ChangedMajor performance improvements on annotation parsing.
- ChangedOutline and annotation parsing has been moved to a thread, the controller has now a loading state until parsing is complete.
- ChangedThe bookmark controller now supports the pageRange feature, hiding bookmarks that are not accessible.
- ChangedBookmark cells now allow copy.
- ChangedBookmark now also uses the PSPDFAction system to execute actions. (allows links, etc)
- ChangedImproves the text parser to better deal with malformed PDF font encodings.
- ChangedImproves accessibility localization in the thumbnail grid view cell. (thanks to Dropbox for providing this patch!)
- AddedAdds missing localization for text alignment property of free text annotations.
- FixedFixes a regression where search table view updates with rapid cancellation could lead to an exception.
2.12.6 22 Apr 2013
- ChangedFreeText annotations now have a text alignment property (compatible with both Preview.app and Adobe Acrobat)
- ChangedInk annotations now allow setting a fill color (this is an extension to the PDF spec but works fine because we emit an appearance stream)
- ChangedAllows subclassing of PSPDFStampViewController.
- ChangedExpose the drawView of the PSPDFSignatureController.
- ChangedFreeText annotations: Improve parsing of style strings.
- ChangedDon't do expensive (xpc) dictionary lookups on older devices. (iPad1)
- FixedFixes an issue where the outline controller could show menu items from the text selection view on iPad.
- FixedFixes a crash with a missing selector (didReceiveMemoryWarning) on PSPDFDrawView.
- FixedFixes a rare crash with parsing certain malformed PDF documents.
2.12.5 21 Apr 2013
- ChangedFreeText annotations now support fill color (Note: This is only partially implemented in Apple's Preview.app but works fine in Adobe Acrobat)
- ChangedFillColor settings now includes transparent (useful for shapes, free text, lines)
- ChangedImproves color parsing for FreeText annotations.
- AddedAdd basic support for Caret annotations.
- ChangedImproves rendering of rotated stamps.
2.12.4 19 Apr 2013
- ChangedPerformance improvements for page scrolling.
- ChangedImproves support for UIAppearance (e.g. navigation bar images)
- ChangedBookmark and annotation controller now fully respect the tintColor property.
- APIPSPDFDocument convenience constructors have been renamed from PDFDocumentWith... to simply documentWith....
- ChangedImproves compatibility with certain GoToR PDF actions that don't define a target page.
- FixedFixes an issue where pausing a video without controls could fail on iOS5.
- FixedFixes an issue where showing multiple videos with autostart enabled could lead to a crash on iOS5.
- FixedFixes a small memory leak when drawing stamp annotations.
2.12.3 19 Apr 2013
- ChangedThe setDidCreateDocumentProviderBlock and the didCreateDocumentProvider method will now be called after the documentProviders are fully created, fixing recursion issues if methods are called that require the documentProvider from within that block.
- ChangedSetting a different annotationPath in the PSPDFFileAnnotationProvider will remove all current annotations and try to load new annotations from that path.
- FixedFixes an issue where in PSPDFTextSearch didFinishSearch: was always called, even when the search was cancelled (instead of didCancelSearch:)
- FixedFixes an issue where changing the note icon could result in restoring the previously set note text.
- ChangedTitanium: Fixes a bug where under certain conditions
useParentNavigationBar
would not work on the first push of the view controller. - ChangedTitanium: Add setAllowedMenuActions (document setting)
2.12.2 18 Apr 2013
- ChangedPSPDFTabbedViewController learned
openDocumentActionInNewTab
, opens a document in a new tab if set to YES (new default) - ChangedpdfViewController:documentForRelativePath: now gets the original path from the PDF action for resolvement.
- ChangedRespect alpha for fillColor for FreeText annotations.
- ChangedDisable iOS "Speak Selection" menu entries since this does not work. A DTS for this feature is ongoing.
- FixedFixes rendering of textAlignment for FreeText annotations.
- FixedFixes an issue when pageRange is set with multiple documents and retain documents are completely blocked through it.
- FixedFixes PDF generation for different-sized PDFs.
- FixedFixes missing update when "Clear All" is used.
- FixedFixes a rare race condition on freeing document providers.
- FixedFixes a rare issue that could lead to an empty view on loading a document.
2.12.1 12 Apr 2013
- ChangedUses a sensible default for allowedMenuActions in PSPDFDocument.
- FixedFixes an issue with Appcelerator.
2.12.0 11 Apr 2013
- AddedNew class cluster: PSPDFAction. This unifies action between PSPDFOutlineElement, PSPDFBookmark and PSPDFLinkAnnotation. Now you can create outline elements and bookmark that have the same flexibility as links in PSPDFLinkAnnotation, supporting pspdfkit:// style URLs. The parsing code has been unified as well with the best of both worlds (e.g. the 'Launch' action is now supported universally). This improvement required deprecating certain methods - update your code if you used one of those classes directly)
- AddedAdd support for GoBack/GoForward named annotations.
- AddedAdd basic support for JavaScript actions that link to another page.
- ChangedPSPDFNoteAnnotationController now honors the allowEditing state also for the textView and blocks editing if set to NO.
- AddedNew helper to better override classes: overrideClass:withClass: in both PSPDFViewController and PSPDFDocument.
- ChangedAnnotation types in the annotation table view are now localized.
- AddedNew delegates in PSPDFViewControllerDelegate to get notified on page dragging and zooming.
- ChangedPSPDFViewState no longer saves the HUD status (this should be handled separately and was confusing for the tabbed controller)
- RemovedRemoved legacy coder support for data models that were serialized before 2.7.0.
- RemovedRemoves deprecated API support in PSPDFTextSearch and PSPDFAnnotationParser.
- FixedFixes an issue in the label parser where page label prefixes were defined without style.
- FixedFixes an issue where hiding the progress HUD could make the wrong window keyWindow (if at that time there is more than one visible), thus leading to keyboard problems.
- FixedFixes an issue in the document parser that could lead to a recursion for cyclic XRef references for certain PDF documents.
- FixedFixes a situation where touch handling could become sluggish when a crazy amount of link annotation is on a page (>500!)
- FixedFixes a annotation text encoding issue that could result in breaking serialization of certain character combinations like 小森.
- FixedFixes a UI issue where invoking the draw action from the menu while at the same time having the annotation toolbar visible could lead to a hidden toolbar if that one is transparent.
- FixedFixes an issue with the text extraction engine for certain PDF files.
- ChangedAppcelerator: Allow setting size properties like thumbnailSize: [300,300]
- ChangedAppcelerator: Add support to set outline controller filter options (outlineControllerFilterOptions = ["Outline"])
2.11.2 4 Apr 2013
- ChangedDrawing annotations is now always sharp, even when the document is zoomed in. (This required changes to the public API of PSPDFDrawView, check your code if you use that class directly)
- ChangedAnnotation flattening now shows a circular progress indicator instead of the default spinning indicator.
- ChangedPSPDFProcessor now has a new progressBlock property that calls back on each processed page.
- AddedNew delegates: pdfViewControllerWillDismiss: and pdfViewControllerDidDismiss: to detect controller dismissal.
- AddedAdd allowedMenuActions property to PSPDFDocument to allow easy disabling of Wikipedia, Search, Define text selection menu entries.
- ChangedInternal locking of PSPDFDocument and PSPDFRenderQueue has been improved and is now faster in many situations.
- ChangedGetting all annotations of a document is now faster in some situations.
- ChangedTitanium: setEditableAnnotations: is now exposed (PSPDFKit Basic upwards)
- FixedFixes an issue with line annotation selection where sometimes a selection knob was not visible.
2.11.1 3 Apr 2013
- AddedAdd switch to globally enable/disable bookmarks (
bookmarksEnabled
in PSPDFDocument) - Changed
annotationsEnabled
in PSPDFDocument now also enabled/disables the annotation menus. - ChangedThe thumbnail view now listens for annotation changes/bookmark changes and updates accordingly.
- FixedFixes an issue where the toolbar in the new PSPDFContainerViewController was sometimes not displayed initially.
- FixedFixes an issue where the delegate didLoadPageView: was called multiple times with the pageCurl transition.
2.11.0 1 Apr 2013
- ChangedEnables creation of Rectangle, Ellipse and Line annotations.
- ChangedLine thickness can now be chosen from the drawing toolbar.
- ChangedImprovements to line annotation drawing.
- ChangedLine annotation endings can now be customized (Square, Circle, Diamond, Arrow, ...)
- ChangedDrawing is now instantly smoothened.
- AddedNew annotation list controller (PSPDFAnnotationListViewController) to quickly see all annotations, zoom onto them or delete them.
- ChangedRenamed Table of Contents to Outline.
- ChangedOutlineBarButton now can show both the new annotation list and the bookmarks. Both are enabled by default.
- ChangedThe outline is now searchable.
- ChangedSeveral menu items have been reorganized to both fit better on iPad and iPhone.
- ChangedThe long-press to show the bookmark view controller is now disabled by default.
- ChangedThe PSPDFKit folder has been restructured.
- ChangedThe
pageRange
feature if PSPDFDocument now works across multiple data sources. (This allows more flexibility for PSPDFProcessor and faster document creation) - ChangedIt's now easier to disable the PDF page label feature with the new property
pageLabelsEnabled
in PSPDFDocument. (enabled by default, disable if you see 'weird' page labels) - APIPSPDFAnnotationView has been deprecated and renamed into PSPDFAnnotationViewProtocol.
- FixedFixes an issue where small text on free text annotations was not rendered at all when the boundingBox was too small for it.
- FixedFixes a potential crash on iOS5.
2.10.2 27 Mar 2013
- ChangedPSPDFCache is even smarter and faster when using PDF documents that are very slow to render.
- ChangedPSPDFCache no longer deadlocks if you remove the delegate while the delegate is being called.
- ChangedIf a new PSPDFViewController is created based on a PDF action that links to a new document modally, all important settings are copied over to the new controller.
- ChangedPSPDFKit will no longer create empty highlight annotations when using the annotation toolbar and tapping on a point without text.
- ChangedNo longer retains the view controller while the document background cache is being build (less memory pressure)
- AddedAdds some more safeguards against abuse of certain methods.
- ChangedThe render queue now retains the document while rendering. This fixes cases where image requests never returned because the document disappeared before.
- FixedFixes a regression from 2.10 where through an event optimization sometimes the text of a note annotation was not properly saved. PSPDFDocument now sends out a PSPDFDocumentWillSaveNotification before a save will be made to give all open editors a chance to persist it's last state in time.
- FixedFixes an issue where the contentRect was calculated wrong for uncommon view embedding use cases.
- FixedFixes an issue where the thumbnail filter values were hardcoded.
- FixedFixes a potential timing-related crash on iOS5 when the search controller was shown too fast.
- ChangedTitanium: Add thumbnailFilterOptions property.
2.10.1 26 Mar 2013
- ChangedShape annotations border and fill color can now be customized.
- ChangedClearing the memory cache will now also clear any open document references.
- AddedAdd white color to common color picker colors (except for highlights, replacing purple)
- ChangedPSPDFRenderQueue now has a cancelAllJobs to clear any running requests.
- ChangedThe render queue now better prioritizes between cache requests and user requests (zooms) to allow even faster rendering.
- ChangedFreeText annotations can now no longer be created outside boundaries.
- AddedAdd support for text alignment for FreeText annotations. (It seems that Adobe Acrobat has a bug here and ignores this property - other Applications are compliant to the PDF spec and do display this, e.g. Apple's Preview.app)
- ChangedEdit mode now directly hides the HUDView.
- APIAPI change: The color picker now has a context: flag to allow state storage. Update your delegates if you use this class directly.
- FixedFixes some minor issues with the new cache.
- FixedFixes a UI weirdness where the scrollview had a slow scroll-back animation when text was edited at the very top.
- ChangedTitanium: Add new linkAnnotationHighlightColor property.
2.10.0 22 Mar 2013
PSPDFKit 2.10 is another major milestone. The cache has been rewritten from the ground up to be both faster and more reliable. Annotations are now cached, they are no longer an "afterthought" and will show up in the thumbnails and even the scrobble bar. The disk cache now limits itself to 500MB (this is customizable) and cleans up the least recently used files. The memory cache is now also smarter and better limits itself to a fixed number of pixels (~50MB of modern devices in the default setting). Loading images from the cache is now more logical and highly customizable with PSPDFCacheOptions. The two render code paths have been unified, PSPDFRenderQueue now does all rendering and can now render multiple requests at the same time and also prioritizes between low priority cache requests and high priority user zoom requests. In this process some very old code has been completely reworked (PSPDFGlobalLock) and is now much more solid. Several methods have been renamed, upgrading will require a little bit of effort to adapt to the new method names. It's definitely worth it. If you find any regressions or missing features for your particular use case, contact me at [email protected].
- ChangedCompletely rewritten cache that now renders all screen sizes and shows annotations.
- ChangedPSPDFThumbnailViewController now has a new filter to only show annotated/bookmarked pages. See filterOptions for details. http://twitter.com/PSPDFKit/status/314333301664006144/photo/1
- ChangedPSPDFViewController has a new setting:
showAnnotationMenuAfterCreation
to automatically show the menu after an annotation has been created. (disabled by default) - ChangedText loupe no longer fades zoomed content. (looks better for text scope loupe)
- ChangedPrevent too fast tableView updates (and thus flickering) in PSPDFSearchViewController.
- ChangedIncreases loupe magnification on iPhone to 1.6 and make kPSPDFLoupeDefaultMagnification customizable at runtime.
- ChangedA UISplitViewController in the hierarchy is automatically detected and the pan gesture will be blocked while the PSPDFViewController is in drawing mode (else this would interfere with drawing).
- ChangedThe note annotation controller now no longer generates change events per typed key, but will wait for a viewWillDisappear/app background event to sync the changed text back into the annotation object.
- ChangedExpose availableLineWidths and availableFontSizes in PSPDFPageView to customize menu options.
- ChangedOn iPhone, scrolling down the search results will now automatically hide the keyboard.
- ChangedImproves performance for overlay annotation rendering.
- ChangedImproves annotation selection, especially drawings are now pretty much pixel perfect.
- ChangedDisables the long press gesture (and the new annotation menu) when a toolbar annotation mode is active.
- ChangedUse PSPDFAnnotationBorderStyleNone instead of PSPDFAnnotationBorderStyleSolid when the border style is undefined (to match Adobe Acrobat)
- ChangedThe annotation selection border is now independent of the zoomScale.
- ChangedFreeText annotations no longer "jitter" when resizing.
- ChangedThe stamp controller now dismisses the keyboard when changing switches or pressing return on the keyboard.
- ChangedAllow note annotations outside the page area (to match Adobe Acrobat behavior).
- ChangedAllow overrideClassNames for PSPDFDocument when it's created from within PSPDFViewController (e.g. when an external annotation link target is touched)
- AddedAdd workaround against rdar://13446855 (UIMenuController doesn't properly reset state for multi-page menu)
- ChangedThe selectionBackgroundColor of PSPDFSearchHighlightView can be updated after it's displayed now.
- ChangedPSPDFTabBarView of PSPDFTabbedViewController can now be overridden with the overrideClassNames dictionary.
- APIAPI change: The renderBackgroundColor, renderInvertEnabled, renderContentOpacity methods have been removed from PSPDFViewController. Please instead update the dictionary in PSPDFDocument to set these effects. (e.g. document.renderOptions = @{kPSPDFInvertRendering : @YES}).
- APIAPI change: PSPDFViewController's renderAnnotationTypes has been deprecated and will update the renderOptions in PSPDFDocument instead.
- APIAPI change: renderPage: and renderImageForPage: will now automatically fetch annotations if the annotations array is nil. To render a page without annotations, supply an empty array as the annotations array (as soon as an array is set, auto-fetching will be disabled).
- APIAPI change: PSPDFCacheStrategy is now PSPDFDiskCacheStrategy, the enum options have been updated as well.
- FixedFixes some minor problems and deprecation warnings when compiling PSPDFKit with iOS6 as minimum deployment target and autoretained GCD objects.
- FixedFixes an issue where some annotations got set to overlay and were not properly restored.
- FixedFixes an issue with centering after returning from thumbnails in continuous scrolling mode.
- FixedFixes an issue where a thumbnail could be animated that was not visible.
- FixedFixes an UIAccessibility mistake where Undo was labeled Redo in the drawing toolbar.
- FixedFixes encoding issues with localization files.
- FixedFixes some potential crashes when parsing certain PDF documents.
- FixedFixes several non-critical log warnings when opening continuous scrolling with an invalid document.
- FixedFixes various potential crashes around screen annotations and stream extraction.
2.9.0 9 Mar 2013
- ChangedThe loupe has been improved, it's now fast in every zoom level and now 100% matches UIKit's look. Developers can now easily update the magnification level.
- ChangedGreatly improved UIAccessibility support. Reading mode is now line-based and reading column-based layouts works much better.
- AddedNew feature: PSPDFScrobbleBar can control tap behavior outside the page area with allowTapsOutsidePageArea.
- ChangedImproved PDF rendering speed for pageCurl mode.
- ChangedRichMediaAnnotations (directly embedded video) now support autoplay set directly via Adobe Acrobat (Both page visibility modes will enable autoplay)
- RemovedRemoves deprecated methods from PSPDFViewController and PSPDFPageView.
- ChangedNSNull entries are now properly filtered out from the PDF metadata.
- ChangedGreatly improves outline parsing speed. In some cases parsing of extremely complex outlines went down from 120 seconds to 2 seconds (in a ~5000 pages document)
- AddedAdd progress while data is transferring when using the "Open In…" feature.
- ChangedPSPDFAnnotation model version is now at 1, boundingBox is now serialized as string and no longer as NSValue (fixes JSON serialization)
- ChangedImproves animation when adding/removing bookmarks while the popover controller is resizing at the same time.
- AddedAdd support for long-press toolbar button detection when useBorderedToolbarStyle is enabled.
- ChangeduseBorderedToolbarStyle is now also evaluated in PSPDFAnnotationToolbar.
- ChangedPSPDFOpenInBarButtonItem now has the option to directly add the 'print' action into the list of applications. Disabled by default. See 'showPrintAction'.
- ChangedUIMenuController is now smarter and no longer places the menu above the toolbar when there's space underneath as well.
- Changed'allowTwoFingerScrollPanDuringLock' in PSPDFAnnotationToolbar now defaults to NO, since this delays drawing.
- APIAPI change: Refactored the thumbnail view out of PSPDFViewController into it's own controller: PSPDFThumbnailViewController. If your code relied on modifying the collection view delegates within PSPDFViewController, you must update your code to override PSPDFThumbnailViewController instead. PSPDFViewController' gridView has been deprecated. Use thumbnailController.collectionView instead.
- APIAPI change: Removed iPhoneThumbnailSizeReductionFactor. item size is now set conditionally during initialization. The best way to set this is in PSPDFCache.sharedCache.thumbnailSize.
- APIAPI change: The delegate didRenderPage:didRenderPage:inContext:withSize:clippedToRect:withAnnotations:options: has been moved over to PSPDFDocumentDelegate.
- ChangedDrawing Ink annotations now closely matches the line width when zoomed in.
- FixedFixes a possible scrolling "freezing" issue when pageCurl is enabled.
- FixedFixes a potential crash with extracting the page title of the PDF.
- FixedFixes a potential crash when the Open In... action was invoked multiple times too quickly. (Thanks to Evernote for this fix)
- FixedFixes a bug that could change the cursor position in the note annotation controller.
- FixedFixes various potential crashes when parsing invalid PDF data.
- FixedFixes an issue where thumbnails could not properly be selected with VoiceOver enabled.
- FixedFixes an issue with image selection on rotated documents.
- FixedFixes an issue with annotationViewClassForAnnotation: and the call ordering of defaultAnnotationViewClassForAnnotation.
2.8.7 22 Feb 2013
- ChangedImproved scrollview centering. Now enables pan while bounce-zoomed out.
- ChangedPSPDFMultiDocumentController now can advance to next/prev document with tapping at the last page of the current one.
- ChangedSlightly increases the smart zoom border on iPad.
- AddedNew helper in PSPDFNoteAnnotationController to allow easy customization: setTextViewCustomizationBlock.
- AddedNew property in PSPDFViewController: scrollOnTapPageEndAnimationEnabled.
- AddedNew property in PSPDFViewController: shouldRestoreNavigationBarStyle (via Dropbox request)
- FixedFixes a rare scroll view locking issues that was triggered by an UIKit bug.
- FixedFixes an off-by-one error in PSPDFOutlineParser's resolveDestinationNameForOutlineElement.
2.8.6 20 Feb 2013
- ChangedPSPDFShapeAnnotation now creates appearance stream data. This is needed to work around a bug in Adobe Acrobat for iOS. This behavior can be disabled with setting kPSPDFGenerateAPForShape to @NO in renderingOptions of PSPDFDocument. As a side effect, this also improves display of transparent shapes with Apple's Preview.app
- ChangedImprovements to smart zoom - text block choose method is now smarter.
- ChangedviewLock no longer locks the HUD (just the view state)
- ChangedImproves animation for the Table of Contents controller cells.
- ChangedSetting the pageRange now automatically invalidates the current document.
- ChangedPSPDFTabbedViewController has become more modular with the new superclass PSPDFMultiDocumentViewController.
- FixedFixes a rare crash when using the drawing tool very quickly with only one resulting draw point.
- FixedFixes a rendering issue with images added from the camera in pageCurl mode.
- FixedFixes an issue where the scrobble bar could be displayed even though it's disabled.
- FixedFixes a regression in the appearance stream generator.
- FixedFixes a regression with updating the bookmark bar button status when the toolbar is transparent.
- ChangedTitanium: Fixes toolbar detection for annotation toolbar.
2.8.5 16 Feb 2013
- FixedFixes a text glyph frame calculation bug when a font contains both a unicode map and an encoding array.
- ChangedImproves glyph shadow detection to be more accurate, less false positives.
2.8.4 16 Feb 2013
- ChangedImproves text block detection speed.
- FixedFixes certain crashes when parsing malformed PDFs.
- FixedFixes an issue where outline elements linked to the same named destination would not all be correctly resolved.
2.8.3 15 Feb 2013
- ChangedAllow UIAppearance for PSPDFRoundedLabel.
- AddedAdded a mailComposeViewControllerCustomizationBlock in PSPDFEmailBarButtonItem to easily change the default email body text.
- AddedNew property: thumbnailMargin in PSPDFViewController.
- ChangedThumbnail view now dynamically updates the sectionInset if the HUD is hidden during thumbnail view.
- APIAPI change: Renamed siteLabel to pageLabel in PSPDFThumbnailGridViewCell.
- ChangedReplaces PSPDFAddLocalizationFileForLocale with the more flexible PSPDFSetLocalizationBlock.
- AddedAdd double-tap to fullscreen for YouTube views.
- AddedAdd fallback to use associated objects for annotation views that don't comply to PSPDFAnnotationView. (Fixes duplicate view adding)
- ChangedDisables the yellow block highlighting on a double-tap zoom.
- ChangedThe Save To Camera Roll is now faster and no longer blocks the main thread during JPG compression.
- ChangedCertain smaller tweaks/improvements for the HUD.
- FixedFixes a regression where on a long press the annotation menu would reappear then disappear for highlight annotations.
- FixedFixes a regression that broke re-positioning of search highlights on a frame change.
- FixedFixes an issue where the pdfController could be dismissed when using the "send via email" feature.
- FixedFixes a rare condition in which the progressView (PSPDFProgressHUD) could get stuck.
- FixedFixes an issue where videos that were set to autostart=NO could still autostart on iOS5.
- FixedFixes an issue where CMYK encoded JPGs would be extracted inverted upon saving.
- FixedFixes an issue where ink annotations could be added in the wrong size when the device directly rotates after finishing a drawing
- FixedFixes a rounding error that made certain pages scroll-able in pageCurl mode.
- FixedFixes a page blurriness issue because of rounding errors when zooming out/zooming in a lot.
- RemovedRemoved deprecated options from PSPDFEmailBarButtonItem.
2.8.2 10 Feb 2013
- ChangedHUD visibility/transparency can now be set more fine-grained with the new properties transparentHUD, shouldHideNavigationBarWithHUD, shouldHideStatusBarWithHUD and statusBarStyle. Check your code and let me know if this breaks something. Setting statusBarStyleSetting will update all those properties.
- ChangedResize view now snaps to aspect ratio on resizing. Middle knobs are hidden if space is low.
- ChangedDocument link annotations now resolve symbolic links.
- ChangedAfter editing annotation properties (e.g. color) the menu will re-appear.
- ChangedAnnotation menu is re-displayed after a rotation.
- ChangedFinishing a drawing no longer disappears/reappears because of the page rendering process.
- ChangedSearch view controller cells now animate better and have better sized margins.
- ChangedPSPDFBarButtonItem's pdfController property is now weak. Update your code to use notifications if you previously relied on KVO.
- ChangedNavigationBar/ScrobbleBar are now rasterized before a fade out/fade in, which improves the fade animation (no more bleed-through)
- ChangedAnnotation Toolbar now in all cases correctly adapts to statusbar frame size changes (calling, personal hotspot, ...)
- ChangedImproves compatibility with writing PDF trailer data with certain corrupt PDF files.
- AddedAdds new helper: PSPDFAddLocalizationFileForLocale, parses a localization text file.
- FixedFixes an UX issue where the annotation tool could be deselected when using the two-finger scroll while the annotation toolbar is active and a tool (e.g. highlight is selected).
- FixedFixes a touch inconsistency where a annotation deselection could be done without marking the touch as processed.
- FixedFixes several entries in the localization table.
- FixedFixes a regression introduced in 2.8.1, a potential crash when using the highlight annotation tool outside of a glyph.
- FixedFixes a potential crash in the search view controller due to invalid state handling.
- FixedFixes an issue where part of the drawing state was lost when opening a modal controller while in drawing mode. (e.g. iPhone/color picker)
- ChangedVarious typos fixed, and some very minor API changes due to spelling corrections (thanks to Tony Tomc).
2.8.1 6 Feb 2013
- ChangedThe highlight tool now matches full words. A single touch will highlight the complete word instead of just one character.
- ChangedA new syntax for link annotations to control UI. For now pspdfkit://control:outline is supported to open the TOC directly from the document.
- ChangedThe signature controller now uses "Signatures" as title instead of "Choose Signature" on iPhone, since later was too long and got cut off.
- FixedFixes an issue where setFileURL: could generate a new UID if one was already set.
- FixedFixes an UI issue when resizing an annotation purely horizontally would result in no redraw.
- FixedFixes an UI issue where the thumbnail indicator could move behind the thumbnail image in some cases.
- FixedFixes an UI issue in PSPDFFixNavigationBarForNavigationControllerAnimated() that could potentially shift down the navigationBar for unusual view controller setups.
- FixedFixes an UX issue where a second tap was sometimes required after using certain modes in the annotation toolbar.
- FixedFixes an issue where an external PSPDFBarButtonItem would not update on iPhone.
- FixedFixes an issue where videos played in a popover continued to play even after the popover was dismissed.
- FixedFixes an issue where thumbnailSize could not be changed after the PSPDFViewController has been displayed.
- FixedFixes an issue with incorrect view controller locking after switching from highlight to draw mode in the annotation toolbar.
2.8.0 5 Feb 2013
- ChangedImage annotations. PSPDFKit can now add images from the camera and the photo library and embed them as stamp annotations.
- ChangedSearch / Text extraction is now more than twice as fast and reports the current page.
- ChangedThe whole AP stream generation system has been improved and performance optimized to allow bigger streams like images.
- ChangedPSPDFKit will now require Xcode 4.6/SDK 6.1 to compile. (4.5 should still work fine, but we follow Apple's best practice with always compiling with the latest SDK available.)
- APIAPI change: editableAnnotationTypes is now an ordered set. Using a regular set to change this property will work for the time being, but please update your code. The order now will change the ordering of the buttons in the annotation toolbar and the new annotation menu.
- AddedAdd experimental phone/link detection: detectLinkTypes:forPagesInRange: in PSPDFDocument. This will create annotations for phone numbers and links found in the document, if they are not linked already. This is the same that Preview/Mac and Adobe Acrobat do - they allow to click URLs even if they don't have any link set on them.
- ChangedSearch now displays the current processed page.
- ChangedFurther tweaks to PSPDFHighlightAnnotation highlightedString.
- AddedAdd setting to enable/disable the "Customer Signature" feature. (customerSignatureFeatureEnabled in PSPDFSignatureStore)
- ChangedThe signature controller has now landscape as preferred rotation under iOS6. (but still supports portrait)
- ChangedControllers presented via the PSPDFViewController helper now use a custom PSPDFNavigationController that queries the iOS6 rotation methods of the topmost view controller. This makes it easier to customize rotation for PSPDF* controllers without hacks.
- ChangedPerformance improvement: deleted annotations now are no longer serialized if the external annotation format is used.
- ChangedThe "hide small links" feature now works better on iPhone.
- ChangedFreeText annotations now parse even more font definition styles.
- ChangedImprovements to the heuristic in PSPDFHighlightAnnotation highlightedString.
- ChangedAnnotations added via a modal view (e.g. Signatures on iPhone) are now also selected. (annotation selection is preserved during reloadData)
- ChangedSmart zoom now uses less border when zooming into a text block, which looks better. (other columns usually are no longer visible)
- ChangedTaps that dismiss an annotation editing popover no longer modify the HUD state.
- ChangedThe scrobble bar thumbnail size has been tweaked to be a little bigger. This now can also be fine-tuned, see PSPDFScrobbleBar.h.
- ChangedThe font selector now selects the currently chosen font.
- ChangedVarious performance improvements. (esp. search and the color picker)
- ChangedThumbnails are now sharper and always aligned to pixel grid (fixes a bug in UICollectionViewFlowLayout)
- ChangedText selection knobs are now pixel aligned as well.
- ChangedWhen thumbnails are loaded from scratch, they are loaded in order. (PSPDFCache's numberOfConcurrentCacheOperations has been set to 1)
- FixedFixes an UX issue where PSPDFKit could end up displaying something like '1 (1 of 2)' for page labels.
- FixedFixes an UX issue where a tap wasn't set to being processed when the delegate delegateDidTapOnAnnotation:annotationPoint:... was being used.
- FixedFixes an UIKit bug that in some cases froze the UIScrollView when we zoomed out programmatically (e.g. a double tap after already zoomed in)
- FixedFixes a potential crash when saving NSData-based PDFs with a corrupt XRef table.
- FixedFixes a rendering issue where some landscape documents were incorrectly scaled when using renderImageForPage:withSize in PSPDFDocument.
- FixedFixes a regression that stopped the [popover:YES] option form working properly. (A formsheet was presented instead)
- FixedFixes a regression in the 2.7.x branch that caused movies loaded in the PSPDFWebViewController to fail with the error "Plugin handled load".
- FixedFixes an issue when using Storyboard and setting the viewState to thumbnails initially.
- FixedFixes an issue where the signature selector controller dismissed the whole pdfController under certain conditions.
- FixedFixes an issue with annotations moving to other pages on a document with multiple document providers.
- FixedFixes an issue where the note view controller would hide the close button on iPhone if edit was set to NO.
- FixedFixes an issue with frame displacement under certain conditions on embedded UINavigationControllers.
- FixedFixes an issue with zooming when in text edit mode and page centering.
- Fixed
- FixedFixes an encoding issue with annotation content and certain Chinese characters.
2.7.5 25 Jan 2013
- ChangedSignatures are now securely saved in the Keychain and a list of signatures is presented. To disable this feature, set PSPDFSignatureStore.sharedSignatureStore.signatureSavingEnabled = NO in your appDelegate.
- ChangedWhile annotation mode is active (highlight, drawing, etc) scrolling is now enabled with using two fingers. The old behavior can be restored with setting allowTwoFingerScrollPanDuringLock in PSPDFAnnotationToolbar to NO.
- ChangedPSPDFKit now requires Security.framework.
- FixedFixes an issue that could cause an initial "white page" when the controller is first loaded, even when there's cache data available.
- FixedFixes an UX issue where, with creating a new note, the menu could be displayed on iPhone, stealing the keyboard from the newly created note controller.
- FixedFixes a regression of 2.7.4 that broke some remote videos/audios.
- FixedFixes a potential issue when reordering bookmarks.
- FixedFixes an issue where the last letter was cut off when using PSPDFHighlightAnnotation highlightedString.
2.7.4 24 Jan 2013
- ChangedLine annotations are now writeable.
- ChangedA second tap now enables the edit mode in a free text annotation.
- ChangedAnnotation selection is now properly pixel aligned, resulting in sharper border, drag points and content - especially on the iPad Mini.
- ChangedThe drawing toolbar no longer forces the HUD to show before displaying itself.
- ChangedIf enableKeyboardAvoidance is set to NO, the firstResponder won't be tampered with anymore.
- AddedNew property: allowToolbarTitleChange on PSPDFViewController, controls it title is set or not.
- ChangedPSPDFOutlineParser now lazily evaluates named destinations if an outline has more than a specified threshold. (This is currently set to 500). This greatly improves loading times for documents with complex outlines.
- ChangedAllow audio file types for RichMedia/Screen annotations.
- AddedAdd more audio file formats to the support list. (aiff, cif, ...)
- ChangedEnsure that addAnnotation:animated: in PSPDFPageView sets the page and documentProvider.
- ChangedBetter workaround for MPMoviePlayer's problem with multiple audio/video views on the same window. (A play button is now displayed in those cases)
- ChangedNormalizes extracted text, allow searching within text that contains non-normalized ligatures.
- ChangedOpacity menu now draws a checked white background instead of using the menu background (now it's more like Photoshop, looks better)
- AddedAdd spanish translation (thanks to Tony Tomc!)
- ChangedThe maximum software dimming value is less dark.
- FixedFixes a problem in PSPDFProcessor with NSData-based documents and adding annotation trailers.
- FixedFixes a bug where the scrollview would update it's position when a UIAlertView with a TextField was visible.
- FixedFixes a bug in the outline parser that resulted in the loop for (invalid) cyclid PDF referenced objects.
- FixedFixes an issue where parsing certain PDF dates failed.
- FixedFixes an issue with view state restoration and continuous scrolling.
- FixedFixes a rare issue where the bookmark thumbnail view indicator could be behind the thumbnail image.
- FixedFixes an issue with inline editing and the split screen keyboard.
2.7.3 20 Jan 2013
- ChangedFreeText annotations are now editable inline.
- ChangedImproves stamp and signature rect placement (no longer places the rect outside of page boundaries)
- ChangedDrawing overlay is now transparent. You can restore this behavior with subclassing PSPDFDrawView and setting the backgroundColor to [UIColor colorWithWhite:1.0 alpha:0.5].
- ChangedWhen changing the thickness of a drawing, the selection border will now automatically adapt itself to fit the new bounds.
- ChangedRenamed "Colors..." menu entry to "Color...".
- FixedFixes a potential issue with annotation rotation handling.
- FixedFixes a potential crash on stamp creation on iPhone.
- FixedFixes an issue where the drawing toolbar was added behind the HUD toolbar.
- FixedFixes an issue where PSPDFKit could end up displaying something like 'Page 2-3 of 2'.
- FixedFixes an issue where certain pages could be skipped with scroll to prev/nextPage in double page mode (via touching the borders).
- FixedFixes some typos and spelling mistakes.
2.7.2 18 Jan 2013
- ChangedPSPDFScrollView will now move up if a keyboard is displayed.
- ChangedFree Text annotation now have sensible defaults when created in code. (Helvetica, font-size 20)
- ChangedSeveral tweaks for PSPDFProcessor PDF from web/office files generation.
- FixedFixes a potential crash in the iPhone popover controller.
- FixedFixes in the annotation selection handling logic.
- FixedFixes a minor UX issue where Open In... could result in a second tap needed to activate.
2.7.1 17 Jan 2013
- ChangedNote annotation flattening.
- ChangedText selection is now always prioritized over image selection.
- ChangedFor the continuous scrolling page transition, all visible pages are now animated when showing/hiding the thumbnail view.
- ChangedImprove PDF serialization of custom stamp annotations.
- FixedFixes an animation issue with continuous scrolling.
- FixedFixes an UI issue where under certain conditions a second tap was required on a toolbar button to hide the active popover.
- FixedFixes an UI issue with creating note annotations.
- FixedFixes an issue where annotation resizing was disabled when textSelectionEnabled was set to NO.
- FixedFixes a rounding bug in continuous scrolling that could lead to a x AND y scrolling on zoomScale 1.0
- FixedFixes several issues with certain RichMedia embedded video annotations.
2.7.0 16 Jan 2013
- ChangedPSPDFKit model classes now have a common base model class 'PSPDFModel' - enables serialization/deserialization via JSON easily using externalRepresentationInFormat:. To get the JSON dictionary, use annotation externalRepresentationInFormat:PSPDFModelJSONFormat. (The old annotation serialization format is still supported for the time being)
- ChangedPSPDFKit now requires AssetsLibrary.framework - if you're using PSPDFKit.xcproj or the source distribution, this is already been taken cared of. If you added the frameworks manually and get a linker error, make sure you are linking sAssetsLibrary.framework.
- ChangedPSPDFMenuItem learned to show images in UIMenuController - this beautifies many of the annotation menus, images are now used for annotation types/colors where appropriate.
- ChangedPSPDFKit has learned to write appearance streams. Currently they are emitted for Stamp and Ink annotations. This will help to further improve annotation compatibility with some apps that behave less standard compliant (like Adobe Acrobat/iOS, last tested version is 10.4.4, which doesn't show Ink annotations if they do not have an attached AP stream, even if this is invalid behavior according to the PDF spec. (GoodReader/Preview.app/Adobe Reader on the Mac don't require an AP stream and work in compliance to the spec.))
- ChangedAnnotation menus have been cleaned up a little, Opacity... has been moved into a submenu of Color for highlight annotations.
- ChangedPSPDFProcessor has learned to write annotations as dictionary, not only flatten. This will be used e.g. for Open In... when the original PDF is not writeable and thus annotations are saved in an external file.
- ChangedOpen In... will now create a new file if there are annotations and the source PDF is not writeable itself.
- ChangedStamp annotations now have limited support for appearance streams.
- ChangedStamp annotations can now be added via the new PSPDFStampViewController.
- AddedAdd experimental pageRange feature in PSPDFDocument to allow showing of a subset of the pages.
- ChangedHighlight annotation hit testing is now more accurate, checking the specific rects of the highlights, not the outer boundingBox.
- ChangedAnnotation rendering now checks if the annotation will be visible at all and only then renders the annotation. This speeds up zooming on complex documents with many annotations.
- ChangedImproves search by ignoring certain whitespace characters like no-break-spaces.
- ChangedEnables creation of password protected PDFs with PSPDFProcessor up to AES-128 (and mix other CGPDFContext properties like kCGPDFContextAllowsPrinting or kCGPDFContextAllowsCopying)
- ChangedImproves word detection with splitting words between a line of thought and adding special logic for non-default whitespace characters. to use the old behavior.
- ChangedImproves french translation.
- ChangedzIndex of annotation images is now below zIndex of links, so that links are always displayed before annotation images.
- ChangedEmail sending using PSPDFEmailSendMergedFilesIfNeeded will not perform a merge if there is only one source document.
- ChangedLinks are now handled even if they are overlapped or hidden underneath other views.
- ChangedHides the page label and the scrobble bar if the document is password protected and not yet unlocked.
- ChangedPSPDFAnnotation now shows if an appearanceStream is attached.
- ChangedPSPDFAnnotation now as a userInfo dictionary to add any custom data.
- ChangedAnnotations now have a creationDate.
- ChangedWhen note annotations are tapped, don't fade-animate the former annotation out.
- ChangedPage label will not be displayed if the page label is simply the real page number. (Prevent titles like 2 (2 of 10))
- ChangedThe internal web browser will now display an error within the HTML, much like Safari on iOS: https://twitter.com/steipete/status/287272056524001280
- ChangedSelected images now have a (default iOS light blue) selection state, matching the selection behavior of glyphs.
- ChangedBrightness control now has indicator images for less/more brightness and a better icon.
- ChangedImproves performance for pages with many links by dynamically disabling the rounded corners in that case.
- ChangedExternal PDF links can now be opened modally in a new controller, use [modal:YES] in the option field, e.g. pspdfkit://[modal:YES]localhost/two.pdf#page=4.
- ChangedVideo extension with a cover now no longer has a dark background and is transparent. If you set cover:YES it will simply show the play button without any background.
- APIAPI change: Words are now detected if they are completely within the rect specified. Use kPSPDFObjectsTestIntersection
- APIAPI change: OutlineElement.page is now 0-based, not 1-based.
- APIAPI change: Several PSPDFProcessor methods now have an additional error part.
- APIAPI change: PSPDFInkAnnotation has been simplified, will automatically recalculate bounding box and paths on line change.
- APIAPI change: Setting the annotation color will now also set the alpha value, if one is set in color.
- APIAPI change: objectsAtPoint: now automatically does an intersection test unless specified otherwise, but objectsAtRect will not, so you need to specify that. Also, in previous version the rect check was done incorrectly to check if the test rect is within the object, now we check if the object is within the test rect OR intersects with it, if intersection is set to YES.
- APIAPI change: Links to external files now reference the page, not page+1. (pspdfkit://localhost/two.pdf#page=4 will move to page 4, before it was page 5)
- AddedAdd support for older PDF standard of defining Dest arrays for page links (for example those produced by LaTeX with PDF version 1.3)
- ChangedAnnotation option parsing is now more robust and will tolerate whitespace.
- ChangedAnnotation text (and thus the annotation menu) is now even displayed if editableAnnotationType is set to NO.
- AddedAdds a workaround for certain PDFs with large embedded videos that previously couldn't be parsed.
- ChangedPSPDFKit now uses OS_OBJECT_USE_OBJC instead of OS version checking to check of GCD objects are collected via ARC or not (This is iOS6 only and the new default, can be disabled by the compiler)
- ChangedText in the password view is now viewable on iPhone in landscape.
- FixedFixes an issue with font caching on search and certain documents.
- FixedFixes an off-by-one error on writing link annotations that link to internal pages.
- FixedFixes an issue with the "Save To Camera Roll" feature and iOS6 - the required rights are now checked fore before writing the image, and an error dialog is displayed for the user in case image saving failed.
- FixedFixes an issue where PDF images in CMYK format could not be saved to the Camera Roll.
- FixedFixes an issue where PSPDFTabbedViewController failed to show the tab bar if restoreState wasn't called and thus the documents array was nil.
- FixedFixes an issue with opening internal html links on PDF link annotations on the device (worked fine on the Simulator)
- FixedFixes an issue where the cancel button of the search controller was disabled sometimes (iPhone only)
- FixedFixes an issue where under certain conditions link annotations were marked as dirty right after reading them from the PDF which could result in some slowdown when hiding the PSPDFViewController.
- FixedFixes a crash with LifeScribe PDF documents when there's an embedded video annotation.
- FixedFixes a weird potential crashing issue where setting the controlStyle of the MPMoviePlayerController could throw an exception (which is not documented and should not happen according to the MPMoviePlayer documentation).
- FixedFixes a bug that prevented setting of the defaultColorPickerStyles.
- FixedFixes an issue where the cover view of movie annotations showed outdated content in some cases.
- FixedFixes a potential stack overflow when a PDF that had recursive XObjects with font informations was parsed.
- FixedFixes an UIKit bug where the statusbar sometimes was placed above the navigationBar on certain occasions.
- FixedFixes issue where certain isOverlay=YES annotations became unmovable after a save until the page had been changed.
- FixedFixes issue where a highlight annotation was re-added to the backing store after a color change.
- FixedFixes an issue where encryptImage:fromDocument: wasn't actually using the encrypted data.
- FixedFixes an issue in the text extractor with parsing certain special formatted CMaps wit bfranges. This should especially help for text extraction errors in languages like turkish or chinese.
- FixedFixes a missing setter for PSPDFLineAnnotation.
- FixedFixes a retain cycle with PSPDFAnnotationToolbar because the delegate was retained.
- FixedFixes a issue with AES-128 encrypted documents that failed to open with a "failed to create default crypt filter." error.
- FixedFixes the delegate in the PSCAnnotationTestController (thanks to Peter Li)
- ChangedTitanium: Fixes several issues and adding compatibility for Titanium 3, also added new searchForString(string, animated) and setAnnotationSaveMode(1) functions.
2.6.4 21 Dec 2012
- ChangedNote annotations now adapt itself to the zoomScale and are no longer scaled when zooming in.
- ChangedNote annotation dragging has been unified with all other annotation types (Notes are now selectable as well)
- ChangedText/Note annotation popover is now less modal and allows one-touch clickthrough to other annotations and UI.
- AddedNew annotationContainerView container in PSPDFPageView makes it easier to coordinate the zIndex of annotation views with your own custom views.
- AddedAdd encryption/decryption block helper for PSPDFCache. (PSPDFKit Annotate feature)
- ChangedMoved MFMailComposeViewControllerDelegate to PSPDFViewController (from PSPDFEmailBarButtonItem)
- ChangedAnnotations now have a new isResizable that controls if they can be resized or not.
- ChangedWith + (void)setDefaultColorPickerStyles: in PSPDFColorSelectionViewController the default color pickers can be configured easily. (e.g. disable the new HSV Picker)
- ChangedBetter support for annotation borders.
- ChangedImproves performance for text extraction engine with cyclic XObjects.
- ChangedNo longer breaks between a word after a font ligature.
- ChangedProperly sets the cropBox for each page in PSPDFProcessor.
- AddedAdds a fallback for weird URI encodings on link annotations.
- ChangedNo longer sets the title for the internal web browser if that is nil (show URL instead)
- FixedFixes a bug on toolbar building with correctly adding the moreBarButtonItem when the first button is filtered.
- FixedFixes an issue where the signature jumped to a different page when added to the right page in landscape mode.
- FixedFixes an issue with the initialization of the continuous scroll mode (especially when using it within a childViewController)
- FixedFixes an issue with text extraction on fonts that don't define any base encoding.
- FixedFixes an issue where custom bookmark names were not correctly saved.
- FixedFixes an issue with video rotation and iOS 5 - current page state is now preserved in all states.
- FixedFixes a potential crash when annotations were written back that do not define any color information.
- ChangedTitanium: Fixes issue with the didTapOnAnnotation callback and event.
2.6.3 17 Dec 2012
- AddedNew font picker for FreeText annotations.
- ChangedAllow changing the text color of the free text annotation.
- ChangedFreeText annotations will now persist the color state.
- ChangedSupports more formats for textColor and fontName in free text annotation.
- ChangedSelected annotations are now rendered in full resolution and no longer appear blurry when zoomed in.
- ChangedDon't block double tap for selected annotations that are not movable (like text highlights)
- ChangedAfter creating a note or a freetext annotation, the toolbar will be set to none. (to match iPad behavior)
- FixedFixes color picker placement for annotations when zoomed all the way in.
- FixedFixes various minor issues with annotation menu showing/placement.
- FixedFixes a UI issue where the Open In... menu didn't disappear on tapping the button a second time.
2.6.2 16 Dec 2012
- AddedNew HSV color picker.
- ChangedColor picker now selects the page where the color is selected, or the generic picker if none of the palette colors matches.
- ChangedBrightness control is now properly displayed within a custom popover on iPhone.
- ChangedHighlight selection control now selects using the natural text flow, not just the selected rect. (Preview: https://x.com/nutrientdocs/status/279636900590006272)
- ChangedFurther improve document shadow for non-equal sized documents.
- ChangedUndo/Redo buttons now have icons instead of text. (Annotation drawing toolbar)
- ChangedOpen In... now asks for flattening.
- ChangedPrint now optionally allows annotation printing.
- ChangedEnsure documentProvider is always added when annotations are added.
- AddedAdd support for annotation links like tel://4343434 and generally improves handling of external URLs.
- AddedAdd support for PDF labels that have a offset and are plain numbered labels.
- FixedFixed a rare condition where menus within UIMenuController could fail to execute their block target.
- FixedFixes an issue where PSPDFNoteAnnotation sometimes used the wrong overrideClassNames dict for lookup.
- FixedFixes a situation where pdfViewController:didDisplayDocument: wasn't called correctly.
- FixedFixes issue where in pageCurl mode after selecting a new color on iPhone the drawing overlay vanished.
- FixedFixes crash when trying to change highlight annotation type on long-tap.
- AddedAdds a workaround for an UIKit bug that only appears on iOS 5 with videos that are playing inline and have a incorrect frame after exit from fullscreen.
2.6.1 10 Dec 2012
- ChangedVideo annotations can now have a specified offset. (e.g. offset=10) in seconds. Optional parameter.
- ChangedPSPDFResizableView can now optionally be set in a way that it only allows moving, not resizing.
- AddedNew toolbar style option in PSPDFViewController: useBorderedToolbarStyle. Will add regular bordered toolbar buttons. Optional.
- ChangedtintColor can now be changed after the PSPDFViewController has been displayed.
- FixedFixes an issue where video was autostarted even if autostart was set to NO.
- FixedFixes an issue where the last toolbar item on the right toolbar could vanish if the style is bordered.
- FixedFixes some issues regarding the textParser. More documents are now supported (especially with multiple nested XObject streams)
- FixedFixes an issue where PSPDFStatusBarDisable could sometimes trigger statusbar showing/hiding.
2.6.0 9 Dec 2012
- AddedNew feature: Add signature. It's enabled by default. If you don't need it, set the editableAnnotationTypes on PSPDFDocument.
- AddedNew Opacity... menu item for Ink and Highlight annotations. This can be disabled via the menu delegates (PSPDFViewControllerDelegate)
- AddedNew Create Annotations menu after a long-tap on a space without text or image. This is now enabled by default. See createAnnotationMenuEnabled on PSPDFViewController.
- ChangedImproved text block detection (this also improves smart zoom)
- AddedNew convenience method defaultAnnotationUsername in PSPDFDocument. You should set this to the user name if you're using annotations.
- ChangedDualPage display will now center pages vertically if they don't have the same aspect ratio, and will draw a nicer shadow spanning exactly both page rects.
- ChangedPSPDFProgressHUD now has support to show a circular progress status. (Try the new Dropbox upload sample)
- ChangedExposes applicationActivities and excludedActivities in PSPDFActivityBarButtonItem.
- AddedAdds support for Web/Email URLs in the PDF Outline.
- AddedAdds a workaround for an UIKit bug that could result in an partly unresponsive scrollView when zooming out programmatically all the way to zoomLevel 1.0 (e.g. after tapping an already zoomed in text block, only affected the default pageTransition, only on device)
- ChangedIf only Highlighting is allowed (and not Underscore or Strikeout), the Type... menu option will be hidden (since there is no point one could change it to)
- ChangedPSPDFScrobbleBar now has left/rightBorderMargin properties. (e.g. to make space to a custom button at one end)
- ChangedAllows subclassing of PSPDFThumbnailGridViewCell via overrideClassNames.
- ChangedUses the shared alpha property for fillColor, to be compliant to the PDF standard. (mostly affects shape annotations)
- ChangedEnsure annotation selection is cleared before a pageCurl transition starts.
- ChangedSimplifies toolbar code by removing the copiedToolbar subclasses. (This should not affect your code at all, simply found a better way to trigger UIKit to refresh the image property)
- FixedFixes a rare crash for parsing certain MMType1 PDF fonts.
- FixedFixes an issue where the annotation toolbar could be overlaid by the underlying toolbar buttons when the toolbar (not navigationBar) was updated afterwards.
- FixedFixes an issue where the search highlighting was incorrectly applied on certain rotated documents.
- FixedFixes a bug where under certain conditions the initial page set on the PSPDFViewController was ignored.
- FixedFixes an issue where not rendered annotations where still selectable.
- FixedFixes a situation where the PDF annotation user wasn't written unless contents was set.
- FixedFixes an issue where the page offset for document providers sometimes was calculated incorrectly, this showing the wrong page labels.
- FixedFixes a crash on iOS6 when viewMode was set to PSPDFViewModeThumbnails before the controller was actually displayed.
- FixedFixes an issue where a late view frame change could result in an incorrectly rendered PDF view (black borders, could happen under certain conditions with Storyboarding)
- FixedFixes a bug with using brightnessBarButtonItem on iPhone.
- FixedFixes a situation where one could initiate a pageCurl during adding an annotation.
- ChangedTitanium: Fixes an issue where setLinkAnnotationBorderColor would not work on the first page. Also adds support for "clear" color.
2.5.4 26 Nov 2012
- ChangedMakes PSPDFLinkAnnotation writeable and adds a new targetString method to customize the preview URL that is displayed on a long press annotation.
- ChangedPDF link annotations are now editable. This is not added by default. Enable this by adding PSPDFAnnotationTypeStringLink to the editableAnnotationTypes of PSPDFDocument.
- ChangedPSPDFAnnotation now parses and write the name (NM) property. (Optional, used to uniquely identify PDF annotations)
- ChangedExposes some new methods in PSPDFNoteViewController.
- ChangedExpose PSPDFPageView's showLinkPreviewActionSheetForAnnotation:fromRect:animated to allow customization of the link preview sheet (invoked on long press)
- ChangedEnsures that the minimum size of annotations is not smaller than the current size (to prevent weird resizing)
- FixedFixes a potential wrong private API detection issue where "visibleBounds" was incorrectly flagged.
- FixedFixes an issue where the search controller was sometimes misplaced when search was directly invoked from the selected text.
- FixedFixes an issue where scrolling was disabled when setting a document delayed in scrollperpage mode after no document was set before.
- FixedFixes an UI glitch where the page label background was blurry for certain conditions.
- FixedFixes a rare issue where the background color of a link annotation could get stuck when using inter-document links.
2.5.3 24 Nov 2012
- ChangedEnables rendering of certain annotations as always overlay and still preserve movement features.
- FixedFixes for text selection handling, especially for -90/270 degree rotated documents.
- FixedFixes image selection rects for rotated documents.
- FixedFixes a crash with searching certain arabic documents.
- FixedFixes a one-pixel-bleedthrough in between the pages in dualPage / pageCurl mode.
2.5.2 22 Nov 2012
- AddedNew convenience helper: setUpdateSettingsForRotationBlock in PSPDFViewController. (e.g. to switch between pageCurl and scrolling on rotation)
- ChangedMoves the logic that returns the default classes for supported annotations out of PSPDFFileAnnotationProvider into PSPDFAnnotationProvider - so if the annotationProvider is customized to use only custom annotation providers, annotations will still work.
- ChangedHandles corrupt PDF more gracefully, failing faster (esp. important if you're using a custom CGDataProvider)
- ChangedSearch no longer searches between words (but between lines)
- APIRenamed fixedVerticalPositionForfitToWidthEnabledMode to fixedVerticalPositionForFitToWidthEnabledMode.
- ChangedTurned on a lot more warnings (like missing newlines.) PSPDFKit is now warning free even under pedantic settings.
- FixedFixes a UX issue where sometimes a second tap was needed to show the bookmark view controller.
- FixedFixes a crash when deleting bookmarks that has a custom name.
- FixedFixes the delegate call pdfViewController:annotationView:forAnnotation:onPageView: (wasn't called before due to a typo in the selector check)
- FixedFixes an issue with generating link annotations in code using the initWithType initializer.
- FixedFixes an issue where overrideClass wasn't checked for PSPDFWebViewController in one case.
- FixedFixes an issue that could result in a non-rendered PSPDFPageView if the scrollView contentOffset was set manually without animation.
- FixedFixes an issue where the text block detection could take a very long time on some documents.
- FixedFixes an issue where a log warning was displayed when a highlight annotation was loaded from disk.
- FixedFixes an issue where a low memory warning while editing annotation could lead to a non-scrollable document and/or a not saved annotation.
- FixedFixes an issue where the keyboard was no longer displayed automatically for new text annotations on iPhone.
- FixedFixes an issue where note/text annotations could be mis-placed when a document has a non-nil origin and a non-nil rotation value.
2.5.1 19 Nov 2012
- ChangedDismisses the search bar keyboard at the same time the popover fades out, not afterwards.
- ChangedExposes some more methods on PSPDFAnnotationToolbar.
- FixedFixes an issue with text selection being offset/invalid for certain documents (this change fixes A LOT of documents that previously had problems)
- FixedFixes an issue with text encoding on some PDFs.
2.5.0 17 Nov 2012
- ChangedImages can now be selected and copied to the clipboard or saved to the camera roll. There's a new delegate to customize this.
- ChangedA long-press on an annotation will switch over to edit-mode. Either moving if allowed, or showing the menu and cancelling the gesture if not.
- ChangedChanges the default PDF Box back to kCGPDFCropBox. You can customize this with using the "PDFBox" property on PSPDFDocument.
- ChangedAnnotations can now be moved and resized, and the selection view is much sexier now (matches popular iOS apps like Pages)
- ChangedWords are highlighted as they are being highlighted using the annotation toolbar.
- ChangedUpdate color picker to include more colors and for better use space on iPhone 5 and iPad.
- ChangedDefault drawing color is now blue.
- ChangedHighlight annotation color menu will now no longer show the currently used color and has a new option "Custom..." that will show the default color picker.
- ChangedThe options in PSPDFEmailBarButtonItem have been changed to a bit field, it's more flexible now. The flattenedAnnotations parameter is gone and is is now a subset of the bit field.
- ChangedAnnotation toolbar has now properties exposed for easy drawing color/width change.
- AddedAdd initial implementation for stamp annotations (text and images are supported, no complex AP streams)
- ChangedSupport for "Named" PDF link annotations. (like NextPage/PrevPage/FirstPage/LastPage)
- AddedAdd "Key" image for note annotations.
- AddedAdd support for dashed borders on various annotation types.
- ChangedPSPDFPageLabelView how shows a custom label for double page mode that displays all visible pages, not only the first. (2-3 of 42) instead of (2 of 42).
- ChangedRefactoring of the search subsystem. Some methods have been renamed/deprecated. The interface is now much cleaner.
- ChangedSearch now search pages in the natural order, no longer visible pages first. You can revert this behavior change with setting searchVisiblePagesFirst to YES in PSPDFSearchViewController.
- ChangedSearch now also finds words that are split up via newline and/or a hyphenations character. This is enabled by default. See PSPDFTextSearch.compareOptions.
- ChangedPSPDFSearchResult now has a PSPDFTextBlock as selection type (because it might have words on multiple lines). PSPDFSearchHighlightView now supports highlighting of multiple words.
- ChangedSearch now is more tolerant on single/double quotation marks.
- ChangedImproves annotation toolbar animation for iPhone/landscape.
- ChangedPSPDFHighlightAnnotation has a new helper "highlightedString" to get the string value of the highlighted area. Here, the document content is evaluated, since the annotation just contains CGRect values.
- ChangedThe annotation toolbar now remembers all last used colors per annotation type IF they are changed while the annotation toolbar is visible. (e.g. create yellow highlights, change annotation color to red, make new highlights -> red. But if you change color at a point where the annotation toolbar is closed, the color will not be remembered.)
- ChangedPSPDFGlyph/PSPDFWord/PSPDFTextBlock frame now needs to be converted using the convertViewRectToGlyphRect/convertGlyphRectToViewRect to get the correct results.
- AddedNew helper: PSPDFBezierPathGetPoints to convert UIBezierPaths into the representation needed in PSPDFInkAnnotation.
- AddedAdds some missing annotation change events.
- ChangedA visible annotation toolbar will be removed when the viewController disappears.
- ChangedImproved the performance of outline parsing and animation.
- AddedNew HUD mode: PSPDFHUDViewAutomaticNoFirstLastPage - similar to PSPDFHUDViewAutomatic but doesn't show the HUD on the first/last page automatically.
- ChangedDelegate didRenderPage:inContext: is now only called for current rendering. (not manual calls or cache)
- ChangedPSPDFAnnotationToolbar now exposes cancelDrawingAnimated/doneDrawingAnimated to manually cancel/confirm a open drawing.
- ChangedPSPDFSearchBarButtonItem, PSPDFOutlineBarButtonItem, PSPDFViewModeBarButtonItem can now also be overridden using overrideClassNames.
- ChangedPSPDFOutlineParsers's isOutlineAvailable now parses the outline and always returns the correct value.
- ChangedIf the keyboard was displayed on a PDF password prompt, that is now hidden again after the viewController is removed from the view.
- ChangedA single paged document is now displayed centered on pageCurl transition mode (instead of right-aligned)
- AddedAdds the iPod touch (4G) to the list of old devices, because that one has Retina but only 256MB RAM.
- ChangedAllows click-through selection of annotations that are on different pages. (before, you needed sometimes one extra-touch to hide the current selection)
- ChangedPSPDFGlyph, PSPDFWord, PSPDFTextLine and PSPDFTextBlock can now be properly compared using isEqual.
- ChangedThe text selection is now hidden before the callout menu hides, not afterwards (to match default iOS behavior)
- ChangedOn the Thickness... menu, the option that is currently active is hidden.
- ChangedThe link selection touch-down gray is now less dark to better match Apple's default look.
- ChangedThe tinted popover background is now retina optimized and no longer draws an arrow outside of the rounded corner area.
- FixedFixes a potential stack overflow when parsing really large PDF outlines (>3000 items).
- FixedFixes an UI issue where the annotation toolbar active mode overlay wasn't updated on an annotation frame change.
- FixedFixes an UI bug where note annotations could show with an outdated view (e.g. no color change visible on page change)
- FixedFixes a rare crash when searching certain documents.
- FixedFixes a rare crash regarding ink annotation saving.
- FixedFixes an issue where tapping on an empty HUD space would sometimes wrongly zoom out the view.
- FixedFixes some minor issues with video cover.
- FixedFixes some settings where didLoadPageView: was not called anymore.
- FixedFixes a rare UIKit crash in UIPageViewController by adding a workaround.
- FixedFixes a potential crash when hot-swapping the document from/to a 1-page document while using UIPageViewController in dual page mode.
- FixedFixes an issue where the text selection menu sometimes wasn't correctly displayed on the right site of a zoomed in page in pageCurl mode.
- FixedFixes a potential crash when a document was hot-swapped during a render operation.
- FixedFixes a rare rendering issue with certain PDF documents that have weird rotation values.
- FixedFixes an issue with the CMap parser where the second part of font ligatures was ignored. (See http://en.wikipedia.org/wiki/Typographic_ligature for details)
- FixedFixes PSPDFProcessor's output of generatePDFFromDocument on rotated PDFs (documents had white border).
- FixedFixes a issue where parsed text coordinates were offset on some non-standard PDFs that had both rotation and a non-null CropBox origin.
- ChangedMakes custom implementations of
isEqual:
commutative when called with an instance of the superclass as the argument. (#7893)
KNOWN ISSUE: Annotations can't yet be moved between pages. This feature is on our roadmap.
2.4.0 2 Nov 2012
PSPDFKit now requires iOS 5.0+ and Xcode 4.5+ (iOS SDK 6.0) to compile. (Support for iOS 4.3/Xcode 4.4 has been removed, support for iOS 6.1 and Xcode 4.6b1 has been added.)
2.4 is a big release and a great new milestone of PSPDFKit. If you upgrade, make sure to read through the full header diffs to make sure methods you were calling/overriding still exist and are not moved. Common methods like pageScrolling will always get a compatibility method for the time being. Methods/Properties are are deeper within the framework won't get a compatibility method, but it's usually pretty easy to figure out what the property was named before. I am planning on working on PSPDFKit for a long time, and as the API evolves, it's sometimes necessary to clean up and rename things so that the API stays clean and logical.
- ChangedHuge refactoring of PSPDFAnnotationParser. It's now much easier to add custom annotation providers (see PSPDFAnnotationProvider). If you have subclassed saving/loading or other parts of PSPDFAnnotationParser, you most likely need to change this over to the new PSPDFFileAnnotationProvider.
- ChangedPage scrolling is now even smoother. And finally removes the slight stuttering when pushing the PSPDFViewController - now animates like butter.
- ChangedPSPDFShapeAnnotation can now be saved into the PDF.
- ChangedInk drawings can now customize the Thickness. Select an annotation and use the new "Thickness..." menu item.
- ChangedInk drawings and shape annotations can now also contain comment text.
- ChangedAnnotations now support the title/user "T" flag. Change the default user name by changing the property in PSPDFFileAnnotationProvider.
- AddedAdd support for embedded and external RichMedia and Screen (Video) annotations of any size.
- ChangedPSPDFBarButtonItem now has longPress-support. Long-Press on the bookmarkBarButtonItem to see the new PSPDFBookmarkViewController. Bookmarks can now also be renamed/reordered.
- ChangedIf there's no searchButton visible, the search invoked from the text selection menu now will originate from the selection rect.
- ChangedThe Open In... action now also works on multi-file documents and/or data/cgdocumentprovider based documents (will merge the document on-the-fly, shows a progress window if it'll take some time)
- ChangedPSPDFBarButtonItem now also accepts a generic UIView as sender on presentAnimated:sender:. (makes it easier to manually call menu items from custom code)
- ChangedBetter support when barButtonItems are added to custom UIToolbars.
- ChangedThe internal used BarButtonItem subclasses are now exposed, so that they can be overridden and their icon changed.
- AddedNew activityBarButtonItem to share pages to Facebook/Twitter on iOS6.
- ChangedDouble-Tapping on a video now enables full-screen (instead of zooming the page. This does not apply to YouTube movies)
- ChangedGreatly improves handling of multiple video views on one page/screen.
- ChangedAnnotation views now have a optional xIndex. Video has a high index by default, so link annotations won't overlap a video anymore.
- ChangedNo longer allowing text selection above video annotations.
- ChangedPSPDFDocument now has a new property 'PDFBox' to customize the used PDF box (ClipRect/MediaRect/etc).
- ChangedPSPDFPositionView has been renamed to PSPDFPageLabelView. PSPDFPageLabelView and PSPDFDocumentLabelView are now easier skinable with the common superclass PSPDFLabelView.
- ChangedPSPDFLabelView has now a second predefined style (PSPDFLabelStyleBordered)
- ChangedPSPDFPageLabelView can now show a toolbar item. Check out the "Settings for a magazine" example how to enable this.
- ChangedPSPDFLinkAnnotationView and the other multimedia annotation views can now be subclassed via overrideClassNames.
- ChangedThe Edit button for the text editor on note annotations can now be hidden. (showColorAndIconOptions)
- ChangedUI: Moved the Edit button of the PSPDFNoteAnnotationController to the left side. (only visible for PSPDFNoteAnnotation)
- ChangedImproves annotation parsing speed.
- ChangedShape/Circle annotations now correctly display their fillColor.
- ChangedImproved color parsing for PSPDFFreeTextAnnotation (now honoring the default style string setting)
- ChangedThe icons in the viewModeBarButtonItem now have the same shadow as the toolbar icons (iPhone for now).
- ChangedNo longer displays annotation menus when they can't be saved (PSPDFKit Basic)
- ChangedExpose outlineIntentLeftOffset and outlineIndentMultiplicator as properties on PSPDFOutlineViewController and PSPDFOutlineCell.
- ChangedExposes firstLineRect, lastLineRect and selectionRect on PSPDFTextSelectionView.
- ChangedThe text loupe now fades our correctly when in drag-handle-mode.
- ChangedImproved caching of external resources like annotations/text glyphs on page init. Caching now won't overflow the dispatch queues anymore if A LOT of pages are loaded at the same time.
- ChangedPSPDFWord now has a lineBreaker property to detect line changes.
- ChangedPSPDFPageInfo now regenerates the pageRotationTransform when the pageRotation is changed manually.
- ChangedPSPDFKit now checks if a URL can be handled by the system and weird/nonrecognizable URLS no longer open the "Leave Application" alert.
- ChangedThe PSPDFAnnotationBarButtonItem is now smart enough to choose the right animation depending if the toolbar is at the top/bottom (slide in/out from top/bottom)
- ChangedSetting the UIPopoverController no longer removes preexisting passthroughViews.
- ChangedThe renderQueue now no longer renders the requested image if the delegate has been released in the mean time. (The delegate is now weak instead of strong)
- ChangedUI: Undo/Redo buttons on the drawing toolbar are better placed on iPhone.
- ChangedUI: The color selection button is now smaller on iPhone/Landscape.
- APIPSPDFPageInfo is not calculated in PSPDFDocumentProvider. If you've overridden methods that affect PSPDFPageInfo in PSPDFDocument, you should move that code to a PSPDFDocumentProvider subclass.
- API"realPage" has been renamed to "page" and is now set-able. The old "page" has been renamed to "screenPage". This finally cleans up the confusion that has been around page and realPage. In 99% of all cases, you're just interested in page and can ignore screenPage. Please update your bindings accordingly. If you formerly did KVO on realPage, change this to page too. (There's a deprecated compatibility property for realPage, but not for the KVO event)
- APIadditionalRightBarButtonItems has been renamed to additionalBarButtonItems.
- APIpageScrolling has been renamed to scrollDirection. A deprecated compatibility call has been added.
- APIhandleTouchUpForAnnotationIgnoredByDelegate has been moved to PSPDFAnnotationController.
- APIpdfViewController has been renamed to pdfController on PSPDFTabbedViewController.
- APIWarning! If you've used pspdf_dispatch_sync_reentrant in your own code, you now absolutely must create your dispatch queues with pspdf_dispatch_queue_create. Apple has deprecated dispatch_get_current_queue(), so we're now using a different solution. This will most likely affect you if you're using the "Kiosk" sample code of PSPDFKit Catalog.
- ChangedTitanium: The pdfView now has a hidePopover(true) method so PSPDF popovers can better be coordinated with appcelerator code popovers.
- FixedFixes the lag introduced in 2.3.x when tapping on the screen and the textParser hasn't been finished yet.
- FixedFixes a potential crash when the view was removed on PSPDFKit Basic Titanium.
- FixedFixes a potential crash when parsing the text of malformed PDFs.
- FixedFixes a race condition during PSPDFFreeTextAnnotation drawing that could lead to a crash.
- FixedFixes some issues with PSPDFPageScrollContinuousTransition when the document is invalid or view size is nil.
- FixedFixes an issue where the background color of link annotations could get stuck.
- FixedFixes an issue where PSPDFTabbedViewController did not properly align the tab bars in fullscreen mode.
- FixedFixes an issue with creating PSPDFShapeAnnotation in code.
- FixedFixes an issue where the isEditable flag on a PSPDFAnnotation was not honored when dragging note annotations.
- FixedFixes an issue where the page could disappear on strong scrolling in pageCurl mode under iOS6.
- FixedFixes an issue where scrolling on the tab bar (PSPDFTabbedViewController) sometimes didn't work.
- FixedFixes an issue where the color picker was not properly displayed on bottom UIToolbars.
- FixedFixes an UI issue where the selection and drawing of annotations on rotated pages was handled incorrectly.
- FixedFixes an UI issue where the tabbed controller tabs could be mis-placed when rotating without visible HUD.
- FixedFixes an UI issue where the thumbnails could slightly overlap the toolbar if the statusbar is transparent/auto-hiding.
- FixedFixes several conditions where the PSPDFViewController could be deallocated on a background thread.
- FixedFixes new warnings that popped up with Xcode 4.6. (pretty much all false positives)
2.3.4 18 Oct 2012
- FixedFixes a rare race condition that could lead to a deadlock on initializing PSPDFDocumentProvider and PSPDFAnnotationParser.
2.3.3 18 Oct 2012
Note: This will be the last release that supports iOS 4.3*. The next version will be iOS 5+ only and will require Xcode 4.5+ (iOS SDK 6.0) If you're having any comments on this, I would love to hear from you: [email protected] The binary variant is already links with SDK 6.0 and will not link with 5.1 anymore. (It still works down to iOS 4.3 though)
(*) There is no device that supports iOS 4.3 and can't be upgraded to iOS5, and PSPDFKit already dropped iOS4.2 and with it armv6 in 2.0.
- ChangedPSPDFShapeAnnotation and PSPDFLineAnnotation can now be created programmatically.
- AddedNew flag: kPSPDFLowMemoryMode that combines a lot of settings to ease memory pressure for complex apps.
- ChangedAnnotations now have a new flag: controls:false to hide browser/movie controls. If videos have controls disabled, they can be controlled via gestures. (tap=pause, pinch=full screen)
- ChangedText loupe now also moves if it's not anchored on a PSPDFPageView. (fixes stuck loupe issue)
- FixedFixes a regression on view point restoration that could restore the view point at a different position.
- FixedFixes an issue where the annotation toolbar could lock up rotation even after being dismissed.
- FixedFixes an issue where bookmarks were checked for pages that were not visible.
- FixedFixes the needless log statement "Password couldn't be converted to ASCII: (null)".
- FixedFixes a text loupe regression where the loupe was not rotated on modal controllers.
- FixedFixes a issue where in rare cases the document label (default displayed on iPhone only) was offset by a few pixels.
2.3.2 17 Oct 2012
- ChangedThe text loupe is now displayed above all other contents (navigation bar, status bar, …)
- AddedNew status bar style: PSPDFStatusBarSmartBlackHideOnIpad, which now is also the new default (changed from PSPDFStatusBarSmartBlack). Will hide the HUD AND the statusbar on tap now both on iPhone and on iPad.
- ChangedImproves Website->PDF conversion. Now supports Websites, Pages, Keynote, Excel, Word, RTF, TXT, JPG, etc... (see PSPDFProcessor. This is a PSPDFKit Annotate feature)
- ChangedPSPDFKit now uses the MediaBox everywhere. Previously the CropBox was used for rendering, which can display areas that are only intended for printing. See http://www.prepressure.com/pdf/basics/page_boxes.
- AddedNew additionalActionsButtonItem allowing the selection of the additional actions menu placement position. (Default is left next to the last rightBarButtonItem)
- AddedNew initializer in PSPDFDocument that makes handling with single-file multiple-page documents much easier. (PDFDocumentWithBaseURL:fileTemplate:startPage:endPage:)
- AddedAdd support for GoToR link annotations.
- AddedAdd method to search for a specific page label. See PSCGoToPageButtonItem in PSPDFKit Catalog for an example how to use it. (DevelopersGuide.pdf has labels)
- ChangedThe page popover now shows the page label if one is set in the PDF (e.g. to replace numbers with roman numbering)
- ChangedLinks to the external applications (e.g. AppStore, Mail) are now detected and a alert view is displayed asking to open the application or not.
- AddedAdd workaround for a UIKit issue in iOS5.x that would sometimes dismiss the keyboard when removing characters from the search view controller. (Issues has been fixed in iOS6)
- FixedFixes a UI issue in search results. If a search result was found more than one time in a string, the first occurrence was marked bold. Now the actual result is marked bold. (This was mostly noticeable when searching for very small words)
- FixedFixes a issue where too fast drawing could result in some lines now being displayed.
- FixedFixes isLastPage/isFirstPage methods for landscape mode.
- FixedFixes a issue where sometimes overrideClassNames for annotation was ignored.
- FixedFixes a issue where the cache could return a wrong image in some rare cases.
2.3.0 11 Oct 2012
- ChangedExperimental features: Add support to create PDF documents from html string or even a website.
- ChangedAnnotations now can be flattened before the document is sent via email. PSPDFEmailBarButtonItem has new options, and there is a new class PSPDFProcessor to generate new PDFs.
- ChangedOutline elements that have no target page now no longer redirect to page 1 and will expand/collapse a section if there are child outline elements.
- AddedAdd minimumZoomScale and setZoomScale:animated: to PSPDFViewController.
- ChangedGlyphs that are outside of the page rect are now not displayed in the extracted text per default. You can restore the old behavior with setting PSPDFDocument's textParserHideGlyphsOutsidePageRect to YES.
- ChangedFurther tweaks for the iOS5 YouTube plugin version, ensure it's always correctly resized.
- ChangedviewLockEnabled now also disables zooming with double tapping.
- ChangedDon't show outline on search result if it's just one entry (most likely just the PDF name)
- ChangedThe keyboard of the note annotation controller now moves out at the same time as the popover dismisses (before keyboard animated out AFTER the popover animation)
- ChangedSoftware dimming view now also covers the status bar.
- AddedAdding/Removing bookmarks now correctly hides any open popovers.
- ChangedPSPDFKit Catalog: can now receive PDF documents from other apps.
- ChangedPSPDFKit Catalog: added basic full-text-search feature across multiple documents.
- RemovedRemoved kPSPDFKitDebugMemory and kPSPDFDebugScrollViews.
- APIrenamed PSPDFSearchDelegate -> PSPDFTextSearchDelegate and added the PSPDFTextSearch class as parameter.
- APIremoves certain deprecated methods.
- APIrenamed kPSPDFKitPDFAnimationDuration to kPSPDFAnimationDuration.
- FixedFixes possible inconsistency between displayed and used drawing color.
- FixedFixes a race conditions when using appendFile: in PSPDFDocument and cacheDocument:startAtPage:size:.
- FixedFixes a rotation issue when the annotation toolbar is displayed.
- FixedFixes a issue where the popover of a ink annotation wasn't correctly sized.
- FixedFixes a issue where the outline button was displayed when the document was invalid (instead of being hidden as expected)
2.2.1 4 Oct 2012
- ChangedThe original backgroundColor of a PSPDFLinkAnnotationView is now preserved.
- ChangedYouTube embedding now supported on iOS6.
- ChangedVideo embeddings with a cover image now don't show the cover if play has already been pressed after a page change.
- ChangedAnnotations now are cached much like UITableViewCells. (faster; preserve video state, etc)
- FixedFixes a "sticky" scrolling issue that was introduced in 2.2.
2.2.0 4 Oct 2012
- AddedNew scrolling mode: PSPDFPageScrollContinuousTransition (similar to UIWebView's default mode)
- ChangedSupport text selection on rotated PDF documents.
- ChangedUIPopoverController is now styleable with a tintColor. This is enabled by default if tintColor is set. Use .shouldTintPopovers to disable this. As long as you use presentViewControllerModalOrPopover:embeddedInNavigationController:withCloseButton:animated:sender:options: your custom popovers will be styled the same way.
- AddedAdds support for adding annotations for double page mode on the right page. (Note: drawing still isn't perfect)
- AddedAdd new property renderAnnotationTypes to PSPDFViewController to allow control about the types of annotations that should be rendered.
- AddedAdd support for PDF Link Launch annotations (link to a different PDF within a PDF, see https://www.nutrient.io/guides/ios/annotations/link-annotations/)
- ChangedAnnotation selection is now smarter and selects the annotation that's most likely chosen (e.g. a small note annotation now is clickable even if it's behind a big ink drawing annotation)
- ChangedIt's now possible to properly select an annotation while in highlight mode.
- ChangedAllow changing the drawing color using the menu. (invokes the color picker)
- AddedAdd a isEditable property to be able to lock certain annotations against future edits.
- AddedAdd printing support for small CGDataProviderRef-based PSPDFDocuments.
- ChangedImprove OpenIn… feature, annotations are auto-saved before opening in another app and a log warning will be displayed for incompatible document compositions.
- ChangedThe password in PSPDFDocument is now saved and will be relayed to any added file (e.g. when using appendFile)
- ChangedImproved performance for outline and annotation parsing (up to 400% faster, especially for large complex documents with huge outlines)
- ChangedMassively improved performance for search, especially for documents with many fonts.
- ChangedText loupe is faster; less delays on the main thread when waiting for a textParser (more fine-grained locking)
- ChangedPSPDFViewController now saves any unsaved annotation data when app moves to background.
- AddedAdd PSPDFBrightnessBarButtonItem and optional software-dimming to darken the screen all the way down to black.
- ChangedPSPDFDocuments objectsAtPDFRect:page:options: now can also search for annotations and text blocks.
- ChangedSmart Zoom is now even smarter and picks the most likely tapped text block if the detection shows multiple overlaying blocks.
- AddedAdds Italian translation.
- ChangedRestores PDF page label feature from version 1.
- RemovedremoveCacheForDocument:deleteDocument:error: now also removes any document metadata files (bookmarks, annotations [if they were saved externally])
- ChangedThe cancel button in PSPDFSearchViewController can now be localized.
- ChangedPSPDFKit now uses UICollectionView on iOS6, and PSTCollectionView on iOS4/5.
- ChangedWhen annotations are deserialized from disk, the proper annotation subclasses set in document.overrideClassNames will be used.
- ChangedEnsure annotation toolbar is closed when view controller pops.
- ChangedThumbnails no longer are laid out behind the tab bar if PSPDFTabbedViewController is used. (they now correctly align beneath the bar)
- AddedAdd workaround for a UIKit problem where a UIPopoverController could be resized to zero on iPad/landscape when it's just above the keyboard.
- ChangedGreatly reduced the black hair line that was visible in double page modes between the pages. Should now be invisible in most cases.
- ChangedThe last used drawing color is now saved in the user defaults.
- ChangedThe bookmark image is now saved proportionally to the thumbnail image.
- ChangedEnsures that for PSPDFTabbedViewController, tabs always have a title.
- ChangedThe close button added when using the presentModal: api of PSPDFViewController now uses the Done-button style.
- APIbookmark save/load now exposes NSError object. Also new; clearAllBookmarks.
- APIwillStartSearchOperation:forString:isFullSearch: in PSPDFSearchOperationDelegate is now optional.
- APIPSPDFDocument now implements PSPDFDocumentProviderDelegate and also is set as the default delegate.
- APIPSPDFDocumentDelegate now has methods for didSaveAnnotations and failedToSaveAnnotations.
- APIremoveCacheForDocument:deleteDocument:waitUntilDone: is now removeCacheForDocument:deleteDocument:error: -
- FixedFixes a rotation issue when the annotation toolbar is displayed use dispatch_async to make the call async.
- APItabbedPDFController:willChangeVisibleDocument: has been renamed to tabbedPDFController:shouldChangeVisibleDocument:
- FixedFixes a bug where annotations were not saved correctly on multi-file documents when saving into external file was used. You need to delete the annotations.pspdfkit file in /Library/PrivateDocuments/UID to update to the new saving version (PSPDFKit still first tries to read that file to be backwards compatible)
- FixedFixes freezing if there are A LOT of search results. They are not limited to 600 by default. This can be changed in PSPDFSearchViewController, see maximumNumberOfSearchResultsDisplayed.
- FixedFixes a issue where similar PDF documents could create a equal UID when initialized via NSData.
- FixedFixes "jumping" of the annotation toolbar when the default toolbar style was used.
- FixedFixes calling the shouldChangeDocuments delegate in PSPDFTabbedViewController.
- FixedFixes issue with rotation handling under iOS6.
- FixedFixes a bug that prevented selecting annotations for documents with multiple files on all but the first file
- FixedFixes a bug where the text editor sometimes could have a transparent background.
- FixedFixes a toolbar bug when using UIStoryboard and modal transitions to PSPDFViewController.
- FixedFixes a rare placement bug with the document title label overlay on iPhone.
- FixedFixes a regression of 2.1 where search on iPhone sometimes didn't jump to the correct page.
- FixedFixes issue with certain unselectable words.
- FixedFixes always-spinning activity indicator when internal WebBrowser was closed while page was still loading. ActivityIndicator management now also can be customized and/or disabled.
- FixedFixes a page displacement issue with pageCurl and the app starting up in landscape, directly showing a PSPDFViewController. (workaround for a UIKit issue; has been fixed in iOS6)
- FixedFixes invalid page coordinates sent to didTapOnPageView:atPoint: delegate on right page in landscape mode.
- FixedFixes a race condition where annotations could be missing on display after repeated saving until the document has been reloaded.
- FixedFixes issue with word detection where sometimes words were split apart after the first letter on the beginning of a line.
- FixedFixes viewState generation. (Was always using page instead of realPage which lead to errors when using landscape mode)
- FixedFixes missing background drawing for shape annotations.
- FixedFixes a issue where certain link-annotations did not work when using the long-press and then tap on the sheet-button way.
- FixedFixes a rare bug where pages could been missing when reloading the view of the PSPDFPerPageScrollTransition in a certain way.
- FixedFixes issue where viewLockEnabled was ignored after calling reloadData.
Known Issues:
- ChangedDragging note annotations from one page to another doesn't yet work.
- ChangedDrawing across multiple pages doesn't yet work.
2.1.0 17 Sep 2012
- AddedNew: PSPDFAESCryptoDataProvider. Allows fast, secure on-the-fly decryption of AES256-secured PDF documents. (PSPDFKit Annotate feature) Unlike NSData-based solutions, the PDF never is fully decrypted, and this even works with very large (> 100MB) documents. Uses 50.000 PBKDF iterations and a custom IV vector for maximum security. Includes the AESCryptor helper Mac app to properly encrypt your PDF documents.
- ChangedAllow to customize caching strategy per document with the new cacheStrategy property. This is automatically set to PSPDFCacheNothing when using PSPDFAESCryptoDataProvider.
- ChangedAnnotations now have a blue selection view when they are selected.
- AddedAdd Black and Red to general annotation color options.
- ChangedFont name/size for FreeText annotations is now parsed.
- AddedAdded write support for FreeText annotations.
- ChangedAllow to show/edit the associated text of highlight annotations.
- ChangedImproves extensibility of the annotation system with adding a isOverlay method to PSPDFAnnotation. (Instead of hard-coding this to Link and Note annotations)
- ChangedMoves the clipsToBounds call in PSPDFPageView so that delegate can change this (of UIView <PSPDFAnnotationView>).
- AddedAdds static helper [PSPDFTextSelectionView isTextSelectionFeatureAvailable] to make runtime checks between PSPDFKit and PSPDFKit Annotate.
- AddedAdds new isWriteable static method to PSPDFAnnotation subclasses to determine what classes can be written back to PDF.
- AddedAdd kPSPDFAllowAntiAliasing as optional render option.
- ChangedPSPDFOpenInBarButtonItem no longer performs a check for compatible apps. Checking this is pretty slow. An info alert will be displayed to the user if no compatible apps are installed (which is highly unlikely for PDF). You can restore the original behavior with setting kPSPDFCheckIfCompatibleAppsAreInstalled to YES.
- ChangedThe viewState is now preserved when another controller is displayed/dismissed modally. This mostly happened with showing/hiding the inline browser or the note text controller on an iPhone. After that the zoom rate was reset; this is now properly preserved.
- ChangedThe annotation toolbar now flashes if the user tries to hide the HUD while the bar is still active (and blocking that)
- ChangedVarious performance optimizations; especially scrolling and initial controller creation.
- RemovedRemoves sporadic vertical transition of the navigationController's navigationBar when HUD faded out.
- FixedFixes "Persistent Text Loupe" when moving over a link annotation while selecting.
- FixedFixes a memory leak when CGDataProviderRef is used to initialize a PSPDFDocument.
- FixedFixes a issue where the UI could sometimes freeze for a while waiting for background tasks in low-memory situations.
- FixedFixes a issue where the popover page display wasn't hidden after a rotation.
- FixedFixes a issue where sometimes the page was not correctly restored after rotation (was +1).
- FixedFixes a issue where, if email wasn't configured on the device, the internal web browser would be launched with a mailto: link. Now a alert is displayed.
- FixedFixes a issue where a page could, under certain rare conditions, escape the page tracking and be "sticky" behind the new managed page views.
- ChangedTitanium: Add saveAnnotation method to manually save annotations (needed for createView, automatically called in showPDFAnimated).
- ChangedTitanium: Limit usage of useParentNavigationBar to iOS5 and above.
- ChangedTitanium: fixes a rare condition where using document.password to unlock sometimes resulted in an incorrect value for isLocked.
2.0.3 14 Sep 2012
- AddedAdd a new "renderOptions" property to PSPDFDocument to fine-tune documents (e.g. fixes gray border lines in mostly-black documents)
- ChangedReduces file size of PSPDFKit.bundle by about 50%; improves speed of certain helper plists parsing.
- FixedFixes potential category clashing
- FixedFixes a bug that sneaked in because PSPDFKit is now compiled with Xcode 4.5. This release now also works with 4.4 for binary.
2.0.2 13 Sep 2012
- ChangedSupport for iPhone 5, Xcode 4.5, armv7s and the new screen resolution.
- ChangedSupports a new cover property to have a custom cover screen for videos (big play button; custom preview-images)
- ChangedDon't show browse popover/actionsheet for multimedia extensions during a long press.
- ChangedDon't allow long-press over a UIControl. (e.g. a UIButton)
- FixedFixes a issue where sometimes multimedia annotations would be added multiple times to the document.
- FixedFixes a issue where sometimes you get blank space instead of a page when PSPDFPageRenderingModeFullPageBlocking and PSPDFPageScrollPerPageTransition was combined and the scrobble bar used heavily. This is a workaround for a UIKit bug.
- RemovedRemoves libJPGTurbo; Apple's own implementation has gotten faster (especially in iOS6)
2.0.1 12 Sep 2012
- ChangedFaster search (document pattern detection if delayed until needed, outline results get cached)
- ChangedImproved reaction time for complex PDF documents (e.g. annotations are only evaluated if they're already loaded; but won't lock the main thread due to lazy parsing)
- AddedAdd additional checks so that even incorrectly converted NSURL-paths (where description instead of path has been called) work.
- FixedFixes a issue where annotations were not saved with multiple-file documents on all but the first file.
- FixedFixes problems where link annotations lost their page/link target after saving annotations into a file.
- FixedFixes a problem where fittingWidth was always overridden when run on the iPhone.
- FixedFixes a race condition in the new render stack that could lead to an assert in debug mode (non-critical)
- FixedFixes the toolbar overlapping text issue in the PSPDFKit Catalog Kiosk Example; added comments how to work around that UIKit bug.
- ChangedMade the pageRotation property of PSPDFPageInfo writeable; useful for manually rotation PDF documents.
- FixedFixes some issues with the Titanium module; adds support for NavigationGroups.
- ChangedImproved memory usage, especially on iPad1.
2.0.0 8 Sep 2012
PSPDFKit 2 is a major updates with lots of changes and a streamlined API. There are some API deprecations and some breaking changes; but those are fairly straightforward and well documented.
You need at least Xcode 4.4.1 to compile. (Xcode 4.4/4.5 both run fine on Lion, Mountain Lion is not needed but recommended) PSPDFKit 2 is compatible with iOS 4.3 upwards. (armv7, i386 - thus dropping iOS 4.2/armv6 from version 1)
The installation has been simplified. You now just drop the "PSPDFKit.embeddedframework" container into your project. Next, enable the PSPDFKit.xcconfig project configuration. Here's a screenshot: http://cl.ly/image/1e1I2Z2e1D3F (Select your project (top left), select project again in the PROJECT/TARGETS tree, select Info, then change in "Based on Configuration file" from None to PSPDFKit.)
If you have the sources and embed PSPDFKit as a subproject, don't forget to also add PSPDFKit.bundle.
MAJOR NEW FEATURES:
- ChangedText selection! (PSPDFKit Annotate) (Includes Copy, Dictionary, Wikipedia support)
- ChangedAnnotations! (PSPDFKit Annotate) Highlight, Underscore, Strikeout, Note, Draw etc. Annotations also will be written back into the PDF. There is a new annotationBarButtonItem that shows the new annotation toolbar.
- ChangedSmart Zoom (Text blocks are detected and zoomed onto on a double-tap; much like Safari) The PDF is now also dynamically re-rendered at every zoom level for maximal sharpness and quality.
- ChangedCustomizable render modes (enable/disable use of upscaled thumbnails). PSPDFPageRenderingModeFullPageBlocking is great for magazines.
- ChangedGreatly improved Search. Faster, parses more font styles, compatible with international characters (chinese, turkish, arabic, ...)
- ChangedSite Bookmarks (see bookmarksBarButtonItem and PSPDFBookmarkParser)
- ChangedSupport for VoiceOver accessibility (yes, even within the PDF!)
Further, PSPDFKit has been improved in virtually every area and a lot of details have been tweaked.
- ChangedInline password view. (Before, just a empty screen was shown when document wasn't unlocked.)
- ChangedAdobe DRM detection (They are just marked as not viewable, instead of showing garbage)
- ChangedPDF rendering indicator. (see pdfController.renderAnimationEnabled)
- ChangedEven better view reuse. PSPDFPageView is now reused, scrolling is even smoother.
- ChangedPSPDFDocument can now be initialized with a CGDataProviderRef or a dataArray.
- ChangedThe search/outline controllers now dynamically update their size based on the content height.
- ChangedThe Table of Contents/Outline controller now shows titles in multiple lines if too long (this is customizable)
- ChangedSupport for Table Of Contents (Outline) linking to external PDF documents.
- ChangedPage Content/Background Color/Inversion can now be changed to modify rendering.
- ChangedOn the iPhone, a new documentLabel shows the title. (the navigationBar is too small for this)
- ChangedPSPDFScrobbleBar now uses the small height style on iPhone/Landscape.
- ChangedPSPDFViewController can now programmatically invoke a search via searchForString:animated:.
- ChangedPSPDFViewController now has a margin and a padding property to add custom margin/padding on the pdf view.
- ChangedPSPDFViewController now has a HUDViewMode property to fine-tune the HUD.
- ChangedPSPDFTabbedViewController now has a minTabWidth property (defaults to 100)
- ChangedIt's now possible to pre-supply even fully-rendered page images. PSPDFDocument's thumbnailPathForPage has been replaced with cachedImageURLForPage:andSize:.
- ChangedPSPDFDocument now has a overrideClassNames dictionary, much like PSPDFViewController.
- ChangedPSPDFDocument now has objectsAtPDFPoint/objectsAtPDFRect to return found glyphs and words.
- ChangedPSPDFDocument now has convenience methods to render PDF content. (renderImageForPage:withSize:.../renderPage:inContext:...)
- ChangedPSPDFDocument now exposes some more common metadata keys for the PDF metadata.
- ChangedPSPDFDocument now has convenience methods to add and get annotations (addAnnotations:forPage:)
- ChangedPSPDFDocument now has a property called annotationSaveMode to switch between PDF annotation embedding or an external file.
- ChangedSupport for documents with multiple sources(files/dataArray/documentProvider) is now greatly improved due to the new PSPDFDocument/PSPDFDocumentProvider structure.
- ChangedPSPDFPageView now has convenience methods to calculate between PDF and screen coordinate space (convertViewPointToPDFPoint/convertPDFPointToViewPoint/etc)
- ChangedPSPDFPageView no longer uses CATiledLayer; this has been replaced by a much faster and better custom solution.
- ChangedPSPDFScrollView no longer accepts a tripple-tap for zooming out; this was a rarely-used feature in iOS and it increased the reaction time for the much more used double tap. Zooming in/out is now smarter (smart zoom) and does the right thing depending on the zoom position.
- ChangedPSPDFWebViewController now supports printing.
- ChangedA long-press on a PDF link annotation now shows the URL/Document/Page target in a popover.
- ChangedWhen switching between DEMO/FULL; the change is automatically detected and the cache cleared. (No more watermark problems)
- ChangedThe image annotation view now properly displays and animates animated GIFs.
- ChangedGMGridView has been replaced by the new and better PSCollectionView, which is a API compatible copy of UICollectionView.
- ChangedInternal modernization; literals, subscripting, NS_ENUM, NS_OPTIONS.
- ChangedBetter internal error handling; more functions have error parameters.
Fixes/API changes:
- ChangedThe navigationBar title is no longer set on every page change.
- ChangedPSPDFDocument's PDFDocumentWithUrl has been renamed to PDFDocumentWithURL.
- ChangedDelegates are now called correctly (only once instead of multiple times) in pageCurl mode.
- ChangedpdfViewController:willShowController:embeddedInController:animated: has been changed to (BOOL)pdfViewController:SHOULDShowController:embeddedInController:animated:
- ChangedtabbedPDFController:willChangeDocuments has been renamed to tabbedPDFController:shouldChangeDocuments.
- AddedNew delegate: - (void)pdfViewController:(PSPDFViewController *)pdfController didEndPageDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset -> completes dragging delegates; zooming delegates were already available in PSPDFKit 1.
- ChangedChanged willShowController... delegate to shouldShowController... that returns a BOOL.
- FixedFixes a problem in the annotation parser where some named page links failed to resolve properly.
- FixedFixes a problem where the Cancel button of the additionalBarButtonItem menu wasn't fully touch-able on iPhone.
- FixedFixes a problem with PSPDFBarButtonItem image updating.
- ChangedLots of other minor and major changes.
1.10.5 1 Aug 2012
- AddedAdd a workaround for unusable back button in a certain unreleased version of iOS. (This is most likely a temporal iOS bug)
- ChangedImprove PSPDFCloseBarButtonItem to be context-aware if we should close a modal view or pop from the navigation stack.
- FixedFixes a issue where zooming was difficult on pages with lots of PDF link annotations.
- FixedFixes two harmless warnings with Xcode 4.4.
- FixedFixes the delete all tabs action sheet in the TabbedExample on iPhone.
- FixedFixes a certain issue with embedding PSPDFViewController.
- FixedFixes a rare memory leak when image decompression fails.
1.10.4 12 Jul 2012
- AddedNew delegates: shouldScrollToPage, resolveCustomAnnotationPathToken.
- ChangedIf annotation is set to a file and this file doesn't exist, annotation type will be set to undefined.
- ChangedImprove tap change speed and touch area of PSPDFTabbedViewController.
- ChangedAnother possible bugfix for UIPageViewController rotation changes.
- ChangedDon't change navigationController if embedded into a parentViewController on default. (See useParentNavigationBar).
- ChangedAllow to subclass PSPDFPageView via the overrideClassNames property in PSPDFViewController.
- ChangedAllow parsing of PDF outlines with party invalid information.
- RemovedRemoved preloadedPagesPerSide. Changing this turned out to not bring any noticeable performance benefits.
- FixedFixes a case where some link annotations were not correctly parsed.
1.10.3 22 Jun 2012
- AddedNew property in PSPDFCache: downscaleInterpolationQuality (to control the thumbnail quality)
- AddedAdd some improvements to caching algorithm, adds cacheThumbnailsForDocument to preload a document.
- ChangedEnsures that email attachments will end with ".pdf".
- ChangedClear annotation cache in low memory situations. Helps for documents with lots of embedded videos.
- FixedFixes a UI issue where the transition between content and thumbnails was sometimes incorrect on zoomed-in content.
- FixedFixes a bug where the pageIndex on thumbnails are off-by-one.
- FixedFixes a bug where annotationEnabled wasn't correctly restored when using NSCoding on PSPDFDocument.
- FixedFixed a problem where delegates where called too often for the initial reloadData event.
- FixedFixes a potential crash on low-memory situations.
- FixedFixes a potential crash with pageCurl mode and device rotations.
- FixedFixes a crash when using a NSData-provided PSPDFDocument with no metadata title and using the sendViaEmail feature.
- FixedFixes a issue with MPMoviePlayer disappearing during fullscreen-animation.
1.10.2 5 Jun 2012
- AddedNew controller delegates: willShowViewController:animated: and didShowViewController:animated:.
- AddedNew HUD visibility delegates: shouldShowHUD/shouldHideHUD/willShowHUD:/didShowHUD:/willHideHUD:/didHideHUD:
- ChangedPageLabel on thumbnails is now width-limited to the maximal image size.
- ChangedThe default linkAction is now PSPDFLinkActionInlineBrowser (changed from PSPDFLinkActionAlertView).
- ChangedThe openIn action is now displayed in the iOS Simulator, but a UIAlertView shows that this feature only works on a real device.
- ChangedPSPDFOutlineElement now implements NSCopying and NSCoding.
- ChangedPage labels now work with documents containing multiple files.
- RemovedRemoved the searchClassName property in PSPDFSearchViewController. Use the overrideClassNames in PSPDFViewController to change this.
- ChangedRenamed showCancel to showsCancelButton in PSPDFSearchViewController.
- ChangedsearchBar in PSPDFSearchViewController is now created in init, not viewDidLoad (so you can easily customize it)
- AddedAdded new API items for PSPDFTabbedViewController and changed the API to initialize the controller. (You can also just use init)
- ChangedOn PSPDFDocument.title, the ".pdf" ending is now automatically removed.
- AddedNew property in PSPDFViewController: loadThumbnailsOnMainThread. (Moved from PSPDFPageView, new default is YES)
- FixedFixes a short black gap when loading the document under certain conditions w/o pageCurl-mode.
- FixedFixes a bug where the new pdf path resolving function sometimes returned invalid strings.
- FixedFixes a bug where changing left/rightBarButtonItems needed an additional call to updateToolbar to work. This is now implicit.
- FixedFixes a bug where nilling out left/rightBarButtonItems after the controller has been displayed didm't correctly update the navigationBar.
- FixedFixes a bug where the position of the initial page view could be smaller than the view in landscape mode.
- FixedFixes a bug where the titleView wasn't used to calculate the toolbarWidths.
- FixedFixes a bug where the TabbedViewController's selected tab wasn't correctly updated when setting visibleDocument.
- FixedFixes a bug where the TabbedViewController-preference enableAutomaticStatePersistence wasn't always honored.
1.10.1 29 May 2012
- ChangedImprovement: Better handle toolbar buttons when a too long title is set. (now exposing minLeftToolbarWidth, minRightToolbarWidth)
- ChangedImprovement: sometimes the NavigationBar was restored even if it wasn't needed.
- ChangedImprovement: Don't reload frame if we're in the middle of view disappearing.
- ChangedImprovement: Use default white statusBar with inline browser on iPhone.
- ChangedImproves the document<->thumbnail transition with certain non-uniformed sized documents and pageCurl mode.
- FixedFixes a case where the PSPDFPositionView wasn't correctly laid out.
- FixedFixes a problem where the close button was disabled when no document was set.
- FixedFixes a regression regarding pageCurl mode and activated isFittingWidth.
- FixedFixes a regression regarding the viewModeButtonItem not being displayed correctly on appcelerator.
- FixedFixes a problem where under certain conditions a landscape->portrait rotation in pageCurl mode on the last page performed a scroll to the first page.
- FixedFixes a leak in PSPDFActionSheet.
1.10.0 25 May 2012
This will probably be the last major release in the 1.x branch. Work on 2.x is already underway, with a focus on text selection and annotations.
This release has some API-breaking changes:
- Added
New toolbar handling (breaking API change) The properties searchEnabled, outlineEnabled, printEnabled, openInEnabled, viewModeControlVisible have been replaced by a much more flexible system based on the PSPDFBarButtonItem class.
For example, to add those features under the "action" icon as a menu, use this: self.additionalRightBarButtonItems = [NSArray arrayWithObjects:self.printButtonItem, self.openInButtonItem, self.emailButtonItem, nil]; If you're looking to e.g. remove the search feature, set a new rightBarButtonItems array that excludes the searchButtonItem.
Likewise, the functions additionalLeftToolbarButtons, magazineButton and toolbarBackButton have been unified to self.leftBarButtonItems. If you want to replace the default closeButton with your own, just create your own UIBarButtonItem and set it to self.leftBarButtonItems = [NSArray arrayWithObject:customCloseBarButtonItem];
- Changed
Resolving pdf link paths has changed. (breaking API change) Previously, if no marker like "Documents" or "Bundle" was found, we resolved to the bundle. This version changes resolving the link to the actual position of the pdf file. If you need the old behavior, you can set PSPDFResolvePathNamesEnableLegacyBehavior to YES or use a custom subclass of the PSPDFAnnotationParser.
- Added
New class PSPDFTabbedViewController, to show multiple PSPDFDocuments with a top tab bar. iOS5 only. (includes new TabbedExample)
- Added
New feature: PDF page labels are parsed. (e.g. roman letters or custom names; displayed in the PSPDFPositionView and the thumbnail label)
- Added
New feature: send via Email: allows sending the pdf as an attachment. (see emailButtonItem in PSPDFViewController)
- Added
New feature: PSPDFViewState allows persisting/restoring of a certain document position (including page, position, zoom level). See documentViewState and restoreDocumentViewState:animated: in PSPDFViewController.
- Added
Add support for puny code characters in pdf URLs (like http://➡.ws/鞰齒). This uses the IDNSDK.
- Added
New property: useParentNavigationBar, if you embed the PSPDFViewController using iOS5 containment and still want to populate the navigationBar.
- Added
New property: pageCurlDirectionLeftToRight to allow a backwards pagination. (for LTR oriented documents)
- Added
New delegate: delegateDidEndZooming:atScale to detect user/animated zooming.
- Changed
UI Improvement: Show URL in embedded browser title bar, until page is loaded with the real title.
- Changed
General: Add french localization in PSPDFKit.bundle.
- Changed
Core: PSPDFDocument now implements NSCopying and NSCoding protocols.
- Fixed
Fixes a problem where links with hash bangs (like https://twitter.com/#!/) where incorrectly escaped.
- Fixed
Fixes opening certain password protected files.
- Fixed
Fixes unlockWithPassword always returning YES, even with an incorrect password.
- Fixed
Fixes a crash regarding pageCurl and UpsideDown orientation on the iPhone.
- Fixed
Fixes a problem where the search delegates where called after canceling the operation.
- Fixed
Fixes a problem where the page wasn't re-rendered if it was changed while zoom was active.
- Fixed
Fixes a problem where the tile wasn't updated after setting document to nil.
- Fixed
Fixes a problem where under rare conditions a spinlock wasn't released in PSPDFGlobalLock.
- Added
Adds support for Xcode 4.4 DP4. Due to an already acknowledged Apple linker bug. Xcode 4.4 DP5 is currently broken. (Xcode 4.3.2 is still recommended)
- Changed
Titanium: New min SDK is 2.0.1.GA2.
1.9.15 20 Apr 2012
- AddedNew delegate: pdfViewController:didEndPageScrollingAnimation: to detect if a scroll animation has been finished. This will only be called if scrollToPage:animated: is used with animated:YES. (not for manual user scrolling)
- AddedAdditional safeguards have been put in place so that videos don't start playing in the background while scrolling quickly.
1.9.14 20 Apr 2012
- AddedAdds support for Xcode 4.4 DP3.
- ChangedShow document back button even if PSPDFViewController is embedded in a childViewController.
- ChangedDoesn't try to restore the navigation bar if we're the only view on the navigation stack.
- ChangedAllow PSPDFSearchHighlightView to be compatible with overrideClassNames-subclassing.
- ChangedWorks around some broken annotations that don't have "http" as protocol listed (just www.google.com)
- ChangedPSPDFPageView now has convertViewPointToPDFPoint / convertPDFPointToViewPoint for easier annotation calculation.
- ChangedThere are also some new PSPDFConvert* methods in PSPDFKitGlobal that replace the PSPDFTiledView+ categories. (API change)
- ChangedYouTube embeds finally support the autostart option. (Note: This might be flaky on very slow connections)
- FixedFixes a big where some documents would "shiver" due to a 1-pixel rounding bug.
- FixedFixes a regression with KVO-observing viewMode.
- FixedFixes a UI glitch with animated pageScrolling on pageCurl if invoked very early in the view build hierarchy.
- FixedFixes a problem where video was playing while in thumbnail mode.
1.9.13 7 Apr 2012
- ChangedZooming out (triple tap) doesn't scroll down the document anymore, only moves the zoom level to 1.0.
- ChangedBetter handling of light/dark tintColors.
- ChangedScrobbleBar is now colored like the navigationBar. (check for HUD changes/regressions in your app!)
- ChangedThe status bar now moves to the default color on the iPhone for ToC/Search views.
- FixedFixes an alignment problem with the thumbnail animation.
- ChangedDisable user interaction for very small links, that are not shown anyway.
- ChangedYouTube videos now rotate and resize correctly.
1.9.12 2 Apr 2012
- ChangedThumbnails now smoothy animate to fullscreen and back. (new setViewMode animation instead of the classic fade)
- ChangedFullscreen video is now properly supported with pageCurl. (with the exception of YouTube)
- ChangedAnnotation views are now reused -> better performance.
- ChangedThe outline controller now remembers the last position and doesn't scroll back to top on re-opening.
- ChangedHide HUD when switching to fullscreen-mode with videos.
- ChangedDon't allow touching multiple links at the same time.
- ChangedTransition between view modes are now less expensive and don't need view reloading. Also, zoom value is kept.
- ChangedThe pageInfo view now animates. (Page x of y)
- ChangedThe grid now properly honors minEdgeInsets on scrolling.
- ChangedThumbnail page info is now a nice rounded label.
- FixedFixes partly missing search highlighting on the iPhone.
- FixedFixes a few calculation errors regarding didTapOnPageView & the PSPDFPageCoordinates variable.
- FixedFixes a problem where caching sometimes was suspended and got stuck on old devices.
- ChangedFree more memory if PSPDFViewController is not visible.
1.9.11 28 Mar 2012
- AddedAdd more control for pageCurl, allows disabling the page clipping. (better for variable sized documents)
- AddedNew method on PSPDFDocument: aspectRatioVariance. Allows easy checks if the document is uniformly sized or not (might be a mixture of portrait/landscape pages) There is example code in PSPDFExampleViewController.m that shows how this can be combined for dynamic view adaption.
- ChangedSupport for Storyboarding! You can create a segway to a PSPDFViewController and even pre-set the document within Interface Builder. There now is a new example called "StoryboardExample" that shows how this can be used. (iOS5 only)
- ChangedNote: if you use IB to create the document, you just use a String. Supported path expansions are Documents, Cache, Bundle. Leave blank for Bundle.
- ChangedChanges to navigationBar property restoration - now animates and also restores alpha/hidden/tintColor. Let me know if this breaks something in your app!
- FixedFixes a potential crash with a controller deallocation on a background thread.
- FixedFixes a potential crash when searching the last page in double page mode.
- FixedFixes a regression introduced in 1.9.10 regarding a KVO deallocation warning.
1.9.10 26 Mar 2012
- ChangedGreatly improved performance on zooming with the new iPad (and the iPhone4).
- AddedAdd support for printing! It's disabled by default. Use printEnabled in PSPDFViewController. (thanks to Cédric Luthi)
- AddedAdd support for Open In...! It's disabled by default. Use openInEnabled in PSPDFViewController.
- ChangedImproved, collapsable outline view. (Minor API changes for PSPDFOutlineParser)
- ChangedImproved speed with using libjpeg-turbo. Enabled by default.
- ChangedPSPDFStatusBarIgnore is now a flag, so the status bar style (which infers the navigation bar style) can now been set and then marked as ignore.
- AddedNew property viewModeControlVisible, that shows/hides the toolbar view toggle.
- RemovedRemoves the UIView+Sizes category, that was not prefixed.
- RemovedRemove custom PNG compression, performance wasn't good enough.
- ChangedInternal GMGridView is now prefixed.
- ChangedDisable implicit shadow animation when grid cell size changes.
- FixedFixes a bug regarding slow rotation on the new iPad.
- FixedFixes a bug where sometimes a pdf document wasn't unlocked correctly.
- FixedFixes a potential problem where search/table of contents doesn't actually change the page on the iPhone.
- FixedFixes some problems with Type2 Fonts on search.
- FixedFixes a rare crash when rotating while a video is being displayed.
1.9.9 15 Mar 2012
- ChangedIcons! (changed outline icon, and replaced "Page" and "Grid" with icons)
- ChangedOutline controller now has a title on the iPad.
- FixedFixes a regression where the toolbar color was not correctly restored on the iPhone when modal controller were used.
1.9.8 14 Mar 2012
- FixedFixed a minor regression regarding scrobble bar updating.
- FixedFixed issue where frame could be non-centered in pageCurl mode with some landscape documents when the app starts up in landscape mode.
1.9.7 14 Mar 2012
- ChangedPSPDFKit is now compiled with Xcode 4.3.1 and iOS SDK 5.1. Please upgrade. (It is still backwards compatible down to iOS 4.0.)
- ChangedAllow adding the same file multiple times to PSPDFDocument.
- ChangedLinks are now blue and have a higher alpha factor. (old color was yellow and more obtrusive)
- ChangedThe animation duration of annotations is now customizable. See annotationAnimationDuration property in PSPDFViewController.
- ChangedLink elements are not shown with exact metrics, and touches are tested for over-span area. Also, over-span area is now 15pixel per default. (old was 5)
- ChangedLink elements now don't interfere with double/triple taps and only fire if those gestures failed.
- ChangedLink elements no longer use an internal UIButton. (they are now handled by a global UITapGestureRecognizer)
- ChangedAnnotations are not size-limited to the actual document, no more "bleeding-out" of links.
- ChangedMinimum size for embedded browser is now 200x200. (fixes missing Done button)
- ChangedInline browser can now also be displayed within a popover, using pspdfkit://[popover:YES,size:500x500]apple.com
- ChangedText highlighting is still disabled by default, but can be enabled with the new property createTextHighlightAnnotations in PSPDFAnnotationParser.
- FixedFixes an issue where the navigation bar was restored too soon. Let me know if this change breaks behavior on your app. (The navigationBar is now restored in viewDidDisappear instead of viewWillDisappear, and also will be set in viewWillAppear)
- ChangedSupport tintColor property for inline browser.
- ChangedBetter support for invalid documents (that have no pages.) HUD can't be hidden while a document is invalid. UI buttons are disabled.
- FixedFixes problem where link taps were not recognized on the site edges, advancing to the next/prev page instead in pageCurl mode.
- FixedFixes issue where scrollOnTapPageEndEnabled setting was not honored in pageCurl mode.
- FixedFixes a problem where the embedded mail sheet sometimes couldn't be closed.
- FixedFixes a problem where touch coordinates on annotations where always in the frame center instead of the actual tap position.
- FixedFixes a problem where adding items to the cache would sometimes spawn too much threads.
- FixedFixes a potential crash in the inline browser.
- FixedFixes a potential crash with accessing invalid memory on pageCurl deallocation.
- FixedFixes a issue where certain URLs within pdf annotations were not correctly escaped.
- FixedFixes a situation where the thumbnail grid could become invisible when rapidly switched while scrolling.
- FixedFixes an issue where the HUD was hidden after a page rotate (which should not be the case)
- FixedFixes weird animation with the navigationController toolbar when opening the inline browser modally.
1.9.6 6 Mar 2012
- AddedNew Inline Browser: PSPDFWebViewController. Annotations can be styled like pspdfkit://[modal:YES,size:500x500]apple.com or pspdfkit://[modal:YES]https://gmail.com.
- AddedNew property in PSPDFViewController: linkAction. Decides the default action for PDF links (alert, safari, inline browser)
- AddedAdd PSPDFStatusBarIgnore to completely disable any changes to the status bar.
- ChangedAutomatically close the Table of Contents controller when the user tapped on a cell.
- FixedFixes sometimes missing data in the pageView didShowPage-delegate when using pageCurl mode.
- FixedFixes (another) issue where status bar style was not restored after dismissing while in landscape orientation.
- FixedFixes a severe memory leak with pageCurl mode.
1.9.5 5 Mar 2012
- ChangedFurther tweaks on the scrobbleBar, improves handler in landscape mode. (thanks to @0xced)
- FixedFixes a problem with pageCurl and the animation on the first page (thanks to Randy Becker)
- FixedFixes an issue where double-tapping would zoom beyond maximum zoom scale. (thanks to Randy Becker)
- FixedFixes issue where status bar style was not restored after dismissing while in landscape orientation. (thanks to Randy Becker)
- FixedFixes some remote image display issues in the PSPDFKit Kiosk Example.
- FixedFixes a regression with opening password protected pdf's.
1.9.3 1 Mar 2012
- ChangedImproves precision and stepping of the scrobbleBar. Now it's guaranteed that the first&last page are shown, and the matching between finger and page position is better.
- FixedFixes a problem where sometimes page 1 should be displayed, but isn't in pageCurl mode.
- ChangedHide warnings for rotation overflow that UIPageViewController sometimes emits.
1.9.2 1 Mar 2012
- ChangedpageCurl can now be invoked from the edge of the device, even if the file is smaller. Previously, the gesture was not recognized when it wasn't started within the page view.
- ChangedThe incomplete support for text highlighting has been disabled.
- RemovedremoveCacheForDocument now has an additional parameter waitUntilDone. The previous behavior was NO, so just set NO if you use this and upgrade from an earlier release.
- FixedFixes a potential cache-loop, where the device would constantly try to load new images.
- AddedAdds a safety check for loading images, and fixes a rare issue with images not showing up.
1.9.1 17 Feb 2012
- ChangedAllow scrolling to a specific rect and zooming: see scrollRectToVisible:(CGRect)rect animated:(BOOL)animated and (void)zoomToRect:(CGRect)rect animated:(BOOL)animated;
- ChangedPSPDFAnnotationParser now allows setting custom annotations. (to complement or override pdf annotations)
- AddedNew annotation type: Image. (jpg, png, tiff and all other formats supported by UIImage)
- ChangedBetter handling of situations with nil documents or documents where the actual file is missing.
- ChangedBetter alignment of the scrobble bar position image.
- AddedAdd "mp4" as supported audio filetype.
- FixedFixes ignored scrollingEnabled on PSPDFPageViewController.
- FixedFixes event delegation in the Titanium module.
- FixedFixes the method isFirstPage (checked for page = 1, but we start at page 0).
- ChangedRenamed kPSPDFKitDebugLogLevel -> kPSPDFLogLevel.
1.9.0 13 Feb 2012
- ChangedPageCurl mode. Enable via setting "pageCurlEnabled" to YES. iOS5 only, falls back to scrolling on iOS4.
- ChangedIt's now possible to create a PSPDFDocument with initWithData! (thanks to @0xced)
- AddedAdd support for pdf passwords! (Thanks to Steven Woolgar, Avatron Software)
- AddedAdds support for setting a custom tintColor on the toolbars.
- FixedFixes a problem with PSPDFPageModeAutomatic and portrait/landscape page combinations.
- FixedFixes various problems with __weak when the development target is set to iOS5 only.
- AddedAdds additional error checking when a context can't be created due to low memory.
- FixedFixes flaky animations on the Simulator on the grid view.
- ChangedImproves usage of PSPDFViewController within a SplitViewController (thanks to @0xced).
- RemovedRemoves a leftover NSLog.
- FixedFixes a UID clashing problem with equal file names. Warning! Clear your cache, items will be re-generated in 1.9 (cache directories changed)
- FixedFixes a bug with replacing local directory path with Documents/Cache/Bundle. (thanks to Peter)
- FixedFixes a retain cycle in PSPDFAnnotationParser (thanks to @0xced).
- FixedFixes a retain cycle on UINavigationController (thanks to Chan Kruse).
- FixedFixes a problem where the scrobble bar tracking images were sometimes not updated.
- FixedFixes a rare race condition where rendering could get stuck.
- ChangedImproves handling of improper PSPDFDocument's that don't have a uid set.
- ChangedAllow adding of UIButtons to gridview cells.
- AddedAdded "Cancel" and "Open" to the localization bundle. (mailto: links)
- ChangedSetting the files array is now possible in PSPDFDocument.
- ChangedThe cache now uses MD5 to avoid conflicts with files of the same name. (or multiple concatenated files)
- ChangedBetter handling of rendering errors (error objects are returned)
- ChangedSearch controller is now auto-dismissed when tapped on a search result.
- ChangedPSPDFPositionView more closely resembles iBooks. (thanks to Chan)
- ChangedPDF cache generation is no no longer stopped in the viewWillDisappear event (only on dealloc, or when document is changed)
- ChangedTitanium: Add ability to hide the close button.
Note: For pageCurl, Apple's UIPageViewController is used. This class is pretty new and still buggy. I had to apply some private API fixes to make it work. Those calls are obfuscated and AppStore-safe.
If you have any reasons to absolutely don't use those workarounds, you can add PSPDFKIT_DONT_USE_OBFUSCATED_PRIVATE_API in the preprocessor defines. (only in the source code variant) This will also disable the pageCurl feature as the controller will crash pretty fast when my patches are not applied.
Don't worry about this, I have several apps in the store that use such workarounds where needed, it never was a problem. Also, I reported those bugs to Apple and will keep track of the fixes, and remove my workarounds for newer iOS versions if they fix the problem.
1.8.4 27 Dec 2011
- FixedFixes a problem where search highlights were not displayed.
- ChangedUpdated git version scripts to better work with branches. (git rev-list instead of git log)
1.8.3 26 Dec 2011
- ChangedUpdate internally used TTTAttributedString to PSPDFAttributedString; prevent naming conflicts.
- ChangedFallback to pdf filename if pdf title is set but empty.
- ChangedpageMode can now be set while willAnimateRotationToInterfaceOrientation to customize single/double side switching.
- FixedFixes a problem with the document disappearing in certain low memory situations.
1.8.2 25 Dec 2011
- ChangedUses better image pre-caching code; now optimizes for RGB screen alignment; smoother scrolling!
- FixedFixes a regression with scrobble bar hiding after animation.
- FixedFixes wrong toolbar offset calculation on iPad in landscape mode.
- ChangedVarious performance optimizations regarding CGPDFDocument, HUD updates, thumbnails, cache creation.
- ChangedLazy loading of thumbnails.
1.8.1 23 Dec 2011
- ChangedUINavigationBar style is now restored when PSPDFViewController is popped back.
- ChangedAnnotation page cache is reset when protocol is changed.
- FixedFixes Xcode Archive problem because of public header files in PSPDFKit-lib.xcodeproj
- FixedFixes a regression with the Web-AlertView-action not working.
1.8.0 21 Dec 2011
- Changed
Search Highlighting! This feature is still in BETA, but already works with many documents. If it doesn't work for you, you can disable it with changing the searchMode-property in PSPDFDocumentSearcher. We're working hard to improve this, it just will take some more time until it works on every document. As a bonus, search is now fully async and no longer blocks the main thread.
- Changed
ARC! PSPDFKit now internally uses ARC, which gives a nice performance boost and makes the codebase a lot cleaner. PSPDFKit is still fully compatible with iOS4 upwards. You need to manually include libarclite.so if you are not using ARC and need compatibility with iOS4. Check the MinimalExample.xcodeproj to see how it's done. (You can drag the two libarclite-libraries directly in your project). If you use the PSPDFKit-lib.xcodeproj as a submodule, you don't have to think about this, Xcode is clever enough to not expose this bug here. See more about this at https://www.nutrient.io/guides/.
- Added
New default shadow for pages. More square, iBooks-like. The previous shadow is available when changing shadowStyle in PSPDFScrollView. The shadow override function has been renamed to pathShadowForView.
- Added
New: PSPDFDocument now uses the title set in the pdf as default. Use setTitle to set your own title. Title is now also thread-safe.
- Added
New Thumbnail-Framework (removed AQGridView). Faster, better animations, allows more options. Thumbnails are now centered. You can override this behavior with subclassing gridView in PSPDFViewController.
- Added
New: HUD-elements are now within hudView, hudView is now a PSPDFHUDView, lazily created.
- Added
New: Page position is now displayed like in iBooks at the bottom page (title is now just title)
- Changed
Changed: Videos don't auto play per default. Change the url to pspdfkit[autoplay:true]://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8 to restore the old behavior (or use delegates).
- Changed
Changed: viewMode does not longer animate per default. Use the new setViewMode:animated: to change it with animation.
- Changed
Changed: the left section of the toolbar now uses iOS5-style leftToolBarButtons if available; falls back to custom UIToolBar in iOS4.
- Changed
Shortly pressed link targets are now highlighted with a minimum duration.
- Changed
Alert is no longer displayed for URLs that can't be opened by the system.
- Changed
Support detection of "m4v" as video annotation.
- Changed
Improves performance when caching very large documents.
- Changed
Expose the borderColor of PSPDFLinkAnnotationView; set in one of the delegates.
- Removed
Removes a lot of glue code and switches to KVO for many view-related classes (Scrobble Bar)
- Added
Add methods to check if PSPDFPageInfo is already available, improves thumbnail speed.
- Added
Add generic support to override classes. See the property "overrideClassNames" for details. This replaces "scrollViewClass" and "scrobbleBarClass" and is much more flexible. Just use a key/value pair of NSStrings with default/new class names and your custom subclass will be loaded.
- Changed
setScrobbleBarEnabled is now animatable.
- Changed
The protocolString for the multimedia link annotation additions can now be set in PSPDFAnnotationParser (defaults to pspdfkit://).
- Changed
didTapOnPage is now didTapOnPageView, the former is deprecated.
- Changed
PSPDFPageCoordinates now show a nice description when printed.
- Changed
Many deprecated delegate calls have been removed. Check your calls.
- Changed
Version number is now directly written from the git repository. (PSPDFVersionString() is now more accurate)
- Changed
When a link annotation is tapped, the HUD no longer shows/hides itself.
- Changed
HUD show/hide is now instant, as soon as scrolling is started. No more delays.
- Changed
Scrollbar is now only changed if controller is displayed in full-screen (non-embedded).
- Fixed
Fixes a issue where PSPDFKit would never release an object if annotations were disabled.
- Fixed
Fixes a bug where the outline was calculated too often.
- Fixed
Fixes an issue where the title was re-set when changing the file of a pdf.
- Fixed
Fixes problems with syntax highlighting of some files. Xcode 4.3 works even better; use the beta if you can.
- Fixed
Fixes a bug with video player when auto play is not enabled.
- Fixed
Fixes encoding for mailto: URL handler (%20 spaces and other encoded characters are now properly decoded)
- Fixed
Fixes potential crash with recursive calls to scrollViewDidScroll.
- Fixed
Fixes a rare crash when delegates are changed while being enumerated.
- Changed
Lots of other small improvements.
1.7.5 1 Dec 2011
- FixedFixes calling the deprecated delegate didShowPage when didShowPageView is not implemented. (thanks Albin)
1.7.4 29 Nov 2011
- ChangedCustom lookup for parent viewcontroller - allows more setups of embedded views.
- FixedFixes a crash related to parsing table of contents.
1.7.3 29 Nov 2011
- AddedAdd a log warning that the movie/audio example can crash in the Simulator. Known Apple bug. Doesn't happen on the device.
- ChangedPSPDFCache can now be subclassed. Use kPSPDFCacheClassName to set the name of your custom subclass.
- FixedFixes a bug where scrollingEnabled was re-enabled after a zoom operation.
1.7.2 29 Nov 2011
- ChangedChanges delegates to return PSPDFView instead of the page: didShowPageView, didRenderPageView.
- ChangedImprove zoom sharpness. (kPSPDFKitZoomLevels is now set to 5 per default from 4; set back if you experience any memory problems on really big documents.)
- ChangedIncrease tiling size on iPad1/older devices to render faster.
- ChangedReduce loading of unneeded pages. Previously happened sometimes after fast scrolling. This also helps when working with delegates.
- FixedFixes a locking race condition when using PSPDFDocument.twoStepRenderingEnabled.
1.7.1 29 Nov 2011
- FixedFixes a rare crash when encountering non-standardized elements while parsing the Table of Contents.
1.7.0 28 Nov 2011
- Changed
PSPDFKit now needs at least Xcode 4.2/Clang 3.0 to compile.
- Changed
Following new frameworks are required: libz.dylib, ImageIO.framework, CoreMedia.framework, MediaPlayer.framework, AVFoundation.framework.
- Changed
Images are now compressed with JPG. (which is usually faster) If you upgrade, add an initial call to [[PSPDFCache sharedPSPDFCache] clearCache] to remove the png cache. You can control this new behavior or switch back to PNGs with PSPDFCache's useJPGFormat property.
- Changed
Optionally, when using PNG as cache format, crushing can be enabled, which is slower at writing, but faster at reading later on. (usually a good idea!)
- Added
New multimedia features! Video can now be easily embedded with a custom pspdfkit:// url in link annotations. Those can be created with Mac Preview.app or Adobe Acrobat. Try for example "pspdfkit://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8" to get the HTTP Live streaming test video.
- Changed
Link annotations are now UIButtons. This allows more interactivity (feedback on touch down), and also changes the default implementation of PSPDFDocument's drawAnnotations function to be empty. Clear the cache after updating, or else you get two borders. You can also return to the old behavior if you return NO on shouldDisplayAnnotation (PSPDFViewControllerDelegate) anytime an annotation of type PSPDFAnnotationTypeLink is sent.
- Changed
Localization is now handled via the PSPDFKit.bundle. You can either change this, or use PSPDFSetLocalizationDictionary to add custom localization.
- Changed
PSPDFLinkAnnotation is renamed to PSPDFAnnotation and adds a new helper function to get the annotation rect.
- Changed
PSPDFPage is refactored to PSPDFPageView and is now the per-page container for a document page. The delegate methods have been changed to return the corresponding PSPDFPageView. Within PSPDFPageView, you can get the parent scrollview PSPDFScrollView.
- Changed
PSPDFPageModeAutomatic is now more intelligent and only uses dual page mode if it actually improves reading (e.g. no more dual pages on a landscape-oriented document)
- Changed
PSPDFKitExample: fixes delete-image positioning in long scroll lists.
- Added
new: use PSPDFPageInfo everywhere to allow custom rotation override. (- (PSPDFPageInfo *)pageInfoForPage:(NSUInteger)page pageRef:(CGPDFPageRef)pageRef)
- Added
new delegate options to allow dynamic annotation creation.
- Changed
Better size calculation for the toolbar, allows changing titles to longer/shorter words and resizing automatically.
- Changed
PSPDFDocument now uses the title of the pdf document (if available). You can override this with manually setting a title.
- Added
New option "scrollingEnabled" to be able to lock scrolling. (e.g. when remote controlling the pdf)
- Changed
Improves speed on image pre-caching.
- Changed
Improves documentation.
- Fixed
Fixes a rotation problem with the last magazine page.
- Fixed
Fixes a bug where scrollPage w/o animation didn't show the page until the user scrolled.
- Fixed
Fixes a potential crash when view was deallocated while popover was opened.
- Fixed
Fixes a deadlock with clearCache.
1.6.20 18 Nov 2011
- Fixedfixes possible cache-reload loop with page-preload if non-odd values are chosen.
- Fixedfixes a memory leak (regression in 1.6.18)
1.6.17 12 Nov 2011
- ChangedIn search results, "Site" was renamed to "Page" to be consistent with the toolbar. If you use custom localization, you have to rename the entry "Site %d" to "Page %d".
- Addedadd API call to allow basic text extraction from the search module (magazine.documentSearcher)
1.6.16 12 Nov 2011
- Fixedfixes a bug with invalid caching entries when a deleted document is re-downloaded in the same application session (pages suddenly went black)
- Addedadd a custom lib-project for PSPDFKit; it's now easier than ever to integrate it. Note: you really should use that one - I'll switch over to ARC soon, so a library makes things easier.
1.6.15 5 Nov 2011
- Changedthumbnails are now displayed under the transparent bar, not overlapping
- Changedonly enable outline if it's enabled and there actually is an outline (no more empty popovers)
- Changedmail links are now presented in a form sheet on the iPad
- Changedallow show/hide of navigation bar even when zoomed in
1.6.14 22 Oct 2011
- Fixedfixes bug where delete method of PSPDFCache (removeCacheForDocument) was deleting the whole directory of the pdf instead of just the related files
1.6.13 22 Oct 2011
- Removedremoved the zeroing weak reference helper. If you use custom delegates for PSPDFCache, you now need to manually deregister them. Upside: better management of delegates.
1.6.12 19 Oct 2011
- Changedchanged: turns out, when compiling with Xcode 4.2/Clang, you'll loose binary compatibility with objects linked from 4.1. Thus, the framework crashed with EXC_ILLEGAL_INSTRUCTION when compiled within an older Xcode. I will use 4.1 some more time to give everyone the change to upgrade, but due to some great improvements in Clang 3.0 compiler that ships with Xcode 4.2 (e.g. nilling out of structs accessed from a nil object) it's highly advised that you use Xcode 4.2. If you use the source code directly, this is not an issue at all.
1.6.11 14 Oct 2011
- Addednew: PSPDFKit is now compiled with Xcode 4.2/iOS Base SDK 5.0 (still works with 4.x)
- Changedimproves compatibility for outline parser; now able to handle rare array/dict destination variants (fixes all destinations = page 1 error)
- Fixedfixes a rare stack overflow when re-using zoomed scrollviews while scrolling.
- Fixedfixes a compile problem on older Xcode versions. (It's not officially supported though - use Xcode 4.2 for the best experience!)
- Fixedfixes a memory problem where iPad1 rarely tries to repaint a page forever
1.6.10 25 Sep 2011
- ChangedaspectRatioEqual now defaults to NO. Many customers oversee this and then send me (false) bug reports. Set this to YES for maximum speed if your document has one single aspect ratio (like most magazines should).
- Changedscroll to active page in grid view
- Fixedfixes small offset-error in the scrobble bar
1.6.9 22 Sep 2011
- Addedadd option do debug memory usage (Instruments isn't always great)
- Changedimproves memory efficiency on tile drawing, animations
- Changedimproves performance, lazily creates gridView when first accessed
- Changedimproves scrobble bar update performance
- Fixedfixes memory problems on older devices like iPad 1, iPhone 3GS
- Fixedfixes a problem with unicode files
- Fixedfixes auto-switch to fitWidth on iPhone when location is default view
1.6.6 15 Sep 2011
- Changedpotential bug fix for concurrent disk operations (NSFileManager is not thread safe!)
- Fixedfixes positioning problem using the (unsupported) combination of PSPDFScrollingVertical and fitWidth
1.6.5 15 Sep 2011
- Fixedfixes a bug where scroll position was remembered between pages when using fitWidth
1.6.4 15 Sep 2011
- Addednew: didRenderPage-delegate
- Fixedfixes: crash bug with NaN when started in landscape
1.6.3 14 Sep 2011
- Addednew: maximumZoomScale-property is exposed in PSPDFViewController
- Changedchanged: realPage is now remembered, not the page used in the UIScrollView. This fixes some problems with wrong page numbers.
- Fixedfixes situation where page was changed to wrong value after view disappeared, rotated, and reappeared.
- Fixedfixes option button in example is now touchable again
- Fixedfixes a bug where HUD was never displayed again when rotating while a popover controller was visible
- Fixedfixes potential crash where frame get calculated to NaN, leading to a crash on view rotation
- Fixedfixes problems when compiling with GCC. You really should use LLVM/Clang though.
1.6.1 13 Sep 2011
- Addednew: open email sheet per default when detecting mailto: annotation links. (You now need the MessageUI.framework!)
- Addednew: fileUrl property in PSPDFDocument
- Changedimprove toolbar behavior when setting status bar to default
- Fixedfixes memory related crash on older devices
- Fixedfixes crash when toolbarBackButton is nil
- Changedgreatly improved KioskExample
1.6.0 12 Sep 2011
- Changedchanged: willShowPage is now deprecated, use didShowPage. Both now change page when page is 51% visible. Former behavior was leftIndex
- Changedchanged: pageCount is now only calculated once. If it's 0, you need to call clearCacheForced:YES to reset internal state of PSPDFDocument
- Changedchanged: iPhone no longer uses dualPage display in landscape, now zooms current page to fullWidth
- Addednew: property fitWidth in PSPDFViewController lets you enable document fitting to width instead of largest element (usually height). Only works with horizontal scrolling
- Addednew: thumbnails in Grid, ScrobbleBar, KioskExample are now faded in
- Addednew: pdf view fades in. Duration is changeable in global var kPSPDFKitPDFAnimationDuration.
- Addednew: new property preloadedPagesPerSide in PSPDFViewController, controls pre-caching of pages
- Addednew: add delegates for page creation (willLoadPage/didLoadPage/willUnloadPage/didUnloadPage) with access to PSPDFScrollView
- Addednew: pdf cache handle is cleared on view controller destruction
- Addednew: exposes pagingScrollView in PSPDFViewController
- Addednew: HUD transparency is now a setting (see PSPDFKitGlobal)
- Addednew: scrobble bar class can be overridden and set in PSPDFViewController
- Addednew: directionalLock is enabled for PSPDFScrollView. This is to better match iBooks and aid scrolling
- Addednew: kPSPDFKitZoomLevels is now a global setting. It's set to a sensible default, so editing is not advised.
- Addednew: thumbnailSize is now changeable in PSPDFViewController
- Changedimprove: faster locking in PSPDFCache, no longer freezes main thread on first access of pageCount
- Changedimprove: split view example code now correctly relays view events
- Changedimprove: cache writes are now atomically
- Changedimprove: no more log warnings when initializing PSPDFViewController w/o document (e.g. when using Storyboard)
- Changedimprove: faster speed for documents with high page count (better caching within PSPDFDocument)
- Changedimprove: keyboard on searchController popover is now hidden within the same animation as popover alpha disappear
- Changedimprove: grid/site animation no longer blocks interface
- Fixedfixes touch handling to previous/next page for zoomed pages
- Fixedfixes rasterizationScale for retina display (thumbnails)
- Fixedfixes non-localizable text (Document-Name Page)
- Fixedfixes inefficiency creating the pagedScrollView multiple times on controller startup/rotation events
- Fixedfixes search text alignment, now synced to textLabel
- Fixedfixes issue where documents may be scrollable on initial zoomRatio due to wrong rounding
- Fixedfixes issue where caching was not stopped sometimes due to running background threads
- Fixedfixes bug where alpha of navigationBar was set even if toolbarEnabled was set to NO
- Fixedfixes bug where initial page delegation event was not sent when switching documents
- Fixedfixes crash related to too high memory pressure on older devices
1.5.3 23 Aug 2011
- Addedadd correct aspect ratio for thumbnails
- Changedimprove thumbnail switch animation
- Changedimprove memory use during thumbnail display
- Changedimprove thumbnail scrolling speed
1.5.2 23 Aug 2011
- Addedadd basic compatibility with GCC (LLVM is advised)
- Changedrenamed button "Single" to "Page"
- Fixedfixes page navigation for search/outline view
- Fixedfixes a rare deadlock on PSPDFViewController initialization
- Fixedfixes a race condition when changing documents while annotations are still parsed
- Fixedfixes a crash when removing the view while a scrolling action is still active
- Changedpossible bug fix for a "no autorelease pool in place"
1.5.0 23 Aug 2011
- Addedadd advanced page preload - fully preloads pages in memory for even faster display
- APIAPI change: PSPDFDocument now has a displayingPdfController attached if displayed. isDisplayed is removed.
- Changedimproves animation between thumbnails and page view
- Changedimproves scrolling performance
- Fixedfixes crash when caching pages on iOS 4.0/iPhone
- Fixedfixes crashes related to fast allocating/deallocating PSPDFViewControllers.
- Fixedfixes issue where tap at rightmost border would not be translated to a next page event
- Fixedfixes assertion when viewDidDisappear was not called
1.4.3 22 Aug 2011
- Changedenables page bouncing (allow zooming < 1, bounces back)
- Addedadd setting for status bar management (leave alone, black, etc)
- Fixedfixes issue where page index was incremented on first page after multiple rotations
- Fixedfixes issue where pdf text is rendered slightly blurry on initial zoom level
- Fixedfixes issue where status bar was not taken into account on cache creation
- Fixedfixes issue where pages were sometimes misaligned by 0.5-1 pixel
- Fixedfixes issue where page shadow was not animated on zoomIn/zoomOut
1.4.2 17 Aug 2011
- Removedremove queued cache requests when document cache stop is requested
- Fixedfixes an assertion "main thread" when rapidly allocating/deallocating PSPDFViewController. Tip: Use the .document property to change documents instead if creating new controllers, it's much less expensive.
- Fixedfixes incorrect tile setting in scrobble bar
1.4.1 13 Aug 2011
- Addedadd optional two-step rendering for more quality
- Changedimprove scrobble bar marker
- Fixedfixes annotation handling on first page
- Fixedfixes page orientation loading on landscape & iPhone
1.4.0 13 Aug 2011
- Changedgreatly improves PDF rendering speed!
- Changedimproves responsiveness of page scrolling while rendering
- Changedimproves cache timings
- Changedimproves full page cache
- Changedimprove scrobble bar default thumb size
- APIAPI change: PSPDFDocument.aspectRatioEqual now defaults to YES.
- Fixedfixes rounding errors, resulting in a small border around the pages
- Fixedfixes a potential deadlock while parsing page annotations
- Fixedfixes bug where right thumbnail in scrobble bar is not always loaded
- Changedother minor bugfixes and improvements
1.3.2 11 Aug 2011
- AddedAdd example to append/replace a document
- Changedallow changing the document
- Changedimprove clearCache
1.3.1 9 Aug 2011
- AddedAdd optional vertical scrolling (pageScrolling property)
- AddedAdds animation for iOS Simulator
- Changedimprove thumbnail loading speed
- Fixedfixes memory pressure when using big preprocessed external thumbnails
- Fixedfixes a regression with zoomScale introduced in 1.3
1.3 8 Aug 2011
- ChangedMajor Update!
- Addedadd support for pdf link annotations (site links and external links)
- Addedadd delegate when viewMode is changed
- Addedadd reloadData to PSPDFViewController
- Addedadd scrollOnTapPageEndEnabled property to control prev/next tap
- Addedadd animations for page change
- Changedimprove kiosk example to show download progress
- Changedimprove scrobblebar; now has correct aspect ratio + double page mode
- Changedimprove scrollbar page changing
- Changedimprove outline parsing speed
- Changedimprove support for rotated PDFs
- Changedimprove thumbnail display
- Fixedfixes some analyzer warnings
- Fixedfixes a timing problem when PSPDFCache was accessed from a background thread
- Fixedfixes various other potential crashes
- Fixedfixes a rare deadlock
1.2.3 5 Aug 2011
- Changedproperly rotate pdfs if they have the /rotated property set
- Addedadd option to disable outline in document
- Changedoutline will be cached for faster access
- Changedoutline element has now a level property
- Fixedfixes a bug with single-page pdfs
- Fixedfixes a bug with caching and invalid page numbers
1.2 4 Aug 2011
- Addedadd EmbeddedExample
- Changedallow embedding PSPDFViewController inside other viewControllers
- Addedadd property to control toolbar settings
- Changedmade delegate protocol @optional
- Fixedfixes potential crash on rotate